Weeknotes 2023-28

Something I forgot to add to last week’s catch-up edition was that for some reason (I think it was being randomly recommended this video on YouTube) I recently decided to learn how to solve a Rubik’s Cube. I’m old enough that I had one when they first came out, but it was always beyond me. I remember eventually getting a set of instructions, but it was a very painstaking process, with what I remember as fairly complex algorithms to switch two pieces at a time. Things seem to have moved on now, with a variety of solving techniques that get more involved as they get quicker. It turns out to be quite addictive – the beginner’s method is quite east to pick up, but I’ve found myself slowly trying to learn fancier techniques, although I’m still not particularly quick. I did manage to get under a minute once, but that very much depends on the last layer ending up in a configuration that I remember the moves for.

I got round to installing Styler in my work project this week. It’s an Elixir linter that has one fixed set of rules and runs as part of the (equally opinionated) language formatter, which I have configured to run whenever I save a file. It replaces a lot of checks that were previously in the domain of Credo, but without the nuisance of having to fix them when they fail the build. It did break some stuff on the initial run, as predicted by the readme, but once those were sorted it’s been working well. The commit that added it was possibly my biggest ever though, weighing in at 3,973 files, 16,603 insertions and 13,129 deletions.

World’s biggest commit. Also notable that I’m maintaining a very long habit of not configuring a separate commit email for my work projects.

After a work meal on Thursday I finally found myself in a pub that had the local Camra magazine on display, and picked up a copy, with a cover photo featuring the bunch of us that went on the bus pub crawl a few months ago (despite none of us actually being a member).

Cover stars!

The Friday 5s are all done now, but Friday evening racing isn’t quite over yet. This week it was the Ipswich Twilight 10k, which is held on closed roads round the town centre. After a bit of rain earlier in the day, we started in the dry, but the heavens opened halfway round and it was like standing in the shower in your running gear (but also running, obviously). I didn’t feel like I’d gone that well, but it turned out to have been my fastest at that event (if some way off my 10k PB). I had had the presence of mind to take a dry T-shirt and jumper with me, but that didn’t avoid having to sit in the pub in soaking wet shorts and trainers. Fortunately they had plenty of time to dry out, as thanks to Gary arriving just as the remaining two of us were finishing what would have been our last pints we ended up staying until chucking-out time, which I now know is 1.15am. I still managed to get up in plenty of time for parkrun though, although my level of wakefulness was revealed when I made my morning coffee, and forgot to put the cup under the grinder.



Weeknotes 2023-27

Firstly, apologies for the hiatus to the two or three people who might have noticed. Most of this was thanks to a PHP upgrade breaking my blog for a while (I really ought to migrate to a static site). I’ll include the past couple of months in this update, although that’s straying slightly from the weeknotes format.

The end of May was a sad time for the local running community, after my friend Ben was tragically killed in a cycling accident. He was extremely well-liked and, to quote the words that were read out at the start line of the Kirton 5, “a great runner and an even greater man”. There were tributes at parkrun and at the Woodbridge 10k, and the funeral saw around 100 runners and 20 cyclists escorting Ben on his final journey, with a celebration of his life featuring dozens of stories of the lives he’d touched.

Club tribute to Ben at the Woodbridge 10k
Funeral procession

OK, that’s the emotional bit; now on to the trivial.

Happy to report that my bargain car is still working, and I also finally got the Roadster recovered from Felixstowe (although I haven’t yet got round to selling it). I sorted the Mini’s broken stereo by sourcing a second-hand CD/radio/speedometer combo (yes, it does seem weird that they’re basically an integrated unit) from eBay for £50, and while I had the dash panels off continued the eBay spree to upgrade to the optional “secret compartment” (not secret any more) above the glove box (£19), and a leather steering wheel (£14). It’s nice to be able to drive people to races now I have four seats instead of two, instead of always being the lift scrounger.

Stereo/speedo replacement

I lost my 138-day streak on Wordle.

