Uncategorized Weeknotes

Weeknotes 2022-10

Well, apparently I’ve made it to the tenth instalment of my weeknotes experiment. Today also marks two years since my last day working in the office, before everything went a bit weird. I’ve been back briefly a couple of times since, but – at least in theory – I should be starting to go in for three days a week soon. I was always a big fan of colocated teams, but if I’m honest I think now I’d prefer to stay here like a hermit, only going in when there’s a specific reason for it to make sense. On the plus side, at least it would start pushing my cycling mileage back up a bit: that’s dropped from around 2,600 miles a year down to about 600.

I’ve started playing around with building a weather station using a Raspberry Pi Zero W and Nerves (the Elixir embedded platform), after the sensors I ordered from AliExpress arrived (postage from China almost doubled the price, but was still cheaper than buying them from a UK supplier). I put together a first stab at reading the anemometer, but was thwarted by the so-called RJ11 sockets I ordered from Amazon turning out not to actually be RJ11, but actually some other standard that’s even narrower. I also ordered a humidity/pressure/temperature sensor, which I now have wired in and working.

Please excuse the horribly bodged double header on the Pi, which I did in a rush to prototype a previous project when I only had male–male jumper cables

PragProg do actually have a book specifically about building a weather station using Nerves, but I thought it would be more fun not to buy that (it sometimes feels like that’s one of the few books in their catalogue I don’t have) and muddle through on my own. Maybe when (if) I finish it I’ll get the book and compare our approaches.

My ankle/tendon still seems to be on the mend, fortunately. Sunday was the final event in the Suffolk Winter League cross country series, which was actually in Norfolk. A long way to go for a fairly unexceptional course round some fields (although there were some cool rare breed pigs on the farm). I managed to keep up with Robin, who’s generally much faster than me, and finished right behind him, but that was pretty much entirely down to him having a slow day rather than anything exceptional on my part. That also took me over the 400 mile mark for the year (much more than on the bike!), so I’m still on track to repeat my “run the number of miles in the year” challenge from two years ago. I might not be quite so pedantic about it this time as I was then, when I finished on New Year’s Eve with a total of exactly 2020.0 miles.

My fridge has decided to repay the effort I put into defrosting it last week by suddenly refusing to dispense chilled water (or any water – I suppose for a fridge, chilled is the easy part), which I realise is the very definition of a first world problem, especially with everything going on at the moment. It’s weird how much nicer fridge water tastes than it does from the tap, even unfiltered. In other domestic news I actually looked at my gas & electricity bill this month, which was a bit of a shock and prompted me to reduce the times the heating’s on (one disadvantage of working at home). It’s probably also a hint to think about replacing my boiler and improving the house insulation. Annoyingly, it doesn’t feel like there’s a feasible alternative to gas yet, but at the same time I suspect a new gas boiler now would become obsolete before serving out its natural life. I suppose once WW3 kicks off properly it won’t really matter either way.


Weeknotes 2022-09

You know what would be nice? To have a year or two when it’s possible to visit a news site without a solid screenful or two at the top of the front page being devoted to the same depressing and/or terrifying story. Although I suppose that would probably just mean we’d gone back to ignoring the climate crisis and marching, eyes wide open, toward the likely near-extinction of our species.


Another minor DIY success this week, after realising that the lack of isolating valves in the pipes to the utility room sink wasn’t an issue as I could just turn the hot water off at the boiler outlet. Once I’d done that, it was the work of minutes to replace and reseat the washer in the hot tap that had been dripping for years (despite being turned off so hard that it was effectively put out of use). I now have working hot taps everywhere but the kitchen, where I still have to turn it on under the sink every time I want to wash up.

