Tuesday, December 27, 2005

Day 238

[reading: A. Zee, "Quantum Field Theory in a Nutshell"]

Got around to doing a quick and dirty digital version of a collage I did a year or two ago (even at this cut-down resolution, it's still pretty large).

Sunday, December 25, 2005

Day 236

And it's now official. As previously rumoured, the new Globe season includes Titus Andronicus (plus Antony & Cleopatra, Coriolanus and Comedy of Errors, but obviously they're rather less interesting).

Saturday, December 24, 2005

Day 235

[reading: Joel Spolsky, "Joel On Software"]

OK, vegetarians and vegans look away now.

No, really, I mean it.

This evening's dinner. Before cooking:

After cooking:

After eating:


Thursday, December 22, 2005

Day 233

Now that work seems to have officially finished for the year, it seemed like an ideal opportunity for nipping in a Slacker's Lunch. The strenous activity this time round was table football (foosball for US readers). There was a period, back when I worked in an office that had a table, when I was vaguely competent; sadly I seem to have lost the old magic. (I suppose it's just possible that there might be another reason why I wasn't playing particularly skillfully).

Anyway, I also managed to persuade my fellow slacker to come round for food on Saturday; I think the key deciding factor was revealing exactly what we've got planned for the food...

Wednesday, December 21, 2005

Day 232

Things seem to be moving along on the Project X front. My co-conspirator has officially started on working out her notice at her job, so she should be able to work full-time on it by April. Project Y will probably finish around then (at least according to the estimates I put together earlier this week), so that should dovetail nicely. In the meanwhile, she's going to spend a day a week on the project, and I should be able to spend one or two days a week, so things shouldn't completely seize up before then.

However, hopefully I can finish off a couple of other things on my to-do list in the next week and a half to get them out of the way.

Tuesday, December 20, 2005

Day 231

[reading: Frank Miller, "That Yellow Bastard"]

Last day of work on Project Y for this year today, which was neatly followed by the office party. I'll do another day or two of work on Project X; then I have some Copious Free Time until January, which will be good.

Sunday, December 18, 2005

Day 229

[reading: Frank Miller, "The Big Fat Kill"]

Bugger. My chances of getting through my to-read pile have suffered a serious set-back: I returned from a trip into town with seven more books (and rather fewer presents for other people than I'd intended).

Saturday, December 17, 2005

Day 228

Came across another sport where men and women compete equally, and this one isn't even particularly for rich people: sheep-dog trials. Yep, it looks like "One Man and his Dog" is back.

Somehow, it's marvellously soothing to watch; it's like a visual version of that old traditional classic, the shipping forecast on Radio 4. Mike and I were actually discussing whether there might be a market for a CD of shipping forecasts: you could get a couple of hundred of them onto a CD, then set it to shuffle play.

Which does slightly remind of something I heard about some years ago. Apparently, it used to be possible to get hold of a mag tape full of random data. Random data is very useful, for generating tests and performing statistical analyses, but most of the time people just use pseudo-random data generated by the computer itself. This has gone spectacularly wrong on occasion, so having true random data available is useful.

So how do you get real random data? Well, in this case by monitoring output of radioactive decay; in a particular time period, if an odd number of particles are detected, then a 1 is added to the data, if it's even then a 0 is added. There was also apparently a slight statistical tweak, to allow for the fact that zero is an even number (because the distribution of the numbers of particles produced is obviously cut off at zero: there's no way, even in quantum mechanics, to emit -1 particles).

Friday, December 16, 2005

Day 227

[reading: Tom Phillips, "A Humument"]

Just completed my first week with a full five days of work for a long time (er, 227 days I guess) and I'm very tired as a result. Obviously, I'm not expecting to get any sympathy :-), but it's interesting how quickly you get used to a life of leisure. It's not even like I've done the same number of hours as I did at my last job—that was minimum 45 hours a week, and I've probably only done around 35 this week.

Anyway, we went out to see some show-jumping this evening, which culminated in a puissance. I'd not encountered one of these before, but the basic idea is high-jumping for horses. Each round, they raise the main wall a little bit and anyone who fails to clear it is out of the competition. For this particular puissance, two riders shared first place by successfully jumping a 7'3" wall. That's a long way up. Even the riders could barely see over the wall, and they were sitting on horses.

Show-jumping is also interersting as it's almost unique as a sport that has an even playing field: men compete against women; over-fifties compete against under-twenties; rich folk compete against, er, other rich folk. I can't think of many other sports where that happens. Sailing and motor-racing, I guess—sports where the motive force is provided by something other than human muscles.

Wednesday, December 14, 2005

Day 225

[reading: G.K.Chesterton, "Father Brown: Selected Stories"]

Following on from my monster tax refund, I just got a cheque from the government refunding some National Insurance. I guess those virgin sacrifices on stacks of inverted tax forms really did the trick.

Also, my latest Amazon aid parcel has sadly undone my good work, and my to-read book stack is back into double figures.

Monday, December 12, 2005

Day 223

More on Project X today, but I digressed to have an interesting discussion with my co-conspirator. We were talking about the differences in approach between ad-hoc standards bodies like the IETF and the more official committee-driven international bodies (like the ITU, ISO or the OIF). The more lightweight approach always seems to win out; I guess the main reason is because the committee-driven approaches have a tendency to settle an argument between approach A and approach B by including two distinct modes in the resulting standard, thus implementing both. By the end of the standards process, the net result is almost unimplementably complicated.

The more open approach also seems to work well in competition against standards that aren't decided by committee, but which are fairly tied-in to particular manufacturers. Not so sure why that should be the case, but the comparative expense presumably plays a part.

As an aside, both of these are actually illustrated by the very first piece of software I worked on. This was back in 1987, and I was part of a team implementing an email gateway—back when almost no-one in the world had heard of the concept of email. To this day, almost no-one in the world has heard of the two different email protocols that we were converting between: X.400 (an ISO standardized protocol) and SNADS (an IBM-specific technology). It was another four years before I actually got an email account of my own, and that was of course an SMTP account.

The list of open, simpler standards trouncing the expensive, complex standards is pretty long (and this is just the ones I happen to know something about).

This doesn't seem to apply so much to the lower layers; the standards for things like Ethernet, Token Ring, X.25, SDLC, SONET, SDH and even ATM have all been pretty successful. I guess it's harder to end up with an all-inclusive compromise for hardware: it's not possible to have a pin that handles either nine volts or six volts. (Although they seemed to try hard with ATM: 53-byte cells just seems like such an odd number, you suspect it was arrived at as a weighted average between those who wanted 48-bytes and those who wanted 64-bytes).

Sunday, December 11, 2005

Day 222

Went out for a walk this afternoon, and at first it looked like it was about to rain heavily, with dark clouds on the horizon . . . but then I realized that it was actually just burnt petrol, and unlikely to turn to rain.

The Space Cadets show has become rather dull; so far, it's degenerated into the usual reality show format, populated by the usual media whore contestants. Perhaps it will pick up when they actually go into the faked up spacecraft.

Friday, December 09, 2005

Day 220

Had my co-conspirator round to work on Project X today, and it turned out to be surprisingly difficult to share data between two computers attached to the same LAN. I'm guessing that I need to frob some ZoneAlarm settings, but nothing obvious made a difference in the first five minutes so we just resorted to sneakernet. I also need to sort out a longer piece of CAT5 to lower the probability of me either

  • a) tripping over a network cable, or
  • b) garroting myself with a network cable
or just possibly
  • c) both of the above simultaneously.

Wednesday, December 07, 2005

Day 218

