It's been a busy week followed by a rainy weekend.


Dan has made the trailcam video for 2021-08-16! The timestamps on the video are missing because the date had been reset in some of the cameras. We fixed this and gave the lenses and sensors a good clean, but one of the cameras, the one that points downstream, seems to have stopped recording. We don't know why. On the video there are cavorting rodents of various kinds, some deer wandering around and exploring and chasing around. At night the foxes and badgers come out too. At one point a pheasant flaps his wings and calls out. I always find pheasants amusing for some reason.

We went to inspect the bees on Friday and Dan even saw the hare heading towards one of the cameras. In the five minutes I took to replacing batteries on Sunday, two squirrels ran around me in a circle about 1m away, screeching at each other as a calf looked on at the show through the hedge. That wood is amazing.

⌨️ A couple of mini-hacks

My landline phone is a snom 370 which cost a couple of quid from ebay a few years ago. While reconfiguring it, I found out that when it boots up, it can fetch an XML file from a web server describing its user interface. One of the items you can specify is a bitmap, which I guess is intended to display a company logo on the phone's screen or something boring like that. The snom 370's LCD screen has 240×128 pixels, so I wrote an XML file which would just display a bitmap that uses it all up. I messed about with some pictures first and then realised that 240×128 is just over 40×12 characters in a 6×10 font. So, half of a teletext (or viewdata, or BBC Micro Mode 7) frame. In its idle state, I now have the phone displaying (albeit non-interactively) a black-and-white version of half a frame, complete with all the double-height shenanigans from my teletext frame renderer. Maybe I could get it to display half of a random page from TELSTAR or from one of the amateur teletext services. It doesn't quite have the retro cool of the STC Executel, but it's getting there.

We're working on making our systems at work run at scale, so, inspired by that, I spent a couple of hours writing a Unix utility for my personal use that I seem to keep hurriedly re-implementing in various forms over the years. It takes a list of numbered shell commands, and runs them in order of increasing number, making sure no more than n processes are in use at any time. This is probably the sort of thing that there's been a command for for decades (let me know if you know its name), but this one works just the way I like it. And it's only fifty or so lines of Perl. And I now know how fork, waitpid and SIGCHLD works. I expect it'll come in useful the next time I'm on a computer with lots of CPUs, maybe to resize hundreds of thousands of images into thumbnails, or run some classifier with a range of different options to see which works best.

Also this week

Soothing background sounds for a variety of situations: Rainyscope, myNoise, NTS Field Recordings infinite mixtape, Tabletop Audio, The abandoned abbey at the seaside and Windgeist; Programming fonts test drive; Liquid Haskell, a static verifier based on liquid types, because, as we know, even well-typed programs can go wrong; electricityMap; The Flashbulb's Our Simulacra ('all of your joy is in a simulation, all of your hate is in a simulation'); the first Lang Jam this weekend; NeoHabitat, virtual community/MMORPG, 1986 style; Syncplay for lockdown film nights; perl -pi.