devd v0.2 (and some thoughts on small tools)

2015-11-05

I've just released version 0.2 of devd, a local webserver for developers. This release contains a number of small improvement, and a few new features.

Thanks to Barret Rennie, Bill Mill and Judson Mitchell (judsonmitchell@gmail.com) for contributing to this release.

Some thoughts on small tools

I love small, modest tools that do one thing well. I wrote devd partly out of nostalgia for thttpd, a tiny web daemon that used to be my rough-and-ready, just-serve-files-now webserver for many years. It was a single, small binary that I could cross-compile for all the platforms I used, and it did its humble job well. Back in the day, it was one of the first things I put on every new box, along with my shell configuration and ssh keys. When it started showing its age, I moved on to the usual combination of built-in interpreter daemons (e.g. "python -m SimpleHTTPServer") and more heavy-handed tools, but not without a touch of sadness. Looking back on it now, it's clear that the thttpd I remember is a somewhat rose-tinted version of the real thing: thttpd actually did both more and less than I really needed. Devd strives to be a tool in the same sprit, that matches more closely what I want in my EDC http daemon. If people think of it as a small, dependable and unobtrusive part of their daily toolset, I'll have done my job well.

This release includes a few new features for devd, and the next release will add a few more. Not long after that, I expect it to be more or less feature complete. It will continue to improve internally, and bugs will always be fixed, but it will never sprout the ability to run PHP or render less on the fly (both feature requests I've had since the first release). Instead, it will focus on doing the few things it does as well as it can: serve files, act as a reverse proxy tying development servers together, and live reload when files change.