I also got round to the annualish mammoth freezer defrosting session. Annoyingly for an expensive and supposedly frost-free fridge-freezer, it’s always slowly filled itself with ice. Not in the food compartments, but starting with the elements behind the inner back panel, and slowly expanding until the drawers are frozen in place and the panel starts to bulge out. Clearing it basically requires a couple of hours blasting it with a steam jet from a wallpaper stripper, which is tedious to say the least. This time I also poked a pipe cleaner down the drain hole to make sure it was clear – if that fixes it permanently, I’ll be simultaneously pleased and livid (and very surprised, to be honest). It’s over ten years old now, so I suppose it wouldn’t be unreasonable to replace it, but it seems a shame when in other respects it still works perfectly well (the milk is cold, the food stays fresh, and even the light works when you open the door).

Reduced running mileage this week, in the aftermath of the Tarpley 20. I seem to have developed a minor case of tibialis anterior tendinopathy (a purely Google-based diagnosis, I should add), which I’m sure a bit of rest and some frozen peas will soon sort out. With nothing in the calendar for Sunday I did give parkrun a decent effort though, and despite a lot of mud I somehow managed a course PB and ninth place (my first ever single-digit finish token). That was mostly thanks to a lot of the usual speedy people not turning up of course, but I’ll take it.

Apparently Saturday was the 40th anniversary of John Belushi’s untimely death, so I took that as an excuse to rewatch The Blues Brothers. I think it’s probably the film I’ve seen the most times, starting with a late night showing at the Southampton Odeon in around 1988. The DVD I have came as a double bill with The Blues Brothers 2000, but I’ve never been able to bring myself to watch that. I guess I probably should, in case it turns out to be less terrible than I fear.

It’s finally starting to feel like Spring isn’t too far away, with the first flowers coming out on my Magnolia. I’m sure I’ll be complaining about the heat before we know it.


Weeknotes 2022-08

Another instalment in my long-running quest to keep my combi boiler running until there’s a decent economical green alternative this week (although I suspect just getting a new, more efficient gas one when the service guy suggested in 2014 that it didn’t have long to live would probably have paid for itself by now). This time it was a fairly prodigious drip that was easily cured by replacing the O rings and fibre washer on the heat exchanger, although it also took a bit of blowing with a fan heater to dry out the control board and make the flame sensor work again afterwards (longer and more boring version on Facebook).

Boiler maintenance

Sunday saw my second attempt at the Tarpley 20 [mile] race, and once again I was seriously questioning my life choices beforehand, especially as there was a perfectly good ten mile option available. Around halfway through I was thinking “this isn’t too bad – maybe I should do a marathon after all”, but the last few miles were pretty tough and reminded me why I don’t intend to. Managed to knock 4½ minutes off my 2020 time though, to finish in 2:35:30.

Pretending not to be half-dead going up a hill in the latter stages of the Tarpley 20


Weeknotes 2022-07

Amongst other stuff at work this week, continuing an on-and-off struggle with a performance issue around some code that captures and stores some error events from network nodes. There are a fair number of them, and they each come with a large log that needs to be stored (but I don’t think it’s the size that’s the issue). I dumped the relevant bits of the live data, along with some of the files containing the events, and thought I’d identified the slow bit by running it locally. I changed some queries, it seemed faster and all the tests still passed, so I deployed the “fix” … and it got even slower. Reverted that and added some fine-grained logging, so now I know for sure exactly which bits are slow, so the next job is to delve into the query plans and try to spot what’s making it so horribly inefficient.

Meanwhile at home the performance problem is draining from the kitchen sink. As usual my approach (after ignoring it for as long as possible) has been to buy tools instead of doing the sensible thing and paying someone else to fix it. Unfortunately neither drain rods from outside, nor one of those rotating snake things from inside, have made any difference (there can’t be much pipe between the bits reached from each direction!). This is on top of the dripping hot tap that for the past couple of years I’ve only been turning on via the isolating valve under the sink when I need to wash up. The mystery of how to get into the taps to replace the inserts only deepened when I realised that the way the extra flexible rinsing hose thing works implies that the actual valves might be under the worktop, in an area that has no obvious means of access.

And now my boiler (which I was recommended to replace in around 2015, but have kept going with a new fan and heat exchanger) has started dripping again. Hopefully just something I can tighten, but it’s beginning to look like time to just get a plumber in to sort out the whole lot at once. Feels like a bad time to buy a boiler though, with gas clearly on the way out but the alternatives maybe not quite ready for prime time. Sigh.