Running-wise, in the eight weeks since the previous note I’ve fitted in the Friday 5 series and the Woodbridge, Newmarket and Kesgrave 10ks, as well as a “proper” (ie harder than the taster ones I did earlier in the year) orienteering event today. As you would imagine, I got lost a few times, and managed to stretch the “long” route (4.4km) to more like 8.5 (5¼ miles). One of the controls I struggled to find was in a really hilly bit of the woods too, so I got a bit of unplanned hill practice going up and down steps looking for it. I finished in a solid last place, but then I did have to convince them at the start that I had enough experience to do the long/hard course. I was also sternly warned that my legs would get stung and scratched in shorts, but as it turned out the only notable injury – a lightly grazed knee and hand – resulted from taking a turn too quickly on wet pavement.

Orienteereing, or “competitive getting lost”

As usual, my running mileage dropped through Friday 5 season, but I did just barely scrape through 1000 for the first half of the year.

Faye from work got married on Thursday, and looked very happy about it, as you’d expect. Congratulations to her and Jared!

Speaking of colleagues, a weird coincidence finally spurred me to get this blog back up last week. I got a message from one of the apprentices in our team asking whether I used to own (I did, and it was this site’s original home, but lost it thanks to forgetting to update my email address with the registry and not getting a renewal reminder). It turns out she was putting together references for her dissertation, and came across a paper which cited some random nonsense I’d posted back in 2007. Small world.

That’s about all I can remember. Normal service will resume next week.


Weeknotes 2023-19

I finally bought a car! I went for the “that one will do for now” approach, and took a chance on a 2007 R56 so-called-Mini Cooper on eBay for the laughably low winning bid of £1020 (the least amount of money I’ve paid for a car since some time around 1993). I took the train to Great Yarmouth on bank holiday Monday afternoon to pick it up, and after some minor snags with not being able to find the address, then having to jump-start it because it had been sitting for a while and had a flat battery (we tried pushing, but couldn’t figure out how to get the steering lock off with no power, and there wasn’t enough space in a straight line), got it home without further incident. The fuel light came on somewhere around Beccles, warning me that there was only enough left for 32 miles, but I wasn’t keen to stop too soon in case the battery hadn’t built up enough charge. I was probably closer to 40 miles from home at that point, but I made it back with it claiming to have two miles’ worth remaining. I finally stopped for fuel on the way to Felixstowe on Tuesday evening, with the display having reached zero en route, then given up.

It seems to be generally in acceptable nick, with some service history and a year’s MOT. There are some areas of peeling lacquer on the paintwork, the wheels are a bit battered and the stereo controls don’t seem to work, but I’m sure they can be sorted one way or another.

It’s a bit like a real Mini, but massive.

I also finally got round to getting some quotes to recover the Smart from Felixstowe, so hopefully I can get that done early next week. Someone pointed me to a “Felixstowe News” facebook group post asking if anyone knew about a “mystery car” that had been parked in a road for some time, and against my better judgement I replied, prompting a message from someone asking me to “contact them urgently” about it “causing issues”. Apparently they’d been in touch with the police and Environmental Health (?), who I imagine had told them it was legally parked. I’m sure they’ll be happy when it goes, anyway.

As mentioned last week, we’ve got a two day developer event at work either side of this weekend, and like an idiot I’ve spent most of my free time this week building and deploying a massively over-engineered framework to run a Connect 4 tournament between bots that people are going to spend an hour and a half writing as a (hopefully) fun programming challenge. It’s pretty much finished now, so fingers crossed it works as planned tomorrow.

I had another go at orienteering today (Sunday), this time in Chantry Park, where some of the controls were a bit trickier to find. At least I remembered to start my Garmin this time!


Weeknotes 2023-18

Much excitement in certain segments of the populace this week at the prospect of a rich old bloke being given a shiny new hat by a man in a dress on behalf of his imaginary friend. Not my cup of tea.

We’ve got a developer event at work at the end of next week, and I’ve ended up volunteering to run a coding challenge by way of a bit of friendly competition to break up the day. I’m basing it on something someone else ran years ago, involving writing a script/program to play a simple game against other people, but decided it would be “simpler” to have people play moves using a simple HTTP interface, rather than everyone uploading code and having it run on a server (with all the nightmares of supporting multiple versions of multiple languages that that would entail). As usual this has snowballed into a bigger project than intended, and I’ve already broken my “the company has long since used up any goodwill that might justify me working on it in my free time” rule. Ah well.

