Author Archive

Hampshire Cross Country Champs 2026

Sunday, January 4th, 2026

I wasn’t entirely sure whether I was going to make this year’s Hampshire Cross Country Champs. Illness had been circulating around the house over Christmas, and I woke in the middle of the night with my nose streaming. Remarkably, it had cleared by the morning. It was pretty perfect racing conditions: cold enough that the ground remained firm, but not so cold that it lacked a bit of give. Duncan even warmed up our shared spikes for me in the U17 race!

It’s four and a bit laps of the grounds of Fairthorne Manor for the senior race. I took it fairly cautiously over the first two. The plan was to pick up the pace in the third, but I was wary of peaking too soon. It was only on the final lap that I began to overtake other runners. I should have pushed harder, as I’m no good at sprint finishes (the picture above, sadly, shows me being overtaken on the run-in).

I was the first Eastleigh runner home, and my time and position were both better than last year. With a significant birthday later in 2026, I’m somewhat motivated to be just a second behind third place in what would be my new age category (though not the runner who overtook me!).

In Control at Alice Holt

Friday, January 2nd, 2026

I qualified as a Level C orienteering controller in mid-2024, but with club Chair duties taking up much of my spare capacity, it never seemed like the right time to say yes to controlling an event. That said, Southern Navigators approached me in mid-November seeking a controller for their event at Alice Holt at the end of December. With the maps having to go to the printers before Christmas, the limited runway meant there was only so much of my time it could consume, and I eventually agreed to take it on.

(more…)

Run the Pubs (20th Anniversary Edition)

Tuesday, December 23rd, 2025

It’s 20 years since the first Run the Pubs took place. Looking at the photo from that first run, I could have worn the same outfit if I’d realised it was a significant anniversary, as both the shorts and top are still in my running wardrobe. Congratulations to Andy H for being the only other one of those original five runners to make it out again (though as a teenager, Martin was on drinks duty for that first run).

It was a pretty murky start as we set off from Nomansland, but thankfully, the forecast rain never arrived. There was plenty of opportunity for getting wet and muddy from underfoot, though. While visiting only two pubs, we managed nearly 20km this year and, most importantly, didn’t get lost! Thanks to Andy A for all of the cat herding!

Advent of Code 2025

Sunday, December 14th, 2025

I completed Advent of Code again this year, using Kotlin once more. I’d failed to read the full details on the first day and had to have it pointed out to me that there would only be 12 days this year. There was a massive sigh of relief, not least from the rest of my family!

The first eight days all went very smoothly. I was able to get both parts completed in half an hour or less before starting work in the morning. There was even time to tidy up the code a bit so I could push it to GitHub on the same day.

Everything fell apart a bit for Part 2 on Day 9. I was overly concerned about the scenario where the rectangular areas ran along the edges of the larger shape. In the end, it was sufficient to check whether any edge of the shape intersected the rectangle.

Day 10 was the first and only day that I had to pull in another dependency. I used Microsoft Z3 to determine the required button presses given the constraints in Part 2. I wish I could say I hadn’t wasted a lot of time trying alternative solutions first.

On Day 11, I cracked and resorted to using Copilot to help create the solution for Part 2. I had worked out that the minimum state I needed to track was the number of paths containing either of the special devices. It was Copilot’s idea to use a bitmask to store that information efficiently. It also provided the algorithm for the device topology sort, so they didn’t need to be revisited during the search.

Copilot aided again in the solution for Part 2 on the final day, providing most of what you see in canFit. When looking at the solution thread before writing this, I was somewhat dismayed to discover that it wasn’t necessary to attempt to place the presents at all – just checking whether there was enough space under the tree would have sufficed. My solution runs in around 45 seconds, but I’m now left wondering whether the heuristic used to select the type of present would hold up under a more complex topology.

All in all, I enjoyed this year’s challenges, but I am glad to be able to resume my morning walks before work for the remainder of December!

Blood, blood, glorious blood

Sunday, November 16th, 2025

I had thought the occasion had gone unmarked, but this week an envelope dropped through the letterbox containing a certificate, pin badge, and shiny new gold card, to mark my 50th blood donation. Part of me wonders why it has taken over 30 years to reach my 50th donation, but there have been plenty of gaps where foreign travel, competition, illness, or in one case, a scale and polish, have intervened.

Will I get to 100? Maybe. You can now donate every 12 weeks, and with the Southampton donation centre having relocated to Chandler’s Ford, I don’t even have to wait for a local donation session. (I checked: you can’t donate on Christmas Day, but you can on Boxing Day!) With over twenty years of donation still left in me, that target should be doable.

Eastleigh Remembrance Day Parade

Sunday, November 9th, 2025

Duncan was once again playing with the 14th Spitfires Scout and Guide Band as part of today’s Remembrance Day parade in Eastleigh. It did rain at one point, but luckily for the musicians, they were in the bandstand at the time! I was following along, taking more pictures than were really need (now on Flickr). No video this year, I’m afraid, but they were sounding good.

Orienteering with the Martians

Saturday, November 8th, 2025

Duncan and I went to the SN Saturday Series event at Horsell Common today where, as has now become the norm, he beat me. This was followed by some junior training which mostly involved me soaking up uncharacteristic November sunshine.

I had to have the significance of the sandpit adjacent to the start pointed out to me. Despite having reread it in the past year, I’d failed to remember that Horsell Common is the setting for the start of H G Wells’ War of the Worlds. The sandpit is the landing site for the first Martian…

XML Google Maps to OSM Plugin Migration

Sunday, November 2nd, 2025

The recent spat between Garmin and Strava reminded me that there was a time when I used to post GPX files on this blog for orienteering events and my more interesting runs. I then used the XML Google Maps plugin to render those GPX files. That plugin failed to survive a PHP upgrade many years ago, and the maps were gone. I sensed another opportunity for Copilot…

(more…)