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