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.


Weeknotes 2023-11

Had a weird debugging experience this week. I spent an hour or two on Monday afternoon scratching my head over what seemed like completely impossible behaviour (which, of course, it never is with software), before decided to call it quits for the day. Then I woke up at about 3am, lay awake thinking about random stuff for a while, before all of a sudden the explanation of the errant behaviour popped into my head. Better still, I still remembered it in the morning, and not only that but it was actually correct, and not just some figment of a half-asleep brain.

Implementing the fix took a bit longer than I expected, mostly scratching my head trying to figure out the exact database query I needed. I decided to try ChatGPT again, and had to grudgingly admit that it was very helpful. However, I think the key thing is that I was in the position to evaluate whether its answer was correct, and I had a failing test ready to prove it – I’m still not particularly worried that large language models are going to make developers redundant.

I’ve noticed a few ads lately for products designed to wean people off vaping. Given the fact that vapes were originally designed to do the same with cigarettes, I can’t help thinking this is all a bit “old lady who swallowed a fly”. Also there seems to be a big campaign at the moment to make smokers realise that their dog ends are litter, and aren’t biodegradable. Definitely a message I can get behind, although it’s a shame they haven’t adopted a friend’s slogan of “just because it’s on fire, doesn’t mean it’s not litter”.

Not done much drum practice this week. I’ve still been following the exercises in the book I bought [relatively] recently, and after a fairly painless experience with the basic quarter- and eighth-note patterns I suddenly hit a bit of a road block when trying to add accents to alternate notes. The accents themselves aren’t a problem, but it turns out a couple of years of not paying attention to limb independence means I’m really struggling to limit them to the hi-hat, rather than whacking the snare or kick extra-hard as well when they coincide. Not particularly related to that, but I’ve also been half-considering upgrading/switching an acoustic kit, as there are a few things with the e-drums that can be a bit annoying. However, I suspect I need to do a bit of thinking about noise levels first (despite being in a detached house).

I’ve made some progress with the Exercism #12in23 challenge this week. I’d done a couple of exercises from Ballerina, but wasn’t particularly enjoying it, so parked that and did the requisite five each from Go and Rust. I started looking at Pharo Smalltalk too, but so far have found the environment a bit hard to get started with. I feel like I should persevere to see what all the fuss is about, given how much love there seems to be for the language from people who used it back in the day.

A fairly light running week, in the lead up to the Stowmarket Half on Sunday, although it still included one “Run For” each of Coffee and Beer. The half itself went OK, but nothing special (a few seconds slower than last year, but half a minute slower than 2020). Always a good event though, and the annual opportunity for a team photo with farm machinery.

FRR at the Stow Half


Weeknotes 2023-10

Some wacky weather this week, with snow on Friday, then double-digit [celsius] temperatures on Sunday.

Two consecutive nights out (apparently they’re like buses). On Wednesday I was dragged in as a last-minute replacement for a pub quiz team. It was a new-fangled affair with answers submitted individually on a tablet, with more points for quicker tapping. I’m generally pretty good at quick reactions on the buzzer, but also terrible at most general knowledge categories, so I was of limited help, but not entirely useless (and the point was a fun night out rather than winning, anyway). Then on Thursday we had a work meal at Mr Wing’s, which is an odd combination of a “normal” Chinese restaurant and a buffet, in that they bring you dishes to order but you only pay a single price. Naturally this resulted in me eating far too much, especially as I hate seeing food go to waste. The quality was very good though, even if the quantity was a bit much.

No racing this weekend, but once again I ended up tagging along with a marathon training 20 mile run on Sunday. I’m sure it must be good for me, although I did feel slightly broken by the time I got home.

That’s about it I think. Anyway, there’s clearly nothing much happening in the world when the main news story is an apparently free-speech-loving and cancel-culture-hating government getting an ex-footballer kicked off the telly for daring to express an opinion they didn’t like.


Weeknotes 2023-09

March already! I’d noticed that I hadn’t practiced the drums much recently, but when I finally got round to it was surprised to realise (I’m doing what I’m told by the book, and noting down which exercises I do when, and at what tempo) that the previous time had been in January. Oops.

