Hacker's Diary

A rough account of what I did with Emacs recently.

March 31
What? It's not compiling? Right, I'm off to the pub.

March 30
Hmm. I guess don't have to worry about POLL support in librvp.

Once more I find myself arguing with autoconf, this time over checking versions with pkg-config. Why oh why is this not a standard part of pkg.m4?

March 29
Started on the reworked version of the MPLE library code, which will include (hopefully) access functions for the devices I don't currently deal with. also need to update the docs, I guess.

The Center Of The World had a bit of a "buzz" website when it was launched. The movie's actually got an interesting hook, but I can't decide if I actually liked it or not. It's not exactly an uplifting movie or anything, and the use of DV-cams only adds to the low-rent feel, but I think the fact that I stopped the movie to go make a cuppa half-way through means it wasn't exactly holding my attention. Oh well. Scratch another one off the watchlist.

March 28
Cleaning up bugs, bugs, bugs. I broke the NTLM portion of the mod_ntlm_winbind code when fixing the plaintext auth. D'oh. Also found some bugs in a perl/web toy I have here that seem to originate from FC3's mod_perl version being discreetly updated while I wasn't looking.

March 27
Magically, dialup-over-USB is working, despite it previously having completely failed to work. All I did was to add debug to the flags. Of course, it's not perfect: I didn't configure it correctly to grab the DNS address off the PPP server, and for reasons which I can vaguely recall debugging before, the connection dialog box never closes, but these are minor things. At least I can now fetch the bluetooth HOWTO pages and figure out how to get that working.

For the record, I've hit 76k down over a 3G cellphone connection, while the best landline connection my parents get from the same location is about 41k or so.

March 26
More plaintext cleanup, also spent some time fruitlessly trying to get dialup-over-bluetooth working.

The Long Riders was an entertaining movie about the James/Younger gang, featuring two Keaches and four Carradines. Nothing brilliant, just good enough to keep me interested.


March 25
Off down the country for Mom's birthday and Mother's Day. Happy birthday mom!

Did some cleanup on the plaintext-auth code which I'd told Andrew I'd submit this morning and which it looks like he'll get, hmm, Monday or Tuesday. I need to verify my changes against Apache 1, which is on a box 150 miles away right now.

March 24
Woo, more bugs to look at. I'd better write some code soon.

So of course I looked at mod_ntlm_winbind and at Andrew's prompting added plaintext authorisation. This will turn up in the Samba tree real soon now, I'm sure.

And in the interests of fairness: Vodafone actually called me back to say my logging-onto-the-site problem is fixed. Wow.

March 23
Madagascar was nowhere near as good as I'd expected. It's really not a patch on any of the modern animated movies; it'd probably have been a bit impressive a decade ago, but it really doesn't compare to the likes of Shrek or The Incredibles. Aside from the dated look, the script wasn't exactly ripping, either.

March 22
Not doing much at the moment. I have a few bug reports from librvp to attend to, but I'll probably not get around to them before the weekend; I need to do one more bit of cleanup on the mod_ntlm_winbind stuff; and I need to go back and revisit my MPLE code, as someone's kindly figured out some of the missing details of the NW-HD5 directory format.

March 21
Why does Mailman provide a moderator button labelled "discard all items marked "defer"" when it doesn't bloody work? I mean, seriously. How hard is this stuff?

March 20
In the usual fit of customer abuse, my login to the VodaFone website broke some weeks back. About two weeks ago I eventually decided that I'd ask someone about it, and logged a support call. The following day I had a call confirming the problem ("please give us your password so we can try it too") and then got a text message to confirm that it had been escalated to the relevant department. Late last week I called to find out what the story was, and got a fairly canned "we'll tell you when it's fixed" response. Today I got a text message and an email (which I know from previous experience I cannot get out of) to tell me that my latest bill is online; I tried to log in and this time got a timeout, different from previous messages. So this evening I tried again and I can once more log in, meaning my phone-to-flickr hookup is back and running (more or less). So now you can all look at the computer I fixed last month...

March 19
I rather enjoyed V for Vendetta; I reread the graphic novel this week, and the movie sticks quite close to it. A few characters are dropped along the way, the Leader is a far stronger character, and the denoument changes location slightly, but these are minor changes in light of what stayed in. I particularly liked the irony in John Hurt essentially playing the opposite side to his role in 1984 (which I see is being remade), and I thought Stephen Rea was a perfect choice to play Finch. Even Hugo Weaving pulled off an admirable performance given the fact that his facial impressions were somewhat obscured, and only once did I think of Agent Smith...


