Hacker's Diary

A rough account of what I did with Emacs recently.

March 31
Hot chocolate and gossip with Lou after work.

Got a packet trace of a real Microsoft server talking to a real Microsoft client. Took the data, fed it via my hacked-up Perl server to the Microsoft client, and lo, the client makes a mess. I've no idea what's going on here, but it defintely makes debugging tricky. Anyway, it looks like some of the previous assumptions I made about how data was encoded on the wire might not have been correct. Clouds, silver lining, etc.

Disturbia isn't a bad flick, but the suspense doesn't really kick in until the last half-hour or so. I believe it's a remake of Hitchcock's Rear Window, but it's been so long since I saw that that I don't know if it's a good remake or not. Worth a look.

March 30
Hah. Success. Turns out Fink by default installs a bunch of older autotools (for which, yes, the documentation is incorrect), but has newer versions available. Upgraded a bunch of them and suddenly I can build the configure script on the Mac, which was the object of part of the exercise.

Rewatched Batman Begins last night/this morning, since James returned my copy to me. I was kinda falling asleep towards the end, but it really is an excellent piece of work. And as Gordon put it - regarding the Batmobile, of course - I gotta get me one of those!

Got my RVP server up and running, albeit a little hacked. The password file which I'd cleverly left in /var/tmp had been cleaned up by a janitorial task, and the server (actually my previous workhorse laptop) could not be convinced that its fully-qualified name wasn't "localhost", but aside from that it appears to have worked. Now to see if my abuse of the client code is doing anything to fix the bugs.

At this point I think I've found a bug in Microsoft Messenger. I send it some UTF-8, and it turns it into a corrupted string. This says "buffer overflow" to me, although I don't think it's actually an exploitable overflow, just an irritating one. Irritating in that it's preventing me from testing a fix to the previously-reported bug. I guess I can always spoof the test traffic I want to see, instead of generating it with an actual client.


March 29
The Motorola battery charger does exactly what it says on the tin, and comes with a bunch of inserts so that I can in theory use it for other Motorola phones. And I'd like to stick with them, despite the fact that the company is apparently in some difficulty, but Vodafone are currently only offering me flip-phones of the RAZR variety and none of the RIZR phones which look so much nicer. It's almost tempting me to go and buy a full-price non-affiliated phone and forego the €135 discount I get for selling my soul to Vodafone for another 12 to 18 months.

One oddity: the phone seems capable of recharging in the regular fashion (i.e. plugged into the wall-wart) as long as the battery in it isn't totally flat.

I used Fink to install enough bits on the Mac to build Gaim and thus the RVP plugin. Or at least that was the plan. However, I have been set upon by difficulties with the auto* tools; it seems that what constitutes "perfectly valid code" changes abrubtly whenever I'm not paying attention. The whole point of the auto* toolset is to abstract the tedious process of building Makefiles and configure scripts, but it's gotten as difficult and more tedious than the problem it was supposed to solve. Nice job, guys. As best I can tell without doing some deep-sea diving in the code, the problem appears to be that the Fink auto* tools are picking up the native macro libraries, which is dumb, dumb, dumb. The alternative is that Fink's auto* tools don't work, which is dumber, dumber, dumber. Or that the example in the docs that come with Fink's auto* tools is wrong (since I tried it, and it fails in exactly the same way), which is also dumber, but I'm not sure where exactly it lies on the scale of dumb.

And off to the pub to meet James.

March 28
The transcoding bug mentioned yesterday works (or rather, fails to work) like this: RVP takes your Windows UCS-2LE data and converts it into UTF-8. This is then safe to send via XML. At the other end, my code takes the UTF-8 data, converts it back to UCS-2LE, and then tries to parse it. This works perfectly well right up to the point where accented characters occur in the datastream, because they won't be in the correct encoding for the XML parser. So obviously I need to do the conversion after the XML parsing. The problem with this is one of proliferation: right now, I do a single conversion, then parse the result in a half-dozen different ways depending on various factors. If I move the conversion to some point after the parsing, I need to call the conversion routine from a half-dozen places. It's not impossible, just tedious.

Tried fixing it anyway. I'll need - as previously mentioned - to resurrect the crappy RVP server I built to test the fix, but I think the changes might be less extensive than I'd first guessed.

