Building Things

I tend to build things differently from other people. It's an annoying fact about myself that I can't seem to accept. One, what I build tends to be robust, extendable, and, non-idiomatic (I hate idiomatic code). Two, what I build tends to be more complex than it needs to be, right now. One of the [...]

Software Design From a Toddler

I've watched my son grow up to the last four years and change, surviving a string of "firsts" while he learns to survive in this world. He's also taught me many things about my job, more than I'd ever learn in a class. More than anything, he's taught me what is in store for the [...]

The Growth of a Programmer

Writing software is hard. I'm reminded of that every time someone asks me to teach them. The basics are convoluted, the syntax weird. It's 100% logic that you have to hold in your head while you craft words that semantically make little sense, unless you're a compiler or interpreter. Eventually, the programmer gets the basics [...]

Scala and Friends

Scala is an interesting language. I needed to pick it up for a project at work and was enthralled. I love some of the elegance of it, while some of the challenges are downright insane. One point of view that I've come to embrace from working with PHP, is that types are fungible. In Web [...]

Getting Ready To Move

The last week has been a whirlwind of activity. We've been putting things into storage, deciding on a place to live, and getting ready for the big move. To say that it's been stressful is an understatement. Sometimes I wonder if it's worth it and then I remember that it is, of course. Moving is [...]

#!$% Features

Some would say features are the life blood of an application. They're not. Features are bloat. Features cause bugs and require maintenance. Features get in the way of value. Delete features, build something that matters. Way back in the day, I had a product. It allowed tagging inventory with a location in the warehouse and [...]