A Good Time Not to Get Sick

This is our local NHS GP surgery.

I’ve no idea what the background is here, but the notice says it’s had a visit from the bailiffs and the office has been secured for non-payment of commercial rent.

I know NHS practices largely have to run as independent businesses these days, but even so, it’s kind of shocking to think of an NHS doctor simply being evicted or going bust. This seemed like a pretty normal practice—rather overworked, sometimes a bit impatient, mostly effective. But the market has spoken.

None of us has had need of a doctor lately, but I don’t quite know what you’d do if you turned up for an appointment  and found this. Other than go away again, of course.

I wonder what we should do—register with another practice now, or hope it reopens before we need it.

Speaking of learning to code

Dialogue in Oracle vs Google, between Judge Alsup and Oracle’s lead counsel David Boies:

Judge: We heard the testimony of Mr. Bloch. I couldn’t have told you the first thing about Java before this problem. I have done, and still do, a significant amount of programming in other languages. I’ve written blocks of code like rangeCheck a hundred times before. I could do it, you could do it. The idea that someone would copy that when they could do it themselves just as fast, it was an accident. There’s no way you could say that was speeding them along to the marketplace. You’re one of the best lawyers in America, how could you even make that kind of argument?

Oracle: I want to come back to rangeCheck.

Judge: rangeCheck! All it does is make sure the numbers you’re inputting are within a range, and gives them some sort of exceptional treatment.

(via Groklaw)

Software Carpentry

Elsewhere on my tour of the north-east, I’ve been helping out this week at the Software Carpentry boot camp at Newcastle university.

These events are aimed mostly at postgraduate research students who need to write software for research. They try to provide just enough training in real-world software development techniques to get people started with writing reliable, testable code and managing it properly.

The idea is not so much how to program, as how to program efficiently—choosing and using sensible tools, and applying coding techniques that have been shown to improve productivity. It’s absolutely not a software engineering course, but rather a course on applying a few software engineering techniques to make for better scientific work.

Although the course is only two days long, it gets through an introduction to shell scripting, version control, Python programming, test-driven development, pair programming, and databases with SQL, as well as a certain quantity of philosophical material. Everything is hands-on, with attendees “coding along” with the presenter. So it goes along at a fair pace, and although no particular experience at programming is necessary, an analytical mind and a lot of attentiveness are.

I presented the version control segment at this and the previous workshop, using Mercurial, EasyMercurial, and Bitbucket. It was a bit seat-of-the-pants the first time around, but had settled in a little the second time. Even so, it’s a very ambitious segment: we have two hours to go through a real, working editing process using the EasyMercurial user interface, Mercurial command-line, and Bitbucket web site, working with others and resolving merge conflicts, for an audience who have largely never encountered version control software before. When it works out, of course, it’s very satisfying and we had generally encouraging feedback from the attendees in Newcastle. (If you were there and have any thoughts on how to do better, please do get in touch.)

The Software Carpentry project, started by Greg Wilson around fifteen years ago, is an open source scheme that anyone can get involved with. The Newcastle workshop was the latest in a long line of presentations of Software Carpentry material around the world, but it was the first in the UK to have been given without having Greg’s experience on hand (he lives in Canada) and thus was something of a learning experience for the presenters as well as the participants.

That’s sort of the idea, though, so if you know your onions and like the idea, you might like to try helping out in a future workshop.

See the brief report from my project, or feedback from attendees.


I’m delighted to be able to say I completed the first Marathon of the North in Sunderland yesterday.

I hinted at this in my previous post, but midweek before the race I was feeling terrible—I’d had colds and aches; my last training run on Thursday was stereotypically awful, with bad cramps and a sore right knee that had me thinking evil thoughts about joint damage; and I spent much of Friday walking a bit like Dad did before his first hip operation.

So it was a great relief to find I felt better on Saturday and quite good on Sunday, to find the running painless once I got started, and actually to be able to finish the thing.

I had to stop and sit down, feeling sick and dizzy, with a few kilometres to go—but I got around in four hours and ten minutes and I’m jolly pleased with that. It seems to be considered a difficult course and my finishing time was only 53% over the winner’s, which I reckon is pretty fine.

Meanwhile, I’ve raised over four hundred quid for Shelter and I’m really pleased with that. Many thanks to everyone who has donated.

Is it good for Sunderland?

I think around 1500 people entered this event, and about 1100 finished it. The first Kielder Marathon, organised by the same people, managed a similar number of entrants despite being miles from the nearest city. The inaugural Brighton Marathon, in 2010, saw over 7000 participants, although that probably included a lot of Londoners who couldn’t get into the London marathon. This one doesn’t seem to have been all that popular.

