< | >

Hacker's Diary

A rough account of what I did with Emacs recently.

August 31
I still haven't beaten Gnomine on the large-size game. Even the small game can be tricky!

August 30
Recovering from a few beers. Unwhee!

Happy Birthday Lou!

August 29
Out for a few beers. Whee!

Gnomine (Gnome version of the Windows Minesweeper game) is actually rather hard. I played a game today where I was twice faced with a square labelled "6" which I don't think I've ever seen in Windows.

August 28
Still some minor weirdness with the feeds, but things mostly seem to have settled down now. I may have to go back and figure out exactly what's going on rather than waiting for inspiration to strike.

One of the things I removed was all the encoding cruft I'd accumulated previously; I'm not convinced that's right - I'm seeing the sort of garbage you get when someone claims their feed is UTF8 but it is, in fact, ISO-8859-1, or worse still, CP-1252. I have a strong suspicion that Feedburner is a major culprit here, too.

[My mom tells me that a lot of what I write here is greek to her, but she frequently enjoys my other output at LiveJournal. In the interests of clarifying what I'm on about, I present the following Guide For Mom: So, that should go some way towards explaining what I'm at right now!]

August 27
Hmm, so much for fixed RSS - it all went slightly insane this morning. Not sure if it's a result of my hacking or just down to the fact that I ran a janitorial script which may have been a little overexuberant about what it was cleaning up, but there's definitely some sort of problem with datestamping things. There's a problem with this in general: I'd like to keep track of, say, an evolving news story by having it pop up if the original article changes, which means ignoring the posting date as that may not have been updated at the same time; on the other hand, this also means that trivially changing content (e.g. feeds with embedded advertising) may get treated as updated. Plus, when I do a cleanup like the one I did yesterday, everything appears as if it was posted as soon as the RSS toy notices it, rather than being backdated to whatever point in the past it was actually posted.

None of this would be a problem if there was such a thing as a proper RSS feed, of course.

Esat BT once again delight me with their comprehensive customer tracking systems, sending a mailshot to my parents' address which I last used for any Internet-related activities in about 1999 or 2000. I've emailed their customer abuse department, but I have no doubt this will go the way of previous attempts to undo whatever mess my accounting information is in, and will be duly ignored. Or perhaps further screwed up.

August 26
Doing a script cleanup - checking stuff into CVS and that, to try and keep track of what I've broken lately. Various things may appear updated in the workshop. Curiously, a bunch of my scripts seem to have incorrect permissions. No idea what that's about.

I did some more work on my local buildfarm (wherein I pack CPAN modules into RPMs, along with building RPMs from various other sources) so that in theory I can now just dump files into a SRPMS directory and have it rebuild them automatically. It'd be nice if SRPM provided for a build-hints tag, where you could specify if a package is intended for a particular target, or needs to be passed a particular set of defines; last time I read the RPM manual, I could tell it what architectures not to build on, which isn't quite the same thing.

Hmm. I think my Palm may be seriously ill. Lately it's been increasingly harder to turn it on; just now I decided to reset it because it was reacting to the hard keys as if I was pressing each one twice. The Palm reacted to this by getting as far as the "Palm Powered" splash screen, and staying there. I suspect a jammed/shorting key.

Aha, and sure enough, the contrast key was jammed. Now unjammed, and Mr. Vx is behaving once more.

August 25
Found one of the bugs in the RSS toy that I've been trying to track down, and it looks maybe like it's a bug in XML::RSS - if you build a feed, then use as_string to turn it into a string, then try to reparse it, it's, er, not guaranteed to work. This kinda flies smack in the face of "be generous in what you accept and strict in what you produce", but doesn't exactly surprise me. For now, it means my Atom-converted-to-RSS-1.0 feeds are back in working order, which means I am once more getting a proper feed from William Gibson's blog.

Wound up smearing UTF-8 headers all over the place, after some futile attempts to get encoding and entities to cooperate with me. I still don't understand quite why the latter doesn't work; it should be fairly trivial for me to convert the UTF8 sequence 0xE2 0x80 0x99 into the HTML entity &rsquo;, but somehow every way I've tried it so far breaks (well, except for a trivial test program which proves exactly nothing).

