Need help with software development? I’m available for hire.

Weeknotes 2

While I was conflicted about publishing my first weeknotes last week (were they too self-indulgent? are they interesting to anyone else?), I received some nice words of encouragement and so on with this week’s!

  • A recurring lesson in the past few weeks has been the importance of the right tool for the job:

    1. Our kitchen tap began very occasionally dripping so I decided to replace its cartridges. However, despite my best efforts with a series of adjustable spanners and a hastily-purchased set of box spanners, all I managed to do was chew up the metal of the existing cartridge. Frustrated and close to admitting defeat, I remembered that I bought a set of socket and ratchet spanners to replace a car brakelight many years before and—lo and behold—that worked straight away and I was able to swap out the cartridges in mere minutes!

    2. While I was engaged in this exciting DIY adventure, E was having a customer service battle with our water company as we’d been sent a bill ten times our usual amount. Adamant we hadn’t suddenly taking to bathing around the clock, the company finally agreed to send out an engineer to investigate. Ever keen to see the workings of such things, I accompanied them to the street as they discovered they have been reading the wrong water meter for us for six years. In trying to identify our real meter, they accidentally broke the stop cock on it, leaving us without any running water. A second engineer promptly came to fix it using a simple-looking tool known as a stop cock key and complained to me that if only they sent all engineers out with one, there would be no need for him to have visited. I nodded politely.

    3. As discussed last week, I’ve been baking some bread again and experimented with putting dough on baking parchment before lowering it into a Dutch oven. At least, I thought I was using baking parchment but, thanks to swearing my head off while trying to pick apart an unholy fusion of paper and dough, I have since learnt that “greaseproof paper” and “greaseproof and baking paper” are crucially different.

  • Reading Vincent Foley’s “Lesser Known Coding Fonts” sent me down a bit of a rabbithole trying to find the perfect monospaced typeface, particularly after watching the recent episode of “Abstract: The Art of Design” about typeface design with Jonathan Hoefler. In the end, I abandoned this quest for what it was: an act of pure time-wasting.

  • It has been five years since Casper Kelly’s “Too Many Cooks”. I continue to pay tribute to it in my own small way by having Rush Coil’s NES cover of it as my ringtone.

  • C having his 8-week vaccinations and talk of preventing fevers led me to Jenny Kleeman’s “Why parents are addicted to Calpol” so it was with an unearned sense of pride I marched into our local pharmacy and asked for whatever generic, liquid baby paracetamol suspension they had.

  • It has been quite the week of computer noodling for me:

    • As I manage my family’s email accounts, I decided to spend some time implementing Domain-based Message Authentication, Reporting & Conformance (DMARC) for my domains. As a side-effect, I now get a daily report of the times people are sending emails pretending to be from These attempts should now go straight to spam but it’s still a little disconcerting.

    • Following last week’s adventures with backups, I decided to set up a network-based Time Machine backup.

      The first step was to find a hard drive big enough to store backups and, in my search, I uncovered old videos of myself dating back to 1998. This led me to compress all these 21-year old videos using Automator and then import them into Photos. However, none of the videos had the correct date on them.

      Thankfully, I noticed the videos did contain their real date and time in their titles, e.g. CLIP-2003-08-02 21;40;28.MOV. As there were over 700 of these videos, updating them manually didn’t seem a smart option so I decided to look into scripting Photos via the Mac Automation Scripting Guide. While it seemed like I might have to learn a whole new programming language, I vaguely recalled that you can now script macOS applications with JavaScript.

      I wondered if I could use any modern JavaScript features and Matt MacLeod pointed out “ES6 Features in JXA” which explains that you can use any JavaScript features supported by the version of Safari bundled with your OS.

      I’ve since written up how I scripted Photos with JavaScript to update all the videos in one go.

    • Videos of a much softer-faced and squeakier-voiced me safely stored in iCloud, it was time to get that Time Machine set up on my Raspberry Pi. This resulted in a new post about how to use a Raspberry Pi for Time Machine.

  • C is now ten weeks old and I’ve been thinking about something from Michael Please‘s BAFTA award-winning short film, “The Eagleman Stag”: yesterday was less than a 12,500th of my life but, for C, it was over 177 times more.

  • Tom Stuart said I might regret the semicolons in last week’s notes so I hope you enjoy this week’s luxurious full stops instead.