In passing, I discovered I couldn't even build the configure script on the Mac; it's complaining about my use of AC_MSG_ERROR, which I thought was valid, but which autoconf claims is an undefined macro. Weird. Then again, the whole auto* tree of crap makes me twitch anyway.

March 27
Because I spent too long trying to find this out: If you use mysqlnavigator, and you saved your database passwords so long ago that you've forgotten what they are, look in $HOME/.mysqlnavigator.rc and check the <password> field for the relevant database. The password itself is encoded with base64. And now I'm going to delete the passwords from my .rc files and put them somewhere safe.

So there is indeed a transcoding bug in librvp, and it's silly, and should have been obvious to me, but fixing it isn't exactly trivial. Oh well.

March 26
Irony: I've had more iPod-related error messages since I started using it with the Mac.

Gym kinda kicked my ass, so I'm not doing much this evening.

March 25
Well, so much for my home phone repair. After exactly 14 days of functional phone, it has once again died. Same symptoms as the last time, except this time I saw it die, so to speak. I've been poking at Vodafone's upgrade offerings and I'm not seeing anything there that I'd want to use (their entire Motorola selection at this point consists of flip-phones, which I detest, and the Q9, which is a sort of old-school Blackberry wannabe, which isn't exactly my cup of tea either) so I've opted instead, ta-da! to buy a charger for the dead-but-apparently-still-a-going-concern batteries. Not quite into good money after bad territory yet, but getting there... maybe I should reconsider my choice of phone manufacturer. The Sony-Ericssons don't look half bad.

Happy birthday, Mom!

March 24
The original 3:10 To Yuma was on BBC today, so I watched it for comparison to the recent remake. I think the remake is a far, far better film, but that's not to say this wasn't enjoyable. Much of the remake is concerned with the trip to Contention (where they are to rendezvous with the eponymous train), whereas the original shunts that entire trip to off-screen territory - indeed, I didn't initially realise that the action had shifted to Contention, such was the abruptness of the change. Wade's character is also much less the gentleman outlaw featured in the remake, and Evans' justification for sticking with the job in the original seems much more flimsy - but on the whole it remains the same: he's doing it for the dignity, not the money. So, the original is worth a look, but the remake is definitely superior.

Had a look at the Pidgin/RVP bug report I got last week. I still haven't resurrected my hacked-together RVP server, but I did figure out roughly where the problem is. Doesn't help me fix it, though. I think I need to swap the order of some bits of code around.

Evening got unexpectedly swallowed up. Serves me right for being online. D'oh.

Those of you who actually look at the front page of this site may notice the current book offering comes with no image and a generic search for the title. This is because my current book, a 1971 print of Force 10 From Navarone, does not have an ISBN, and the ISBN is what I was using to locate the Amazon page for the book and add the cover image. So now my little script understands that there exist books for which you just have to fudge the results... next, I should have it cope with the fact that sometimes I read more than one book at a time. And sometimes the books are downloadable. And and and... I'm sure I'll come up with something else.

March 23
Death At A Funeral: rent it now. Despite swinging close, it never quite goes into the funny-because-you're-cringing humour that I never really find funny; Alan Tudyk running around a rooftop starkers and threatening to jump is genuinely funny rather than funny because of the embarrassment factor. The funeral itself is not for him, mind you. The eulogy, when it finally arrives, provides a Scrubs-like instant switch from humour to touching poignancy. And I guess there's such an array of characters that you can't help but identify them with people of your own acquaintance. I think I may well be buying this.

My website was down for a few hours due to yesterday's fiddling about with the dotmac stuff combined with the automatic Sunday morning restart of said server... d'oh.


March 22
Fiddling with phone sync again. Don't ask.

Also fiddling with the .Mac thingie I found last week. Requires modules. Requires modules which require other modules. I'm still not clear on why Linux perl comes with GDBM but no NDBM, and Mac perl comes with NDBM but no GDBM, since building either as a standalone module is a royal pain (asking CPAN, as you'd normally do, offers to build perl in its entirety, because that's where the DBM packages live). Anyway, as you'd guess, the modules-requiring-modules bit winds up looking for NDBM, which is not on my Linux box. GAH. I guess I should just go back to the AFS hackery.

Speaking of, I downloaded the Mac binaries. For some reason I was under the impression that AFS (and not the Apple Fileshare stuff, real AFS) had been bundled into MacOS X along with Kerberos. Apparently not.

[The infrequent Guide For Mom: .Mac is a neat little toy that allows a Mac to sync various things (such as files) with a website. Specifically, with a portion of Apple's website, which you pay Apple for. Someone's come up with a clone that you can put on any conveniently available webserver. Unfortunately my uncommitted attempt to install it ran into a problem whereby it requires bits of software that I don't have and that I can't lay hands on without more work, which I was hoping to avoid. GDBM and NDBM are lightweight databases traditionally bundled with Unix systems going far, far back into Unix history; Perl, the programming language with which I make most of my software toys, has means of working with both systems, but for some reason (as noted) standard installations of Perl differ in which versions they offer. AFS, as mentioned some time previously, is one of the many ways that computers can share files over a network; one of the things that most interests me about it is that it can maintain local copies of the files from the network, so that if you disconnect from the network you still have access to the files, and it's supposed to synchronise your changes back to the network when you reconnect. And Kerberos is a security framework developed at M.I.T. some years back for use on their network and subsequently released to the world at large. One of its general principals is the notion of single sign-on: you log into a computer once, and then you have access to any network service that belongs to the same Kerberos environment as that computer. So you can log into other computers on the same network without needing a password, but also to other network things, like websites, file-sharing, etc. Both MacOS 10 and Windows versions from about Windows 2000 onward have some amount of Kerberos support built in.]

March 21
Family intrigue! A plot to kill a queen! A famous maritime battle! Adventure! Romance! Clive Owen! Cate Blanchett! And yet somehow Elizabeth: The Golden Age manages to take all that and turn it into a dull, over-long movie. Feh.

March 20
Odd. Emacs doesn't want to Find-File on my MP3 directory. There's only 400-some directories in there. No idea what's up with that...

March 19
Got a bug report for librvp today, which reminded me that I never did release version 1.0... I will need to recheck my server setup in order to reproduce the bug and test the fix, so maybe that will drive me towards version 0.9999999.

March 18
Neat: dotmac, a .Mac server for the rest of us (or for those of us who don't want to store our crap on Apple's servers, at least). Noting the places that .Mac is integrated into MacOS, I am intrigued with the possibilities of using this as the server side of e.g. a Linux .Mac client.

Met up with Lou after work fro hot chocolate and gossip. And nerdy talk, but you'll get that.

Still not done with AFS. Procrastination is one of my favourite hobbies.

Regenerated the cert for my webserver, and promptly broke the server. Every year I do this. I now have a cert with a passphrase, which I didn't used to have. D'oh. Time to read the docs again.

Switched the RSS generator to make these entries appear as the last thing in the day, not the first. Which is sort of chronologically more accurate.

March 17
Found some code that talks to Keychain from Perl. It's a bit clunky, but it does the job.

Given that I just finished reading the book, I decided to watch Rising Sun again. Interesting to look at the changes from the book to the movie that don't necessarily make sense; in the book, for example, Connor tells Smith not to bother trying to bow as the Japanese assume that gaijin don't understand the protocol, while in the movie it's all about bowing when you're bowed to. Plus, some of Connor's actions from the book (e.g. noting that the doorman at the bettaku is Yakuza) are given to Smith - who is renamed from Peter Smith to Web(ster) Smith. I don't understand scriptwriters.

Cute. A little hacking and I have my junkmail toy pulling my password from my Mac's keychain. Access control on the keychain itself is a little fiddly, however; there's no mass grant/deny access option that I can see, so instead you select a key, pop up the context menu, select Get Info (or just shortcut all that mousing with ⌘-i), then click on the Access Control button and do what you need to do. Ironically, if you'd like to script this you have to give the script access to do the job...

March 16
After a little bit of fiddling around, I got the OpenAFS client running on my Fedora Core 6 laptop and talking to the server I set up last week. This is called "progress". I still haven't quite figured out what I'm doing next since there's a big, ugly manual to read. Ostensibly the idea is that there is the AFS server, and then all the machines I use have AFS clients, and, er, that's as far as I've gone with the idea. It would probably have been easier to upgrade the fileserver to support NFS over TCP so that the Mac could talk to it without resorting to Unix voodoo.

Oddly, the junkmail toy mentioned previously is no longer doing folder searches correctly. One of the things I had it doing was searching my IMAP server for folders starting with a particular prefix wherein I store junkmail by day (don't ask...) and that doesn't work any more. It's trivial to have it pull a list of all folders instead and filter out the ones I don't want, but I wonder what broke here?


March 15
Got up this morning to discover that while my shiny new switch/router was all lit up and running, it didn't appear to be doing any switching or routing. Power-cycling fixed it, but that's a bit annoying what with it being shiny and new and all.

And so the final weekend of the 6 Nations Rugby Tournament 2008. Italy win, thanks to a dubious try. Ireland play 16 minutes of fantastic rugby, and then lose 33-10. And finally, after a lacklustre first half, Wales light up in the second half and finish 29-12.

March 14
Did good things at work. Then went to the gym, which royally kicked my ass since I've not been since last Thursday (due to the intervening bout of snuffles). Zzz.

March 13
Resurrected my junkmail script, which required building a whole bunch of Perl modules on the Mac. I'm still slightly appalled at the apparent lack of native package management, mind you. It's like the bad old days where you just installed everything into /usr/local and kept your fingers crossed.

In passing, I had a look to see if there was Perl support for talking to the Keychain, but if there is it's not immediately obvious. Would be useful if my Perl scripts had some means of accessing passwords without me having a half-dozen files lying around...

March 12
Wait, what's that, Skippy? Ruadhrí has fallen down the pub and needs help? I'll be right there.

(So much for my health, eh?)

March 11
Back to the office. I think my trips to the gym have improved my recovery time, since this sort of thing normally has me working my way through a jumbo box of handkerchiefs for a week afterwards, but not this time. Yay!

Also in the Yay department: having talked to another phone repair company (FoneMenders.ie) and found them to be basically useless ("we'll send your phone away, taking two days, it will take two days to get back, and they'll wipe it as part of whatever procedure they go through") I figured I'd shell out for a new battery since worst case I'd be out 20 quid. Battery arrived yesterday to the office, so I collected it today, stuck it in the phone, and ... condition Victory, as Warren Ellis would have it. Phone came up. So now I can grab all the stuff I wanted off it, and consider once more if I want to get an upgrade from Vodafone (answer: yes, but I'm not keen on the phones on offer right now).

Back in AFS land, I think I've finally got the server up and running. Next, I need to boot up my FC6 laptop to see if I can get that client working, after which I try to get the MacBook to talk to it. And then we're all happy, or something.

March 10
Woke up with the continued lurgy, so I opted for the bedrest and lemsip treatement. Writing this on Monday afternoon, it actually seems to have worked somewhat, in that I no longer feel like my eyeballs are too large for their sockets...

The Art Of War would have been an excellent movie if they'd had a script supervisor, or at least if the fifteen guys who alternated on writing the dialogue had discussed what they'd written... or that's how it feels, anyway. Ostensibly, it's a generic action movie with a side-order of crazy Republicans versus equally crazy Chinese trade separatists, and only Wesley Snipes can sort things out (assisted by some eye candy and an overweight FBI longtimer), and that side of it all works pretty much like clockwork, but as soon as any two characters start conversing it all falls to pieces. There're jarring jumps from one line to the next even when it's just one character's dialogue. I can't say I'd recommend this.

Got a bit further in the AFS setup stuff. Mainly, the changes between the old document and my software appear to be that parameters previously understood according to their position (i.e. param 2 is the server, param 3 is the cell) are now explicitly identified by a flag, so you have to say -server servername instead of just servername. Which is fair enough, if annoying to deal with. I am beginning to suspect that the doc I'm following will leave me with a non-Kerberos-integrated AFS server, but it's a start. Once I get the AFS server figured out enough to use, I'll try figuring out how to redo it or alter it for Kerberos integration.

March 9
Italy v. France looked entertaining in places, and in other places looked like the Keystone Kops were let loose on the pitch. France won in the end, but hardly decisively.

Spent the day avoiding the out-of-doors what with being sickly and all.


March 8
Realised as the Ireland v. Wales match was starting that I'd broken the script I've been using to put live commentary up on Twitter. So, frantically repairing the script before the match started. And then we lose the game. BAH.

And then Scotland beat England, but I didn't see that. At that point I was starting to come down with my recurring throat infection/non-flu flu/whatever. Bleh.

I did watch Shrek The Third, which was pretty good for the third in the series and had some nice fun-poking at the likes of Lord of the Rings. Not quite the laugh riot of the first two, but I figure I'll be picking up a copy for my collection anyway.

March 7
Office drinks, and a visit from Sheila, who's attending a trade show tomorrow.

March 6
Gym night, after which I considered the AFS docs some more. It's really great when I have a system that appears to fall chronologically somewhere between the two sets of docs I'm using. What I should probably do is just rebuild the fileserver using a newer OS and be done with it...

March 5
Drinks with Tyson, then Cathal.

March 4
And so I prove that it is possible to both go for ONE beer and do a session in the gym - without dying, I might add. I would've skipped on the beer except that Richard let drop that he was now engaged, so I couldn't really refuse at that point. Congrats, dude!

Started on the AFS thing again, from scratch. Actually, I should probably start completely from scratch, since I think I've forgotten the Kerberos master password I set up ages ago. More to the point, I don't know how to check, off the top of my head...

March 3
And so the 1970's remake of The Big Sleep: relocated to England with Robert Mitchum as Marlowe. I'm not keen on Mitchum's Marlowe, but I do think this version has two things the Bogie version lacks (and needs): a voiceover, and Chandler's little bit of pontification at the end. Also in this version's favour is the fact that pretty much the entire plot survives the transition unscathed. Alas, they do dispense with much of Chandler's original dialogue which combined with the poor delivery, poor acting, and even poorer firearms sequences make this almost laughable in places. I think the single biggest flaw is moving it to England, though, and in particular to the built-up areas of London - Marlowe's L.A. is a place of wide avenues and properties with sweeping grounds, and it just doesn't fit quite so well in the narrow, twisty streets of the English capital. So, I'd say this is maybe worth seeing for completeness' sake, but really, you want the Bogart version.

March 2
Installed StreamripperX, since I nuked the MacPorts install of streamripper. It's ok; I would like it to have both the "quit ripping on error" and "lump it all into one file" options, since I'm using this stuff to feed a non-podcasted stream into a podcast, and as previously noted I am sorely unimpressed with how iTunes/iPod handles podcasts - specifically, it expects a single enclosure; you can't say "these 20 files make up one podcast entry, please store them as an album or something", and then the iPod refuses to play the sequence of downloaded podcasts unless you do something like using the Recent Additions or Unplayed playlists - why can't it just cycle through the contents of the podcast folder like it does other folders?


March 1
My phone appears to have comprehensively died overnight. This is annoying, but I do have a spare phone (or several) to use instead. Also, I got a message from Vodafone yesterday to tell me they're shutting down their photo album service, i.e. the mechanism I was using to get free uploads to flickr direct from my phone. Drat.

Called to a local Vodafone shop to see if they could help out with the dead phone, but no luck there. I have all my numbers and such but there are a few things on the phone I'd like to retrieve if I can, so my next attempt will most likely be a phone repair centre.

UTV are obviously reading this website: after I'd noted I had a hankering to see the first two Bourne movies again, they showed the first one last week, and The Bourne Supremacy was on tonight. I definitely enjoyed it more this time around, even if I still think the book's storyline was better.

I watched Bogie's performance in The Big Sleep back in May 2003, and having purchased a copy of it this past week I'd reiterate what I said then: it sticks closely to the book for the most part, both in terms of dialogue and plot, and the places where it doesn't really work so well are those where it's been augmented. The additions mainly revolve aroung giving Bogie more screentime with an assortment of female characters, something which wasn't even implied in the book. There's also some suggestion that scenes were cut (for example, the first you find out about Marlowe being tailed is when he asks Eddie Mars about it - you never actually see it) and there's at least one inexplicable name change. Oh, and the ending is somewhat different, and a little weaker for that. Still, though, I enjoyed it.

AFS continues to elude me, but then it's not like I'm concentrating hard on it either. Maybe I should just give up on it.

Finally got fed up with the MacPorts stuff and ditched it all.

previous month | current month | next month


Yay March. Can we have some sun please?