My apologies to readers for basically not having posted anything over the Christmas period and not even getting around to wishing anyone a Happy Christmas! The unfortunate truth was that I woke up on the morning of December 20th basically unable to move. I've no idea why, but perhaps I'd slept at an awkward angle or something: my neck would spasm in excruciating pain if I did so much as try to talk. Two days in bed, immobile, brought some relief… but the problem still hasn't entirely resolved itself a week and a bit later. I am at least moving around, able to cook the Christmas lunch and get plastered at the local watering hole, though: so things are looking up!
A new version of Giocoso will probably be released on schedule sometime on December 31st, but my enforced bed-rest has meant less ability to code than I'd have liked, so I might push the release date back a day or two.
It's going to be an interesting release, though, because a long-standing speed/screen refresh issue has finally been resolved. The problem is that Giocoso draws its various screen elements at specific positions in the terminal by means of making calls to the external (i.e., non-Bash) tput utility. It works fine… but every call-out to tput requires a context switch on the CPU and is thus relatively expensive in compute resources. On PCs with slightly under-powered CPUs (such as my Raspberry Pi 4 that I use as my music player, or the 2015 iMac I'm now using as my daily driver) the consequence was that every change of the terminal contents would produce notable “flashing” as the screen was laboriously re-drawn. It looked pretty ugly.
And then I started watching Dave Eddy's YouTube channel! The man is a wicked genius at Bash scripting (and other stuff, but his Bash skills are extraordinary) and in his latest Christmas video, specifically around the 32 minutes mark, he happened to mention in passing that he'd written a purely-Bash implementation of much of the tput utility's functionality. Since it's all done within the same Bash session, there's no CPU context switching and the functionality is thus implemented with much greater efficiency than before. His code was therefore swiftly copied and pasted into assorted parts of Giocoso… and the transformation has been immediately, obvious and impressive. The thing finally runs much more effectively and without the 'flashing' during screen re-draws. It's an amazing little tweak, for which I can't thank Dave enough… though he does get a formal copyright acknowledgement in the code comments inside giocoso3.sh!
In the New Year, I'll be busy editing my second edition of the Ralph Vaughan Williams Society Journal, due out before the end of February, so coding is likely to take a back seat during that period. The promised new version of Semplice that (mostly!) runs on macOS will thus have to wait until after that's all done: maybe some time in March, then.
By way of a bit of catch-up, I can't help but report on this, which happened in November:
That's me, fourth from the right, looking directly at the camera, singing on the stage of the Snape Maltings Concert Hall! A lifetime's dream come true, basically The occasion was a 'Ceremony of Carols from Scratch', wherein a complete bunch of amateurs came together to sight-read and rehearse Benjamin Britten's great work from the 1940s, A Ceremony of Carols, and then to give a performance later in the afternoon. I so rarely get to sing these days that the occasion would have been great fun even if it had taken place in someone's backyard. To be able to do it on that particular concert platform, however: amazing!
Now is also about the time that I do a 'year in review' of my music playing. The charts tell their own story: this year, I've played fewer recordings (by number) than in any year since 2018. That's because, in my efforts to drive down the number of recordings in my collection that hadn't been played at least once by Giocoso, I spent the first half of the year playing lengthy works by the likes of Wagner and Verdi. Few in number, but lengthy in terms of minutes of play-time: that's why you'll also see that the 'Play Durations by Year' graph shows me playing 3,875+ hours of music this year …almost matching last year's play durations and comfortably exceeding the duration of music listened to in any of the other previous four years. That many hours, by the way, equates to 161 days: I was basically listening to music for 44% of the year!
My top composers this year have been (with hours of play-time shown next to each composer name):
| Johann Sebastian Bach | 526 |
| Richard Wagner | 400 |
| Ludwig van Beethoven | 330 |
| George Frideric Handel | 314 |
| Giuseppe Verdi | 271 |
| Wolfgang Amadeus Mozart | 263 |
| Antonio Vivaldi | 120 |
| Joseph Haydn | 92 |
| Gioachino Rossini | 81 |
| Benjamin Britten | 54 |
Britten squeaks into the list this year because of his November 22nd birthday… everyone else is there because of the 'drive to play everything once' playing campaign. I have found, since that goal was achieved on October 14th, that I'm now playing a huge number of different composers once more, which is much more pleasant. I have Giocoso set up to prevent a composer's works being replayed more than once per month and to restrict play durations to less than 90 minutes: the number of variety of relatively short compositions played have therefore rocketed in the past three months, which has been a delight.
Given the names in the 'top composers of 2025' list, it shouldn't be a surprise what were the most common genres to be played this year (again, with hours played shown in the second column):
| Opera | 1388 |
| Oratorio | 466 |
| Symphonic | 388 |
| Choral | 351 |
| Keyboard | 324 |
| Concerto | 221 |
| Orchestral | 151 |
| Chamber | 80 |
| Quartet | 58 |
| Film - Theatre - Radio | 53 |
Most of that huge opera listening was thanks to just two lads from 1813: Wagner and Verdi. They're going to be rare pleasures in 2026, given that the need to play them at least once has now passed and the desire to play them again is tempered by the realisation that you're into a multi-hour-long bout of melodrama and emotional excess if you once start playing anything of theirs!
Perhaps the biggest news from 2025 from the deepest recesses of musical Lincolnshire is that I have abandoned Linux as my daily driver and switched to, er, <cough> macOS. Yup: I don't particularly like Apple's software, but their hardware is lovely and the retina screens from even a decade ago are pleasing to my ageing eyes. I'm really hoping that in the New Year I shall finally summon up the wherewithall to go purchase a modern Apple Silicon iMac from the Apple store in Cambridge. It will involve eye-watering amounts of cash… and I hate the built-in obsolescence timer that means anything you buy now will cease to receive official support in just a handful of years. I had been contemplating a move from Linux to BSD at some point: Linux developers have been doing weird things of late (Wayland, anyone?!) and though I've been using it exclusively since 2012, I've basically had enough of it. Apple's macOS is essentially BSD under the hood, with a very weird userland on top of it! I can cope, I think. I just need the bank balance to expand to accommodate the new fashion!
Anyway, that's it from me for 2025: see you again soon in the New Year, I hope. Entirely incidentally, bonus points to anyone who can examine the thumbnail to this post and work out why AI is very artificial and definitely not intelligent!!