On Friday we were discussing Friday pub lunch plans on WhatsApp, and it turned out I’d be cycling there from the office as the other people going this week were all working at home. Convinced I was running late, I rushed to leave, then was confused to find the car park virtually empty when I arrived and worried that they were shut. Then the truth finally dawned on me, and was confirmed when I got my phone out and found a confused reply to my “leaving now, be there around 12.40” message asking whether I was aware that it was currently only 11.26. Fortunately I persuaded them to meet at 12, so didn’t have to wait around for too long. It was finally warm enough to sit outside, although we’d barely finished eating when a massive (but fortunately brief) thunderstorm started.

This weekend was the Stephen Williams 10k, near Bury St Edmunds. This is only the third year it’s been going, and the other two were held on insanely hot days. This time the temperature was much more reasonable, and it’s hard to fathom how we managed to run it when it was 10–15° warmer. All I could remember was that the first 5k was mostly downhill, obviously meaning you pay for it on the second half, but I’d forgotten about the big hill near the end. I finished with a nasty stitch, and an OK but not great time (albeit much better than last year, which was in turn much better than the year before).


Weeknotes 2023-17

After a few false starts, could it be that spring weather is properly here at last? It seems to have crept up to the extent that I got in the shower after running on Sunday and was slightly taken aback to discover that the back of my neck had slightly burned.

It feels like it’s been a very uneventful week, followed by a packed weekend. Saturday kicked off with parkrun as usual, then after cycling back from Chantry Park and having a short rest I ran down to Christchurch Park, where Suffolk Orienteering Club were holding another of their basic events for newbies. I’ve tried it a couple of times before (despite my famed navigational limitations), but I’m definitely still a beginner. I picked the “long” (3km) course, and after a few mistakes found all 19 controls and got back in a mid-table 26:21. For context, the winner was a 16-year-old girl in 20:12, and the other people ahead of me ranged in age from 12 to 70+. While I was there, and as they were all covered by the fiver I’d paid to enter, I thought I might as well do the 2km and 1km routes too. The medium was clearly not a popular option, as I finished in almost half the time of the person who came second, but on the short I only managed third place. I was also very much the only adult tackling the latter distance – approximately 20 years older, in fact, than all five of the other competitors put together! It’s a good job people were running individually, or I would have looked very odd lining up to compete against a bunch of small children.

On Saturday evening I got the train (which I nearly missed thanks to it leaving from an unexpected platform) to Colchester to see Dingus Khan (with support from My Fat Pony and, of all things, sea shanty outfit Motley Crew) at Colchester Arts Centre. I didn’t know much about them other than having seen frontman Ben Brown supporting Pet Needs a couple of times, and having randomly spoken to the bassist at a HMHB gig. I got the impression that they might be a bit mad, and was not disappointed. An entertaining evening despite not knowing any of the songs in advance. There was a general undercurrent of drunken celebration in Ipswich and on the trains, thanks to ITFC winning promotion back up to the Championship, but I managed to avoid most of it.

Motley Crew
My Fat Pony
Ben arrives on stage
Dingus Khan

After that relaxing Saturday, Sunday morning saw me dragging myself out to the Kesgrave Fun Run, a generally enjoyable local tin pot classic charity 5k(ish) race. Despite tired legs, I managed to get round in 20:36 (which sounds better than it is, with the course coming in 100m or so short of 5k). Then in the evening it was back to Colchester, this time to the Three Wise Monkeys to see Pet Needs again. They were excellent as usual, with great support from Bridget and Hannah Rose Platt. A good venue too, with the distinction of serving beer in actual glasses rather than plastic.

Hannah Rose Platt
Pet Needs (I was too close to get all four of them into one photo!)

Looking forward to bank holiday Monday to recover (although in reality it’s already nearly Monday lunchtime as I type this).


Weeknotes 2023-16

