Sometimes it's not possible to fix everything at once, or to fully fix things at all. This is especially true of human behavior. In Changing Fearlessly I talked about focusing on a single change at...
To approach change fearlessly, you need the right support. In programming that primarily comes from automated tests and a great source control system. The first lets you know if you’ve broken something...
This article put me in the mood to read some fiction. It also also got me thinking about the patterns that appear in my life when things are going well. I've spent time thinking about my anti-patterns...
Four years ago, my Dad died unexpectedly. That kicked off a challening few years for my family and I. Both our sons were born; my Mum died; we moved interstate a couple of times; bought and sold a few houses; my wife and I both changed jobs; we had some friends diagnosed with termial illnesses and others commit suicide. It's been pretty full on. In general I'm good at handling stress and change but this has stretched me, at times to breaking. It feels like my resilience been gradually worn down to where anything...
I've been cycling to work for the past few months. As it gets deeper into Autumn and the temperature dips closer to zero Celsius , making the right clothing choices right is becoming more important...
I often do technical things for no particular reason. For example, a couple of nights ago I jailbroke my iPhone and ever since I've been doing things like installing SSH and a web server. That's right, my iPhone can now serve web pages. Why would I want to do that? What purpose does it serve? Obviously I'm not going to run a real site off of a damn phone, especially one that's mostly reliant on the oh-so-awesome Optus 3g network. It is, from a practical sense, completely useless. But boy, it sure was fun. Even though...
"She's learning the spaces she leaves have their own things to say" - Ani DiFranco No matter the size of the time gap, I've got it covered. Audiobooks on my cycle to work, podcasts while I'm doing...
After my last blog post a couple of friends and I were discussing the "best" solution to the FizzBuzz problem. My solution is the one I consider to be the most elegant, because it satisfies the 4 C...
In software development, refactoring is the process of improving how code is structured, usually because the original implementation was sub-optimal or the circumstances in which the code is being used have changed. The aim is elegance: that subjective and elusive blend of functionality and simplicity. My family recently decided to set a ‘theme’ for 2010 - a guiding concept for the decisions we make through the year. We chose “simplicity”, but it has since occurred to us that what we’re really after is elegance...