Latest Post's

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..

Reading Week

Tomorrow I head to Cancun for a corporate retreat and will be taking advantage of the time away from my usual evening commitments (family) to catch up on my backlog of books. What I’m primarily interested in right now is getting a better grasp of machine learning concepts.   I’m happy that Python has really become the go to..

Embracing Obstacles

This book is currently on sale for just $3 and it’s a hell of a deal.  I picked this up after hearing it referenced from several different groups of people in the span of a week, enough to make me curious. “The obstacle is the way” presents an argument that much of what prevents us from achieving our goals in..

Agile Methodoligy For Achieving Goals

At the beginning of the year I, like many other people, set some goals for the year.  I also took the step of putting a reminder in my calendar to revisit my goals list every month to assess my progress. After a couple of cycles of that I recognized the pattern, I had inadvertently applied a piece of the agile..

Fun With Chat

Chat is becoming the next platform. Interacting with computers through channels that you already use to talk to people (Facebook Messenger, SMS, Slack etc) in a way that feels natural is a powerful way to accomplish many things for which web pages, mobile apps, desktop applications, or commandline scripts are cumbersome. Chat is not a panacea for all user..