Programming: worlds without end

As someone who makes a living writing software, I experience the nature of my work and the opinions of the communities of programmers I encounter as generally consistent: programming is hard; tools help a bit; but there are no silver bullets, only lead ones. But there are remarkable discontinuities in this experience. From time to […]

3 languages

I need to clarify my interests. I keep getting calls from recruiters who want to hire me to do Perl or database management. So, I am trying out an experiment in self-analysis by describing my enthusiasms as they relate to specific programming languages. I am currently interested in the web software applications of Ruby, JavaScript, […]

Mustache support for Rails 3: generator

At RailsConf, Jeremy McAnally noted that no one had built a new-style Rails generator for the mustache template system. So I’m giving it a try. You can see my progress so far on github. I’ve forked the rails3-generator project started by José Valim and carried on by several contributors, and I’ve added just a little […]

The iPad ain’t ending anything

The haters are wrong, part one I just finished an excellent blog post by my friend Blake Patterson. It’s about the iPad. Blake realized in the wee hours of Sunday morning that the iPad was actually Alan Kay’s Dynabook, emerging after 40 years in Steve Jobs’ turtleneck-clad arms. Seriously, it’s a great post. Go read […]

Futures, promises, asynchonicity, and concurrency

It’s a concurrent world, and, increasingly, it’s an asynchronous world too. Many things are going on at the same time, and it’s impossible to determine exactly when each is starting or ending. In other words, everything is fast and out of control. As a software developer, both concurrency and asynchronicity are more important concepts than […]

Excerpt from
“Notes on Postmodern Programming”

I’ve wanted to cite this passage a few times now, but I can only find the essay in PDF form. So I’m just going to put the passage here, so I can point back to it in the future. Geeks, if people regularly joke that they couldn’t understand what you do for a living, consider […]

Twitter, geocoding, and JavaScript in Baltimore

I drove up to Baltimore’s Beehive coworking space last night to meet the folks in the Baltimore/DC Javascript Users group. We poked around the Twitter API and looked at both what you could get from the API via JSONP and what you could do with it.

Lazy Enumerators in Ruby

I gave a talk on Ruby’s Enumerators at the DC Ruby Users Group in August. I’ve posted my slides from the presentation, if you’re interested.  Basically, I discovered that enumerators make lazy evaluation easy to implement in Ruby, and applying lazy techniques with enumerators may yield more efficient and elegant code.