The long-awaited return of local GoodGym group runs happened on Monday. Various things, including but not limited to a pandemic, conspired to there not having been any in Ipswich since early 2020 (although there have been a couple of bonus tasks in the meantime), but we finally have a newly qualified run leader/coordinator who seems very keen. This also marked my 100th task (a few years later than expected), which means I get a new T-shirt. Unfortunately it looks very similar to the basic red version unless you’re paying attention, as opposed to the black one I got for 50.

People pointing at me, and me looking embarrassed. We’d just painted the walls.

Wednesday saw another Run for Coffee/Run for Beer double-header. I can’t help noticing that attendance at the latter skews more male than the former!

Run for Coffee
Run for Beer

On Sunday a few of us from work met up at Bin 93 for a board games afternoon. We ended up playing Zombicide, which took about three hours but was good fun. I enjoyed playing an entirely cooperative game for a change, rather than trying to work out who were secretly werewolves, minions of Mordred or whatever. The mechanics of the game worked really well to keep us teetering between “we’re going to win easily” and “we’re doomed” right up to the final round (we did win in the end).

I had half an eye on the London Marathon tracker while we were playing, with a fair few people I know running, and some good results. We were also rudely interrupted at 3pm by the daft emergency siren thing, which somehow came as a surprise to us all even though I’d remembered and warned everyone ten minutes earlier.

Nimboids vs Zombies

Weeknotes 2023-15

It feels like Spring is finally arriving. The branches that fell off my apple tree last year, but are still sitting there semi-attached, have buds on them, but all the branches that are still in their traditional elevated positions seem to be dead.

My baby niece turned 18 this week, which hardly seems possible. Does this mean I’m … old?

Now up to 19/12 (or 19/67) languages on #12in23. Some of them have been more pleasant experiences than others, based largely on the availability, quality and helpfulness of language documentation.

I went to see Half Man Half Biscuit again on Saturday, with Rupert from work. Support were Model Village, who I think I saw supporting the same band in the same venue ten years ago. I wore the Pet Needs T-shirt that I bought at the gig the other week, and while we were waiting for HMHB to come on the bloke standing behind me tapped me on the shoulder to comment on the shirt. Turns out he’s a mate of Johnny from Pet Needs, and is also in Dingus Khan with Ben Brown (who was supporting Pet Needs as a solo act). Small world.


While most of the people I’ve been semi-marathon training with were off running at Boston (UK) or Manchester today I was in Essex for the far more sensible distance of 10k at Little Bromley. It went pretty much to plan, and I shaved 40s off last year’s time, coming in at 42:35. Still a minute or so outside my PB though (am I getting old?). Someone collapsed in front of me just short of the finish line, but there was a paramedic within feet of him so hopefully he was OK. He must have been furious that no-one helped him cover the last few yards to the mat before putting him in the ambulance though.


Weeknotes 2023-14

Almost forgot that today was Sunday, on account of tomorrow being a notional Sunday too.

I’ve finished #12in23, a little early – the dozen I ended up with were 8th, AWK, COBOL, Crystal, Go, Lua, Pharo, Rust, Scheme, Standard ML, Vim script and Zig. I also did a few more exercises from the Ruby and Elixir tracks, so with the abandoned Ballerina my tally currently stands at 14.4/12. It’s kind of tempting to aim for five exercises from each of the 67 available tracks by the end of the year, but I suspect that way madness lies.

Still on the tech side of things, I spent Friday adding Absinthe to my work project (A Phoenix web app), and building an API around a specific (non-database) tool which was previously only exposed via a LiveView GUI. It was all in all a very pleasant experience, and I’m very grateful to past me for building the original feature as a UI-agnostic core component returning trees of well-defined structs, which were very simple to map onto a GraphQL schema. The only remaining snag once I thought I’d finished was that the bundled GraphiQL client doesn’t seem to work on the deployed application, which I assume is something to do with it being behind an NGinX proxy.

A gentle start to the week, running-wise, then a busy weekend, starting with the Sudbury Fun Run (which despite the name is definitely a proper race) on Good Friday. I’d never done it before, but enjoyed it (if you leave aside the usual discomfort of running as fast as you can for five miles). It featured one of those sneaky elevation profiles where you feel like you’re going uphill for ages, then lose all the height gained on a short steep downhill where you don’t really get the benefit. Also an amusing feature where the route went slightly out past a turning in order for us to cross at a zebra crossing and come back on the other side of the road, no doubt much to the bafflement of people trying to drive past in the gaps between runners.

