Sunday, January 31. 2010
While migrating my mailserver from Ubuntu Dapper to Debian Lenny, I noticed spamass-milter didn't want to start:
Could not parse "2001:770:017b::" as a network
After scratching my head on that for a while (it worked on the old box!) I remembered two years ago I spent some time adding IPv6 support to spamass-milter myself. Support as-in allowing IPv6 subnets to be whitelisted/auto-accepted. Very useful if you want mails from your local IPv6 machines to be accepted automatically without waiting for 10s while spamassasin is checking if you're not a spammer...
I never published the thing and now I could hardly find back the damn thing at all. :-)
http://wilmer.gaast.net/downloads/spamass-milter-ipv6.diff
Just to make sure I won't lose it again ... and maybe it'll be useful for someone else.
Also just de-Ubuntufied my laptop. Debian's doing great so far: Suspend and Resume actually work better out of the box, but fonts look a bit ugly (and sometimes really less readable I'm afraid) compared to Ubuntu...
Wednesday, December 30. 2009
Because Intel on-board video isn't quite good enough at 3D and my somewhat old laptop with built-in NVIDIA chip wasn't doing all that well at X-Plane either, I bought an NVIDIA GT240 card. Mostly because it seemed to be a good performer without doubling the power consumption of my PC. Stuff wasn't working all that well though and I got pretty frustrated:
QUOTE: X Error of failed request: BadLength (poly request too large or internal Xlib length error)
Major opcode of failed request: 135 (GLX)
Minor opcode of failed request: 2 (X_GLXRenderLarge)
Serial number of failed request: 1468
Current serial number in output stream: 1483
was all X-Plane could tell me. Google Earth also didn't work and seemed more like Google Black hole to me. Both are 32-bit apps. A 64-bit binary of Flightgear did work. Sigh.
After some poking I noticed the nvidia-glx package replaces /usr/lib{64,}/libGL* with its own versions, but didn't touch /usr/lib32. A-ha!
The fix: Get a 32-bit version of nvidia-glx, extract it somewhere (dpkg -X) and copy all the files in its usr/lib to /usr/lib32, overwriting the libGL symlink that is currently there.
Or, hmm, as I just found out: apt-get install nvidia-glx-ia32. I'm glad someone thought of it already.
Now X-Plane works perfectly (with maybe even ten times the frame rate I had with Intel on-board) and Google Earth can show me my house again.
Just blogging this since so far a Google search for any part of the error above didn't give useful results.
Now, I just have to find out if I can get a TV signal out of this thing somehow, since my TV was made long before HDMI was invented. :-/
Sunday, October 18. 2009
Hey, it's more than two months ago already, but it's just in time for my thoughts on HAR2009! I put pictures on-line a little while ago already, but nothing else so far.
It's a pretty neat event. It feels like a festival, but then completely stuffed with geeks. And talks instead of concerts. And also, fantastic decoration. Or maybe I should call it light pollution? Also, we had our own GSM network! Of course, we also had police on site, because you don't want to know what this hacker scum does in their spare time. From the stories I heard, the police had a pretty unexciting but pleasant time there though.
All in all it was fun, and I met a whole bunch of people, including some happy BitlBee users and contributors. Most interesting was perhaps that I met a roommate of a former Mountain View teammate of mine at the train station before the conference already. The geek world is pretty small, I guess.
Saturday, June 6. 2009
Sigh. If a PHP coder says "The complete upgrade path is automatted and can be performed with a single mouse click.", don't believe him. I just spent almost an hour on a Serendipity upgrade. Maybe it works well if you have a dumbass FTP CGI-exec webhost, but I miss the good old days without "user friendly" installer scripts, where installing a webapp was a matter of unpacking a tarball and feeding a database dump to MySQL. Stuff just worked without having to give the webserver write permissions pretty much everywhere.
But now, after the hackish s9y upgrade I lost the old theme, random plugins broke and I had to reinstall + reconfigure them (after resolving some more permission issues), and the best part must be that the upgrade script does absolutely no error checking. After tons of error messages it says "upgrade successful". Fortunately it's also dumb and didn't mark the upgrade as successful, so I could retry the upgrade after fixing permissions. One day I'll just figure out how to move all this stuff to Blogger. :-/
Anyway, I promised pictures. Lots of stuff is now on http://wilmer.gaast.net/fotos/. Don't have very fast hosting for it yet, but I'll work that out later. Hilights are the pictures of my first flight lesson, and also pictures of my cool model airplane. Bought it in April (after mostly trashing my Super Cub and leaving it behind in Beilen), and got some cool in-flight pictures. I also bought a 37g camera especially designed for attaching to these planes, so soon I'll be spying on people in the park and around here in Dublin. :-P
Some pretty hiking pictures from this year's Mountain View trip are also there: Big Sur (under Monterey), Rancho San Antonio (just under Mountain View/Sunnyvale). In other news, I'm flying to New York on the 24th. Not sure if I'll make any pictures there since probably everything there has been photographed to death already.
Saturday, May 9. 2009
Just a quick Perl hack I put together last night. This "oneliner" reads the sessionstore.js file and prints the URLs of all tabs you're currently looking at. I also noticed that the sessionstore contains lots of other useful information, including all session cookies. I'm quite sure that will come in handy some day. :-D I took a quick look for code that does this, and found people trying to put some complicated grep/regex together, but that seemed way too fragile to me. One person did it in JavaScript (which makes a lot of sense since the session store is encoded as a JavaScript data structure), and I decided to go that way as well except I'm using Perl's JavaScript module so it can still run on the command-line. :-)
CODE: #!/usr/bin/perl
use JavaScript;
my $rt = JavaScript::Runtime->new();
my $cx = $rt->create_context();
$cx->bind_function(fetch => sub { print( $_[0] . "\n" ); });
$sess = `cat ~/.mozilla/firefox/*.default/sessionstore.js`;
$sessparser = <<EOF;
for( var win_ in sess['windows'] )
{
win = sess['windows'][win_];
for( var tab_ in win['tabs'] )
{
tab = win['tabs'][tab_];
fetch(tab['entries'][tab['index'] - 1]['url']);
}
}
EOF
$cx->eval('var sess = ' . $sess . ';' . $sessparser);
And yes, my code is indented, but my shitty blog software likes to break it.
Sunday, May 3. 2009
Writing from Mountain View again! Landed on Thursday, spent one day at work so far and today I got my bicycle fixed up so I can use it for commuting again. It's nice how year after year, the thing still works for me, all it needs when I come is some extra air in the tires. :-) One thing California is really not doing well this year is the weather, though. It's raining for two days already!
In other news, I should definitely be plugging The Australian Pink Floyd Show in this post. They were in Dublin about a week ago and they're amazingly good. Even a singer that sounds a lot like Roger Waters! The show was great too, with inflatable animals and everything, and the music sounded perfect. This tour they're playing all of The Wall, and for that that means not just a "copy" of the CD, but also many of the little filler pieces that PF used to play during the concerts.
Also working on a bit of OSS these weeks, adding more "diversity" to the already bloated landscape of gallery webapps. I'm making a difference though, SRSLY! I found myself making a lot more pictures since I bought my first dSLR and many of them aren't really part of an album/event or anything like that. I could just put them on Flickr or Picasa and be done with it, but that'd break my time-wasting tradition of hosting everything myself.
I already use F-Spot to manage my pictures, so it'd be nice to have a web gallery that can automatically use tag information from F-Spot. Turns out there are two programs that can do this already. They're not for me though; they automatically export everything, and there are pictures that I'd rather keep for myself. :-P
I then tried to adapt "original" to my wishes, but gave up when I saw it doesn't quite use templates and am rewriting it now using web.py and Cheetah templates. Going well, but TBH I feel homesick to PHP. Not that it's such a great language, it's more that I fail to understand why there are 982397832 different webapp frameworks for Python/WSGI/mod_python/whatever instead of just one that actually works.
This is a work in progress, and the progress is good. :-) Once it's done, I'll be able to post pictures here of my new radio-controlled airplane and other neat stuff. Yaaaay...
Saturday, January 10. 2009
Wednesday, I had this very friendly mail in my INBOX, from mdam:
QUOTE:
This is an automatically generated mail message from mdadm running on tosca
A Fail event had been detected on md device /dev/md1.
Faithfully yours, etc.
There was little reason to panic, since I had a spare disk installed already. A few man- and mdadm commands later, the array was resyncing. I walked away from the screen, confident that there was nothing to worry about.
How wrong could I be! Somewhere at 99% of the recovery process, one of the existing disks threw a read error. This was too much for md, and to punish me it marked two disks as spares, one as failed and only one as still working. RAID5 may be designed to deal with broken disks, but it does have its limits. ;-) This is where it got scary, especially since this machine is, say, 1300km away from me.
With some remote help, I managed to get the machine rebooted in single user mode with an sshd running. The disks were all available again, but the superblocks were sufficiently broken that md didn't want to construct the LVM array anymore. (Fortunately the rootfs array was not a problem!)
Anyway, I spent that night copying the raw partitions over to another machine. Tried to construct an array there, but things were untable, md often tried to resync the partitions (bad idea), or simply didn't want to run it for me. Instead of trying to make this go, I decided to write a little tool to do the dirty work for me. And that, reader, is why I'm writing this. :-)
To my surprise, I couldn't find any tool to do this on FreshMeat. Sure, when I search for "RAID recovery" on Google, I get plenty of ads for "Professional RAID recovery tools", but I don't want to pay $$$$ for a program that XORs a couple of GBs of data for me. :-P
So, behold: raidrec. Comes with no documentation, other than this blog article and the (long) comment at the top of the file. I hope it'll be useful for someone some day... It was for me. I have all my data back, LVM picked up all my volumes perfectly, and a few fscks later I managed to migrate all my VMs to OpenVZ running on a desktop elsewhere in the house. At least ruby (my workstation here in Dublin) isn't the only desktop machine being a part-time gaast.net webserver anymore. :-/
If anyone didn't get the JournalSpace reference (which fortunately isn't very accurate here anyway): http://journalspace.com/
Monday, December 8. 2008
A little while ago I wrote a little Perl script that can be used to upload a bunch of pictures to PhotoPrintIt (Dutch people may know this from the shop Kruidvat). Together with a tiny .dll file this can be used as an F-Spot plugin to get pictures printed. Just select the ones you like in the picture browser, File->Export->Printing Service, wait for a little while, enter your address information and you're done. 2/3 days later you can collect your pictures at a local shop (or they'll be shipped to your home).
I'm not actually using this myself and don't intend to support it or spend a lot more time on improving it (not to mention adding a GUI), but maybe even in the current form it's already useful to someone. Just get the source using bzr: http://wilmer.gaast.net/downloads/printpics/.
|
Recent comments