Time to Move, Random Observations
Looking Forward To Python 3
In my tech feed today I noted Thomas Guest sticking to his new year commitment to publish Python 3.x compatible code examples. I hope this becomes something of a meme and becomes more and more common in the pythonosphere.
On The Move
I'm decommissioning an older server I have co-located in New Jersey so over the next week or so I'll be moving my non-commercial sites and applications to a Virtual Private Server (VPS). I'm hoping to deploy all apps on the VPS using >= Python 3.1 (alpha, beta, released) alone.
Thanks to QP having already been released on Python 3 this won't be terribly difficult although as most of the applications are document centric, a workaround for docutils is inevitable for the time being as much of the content on the pro bono sites and applications I host lives in ReST format.
Markdown (the freewisdom.org version, not the ActiveState produced markdown2 code) on the other hand is already more or less serviceable under Python 3 after some 2to3 incantations.
Debian != FreeBSD but ~ Enough
After many years of running a FreeBSD-only shop at home and at work this move has more or less forced me to gain some deeper Linux knowledge. In this case I elected to have the VPS decked out with Debian 5.
While it is refreshing to explore a new OS environment just to see the differences, I do miss FreeBSD on the box, particularly the FreeBSD ports system, and I'll no doubt continue to trip on on the file system hier differences but I'll live I guess.
One aspect of running a VPS as opposed to a dedicated server is that you tend to need to be more circumspect about RAM usage. The default install of bind9 consumed a huge amount of ram which for what the VPS needs to deliver is just plain silly. So a query for "python bind alternative" drove me to choose another name daemon.
MaraDNS turns out to be a nicely lightweight authoritative and recursive DNS that uses far less machine resources than bind does. It seems to be a good alternative for a box which needs to serve up a few dozen or hundred records rather than tens of thousands, and it might even be a good choice for the latter too.
The config file uses Python syntax but that's as far as the Python "integration" goes. I like its "template" and "default" approach; I had a fairly swift looking bind setup which used include files but the MaraDNS config is even simpler - one template file serves all. Nice.