Saturday featured a change of parkrun, with a bunch of us running at Alton Water, then back to some friends in Holbrook for coffee and bacon rolls. The course featured some big muddy puddles – in fact more than a lot of this year’s cross country venues – but I managed to finish in tenth place with a time just outside 22 minutes.

Sunday saw a third day of leg abuse with the annual charity “beat the bunny” event in Chantry Park (basically everyone sets off at staggered times based on their recent form, and tries not to get overtaken by the fastest runner, who is wearing a rabbit onesie). It should have been 5k, but ended up more like four thanks to parts of the park being cordoned off behind police tape after an incident.

I made my “hot cross buns” joke for the nth year, and fortunately managed to offload most of them on Saturday to supplement the bacon rolls, although I still ate more myself than is entirely healthy.

Hot, cross buns

Weeknotes 2023-13

April already.

I think my car has now finally used up its last last chance, and is going to have to go. After behaving itself for a couple of weeks to lull me in to a false sense of security, it decided to go back to its old tricks from months ago, and refuse to start to come home from Felixstowe on Tuesday. Various attempts to push-, jump- and tow-start it failed, and I finally decided to just ask Peter to tow it over the road into a side street so I could park it somewhere other than the sports centre car park and scrounge a lift back with one of the Ipswich folk who’d hung around to help. Unfortunately, being an idiot, I forgot to communicate the plan to said folk, and once I’d locked the car up and Peter had driven off I walked back over the road to find that everyone had (understandably) gone home. This left me having to resort to the train, after a bit of a walk and a chilly half hour wait. To make matters worse, I woke up in the middle of the night with a sudden suspicion that I’d got the magic sequence to allow the daft Smart auto gearbox to bump start slightly wrong, a fact that a quick Google confirmed. If only I’d thought to do that while I was with the car and had a bunch of people around to help push. Sigh.

On Wednesday a bunch of us went to an 80s quiz in the local Wetherspoon’s. Unfortunately after waiting a while for it to start and decided it was clearly not happening, it eventually turned out to be taking place in a different side of the pub (where there hadn’t been any available tables anyway), so it ended up just being a few pints and no quiz. An enjoyable evening nonetheless.

Only one language to go to complete #12in23 now. I started 8th (a dialect of forth), but it’s weird and frustratingly unfamiliar and I haven’t made much progress.

The weather still seems to be all over the place. Properly warm on Thursday, then pouring with rain on Friday. I got soaked walking back into the office after lunch, then soaked again cycling home. I expected a third soaking at the club track session in the evening, but the torrential downpour stopped just as I headed out and didn’t return, and it turned out I’d overdressed with a base layer and long sleeves and was far too warm. The threat of rain must have put people off, as only eight of us turned up.

On Saturday I went to see Pet Needs again, this time in Bury St Edmunds. It was an acoustic show in an art gallery, with only Johnny and George with no drummer or bassist, and with Ben Brown co-headlining and support from Slughouse. The evening got off to a bad start when I left home to cycle to the station and found a flat tyre, and had to quickly switch some lights over to my dodgy old mountain bike (and then it started raining again), but after that small glitch I got there in plenty of time and really enjoyed it. Having gone on my own again I even ended up randomly chatting with a couple I’d never met before, which is most unlike me. We fairly quickly established that we’d been to a variety of the same gigs over the past few years, so I wouldn’t be surprised to bump in to them again another time. The show was sold out with only 60 tickets, although it felt like they could easily have fitted a couple of hundred in there. Some nice idiosyncrasies of a small venue: being able to just hang your coat on a stanchion of the barrier fencing off the cake counter and trust it would be safe; a bar that served beer from those mini kegs you get in the supermarket; and going to the toilet to find myself queuing behind the singer of the band I’d come to see. Oh, and I managed to grab a set list from the stage at the end as a souvenir!

Ben’s noodles arrive during his set (note previous band now in audience)
Pet Needs
Ben joins the boys on stage

