Happy New Year, everyone! Welcome 2026!
My New Year's resolutions are as follows:
- Become more environmentally friendly and sustainable - although I do a lot, there's more I can do, I want to try and inspire those around me to do more as well
- Attempt to find a new career

As we get toward the end of 2025, I thought it would be a good idea to look back on 2025 before welcoming 2026. The end of the year is always emotional, either in a good way or a bad way. For me, this year has been mixed.
2025 has not been an awful year like 2010, 2016, or 2021, but it has had some serious downs for me. I'm going to try to go through the months of the year to describe the year as best I can in a couple of sentences, rather than by month.
Firstly, ZPE hit a significant milestone this year when the parser became up to 24% faster, resulting in a much more performant ZPE. This was a substantial improvement for ZPE. Additionally, ZPE also hit 10 years this year in May - something I cannot believe. ZPE also got a new file sandbox security within plugins, and it's really powerful. And the YASS language got labels and goto statements (again), and the editor saw a massive change with the introduction of BalfLaf (a new project of mine that's now applied to all my UIs).
I reintroduced BalfComment as the primary commenting system on my website. As time goes on, I'm going to continue improving this to ensure that comments are automatically moderateable (through AI) to avoid users seeing unsavoury comments.
DragonDocs introduced AI marking last year, but this year it improved considerably. You see, the marking was done on each script individually, whereas now it is done in one, so the marking is consistent. Additionally, the context is retained so that future tests are marked using the same marking strategy as before.
Technology-wise, I did quite a few reviews and got some really cool new tech, including my new Nintendo Switch 2, GPD Pocket 4, iPhone 17 Pro, Apple Watch Ultra 3, my Unfolded Circle Remote 3 and my Zettlab AI NAS D6.
I also moved into my house four years ago, in February. I also got myself a nice little upgrade on the house with my understairs drawers. Speaking of upgrades, I've made a lot of progress on the smart home, with things like my smart front door that locks and unlocks via my watch and my new LED light strip along the back of my house, and I've finally developed a powerful, handy dashboard for my home control tablet at the door.

