Hacker's Diary
     A rough account of what I did with Emacs recently.
  - January 31
 
  - It's hard to watch Good Night And Good
    Luck without drawing parallels to the current state of affairs
    in America, particularly the closing shot of someone (a senator, I
    presume) waxing lyrical on the nature of freedom of association
    and the bill of Habeus Corpus. A good movie on a topic I wasn't
    overly familiar with, and a shame that the likes of Murrow seem to
    be a lot harder to find these days.
 
  - January 30
 
  - Got some stuff done at work that's been pending for quite a
    while, so a celebratory pint was in order. And of course, you
    can't leave those celebratory pints out on their own, they need
    guidance from their peers...
 
  - January 29
 
  - Everything Is
    Illuminated is another movie I put on the list so long ago
    I'd even forgotten what it was about. Turns out it's Elijah Wood
    in another "I'm not a Hobbit" role, looking curiously
    like his character from Sin City, in fact, but that aside it's
    a wonderful movie. It's funny, poignant, thoughtful, beautifully
    shot, and features some excellent music. Definitely worth
    seeing.
 
  - January 28
 
  - The noisy fan mentioned last month finally got sufficiently
    annoying for me to actually turn off the server last night. I
    subsequently discovered that some part of my login to the
    web/mailserver is dependant on an NFS mount to the server that I
    switched off, as are a few of the CGI scripts. D'oh. First things
    first, though: replacing the fan. As the owner of too many
    computers I had no trouble locating a spare CPU fan; popped the
    server's case and discovered that the heatsink and fan are glued
    to the CPU. As the owner of too many computers I had no trouble
    locating a spare CPU; swapped out the CPU and fan, powered on the
    server, whining fan continued. D'oh #2 - it was the PSU fan. As
    the owner of too many computers... so now the box is back with a
    new quieter PSU, and I'm waiting for the backups (which kicked in
    as soon as the NFS server appeared) to finish so I can take it
    down again, put the case back on, and shove it back in the
    cupboard. Of course, I also need to figure out where the
    dependency on the NFS server is. I really don't need
    that.
    
    Well, for a start I can change a whole bunch of Perl scripts from
    use lib "/home/waider/src/perl"; to use lib
    "$ENV{HOME}/src/perl"; and frankly I'm kinda
    surprised I'd not done that ages ago, since my home directories
    differ from one machine to another on my network (Legacy
    crap. Yes, there is legacy crap on my little LAN. How
    sad.)
    
    Speaking of legacy, I added fedoralegacy.org to the FC3 box, since
    Red Hat have stopped giving me updates. Again, something I
    should've done ages ago, and now there're 42 updates totalling 54
    meg waiting for me. Including a new kernel. I wonder if it solves
    the NFS bug I encountered?
    
    Happy Birthday sis!
    
    Made a few passes through the librvp code, picking off marked
    bugs (i.e. the ones I'm aware of but haven't done anything
    about). I still haven't fixed the fact that there's a synchronous
    write in a very important place in the code that really needs to
    be made asynchrounous, because it'll require a major restructuring
    of a central function and frankly that scares me. I just know I'll
    break the whole thing. Actually, in the words of the late, great
    Douglas Adams, this may already have happened.
 
  - January 27
 
  - Found a minor bug in the TV movie listings CGI script, which was
    spewing errors into the httpd error log whenever it was
    encountered. It's not anything important, but it was
    annoying me.
    
    What we will laughingly refer to as "The Plan" was to
    have some food and catch a movie at the local cinema. It got sort
    of derailed by Andrew
    Tannenbaum's Sweet & Sour Chicken (hey, even my cooking is
    geeky) and the last hour or so of Star Trek: First
    Contact, at which point it was too late to go to the cinema
    (it seems we don't get late weekend shows out here in the
    'burbs). So we watched the rest of Long Way Round,
    followed by Once Upon A Time In
    Mexico. Pah. Who needs cinemas anyway?
 
 
  - January 26
 
  - Sheila's visiting for the weekend. We spent far too long
    watching a few episodes of Long Way Round, which
    really I think should be mandatory viewing for anyone thinking,
    "it'd be really wild and romantic to drive a motorbike across
    <country>".
    
    Gaim 2.0.0 beta6 is out; this time they don't appear to have
    changed any of the API's I'm using, and this is allegedly their
    release candidate for 2.0.0, so I guess I should kick out a new
    version of librvp this weekend to match it. Stay tuned, I'll be
    socialising too and that always interferes with my desire to sit
    on my own in front of a laptop pounding out code... I wonder
    why?
 
  - January 25
 
  - Mirrormask is a lovely piece of
    work; it really conveys Gaiman's sense of humour and
    mischief. Definitely worth renting out.
 
  - January 24
 
  - Met up with Lou for a bite to eat and a chat, which turned into
    a few beers and more chat. You were expecting software?
 
  - January 23
 
  - Man On Fire is about 40 minutes too
    long: instead of spending all that time establishing Man Redeemed
    By Little Girl, they could've just opened with the kidnap and
    worked from there. There was also a bit of that irritating jump
    cutting/over-exposure that made Domino
    difficult to watch, but once the movie got going (i.e. after the
    excessive 40-minute intro) it wasn't actually all that
    bad.
 
  - January 22
 
  - Started digging into the actual .OMA files in the v2 code. It's
    a little premature, but should get me some visible results quickly
    and then I can go back to filling in the missing bits. I also
    really need to prune out the v1 code, especially the bits that
    have been obsoleted by rerouting them through the filepointer
    interface.
 
  - January 19 - 21
 
  - Went to Galway for the weekend to hang out with Sister and
    Brother-In-Law. Got hailed on (painfully). Managed not to buy
    anything in a bookshop. Managed not to buy anything in a music
    (instrument, as opposed to CDs) shop. Had several beers. Had
    a tasty burger with cheese and bacon in... pita bread. Had a
    quantity of wine. Had a slight hangover. Had a whale of a
    time!
    
    After our Big Saturday Night Out, the young whippersnappers were
    too wiped out to stay up and watch Pirates
    of the Caribbean: Dead Man's Chest with me. Actually, I kinda
    missed the first ten or fifteen minutes due to, uh, not being able
    to concentrate on it. It turns out it's not quite as good
    as the first, but neither is it simply a rehash of the same gags,
    which was good. I think I shall be a-purchasing it. (Mind you, for
    some reason Play.com will only ship it to the UK, so I'll need to
    shop elsewhere for it...)
    
    Happy Birthday, Hannah!
  
  - January 18
 
  - Killed my webserver, but thanks to netdump I got to see a
    stacktrace this time. Looks like NFS just plain blew
    up.
    
    As of, hmm, yesterday I've given up my position as maintainer of
    the Big Brother
    DataBase. The truth of the matter is that most of the
    "maintaining" I've done in the last year or more has
    amounted to accepting other peoples' patches and writing
    curmudgeonly emails about why feature X is not implementable and
    so on. Robert Widhopf-Fenk, who also appears to have taken on the
    task of propelling VM
    forward, is the new maintainer; he's been working on BBDB pretty
    much since I took it over, and has proven himself to be well
    capable of driving this particular bus.
    
    More hacking on the v2 stuff. I think I've figured out a little
    more of the file formats. The annoying bit is that someone out
    there has figured out enough to write a Java app, but hasn't seen
    fit to share the info, so I get to redo someone else's work all
    over again.
 
  - January 17
 
  - Ok, so now nw-dump sort of halfway works for v2
    devices. There's a lot of faking going on, but it doesn't
    actually crash, which is an improvement. I'm using the v2 API as a
    lever to drag some sense into the v1/libnw API, so expect things
    to move around a lot more. In particular, all the nw_ types will
    most likely wind up being opaque to anything outside the library,
    because I really don't want you mucking around in there.
 
  - January 16
 
  - Good things about Underworld: Evolution:
    Kate Beckinsale, and some of the music. Bad things: pretty much
    everything else. It suffers much the same problem as the second
    and third Matrix movies: once your heroes are indestructible
    immortals, all you're left with are Larry/Curly/Moe slapstick
    fights. Ptui.
    
    Interesting: I managed to figure out the failed decoding attempt
    from last night (they're not ID3 frames, they just look a lot like
    them...) and it occurs to me that this format easily allows S*ny
    to product a player which can store e.g. album cover images in the
    metadata section of this stupid indexing system. No idea if
    they've built such a device, mind you. Of course, I'd already
    figured out this decoding before, and even documented it, but I,
    er, didn't read my own docs. D'oh.
 
  - January 15
 
  - Weird. I go to debug the problem with the libnw code, and I
    can't reproduce it. I can guess roughly what happened - it takes a
    shortcut to finding the Media Serial Number if it can, because
    otherwise it may need root privs to get the data - but I can't see
    how it happened. So, er, sure. Use the code. If your
    player says "MG ERROR", then you just hit the same
    bug. Wherever the hell it is.
    
    Made an unsuccessful attempt to decode one of the v2 files. I may
    need to *shudder* read some specs for ID3 tags...
 
  - January 14
 
  - Continuing my quest to put some life back into this creaky
    laptop, I switched from KDE to XFCE. Now, this is nice. It seems
    to have most of the bits I want and it's lightweight. The dock is
    a bit short on applets and there's not a way of configuring it
    exactly as I'd like it (notification area in the dock and full-screen
    width being two things off the top of my head), but other than
    that it's just fine. Mind you, at this rate I'll be back to using
    my old FVWM config from the 1990's...
    
    I've a little toy called xmms-frob.pl which
    does stuff like pull "now playing" info and playlist
    housekeeping when I'm on a file renaming spree; it relies on a
    Perl module I contributed to some time back called
    MP3::Info. This module used merge equivalent
    ID3v1 and ID3v2 tags, so if you had a file labelled with both the
    v2 tags would override the v1 tags. Somewhere along the way the
    current developer has apparently changed this to return an array
    reference with the relevant tags, and there's no indication of
    this fact in the docs. It appears to be a side-effect of his
    attempt to deal wtih ID3v2.4 trailers, from a rough perusal of the
    code. Anyway, patched around it, made inappropriate comments, and
    I'm flinging the resulting script into the workshop. Note that the
    last.fm stuff in
    there is for the old streaming system, so it no longer works, and
    there's a hardcoded attempt to cater for people listening to a
    stream labelled "(Gronk)" which is of
    minimal use...
    
    Hmm. XFCE doesn't seem to have any means of mounting USB drives
    automatically.
    
    Squished one memory leak in the "new" MPLE code, found
    another. There's a strong argument for just throwing this stuff
    away and starting over from scratch, but you think I'd do
    that? Anyway. I am goading myself into doing more work on this by
    flinging it into the workshop for public abuse; it's called libnw which I've just
    found out that clashes with a library for Neverwinter Nights. I
    was going to rename it to libsnw, but someone's using that too, so
    to hell with it. For obvious reasons I'm unwilling to put Certain
    People's Trade/Service Marks into the name to distinguish it from
    the other stuff out there...
    
    Ok, the libnw code is BROKEN right now for both old and new
    APIs. Actually, it's not even functional for the new API, but I
    seem to have broken it rather badly for the old API, which I
    hadn't exactly planned on doing. And the test suite still checks
    out, so evidently my test code needs work, too. Anyway, don't use
    it right now. Use the mple stuff instead.
 
  - January 13
 
  - Once more, a day of no importance. Per one of the
    non-resolutions I made, I did spend some time making use of the
    sizeable stack of musical equipment I've accumulated, but I am not
    yet Brandon Flowers and his merry men. Also, trying to assemble a
    drum track when the drummer is essentially playing a non-repeating
    rhythm on the hats is pretty frickin' annoying.
 
  - January 12
 
  - The Man Who Wasn't
    There is pretty stock Coen brothers stuff: a bit quirky, a bit
    dark, and a twisty plot. It's well put together and all, but it
    didn't really engage me as such. And Scarlett Johansson kept
    remind me of a friend of mine, which was kinda
    distracting.
    
    "Keef from
    Boyzone" was in our office today. Well, not in
    our office; he was in the Digital Hub for some random TV
    production. Yesterday there was a bunch of guys who all looked
    like they'd know if asked the exact pros and cons of a half-dozen
    brands of hair goop, apparently all contestants for I presume the
    same TV production.
 
  - January 11
 
  - Oooh. Work drinks. Like, a tab and stuff. Blink blink. Someone
    paid me a HUGE compliment this evening, I'm not sure I'm actually
    worthy of it, but to hell with it. GO ME.
 
  - January 10
 
  - I was expecting Shaft (2000) but I got Shaft (1971)... well, it's a
    classic. It's a classic of bad acting, but it's actually not a bad
    movie aside from that.
 
  - January 9
 
  - Not sure where this evening went... I went running, but aside
    from that I don't seem to have done anything worth
    noting.
 
  - January 8
 
  - Of course, it was inevitable that all of this fiddling with my
    phone would lead to some confusion: I accidentally resent a text
    message from a late-night conversation in October resulting in a
    response reading, in its entirety, "???". D'oh. I'm
    blaming Motorola for putting "resend" at the top of the
    options menu when you're trying to do something with a message in
    the Outbox.
    
    Having discussed it with someone recently I had a hankering to
    watch High Fidelity all over
    again. Such a great movie, and such a great book.
 
  - January 7
 
  - I really wanted Æon Flux to be good,
    because the trailer and even the DVD menus looked so slick,
    reminiscent of The Matrix. Unfortunately, it didn't
    turn out that way; I'm not sure if it was poor pacing or what but
    it just didn't seem to work well. Ok, so Charlize Theron isn't
    exactly hard on the eyes, and Martin Csokas looks like someone
    mixed together the better bits of Clive Owen and Kevin Spacey, but
    really it just wound up being a
    could-have-been-great-but-wasn't.
    
    Fun With Dick And Jane
    was ok. A little too much of Jim Carrey playing Jim Carrey, but
    aside from that a nice piece of brainless nonsense to while away
    the evening. Given my rather hectic last few days, pretty much
    exactly what I needed.
    
    In more geekly events, I finally decided to do something about the
    fact that my poor aged laptop is constantly swapping to the point
    of being unusable; I checked to see what the hell it was at and
    found that Nautilus on startup was consuming 100M of
    memory just to give me an active desktop. So I've switched from
    Gnome to KDE, since the kdesktop process uses a more restrained
    18M for the same purpose. And lo, firefox is rendered usable once
    more. Now to figure out how to replace all the Gnome-ish crap I
    was using.
 
  - January 6
 
  - Whoop, MORE socialising. Sheila was persuaded to stay in town,
    and I'd already arranged to go out with Lou, Elaine and Dave
    anyway, and it all wound up as a mini college reunion in The
    Porterhouse followed by a much-reduced group of revellers
    ultimately partying chez Waider. Notable occurrences: the
    Blue Note populated by what looked like a birthday party,
    including some anklebiters, despite it approaching 9pm; Pravda
    full of bad music and strange people (well, moreso than usual);
    talking heavy physics with Elaine at Ukiyo; Alan's extremely
    popular hat; and my second-ever performance of the entirety of
    Sweet Child O' Mine on air guitar with cheers, whistles and
    foot-stomping from the Aussie Chicks (and the rest of the
    gang). I, like, totally rock, yo.
  
  - January 5
 
  - Further incidence of socialising meant that for the 5th of
    January I spent all of about two hours in my house.
 
  - January 4
 
  - An incident involving the Lou Crew, a pub, a nightclub and an
    increasingly familiar couch meant I didn't quite make it home. All
    very reminiscent of 2002, right down to the people
    involved.
 
  - January 3
 
  - Ah, the things I get up to when I've some free time and an
    interesting puzzle to figure out. Thanks to the fact that my phone
    (well, everyone's phone) doesn't allow you to retrieve the
    "sent" time for outbound SMS messages (and why the hell
    not?) I now have several nasty bits of perl; the approximate
    workings thereof are, pull list of messages from phone, pull
    appropriate bill from Vodafone website, parse bill, compare bill
    with list of messages, if possible datestamp messages. I've been
    tooling around with this since before Christmas, but I finally got
    it working today. Of course, given that the "parse bill"
    step involves regexp sillywalking through a ps2ascii rendition of
    a PDF file, "working" is a pretty loose
    term.
    
    One thing I've noticed from the mucking about, actually, is that
    the text messages I sent from Iceland
    appear to have been billed as two separate items: an international
    SMS to my SMSC, followed by the SMS to the intended recipient. The
    funny thing is that the international SMS is in Icelandic time,
    while the immediately-following SMS is in Irish time, an hour
    later. Hmm, now that I look closer, the same thing happened for
    the Seattle trip.
 
  - January 2
 
  - It's still 2007, surprisingly enough. It hasn't gone away
    yet. And I'm not up to much worth writing about.
 
  - January 1
 
  - Happy New Year!
 
 
 previous month | current month | next month