A Bangla curry on Wednesday, with three of us retiring to the pub afterwards for another few pints, for my first “mid week half dozen” for a while. That didn’t bode well for the Thursday Tempo Ten (no racing this weekend, so no excuses) – especially as I was reminded when I said “see you tomorrow for TTT” as we parted ways that it was technically today. As predicted, TTT wasn’t a pleasant experience (is it ever?), but I more-or-less managed to hit my 75 minute target. I blame having to negotiate cars turning in and out of side roads for the extra three seconds.
It was Badger and Ninja cats’ fourth birthdays on Friday, but I forgot, so no cake for them. They’re more-or-less getting along with the new addition (who’s still going by Cosmo, the name he was given by his previous owners, as I haven’t had any inspiration for a better name). I wouldn’t say they’re exactly friends yet, but they’re happy to eat together without any growling.
I finally got round to registering my YTD app with the Strava developer programme, under vague threats that they might disable API access for unregistered apps, which would be annoying for the literally dozens of users.
In “will he ever learn?” news, I spent a reasonable proportion of the weekend preparing a demo for TDD talk I’m doing an agile event at work on Tuesday. Now I just need to put some slides together, then also write the second talk I’m doing at the same event.
I’ve been having an absolute nightmare with our slowest integration test at work. It basically runs a whole load of tasks against simulated remote nodes, which involves making lots of ssh connections to a fake external system running as a docker container. It recently started randomly failing to connect, or the connection would freeze partway through a command, and because I’d ignored my better judgement and changed too many things before getting back to green, I spent ages trying to narrow down the problem. The trouble is I don’t think it’s actually deterministic, so I kept going down blind alleys thinking I was getting somewhere. Despite trying everything I can think of, including reinstalling docker, it still doesn’t reliably work on my Mac. Fortunately it still seems to be OK on CI, so at least there’s that. Still, grr.
I was slightly dreading Tuesday night training after Tarpley, but my legs surprised me by mostly still working. There was a track session on Wednesday too, which might have been a bit much, but fortunately I had an excuse in the form of a clashing Run for Beer. We’re trying to mix up the destinations a bit this year, and for February we picked the Greyhound. It’s an excellent pub, and I should go there more often.
On Thursday we had one of our irregular developer events at work. Amazingly we’re now up to DevCon17 (I came up with the idea for the first one back in 2009), and apparently I’m now not just the only person to have presented at all 17, but no-one else has even attended them all! This time I talked about time, and a few of the ways it can bite programmers (seemed apt for February 29th).
I dropped a container full of sugar on the kitchen floor yesterday, and it somehow landed and remained upright, the base almost but not quite detached (that clear plastic bit is open at the bottom), and almost all the sugar stayed inside. I’ll take that as a win.
The long-delayed Framlingham cross country happened today – it should have been the first race of the season, but had to be postponed because of massive flooding last year. Some parts of the normal course were still underwater, but the Flyers did a sterling job of adapting the route and also coping with reduced car parking capacity. I don’t think most of the course was really much muddier than in previous years, but there were a few points where it was a bit deep (including in the iconic section through the [dry] castle moat.
My usual Tuesday routine of heading to Felixstowe for club training was foiled by a complete inability to find my car key. I tried all the obvious (and less obvious) places like pockets, bags, in the ignition, in the fridge etc, but eventually found it several hours too late next to the bed.
What had actually happened was that earlier, while looking for a ruler (which I never found), I stumbled across a very old Android tablet that I hadn’t been able to find for years. I plugged it in to charge (doesn’t seem to have worked) and put it down next … apparently on top of the key. There’s clearly some law of conservation of finding things going on.
Wednesday was time for the every-ten-weeks visit to the pub quiz – due to someone else dropping out I seem to have been promoted to full-time team member. Unfortunately when we got to the pub they’d lost our reservation, and it was full up, but we decamped to the Nelson for beer and food instead, so it wasn’t a wasted evening. They’ve offered us 50% off our bill next time to make up for the mistake, so that’ll be a bonus.
Friday was the day when Pet Needs discovered how successful their “bottom of the pops” campaign had been. Thanks to some great ideas on their part to sell multiple versions of the album, they exceeded expectations by entering the album chart at number 17. Glad to have played my part by sponsoring the album in the first place, then buying – er – 16 different variants!
Sunday saw the Tarpley 20 roll round again – the closest I get every year to a road marathon. The weather was almost ideal, but it’s still a tough event. I managed to finish only two seconds slower than last year, and one place higher, which I’m happy enough with. We hung around afterwards for the presentations from last year’s Suffolk GP series, where I’d got third place in my age category (which sounds far more impressive than it is, and is largely down to turning up to the right events!)
I hadn’t spotted pancake day looming in the calendar, and happened to have made pancakes on Saturday. I’m not as greedy as I used to be, so one portion of batter is too much for one meal, which meant I made a second batch on Sunday. Then of course I had to have them on Tuesday, as it’s tradition. And on Wednesday, even thought that makes a mockery of the original point of the tradition, and probably means I’m no longer shriven.
I finally got round to drilling out the tiny ventilation hole in the Sudbury Fun Run water bottle that I keep at work. Now I can drink from it without sounding like someone trying to suck up the dregs of a McDonald’s milkshake. That also seems to have significantly increased the amount of water I drink while I’m in the office.
I did my bit to help Pet Needs achieve their goal of exploiting the album chart rules to try to get their new album to “Bottom of the Pops”, by buying the 12 CD bundle (and the signed normal CD … er, and also the release day special edition). After a lot of faffing with a mount cutter, they’ve been transformed to a piece of ‘art’ on my wall.
People I’ve seen in The A-Team this week: the “You gonna look pretty funny trying to eat corn on the cob” bloke from the Good Ol’ Boys in The Blues Brothers, and Sgt. Taggart off of Beverley Hills Cop. Also some weird goings on where Col Decker was played by a completely different actor, then came back two weeks later as the original (then an episode without BA, followed by one without Face).
I’m still keeping up with #48in24. Last week was Roman numerals in Elixir (kind of used to that one), Pharo (Everyone always raves about Smalltalk, but despite how much ruby et al owe to it I always find it hard to get my head round coming from a career using boring normal languages) and Julia. This week is protein translation in Crystal (rubyish), C? (javaish) and F? (surprisingly elixirish, in a way).
Another Saturday night downpour saw an even muddier Sunday cross country than last week (without the unseasonably mild weather). This time I fell over twice – the first time on some mud-covered concrete and gravel, which left me with a nice collection of grazes.
Had an unusual issue at work where the Erlang VM (yes, the app’s still a single-server monolith) suddenly attempted to allocate 50GB of heap memory, then crashed in a huff. This is the first time in half a dozen years I can remember the VM actually crashing, which isn’t too shabby a record. I never got to the root cause, but did at least switch the systemd config from simple to update, so it’ll be automatically restarted if it ever crashes or stops responding in future. Updating the Elixir app to send the necessary heartbeat signals only required a couple of lines of code, thanks to the erlang-systemd library.
On Wednesday I decided to treat myself to a small can of beer, despite it being a weekday. It was a bit lively when I opened it, and foamed over the top, so I put the can on the floor while I wiped off what had spilt on the table. Then settled down, reclined my seat, hit play, reached out for my beer, and remembered it was still on the floor. Where, as I’m sure you’ve already predicted, it had been knocked over by the settee footrest popping out. So I only treated myself to half a small can of beer, as it turned out.
I’m still working my way through the A-Team box set. It’s still largely harmless entertainment, despite some of the acting being almost as wooden as the box the DVDs came in. Obviously the old trope of no-one ever getting hit by a bullet despite everyone spraying automatic weapons everywhere at the drop of a hat still holds true, but I was surprised how few times (so far) they’ve been locked in a building with tools and welding equipment. I don’t think it happened at all in the first series, and only once in the second. Twice so far in series three, but there may be more to come.
I also decided to give the BBC’s Domino Day a try, on the basis of at least one review describing it as “Buffy for a new generation”. It’s no Buffy (the series has virtually no sense humour, for a start), but then again I’m very much not a new generation.
I decided to try to do something useful with my post-parkrun Saturday for once, and hacked out most of the two wheelie-bin-loads of ivy that had colonised the corner (and the apple tree) at the bottom of the garden behind the garage. It’s still a mess, but it’s slightly less of a mess. Just the other 99% of overdue garden jobs to do now!
Sunday’s cross country at Pakenham was made more interesting by torrential rain the night before (even the road to get there was flooded). The weather on the day was positively spring-like though, and I had a better race than I was expecting. doing anything useful for a second afternoon in a row would have been too much to hope for though, especially after stopping for lunch and a couple of pints on the way home.
As is somewhat traditional before a longish race, I made some flapjack on Saturday. It wasn’t my best effort (a bit too crumbly), but I turned it out onto a chopping board, and cut it more or less successfully into rectangles. I then put a cooling rack on top, flipped the whole assembly over onto the worktop, and lifted the chopping board off. A moment of confusion ensued as it dawned on me that most of it was still stuck to the board, then after hanging there for a second, Wile-E-Coyote style, gravity won out and most of it went tumbling onto the floor.
Yet another Pet Needs gig on Saturday, this time at the John Peel Centre in Stowmarket (surprisingly my first visit, despite it being a handy 10 minute train journey away). They were excellent as usual, as were the two support bands, Ecto Peach (who I’d seen before) and especially Zombie Nation (who I hadn’t).
The toilets at the John Peel Centre had a classic case of having to use signage to compensate for a lack of design affordance:
Sunday saw the first proper race of 2024, in the shape of the Great Bentley Half. I hadn’t exactly had the ideal lead-in week, what with a fairly high-mileage club training night on Tuesday, then daftly also going along to the monthly track session on Wednesday. Not to mention several hours standing (and occasionally jumping) on Saturday night. I dragged myself round in my worst time since 2020 (when I had some kind of chest infection which I assume was slightly early to have been Covid), but still better than the 1:40 that Stryd was predicting. That pretty much wiped me out for the day though.
I put my jeans on last weekend and noticed my wallet was no longer in the pocket, and couldn’t find it anywhere else either. Had I dropped it in the curry house on Wednesday, or on the ride back? No, pretty sure I had it at work on Friday. Must have fallen out in the changing room before I cycled home.
No contact from anyone saying it had been found on Monday, and no sign of it when I was back in the office on Tuesday. Hmm, maybe I really had lost it? That would be annoying, having actually been to a cash point recently for the first time in ages, just in case I unexpectedly needed cash at any point. I procrastinated over cancelling my cards though, as I still felt like it was more likely I’d just misplaced it (and if it had been pinched surely the miscreant would have used the cards by now). Of course I realise a sane person would have taken ten seconds to at least pause the cards just in case.
Sure enough, on Thursday I spotted it lying under the bed. Phew.
New cat has settled in well now, although not exactly friends with the others yet. He’s pretty much claimed the big scratcher that used to be Ninja’s favourite – hopefully they’ll be happy to share it at some point.
The other three had their annual boosters this week. Handy in one way to have them coincide, but a bit of a palaver to catch and box up three cats, then manhandle three carriers to the car, waiting room, consulting room and back. They’re all OK, although Nobby does still have an intermittent cough and sneeze, and sometimes goes off his food. He’s lost a bit of weight too, but they did a set of blood tests which all came back OK. I think maybe he might need to have his teeth looked at. Obviously being 15 he’s getting on a bit, but hopefully plenty of life in him yet!
I made two batches of marmalade at the weekend. Annoyingly quite a few oranges had gone bad (squishy and covered in mould) in the week between buying them and getting a chance to prepare them. Hopefully I’ve made enough to last me the year (I still have a few jars left from last year).
After completing Exercism’s #12in23 challenge last year, I’ve started following #48in24 this year. It’s slightly different this time, focussing on one exercise a week rather than a language a month. To get maximum credit you need to use the three languages they pick, but so far the exercises have been very simple. Last week was identifying leap years in Python, Clojure and Mips assembler – the first two were familiar enough that my first attempts pretty much worked, but the assembler needed a bit more research. This week it was reversing a string in C++ (horrible), Javascript (easy) and Nim (OK I guess).
After forgetting for the past year or two, I did the Big Garden Birdwatch on Saturday. My final tally was three blackbirds, two robins, two thrushes, three sparrows, four blue tits, one great tit, three blackcaps and a magpie (and a surprising lack of pigeons). I particularly liked the blackcaps (even though two of them were female and had brown caps), which I had to look up.
The new cat (called Cosmo by his previous owners, but I might change that if inspiration hits) has spent most of the week hiding under the settee (or occasionally behind the TV), only emerging during the night to eat and use the litter tray. He ventured out a couple of times during the week and was mildly beaten up by Nobby, then decided as soon as I went to bed on Saturday night that he was going to start exploring (I’d left the lounge door open so he could access the rest of the house), and that for some reason the exploration had to be accompanied by constant miaowing. I got up and went down to see him, and he was very friendly but insisted on continuing with the noise rather than coming upstairs. He was wandering round purring and attention-seeking in the morning, but back in hiding when I got back from my long run at lunchtime. He finally came back out at 7.30pm (maybe he’s nocturnal!), and immediately jumped on my lap and started being super-friendly.
In a new twist on people referring to shops as “Tesco’s”, “Asda’s” etc, I heard someone on the phone the other day saying “I’m in Waitro”.
It feels like something else interesting must have happened during the week, but I’m drawing a blank.
I still have the tail end of a cold, but hopefully the end is in sight. The worst bit is my traditional persistent cough, which makes it hard to get a full night’s sleep. I did go to the doctor about it once, but they said not to worry. That was sometime in the late 1970s, mind.
I’m blaming the lack of sleep for Thursday morning, when I made an espresso and added it to a mug of cold water, having failed to boil the kettle. I only noticed when I picked it up to drink and the mug seemed suspiciously cool.
My other tale of incompetence for the week is that I bought an old Garmin bike GPS from eBay (much easier to look at than my watch, especially in winter!), but failed to realise that “factory reset” doesn’t include “delete saved activities”. I thought it was taking a long time to sync, then realised I now had 114 of someone else’s rides in amongst mine. Fortunately Garmin Connect names them after the location, and they were all Basingstoke, so removing them there was easy if tedious, but deleting them from Strava was more of a pain. I used their API to automate part of the process, but even then it wasn’t as straightforward as it could have been (oh for a simple delete from activities where device_id = id!)
I spotted a sparrow hawk in my garden, but don’t think it managed to make off with any sparrows. Later in the day the cats seemed to take an interest in the spot where it had been perching, but it may have been a coincidence.
During the Stowmarket cross country on Sunday I accidentally managed to recreate the photo from last year that I currently use for my profile pic on Facebook etc.
Finally, I’ve acquired a fourth cat! He previously belonged to someone I don’t know, a few degrees of separation away, but they’ve had a baby, couldn’t keep both for some reason, and inexplicably elected to hang onto the baby. So far he’s remained stubbornly encamped under the settee – hopefully a better photo next week!
Late again, but not as late as last week. And we’re now in 2024, of course, which as usual is a largely arbitrary line to cross. Normally I ignore all the NYE festivities, go to bed early then get woken by fireworks, but this (last) year I was invited to Dave & Sally’s again for some food, beer and anecdotes from a man who’d met Geoff Capes. It was an enjoyable evening, but meant a bleary-eyed start to get up and out for the bonus parkrun in the morning. To make matters worse, we were doing an unofficial double (now parkrun has stopped the real ones), which meant running to parkrun, then running to Justin’s afterwards for another go at his lockdown “not parkrun” course, then a coffee and a final run home (via the pub). Around 18 miles altogether.
At some point in the weekend I’d managed to pick up a cold (probably not Covid, as I used my last remaining LFT and it came up negative), and my Garmin claimed my training readiness was 1/100 (I’m not sure it ever actually goes down to zero), but I still dragged myself along to Tuesday night training. I basically did nothing for the next three days though, other than some gentle working-from-home. I still have a very annoying cough, which is making it hard to get a good night’s sleep.
At some point in the week I watched Face/Off, for what I thought would be a bit of fun. Turns out I couldn’t remember a single thing about it other than that weird face-stroking thing, and it’s a lot less light-hearted than it had been in my mind. Mainly because in retrospect I was confusing it with all the face mask nonsense in Mission: Impossible.
On Saturday it was back to parkrun again (of course), and by coincidence I finished in exactly the same time as the one on New Year’s Day, which meant that after 292 runs I finally earned the unofficial “groundhog day” award. Holly, who I was running with, went one better though – not only did she get two identical times in New Year week, but she did the same in Christmas week too (I missed out on doing the same by one second). Given that those are the only two weeks of the year with two parkruns, getting that double must be a pretty rare (if utterly pointless) achievement.
Sunday was the county cross-country championships – always a slightly odd event, and much less exclusive than it sounds (in fact not exclusive at all). As we’re at the beginning of marathon training season (though I’m still claiming not to be running one), I got talked into making it into a long run by running the ten miles to the race with Robin and Dave, which made for a fairly long warmup for a 10k race. Unsurprisingly my pace in the race was half a minute a mile slower than last year.
After a long hiatus, I got my unicycle out briefly, and found that I’m neither better nor worse than before. I think I need to take it somewhere where I can go further without having to turn a corner, as that’s the bit that always goes wrong. I did a brief bit of drum practice too, and probably have got worse at that.
Having finished my slow Brooklyn Nine-Nine binge, I’ve gone ridiculously far back in time now, and started on the A-Team boxset (an actual boxset, in an actual box) that I picked up on eBay. It’s still mildly entertaining, though probably not quite as exciting as it was when I watched it on Saturdays at my grandparents’ as a kid in the 80s!
My Elixir port has been accepted into Emily Bache’s Supermarket Pricing refactoring kata, if anyone fancies a change from the Gilded Rose.
By an odd coincidence, I remembered my crossword puzzle geocache the other day, and thought I should probably go and check whether it’s still in place, as I haven’t for quite a while. Then the next day I got a notification that someone had logged finding it, which saved me the trouble. They also said that my crossword “could have come straight out of the Times”, which was nice!