Hacker's Diary
A rough account of what I did with Emacs recently.
- May 31
- Intimate Strangers is
a slightly peculiar movie that had me quite engaged throughout - I
kept thinking "I'll go make another cuppa after this
scene" right up to the end of the movie. Whether
intentionally or not it's an interesting observation on therapy
culture and just who exactly you're telling your deepest secrets
to on the other side of the desk, which I think was part of what
had me so intrigued. Plus, I was curious to see how it all worked
out.
- May 30
- Found a silly bug in some of the recent patchery which didn't
show up on my test server but did on a real server. Bah. Note to
self, put more edge cases into test server and trigger them
randomly.
- May 29
- Cleaned out another XXX and checked an item off the to-do
list. Also watched Scrubs and went for a walk;
it's not all geekery Chez Waider.
- May 28
- Did a little tooling around with maps this morning, something
I've not done in a while. Playing with a Google-like interface to
a random mapping site, basically.
Continuing my code cleanups. Basically I'm tracking through the librvp code
and attempting to fix anything marked XXX; the stuff marked FIXME
is slightly less urgent.
Problems with my ghetto streaming music: metadata is only
displayed for the first title, although I can't see why; and
the server occasionally decides to simply drop the client, and I
can't seem to persuade XMMS to
just reconnect when this happens.
- May 27
- Wow, sunshine. Took the bike out for a bit.
Modified mailman.pl
to use WWW::Mechanize, something I've been meaning to do
for quite a while. Let me know if it's broken anything; I tested
it against sourceforge (Mailmain 2.1.8) so I know that much still
works.
- May 26
- Requiem For A Dream is grim
but stylish, with very obvious visual similarities to Aronofsky's
first film, Pi. I'm still not entirely sure I liked it;
it's not the kind of movie you enjoy, as such. It's certainly
different.
The Mummy Returns is a
by-the-numbers sequel, but no less enjoyable for that. It's a
popcorn movie, with about as much depth as a puddle, but it
doesn't try to deny that. Plus, I like Brendan
Fraser.
- May 25
- Today I discovered a game called PowerManga. Oh dear.
- May 24
- More code cleanups. Ew. I wrote this?
- May 23
- Established in the course of code
cleanups:
- g_strstrip works in-place, and will
remove a trailing \r or
\r\n
- g_strconcat cannot be used to do
the equivalent of $foo = $foo . "x", as you'll
need to free the original foo before it gets
overwritten.
Using this newfound knowledge I cleaned up some code in librvp. I
am attempting to get rid of both fixmes and duplicate code at the
moment, but I'm aware that there are still a few odd bugs
floating around that I need to address. There is also the matter
of a quasi-RFC-(2)822-compliant header parser that is now lurking
in the code which we shall not speak of.
Happy Birthday, Patrick!
- May 22
- Bleh. Where did I acquire this throat infection from?
- May 21
- Four Rooms didn't really have any
redeeming features at all. Don't bother with it. Even the
Rodriguez/Banderas segment is painful, and that's the one I was
holding out most hope for.
I think I watched half of Flatliners years ago, but it was on
TV the other night so I taped it and watched it this
afternoon. Not bad, but the ending was a bit sappy.
- May 20
- I think I would like a flag for my kernel image to say, "I
know there's a battery present, keep whacking ACPI with a stick
until it responds" because it's frankly irritating me that
every second or third boot I get no battery reading.
Tweaked the mp3-renaming script (remember that?) to pay some
attention to discid files, and also to be a little cleverer about
guessing titles from filenames, and also to capitalise all the
words in the artist/track/title (because that's how I like
it).
- May 19
- Ok, ok, so Prime is a total chick-flick, almost
completely predictable, but what the hell, I enjoyed it. The only
bit that didn't fly is Uma Thurman's last bit of dialogue, which
is about as smooth as the Wachowski Brothers doing a romantic
scene.
Picture as promised: 323k
of grainy phonecam, about which two people have said,
"you look good behind a bar". I'm not quite sure what to
make of that. This is a better version of the photo that's on my
Flickr account,
where you will also find a shot of the pint I poured.
- May 18
- Went out for ONE beer with the guys from work, ended up
unveiling Guinness' new beer in the pub we were in. No, I'm not
kidding. Pictures to follow.
- May 17
- Did some more minor patching on librvp. I
need to finish up v1.0 of this, I guess.
- May 16
- The United States of
Leland is an odd sort of movie in the space between Igby Goes Down and Donnie Darko; the weird thing is,
I was kinda disappointed when it became obvious that it was
working toward a conclusion, instead of remaining entirely as
passively opaque as it was at the outset. Still, worth a
look.
- May 15
- Firefox 1.5.0.2 (yeah, yeah. like it's going to stop doing this
if I go to .3 - maybe
it does, but it's not obvious from the bug fixed) is
seriously bugging the hell out of me. Every time I think, hey,
I'll watch this YouTube video everyone's linking to, it's a
gamble. Have I bookmarked all the tabs I currently have open?
Because if I haven't, you just know Firefox is going to
fall over. I don't get it. Flash is, what, 10 years old (I have a
copy of Future Splash knocking around in the giant bin of unused
software somewhere) and yet it's still not possible to get a
stable, reliable Linux player for it.
- May 14
- Happy Birthday, dad!
Well, that was annoying. Some time ago, SourceForge moved all the
projects from $projectname.cvs.sourceforge.net to
cvs.sourceforge.net. Now they've gone and moved it all
back again. GRR.
- May 13
- Added one of the missing channels to my tv listings toy - NTL
have been futzing with their offerings and not all the channels
are listed on the site I've been scraping listings
from. Surprisingly easy to code, but I really need to clean up the
display end of things.
Spent a little too much time writing a shim for the old v1 shout
player to maintain an open connection to the server while the
shout process comes and goes, with the intention of using this to
cobble together a shout-based Gronk installation. Turns out
I don't need to do that, because icecast is pretty good about
cutting over from one source to the next without dropping the
stream. So, I have streaming music around my house once more (by
which I mean "in two rooms"), but I'm also back in the
land of Where The Hell Is My Metadata, which I'm not entirely
concerned about at this point.
- May 12
- Interesting day at work which, of course, I can't tell you
about. Neener.
- May 11
- The Mighty Celt runs in a
similar sort of space to The Boxer, although the paramilitary
angle is a lot more subtle. It's kinda odd seeing Gillian Anderson
as a working-class Belfast single parent, too, but she carries it
off well. Caution to non-Irish intending to watch this: I had
trouble following some of the dialogue, and the DVD's such a cheap
job (no scene selection!) that it doesn't have
subtitles.
- May 10
- Met up with an old friend for a few beers.
- May 9
- I've been a bit slack with the Network Walkman code; I should
have enough information at this point to expand my library to
include the later versions of the scrambling, and indeed I've
rebuilt the framework and ported the MPLE code across to
it, but I've not yet actually sat down and coded up the
accumulated wisdom on my harddrive. I did, however, just now port
the file loader to the new library and it was far too easy to
do. That's what I get for sticking to my original clean API, I
guess.
- May 8
- Hrm. My RVP server still isn't quite happy since I moved it to
the older version of MySQL. I should probably move it back, since
I have at my disposal a MySQL 5 instance.
- May 7
- Coneheads was light and untaxing. No
surprises, a few giggles. Seems like it's the sort of stuff Dan
Akroyd can do (and did) in his sleep.
Had one of my infrequent lapses of memory where I think,
"maybe I could write a useful piece of Java for my
phone". Nope. Why, pray tell, when there isn't a standard
list of the system properties for any given phone, does the API
not include the System.getProperties() call? And how does
anyone manage to code anything useful in this
mess?
- May 6
- About the only thing in Bend It Like Beckham that
didn't quite work for me was the Jess/Joe romance - everything
else was certainly predictable and in no way deviated from the
expected course, but was well-executed and highly
enjoyable.
Hmm. My fileserver seems to be somewhat unwell. Slow and
unresponsive. Of course, it's a 32MB PII so this is generally
normal behaviour. It's responding very strangely, though -
fileservices are still working, but the machine's apparently too
busy to let me log in either via the network or the
console. Magic SysRq suggests I've got a bunch of D-state
smbd processes, which I'm guessing coupled with a large
amount of swap means that the machine's going to be out to lunch
for quite a while before the out-of-memory killer kicks in to
clean up. The only thing it's really affecting is Windows logins,
which I don't exactly make a lot of, so I'm happy enough to let it
sort itself out.
And today in "Bits Of Hardware Waider Has Mislaid", we
encounter Waider searching high and low for his second 802.11
wireless NIC which seems to have gone AWOL.
Fired up Rhythmbox (well, ok, asked gnome-open to play an audio
file, and Rhythmbox is what I got) which looks nice enough, but
once I fed it my entire audio library and clicked around for a
bit, it vanished from the screen with nary a hint of a
stacktrace. Just *foomp* gone. This stuff is really impressive,
guys. I'm not even trying to break it.
MIA fileserver returned with no hint of what it had been up
to. Now faced with the FC5 box's inability to locate the domain
master, thus breaking winbind. Does anything on this
installation work right?
Wow. Pilot syncing worked first time with no
hitches. Cool.
- May 5
- More FC5 fun. Fire up movie player. Feed it any movies I have to
hand. For most of them, I get an error window saying I might need
to install a plugin, but there's no indication where I'd get one
or how I'd install it in the Help. Eventually, it
crashed. Terrific.
Beat my RVP server into submission so it now works with MySQL
3.whatever. Less fun than I'd intended, complicated by my not
fully understanding what Perl does with 0E0.
- May 4
- Things were busy at work today. And so, the pub. Besides,
shouldn't you be validating my new software release?
- May 3
- Whee! librvp 0.9
released, now with file transfers!
Some random notes on writing this plugin, since I've almost got a
1.0 release:- I keep looking at bits of Gaim's internal code
(i.e. that which I cannot access from my plugin) and thinking they
should have been made accessible via utility functions. Examples
include the non-blocking DNS stuff (I would like to do
non-blocking lookups for things other than A records), handing off
a URL to the OS (I would rather not replicated the attempt to
locate a working, configured mail client) and URL fetching (I have
replicated and augumented this to deal with
authorisation, redirects, and who knows what else).
- The
lack of documentation is terribly frustating, leading me to trace
through Gaim's source, inspect other plugins, or just try random
stuff in order to figure out how things are supposed to
work. This applies doubly to Glib/GTK+.
- The API has some
terrible holes in it; for instance,
there's no way for me to do an asynchronous shutdown without
putting my own event loop in place. Even some sort of
yield() would be useful.
- Parts of the Gaim
internals seem intentionally designed to thwart my best efforts;
for example, by the time your plugin's shutdown code is called,
the account/connection link has been severed; Server Aliases are
explicitly not used, even if set, if a buddy isn't on your buddy
list; IM's are IM's and multi-user conversations are multi-user
conversations, and never the twain shall meet; and so
on.
To be fair, though, it's a hell of a nifty
application, and the fact that I've turned out a useful clone of
Microsoft Messenger in only a few months is evidence of
this - even taking into account that I started out from someone
else's codebase!
For an encore, moved my RVP
server to another machine where it promptly broke, due to a
combination of a different mysql version and (I presume) a
different Apache version. Whoops.
- May 2
- Welcome to Fedora Core 5. Please download 169 updated
packages. (seriously)
I've got it doing winbind auth after a few false starts: it needs
an explicit password server specified, and doesn't have a
control-panel means of enabling use default domain so you
end up having to log in as DOMAIN\\user. Oh, and it doesn't appear
to switch on pam_mkdir or equivalent so your winbind
accounts don't have home directories. Still, close enough to get
started, I guess.
Oh, there is one very annoying thing with the winbind config. When
a user is presented with a username/password dialog, the default
behaviour when hitting the enter key especially if
they've just typed in the password field should be to submit the
dialog. At the very least, there should be some feedback other
than, well, nothing.
Cowboys and Angels is
Irish cinema at its best. Well, assuming that a movie set in
Limerick starring mostly unknown Irish actors and directed by an
Irishman makes it Irish cinema, anyway. It's part coming-of-age,
part cautionary tale, part comedy, and ALL worth watching. Can't
say I've ever seen Limerick looking quite so much like an actual
city...
- May 1
- As noted in last night's RSS feed, I discovered breakage in my
RSS/site update scripts which necessitated a placeholder
entry. Now fixed, badly, and once more I find myself cursing Perl
for not having a standard month array or hash. And the one I tried
to use out of some random module is apparently inaccessible to me
from outside the module. Grr.
previous month | current month | next month