Also published the first draft of this having subtracted one from the week number, rather than adding one. And I’m not even editing this in vim, so I can’t use the usual “I hit ctrl-a, but it interpreted the number as negative because of the hyphen before it, so incremented it the wrong way” excuse.

I had a day and a half off work this week, but the only vaguely useful thing I managed to do with it was some very belated and half-hearted vacuuming. I spent far too much of Friday adding an extra feature to my Strava YTD app, so you can see a list of activities as well as just the year and month summary info. Then half of Saturday figuring out how I’d broken the release/deployment when I switched from webpack to esbuild. Basically just like work, except on a different Phoenix LiveView app and I don’t get paid for it.

A new tab

It’s still cold, but I’ve been trying to use the heating as little as possible (not because I can’t afford it, but because I begrudge it), and can mostly be found sitting around in two jumpers and a hat like a mad cat lady. I do have it come on for an hour first thing though, except for Wednesday when the boiler didn’t start and it was a struggle to leave the warmth of the duvet.

I dog sat for Sky again on Thursday, and took her for a walk on her standard route rather than trying to be original, which meant she didn’t stop halfway round and refuse to move like last time. She does seem to be a creature of habit, even down to changing which side she walked on at a predictable point.

Worn out after her walk (or just lazy)

Another cross country on Sunday, on a new course in Southwold. It had looked like it might be a bit dull, but was actually not bad, with a bit of mud (but not a ridiculous amount like Framlingham), and a nice steep downhill where it was possible to make up a few places with a lax attitude to self-preservation (photos by Phil Donlan).

The FRR warmup gang – apparently I didn’t get the jacket memo
A bit of mud


Weeknotes 2023-08

A trip on the train to Colchester on Tuesday to see Beans on Toast with support from Ann Liu Cannon) at the lovely Colchester Arts Centre. I discovered via Instagram the next day that Frank Turner was standing somewhere not far behind me, and apparently Pet Needs were there too, nicely linking up the three artists/bands I’ve seen most recently.

My photo
Frank Turner’s photo (I think one of those backs of heads belongs to me)

I hadn’t seen him live before, but it was great, and (for me at least) the kind of show where you just go along and listen to songs you mostly haven’t heard before, rather than knowing all the words and (badly) singing along. Also notable for the first song I’ve heard about ChatGPT, including the inevitable AI-generated chorus.

Tarpley 20 on Sunday – that day of the year when I wonder what I’m doing racing that far when – unlike seemingly everyone else – I’m not training for a marathon. I managed to shave another couple of minutes off my PB though, coming in at 2:33:13. I suspect I’ll be glad of the fact I’m working at home tomorrow.

Various miscreants before the race

It feels like something else must have happened at some point during the week, but nothing springs to mind.


Weeknotes 2023-07

It’s unseasonably warm again. I keep hearing rumours of another “Beast from the East” on its way, but there doesn’t seem to be anything particularly noteworthy in the forecast, so it’s probably just tabloid nonsense.

The roadster is now MOTed for another year (or until I buy another car and sell it). It initially failed – for the first time since I bought it – not unexpectedly given the iffy brakes (the failure was actually on handbrake lever travel). As I suspected, I’d not quite got the self-adjusting widgets reinstalled properly, but £84 later they’ve corrected my error. The brakes may actually feel better than ever – I think me bleeding them after replacing the shoes may have sorted the sponginess that I’ve expected to fail the past seven MOTs but never did. Total mileage since the previous year’s test: 1,882 (which is only 69 more than I ran in the same period).

I went for a meal at Trong’s on Thursday, which was a thank you for Anders and me from our boss for organising some software good practices training for our Indian colleagues. Great food, but probably not helpful in my quest to be less of a Massive Fat Man (especially as it also meant missing another TTT).

On the other hand, I did run 60 miles over the course of the week, including three Runs for Coffee and one for Beer, and finishing with a steady 18 on Sunday morning (although that culminated in a pre-lunchtime three pints in the local Wetherspoon’s). Next week I’ll be taking it easy in preparation for the Tarpley 20, so it’ll be much less strenuous (apart from Tarpley itself, obviously).