Still have a problem with XML::RSS not being able to parse its own output. Gah.

Right, seems to be mostly sorted at this point. There's a minor issue with non-UTF8 feeds that's not terribly important, but other than that I'm now getting the RSS more-or-less the way I want it.

Playing with movie stuff again, and abusing Perl's AUTOLOAD function; it's not perfect, but it is pretty funny.

August 24
Early start courtesy of work stuff.

August 23
Poking at someone else's CMS for amusement value.

August 22
Hmm, RSS toy is still doing weird things with entities. I really, really need to fix that. I did, however, have it log to file instead of mailing me every half-hour to tell me it's not happy with the RSS feeds it's scanning.

August 21
Grey's Anatomy is sort of a more serious Scrubs or a less serious ER. Not sure I like it enough to actually follow it, but it's certainly good enough to sit in front of for a while.

August 20
Race times for Saturday are up, but since I had a stopwatch with me this time it's just confirming what I already knew.

There's a point in Deja Vu where it goes from a sort of dubious-but-plausible version of Enemy Of The State to an entirely dubious version of Paycheck, but since it's a Bruckheimer "Stuff Explodes" movie, it really doesn't matter. Once you get past the handwavy science bit, it's actually quite a good, well-paced thriller, and worth watching. Although I didn't quite buy Washington's cheery character; his frequent laughing at trivialities at the start made him seem like a live-action version of Dr. Hibbert from The Simpsons. Thankfully he was his more usual serious self for the bulk of the movie.

Oh yeah. And when did Val Kilmer get so fat?

August 19
Installed MidpSSH on my phone. Failed to connect to anything. I suspect a firewall. Actually, MIDP ping/traceroute would be neat. I should seek them out.

Watched Babel. I think it was missing something, possibly the tying up of a few loose ends, and the Japanese end of the story didn't feel quite as integrated into the plot as the rest of the bits. Plus, it's all a bit grim.

Saw about half of As Good As It Gets on TV afterwards; this is basically Jack Nicholson playing Jack Nicholson with OCD, plus supporting cast. The dialogue is wonderfully vicious in places, and it's got the type of schmaltzy romance that really floors me thrown in for good measure. Definitely worth making time for.

August 18
Went to Phoenix Park. Ran 10 miles. Tired now.

August 17
And, uh, more stuff. Mostly relaxing in advance of tomorrow's planned exertions.

August 16
Uh, stuff. I'm training for a long run on Saturday, by which I mean I'm saving my energy by not doing anything strenuous.

August 15
Haven't yet deployed updated RSS code, so I'm still being annoyed by broken feeds and messages. Bah.

August 14
Doing some more RSS cleanup: nuking feeds that are dead or no longer interesting, and figuring out "more parsing, less work" for the remainder. Funny thing; I put a goto into the script and I wasn't attacked by rapt—AAARGH!

August 13
Blood Diamond isn't bad, but still has a bit too much of the Hollywood polish on it to make it meaningful - much like, say, Lord of War. Bits of it reminded me of Tears of The Sun, but then I guess there's only so many ways to portray small groups of armed troops running through the African jungle... still, worth a look.

The big spam appears to have been a massive pump-and-dump scam, which for some reason happily jumped past the spam filtes - probably by simply overwhelming them. Actually matching the spam in question is fairly trivial and I've currently got a script cleaning up the mess. One thing this has highlighted for me is that having backup MX records is more trouble than it's worth, since it allows things to skip past my rather aggressive spam filtering (otherwise I end up sending bounces to my secondary MX hosts instead of to the originator) so I've ditched those.

August 12
One of my ex-coworkers has set up a web design company called MyIT. Go check 'em out.

Final spam bounces tally looks to be over 14,000 mails, on top of which I discovered that the script I use to clean up this sort of mess (essentially it checks bounce messages to see if they were caused by junk mail) gets really choked at around 1000 messages, and pretty much slows to a snail's pace at about 6000...