On Sunday (after a ten mile run first thing) I cycled to the supermarket because my car’s (a) still not working and (b) (related) still in Felixstowe. Limited by what I could fit in a rucksack, I adopted the strategy of using the self-scanner, starting with the most important items and continuing until the bag was stuffed full. So, naturally, when I reached the till I was randomly selected for a rescan and had to take it all out and cram it back in again.


Weeknotes 2023-12

Last week I mentioned some minor annoyances with my electronic drums. The main one is that the hi-hat controller often fails to register that it’s closed, meaning you have to lift your foot up and try again until it gets the message. It occurred to me that maybe the solution would be to just replace that controller (or possibly the whole hi-hat assembly) with a better one, then a web search took me immediately to the details of an upgraded controller that the manufacturer has released for the same kit. Then somehow researching that I ended up on their firmware updates page, and noticed that there’ve been a couple of new versions released since I bought the drums. I downloaded the latest files, upgraded and did a factory reset (after a short delay while I scoured the house for a USB drive – funny how they used to be indispensable but now I hardly ever see one), and to my delight the pedal finally behaves correctly! Now I’m only limited by my lack of actual playing talent.

I had a brief play with Bard, Google’s leap onto the large language model AI bandwagon, with mixed results. First I asked it to compare Ecto with ActiveRecord, and amongst some reasonable points it bizarrely suggested that the former could be faster because it uses PostgreSQL instead of MySQL (there are plenty of things that might make it quicker, but I’m not sure even if that were true – it’s not, of course, as either can use either – that’s one of them). Then I tried asking it a classic riddle, with a small alteration, and it amused me by happily giving the usual answer, apparently seeing no issue with replacing the guard who always lies with the former PM.

On Thursday I gave blood. It was my 60th donation, and went very smoothly, with only a short wait, a straightforwardly passing haemoglobin test (the previous few times they had to repeat the test with the proper measuring machine instead of the copper sulphate drop test) and a nice speedy extraction of the near-armful. Shockingly though they had neither bourbons nor ginger nuts, so I had to make do with a Kit Kat.

On Friday I finally pushed my last responsible moment getting up system for Run for Coffee a bit too far, and got to the rendezvous point just after they’d gone past. Of course by the time I realised I’d missed them they had a ten minute head start, so I tried to cut a few corners to catch up. This strategy was so successful that I arrived at Christchurch Park ahead of them. Just far enough ahead, in fact, that they were still out of sight (I only know all this from looking at the Strava flyby afterwards). I gave up at that point and came home to make my own coffee. As it turned out cutting a couple of miles off the normal route probably wasn’t a bad thing with a depleted blood supply – I was quite tired by the time I got back as it was.

I had another couple of days off work – the usual March rush to use up the remainder of my leave – but as usual didn’t make very productive use of them, although I did at least clean and service my bike. I’ve been powering through the Exercism #12in23 challenge too. I still haven’t gone back to Ballerina, but I persevered with Pharo (the main problems I was suffering with were down to not having read the instructions properly) to tick off the required five exercises, then added Rust, Go, Scheme, Lua, Zig and Crystal. Obviously I’m only scratching the surface of each, and not in the same kind of structured way that you get from something like 7LI7W, but it’s definitely confirming my bias towards dynamically typed high-level languages that support a functional style. The weird thing I’ve found with hopping between unfamiliar languages so quickly is sometimes it’s a struggle to remember whether some piece of syntax or library function is from the one I’m currently writing or a previous one.

On Saturday I finally hit the 250 parkruns milestone, earning an upgrade to a green shirt, although you have to buy them these days. Then I had to rush home for a quick shower before walking back into town to catch the Camra Real Ale Runabout bus, taking us out to various pubs in Framlingham and Laxfield.

Amazingly despite Saturday’s drinking, the missing hour and miserable weather, I still managed to be out at 8am on Sunday to join an intersecting group of people to go and run some laps of Portman Road football ground to support someone running a marathon distance round the half-and-a-bit-mile loop for charity. We left him to it after 12 miles or so before heading to the Cricketers, but just for coffee this time.