And in other shocking news: a TV show that I actually want to watch. And it's a reality TV show, too.

Actually, the more interesting parts of the first episode were the behind-the-scenes bits about how the production crew went about converting a disused military base in Suffolk into a mock-up of a Russian cosmonaut training facility (buying supplies from markets and shops in Moscow, raiding an aircraft scrapyard). Hopefully they'll keep including some of that kind of thing rather than just degenerating into Big Brother with claustrophobia.

Tuesday, December 06, 2005

Day 217

... in which I learn that when they say there isn't much stack space available in the Linux kernel, they really mean it.

Actually, the real reason it took me so long to debug this particular problem wasn't just the stack space; the compiler optimizer wanted to play as well. I'd foolishly put something large onto the stack, in preparation for some later code, but not actually used it—and so the compiler had quietly stripped it out. When I did eventually start using it, some time later, things began to go awry.

At this point, the usual rule of "cause of bug == most recent change to code" no longer applied, and as I don't have a debugging system set up yet, I pretty much had to resort to shotgun debugging.

In fact, a kernel debugger wouldn't actually have helped much in tracking down the problem. The key piece of evidence that I eventually twigged to was that the crash would appear and disappear as I included or removed chunks of the code, even though the code was never run. That is: if I added in code that referenced the big thing on the stack, the optimizer could no longer quietly elide that buffer, and the code would crash before it got anywhere near the new code. Doh, problem solved.

On the plus side, I got paid today. When I first looked at the payslip, I had a worrying moment when I saw the size of the Tax number in the deductions column. Then I noticed it had a minus sign in front of it—which was just as well, given that the tax number was bigger than the pay number. So I ended up being paid about treble what I expected, presumably because of the mysterious machinations of the PAYE system.

Sunday, December 04, 2005

Day 215

Nipped in a bit of time this morning on Photoshop; following the monster scanning session, there are some of the better individual pictures that I'm slowly returning to and tweaking. Nothing too serious—scratch and dust removal, a spot of Levels and maybe a bit of sharpening. The eventual intent is to have a digital portfolio of my better pictures, the ones I tend to frame up and put on the wall.

Then it was out to the Barbican for a bit of culture: Yo-Yo Ma playing three of the Bach cello suites (plus three encores). 3 and 6 were great; 5 was very intense but perhaps a little ponderous for me. It's hard to believe he's fifty—he looks like he's in his thirties.

The coughing of the audience during the performance was kind of odd; there was the usual few coughs during the actual playing, but lots of people seemed to hold it in until the end of a movement—the gap between some of the movements was a veritable cacophony of coughs, and Yo-Yo Ma would just pause and wait for it to die down. It's a long time since I last went to a classical music concert, so I don't know if this is normal or not.

I was also reminded of how awful the Barbican itself is, both inside and out. Horrible concrete, which I'm told is now Grade 2 Listed and so is now stuck there forever. It's also amazingly difficult to find your way around, again both inside and out. The inside would work well as a map for a multiplayer FPS game—lots of nooks and crannies to camp in, and lots of stairwells and mezzanine levels. The outside is just as confusing, with different levels of walkways and stairs and corridors. There are occasional maps displayed on the walls, but these are more likely to confuse than help because they've taken the bizarre approach of orienting the maps differently in different places. (My only theory for this was that it might be a misguided attempt to align the maps with the walls that they're on: a map on an east wall has west at the top and so on). They obviously know it's a problem—the walkways that lead through the residential part to the theatre part all have yellow lines painted on the ground to help lost tourists ("Follow the yellow brick road! Follow the yellow brick road!").