I finished James Acaster’s Guide to Quitting Social Media, which was most amusing, although I’d be interested to know how he managed to text Clancy Delahue to ask for money for more spy stuff, given that his phone was in a storage unit in Rhyll with the screen covered in tar. This may make limited sense if you haven’t read the book. I’m now reading Randall “XKCD” Munroe’s What If?, and it feels very odd not being able to click the images to read the alt text.


Weeknotes 2023-06

This week seems to have flown by (maybe because I posted last week’s notes in Wednesday), but nothing very interesting to report.

My car’s malfunctioning seems to have settled into a rhythm now. Every Tuesday it briefly cuts out as I join the A14 at the Seven Hills roundabout, then seems to reset, bump start itself, have a quick think about which gear it wants to be in, then carry on its way. On the journey home it does something similar, but with the addition of showing a battery warning for a minute or two afterwards. It’s booked in for an MOT on Wednesday – I’m still vaguely intending to replace it soon, but if it passes it would hopefully mean I could get a bit more for it.

We seem to have got back into the habit of Friday Pub at work, after an accidental winter hiatus, which is nice. Obviously we’re eating indoors now, after mostly restricting ourselves to beer gardens for a couple of years.

I made my third (and final) batch of marmalade on Saturday, which came out the best (I now have three open jars so I could sample them all). That should last me through to next year’s Seville oranges (I get through a surprising amount of marmalade – Paddington is an amateur, to be honest).


I finally managed to upgrade my work app to Elixir 1.14. Every time I tried before I’d been hit with a race condition in some code which set up named pipes to talk to shell scripts (so as to stop sensitive arguments appearing in the ps output). I thought I’d “solved” it by putting a short sleep in the asynchronous task that read from the pipe so that it was always reading before the writer started writing, but to no-one’s great surprise the dirty feeling that gave me was justified, and it wasn’t 100% reliable. I finally solved it properly by scrapping the fifo nonsense and launching the scripts with Rambo.

On a roll, I also upgraded to Phoenix 1.7, even though it’s only at release candidate status at the moment. I decided to migrate everything to the new verified routes, which was a very tedious process (I couldn’t think of a way to automate any more than the simplest routes, or at least not one that would justify the time spent). Nice to be back on the cutting edge again though.

Fairly standard running stuff this week, including a run for coffee, a club session, a parkrun and cross country. The latter went better than expected, with another victory in my ongoing series battle against Robin (who I never come close to beating on the road). To be fair he’s deep into marathon training, although as usual I seem to be also doing a lot of the training, just without the intent to actually enter one.

We also did a club run to donate some food to the local Salvation Army food bank, as part of the runr Food Bank Run initiative. As well as the warm feeling of helping the community, the sensation of suddenly not having a rucksack full of tins on your back for the run back was a nice bonus.

Food bank run


Weeknotes 2023-05

A few days late again this week, but I finally remembered.

The week began well. In the early hours of Monday morning I heard a cat being sick, but was too lazy to get up and deal with it. Having gone back to sleep I forgot about it altogether, until I got up and walked over to open the curtains in my bare feet, without paying attention to where I was stepping.

I actually went to two gigs this week, and both were in Ipswich, meaning I could cycle. Thursday was Pet Needs (plus Ecto Beach and Ben Brown) at the Smokehouse, an excellent small venue that I’d not been to before, and Saturday was Frank Turner (plus Wilswood Buoys and Lottery Winners) at the Corn Exchange. Both were most enjoyable.

Pet Needs
Frank Turner and the Sleeping Souls

A couple of hours in a mosh pit on Saturday night was possibly not the best preparation for the Great Bentley half on Sunday, but it went better than I’d expected. Still a minute or two outside my PB, but a semi-respectable 1:34:29. Much nicer weather than is traditional for that race probably helped.

I managed to summon up enough energy on Sunday afternoon to make my second batch of marmalade – just one to go now!


Weeknotes 2023-04

Nearly a month in already.

I took Thursday and Friday off, in an attempt to start chipping away at the four weeks I still have left to take by 1 April (I’m also relying on the usual arrangements of being able to carry one week over, and stretch another into April). I didn’t really get a lot done, as is my wont, although I did make the first batch of this year’s marmalade. It got a bit burnt (sorry, “caramelised”) on the bottom of the pan and over-set a bit, so it’s sticky and dark, but still tastes fine.

