Hacker's Diary

A rough account of what I did with Emacs recently.

May 31
Having yet again managed to accidentally yank the power lead from my laptop (which has had no battery since it died in Switzerland back in February), I finally decided to get yet another replacement battery for it. This would be, I think, the fourth.

Found the missing icon for RVP. One less thing to fix... now to reinstantiate my hacked-up RVP server.

May 30
The Wind That Shakes The Barley is quite a powerful portrayal of the Irish War of Independence and subsequent Civil War. Well worth watching, although you might need subtitles for some of the dialogue...

May 29
Updated the RVP makefile to put the various icons in the right place. There's still one missing, though, and I'm not wholly sure where it goes.

May 28
Since I've had a few requests for it: RVP with Pidgin support is now available (0.9.6). Please note that this still has all the rough edges 0.9.5 had, as I've not tried doing anything beyond making it work with Pidgin. Tested on both the 2.0.0 and 2.0.1 releases. Thanks to Devin, Dave and Patrick for prodding me into getting my working code out.

D'oh. Forgot to actually put the file on the server. Fixed now. Sorry to the one guy who tried to download it.

May 27
Fixed the configure script for the RVP plugin so it properly generates install directories for Pidgin. The resulting code is in CVS, if you're one of the few I've granted access to, and hopefully with a bit more abuse I'll have a 0.9.6 release by midweek. Note that the Pidgin build currently might break the Gaim 1.x build. I'm working on it.


May 26
Thank You For Smoking is hilarious. I mean, sure, the protagonist is a bad guy, but he's also very, very funny. Go watch this.

May 25
Had a little fun with HTTP logs plus GeoIP plus Google Maps/Google Earth. I need to read up on KML some more, but I like the idea of a live map of hits on my website.

May 24
Runaway Jury had no real surprises, but it's a well-made piece that clicks along nicely and is definitely worth seeing. And I'm not just saying that because John Cusack is one of my all-time favourite actors...

May 23
Hrm. One of my phone toys appears to have spontaneously broken itself again. That's rather annoying.

Played around with some Windows-based phone toys instead, which led me to discover why the self-signed cert I tried to load on my phone didn't work: there are apparently multiple layered filesystems and the certs aren't in any format I recognise. Pfft.

Happy Birthday, Patrick!

May 22
Much to my surprise, the hacked-up RVP-for-Pidgin code actually sorta works. Now I need to resurrect my test server so I can try it out properly.

This is wrong:
Waider (klortho.waider.ie) $ > perl -l -MPOSIX -MDate::Parse -e 'my $p = shift; print str2time( $p )' "Tue May 22 21:27:05 IST"
(no output)
Waider (klortho.waider.ie) $ > perl -l -MPOSIX -MDate::Parse -e 'my $p = shift; print str2time( $p )' "Tue May 22 21:27:05 BST"
1179865625
IST is a perfectly good timezone, dammit.

I've been fixing up some bugs in the RSS doodad, including trying to further clean feeds so I don't trip over the bugs in other peoples' code quite so often. Tonight's hackery works around the Mail date format bug from yesterday. I'm beginning to think that I need a Feed object that takes the various feed types I deal with (basically any version of RSS, and Atom) and returns a usable XML::RSS object which I can then further sling around as required.

May 21
Typically, after all my faffing about with W3CDTF it turns out that it's the parsing of something as a Mail date format that's breaking. Gah.

Boy, do I feel dumb. I found that the renamed Gaim code comes with compatibility header files that do most of the work towards porting - after I'd spent a good fifteen minutes typing up the bones of the same thing myself. Of course, my code is long overdue a cleanup to make the Gaim 2 Pidgin codepath the default, but *handwave*.

May 20
I didn't really find Nora very engaging. A fairly negative portrayal of James Joyce, but one that I'd certainly seen allusions to in Wilson's Masks of the Illuminati, so it wasn't exactly a surprise. On the whole my interest was more curiosity about the story than any particular empathy for the characters. Not exactly a must-see piece.

Went to merge my repaired W3CDTF code into the official version and discovered that the tests are broken - having cited the actual document which describes the date format, there are invalid dates submitted to the module as good test data. Yeesh. Fixed and submitted to the author for consideration.

Started on getting Pidgin working with the RVP plugin. Step one: get the configure script to cope with both Gaim and Pidgin. I can see this namechange is going to be a serious pain. It doesn't help that include files have moved or been renamed as part of the process, never mind C structs.


May 19
Breakfast on Pluto is pretty excellent. It switches from pretty serious to comedy and back again at the blink of an eye, which means some of the comedy is a bit uneasy as you're still reacting to the stuff preceding it. Definitely worth watching, though, even if only to see exactly how comfortable Cillian Murphy is with playing the role of a transvestite...

Trying to track down where exactly the RSS date parsing is breaking, I found that not only is the W3CDTF module incomplete, it has a hardcoded timezone (GMT) for the longest format. I think I need to replace this with my code ASAP.

May 18
I'd forgotten about the failing laptop (my ex-webserver) until I tried running a perl script today that goes via my web proxy and discovered that (a) I'd still been using the laptop for a proxy and (b) it had failed again. D'oh.

May 17
Planned a quiet evening. Went to a vendor meeting. Vendor insisted on taking us out to dinner and drinks. What? How did it get to be 3am?

May 16
Kinda knackered after my travelling... spent the evening lounging on the sofa. I have some more sample files for the libnw stuff which I'll probably have a look at later this week.

