Latest Post's

Trading Time for Money

One of the most understandable agreements is that we trade our time for money.  This is the standard that most employees agree to when they take a job.  They are selling their expertise and trading their limited resource of time to the company for a salary. There are ways to get your time back by de-coupling income from time...

The Struggle For More Time

Finding time to live, to succeed, to love, to eat, to play, to work, to read, to escape is a perpetual set of trade offs we all have to make every day of our lives.  Finding a balance between all the things we need to do and the things we want to do is not simply about deciding yes..

Goals and Processes

A goal without a process to back it up is just an idea.  It is the process which actually will help you reach that goal and it’s more important to focus on developing on an actionable process than to have the best idea or goal. A business idea is worthless unless you do something with it.  The process you..

Passion for Productivity

Personal passion is an undervalued driver of productivity. Experience has taught me that when you work on something that you are passionate about it becomes easier to focus, you care more about the quality and are less distracted. If you can find your passion, it means you will never have a job – Richard Branson When someone is extremely..

Web Design Fallacies and the Failure of CSS

Having the experience now of building dozens of different web sites over the years I have come to the conclusion that there are some major flaws in how web design is done and the underlying assumptions have proved inadequate to make web design better. The first of these is the about CSS.  The goal of CSS was to create..

Programming Should Be More Like Authorship than Engineering

Most programmers I know come at the discipline from an engineering background and this leads to all sorts of pre-conceptions about what we do and the guarantees we offer. Clients often believe that paying for software development is like building a bridge.  You have some meetings to decide what kind of bridge you want to build, send it to..

Power of Iterative Progress

Software startups often talk about iterative improvement.  It’s a development model where by you focus on an easy to reach but minimally sustainable business model and then iteratively improve things and add features over time. The process of getting to that first product release is perhaps the hardest thing to do.  It requires having a vision, and following through..

Web Scraping With Scrapy

After reading a reddit thread about interesting scripts people have written to automate things I was inspired to put together a quick web scraping script to check the sales at the LCBO and send me a message (on Telegram) if there is anything interesting. Back in the day I would have done something like this with BeautifulSoup, but Scrapy..

Writing Bots

This past week I had a chance to work on a conversational UI.  It’s a neat way to interact with software and presents an interesting set of problems to implement. Before even starting to build something I needed to decide on some tools to help with managing the conversations. There are a small number of libraries and services that..

PyCon 2016

For those of us lucky enough to be able to attend PyCon this year in Portland it’s a chance to meet and learn a ton about what’s about going on the wide world of Python. For everyone else all the amazing talks and tutorials from PyCon are quickly being posted to YouTube, where they can be viewed at your..