Hacker's Diary

A rough account of what I did with Emacs recently.

April 30
Fiddling with RSS toy to make it more iPhone friendly based on some reading I'm doing - mainly through adding some CSS styling. I do need to get back to my project to convert it to Java, however.

Cycling incident this morning, thankfully not directly involving me: cyclist overtakes me, continues on ahead of me in the middle of the taxi lane I'm occupying the left side of. I hear honking behind me, then a taxi passes. Cyclist ahead of me pulls in, then as the taxi draws level, he spits at the taxi (stupid, really). Taxi swerves at him and forces him onto the pavement. Pavement, at this point, is separated from road by a wall; fortunately for the cyclist there's a gap he can go through. Cyclist continues on the pavement; I accelerate to note the taxi's license plate. As the wall comes to an end and the cyclist on the pavement approaches that point, taxi swerves in again, mounts the pavement, and cuts into a side street in front of the cyclist. Cyclist dismounts. Taxi stops some way down the side street; driver gets out to hurl abuse at both errant cyclist and me, then gets back in his taxi and drives off. Errant cyclist declines my offer to support a report to the police. I go and report it to the police anyway. Police response: can't do anything much unless either the cyclist involved or the taxi driver make a complaint; at best they can contact the taxi driver and, "talk to him about his attitude". Taxi drivers, I am told, "have a bad attitude".

So, if a taxi driver attempts to maim or kill you with his taxi in response to something stupid you did, please do report it - I'm not joking about this. That cyclist this morning, stupid and all as he was in his actions, did not deserve a risk of serious injury; hurling a few hundred kilos of metal at someone on a bike is not a proportionate response to any action on the part of the cyclist short of life-threatening activity. And since he chose not to report it, the taxi driver gets to do this again the next time he feels annoyed at one of us.

The other thing I'll say about this is that I can understand to some extent the police point of view: there's a lot happening in the city centre, and following up on a near miss with no injuries reported by a third party isn't necessarily the best use of resources. I may follow up with the carriage office instead once I can verify that I got the taxi's license number correctly, because I stupidly, stupidly did not think to detach my phone from my belt and snap a picture of the offending vehicle. So that's lesson two: if you're carrying a camera, use it. Don't rely on memory.

April 29
Super 8 was all manner of fun. Predictable, sure, but all manner of fun. The train wreck set-piece was pretty awesome, too, although it kinda went on to the point where I'd have been checking my watch if I wore one.


April 28
Went to see The Subways at The Academy on account of tickets I won back in January. Support #1, Neon Wolf: totally rocked. Support #2, whose name I didn't get and don't really want: miserable both in demeanour and quality. Main act: dull. Sounded like they were phoning it in, or perhaps miming to a recording. Left after two songs.

April 27
I vaguely recall Cars 2 getting some bad reviews, but I don't really know why - herself will attest to the fact that I was giggling happily for most of the movie. It's silly and predictable and a whole lot of fun.

April 23
After a little more than four years (and a cycle count of 187, whatever that actually means in the context of almost always-on-mains-power), my MacBook's battery is enquiring politely if I'd consider replacing it. Unlike the Compaq that preceeded it, it doesn't appear to have come to a screeching halt in terms of holding a charge (and I'm pretty sure I went through at least two Compaq batteries in a similar timeframe).


April 20
X-Men: First Class is not as bad as I had expected or was led to believe. It does take a bit of time to get going, as everyone needs to be introduced; the whole token black guy thing is painful, as is the "mutant = gay" allegory given by Beast's introduction as a mutant; but those aside, it's a fun enough brain-candy extravaganza.


April 13
Converted airprint-republish.pl to Python. Needs some exception handling, but mainly it actually seems to work, and works as I'd intended to modify the Perl one: a thread listening for mDNS printer broadcasts which generates AirPrint versions and republishes them in separate threads using dns-sd (because dns-sd -R never exits, or rather when it does it takes its advertised record with it).

April 12
Irony: cleaning out stuff from my Instapaper backlog, I found an article on the Python os module, which, the article header tells us, provides "Portable access to operating system specific features.". A little further down the page, you'll find this note:
Note Some of the example code below will only work on Unix-like operating systems.


And off goes Finance::Bank::IE 0.26 to the PAUSE server. I think the next task with this code will be a massive refactoring of some sort.

April 11
If today is your birthday, you share a birthday with ... ME.

After much digging around with unhelpful web pages, unhelpful tools, and unhelpful error messages, I finally managed to connect from laptop to Mac Mini using Kerberos. I had vague plans of writing up the process, since this is something that apparently causes much wailing and gnashing in the Mac community, but at this point I'm not wholly sure what I did that worked. Key points to note, however: if it's telling you that you can't use a principal as a server, use kadmin to remove the disallow-svr attribute from the record in question. There's also some weirdness around creation of such records in the first place: it seems that kadmin refuses to create them (complaining, unhelpfully, "Principal does not exist") but they're required for ssh to work.

After some more digging around, it looks like the presence of a record of the form "shorthostname$" will cause this. I think these get created when you bind a client to a server. I used the Workgroup Manager to delete the offending record, then used kadmin to add a new one using the FQDN, and it worked.

Finally managed to restore the funds transfer code to F::B::I::BoI, but there are caveats (well, there were caveats with the old code as well). Once I've hacked up the tests to match the new code, I'll have a release.

April 10
Restored another bit of the Finance::Bank::IE::BankOfIreland functionality that was broken by the makeover.


April 6
In Time was kinda mindless fun. Don't pay attention to the plot holes or the unbelievable bits, just roll with it. Nice cars, too, shame about the engine noises.

April 4
An S/MIME oddity: sending an encrypted, signed mail from Mail.app via an Exchange server results in a message that's encrypted and signed, but it's also a multipart MIME email so none of my mail clients actually show the various little crypto glyphs (padlocks and seals and what not). That aside, I'm impressed with the clean integration of S/MIME into my normal email workflow and I'd recommend it to anyone who's looking nervously at the current proposed legislation in the UK to scan everything electronic.

April 2
Finance::Bank::IE has been a bit neglected of, er, late (looks at the date of last release) to say the least. Part of this is because I'd just got payments working for PTSB when they revamped the whole payments thing to require a good deal more work, and partly it's because BoI did a full site revamp that broke everything. I've managed to restore some of what's missing to both, but I'd like to try and get a few more bits in place before I post an update. The fact that rt.cpan.org isn't full of bug reports suggests I don't have an audience on tenterhooks anyway.

previous month | current month | next month


And so this is Q2... and what have you done?