One of the other folk (whom I'd not met before) in our little group has a flat in the Barbican, so we stopped off for a coffee there after the concert. Quite a nice flat, in a 1970s kind of way, but what was more impressive were the brochures that he had for a couple of other flats he was keen on buying. They were also at the Barbican, but up at the penthouse level, over three floors and with a great view. Price: a cool 1.8 million pounds. At this point I felt much less guilty that a complete stranger had bought an expensive round of drinks for us all.

Friday, December 02, 2005

Day 213

Some Linux confusions this morning. I'd installed Fedora Core 4 over RedHat 9 on one of my home machines the other day, and all had seemed to go well. However, when I booted the relevant machine this morning, I could get in past the graphical login ("Can't start session due to some internal error"). Following a tip or two here, I tried booting from a rescue CD and running yum remove gdm.

This did seem to fix the graphical login problem, so I could log in as a normal user, but then I discovered that I couldn't run su ("Cannot execute /bin/bash: Permission denied"). Given that I'm playing with kernel development, I really need to be superuser.

There seemed to be a variety of advice out there as to what might fix it, so I went back to booting from the rescue CD and blew away /var/log/wtmp and /var/run/utmp and altered /etc/selinux/config to run in permissive mode. One of those fixed things; not sure which, but I strongly suspect the latter.

So I guess I'm still not sure that Linux is ready for the great unwashed masses yet . . .

Tuesday, November 29, 2005

Day 210

"Our almost-instinct almost true: what will survive of us is code"

Fame at last. The internet drafts I worked on a few years ago have finally gone to RFC status, and I get an acknowledgment.

On the Project Y front, things seem to be going surprisingly well so far. I've been hacking the kernel for a couple of days now, and I've only had to reboot the machine once (and even that wasn't entirely unexpected, given I was playing with some very incomplete code).

I guess this is a testament to a) how good the book I'm working from is b) the resilience of the linux kernel c) my coding skills (probably in that order).

Monday, November 28, 2005

Day 209

Overall, the aim of having Copious Free Time is to get around to a whole bunch of things that I've wanted to do for ages. One of those things is to get through my unread books stack.

Well, today the count finally dropped into single figures*. It had come close a couple of times in the past, but each time a new Amazon aid parcel would arrive before it could break the magic threshold.

Of course, the books that are left on the list are the really tricky ones. The books I'd like to have read, rather than the books I'd actually like to read—and so I never quite get around to actually reading them. Big, thick books, full of dense type.

But still, nearly there.

*Well, ish. A year or two ago I acquired a couple of shelves of books from a friend who was just going to dump them at a charity shop; I don't include those in the count. So I guess it's actually a count of unread books that I've paid money for.

Sunday, November 27, 2005

Day 208

My local cinema has hit a new low. In the past, we've encountered films that were out of focus (quite frequently); films shown in the wrong aspect ratio; films when they've forgotten to turn out the house lights and films with the sound out of sync with the picture. Today they managed to show the wrong film altogether.

Friday, November 25, 2005

Day 206

<rant subject="DVD">

Today's rant is about DVDs, aimed at the people who put them together. We watched one last night, and another one tonight, and once again I'm struck by how appalling the "user experience" (for want of a better word is).

  • It's my DVD. I should be able to put it in the player and watch it immediately. I shouldn't be forced to watch warnings about copyright, or animated corporate logos; I should be able to go straight to the content that I paid to own a copy of. Having a little "forbidden" icon show up on screen when I press Menu or Fast Forward is not on.
  • Fire all of the menu designers. Just because DVDs allow you to have arbitrary animations and selectable areas on screen doesn't mean you should use them. The menus should be immediately accessible (no 10 second animations before loading menus) and obvious (no hunting for what part of the screen represents 'select scene')—and while we're at it, don't use a 2x2 grid for selecting between four episodes of a show (which one is number 2, top right or bottom left?)
  • For a DVD collecting multiple episodes of a TV show, put an index mark just after the end of the opening credits. No matter how good the credits are, they get awfully annoying by the end of a 22 episode series.
  • For a widescreen film, don't (only) have the subtitles available below the film. The customer has bought a widescreen version of the film, chances are they've got a widescreen TV; if the subtitles are below the picture, they can't watch it in widescreen and still see the subtitles. (And yes, Crouching Tiger, Hidden Dragon was one of the DVDs I watched recently)
  • The filthy Internet exists, as does transatlantic shipping and foreign holidays. Get over it. Don't ever try that region coding shit again.
I think it all boils down to one simple principle: remember that people are buying the DVD to watch the show and nothing else.

It's also related to an earlier rant: actually test the product in the same way that the customers are going to use it in the real world.


Wednesday, November 23, 2005

Day 204

[reading: Corbet, Rubini & Kroah-Hartman, "Linux Device Drivers"]

I'm not the kernel hacker
I'm the kernel hacker's mate
And I'm only hacking kernels
'Cause the kernel hacker's late.
(Malcolm Beattie)

First day of my other new chunk of work today (let's call it Project Y), which was a bit of a shock to the system. Unlike Project X, which is (so far) a fairly informal enterprise, this one involves commuting to work in a proper office. Still, it's probably not quite the same as a real job.

It also feels very weird because it's back in a place I used to work two years ago, and not much has changed there in the meanwhile. It almost feels like I've dreamt the last two years and then woken up again, in a slightly Kafka-esque kind of way.

Tuesday, November 22, 2005

Day 203

Another Slacker's Lunch today, which was perhaps a little more restrained this time (in that I didn't fall into a comatose stupor for twelve hours afterwards). It might be the last one for a while; it was organized at short notice so I could fit it in before all of my impending work. In other words, I will soon be a non-Slacker. Provisionally, part-time and for a limited period only.

Monday, November 21, 2005

Day 202

First day working with my co-conspirator on the one of the work-like things that have shown up (let's call it Project X). Most of the day seemed to involve downloading and installing various things to try to get a Windows development environment up and running. On the one hand, the official Visual Studio products seem stunningly expensive, particularly given that I'm used to developing on various Unix platforms. On the other hand, it does seem to be possible to dig up a bare bones compiler and linker, debugger, collection of headers and libraries and an IDE for free.

[Edit: Also, it turns out that the .NET framework is also needed, if only for cvtres.exe.]

Sunday, November 20, 2005

Day 201

[reading: Alastair Reynolds, "Century Rain"]

"Plenty of blood. That's the only writing."

So I heard a rumour last night of good news about the program for next year's season at the Globe. Apparently I'm not supposed to say what it is, though.

Thursday, November 17, 2005

Day 198

[reading: Christopher Logue, "Cold Calls"]

I've finally gotten the cataloguing and labelling of the rest of the scanned pictures done—350 on Monday, 500 on Tuesday, 830 on Wednesday and 1160 today. So now I can focus properly on the new work-like things that are heading my way.

Saturday, November 12, 2005

Day 193

I went into town today and happened to end up both arriving and departing at Covent Garden tube station. It's not a station I normally use; it's jammed with tourists, there are no escalators and it's only 200 yards away from the Leicester Square station anyway. Anyway, since the last time I was there, I guess they've had some more people collapsing on the stairs—as well as all the signs warning people not to use the stairs except in an emergency, they now have an announcement that's repeated every 30 seconds which gives dire warnings about the 193 steps.

It's an interesting contrast to the campaigns they have to persuade us that we should take the stairs, in the interests of health. I guess what the announcements really mean to say is: "If you're a fat tourist, please don't take the stairs and collapse—it makes a mess and there's no end of paperwork we have to fill in. If you're not fat, then feel free to take the stairs. If you're not a tourist, you probably know better than to get off here anyway."

Thursday, November 10, 2005

Day 191

At last, I'm done with the scanning. The ever-rapacious maw of the scanner has been kept filled for two weeks, reaching a grand total of 5,194 pictures (a little under my original estimate of around 6000). Of course, there are still 2,878 of the pictures that need to be properly filed and catalogued, but at least I can pack away the scanner and concentrate for more than twenty minutes at a time now.

With all the negatives scanned, I'm not very likely to look at the various photo albums that have the corresponding prints in them—if I want to look at any of my snaps, I can just spin through them on the hard disk. (Which was kind of the point of the scanfest in the first place; I really like the fact that my laptop now has on it: every picture I've ever taken, every CD I own, every (non-work) email I've ever written, every chunk of code I've ever written, every piece of text I've ever written. Hmm, time for a backup methinks.) So, I've packed away the photo albums in boxes (suitably wrapped in plastic bags and sealed with duct tape) and hived them away in the attic, and lo, I have some spare bookshelf space at last.

Given my usual pace of Amazon aid parcels, it's probably not a situation that's going to persist for long...

Wednesday, November 09, 2005

Day 190

[reading: Dave Thomas & David Heinemeier Hansson, "Agile Web Development with Rails"]

Odd. Nothing happens for ages and then two job offers show up on the same day.

Tuesday, November 08, 2005

Day 189

For future reference, some notes on scanning.

  • For speed of scanning, I've just been using 1200dpi for most of the 35mm scans, bumping it up to 2400dpi for 120 format scans and for particularly interesting 35mm negatives.
  • Using 16-bit depth is fairly pointless from a practical point of view; there's a limited number of file formats that support it (especially for B&W: just TIFF and PNG, and the Windows software I'm using to scan only supports the former), and there's very little you can do with the images in Photoshop Elements. If I want to do pro-level stuff later, I can always come back and re-scan.
  • I probably picked the wrong option for scanning my chromogenic B&W film (XP1, XP2, T400CN); if I'd scanned in colour mode rather than B&W mode, I'd have got the benefit of the dust/scratch reduction. Apparently this works by doing a parallel infrared scan of the film—chromogenic film is transparent to infrared, but dust is opaque and so can be filtered out. The B&W mode turns this process off, because the silver halide in regular B&W films is also opaque.
  • ScanGear's UI really sucks; there are lots of things that you need to do all the time (examples: rotate more than one negative at a time, switch between film and print scanning) that can't be done easily. I can't believe that anyone ever tested this thing in real world use; it feels like they just tested that all the features could be accessed somehow, by some combination of manipulations, then shipped it.
  • ArcSoft PhotoStudio sucks too. It's awkward to do very straightforward things (e.g. rotate 90°), it defaults to its own internal format for 16bit files, but the main problem is the crashes. As far as I can tell (and I didn't really feel like experimenting that much), any time you pull in over 100 pictures, it crashes; I'd guess that this is because it titles the files "Untitled-Scanned-56" and thus only copes with two digit numbering. Again, it's clear no-one tested this thing in a sensible real world scenario. (I should probably have used the Windows copy of Photoshop Elements 2.0 that came with the scanner instead; I didn't want to use my Mac Photoshop Elements 3.0 because that would have tied up my laptop while the scanning was happening.)
<rant subject="testing">

The latter two points really bug me, as a (sometime) professional software engineer. Is it really that hard to actually test software in a realistic way before releasing it on an unsuspecting public?

The usual button that triggers this particular rant is Microsoft Project. Over the years, I've tried to use it for project management three or four times. The first few times I abandoned the attempt because it didn't support some particular thing I needed (IIRC, I don't think I could find an easy way to have a task whose size was proportional to something else, for example "Build mastering: 3% of overall project calendar time"), but on the last occasion I was only running a small part of a larger project and I didn't have the option of abandoning Project and returning to a big spreadsheet together with bits of paper.
[As Joel says, dependencies in software projects tend to be fairly straightforward. That being the case, the most effective way I've found for generating a Gantt chart is as follows.
  • Ingredients: several pieces of lined paper and some blu-tack.
  • Decide on a scale—say, one line per day, or two lines for a week
  • Write out a grid with dates down the left hand side of the paper (in accordance with the scale you just decided on), names of team members across the top of the paper. If you've got a hard deadline, draw a big black line across the page at the relevant place.
  • Using more paper and a pair of scissors, cut out a little rectangle of paper for each task in the plan. The rectangle should be roughly the same width as the columns you just drew on the other piece of paper (the ones labelled with the names of team members). Here's the cunning bit: the rectangular bit of paper should be the same height as the estimate you've got for the corresponding task, relative to the scale you decided on a moment ago.
  • If your rectangles are more than a few lines high, you've probably picked the wrong scale or (more likely) the tasks in your plan aren't really fine-grained enough to bother with a Gantt chart anyway.
  • Put a small piece of blu-tack on the back of each rectangle, and stick them onto the main piece of paper with no overlaps. The column each rectangle goes in indicates who's going to do the task; the rows it covers indicate when the task should be done
  • Don't forget to leave a few gaps in each person's column to allow for illness, slippage, unforeseen other stuff, etc. Leave bigger gaps for less capable team members (who are more likely to overrun on any particular task).
  • If you really do have to worry about significant dependencies, colour the top and bottom of the relevant rectangles (so if task A has to finish before task B can start, colour A's bottom edge and B's top edge the same colour).
This approach makes any of the common scheduling problems immediately visible.
  • If you've got any rectangles left over, you've not assigned all the tasks.
  • If any of the rectangles overlap, then some poor team member is over-assigned.
  • If there are large swathes of the underlying piece of paper visible, then some team member is under-assigned.
  • If any of the rectangle are below the big black line, then your plan doesn't hit your deadline
Interestingly, I've heard from a few teachers that despite the fancy timetable scheduling software you can get for schools, quite often the timetabling boils down to a similar technique. (One such tale involved screams of despair when someone opened the door at the wrong time and a draught blew in . . . hence the importance of the blu-tack).]

So I duly and diligently entered all of the tasks and subtasks into Project, entered all their sizes, set up all of the dependencies, and filled in all of the resource availabilities. Not a particularly huge project; maybe a hundred or so subtasks altogether. Then I pressed the "Level Project" button. This is the button that triggers Project to assign people to tasks and tasks to dates, respecting all the dependencies, and come up with a project plan, a schedule, a Gantt chart and most importantly of all, a project end date.

The end date it came up with was 24th February 2049.

Now, I'm happy to believe that this was because of something I screwed up—a circular dependency, or a mistyped estimate—but there was no error message, no warning. The auto-levelling is the only thing in Project that makes it more than just a wrapper around Excel with some different graph types. And it doesn't work. 2049. Not even a little bit.

(I did eventually consult with some of the other project managers on the larger project; their advice was: "Whatever you do, don't use the auto-level project button". These were the folk who'd insisted on using Microsoft Project in the first place: go figure).


Monday, November 07, 2005

Day 188

Tired and grouchy today. Because the weekend is over? No, wait, that's not it. Because the burglar alarm for the pub at the end of the road went off at 3.35am and at 4.45am. It's not like they're my favourite folk anyway; maybe they're just trying to train us up for sleep deprivation in advance of their new opening hours.

Sunday, November 06, 2005

Day 187

[reading: Dave Thomas, "Programming Ruby"]

So here's a question: how easy is it to find things about people on the filthy internet? More specifically, what could someone find out about me, starting from here?

  • Zero clicks:
    • Within blog: that I own a motorcycle, that I'm older than about 30 (stuff visible from main blog view)
  • One click:
    • Within blog: my date of birth, reading preferences, various interests (this covers any content at all in the blog, given the monthly archive links on the right)
    • Within Blogger: my age, the country I live in, various interests and favourite books and music and suchlike, the type and setup of my main computer (basically, this is contents of the profile page)
    • Outside: my real name, my email address
  • One click and a text lookup: my home address
  • Two clicks:
    • From blog: what motorcycle I drive, who my ISP is, roughly what street I live on, the company I used to work for, where I used to fence, the gym I go to (this covers anything linked to by any blog entry, or in any blog comments)
    • Outside: where I went to college, what I studied, who my supervisor was, software areas I've worked in
I guess it's not surprising, given that I've not particularly tried to hide any of this stuff.

Saturday, November 05, 2005

Day 186

[reading: Paul DuBois, "MySQL"]


In some ways, it's kind of sad looking at all of these old pictures as I scan them in: lots of pictures of old friends that I've lost contact with—people I used to spend a lot of time with, but now I've got no idea where they are or what they're up to. I did start to digress a bit into google and Friends Reunited to try to find out what happened to some of them, but with little success.

Not being able to find out may well be for the best, though. There's a friend of mine who I lost contact with a few years ago; when I had last heard any news, she had recently gotten married and they'd just had their first child. That was the last thing I'd heard, so since then I've just assumed that she and her new family were living happily ever after.

Until a few weeks ago. I bumped into a mutual friend on one of my rare excursions out dancing, who gave me some news, more up-to-date and very non-cheerful (divorce on the way, restraint orders in place). I really wish I hadn't asked.

Anyway, I've now scanned around 3700 negatives, and there's probably another 1400 to do, so I guess I'm heading onto the final straight. The cataloguing is even more dull and consequently has progressed less far—only around 2100 indexed and filed.

Tuesday, November 01, 2005

Day 182

[reading: Charles Stross, "The Family Trade"]

It's now six months into my sabbatical, so I guess it's time to stop and take stock of what I've been up to so far.

I had been feeling a bit unproductive, but there's more there than I'd thought.

Friday, October 28, 2005

Day 178

Although the scanning is mind-bogglingly tedious, there are a few interesting things that show up as I look at old pictures (from 15-20 years ago). My father looks so much younger back then; my brother seems to be pouting and looking annoyed in every picture (probably because his younger brother was pestering him with the camera again). It's also interesting to see that some of the themes I often use in pictures date back to twenty years ago: doorways and passageways, landscape photography in general. The spookiest recurrence was this one, taken (I think) in the summer of 1984:
I looked at it and thought: "Hmm, that looks familiar". A few months ago we went away for a weekend in Norfolk. One of the pictures I took then was this one:
Same place, twenty-one years later.

Thursday, October 27, 2005

Day 177

Whirr. Clunk. Wheeze. The scanning has begun. Only a couple of hundred scanned so far, and as yet none of them indexed/dated/catalogued. Still, I tweaked my script for processing JPEG files (renames, adds label and copyright, and now can set an arbitrary date and automatically avoid duplicate filenames) so the indexing/dating/cataloguing should be marginally less tedious than it would otherwise be.

Wednesday, October 26, 2005

Day 176

My first bash at the new gym routine this morning, which wasn't as bad as I'd feared; it does seem to involve a lot of equipment that there is only one of, though, so I'll have to make sure I stick to quiet times at the gym.

I also got back home to find that they'd already attempted to deliver my new scanner, a mere 16 hours after I ordered it. They left a card saying they would try again tomorrow, but as it happened they tried to deliver it again in the afternoon and so I now have a new scanner. So this place seems to be swift as well as cheap.

Spent a fair amount of the afternoon and evening trying to figure out an efficient workflow for scanning all the old negs; in the end I settled on 1200dpi to get the scans done in a reasonable time (around a minute per negative, as opposed to twice that for 2400dpi and more than 15 minutes per negative at 4800dpi). The scans come out at around 1800x1100, which should be enough given that I only ever plan to view them on screen rather than printing them out.

Given that fencing was cancelled this evening, I finally got a chance to try the street dance class at the gym. A bit disappointing in the end; more than half of the class was just a generic chunk of aerobics. The half that involved dance was a bit better, but not exactly sparkling.

Tuesday, October 25, 2005

Day 175

Had a spot of disrupted internet connectivity this evening, which was a bit disturbing: it made it clear just how much I've come to rely on continuous connection to the filthy internet.

Still, I managed to get in an order for a new scanner before everything went pear-shaped. Given that I'm getting more and more converted to the digital way of doing things, I thought It would be good to go through my old negatives and get digital versions of them. It's not something I'd contemplate doing if I didn't have Copious Free Time, though—I've got around 5,500 ordinary (35mm) negatives, plus another few hundred medium format negatives to convert. A film scanner would be ideal for this, but the ones that can cope with 120 format film are lots more expensive; also, once I've done all the negatives I'd have little more use for a film scanner. Anyway, the latest generation of flatbed scanners are supposed to be fairly good, and I'm not really after top-quality conversions, just to be able to access all my old photos on screen (and besides, I wouldn't have enough disk space for all of the old negs at top quality).

Monday, October 24, 2005

Day 174

Looks like we didn't pick the best day for being in Brighton; kept awake for much of the night by the wind howling past the window, and opportunities for sightseeing and wandering on the beach have been limited all day by the persistent rain and wind. The Pavillion was at least indoors, though.

Sunday, October 23, 2005

Day 173

[reading: Neal Stephenson, "The System of the World"]

Trundled down to Brighton this afternoon, to get a couple of days outside of London. We arrived late enough in the afternoon that most of the shops in the Lanes were already closing down, but the pier was obviously still open for business. I signally failed to make the slightest impression on a stack of tin (well, probably lead) cans by throwing balls at them, but at least the Waltzer was fun. There's something euphoric about closing your eyes and letting the centrifual force slosh all the blood around in your brain.

Saturday, October 22, 2005

Day 172

I was discussing some folk who are currently selling their house today, which occasioned me to recall the perfidy of estate agents. In common with anyone who's ever sold a house, I remain perenially stunned at the amount of money it costs to have someone who a) has a phone, b) has a window, c) has a collection of hooks for keys.

I'd almost like to know more about the innards and workings of an estate agent, because it seems to me (and I'm sure to many others) that it should be possible to hugely undercut the existing agents and still make a handsome profit. Basically, what we all need is: easyEstateAgent. We need to persuade Stelios to get into the field and to set up little orange estate agents all over London, combined with a really efficient internet booking and listings system. Charge a flat fee or maybe just a much lower percentage (say 0.25% rather than 1.75%), and watch as all the other peculatory bastards fell into a big heap.

It's one of those ideas where I just can't see why it hasn't happened already. Of a similar ilk: why doesn't someone in the TV world ditch these endless karaoke talent shows (X Factor, Fame Academy, Pop Idol) and do a 'battle of the bands' show that actually involves people who can play instruments and write songs? And why is there no TV show that reviews computer games competently? The occasional show that does show up is inevitably aimed at eleven year olds and shown on odd channels at odd times of the night; this seems bizarre given that the computer game market is as big as the cinema market and that large chunks of the consumers are adults.

Maybe someone in the relevant businesses could explain to me why it's not possible, but nobody I've ever discussed any of these things with has thought of any obstacles.

Friday, October 21, 2005

Day 171

[reading: David Flanagan, "JavaScript: The Definitive Guide"]

In recent weeks my gym-going has been starting to tail off: it's always boring, but it's now getting mind-numbingly dull, plus the progression seems to have plateaued. So I got around to arranging for one of the trainers to give me some new stuff to do. At first, he was impressed with what I'd been doing so far, but that was just triggered by the detailed record-keeping I'd been doing. Once we actually started trying out new exercises, I think he was surprised by how feeble I was.

I also tried out a trick I learnt from my brother, which is that gym staff get much more enthused and interested if you tell them your target is something specific, something a little different from the normal "lose weight"/"get fit"/"tone up" stuff (which they pretty much sleep-walk through). In my brother's case, he got a really good routine by asking for something judo-specific; in my case, I asked for stuff to help with fencing. It did backfire slightly, though, in that his top recommendation was to do some boxing cross-training...which would involve a bunch of personal training, oddly enough, and did I want to see some offers on buying a bulk pack of personal training sessions?

Anyway, I've got a bunch of new things to try next week, which I suspect will be rather harder than the things I've been doing so far (more free weights, fewer resistance machines) so maybe things will start progressing again.

I also nipped in a quick fix to the Minesweeper game to get rid of the annoying clicking sound you get when the page up or page down keys are held (I hadn't noticed it because the Palm OS Emulator doesn't have sound, and I've turned off the sound on my Tungsten.)

Thursday, October 20, 2005

Day 170

Finally collected my rewired épée blade, and then dropped off my motorcycle for a service. It's only actually done a few hundred miles since the last service, but that was nearly two years ago, and more importantly I now need an MOT. Also, the starter switch has been pretty temperamental for the last few months: it has no effect to begin with, sometimes for minutes at a time (I've been dreading the day when it completely refuses to work and I end up with the bike stuck somewhere).

Sadly, the great guy I always used to take my bikes to (Del Guyver) seems to have gone out of business; rumour has it that his workshop burnt down and the insurance company refused to pay up. So this time round I'm trying someplace different; they'll certainly be more expensive (probably three times what I'd have paid Del) but they seemed like good guys.

Wednesday, October 19, 2005

Day 169

Tried some more playing with Photoshop today, trying to see if the new graphics tablet I bought on Saturday makes things any easier. So far, it seems to help a lot with brush-related stuff, but not so much with selections (although I think I still need to get used to the thing). I'm also beginning to wonder whether I should have coughed up the extra for the full version of Photoshop, rather than just Elements—most of the information and tutorials on the web seem to be for the full version, and there are some key things (Curves, channel masks) that seem to be hard to access or unavailable in Elements.

Monday, October 17, 2005

Day 167

[reading: Barbara Minto, "The Pyramid Principle"]

"Never bring a mace canister to an Uzi fight"

Played in another one-off role-playing session this evening, which was fun—the scenario was kind of a cross between Cube and Saw. I didn't do so well this time—sort of came third out of four—but I did get to be a lot more involved this time.

Saturday, October 15, 2005

Day 165

[reading: Robert Jordan, "Knife of Dreams"]

"Curmudgeonliness is next to godliness"

Grr. It's incredibly annoying how really straightforward things turn out to be very difficult. All I wanted to do was post a letter. It's quite a heavy letter, so I nipped into the post office to weigh it and to check how many stamps it needed. Weighing it was simple enough (83g), but as far as I could tell in five minutes searching, there was no information anywhere about how much it costs to post a letter. In a post office. No leaflets, no posters, no scales with the amounts marked on them. Given the huge queue, in the end I resorted to going home and checking the filthy internet instead. (I should probably have just gone in on a weekday instead, given that I've got Copious Free Time).

Friday, October 14, 2005

Day 164

[reading: Terry Pratchett, "Thud!"]

I'm not usually one for posting links to whatever odd web page is the flavour of the day, but somehow this one really appealed. That's what physics modelling should be for!

I've also turned on word verification for the comment system on this thing. Over the last week or two it seems to have appeared on the radar of some comment spammers; now I get two or three spam comments on every new post. Given that I've had all of maybe two legitimate comments on the entire blog, this doesn't seem like the extra step is going to adversely affect anyone much.

Thursday, October 13, 2005

Day 163

[reading: Geoff Ryman, "The Unconquered Country"]

I've been writing the Preferences dialog for my Palm version of MineSweeper today, so now the game is basically code complete—I just have to play with it and weed out the bugs.

However, getting the Preferences dialog up and running did expose a slight problem that I'm still not sure how to solve. The Preferences dialog allows change of board size and number of mines, and for a large, sparse board this causes a problem in the code that automatically exposes connected blank squares: blowing the stack. The straightforward implementation of this code involves recursion, and the default PalmOS stack is only 4k. At the moment, I've stripped the code down so that nothing gets passed as a parameter to the recursive function (it turns out all the state can be kept in static global variables; the return address is the only stacked state needed) and increased the stack size (to a whopping 32k) and that seems OK for all but the most pathological cases.

Given that I'm having difficulty finding a web page that describes how to increase the PalmOS stack size, for future references here's how: add the following resource and make sure the compiled version (something like pref0000.bin) comes before the application binary in the build-prc link line. The line in red is the stack size as a 32-bit integer split into its (big-endian) constituent bytes.
    HEX "pref" ID 0
      0x00 0x00
      0x00 0x00 0x80 0x00 
      0x00 0x00 0x10 0x00

I remember a time, when I first started programming, when I found recursive code very hard to understand; it's interesting to see that this has reversed, and I now struggle to express some things non-recursively.

Wednesday, October 12, 2005

Day 162

Another Slacker's Lunch, although this time it included an hour or so of strenuous activity (well, actually, playing pool). The place we ended up in seemed to be in the middle of being used for a photo shoot, so we occasionally got illuminated by huge banks of lights. Sadly, the photo shoot seemed to be distinctly lacking in skimpily clad gorgeous models.

I was also hearing about the current state of affair for web app development; it sounds like Ruby on Rails is worth a look as the current best framework for this sort of thing. Things certainly change pretty quick; it was probably only five or six years ago that I lasted worked on a web app, and at the time Javascript + Java applets + servlets + JDBC was about as advanced as it got.

Tuesday, October 11, 2005

Day 161

The main game logic and display is pretty much done, but I've still got to put together a Preferences dialog and a high scores table. And I've rediscovered the bizarre annoyance in PalmOS development that sometimes UI objects are accessed by an ID, and sometimes by an index—probably another hour and a half lost to that (I'm sure I lost even more time to it the last time round).

Sunday, October 09, 2005

Day 159

[reading: Lovelock & Rund, "Tensors, Differential Forms and Variational Principles"]

Serenity was definitely better the second time through.

Friday, October 07, 2005

Day 157

Experimenting with Photoshop Elements a bit more this morning, and I stumbled across a very useful site; in particular, it's got a download that allows access to the Curves function in Elements.

I also started the first stages of putting together another Palm game. Sadly, it's so long since the last one that I'm pretty much ramping up on the environment from scratch again (but at least this time round I've got some existing source code to copy from).

It also looks like we might get a chance to check out some lycanthropic underground mutton over the weekend, ahead of the official release next week.

Thursday, October 06, 2005

Day 156

[reading: Lucius Shepard, "Barnacle Bill the Spacer and other stories"]

One of the advantages of having Copious Free Time is that I get to trundle to an afternoon matinee showing of Serenity, thus getting to see it before anyone else. (Anyone else that's not a jammy git who wangled a ticket to the premiere, that is. You know who you are.)

I was ever so slightly disappointed with the film, though. It felt like they'd stuffed in enough plot for a whole season of Firefly, and as a result had to leave out a lot of the gags and wisecracking that made the original series so good. Plus, they also, er, narrowed the possibilites for future films or series.

Monday, October 03, 2005

Day 153

Drove into town today for a bunch of errands, and I can tell I don't drive regularly these days—my wrists were aching from working the clutch and the brake by the time I got home.

Still, I've got a new épée blade, and more importantly I bought some more whisky. I'd tried Bowmore Dusk and Dawn on holidays and really liked them, but it seems like they're only stocked in airports. Anyway, wandering round London last weekend I happened to find a dedicated whisky shop that stocked them, so I went back with a credit card and a large bag to get some more. Oh, and a new flash bulb (actually two, to allow for future mishaps).

Saturday, October 01, 2005

Day 151

A day for destroying things. On the plus side, dismantling the old shed that came with the house was deliberate; on the less positive side, knocking over my flash head and breaking the bulb while I was trying to play with some photography ideas was less intentional.

On a less destructive note, reattaching the radiator that's leant against the fridge for the last year turned out to be a lot more time consuming than I expected—lots of tweaking of how thick the batons needed to be to get the radiator into the same position is used to be (i.e. where the pipes that feed and drain it still are). I started trying to fill up the radiator after I'd reconnected it, but the pressure dial on the boiler seemed to drop at an alarming rate, so I may have to get in someone professional to deal with it.

Friday, September 30, 2005

Day 150

First draft done, time to bounce off a few folk.

[A:21532 B:408 C:346 D:9187 Total:31473]

Thursday, September 29, 2005

Day 149

[reading: Kazuo Ishiguro, "Never Let Me Go"]

Dismantling my broken épée, I couldn't get any signs of life even with the bare wires and a multimeter, so I see a trip to Leon Paul and a re-wire in my future.

[A:19861 B:408 C:346 D:9187 Total:29802]

Wednesday, September 28, 2005

Day 148

[reading: Gary Spencer Millidge, "Strangehaven: Conspiracies"]

Somewhat distressingly, my favourite épée stopped working this evening. I had to resort to one of my older blades—probably over ten years old, looking a big the worse for wear and distinctly banana-shaped (somehow I don't think it would pass the relevant regulation). Changing weapon did make it clear that things have improved over the last ten years, though—the old blade felt much heavier than the newer one.

[A:19861 B:408 C:346 D:9187 Total:29802]

Tuesday, September 27, 2005

Day 147

Spent a little time this afternoon trying to persuade my new printer to do manual double-sided printing and booklet printing.

The raw script I found wouldn't let me pause to reverse the order of the paper (and seemed to over-shrink things too), so I found a more idiot-proof GUI application that claimed to do the job. However, $49 seems a bit excessive for a tiny bit of page shuffling, so a little further searching found a free tool that seems to do exactly the same thing—job done. As I've mentioned before, I really don't understand how some folk out there expect to get comparatively large amounts of money for small bits of code.

[A:19861 B:408 C:346 D:9187 Total:29802]

Monday, September 26, 2005

Day 146

A bit more scribbling today; someday soon I might even have a first draft.

[A:18672 B:187 C:3 D:9187 Total:28049]

Sunday, September 25, 2005

Day 145

Things I've Learnt From Shakespeare:

(Continuing the cultural theme for the weekend, we went to see A Winter's Tale at the Globe.)

[A:15321 B:155 C:3 D:9187 Total:24666]

Saturday, September 24, 2005

Day 144

[reading: Barbara Hambly, "Circle of the Moon"]

Met up with my father and my brother this afternoon, in what turned out to be an almost entirely failed attempt to fit in some Culture.

First, we tried to get into the World's Most Photographed exhibition at the NPG, but were told we could only get tickets for three hours later. Then we went next-door to the National, to maybe take a look at the Stubbs exhibition, but baulked at the price. Finally, we wander'd divers back routes to the British Museum, where we were told that the Persian exhibition was sold out for the day. We did finally get into an exhibition of watercolours by someone I'd never heard of before, though. He had an odd style for watercolours: a sort of stippled, crayon-like effect with very few washes (although those washes were used to great effect, for example on water reflections)

[A:15321 B:155 C:3 D:9187 Total:24666]

Friday, September 23, 2005

Day 143

[reading: Richard Morgan, "Woken Furies"]

Vicarious Moral Turpitude

Mike and I were discussing a bit of a quandary in the pub this evening: how can we figure out whether the most recent Goldfrapp album is any good or not? Obviously, the first album was great, but that was significantly overshadowed by the grim awfulness of the second album. Having been badly burnt by buying the second album, we really don't want to make the same mistake again.

Since we're both annoyingly smug about not having any music that we don't own the CD of, that rules out the obvious solution of checking out the album by downloading some MP3 files from the filthy internet. So we settled on the idea of getting someone else (with greater moral flexibility) to download the album and check it out for us. Possibly even to have them play it sometime when we visit.

[A:15321 B:155 C:0 D:9187 Total:24663]

Wednesday, September 21, 2005

Day 141

[reading: Neil Gaiman, "Anansi Boys"]

I do sometimes wonder how normal people cope with computers.

I shuffled the home network setup this morning. Previously, an old machine with two network cards was acting as a router for the internal network, but I have to turn that machine off whenever there are guests staying in the room—which means no access to the filthy internet the following morning. So I shuffled the wireless router (which was previously just acting as a wireless access point) up to take its place—since it doesn't have a fan, there shouldn't be a problem leaving it on when folk are sleeping in that room—and reconfigured all of the machines on the house LAN.

Now, in the event this was a fairly straightforward operation—I just had to reconfigure the static IP setup on all of the machines and clone the MAC address of the previous router—but I wondered how someone who doesn't work with computers would get on. To be honest, I sometimes even feel that I can only cope with this particular sort of stuff because I worked in the same sort of field for a while.

I guess the same sort of thing causes problems with other things too. As far as I can tell, the whole premise of APS film was just to have a new format that was impossible to load into the camera incorrectly; likewise, any number of systems (VCR plus, barcode readers, on-screen menus, ...) got invented to make it easier for users to deal with programming VCRs.

Encountered an awkward etiquette problem at fencing last night. I was chatting to someone that I'd fenced earlier in the evening, and she was bemoaning the fact that she'd been 8-5 up against me, but had then lost 10-9, and that this seemed to happen to her a lot. I had to stop myself from blurting out: "You didn't realise that I gave you the first six points?!". Given that she says this happens a lot, I guess I'm not the only person doing so.

It did get me wondering, though, as to whether I should be giving away points to recent beginners. I just figured there's no fun and little benefit in losing 10-2 to someone in about four minutes; instead, I try to reward decent attacks with points to encourage learning. But maybe that's a bit too condescending; it certainly used to annoy me at my previous club when the better fencers used me as a practice dummy for some particular attack they were working on (it's kind of embarassing when someone does the same thing eight times in a row and hits you seven out of eight).

[A:14298 B:155 C:0 D:9187 Total:23640]

Monday, September 19, 2005

Day 139

[reading: Michael Flocker, "The Hedonism Handbook"]

Another day closer to the worms. In fact, officially half-way there.

[A:12056 B:155 C:0 D:9187 Total:21398]

Saturday, September 17, 2005

Day 137

After a quick excursion to get some more frames, so I could mount and frame a few more pictures (although the last pair are going to need a custom sized frame) in time for holding the evening's party.

I also nipped out to get an Eye Toy, which worked very well as a good party ice-breaker. I was much tempted to put a blank video into the VCR and record everyone's antics through the evening, but I didn't quite get around to it in the end. After the Incident With The Coasters, I don't think Mike would ever forgive me if I had.

Friday, September 16, 2005

Day 136

Last little bit of kitchen DIY today—fitting some beading around the fireplace and a partition strip along the edge of the main tiled area. And in theory, that's everything done. For now. Which may be just as well; in the gym afterwards, my knees were aching too much to do a full set of exercises.

Still, on the plus side I discovered that my concern about needing to recalibrate one of the machines was unfounded: the gym has merely managed to set things up so that some of these machines ask for pounds, and some of them ask for kilos, and I was just using a different instance of this machine than I usually do. Sigh.

I also got around to framing up a couple of the pictures from the Thailand trip, which involved digging out my mount cutter. I'd forgotten how useful this thing is, at least in comparison to the hand-held cutter I used to use; zip, zip, zip, zip, one neatly cut mount. I just wish I'd bought the longer version—one of the mounts I was cutting was too long (the picture was by an artist who needed a reasonably sized canvas) and I had to resort to more freestyle cutting.

Thursday, September 15, 2005

Day 135

[reading: John M. Ford, "The Last Hot Time"]

Galloping into the home straight now. Grouting the tiles and refitting the kickboards and sealing the worktops and putting up a curtain rail and back to the tile shop to return tiles and get a partition strip.

Wednesday, September 14, 2005

Day 134

And on to the tiling. Once again, trying to lay a rectangular grid onto anything in this house reveals the curvature: what started as small gaps between tiles ended up as quite large gaps by the time I'd tiled my way out of the back door.

Speaking of which, I thought I'd been quite cunning. I carefully opened up the patio door so that I could lock the back door and re-enter the house via the patio door, without having to cross the still-drying tiles. Turns out, though, that the back door won't lock from outside, so I had to resort to flipping the bolts with a long stick.

Tuesday, September 13, 2005

Day 133

Had an annoying discovery at the gym today: I finally noticed that when I'm setting up one of the machines, it's asking for my weight in pounds rather than kilos. In contrast to every other type of machine in the gym. It's particularly annoying because this is the machine that made me feel particularly virtuous—I was racking up lots of (putative) calories on it. So I'll have to try again with the correct weight and see what difference recalibration makes.

Following on from yesterday's attempt to fix skirting boards, today I attempted to fix skirting boards. My previous attempts fell off as soon as I looked at them, so I tried again; hopefully applying a certain amount of BFMI and a bigger hammer might sort the problem out.

Tearing up the nasty laminate floor was more fun, though. There's always something visceral about snapping and breaking things. After a bit of quick-set cement to level out the worst of the warping on this particular bit of floor, things are ready for some floor tiling.

[A:12056 B:155 C:0 D:9187 Total:21398]

Monday, September 12, 2005

Day 132

Today's DIY attempts got me thinking about differential geometry.

One of the things about living in an oldish house is that nothing is quite square or quite straight. As I was trying to fix new skirting boards to the walls in the kitchen, this became increasingly clear. If one end was flush with the corner, the other end was an inch above the floor, and vice versa. Not content with one axis of distortion, the wall is also (of course) not straight, so the skirting board had to bend along its length (which is at least possible— I had to just pick a compromise position for the first axis of distortion).

So I guess something that looks straight to the naive observer but which is actually curved in two different directions would have some number of non-zero components for its Riemann curvature tensor. And to be honest, I'm not sure there wasn't some torsion in there too.

Of course, the actual attachment of the skirting boards was made more difficult by the fact that the masonry nails I was trying to use wouldn't go into the wall. I was hitting them pretty hard with the hammer, but they just stopped after a bit, then gave out sparks and bent rather than sinking deeper into the wall. In the end, I had to just glue the skirting boards to the wall, and use the partially-sunk nails and some jerry-rigged contraptions to press them against the walll while the glue dries.

Tiling the fireplace moved from an affine connection to a metric, with 15x15 cm tiles acting as a suitable coordinate patch. One direction was reasonably flat (thanks to some earlier efforts), but the other two directions only looked rectangular. Still, at least I now have the tool of choice for adjusting the metric, even if non-square cuts have to be done freehand (at risk of dedigitizing). Reg also decided to assist again but since tile glue is less permanent than paint, I just ignored the pawprints.

[A:12056 B:155 C:0 D:9187 Total:21398]

Saturday, September 10, 2005

Day 130

Hopefully the redecoration stuff is heading into its final stretch; another visit to Homebase today, to get the last supplies (skirting board and timber).

We also headed into Wood Green just as the heavens opened with some pretty torrential rain. Sitting in the coffee shop, I noticed that the water wasn't just streaming down the pavement; it was bubbling up from beneath the paving slabs, forming little geysers a few inches high. After a few minutes, I also noticed that the traffic was flowing oddly and stood up to see that the main road through the shopping centre was flooded (to around a foot deep).

Wandering back home, the knock-on effects on the local traffic looked pretty bad. The knock-on effect on the local wildlife was also interesting: we spotted a very large, slightly bedraggled-looking rat scuttling across a playing field, presumably driven out of the sewers by the amount of water. A large crow gliding across the field towards it raised the prospect of seeing nature red in tooth and claw (or should that be beak?), in the, er, flesh—but the rat turned tail and fled before the crow could pin it down.

[A:12056 B:155 C:0 D:9187 Total:21398]

Friday, September 09, 2005

Day 129

[reading: Yvonne Choquet-Bruhat et al, "Analysis, Manifolds and Physics"]

Tried to start on the first little bit of floor tiling today, but when I took a closer look at the fireplace area I was aiming at, it was nowhere near flat and solid enough. So tiling will have to wait for another day, while my repairing and levelling efforts (using some spare cement I had lying around) dry.

[A:12056 B:111 C:0 D:9187 Total:21354]

Thursday, September 08, 2005

Day 128

[reading: Lois McMaster Bujold, "Brothers In Arms"]

For some reason, a whole bunch of my clothes seem to be dying all at around the same time. While I was in Thailand, I had to bin around four shirts because of holes and fraying (and ripping), and since then I've thrown away a couple more and also a couple of pairs of trousers.

So this means I had to encounter the horror that is clothes shopping. The key technique is to treat it like a precision military operation: pre-identified objectives, in at speed, locate and deal with the targets, then out at speed. Operation Trousers And Shirts.

Still, one of the benefits of Copious Free Time is that I can do this on a weekday and avoid the worst of the crowds. This also segued nicely in to the latest Slacker's Lunch, although this one was a bit different. Firstly, my fellow slacker appears to have actually done some stuff on his project, which rather seems like cheating. More disturbingly, he's had a gut infection and so was off the beers, which slightly spoiled the point of the whole thing (for him at least; I spurned the temptation to be sympathetically teetotal). Anyway, some interesting discussions and I've recruited him to be a test reader for my random scribblings, to confirm whether they're as dull and anodyne as I suspect.

[A:11488 B:111 C:0 D:9187 Total:20786]

Tuesday, September 06, 2005

Day 126

[reading: Charles Stross, "Iron Sunrise"]

OK, that's a bit more like it—a bunch of random scribbling about software design today.

This evening we also went along to the local council hearing about the application for extended opening hours for the pub on the corner. The whole thing took about two hours, which was mostly a waste of time as it became clear about halfway through that the council would only be able to reject the application on some specific legal grounds—none of which we had. Of the four specific areas (prevention of crime and disorder, public safety, prevention of public nuisance, protection of children) only 'prevention of public nuisance' was likely to be relevant. Since no-one had ever complained about pub under the current opening hours, there is no evidence of nuisance and so no grounds to refuse the license.

So, license granted. There were a couple of smaller bits of good news, though. Firstly, looking at the minutes from the previous meeting of the council's licensing group, it looks like several pubs in the centre of Wood Green are getting late licenses, which alleviates my worry about drunk people coming out from Wood Green at 11:30 in search of a late pub.

The other piece of good news is that, while they now apparently have to hand out late licenses to anyone who asks for them, they will also apparently take the late license away again if there are problems, more easily than before. If that's true, then it works out to be almost sensible: we all try living with the late license and see if there are any problems, and come back and revisit the issue if there are. (Slightly tedious, though, as we probably now need to keep a log of whenever we get woken up by passing revellers).

[A:10808 B:111 C:0 D:9187 Total:20106]

Monday, September 05, 2005

Day 125

Hmmm. Not the best start for the plan. Still, at least I managed my first gym visit for about six weeks.

[A:7827 B:111 C:0 D:9187 Total:17125]

Sunday, September 04, 2005

Day 124

More DIY looming in the wings, after a visit to the tile shop to buy floor tiles. Still, at least I should now have the right tool for cutting them up.

I also managed to be completely idiotic about rewiring a rotary clothes line; I happily unravelled the new line and just started pulling, only to discover two minutes later that 40 of the 60 metres of line had completely tangled itself up. Much as I was tempted to employ the Alexandrian solution, I resisted and instead spent half an hour untangling everything again.

Also, as of tomorrow the plan is to finally start working on some (non-DIY) projects, rather than flolloping around. We'll have to see how that goes.

[A:7827 B:111 C:0 D:9187 Total:17125]

Saturday, September 03, 2005

Day 123

Finished my old code resurrection, and so for old time's sake I re-ran one of the master scripts: ginger. This does a whole bunch of algorithms and tests over a file of time series data, generating plots and dumps as it goes. It's also reassuring to see that Moore's Law has had its effect over time—back in 1993 it would take hours to run on the fastest SPARC workstation of the era; now, it runs in a minute or two on my current laptop. Even my four-year old Linux laptop copes with 12,000 points of Lorenz data in minutes rather than hours.

Friday, September 02, 2005

Day 122

I started revisiting some code I wrote back in around 1993 this afternoon, to get it back working again. It's interesting to see what my code from back then looks like; pre-ANSI C declarations look particularly odd now. Fortunately, most of the compilation problems seem to be trivial to fix so far: old header files (malloc.h anyone?) and old-style multi-line string continuations.

Thursday, September 01, 2005

Day 121

The postman delivered my first set of prints from the better photos I took on the trip. The prints look fairly decent, but a little darker than on screen; I guess I need to do some gamma calibration. I also spent a lot of the morning fighting my new external hard disk.

Just a bit of BIY today: recoating some areas of yesterday's painting, reattaching the extractor fan and reinstalling the shelves in the fireplace.

Back to fighting new computer hardware this afternoon.

Wednesday, August 31, 2005

Day 120

The basecoat didn't really smooth things out that much, but I went ahead and painted the walls anyway. Six hours later, the first pass is done, and I'm too tired to bother going out fencing.

Tuesday, August 30, 2005

Day 119

More painting today. Starting from the top with the ceiling, then some basecoat for the walls. According to the tin, this basecoat is supposed to smooth out the walls too, so we'll see how it copes with my somewhat amateur attempts at plastering.

On the wasp front, it seems our helpful neighbours are way ahead of us. They'd already localized the wasp nest to the chimney, and the council are booked in for later in the week to take a look at it.

Monday, August 29, 2005

Day 118

I think I've located the wasp's nest. My study has a vent connecting into the chimney; as this was my prime suspect for the location, I taped clingfilm over the vent. As of this morning, there are a couple of dead wasps stuck between the vent and the clingfilm, so that seems pretty conclusive.

Only a little BIY today; 24 hours duly having past, I could go back and grout the restored tiles. It took rather longer than I was expecting, but I wasn't sure that I had enough grout so I had to restrain my profilgate tendencies and do things a little more catiously. Finished that just in time to go out dancing for the first time in a while. I'm still feeling very rusty (only been out half a dozen times in the last couple of years), but at least I seem to be slightly fitter than the last time I did it.