March 18
Did a bunch of rejigging on the RSS toy, mainly in an attempt to reduce the abuse it gives my server. Now it only fetches article detail on demand, instead of handing out all the articles in hidden DIVs.

Cleaned up the remaining mess in the NTLM auth module stuff and sent it back to Andrew to see if it's any more pleasing. It's still got too many #ifdefs, but the thing is that the basic code flow is identical in apache1 and apache2, and it's only because the API's been mucked about so much that I need to put in all that crap.

March 17
Flipped a bunch of code from Storable to MySQL since I'm using a MySQL database for other stuff anyway.

Finally caught up on some taped TV: Poodle Springs is more classic Chandler-based hard-boiled LA Detective stuff, and James Caan makes a good aged Marlowe. The plot's a little complicated and that makes the movie a bit more drawn out than I was entirely happy with, but on the whole it's worth a look. It's got some sly references to the year of its setting, too - including the dialogue, "You call the President "Jack"?" "Well, it's his name", and a glimpse of a newspaper headline at the end of the movie which reads, "President Kennedy in Dallas today".

March 16
Attempting to merge the debugged Apache 1.x code into the no-doubt-buggy Apache 2.x code. At least I've got a known-good starting point from which I can redo all the changes.

March 15
Installed foxylicious again. Firefox hung on restart. Removed it, removed all its config, reinstalled it. Firefox worked. Configured foxylicious, restarted Firefox again. Firefox hung. GAH.

I have a SEGV bug in my Apache hackery, and I am having some difficulty in tracking it down; I can't get Apache to dump core (despite use of the CoreDumpDirectory config option and ulimit -c unlimited), and I can't get it to run usefully under gdb (possibly on account of the host having only 32MB of RAM).

Mr. & Mrs. Smith was way too long and unfocussed, especially for a brain candy movie. I'd have much preferred if the entirety of the movie was them gunning for each other, like a hitmanperson version of War of the Roses; instead it changes halfway through to something else, and there are hints of Grosse Pointe Blank (except without any of the actual goodness of that) and oh look, Vince Vaughn in another annoying role. Just when I'd thought maybe I was being harsh on the guy. Oh well.

So here's the Apache problem: I have a structure, containing three pointers - two chars and a pool. If I add an integer to this structure at any position, I get a SEGV. This just screams "memory error" at me, but I can't run it under valgrind on account of the aforementioned wimpy server.

Oh wait. I think I've found it. And it's not my bug, either. Basically, don't do struct foo {...} *foo = malloc( sizeof( foo ));. Not even as a joke.

March 14
How come it's always just after I release code that I find the really silly bugs? The RVP port-inheritance-from-Gaim won't work right now because I got an a > b check the wrong way around. D'oh.

March 13
So as previously mentioned (possibly) I hacked up mod_ntlm_winbind to work with Apache 2 some time last month. However, it was rather shaky so I put it to one side while concentrating on the librvp stuff. I've been revisiting it and I've found what appears to be a rather odd bug in the original code: somehow, the check_user_id block is getting called no less than three times for a single authenticated connection. This would be fine except that after the first time the code assumes that you're trying to reauthenticate, which causes various amounts of hell to break loose. I guess what I need is some sort of per-request "we've been here" switch, or maybe once the user's authed I should delete the Authenticate header from the request. Both seem like kludges, though.

AAAAAH. I understand. Internal redirect triggers a new auth. Well, then.

March 12
Cleaning up the ACL code now that it works, plus a few other loose ends. I'm still unhappy with chunks of the code, but I'm gradually making it more to my liking. So, here's a release: librvp 0.7.

Hollywood Homicide is, well, wrong. I'm not sure where it's wrong, but I think it might be that it's not quite a comedy, and it's not quite a buddy-cop action movie, and in trying to be both it's definitely not a Lethal Weapon which is maybe one of the few movies that managed to mix those two genres. From the extras it seems like the script was pieced together on the fly, and that's certainly the impression I got from the film - it's all over the place and there are several loose ends left at the end (particularly Macko - was he a bad cop or not? He seems to be arrested, but the actor who played the role seemed to be saying no, he's not bad, just overzealously gunning for Harrison Ford's character. Oh well.)


March 11
Further adventures in ACLs. I'm running into repeated problems both with how MSN plays with ACLs and how Gaim plays with permit/deny. In the latter case, it's another instance of storing a list of plain strings instead of pointers to buddy structures, plus there's no API way to say, "add this to the list if it's not already there". MSN has its own notion about what the default ACLs mean, and various other interesting interpretations of what it means to block or unblock users.

No, I am mistaken. There is indeed code in there to deduplicate the permit/deny lists; this doesn't explain how I'm seeing the same username in there six times in a row, however.