I’m guessing that a ten-thousand-entrant marathon in your town would be pretty good for business, but one at this scale surely can’t be. There were a lot of complaints locally about road closures, and we heard that many business owners—hotels, taxis, pubs etc—felt there was a lot of local effort going into it in exchange for nothing but a big loss of custom. To put on an event like this for only 1500 runners is asking quite a lot.

But for the runners and spectators, this was a wonderful advertisement for Sunderland.

I grew up in and around Durham, but I haven’t often been to Sunderland and I’ve had an impression of it as a pleasant but rather characterless town on the river mouth. Running the marathon route has completely changed that impression for me. The route missed out most of the very visible modern commercial streets along the south bank of the Wear, instead covering streets with varied, mostly Victorian architecture, several lovely parks, long stretches of sandy coastline both north and south of the city centre—Sunderland comes across as a rather beautiful town, and this is a fantastic route for anyone who likes to look at their surroundings while they run.

For family supporters it was even better.

It’s true that watching a marathon can be pretty dull, and I’m full of gratitude to the people living along the route who had enough patience to keep cheering us on right to the end. (Early on in this event we ran past a couple of kids standing with bikes on a street corner, staring at us and saying “I can’t believe how boring this is”—I laughed at that; they were quite right.)

But for out-of-town supporters, although the sunny weather played a big part, the route here was ideal. It expanded and contracted like flower petals around a few streets in the centre, in a way that looked tricky on the map but that allowed my family to drift around the town centre, see some sights, have a coffee and still wave on their runner four times in different places on the route.

On the train back to London, we asked the kids: so, Sunderland—what did you think? They were both keen to come back. The beaches, the river and sea, the Winter Gardens cafe, the guest house with its excellent breakfast, the Roker amusements with two-penny coin-drops, the pub with the FA cup final, friendly people and nice food, being able to hang around at the Stadium of Light for the start and finish, waving at your dad while he runs: it’s a good deal for a bank holiday weekend.

I felt a bit of an awkward impostor, talking to the owner of our guest house at breakfast, in saying I hoped this event would be a big success in future years. It doesn’t seem to have been very helpful to them or their friends this year: they were right on the route and had just the one marathon-related booking (us) and a weekend of trouble.

But I do hope it’s a success. I’d like other people like me, who should perhaps know this already, to be shown what a fine town this is. I would hope that runners aren’t put off by the difficult course and will want to run it because of the interest and variety along the route. I’d like this to be a ten-thousand-runner marathon in a year or two, and I think it deserves to be.


Marathon training programmes, at least for inexpert runners, seem to follow a common pattern. You increase your distances gradually week by week, peaking with long runs of around three-quarters of marathon length. (Why not longer? I suppose it isn’t considered worth draining your reserves completely and risking injury.)  Then there’s a “tapering” period for the final two or three weeks, during which distances drop off again before the race day. Apparently, science indicates that this improves your ability on the day.

I’m in the last week before the marathon and, to my surprise, I’m finding this strangely difficult.

First, it’s tricky to keep focused. I know I’m supposed to be concentrating mainly on diet and general well-being during the last few weeks.  But I’ve found myself feeling as if the hard work has been done, so now I can just give up and go to seed again.

A friend who was a heavy smoker once said that starting to give up smoking was no problem: the difficult bit came after a few weeks when you caught yourself thinking “well! that was easy—now for a cigarette”. It feels a bit like that: as if the event has already been done, merely through training for it.

Meanwhile, I feel much less fit than I did a month ago. My last 30-or-so km run was pretty enjoyable, and at the time I felt I could just keep going for another 10km and be done with it. But I went down with a nasty cold straight after that, and since then I’ve been struggling. Any cough must be the onset of a terrible flu; any pain seems like a potentially disastrous injury. Back a bit sore from sleeping all wrong? Knee feeling a bit funny? Shoulder aching, possibly a recurrence of that old mousing injury? I’m never going to be able to run with that.

I’ve run about 530km during the last twelve weeks—more than a marathon’s distance a week on average—but all that training seems a very long way away.

As a consequence, and probably for the good, my expectations are now far lower than they were. I generally run at the equivalent of about a 4-hour marathon on long runs, but in training I’ve sometimes felt so comfortable I’ve started daydreaming about unexpectedly superb competitive results. Now I’m back to thinking of it as a day out in which I happen to be running about a bit: just hoping I get to the end without my legs giving out too badly.