The monster change I’ve been working on on and off at work has finally been merged, and apart from a couple of minor issues seems to be working OK. Basically the system runs about 2,500 different checks against a bunch of different bits of the mobile network (which are mostly just Linux virtual machines or Kubernetes clusters), and each of those checks used to be handled by a specific module, with functions to return the name, description, which type of node to run on, etc. This made sense initially, but as the number of node types we support and the number of tasks we run grew, there were an increasing number that were virtually the same, which led to a lot of delegation to common modules. The new version moves most of this metadata to configuration for each task, with a field pointing to the implementing module. Although initially the modules are the same (with a bunch of functions removed), we can now start collapsing the similar/identical ones, with multiple tasks pointing to the same implementation.
There are also quite a few other tools within the system that refer to tasks, and all those (and all the tests) needed changing to use the task reference instead of the module (although fortunately the way we were serialising the module name to the database meant that that could become the reference so there was no big data migration required). It ended up touching over 6,000 files, and changing in the order of 100,000 lines of code (in a 400,000-line codebase), and took a fair bit of ingenuity with shell scripts, vim macros, AST rewriting and random bits of grep/sed/awk magic to do as much of the donkey work as possible. I’m glad it’s done!
Another current/ex colleague Fat Cat meetup on Wednesday, this time adding Dave, another of my former bosses. We had a good rambling conversation covering all sorts of weird things, much like the old Friday Pub days.
I’d ordered a Pet Needs T-shirt on Bandcamp Friday (not because I need any more T-shirts, but because it’s a good way to support the band) and it arrived with a giant Post-It note on which front man Johnny had scrawled “Cheers Kerry!” with a signature, which was a nice touch.
On Saturday evening I rode out to Brantham again – fortunately not to run five miles again, but rather to have a few beers and congratulate/laugh at the mad fools finishing the SVP100 and 50.
My Sunday long run was short by comparison to that, and on my own this week, with a loop out through Witnesham and Grundisburgh. This took me through not one but two “bull in field” sections, but on the plus side while skirting round the edge of one of them to give the cattle a wide berth I spotted a kingfisher by the stream (I think this is only the second time I’ve ever seen one; the first being in the 1970s!).
The two young foxes are still visiting now and again, although it’s probably about the time when they’ll be heading out to find their own territories. Here’s one of them doing a big old yawn to show that he’s not bothered by the cats that were lounging around nearby.
