Michal Migurski's notebook, listening post, and soapbox. Subscribe to this blog. Check out the rest of my site as well.

Feb 6, 2006 7:14am

awards show

I’ve been doing a lot of grousing lately. And posting very short entries.

This post is an attempt to fix the damage.

I am the technical director at Stamen, which means that when I’m not crouched under the desks routing ethernet cables, I’m often goofing off online, looking for weird new technologies to play with and develop into experimental projects or client work. Over the past year, I’ve come across a range of new tools that really made my socks roll up and down, and I’d like to describe each one and why I think it’s so cool. Think of this short list as my own personal technical Oscars.

Five things that helped make my year:

  1. Python

    It was necessary to overcome my strong aversion to syntactical whitespace, but Python turned out to be totally worthwhile. Mark Pilgrim’s book Dive Into Python was my entry point, and it explained the language in a way tuned for experienced programmers. List comprehensions are a dream. “Batteries Included” means I don’t have to look far for useful code. Python was my immediate replacement for Perl and command-line PHP, and I tend to use it wherever I need utility scripts or screen scrapers these days.

    I had this same reaction when I first started reading Paul Graham on Lisp, but that language turned out to be almost completely devoid of a useful community and software libraries. I remembered a lot of Scheme from 61A, but it was a dead-end.

    Python still has not replaced PHP for my web applications programming, but it’s replacing just about everything else. I’ve looked at a few of the currently-hot web frameworks such as Django and Turbogears, but each feels as helpful to me as Rails, which is to say: not very.

  2. Blosxom (“The Zen of Blogging”)

    I moved my own site from NanoBlogger to Blosxom just about a year ago. Blosxom dispenses with an editing interface, a database of posts, and a lot of other features of more typical blogging software. Posts are edited with a plain text editor such as vim, and consist of text files batched together into a list of stories, with a head at the top and a foot at the bottom:

    (head) (story 1) (story 2) ... (story n) (foot)

    Configuration is minimal, and almost all fat has been trimmed. The script itself is short, yet affords flexible URL’s (e.g. all posts in July or all posts in directory /foo) and various output formats triggered by request file extension, called flavours. These are demonstrated in a neat hack by Don Marti called “Blog To Congress.”

    The joy of Blosxom comes in its sparseness: extra features such comments, calendars, or new input formats can be triggered by loading optional plug-ins, and there is a clean separation of core functionality and bonus functionality. Over time, I’ve added and removed a number of plug-ins, and I feel that I’m at an optimal balance of simplicity and power.

  3. Atom

    Atom was looking to be an nerd’s over-engineered answer to RSS when I first heard about it. I resolved to ignore the whole thing until hit 1.0 or fell into the abyss. It didn’t go away, and I love the end result.

    I appreciate two things about this spec:

    1. Respects XML.
      SOAP is bloated, and XML-RPC seems determined to re-implement XML in XML. Who needs that? Atom defines a small vocabulary and sticks to it.

    2. Respects HTTP.
      Atom actually uses methods like PUT and DELETE, apparently in the way they were intended. It also requires that every entry has an associated URL, and uses this address when communicating changes.

    I’m aware of some disagreements, but to be honest I don’t understand them.

  4. Drupal

    The appeal of Drupal for me is similar to that of Blosxom. This is a super light-weight content management system for PHP & MySQL that seems have been worn down to a perfectly-shaped nub through careful development & use.

    I was first turned on to Drupal through Mike Frumin’s choice to write a Reblog module that would let us outsource user account creation and management for a hosted, multi-user Reblog.

    It’s a tremendously flexible piece of software that can do a lot of work without sacrificing elegance. The core does one job well: content management by multiple users with overlapping responsibilities. It ships with a bunch of modules that implement useful add-ons like blogging, menus, URL aliases, file uploads, and so on. Writing new modules seems to be a piece of cake. If I were to switch to a more advanced piece of blogging software, this would be the one. In the meanime, I’m using it for sites that need blog-like features plus a little bit more than what Blosxom is made to do.

  5. Twisted

    I was turned on to Twisted three weeks ago when Rael Dornfest (coincidentally also responsible for Blosxom) showed me a bit of Peerkat. It’s as cool as Max/MSP & Jitter were when I first fell into that world five years ago, for many of the same reasons. Twisted is glue software: it implements a simple event-based network programming infrastructure, and includes a gob of protocol implementations for HTTP, IRC, IMAP, and many others. I’m excited because it opens the door to a world of net-mashing possibilities, the same way that Max and Jitter put me in a position to manipulate live media.

    In my first week of messing with Twisted, I was able to put together a completely serviceable HTTP Attention Proxy. In my second week of messing with Twisted, I’m snarfing IRC data and emitting live visual interpretations (more on this later).

    Twisted is an enabler.

Honorable mentions: Debian, XMLHttpRequest, ****, JSON.


Sorry, no new comments on old posts.

October 2021
Su M Tu W Th F Sa

Recent Entries

  1. Mapping Remote Roads with OpenStreetMap, RapiD, and QGIS
  2. How It’s Made: A PlanScore Predictive Model for Partisan Elections
  3. Micromobility Data Policies: A Survey of City Needs
  4. Open Precinct Data
  5. Scoring Pennsylvania
  6. Coming To A Street Near You: Help Remix Create a New Tool for Street Designers
  7. planscore: a project to score gerrymandered district plans
  8. blog all dog-eared pages: human transit
  9. the levity of serverlessness
  10. three open data projects: openstreetmap, openaddresses, and who’s on first
  11. building up redistricting data for North Carolina
  12. district plans by the hundredweight
  13. baby steps towards measuring the efficiency gap
  14. things I’ve recently learned about legislative redistricting
  15. oh no
  16. landsat satellite imagery is easy to use
  17. openstreetmap: robots, crisis, and craft mappers
  18. quoted in the news
  19. dockering address data
  20. blog all dog-eared pages: the best and the brightest