Aaaand we were soundly beaten by Limerick. Really, the Waterford team seemed to get everything wrong: something like 16 wides, gave away a penalty (which resulted in a goal), looked to come away without the ball in almost every scuffle for possession, and ultimately lost the game. Disappointing.

August 11
It appears that someone's sending spam using various addresses at my domain as an origin. There's usually a constant low level of this going on, but right now I'm looking at over 12,000 bounced mails in 24 hours. That's annoying, that is.

I've been playing with the libnw code again, and it's broken right now. Sorry, in case anyone was trying to use it...

August 10
Playing around with mileage calculations again. Since I bought my current car (back in 2001) the price to fill the tank has almost doubled.

August 9
Further attempts to get Pidgin to play fair with my ideas. Bah.

August 8
Added a distro indicator to cpan-to-rpm.pl, and started rebuilding Perl modules to include it.

The Mail::Folder stupidity was, of course, my mistake: it wasn't updating any of the messages, I'd just changed the way I was writing the messages elsewhere, so they already included the modifications I was trying to make... what I was missing, of course, was a call to sync() to flush the changes I was making to the folder.

I've pretty much given up on ever making the RVP logout process work correctly, as Pidgin doesn't cater for an asynchronous logout process - basically it calls your plugin's logout function and when that function returns, it expects your plugin to be done. This isn't particularly useful for a protocol where you have to unsubscribe from the server when you're logging out. To date my attempts to get around this have made the plugin dependant on GTK and susceptible to random crashes. So, I'm switching it to a blocking connection for this phase only, and doing a fast shutdown in which I only unsubscribe my own userid and leave the server to clean up the various buddy subscriptions in my wake. Messy, but it should be more stable, at the cost of potentially locking up the UI if the blocking connection, well, blocks.

Of course, once again this is made difficult by the Pidgin API, which has all the useful functions locked away in inaccessible private libraries.

August 7
It's still upgrading...

Also, decided since I have a "spare" FC6 machine lying around, I'd do a live upgrade of that to FC7. I'm not very impressed with Red Hat's Sun-style "Let's change the OS name arbitrarily" and their moving the download location at the same time (thus breaking a whole bunch of mirrors, among other things).

Trying to untangle stuff I've built myself for FC5. I really need to modify my makerpm.pl script to tag builds with the release, like everyone else seems to be doing.

Having a "duurrrrr?" moment with Mail::Folder, which isn't exactly the most brilliant piece of code in the first place: for some reason, it happily locates the messages I want to modify, but doesn't start actually modifying anything until it's 20 or so messages in. What the hell?

August 6
Because there's just not enough instability around here:
[root@klortho ~]# rpm -Uvh /net/blimp/export/share/FC6/i386/os/Fedora/RPMS/fedora-release-*
Let's see how a live update to FC6 goes, eh?

Apparently the presence of XFCE on my system blocked it. Uninstall, retry.

Further dependency problems with Bluetooth, probably due to an "aftermarket" Perl module I installed.

August 5
And the senior hurling quarter-final replay result: Waterford won, Cork didn't. Booyah! We've had to play Cork three times for this, and our next game is our second against Limerick. Fingers crossed and all that.

Fiddling with RSS feeds. It occurs to me that it's a bit silly to be doing intermediate feeds for my RSS toy when I can just toss stuff straight into its database....

August 4
Dad arrived in from Croatia (as you do).

Poseidon was your fairly average summer blockbuster. Tons of CGI, just-in-time escapes, selfish guy comes good, etc. etc. Still, it wasn't actually terrible or anything.

August 3
Night on the town. Many beers!

August 2
All I'm sayin' is "congratulations!"

August 1
651 waider    18   0 1551m 814m 2512 S    0 40.4   9:35.58 evolution-exchange
(accompanied by a 1.3GB/0.5GB evolution-data process...) I really have no comment here.

Ghost Rider: so-so. Not the unmitigated disaster I'd been led to believe it was, but not exactly a-list material, either.

previous month | current month | next month

Wettest June/July in 170 years. Yippee.