Tuesday, May 7, 2019

App::WRT v6.0.0.

Links:

Despite the bump in major version number, this one is mostly a bugfix release. A hypothetical user wouldn’t notice many changes, but I’m rearranging things further in a direction I started on a year ago, abstracting interaction with the underlying directory structure to a class that caches the full set of entries and some metadata about them. More on this in the latest commit message.

This kind of change has gotten easier as I’ve added more tests, even if the tests themselves are sort of ridiculous, which is a useful lesson.

As I wrote last year:

This was an interesting way to kill some time, both because I revisited an algorithm I’d forgotten about, and because every time I hack on a project like this I’m in a dialog with basic decisions I made before I knew how to write software at all. And maybe, by the same token, looking with fresh eyes at norms that I’d take for granted in any more modern context. wrt isn’t a good piece of software by any contemporary standard, and the approach it represents isn’t one I’d use for anything bigger than a trivial shell script at my day job, but there’s a curious durability to it all the same.

Every few years I revisit some facet of this tiny, mundane tool and apply a bit of understanding I lacked when it was first written, and some structure comes a little clearer that lives in the space between my ignorance at 20 and my experience, such as it is, at whatever age I’ve reached.