Something broke on my laptop recently, and it stopped forwarding system emails to my server. While trying to fix it -- an out-of-the-box Exim setup that "just worked" after answering Debian's install questions -- I realized that my tolerance for dealing with SMTP crap has disappeared. So, out goes Exim, and in comes nullmailer.
I have a new disk that uses 4kb sectors. Unfortunately, on the system it's installed in, none of the partitioning tools deal with this automatically, leading to near-guaranteed misalignment and slower performance, or so says the Googled results (JFGI yourself... I'm too lazy to paste the links here). So, here's what I did:
I'm hacking on some tools that use the Search::Xapian module to build up search indexes. It's an excellent Perl interface to Xapian, but unfortunately it seemed to be too slow for our purposes. Tracing our code showed that much of the slowness was in passing data back and forth between Perl and the C++ library for every call.
I decided to write my own XS module to speed things up. Instead of using Search::Xapian, I'd bundle everything up into a Perl datastructure, and pass it down to libxapian through my own module, once, and do all the indexing work in C++. This worked great -- until I started trying to do some exception handling.
I'd much rather use Git over Subversion, but I still have one project (leaguerunner) using Subversion on Google Code. Migrating the code itself to git is fairly simple, but being unable to migrate the issues still needs some tool development.
You may have heard that WIND Mobile is going to be offering service in Ottawa shortly. I got curious as to what their coverage might be and started looking for coverage maps. I didn't find any, but I ended up graphing their wireless backbone instead.
A while back, I posted about detecting virtualization on Linux from a shell, using various tricks. Around that time, I also implemented those tricks as a perl script for internal use at work with the intent of eventually cleaning it up for public consumption. I finally got around to doing it, and the result is Sys::Detect::Virtualization availabe from CPAN, or from GitHub.
Currently, it can only handle Linux, and is only tested on a small number of virtualization hosts. Patches are welcome.
Today, my Thinkpad T61 decided to stop working. While I was in the middle of reading email, it just stopped. Completely blacked out -- no AC light, no battery light, nothing. Here's how I got it working again.
I recently moved our automated testing systems from a KVM+Qemu setup to Linux-VServer. We didn't need the overhead of a full virtual environment, even one as lightweight as KVM. However, there was a little snag -- 127.0.0.1 didn't work correctly.
Until today, this blog ran on vimblog, a hand-rolled minimal script for displaying blog entries. In the last year or so, though, I've become a convert to git, and so what I really want to do is edit my posts on any system, commit them to a git repository, push to a remote and have them end up as blog entries on my server. Fixing vimblog to do this would have been more work than I want to deal with, but thankfully ikiwiki exists, and can do most of what I need.
So, as of now, this blog is in ikiwiki. To get there, I followed (more or less, since I'm documenting after-the-fact) these steps:
I wanted a command-line-editable blog, so in yet another fit of wheel reinvention, I rewrote bart's PHP blog in more maintainable Perl.
It still needs some features, like: - rss feeds - other formatting types (ie: wiki formatting, markdown)
but it works.