May 15
Spent the day at the Cork office. Dad also wasn't expecting to see a visitor from Boston. Surprise!

One more iPod/iTunes stupid: my Windows XP laptop crashed. Blame one of:

May 14
Off to my folks' place for... Happy Birthday Dad! He wasn't quite expecting to see a visitor from Dublin.

May 13
iPod had some sort of brain-fart that caused it not only to stop talking to the laptop, but also to stop talking to me. As a result, I now know how to force-reboot it.

Actually, I'm finding a few things about iTunes+iPod that I'd rather were a bit different: my ~15GB collection already lives on my iPod, thanks to GtkPod, but iTunes insists it's still syncing my iPod - but doesn't tell me why or what it's doing, or even show a progress bar. And it's pulling the music to do so over a wireless link, which for ~15GB takes quite a bit of time. And it's a Samba share mounted over said wireless link, so the entire Windows machine becomes pretty much unresponsive due to the high rate of I/O. This is Windows XP, btw. I thought multitasking was solved back in the '60s.


May 12
Went to a barbeque. The man o' the house's dad was doing chefly duties and plainly enjoying it, and the resulting burgers were delicious and went well with beer.

May 11
Out curiously enough watching rugby - in which Leinster made an absolute show of themselves while Cardiff pretty much ran all over them.

Fracture was pretty good, although the ending felt a little weak. Hopkins is excellent, the plot's pretty neat, and there's only a little bit of jarring (such as the reveal towards the end, where it's got an extra flashback just in case you didn't. get. the. point.) so on the whole it's worth seeing.

May 10
As expected, I was able to knock together a half-dozen lines of perl with a single regexp to match a valid W3C date, and a second to assist in the parsing, and it works on all the W3C examples. Go me, etc.

May 9
Cleaning up loose ends from last night's hasty server move; a few more things have been pushed into RPM shape (albeit not yet pushed into actual RPMs) and a few notes made on Stuff I Should Fix When My Copious Free Time Allows It.

Having a look at some bugs in RSS feeds. It was annoying when XML::RSS was too strict to parse some feeds without throwing warnings. Now the damn thing dies entirely on misformatted dates, which is really, really stupid behaviour. The really annoying part is that the module that's dying has a strict/non-strict switch which you can't access from XML::RSS. The really, really annoying thing is that the module in question purports to be a definitive W3C date-format handler, and it doesn't handle valid W3C dates. GAH.

I looked at the code to see how easy a fix would be. Answer: GAH. The date parser is implemented using a hash of regexp lengths with attached regexps, meaning that (a) it doesn't cater for variable length decimal parts as defined in the spec, and (b) modifying it to cope with the formats it's missing is just going to hurt more. I suspect I'll need to write something to clean the data before it gets to the date parser, which kinda defeats the purpose of using it in the first place.

May 8
Curses, it appears I've finally gambled one time too many on the failing disk in the mail/web server: some critical metadata has now hit an uncorrectable error, or become uncorrectable.

Phew, bullet dodged, time to move everything the hell off that box. Laptop. Whatever.

Aaaand presto, we're off the laptop. Yay. Watch as the NEW new server implodes horribly...

Had a look at Pidgin (previously Gaim), but building librvp against it isn't simply a matter of replacing all occurrences of Gaim with Pidgin...

I was about ready to write Little Miss Sunshine off as just about mildly amusing, until the pageant talent sequence. That was just perfect. Not a must-see movie, but if it comes your way it's worth a look.

May 7
I'm still slightly confounded by the fact that XFCE seems to have none of the automount capability of KDE or Gnome, which is to say when I plug in a usb drive (such as the iPod) nothing actually happens. Some random googling appears to suggest that XFCE does have this capability, but I'm not seeing any obvious switches, plugins, or add-ons that I'm missing - indeed, the only filesystem tweaking available appears to revolve entirely around /etc/fstab, which isn't really much use to me.

Hmm. It appears to be a version issue: my version of xfdesktop is, basically, too damned old. I'm supposed to use some other add-on, such as Nautilus. Of course, the whole reason for using XFCE is to avoid the bloat of Nautilus in the first place...

May 6
Watched Ice Age again. It's still as funny as the first time.


May 5
A bit more hacking and the v2 code is now correctly pulling the frame count for tracks, albeit with some ugly code.

Went to see The Blizzards supporting Kasabian at Dublin Castle. I was really only there for the former, but the latter were good enough that I'll be looking out for their stuff the next time I'm in the Secret Book and Record store...

May 4
Pushed the libnw code around a bit more to try and figure out where I'm going with the v2 stuff. Part of this was going through the emails to see which sample files correspond to which models, so I can hopefully pick out some sort of device identifier code somewhere...

May 3
...and beers with Ruadhrí. What we will laughingly refer to as The Plan got slightly disrupted, net result being last night's frenzied dancing will have to stand in for tonight's intended run around the block. Oh well. I figure I burned off about the same amount of energy, at least.

May 2
Beers with Lou. Beers with office. Live music. Dead waider, I suspect, come tomorrow morning.

May 1
Failed to riot. The socialists must hate me.

The Da Vinci Code shares much with the book, particularly the peculiar slowdown in pacing after everyone has long figured out what's going on. It's not actually bad up until that happens, since you don't have to put up with most of Brown's painful writing.

previous month | current month | next month


MayBe It Will Sunshine