Hacker's Diary

A rough account of what I did with Emacs recently.

November 30
Table quiz, where I won some chocolate and a bottle of whiskey. Woohoo!

November 29
Met up with Stella for the usual Wednesday night beer and chat.

Finished squishing memory leaks in the NW code. All that's left is the crazy stuff that glib does when you set up an empty hash table: it allocates ~6k of RAM for, uh, whatever and you don't get it back. I'll just toss that into the suppressions file with the rest of the unfixable leaks.

Hmm, using the code to fill a drive to capacity reveals that my cheesy emulation of fwrite is lacking somewhat. Specifically, it'll return -1 for an error, when it's supposed to return "a short item count" (or zero, notes the manual page, but what's zero if not a short item count?)

November 28
I'm abandoning FF2. It's just chewing up my machine repeatedly. FF1.5 crashes from time to time, but is nowhere near as abusive. Nice "upgrade", that.

Back in, I dunno, July or so Lou recommended Serendipity to me. It's a John Cusack movie, so worst case I get to watch him looking slightly goofy in that way that he does for an hour and a half. About ten minutes in and I'm all set to hate the movie because it's doing that whole "someone for everyone" shtick, but no, it turns into a damned fine movie with some excellent laugh-out-loud comedy, some nice playing around with the theme, and some truly fantastic music. Thanks, Lou!

Some creative rearranging of code resulted in me identifying what the hell was going on with the memory errors in the NW code, at least partially, anyway. Good start. The problem is that I'm playing fast and loose with pointers, and the code I "ported" from the original library isn't fitting in so well with that. There's still some weirdness, and none of these debugging tools are helping at all, but hey.

Ok, that's just plain annoying. I finally find the bug, and it turns out it's been in the library forever, and valgrind should most certainly have picked it up as I was attempting to fit 13 bytes into a 12-byte array, but whatever. Problem solved. Now I can get back to stomping on memory leaks.

November 27
So if you're building your highly secure Fedora Core system, and you set up your kickstart file to activate a strict, enforcing SELinux policy from scratch, your machine won't boot. This is because your filesystem needs to be relabeled, and this doesn't happen until after strict, enforcing SELinux is up and running, and in the meantime your kernel has panicked because it can't (this is the ironic bit) read the SELinux policy library. Better still, if you put fixfiles -f relabel into your kickstart file, you'll break the install because that wipes out files in /tmp that the installer is using. So, either you need to initially boot with strict, permissive, or you need to do some sillywalking with fixfiles and/or its components in order to render your freshly-built machine bootable.

I spent far too long finding all that out.

The Libertine has Johnny Depp in its favour, but I'm not sure I'd have watched the whole thing without him. It's not a particularly bad movie, just that it didn't really engage me. And I definitely didn't like the cinematography: lots of dim lighting and handheld (read: shaky) camerawork, presumably to lend a period air to the thing. I did like the relationship between Charles II (John Malkovich) and the Earl of Rochester (Johnny Depp); Rochester was almost in the role of a court jester, the one man who can make fun of the king and live because that's his job. And Rochester's final speech to parliament, clichéd and all as it was, was excellent both in content and delivery. So, I guess don't rush out and get this, but if you see it coming around on TV it might be worth a look.

Firefox 2 attempted to take down my machine this evening in the time-honoured traditional way: soaking up all available memory. For some reason this invariably forces XChat to drop all its connections before the kernel OOM-killer steps in and drops Firefox on its head. Maybe I should run Firefox inside a resource-limited shell, but then I suspect it'd crash far more often.

November 26
For reasons to do with the aforementioned leopard, the phrase, "we're in bat country" came up last night which led to a brief conversation about Fear and Loathing in Las Vegas. Which in turn led to me watching it this morning, since I have it on video. It's just such a wonderful screw-up of a movie and hey, Johnny Depp.

Ireland 61, Pacific Islands 17. We really could've done a bit better on defense, but the hell with it. A great send-off for Lansdowne Road.

So Casino Royale. The real one, as opposed to the spoof. The carpet beater scene is there, albeit with a knotted rope as opposed to one of those traditional curly metal things. There's a running gag about the martini. Daniel Craig looks suitably Bond-like: good-looking enough to make it believable when he charms the pants off someone from 50 feet, cold-looking enough that you really do believe he doesn't give a crap. Free running absolutely rocks. About the only thing that I didn't like in this movie was the huge slowdown in pace to set up the ending; it became painfully obvious what was going on, and I really can't say any more without spoiling the plot, but really, if you're paying attention at all you'll be just sitting there like I was waiting for the on-screen penny to drop. Oh, and one other minor quibble: too much of a sequel set-up at the end. I mean, seriously. It's a franchise. You don't need to set up for sequels in the closing lines. Mostly, though, an evening well spent.


November 25
DNS is the first thing I've come across where you can't just say, "add this file to augment the basic config" - you have to overwrite one of the existing config files (named.conf) which is something I really hate having to do. Still, sendmail is going to be the same, so.

A little more minor fiddling with the network walkman stuff. I'm thinking I need to redo the API such that the add/remove track functions just backend onto the filesystem API, rather than being separate functions. It'd make things so much easier, not least tracking down where things are leaking memory.

Ugh, well, that completely failed to work: I'm getting a SEGV in the middle of a fopen call for some reason, and debugging isn't getting me anywhere.

I'd planned on going to see one of my coworkers singing with The Mornington Singers with Lou this evening; what actually transpired was more complicated, involving as it did a trip to Charlies II (Chinese fast food joint); the Westin Hotel bar; the aforementioned gig, which was at Trinity Chapel; the Bleu Note (downstairs, for jazz, then upstairs to seek more seating and also to escape from Leopardskin Print Drunk Woman, which led to listening to some seriously ripping blues); Dakota (failed excursion, too crowded, although the other Ronan stayed here); and finally Bá Mizu where Elaine and I were among the last few stragglers to leave. So, live music, much chat, and the usual Saturday night drinking.

November 24
And lo, Firefox 2 did fall over. I was watching the fusion reactor lecture on Google video (I can tell it's dumbed down somewhat for presentation, but it's still awesome - even intimidating - the way the guy is going on with the sort of "of course E in this equation is equal to long string of incomprehensible math as everyone knows" attitude), paused it, resumed, paused, resumed, paused, clicked to resume, and BLAM. I'm sure it's the fault of the Flash plugin or something.

Excellent, the RSS Toy now runs on the soon-to-be-new webserver. That's sufficient for it to be a drop-in for the current webserver, but the current webserver also has a bunch of other stuff running that I need to replicate, so I won't be flipping over just yet.

Day off work, spent largely, er, shopping. Yes indeed.

Much to my (pleasant) surprise, moving the database stuff to the new box can be accomplished by simply rsync'ing the /var/lib/mysql directory. That saves a bunch of trouble. Next, DNS.

November 23
Had another one of those "six degrees of separation is about three too many" moments today. Freaky.

Met up with Ruadhrí for a few drinks and the usual wide-ranging conversation.

Despite suggestions to the contrary, firefox 2 hasn't fallen over yet. Of course, I've not actually done much with it since I've been otherwise occupied since I installed it.

November 22
Met up with Stella for a beer and a chat, as per tradition (last week having been the traditional break with tradition).

It's been quite a while since I watched Chinatown, so I most likely missed much of the continuity between that and The Two Jakes, which I saw this evening. It's an uneven movie; the story is pretty solid, but some of the acting is a bit wooden and there are whole sequences that seem completely nonsensical (such as Mrs. Bodine in Jake's office). Nicholson is good, but looks distinctly, I dunno, chubby at times, and certainly I've seen him do far better. And a lot of the narration sounded like he was reading it off a page while his mind was elsewhere; it had the same sort of faux dramatic ring to it as Leslie Nielsen doing a Naked Gun voiceover. Still, mostly a good movie, worth watching if you've got nothing else planned.

Fun for the day: bare metal to running server in under five minutes. Yes, yes, my definition of fun is somewhat coloured by my day job/hobby.

November 21
Interesting. There will be no official Firefox 2 package for FC6, as they're waiting on Firefox 3. So I guess I'll just build my own from the SRPMs they've left lying around.

After some kicking I managed to get a couple of my CGI scripts running under SELinux. Even after reading the manual it's still not entirely clear to me where I was going wrong previously, but it seems to be working for now.

November 20
I think, in places, I had the same problem with Matchstick Men as I did with Confidence: in a movie about conmen, you never know whether to trust what you're seeing at any point or not. That's not to take away from it, as it was a pretty excellent piece of work, and the music throughout was just awesome. Some beautiful shooting, too, but you'd expect no less from Ridley Scott. Put it on your wishlist.

ACPI weirdness on the laptop has increased. Usually, if it tells you there's no battery when it boots up, you won't see any sign of the battery until the next time you reboot. The last few days, however, the battery has apparently come and gone (according to the ACPI stack) without any intervention on my part. Bizarre.

November 19
Some work research neatly coincides with some stuff I'm doing anyway, which is neat.

Fedora Core 6 comes with a troubleshooting system for SELinux; unfortunately it assumes you're running a desktop locally on the box, which I'm not. D'oh. So I'm trying to get to grips with the semanage command-line tool right now. It's tricky, but I think I'm getting the hang of it (slowly).


November 18
Still BLEH, but less so. By which I mean I no longer appear to have rabid badgers gnawing at the back of my throat, although they're still pumping my head full of porridge.

Bank of Ireland have tweaked their site again and for some reason the code I'd put in to skip past the phishing page in the Finance::Bank::IE::BankOfIreland module won't work. And of course when I step through the site to see what's going on I can't see the problem either, plus it makes the phishing page stop coming up for another month (I'm guessing). So if you're using this code, and it's getting odd errors, try manually clicking past the phishing page.

The Punisher is one of those movies that just doesn't gel. There's not a specific thing you can point out as a flaw, it's the overall result that simply fails to work.

Added a silly hack to my LJ client to attempt to identify my location from my externally visible IP address. I'm sure I'll regret this, but it amuses me for now.

Fedora Core's notion of a minimal install is rather, uh, interesting. Over 300 packages, including such essential tools as talk and rsh.

Saw most of the original Casino Royale today. Doesn't really have much to recommend; it's got a few interesting tips of the hat to the novel (such as the presence of the carpet-beater attached to the chair that "Bond" sits in when he's captured by Le Chiffre) but mostly it's just a fairly lame comedy.

November 17
Continued BLEH. I've been trying to do some work, but having trouble concentrating on anything; I even fell asleep for an hour or so on the sofa yesterday, which is quite unlike me.

November 16
Hurrah, I have paracetamol and pseudophedrine. Boo, I'm in a state where I have to use them.

November 15
Woke up with the familiar scratchy throat that heralds an incoming bout of illness. Ugh. Went to the office anyway, but by the evening I was still feeling a bit rough. Met up with Lou for a bit after work; by the time I got home I was quite obviously running a temperature. Bleh.

November 14
Met up with Cathal as I was walking toward the DART on my way home, so we adjourned to Lotts for the proverbial "one".

November 13
Chasing memory leaks and stray pointers around the new MPLE code. This is really badly broken, and I've no idea how I didn't notice before. Found the worst of the bugs, then got bored and left it alone.

November 12
And back to Dublin.

Max is an interesting conceit, well-made, and has some excellent dialogue. Mostly, though, I was watching it because it's a John Cusack movie. I was surprised to discover that there was some outcry over it on account of (depending what you read) "humanising Hitler" or "insulting Holocaust survivors". I guess the former could be deemed a form of the latter. Personally, I thought it portrayed Hitler as a completely unsympathetic character.

Lacking motivation to do anything else and short of decent TV viewing, I put on Office Space. It's such a great movie; the only bit that never really works for me is the whole money laundering sequence, which is a one-hit joke that's carried for 15 minutes. The rest, though, is sheer genius.


November 11
Continued stag activity.

November 10
Turns out I never caught the MPLE file delete bug because I broke the test harness right where it tests the delete function, and never noticed. D'oh. Mind you, deletion still seems to be broken, dammit.

And then I drove to Ballyvaughan for John's stag weekend.

November 9
It was declared to be "Thirsty Thursday", meaning a work-sponsored visit to our unofficial extra office, the one with all the beer taps.

November 8
Met up with Stella for the usual Wednesday evening beer and chat. I think it's officially a tradition at this point.

Queen of the Damned isn't exactly bad or anything, but I wouldn't recommend you rush out and buy it, either. It's been a long, long time since I read the book, but I'm pretty sure they threw the bulk of it away and bent some pretty important bits of what was left out of shape, but hey, that's Hollywood. Stewart Townsend reminded me a lot of Brandon Lee as The Crow, as it happens.

GRR. FC6 still has the same annoying trait of appending the DHCP-supplied domain name to the requested hostname even if there's a domain already present, i.e. you end up with a hostname of foo.example.com.example.com. Which basically screws everything up.

Spent some time abusing the Apache config on the new webserver until I finally got it working the way I wanted without modifying any default files. Yay. I much prefer applications that provide a means of overriding the defaults to those that require you to edit the defaults. Next thing to do is to flip the internal DNS to point at the new server and see how much stuff is broken.

November 7
An entirely unplanned and wholly pleasant evening spent with Catherine and Ivan, during the course of which we discovered an excellent restaurant (Tribes) and talked a whole lot (of rubbish, I'm sure) in Eagles House in Sandycove.

November 6
Dammit, that's annoying. I figured out what was wrong with the missing signal handlers after googling for a bit, and once I had a lead on the answer and refined my Google search, I turned up my own Makefile for the MPLE code, which has the required fix already in place. Once again rewriting code bites me. But I now have a filemanager that actually starts up as I'd intended it to, which is more than I had last night.

Of course, it's still not safe to use.

Also started building a new webserver, so I can finally take the current one out of commission and upgrade it. And clean it up, too. Too many nasty hacks sitting on it right now for my liking.

After some digging around I found two problems with the new file manager code: some direct calls to the layer below the API, which was on account of my lazy search-and-replace method of porting the code, and a previously uncaught logic error in file deletion code whereby a file was removed from the in-memory list just before a function went looking for it there. No idea how I didn't notice this before. Still, track delete now works, so I can go back to figuring out what else is broken.

November 5
Odd. For some reason the ported mp3filemanager code is claiming that most of the signal handlers don't exist. I thought it might be a function signature problem, so I redid them all, but it's failing to find any of them, except the shutdown function. I'd prefer if they were all broken, instead of one of them working for no apparent reason.

So much for a refreshing blast of cynicism. The Last Kiss seemed like some of the more interesting bits were edited out instead of being tied up at the end, and the stuff that did get tied up seemed like a Hollywood schmaltz cop-out. I feel cheated. I'm not sure it was even a particularly good movie for all that. My theory at this point is that the two positive reviews I read were written by people who had recently been dumped and were totally empathising with Izzy, who really didn't feature a whole lot and did so neatly (loses girlfriend, loses plot, goes on a road trip). Much as I imagine an entirely other group of people would empathise with Kenny (picks up girl, feels pressured when she introduces her parents, goes on a road trip). Oh well, at least I can scratch that off the list of movies I've been meaning to watch.


November 4
Spent the afternoon in town with Elaine, doing the lunch-and-shopping thing.

Loser surprised me by how good it was. Sure, it's exactly the sort of clichéd storyline that makes guys believe that if they hang around that one girl and be nice enough they'll eventually win her over, but Jason Biggs carries off the nice-guy role as well as anything John Cusack has ever done, and I'm a huge Cusack fan - in particular the whole gaping-jaw thing during the Broadway play had me giggling, and that particular look is a Cusack classic. Oh, I did find that the movie sort of stopped abruptly rather than winding down to a finish, but still, definitely one to watch. I think I may now have to go out and refresh my cynicism somewhat by dealing with real people. Or possibly watch The Last Kiss, which in at least one review I've read is described pretty much as an antidote to this sort of rose-tinted movie.

November 3
And so we went for a beer after work. Took a while to find it, though.

Oh look. RVP file transfer is broken when dealing with a REAL server. I swear this used work before. Dammit.

November 2
Kalifornia is sort of like a linear, traditionally-cut version of Natural Born Killers. I found it way too slow, possibly on account of two of the main characters having southern drawls and one of 'em being a bit less than smart and just rambling on and on and on about nothing. Good character portrayal of someone who I'd not like to meet, basically, and sitting watching her on screen for 90 minutes was no picnic either. The story was ok, but on the whole I'd rather have spent the time doing something else.

Merged the Gaim 2.0.0beta4 RVP stuff back into CVS, so now I have a consolidated mess. In retrospect it's maybe a bit silly that I've not forked the code in some way, at least even to pull the differing API stuff out into a separate file, but right now it seems like too much work to fix up. Either way, it seems to work as well as it used to, i.e. I've not actually made it worse.

Had an initial shot at porting my cheap MP3 File Manager clone to the newer Network Walkman library I've been working on for the last few, er, months. I've got a mostly clean compile, but I suspect if I try firing it up it'll explode. So, I'm leaving it for tonight. Something exciting for the weekend to keep me out of trouble, perhaps.

Happy birthday, Ellen!

November 1
Met up with Ruadhrí for a few drinks and a whole lot of chat. Yes, I realise it's high time I changed "Geekly" to "Drinkly" or something similar. Shut up and keep reading in case I say something funny.

previous month | current month | next month


Irish Summer continues - more rain.