We we develop software I think about these phases: Make It Work Make It Beautiful Make It Fast For example, if I spent some time, I could abbreviate this properly as regexp: /(Make It [WBF].*){3}/ because, yeah, anyone reading this is a geek and really thinks regular expressions are the most beautiful and expressive code […]

I love this idea: Make It Work, Make It Beautiful, Make it Fast. But there are three realities in this messy world of ours. This is how I see my mantra working in all of them. At the moment, I am in all three realities at once, so there may be some truthiness, too. I […]

Old Habits Die Hard (Exterminate! Exterminate!)

March 27, 2014

We are moving to a new platform. It’s the modern and rational version of our old platform. In the old platform, getting anything done was invariably a process of finding something that happened to work. We built little frameworks around the framework we had perverted in order that things would just get done. We developed […]

Read more →

Less Right Left More

March 9, 2014

As we migrate my company’s software from old to new we’re seeing at every step that less is right. We’re starting with the simplest, smallest potential solution before adding anything. We have left more of the old stuff than we have kept. Less right, left more. Good Intentions For example, in the olden days: Is […]

Read more →

Stone Soup Problem Resolution

February 23, 2014
Thumbnail image for Stone Soup Problem Resolution

In the folk story, Stone Soup no one person has enough to be worth anything, but by gathering scraps they make soup. This retelling may not do justice to the original tale. This week I was tracking down a longstanding mystery of why a certain kind of search wasn’t working as expected. I could easily […]

Read more →

The Odd World of the Virtual Open Office

February 18, 2014

Most of our teams’ communications are via IRC or various GitHub messages. We all work in near silence — music on and heads in the code. Yet we all work within 10 feet of each other. We scrum in person daily. Everyone is happy when scrum is quick. The coffee crew hits Barrington’s afterward. We […]

Read more →

The Dramatic Cost of Downtime

February 6, 2014

We released another large refactor of code this week, and it sucked. This work had been in progress for more than a month; taking absolutely horrifying code and turning it into a less horrific version of itself having two main attributes: It centralized the hundreds of places core functionality of our site was called It […]

Read more →

Breaking Up with AT&T Is Hard To Do

January 25, 2014

Last fall, my son pointed out that T-Mobile had a new kind of service, one that was apparently not designed to lock you in and make you unhappy. But I was on AT&T, so locked in and unhappy.   My wife and I had iPhones with 200MB data plans; the kids had cheap non-data phones; […]

Read more →

Passwords: The Unsolvable Security Risk

January 13, 2014

I use a Mac so I happen to have dodged the latest massive exploit, in this case via Yahoo through Java vulnerabilities accessible though IE. In the end, you would have had to click through a phishing site link. Fortunately only two million people did. I am by no means safe because I use a […]

Read more →

Minimize Moving Parts

November 9, 2013

This week I put together the parts needed as the foundation of our next generation systems architecture. This is a long-overdue replacement of a platform that has … evolved. The current system has lots and lots of parts. The parts depend upon each other. A failure of one can create a failure in some other, […]

Read more →