NotCon'04 seems to have been a roaring success. I arrived early enough to get in (the venue quickly reached capacity and all day people were waiting on a one-out/one-in basis). Luminaries of the technorati including Cory Doctrow, Bill Thompson and Brewster Kahle were on hand and the twin foci of the day were web politics and inappropriate technology. I'll be picking out a few of the most interesting bits of the day in a series of posts.

First up was Dan O'Brien's presentation on the working habits of prolific geeks. In an interesting piece of research Dan emailed a questionaire to a selection of about 50 or so geeks known for their prolific output (including XML's own Tim Bray). Some of the results were interesting and will probably ring true with many geeks.

Shells are incredibly popular - respondents were asked to provide screenshots of their current desktop. Most included several shells (one was just one big shell). One possible explanation given was that many of the respondents have been through numerous cycles of technology, OS and application suites and that the shell is one of the constants across all of those changes.

Text files and email apps were the two most popular ways of organising todo lists.

Many respondents had lots of home-grown scripts - with backup being one of the most common tasks automated by scripts. Possibly indicating a lack of faith with commercial backup tools or the need for a more personalised approach to backup than a commercial tool makes easily possible.

Many respondents have written far more than they have ever released to the public - the biggest factor against this being the feeling that the code was "not good enough" for public consumption.

It is interesting to compare my own habits with those presented by Dan. In general I do much of my work with browsers, shells, Eclipse, Emacs and Evolution. I don't think I could get much done without Emacs and Eclipse has rapidly become my weapon of choice in Java coding. What I do like about both of these tools is that they do not get in the way of using the command-line. All my coding projects quickly get an Ant build file (even those that are not Java projects). Being able to run a shell command from Emacs (or run a shell in a buffer) is a major plus.

I can't really comment on task organisation as I am incredibly bad at it. I've tried keeping todo lists in a variety of technologies, but just don't have the discipline to keep it up to date.

The scripts I use are principally short-cuts for repetitive command-line tasks such as starting and stopping my SETI client. I would argue that an Ant project / Makefile is a form of scripting and it is the form which I use principally in development.

As for lots of scripts and unreleased hacks. I've tried to make the most useful stuff available and I don't really consider myself to be a prolific creator of small hacks - the software I tend to produce is relatively heavyweight. There is somehting to be said for creating a releasing quick hacks such as XSLT for RELAX-NG documentation and diagramming, but a degree of professional pride and the desire to avoid dealing with support for incomplete code makes me shy away from putting all of those quick hacks online.

What do you think about these generalisations of the habits of prolific geeks ? Do they match your habits ?