At least I got off fairly lightly from Storm Eunice, with just a half-collapsed trellis (I’d noticed a rotten post a few days earlier), and a couple of small dead branches fallen off the apple tree.

I’ve found recently that when I’m not working, cooking or running I find it hard to motivate myself do do anything more useful than crosswords, TV or general noodling about on laptop or phone. I suspect this is a sign that I need some time off. In other news, I have nine days’ holiday to use up by April, so I guess that works out OK. I randomly decided to start watching Firefly again yesterday (which sadly won’t take long, but could also lead to another run through Buffy and Angel, which is a somewhat longer commitment. I know Whedon’s turned out to be problematic, but they’re still great shows.


Weeknotes 2022-06

On time this week! Although I type this having not written the actual post, so I may be tempting fate. Once again it turns out I haven’t done much, and am starting to doubt the wisdom of committing to writing these.

Work-wise, we did the planned coding dojo. Because I hadn’t got round to setting up or testing a shared editing environment to be able to rotate pairs, we did more of a mobbing approach (which I think probably worked better), with me as the dumb driver, trying desperately to write the code other people suggested rather than what I wanted. This proved surprisingly difficult, as it turns out that my preferences for writing unit tests have diverged from other people’s (annoyingly I suspect I’m now arguing against things I encouraged people to do in the first place). I was largely successful in doing what I was told, albeit with possibly a bit too much delay while I tried and failed to talk them round. I’m certainly not claiming that my way is the right way, but I feel like I need to put together a blog post or screencast at some point to attempt to justify my preferences.

There’s yet another professional community type initiative going on at the moment, and the successful applicants for “distinguished engineer” status (not a promotion or an actual role; more a vague acknowledgement of influence) were finally announced this week. Needless to say, I missed the cut.

I’ve been quite enjoying the zombie shenanigans All of Us are Dead on Netflix, who seem to be on a roll with their Korean dramas at the moment.

An uneventful week running-wise, although I was a bit quicker than I have been recently on both the “Thursday Tempo Ten” and parkrun. And I think I’ve got to the bottom of why Garmin has consistently shown my training load as above the recommended band recently – since I did a factory reset on my watch a while ago, apparently it’s assumed my maximum heart rate was about 20bpm too low (I’m pretty sure it must have measured rates well above that, so I don’t know why it didn’t update itself, or at least let me know).


Weeknotes 2022-05

Oops, nearly a week late. Not a very eventful week anyway.

I’ve started using Obsidian for random note-taking. I’ve got it synced between home and work Macs and my phone via DropBox, and so far it seems fine, although I’ve only really scratched the surface of its features so far. The vim mode is one of the better ones I’ve come across (not on the phone, obviously).

I got dragged into a call about the fact that the Ipswich GoodGym group has fizzled out, but I think I managed to avoid getting talked into taking on any responsibility for getting it going again. We’ll see what happens.

At work we’re trying to get more team-wide learning stuff going again, and started this week with a discussion about various design topics and quandaries that had been suggested. We didn’t reach any conclusions (or expect to), but I think the conversations were valuable. We’re planning to alternate this kind of thing with a coding dojo.

It was the Great Bentley Half on Sunday (ie “today”, if I were writing this on time). The weather threatened to be appalling, but it cleared up to sunshine just in time for the start. There was a bit of wind, and a downpour in the middle, but the sun came out with enough time that my shorts and vest had mostly dried out by the finish. Got round in 1:36:10, which is a lot slower than 2019, but also a lot faster than the nightmare race I had in 2020.


Weeknotes 2022-04

This week I had to go back to an old (2015) Rails app, after the (internal) customer asked for a second version for a slightly different set of users. It was the standard thing of “can you create and deploy a duplicate version, then just make this minor change …”, when the “create and deploy” turned out to be about 30% of the work, and the “minor change” the remaining 70%.

Fortunately it was a fairly simple app, we seem to have done a reasonable job of writing it cleanly in the first place, and I’ve made at least some effort to keep it up-to-date with Rails versions etc in the meantime, so it wasn’t too horrendous. These days I spend 99% of my time with Elixir and Phoenix, but apparently I still remember most of my Rails knowledge. As expected, there were a few things that felt a bit too magical compared to Phoenix’s intentional focus on clarity, but generally the “it just works” stuff still did. The only thing I think we might have over-complicated was the acceptance/integration tests, which in retrospect seemed to have a few too many levels of abstraction (Cucumber features, step definitions, SitePrism page objects and custom matchers).

I initially intended to deploy a second instance with its own database, and control the small behavioural differences with an environment variable, but abandoned that halfway through in favour of leaving it as a single app with two separate DNS entries, with users and root-level models partitioned by app, which was determined based on hostname. Even with the false start, that bit only took a day. The last half hour of that day was a bit of search-and-replace and repeating the DNS registration and SSL cert ordering, once I realised that I’d called the new version IPCC, when it should have been ITCC. Oops.

The “minor change” bit was one of those judgement calls where it was clear that the design wasn’t ideal – if it had been something under active development I’d definitely have spent some time refactoring, but as I suspect it’ll go back to humming along without me touching it for a few years I decided to put up with a bit of cruft.

Back in Elixir, I spent Friday fiddling with some potential improvements to a Phoenix app which might entail some proper BEAM stuff like custom supervision trees and ETS tables, but it’s all still a bit vague.

Garmin has continued to accuse me of overreaching, and after an easy run on Thursday it recommended 3.5 days of rest, but it seems to have settled down again now. It’s the Great Bentley half next weekend – I think that’ll be my first half marathon race since lockdown.

I’ve been doing a bit more unicycle practice this week, and can now just about wobble along for a few feet, using the garage door for balance but no longer holding on for dear life. It feels like actually riding it might not be too far off now.

I was surprised to find a couple of new chillis on last year’s plants that are still sitting on the kitchen windowsill, just when I was about to turf them out and think about planting new ones. In other culinary news, he third and final batch of marmalade is done, and turned out the best. It was a bit of a Goldilocks situation, with the first lot too runny and the second burnt and over-set.


Weeknotes 2022-03

Let’s see if I can get this one written on time …

Having my finger on the pulse as ever, I finally got around to playing Untitled Goose Game, to see what all the fuss was about however long ago it was that that was the thing that was all over Twitter, rather than Wordle (which I’m playing in a less anachronistic fashion, on account of not having to wait for it to appear in the Steam sale). It’s moderately entertaining, but I have to admit to getting stuck/bored with a few of the tasks and googling for hints. The game also features a Mini, which is always good, even if it’s just static scenery.

A proper Mini!

I had a couple of days off this week, and attempted some long overdue DIY tasks. I successfully managed to get on the roof and remove the bits of dead creeper that were adorning the chimney (without falling off). but the other two jobs were less successful. My kitchen sink’s been emptying very slowly recently, but attacking it from outside with drain rods and from inside with a flexible brush thing both failed. The gap in the middle where neither tool reached can’t be that large, but apparently I need a plan C. Then I finally replaced the bulb in the floodlight that vaguely points at the patio, and which hasn’t worked for years. I bought an LED equivalent, expecting the kind of eye-melting power that you get from even basic bike lights these days, but it seems to throw out the equivalent of about half a candle (a tungsten bulb of the same wattage would be brighter). Ah well, back to halogen I guess – it’s not like it’s on that often, so it’s hardly an energy hog.

So now I own five ladders

At work I got volunteered to run a five minute “ice breaking” session for a team meeting, so I came up with something based on Gary Bernhardt’s WAT talk (which coincidentally was published ten years ago this week). I found a few more bits of Javascript unexpectedness (did you know that 'B' + 'a' + + 'B' + 'a' is 'BaNaNa'? Or that while 1 < 2 < 3 is true, 3 > 2 > 1 is false, but 2 > 1 > 0 is true?) and got people to shout out what they thought would be returned. Then afterwards I spent far too long writing up explanations for them all, which I doubt anyone read.

After Sunday’s cross country, Garmin says I’m “over-reaching”, so I ought to start next week with a rest day I suppose (because I’m the kind of person who takes advice from random pieces of consumer electronics).

Finally, I’ve made the first two of three batches of marmalade to last the year. The first lot, with huge oranges from a local greengrocer, came out a bit runny and seemed to have virtually no peel in it, whereas the second, with tiny oranges from the supermarket, was mostly peel and has probably set to a thick gloop (though I haven’t opened any of the second batch yet). Peel goes with r² but weight with r³, I guess.


Weeknotes 2022-02

OK, so it’s week two and I’m posting this four days late (just edited that from the original “a day late”). At this rate, expect the final post of this year some time in 2028.

A couple of weeks ago I took my Strava heatmap and drew round it to show the area enclosed by places I’d run to starting and finishing at home:

Someone on Facebook saw it and mentioned CityStrides, which is what in the early 2000s we would have called a mashup of activity tracker data with Open Streetmap, showing you how many of the streets in your town you’ve run along. I’m always a sucker for this kind of nonsense, so I signed up and synced it with Garmin (Strava didn’t work for some reason – I suspect API rate limiting). It turned out I was in third place for Ipswich, with 461 of 1,412 streets completed (and I know both the people above me in the table). Of course when I mentioned this three other people signed up, pushing me down to 6th, but I did add some convoluted meanderings to a couple of runs this week to pick up another 24 streets.

With the end of the grace period for free corporate use of Docker Desktop fast approaching, I finally got round to switching to MiniKube. I tried the default option of Hyperkit, but it wouldn’t start (maybe something to do with security settings on my work Mac), but it was fine with VirtualBox, and actually seems much quicker than Docker Desktop. I don’t use Docker for anything fancy – just to create dummy instances of other systems that my application can ssh to for integration testing, and to allow me to compile the OTP application for Linux on my Mac – and the only change I had to make was to have the app connect to the containers using the VM’s IP address, whereas the previous setup had automatically mapped the ports to the host address. I feel slightly guilty about being part of the problem of big companies using open source without paying anything back, but apparently someone else is looking at getting a company licence for Docker Desktop, so maybe they’ll get some of our money eventually.

Friday saw the third “agile fest” at work, with a variety of talks (I wasn’t involved this time). All good stuff, although I did get into a minor disagreement in the chat when someone suggested we needed a single mandated structure for Jira, rather than teams doing what works best for them (it would be bad enough if someone told me I had to use Jira at all, let alone also telling me how to use it!)


Weeknotes 2022-01

First proper week of the year, and I nearly forgot to do this, so that bodes well for the experiment continuing.

Back to work properly this week (well, apart from Monday), and other people were mostly back too, so meetings and stuff have started happening again. One of those annoying Fridays where something turns out to be more complicated than I thought, so ended up leaving it half-done to pick up on Monday. It was one of those rabbit holes where I started adding a new feature, realised that the related tests didn’t quite cover all the permutations of existing behaviour, then discovered that the untested bits didn’t quite behave as I expected, and had to be fixed too. I seem to remember there being another layer of yak shaving too, but I can’t remember what it was (which doesn’t bode well for the morning).

I got my unicycle out for the first time in ages. I bought it at the beginning of 2020, but stopped trying to learn to ride it when I decided that turning up at A&E having injured myself during lockdown might not be looked on too favourably. This time I’m practicing outside, for the sake of the floor and walls in the hall, where I started before. Still at the “pedal a couple of times while using a wall for stability, then fall off” stage. Hopefully when (if) I finally get the knack, it’ll be a useless skill that never goes away, like riding half a bicycle.

I finally watched Don’t Look Up, which seems to be dividing opinion, but lots of people had recommended it. Not terrible, but at least 45 minutes too long, and felt at times like it wasn’t sure whether it was serious satire or slapstick.

Just short of 40 miles of running this week, culminating in a very muddy, but almost enjoyable, county cross-country championships (which sounds more impressive than it is – you only have to be a member of a club to enter, and not actually be fast or anything).