Eventually I found it was some dubious pointer fiddling, and now it works. Yay!

And finally I get the damn code working, several hours later than intended. Admittedly I was interrupted by a rugby match or two, but handwave. I now have a pretty good match for the offical client's block/unblock functionality despite Gaim's contrary UI. I will put "provide custom UI" on the round tuit list.

March 10
Spent much of this evening playing with RVP ACLs. My server code can now parse pretty much anything the MSN client throws at it, so that's good; I've not actually done anything with the ACLs thus acquired, as I'm still figuring out how they stack up on top of the default ACL.

To wind down, I threw together some code to import buddies from the old version of the plugin, and ran into a problem I ran into before: adding buddies when Gaim doesn't expect you to. I probably should be calling a serv_ function or something.

March 9
I seem to have lost today. Possibly I stayed up so late coding that it ran into the 10th.

March 8
Mostly continuing last night's post-Gaim-2 lethargy, i.e. if you're looking for new code you won't find it here.

March 7
Something that bugged me while tooling around with NTLM auth last month is that the net command wasn't working right for me - specifically, I wanted to do net -P user info someuser and have it use the machine account and password to pull userinfo off the PDC. Turns out that the -P code assumes you're in an ADS environment, so I've submitted a patch to the Samba guys to have it check and behave appropriately. Yay!

Well, that's kinda neat: I got enough of Gaim 2 compatibility patched into librvp that it starts up, logs in, and can receive messages. It's not sending, and I know for a fact that a few things are broken, but hey. Less painful than I expected. Might actually have some quantity of working Gaim 2 capability in the next release!

March 6
Well, that's annoying. I finally get around to checking out the bits I attempted to digitise off vinyl, and they're all covered in static. And it's not scratchy-record static, it's electrical interference static. Whine. Now I have to redo them, and figure out how to avoid the static this time.

Perplexed as to why RVP server isn't handing out correct status. Switch on database debugging. Retest. Server hands out correct status. GAH.

March 5
Abandoned the evolution-1.4.5 idea since it'd require too much fiddling around with various things to get it to work. For now, anyway.

I didn't think much of Bad Santa; sure, it had its funny moments, but I've no idea what sort of point it was trying to make, really. Also, the unexpected violence towards the end was, well, unexpected. Sort of jarring by comparison to the rest of the movie; Santa's bad, but just in a foul-mouthed drunk thief way, not anything homicidal.

And now, librvp version 0.6. I've still not hit any of the big targets (Gaim 2.0 support, ACLs, or file transfer) but I've been using input from my userbase to fix a bunch of minor things and restructure a bunch of other stuff. And, in the process, I've probably created a raft of new bugs. Oh well. Download, test, and file bugs at will. Probably the single biggest fix in this is for a bug in session-id generation that was causing issues with multi-user chats issuing random invites. This should be somewhat fixed, if not completely eradicated. Oh, plus for reasons to do with me having broken my NTLM testbed, this hasn't been properly tested against a sufficiently realistic RVP server, so there may well be a 0.6a release tomorrow when I find out I've somehow broken that...


March 4
I've been hooked on Raymond Chandler stories recently, and Farewell My Lovely is a pretty decent rendition of the book by the same name. A few things cut out for the sake of making it movie-length, but worth seeing - it's hard to imagine anyone fitting the role of Moose Molloy quite like John Ireland, and Robert Mitchum makes a good Marlowe.

I guess I'd have to know more about Andy Kaufmann to properly appreciate Man on the Moon; without context, it was an okay movie, but nothing I'd miss dinner over.

March 3
Made a brief attempt to get the RHEL3 evolution source RPM to build on FC4, for nefarious reasons that I'm not expanding on. It failed to find gtkhtml3 which is quite plainly installed on my system, so further abuse is required.

March 2
I have a vague idea what's breaking the RVP stuff, but it's rather tricky to catch and I'm having no luck getting valgrind to help. Grr. Also found a bug in the server which I appear to have fixed; I think I may release this shortly.

March 1
Found a different stupid memory bug to the one I was looking for, since the one I was looking for is still hiding.

Charlie and the Chocolate Factory was ultimately a disappointment. Yes, Johnny Depp is perfect for the role, but the movie gave him too little to work with. It's more-or-less accepted wisdom that Willy Wonka is a cipher for Tim Burton, hence the random departure from Dahl's story about a kid in a chocolate factory into Burton's story about an adult with repressed childhood memories. There were some funny bits, and I loved the squirrels, but mostly it just completely failed to gel.

Oh, and is it just me, or did Helena Bonham-Carter look like a female Johnny Depp in this movie?

previous month | current month | next month


Waider | Beware the Ideas of March