Today I brought my bike to the shop. When your bike seat falls off, it's time to consider some maintanence. Not to mention the badly crippled front brake, or the derailer that won't.

Then I bought a new computer chair, as my old clunky one self-destructed this week. Mmm, full back support, arm support, and cushioning can sure make me happier.

I posted quite a bit to debian-boot about redesigning and rewriting the debian installer. I'll be leading the boot-floppies team for woody. Oy vey.

Scottyp wrote about all the steps it takes to update an open source package. I empathize -- I've spent about 3 years cutting the steps of the process down to the bare minimum, since I make 1.5 releases on average per day, of one thing or another. I guess I will describe my process:

  • Hack, test, hack, test
  • Document changes in changelog, via a program that incerements the release number too.
  • Run build script.
  • Run "release" script, which automatically:
    • Makes sure cvs is up-to-date, or runs cvs update and bombs for me to fix it.
    • Checks in my changes, using the most recent changelog as the commit message.
    • Uploads packages to several places, including the debian upload queue.
    • Runs optional (plugin) code in package, that updates files that are included on the package's home page, to update the version, etc.
  • (Sometimes, but rarely, announce to freshmeat, or other places.)
  • (Wait for debian upload queue to process, which automatically closes any bugs I fixed in this version, and announces the package to a debian mailing list.)

This is a lot shorter -- consisting in the general case of just 4 steps, 2 completly automated -- mainly because most of my work goes into debian, and the upload queue for that is mostly automated and includes buig closing, announcements, etc. Perhaps other systems (including sourceforge) have something to learn from it..

I hope in the future we can further streamline the debian package release process until it consists of just a cvs commit, and a tag, with building, etc all happening automatically elsewhere.