In Surely You’re Joking, Mr. Feynman!, which, by the way, is a wonderful read, Richard Feynman explains how the famous gambler Nick the Greek was able to win at casinos. Knowing that casino odds are always in the house’s favor, Nick would instead make side bets with other players. It’s good life advice to avoid […]
Archive for the ‘Uncategorized’ Category
If there is only one thing to know about software quality, it is this: do not separate your efforts into shipping features and improving quality. Code that is resilient to future changes has certain properties: it is easy to understand it has effective test coverage its interfaces have been intentionally designed to deal with expected […]
It’s practically a tautology: to produce the desired effects, the causes of those effects must be in place. Yet it can be easy to spend less time ensuring that the causes of quality are nurtured and more time reacting to the inevitable negative consequences of poorly-crafted code. Causes and effects are often separated by much […]
I’ve been crafting software for a while now so I’ve had the opportunity to see about a dozen software companies from the inside. Over the years I’ve learned some things about managing software quality that I’d like to share. I’ve distilled them into four simple rules: Define quality Manage causes, not effects Do not treat […]
I was recently looking on the web for a very clear description of what a RESTful resource is. Clear and accurate definitions were few and far between, so I decided I’d write one. What Is a Resource? A resource is: a noun that is unique and can be represented as data and has at least […]
Estimating how long it will take to develop software is difficult. Fortunately, as an industry we’ve moved away from big-planning-up-front, exhaustive Gantt charts and toward a more agile approach. Unfortunately, we’ve stuck with single point estimates which have some significant disadvantages when compared to range estimates.
If someone asks you to recommend a good programmer, who comes to mind? Do you consider yourself a good programmer? What criteria do you use to judge?
Every restaurant menu item in the world is searchable by its ingredients.
When developing web applications, I frequently switch between iTerm, TextMate, my browser, and my mail client. So I used AppleScript to streamline my task-switching. I’ll show you how I did this in case you’re inspired to streamline your workflow, too.