March 7, 2010 Spending some time with Node.js I've begun to realize what a pain callbacks can be when they become sufficiently deep. That said, after sufficient nesting it's pretty easy to see how callbacks become very similar to a pipeline (in the simplest case, anyway).
May 20, 2008 A look at an example of using Ajax to create synchronized and dynamic graphics. To keep things simple the backend creating the data is a one line php script, but the concept applies equally well to real services.
August 25, 2012 Sometimes working in middle management feels like being trapped purgatory between making policy and making software. Tom DeMarco's Slack paints a much rosier picture.
August 4, 2008 Recently I received a comment wondering how to approach writing a wrapper library on top of an existing library. Although writing wrapper libraries is hardly a lost art of antiquity, developing a new interface to a library can create a lot of added value without too much effort, so it seems like something deserving of a couple hundred words.
November 5, 2008 A meandering story about creating a simple if-else derivative template tag that matches arbitrary values against regular expressions instead of matching boolean values.
August 8, 2008 I spent a while today writing a fairly kind content scraper for OneManga.com, which shows how to use Python's httplib2 and BeautifulSoup to scrape data with a flexible api and minimal http connections.
June 17, 2008 A look at the advantages and disadvantages of using Django with the Google App Engine. Touches on the GAE platform itself, as well as looking at areas where ported Django projects will have to be adapted to the App Engine's unique environment.
August 9, 2008 As many of you (if anyone actually reads these) already know, I am back from Japan. Here are a few thoughts about returning back to America.
November 6, 2008 It's easy to get caught in the cycle of programming language acquisition or library re-implentation circuit. I'm here to propose a better way for spending our programming time to create more useful projects, and to become more versatile programmers.
April 5, 2008 Recently I spent a while trying to figure out how to open files in my Cocoa app. Not just open them, but have the correct application launch with that file as an argument. I knew that Carbon achieved this with LaunchServices, but was unsure about the Cocoa equivalent to LaunchServices. But, it turns out to be quite easy to use. (Hint: its NSWorkspace.)
January 4, 2010 I wanted to do a fairly mindless little scripting project after spending too much time on well documented and maintained code. It's important to let your hair down sometimes. In this project I use Python and the Python Imaging Library to create a simple photo album.