Even though I haven’t had enough contiguous free time to do it all at once, I’ve been doing some minor adjustments around the site here and there, and it’s worth posting a summary for later recollection.

Miscellaneous tinkering

  • Updated the whoosh indexing engine to a bleeding-edge version that will (eventually) make it easier to identify and list related articles (the current See Also listing works, but sometimes you need non-explicit references).
  • Updated a bunch of other Python packages that the site relies on.
  • Fixed some extant non-critical bugs (mostly templating and plugin tweaks)
  • Removed my (extant) photo gallery code. Even though I’m happy with the results of my retina image tests, I haven’t had time to put together a decent set of photos for a gallery, and what little photography I did in the past 3 months has mostly made it only to (of all things) Facebook. So I might as well take another stab at it in a couple of months from a fresh perspective.
  • Moved the production site into an LXC container for good.

Most of these will be merged into Github as time allows. I realize I haven’t had time to pay much attention to Yaki as a public project, but the time I need to polish and publish stuff simply doesn’t exist (I had originally hoped Yaki would be adopted for managing project documentation at work, but as it turns out Wikis seem to be out of fashion).

Nevertheless, I’ve pushed out my current refactoring of Yaki‘s storage system based on Pyfilesystel - I’ve decided to make it easy to let you map a .zip file as part of the Wiki namespace, so that Yaki can serve content from a mix of filesystem paths, .zip archives and (thanks to fs) even Amazon S3 (it will also cut down significantly on disk space if you have tens of thousands of small files on it, at a negligible increase in CPU load).


LXC is worth singling out here, since it means that I can now effectively run several concurrent Linux instances (isolated process groups rather than full VMs) on my Linode without the hassle of risking breaking something by installing bleeding-edge packages and whatnot.

With Varnish and pound as front-ends, all of them share the same IP address, SSL certificate, etc., and yet I can set up and tear down completely new environments at will - even (to some extent) other Linux distributions.

We’ve been using it at the office for a good while (in a rather more paranoid configuration than what I’m running here), and even though it lacks the aesthetic beauty of a BSD jail, it’s a great way to run third-party binaries like the Dropbox CLI daemon (which manages content publishing for the site) and RStudio (which I run remotely from this box).

The only thing I regret about it is having set up Ubuntu instead of Debian (given that Ubuntu is crammed with little “improvements” that do little to actually improve your systems administration experience), but at least now I can set up Debian containers whenever I feel like it.

Not that I feel like doing that a lot, mind you.

See Also: