< | >

Hacker's Diary

A rough account of what I did with Emacs recently.

June 30
Last day at Doolin Technologies, alas. So long and thanks for all the fish, guys.

June 29
Still learning. Still hurting my head. High-performance SSH, nice. Autotuning Linux TCP stack, real nice.

Google released their Mapping API. Cute.

June 28
Bwah. Reading up on a bunch of networky stuff for another interview. Yay, learning, but ow, my head hurts.

June 27
Ok, so now I know a little bit about coding directly to zlib, and the C version of my unar code knows how to reconsititute the compressed files. A little more tweaking and I'll fling it up with the rest of my C crap.

I had an interview with Amazon again today. Actually, five interviews. It was like a day at work, except in someone else's office, and spent explaining why I should be there.

June 26
Ported most of the Perl code from yesterday to C. The only bit I'm missing is, of course, the big bit: extracting the files. The directory mode works fine, there's a few corners cut where I'm using a fixed-size buffer instead of a dynamically allocated one, but I'll get back to that.

Spent most of the day getting sunburnt, to be honest.

June 25
So for today's fun and games, I finally figured out how Midtown Madness .ar files are stuck together. This isn't exactly crucial information for anyone, but it was annoying me that the only tool to unpack the files was a Windows binary with no documentation on what it was doing other than the fact that it used zlib. I've written unar.pl, a simple command-line doodad modeled after unzip.

June 24
Gah. Having run a process for the past few days by sleeping the laptop instead of shutting down, AND just after explaining to jamesc about how sleep mode now works on Linux, I proceeded to wake the laptop without plugging in the PCMCIA card it had been using when it was put to sleep. Predictably, it locked up. Solid. I had to remove the power AND the battery to get it back. Fortunately I've a good idea how far the process had got so I can restart it from where it left off.

June 23
Hmm. A combination of hot weather, dubious air conditioning and hard computation has the laptop's CPU temperature at 92°C. Ouchee.

June 22
Woo! Amazon wish to interview me further, which means that despite my misgivings about my first-interview performance, I've passed the first hurdle.

More on the sleeping laptop thing: I thought openvt might solve the screen-stays-lit problem, but it didn't. I'm thinking maybe chvt instead, but I really want openvt's "switch to an available VT, run whatever, then switch back" behaviour. I guess I could do some silliness to find out which VT X is using, and use chvt to flip back on wakeup.

June 21
Much to my surprise, I put my laptop to sleep at work and woke it up at home and it *almost worked perfectly*! Minor silliness with the screen going to sleep and then being woken up before the rest of the machine went to sleep, and some oddness with the screen on restore, and also the fan is still running half an hour after I brought the system back up probably because the machine got all hot and bothered sitting in my laptop bag. It's also probably not helped by the fact that the machine is running SETI@HOME AND trying to brute-force a little reverse-engineering task for me.

Second interview with Amazon, yay!

June 20
Minor tweak to the Micromail site, and some fiddling with the giant seekrit movie thing, which if it ever sees the light of day outside my network will herald some sort of hell-freezing-over moment.

Interviewed with Dell today. Woo!

June 19
Missed a few days there... mostly involving trips to the pub, movies with friends (Shaolin Soccer is a little rough but a lot of fun) and an impromptu trip to my parents' house to wish Dad a happy Father's Day. Also I note that Formula 1 is continuing on its downward trend with today's silliness basically punting both Schumacher and Ferrari right back into the championship. Just as well I didn't rearrange things so I could watch the race.

June 15
I have been putting this off for ages: merging my BBDB code over the XEmacs CVS version. I've not yet checked it in because I want to do some tests to make sure it still works - despite my complaints about it, I'm a GNU Emacs person, and XEmacs always just feels wrong to me, and I rarely have it installed on anything except to verify that I've not broken BBDB recently.

MonoDevelop continues to impress me with its fascinating failure modes. Hint: if some minor function, such as "Import Visual Studio .NET Project" can't execute an external program (in this case, pkg-config, the correct behaviour is not to drop the entire GUI.

June 14
Moved the back-end for the RSS toy from the web server to the jukebox machine, now that I've stopped it from crashing. So now I have a cheesy two-tier physical structure for a toy. Go me.

June 13
Bad ideas:
aoss /usr/bin/fvwm
This breaks a whole load of stuff on SELinux-capable (not even enabled) systems, such as ssh, vi and rpm. Don't do it.

Spent a small amount of time poking at the gnome-vfs API. I am somewhat disturbed that there appears to be no concept of a default operation, or if there is it's undocumented. I'd like to be able to do something like having most ops fall back to the regular POSIX operations, with the exception of a couple of things which I'd like to trap based on either the URI or, I dunno, the operation. But I can't see a way of doing that, offhand. Even if setting a method to NULL accomplishes the former part, it doesn't help for the latter where ideally I'd be able to do something like if ( !specialcase ) { return GNOME_VFS_DO_DEFAULT } or maybe if (!specialcase ) { gnome_default_operation() }

June 12
While reading something with Plucker today, I poked around the settings and discovered that, yay, it can present a full-screen, rotated view of whatever you're reading. Even on a Palm Vx with its square screen, this actually improves the reading experience immensely; in particular, the page-down rocker is more where you'd mentally expect it to be in order to turn a page, and it's somehow easier to hold the device sideways that it is to hold it upright. Cute. More applications should do this, or there should be a hack that does it for all applications, including fiddling with the scratchpad so you don't have to write graffiti at ninety degrees.

Shark Tale isn't as laugh-out-loud funny as some of the other animated movies that have been around in recent years; I guess that means it's aimed more squarely at the kids' market. I'm pretty certain there were no nudge-nudge wink-wink moments; most of the stuff aimed at the big folks seemed to be references to Mafia genre movies like Goodfellas and while that's okay for trivia fanatics, it doesn't carry any inherent humour in it. Jack Black was really good as Lenny, though, possibly because he didn't seem to be hamming up the role the way he's done with anything else I've seen him in. It's a shame he doesn't work like this more often. I wasn't quite as impressed with the anthrophomorphisation of the fish, either. Most times it just kinda worked, instead of being mind-blowingly, I dunno, right. I expected far more from the dance sequence, for example. I think, if you want to see a good animated fish movie, you're better off sticking with Finding Nemo.

Who'd have thought "Animated Fish Movie" would be a popular genre?

June 11
Tooled around with audio settings a little, for no good reason. It seems like I shouldn't need to do root-level tweaking to get a working soundcard that can be opened by multiple processes simultaneously, but that's apparently the only way to do it.

I think the source of my MiniITX crashes is... ground loops. I've disconnected most of the crap I had hooking it into my multimedia kit, and it's been running happily ever since. I need to find a better way around this, but for now I can at least leave the jukebox running without it keeling over every so often.

June 10
Some more greasemonkey fun: Vodafone Photo Album Tweaks. Currently just makes each thumbnail a link to the fullsize image and adds a per-picture delete button, although for some reason the latter only gets applied to every second picture. It still doesn't save you from the fact that this really is an awful interface.

June 9
It's trivially easy to do on the command line, but I really think SSH should have a "bounce via" option, since I frequently find myself doing
laptop> ssh firewall
firewall> ssh host-I-wanted-to-get-to

and it'd be far nicer to just do
laptop> ssh -via firewall host-I-wanted-to-get-to
and be done with it.

Interviewed with Amazon today. I wasn't really happy with the interview; I was unprepared for questions such as "describe a project you've been involved in in the last five years that you're really proud of" largely because I've never asked it before, and while I'd like to think I'm a good sysadmin and know at least some of the way around kernel debugging, the interviewer seemed to keep picking things that I had either never heard of or knew very little about. Gah. I keep thinking of things I could've added to my answers to mitigate the bits I didn't know, but that's no good right now.

June 8
Did some hacking on the scraper I wrote for Vodafone's online phonecam library, adding to my horror of the system. Here's what I've found so far:I guess the latter two could be construed as features, allowing you to use Vodafone's site as a free image-hosting service...

June 7
Once more hating the writing of resumés; I reread what I'd put together last week, and found one minor typo and one huge clanger of a typo. Gaaah.

Messing around a bit more with the SQL/RSS toy, mainly in the area of minimising the amount of abuse I'm giving my poor webserver.

June 6
Another lazy day. There are things I could be working on, or hacking on, but I chose instead to read a bunch of graphic novels. Go lethargy.

June 5
Lazy Sunday, wherein I sat around doing absolutely sod all and there wasn't a single movie worth watching on TV...

June 4
Wow, really stupid bug in my database-backed, AJAX-loaded RSS toy. Basically, it was doing a big database hit for every AJAX call. BAD script. No cookies.

A Bridge Too Far is a pretty decent movie which dramatises Operation Market Garden, a bold but ultimately costly attempt to penetrate German-held territory in 1944. Plenty famous names running around portraying actual historical characters, some of whom advised on the technical aspects of the production. I suspect a retelling of the story made today would be far more brutal, but this wasn't exactly lightweight stuff either. Worth watching.

June 3
Tooling around with the MPLE stuff again. More evil plans afoot.

Also crashing MonoDevelop by, er, trying to use it as intended. WTF?

June 2
I've been trying to figure out exactly what's triggering the MiniITX to crash by stressing it in various ways. After about a week of playing a WAV file in a loop I've decided it's probably not the sound chip, so now I've got it playing a local MP3 file in a loop instead to see if the combination of CPU load and sound is what's doing it. After this, I'll try looping a networked MP3 file, which I'm fairly sure will trigger the crash, since that seems to be the common factor in previous crashes. The annoying part about it is that it's a hardware lockup, so things like the kernel panic watchdog won't help.

June 1
Hmm, the NASA WorldWind toy has a CVS repository of its source. And it's written in C#. HMM.

previous month | current month | next month

My Last Month At Doolin (alas)