Although I began planning my move out of teaching and back into my previous career in 2024, 2025 was the year I started putting those plans into action. My aim is that by the end of 2026, the remaining pieces will be in place to allow me to change careers fully. This year also saw me move from my previous school — one I genuinely loved — to a new school. While I do enjoy working there, it doesn’t resonate with me in the same way. A significant positive, however, has been gaining a wonderful colleague who makes day-to-day work far easier and more enjoyable. In a broader sense, not being as emotionally attached to my current school has given me clarity. It reinforces that I’m ready for change, and makes the decision to eventually step away from the profession feel both practical and achievable.
April was a good month overall, though it did include one of the year's most challenging episodes. Following an incident in March, my mum—despite my reassurance that everything was fine—contacted an ambulance. The crew attended, carried out their checks, and confirmed there were no concerns. In April, the hospital requested a follow-up. Although there was no evidence to suggest anything serious, one doctor chose to pursue a possible seizure diagnosis—something that appeared to be based on little more than fatigue. This line of enquiry continued through to June. Thankfully, in July, a different doctor reviewed the original ambulance report, which explicitly stated that no seizure had occurred, and concluded that the earlier assessment was not supported by evidence and could not be substantiated. The drawn-out nature of this episode caused significant disruption to my life and was extremely distressing at the time. Still, it was ultimately resolved after a more thorough, evidence-based review. Ultimately, however, this plagued 2025 as it put so much pressure on me and left me feeling pretty broken.
As if to round off the year properly, my fridge/freezer decided to pack in at the very end of 2025.
So here's to 2026, but let's not forget all of the positives that came from 2025. Let's hope I can get myself sorted next year.
After using Quicksand as my de facto font for my website, web tools, DragonDocs, DragonSlides and my software, it's finally time for a change. I'm now moving everything to Instrument Sands. DASH still hasn't switched to the new font, but I do intend on making it the default font for DASH.
I remember the day I decided to switch to Quicksand very well. My first project to use it was DASH in 2019. I replaced Source Sans Pro on my website after using it extensively for digital literacy materials at my previous school. This experience led me to choose it as my default font for all my projects. Quicksand is still on my website, and I'm hesitant to remove it entirely, so we'll see what happens.
Whilst this may not be as sad for some of you readers, for me, this is a sad day as it's like the end of an era for me in terms of design.
Haddington was tied with Perth for being the happiest place to live in Scotland. I don't disagree, Haddington is a lovely place, and as someone who has lived in this area all my life and spent much of my youth in Haddington, I totally agree.
In the UK, Berwick-upon-Tweed was voted number one. Again, I don't disagree. I visit Berwick-Upon-Tweed once every few months because I love the town (and because it's such a nice drive to it). Other prominent places are York (which I love and visit once a year), Durham and Exeter.
Today is YouTube's birthday, and I remember watching the first video on YouTube ever! I remember going to my next-door neighbour's house and watching YouTube as it was a new service that they'd found out about prior to its launch. Before YouTube we all used to watch Stupid Videos (.com) and Weeble's Stuff.
What a wonderful memory that is!
2024 has been an exciting year. Personally, I believe there have been several key highlights. This is one of those sorts of sentimental look back at the year moments, particularly from my point of view. I mainly make these so I can look back, since a blog is kind of like a journal anyway.
First, in January, I launched my new balf.io platform. balf.io is an external way to view things like my slideshows and documents (DragonSlides and DragonDocs, respectively). It also acts as my URL shortener and redirect system. Overall, balf.io has simplified things that I do on a daily basis. Speaking of DragonDocs, January was the first year my new DragonDocs AI was released, allowing DragonDocs to mark answers provided automatically.
Also, in January, I released ZPE 1.12.1, which brought the critical changes that made room for LAMEX2.
In February, I updated my smart home to be entirely local for the first time since I built it. Nothing relies on the cloud, making it more streamlined and faster.
The Internet turned 35 years old in March 2024 - a historic moment.
ZPE 1.12.2 was also released in February and was one of the most significant updates in a long time, with LAMEX2 being included, offering up to 4 times the performance of the previous versions and having a much lower memory overhead. LAMEX2 became the standard LAME in version 1.12.3.
In May 2024, I released my first fully functioning ZPE transpiler, ZenPy, and I fixed the plugin system within ZPE (and then split ZPE's core so that parts that were not necessary became plugins). June saw the introduction of breakpoints to ZPE.
In July, we had the first election in over 14 years, which did not result in Conservatives and ended up with the Labour Party instead. ZPE finally got namespaces in July. In July, once again, I went to York, this time with my mum and dad. It was nice once again and I made some critical decisions about my life and what I'm planning on doing in the near future whilst on holiday this year.
In October, my oldest/longest friend got married. It was a spectacular day up in Dunkeld (I stayed for three days), and the wedding itself was out of this world. Also, in October, I finally got back into YouTube and want to continue to do it again. I also finally updated my house infrastructure to use 2.5GbE for everything.
In December I got my routine MRI scan of my head and spine and all was clear. To top the year off, I went to my very first gig. I saw Travis in Glasgow (my second favourite band). It was exciting and one of the best events I have ever attended. Once again, I went with my mum and my dad came along as well (he's not a fan of Travis the way I am, or my mother even, so he didn't enjoy it the way we did).
All I have to say now is that let's hope 2025 is a great year, too! Happy New Year when it comes.
I just wanted to say Merry Christmas for 2024! Have a great day!

A few days ago, I spoke to a friend who showed me his CV and what he had done. It was stunning in its design, something I had done a few years ago when I used Microsoft Publisher to make my CV. I moved away from Publisher due to the incompatibility with macOS and because I like to make my things using code rather than rely on software like that. I also wanted to host a native version of my website and add some of the themes from my website to it.
I eventually caved in and came up with the idea of making it with HTML and CSS and hosting it on my website. It worked well, and over the years, significant changes have been applied, such as making it more interactive and powered by a database.
Over the last few days, I have made even more extensive (and beautiful) changes. These changes are especially prominent when printed to either a PDF or paper.
Take a look by going to the About section on my website.
Finally, ZPE 1.12.3 has been released!
ZPE 1.12.3 is a significant update because it dramatically changes how LAME evaluation is carried out on mathematical expressions. It switches to a new method of parsing mathematical expressions, making them up to 4 times more memory efficient. To explain this, I have bulleted the different areas of improvement:
- It no longer modifies IASTs
- As a result of the previous change, it now no longer copies IASTs before attempting to parse them, making it both faster and memory-efficient
- It parses BODMAS statements in one single pass rather than performing four passes on a statement.
- It separates logical expressions and mathematical expressions further, making both faster.
As I have said, this is a significant update for ZPE that flushes out some of the bad things about the first LAME.
LAME X2 closes the bridge even further between ZPE Native and ZPE Java, as it brings in further optimisations that improve performance to a native level.