Double double toil and trouble
Marmalade, batch 1

I also got a bit carried away with my lunch on Friday, and instead of just throwing together a sandwich as usual I assembled a couple of eggs, two sausages, a bit of bread, and an ounce each of flour and butter, and turned them into a surprisingly effective impression of a scotch egg and a sausage roll.

Over-complicated lunch

I rewatched season one of The Sarah Connor Chronicles. I say rewatched, as I’m sure I’ve seen it before, but I literally couldn’t remember a single scene of it. I definitely haven’t seen season two yet, so that’ll be a genuinely new experience when the Blu-Rays arrive (yes, I’m an old person), rather than just one rendered new by my apparently poor memory.

I hadn’t really been enjoying my decision to start my #12in23 challenge with Cobol (most of the documentation and tutorials online seem annoyingly unhelpful by modern standards), but I persevered and completed the requisite five exercises. Then I did another five in vimscript to put myself a month ahead. I’d never really looked at the latter any more than necessary to configure stuff in my .vimrc, and I was surprised to find it much less unpleasant than I’d been led to believe.

vimscript, looking surprisingly readable

Sceptical as I am of all the ChatGPT hype, I reluctantly asked it for help writing a complex SQL query to replace some “n + 1” code that had been sitting under a todo tag on my work project for a while, and after a bit of back and forth it provided a much simpler approach than the one I’d been taking, which was mildly disconcerting. It was even happy to convert the SQL into an Ecto query for me when I asked, although I’d already done that bit myself before it occurred to me to ask, and I preferred my version.

Plenty (nearly 55 miles) of running again this week, and having done reasonably quick stuff four days out of five (club interval training, TTT, a track session and parkrun) I opted to avoid the speedy group I did last week’s long run with, and tagged along with some of the Run for Coffee/Beer crowd instead, at a much more leisurely pace and with more walking up hills and stopping (but still covering 20 miles).

Six miles in

I finally got round to fitting some half-hearted mudguards (Ass Saver and Speed Mullet) to my bike after getting road spray up my back one too many times, so we can presumably rely on a drought from now on.


Weeknotes 2023-03

My car continues to campaign for its own replacement, this time with a new trick of occasionally cutting out for a second or so, sometimes accompanied by a brief appearance of the engine warning light. Maybe a bad connection or water in the SAM unit under the dashboard?

When I bought The Blues Brothers on DVD donkeys’ years ago, it came bundled with The Blues Brothers 2000, which I’ve always refused to watch on principle. I finally gave in this week, and it turned out to be much less awful than I’d feared (though not a patch on the original). I’d somehow got it into my head that John Goodman was replacing John Belushi as Jake Blues, but this isn’t actually the case. I do occasionally consume media from the past decade, by the way (just not that often).

I started the Exercism #12in23 Challenge earlier this month, and for some bizarre reason picked COBOL as January’s language. It’s interesting trying to accomplish simple tasks in such an old and unfamiliar environment, but not particularly enjoyable.

One of the apprentices at work, having finished a few months of intensively learning Ruby, Rails, TDD, git etc, chose to spend the next nine months (between uni and study days) working with me on an Elixir/Phoenix application that I’ve been the sole developer/designer/support person on for five years. He seems extremely competent though, and has already hit the ground running.

Another Thursday Tempo Ten this week, and I also got up early today and braved the frost to tag along with some of the same gang for their first Sunday long run of their marathon training, despite the fact that (a) they’re significantly quicker than me and (b) I’m not doing a marathon. The pace was a fair bit brisker than I’d normally do on a long slow run on my own (nearly 17 miles in around 2 hours 20), but I survived pretty much intact, and being in a group was definitely more motivating. I didn’t quite hit the 50 mile mark for the week, but it’s still my highest weekly total since August.

I finally got round to buying a proper “learn to drum” book and started following the exercises, rather than just trying to learn by playing along to songs. It remains to see whether it’ll help!

I remembered to buy seville oranges to make marmalade, but haven’t actually made any yet. I can only do one batch at the moment anyway, because there was hardly any preserving sugar left in the supermarket.

I might start adding bullet points to these paragraphs, to make their disconnected nature and lack of narrative structure look deliberate.