Categories
Weeknotes

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.

Categories
Weeknotes

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).

Categories
Weeknotes

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.

Categories
Weeknotes

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.

Categories
Weeknotes

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.

Categories
Weeknotes

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!)

Categories
Weeknotes

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).

Categories
Weeknotes

Weeknotes: 2022 week zero

Having gone almost two years without posting here (and I can’t even really blame the pandemic), I thought I’d have a go at writing weeknotes. I’m not sure yet whether I’ll really have anything interesting to include each week (I suspect not), but we’ll see. Maybe it’ll even encourage me to do more stuff so I can write about it.

Apparently week one of 2022 is the one that started today, so this is more of a preface and a trial run. I’d almost forgotten I had this blog too – I might migrate it to something more towards the static end of things at some point. Or, you know …

As usual, running featured quite heavily (47.3 miles), including drawing a reindeer, and the traditional NYE idiocy of cycling to Felixstowe, running on the prom for 45 minutes, getting in the sea (shoulders under and minimum one stroke – them’s the rules), then drying off and heading home via various pubs. Ended up in the Cricketers (’spoons), where they had Abbot Special Reserve for £1.99, and – as usual – Mr Harper was a bad influence.

I’m never usually one for staying up to see in the new year, but this time I excelled myself by going to bed at around 8pm. Got woken up by the fireworks, naturally.

Did a bit of geocaching for the first time in ages. A few years ago I reached the point where I’d either found, or failed to find, all the ones within cycling distance, but there are plenty more now, and I bagged a few while I was out running.

I compiled another cryptic crossword; something else I haven’t done for a few months. And I hit a 365-day streak learning Spanish on Duolingo, although I had cheated slightly by using a “streak freeze” a couple of times – once when I went to do my daily practice and realised it was gone midnight, and again on New Year’s Eve, having run out of hearts (and time) in the morning before quite finishing a lesson, and unsurprisingly forgotten to try again once I arrived home after the Abbot Special Reserve.

I’m still intermittently practicing drums – mostly using Melodics at the moment for a bit more structure, after spending a few months just repeatedly trying to learn and play along to the same few songs.

I even did a couple of days’ work between Christmas and New Year because I was bored (though that doesn’t help with using up the leave I need to take before April). For some reason it seems easier to spend time at this time of year on technical debt type stuff more than new features, although I did a bit of both. Nothing very exciting, although I will say that I still really like Phoenix LiveView (at least for the kind of work I mostly do, which is internal-use web apps with no API, and no mobile apps).

Well that’s more than enough for one week I reckon. I wonder how long I’ll manage to keep this up …