Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Jamie Balfour'sPersonal blog

Jamie Balfour'sPersonal blog

I just wanted to say, Merry Christmas for 2023! Have a great day!

Whilst there is very little wrong with my MacBook Pro M1 which I ordered the day Apple announced the M1 chip back in 2020, there are a few things I don't like about it. I still love the little thing and use it all the time, even after committing to moving to PC only.

When Apple revamped the designs of the larger MacBook Pros in 2021 with the M1 Pro and Max chips, I fell in love with them. On top of everything, including the MagSafe charger and a card reader is so welcome. 

I had originally stated that I wanted to completely transition away from Macs to PCs but that never happened as I found it too difficult as a developer to move entirely away from Macs. 

Anyway, it was time for a new MacBook Pro now that this one is three years old. 

We're already getting close to version 1.12 of ZPE so it's time to think about code names. 

After having a long thought about what I could do, I resorted back to my previous code names where my favourites were definitely the ones related to animals. So without further ado, here are ZPE 1.12's code names:

  1. Bagpipe Badger
  2. Celtic Caterpillar
  3. Glen Grouse
  4. Haggis Horse
  5. Kilted Kelpie
  6. Loch Lion
  7. Nessie Newt
  8. Piper Pine Marten
  9. Scottish Seagul
  10. Tartan Turtle

The main goals of ZPE 1.12.x are:

  • A heavy focus on improving the security of the language
  • Stronger typing with TYPO v2.1
  • A higher performance lower memory footprint Zenith Parsing Engine (version 1.5)
  • Rebuilt Python and Java transpilers
  • A new plugin system (backwards compatible with existing plugins)
  • Further opening ZPE with ZPEKit.

A few years ago I tried building an app for iOS using Xcode. I didn't get very far with it but now after having a proper play about with it, I think I've got somewhere.

Today I began to work on my first Apple Watch app and it's been a success. I can now control slideshows on jamiebalfour.scot using Apple Watch. The current version is nothing but a simple test but it will get better soon.


The very first Linux build for ZPE was built this evening, offering massive performance boosts. The build was built on Ubuntu Linux which my home server runs on.

The new build is now available based on ZPE 1.11.11. It is also the basis of the online ZPE tester, making it speedier than before.

At last, I can finally say that all of my slideshows have been updated to the 16:9 aspect ratio - something that I started to work on at the start of June this year to better utilise the space available. Further to that, I've brought changes to the designs that make them more consistent, updated the styles for different sections and much more. 

Some users of my website will notice that there has been a minor update to my website, bringing the version number up to version 4.3. 

The update to version 4.3 brings a new font, the Oswald font, mainly being used for titles. It also fixes an issue that hasn't really been addressed on the web with text with background clipping when the text reaches the next line - it does this by splitting the text by spaces into inline spans with a 'glowing' background. Please have a look at my title to see what I mean. 

This is the first change in a long time, probably some 4 years as Quicksand has been used almost everywhere. For fans of Quicksand like me, please do not fret, it's not going anywhere! 

Next font size, I'm taking the font size back down to 16px instead of 17px. I had this like this for a good few years but in recent years I moved away from the agreed standard size of 16px up to 17px. 

Some of these new changes actually also affect the slides hosted on my website as well. 

A few improvements have been made over the last few weeks in DragonScript as well. This should make the website smoother than before.

Otherwise, the rest of the website remains the same.

As I mentioned I recently got a place for a Master of Science degree in Computer Science (something I should have done before going into teaching and before starting my PhD). 

I've taken the next step in my career plan to get into lecturing by formally accepting the Master's Degree and paying for the first part of it. So now I just need to get through my Master's degree and then find a job as a lecturer! This is totally exciting news!

I just read this:

Californians: your right to repair is now law. Thanks to an advocacy coalition led by CALPIRG (California Public Interest Research Groups), individuals and independent repair shops will have more access to the materials and information they need to fix their electronics and appliances. This follows a wave of encouraging right to repair laws across the U.S.!

This is great news! It could change the way we repair devices! As you'll know if you read my blog that I am an advocate for the Right To Repair movement and have been since about 2015. 

The latest feature to come to ZPE - YASS Unfold - is a very useful feature. YASS Unfold does just that - it 'unfolds' the code into natural language, explaining what the code is doing. The very first version, which will be released in late October, features only a handful of features such as while loops, if statements and function calls (so far, but may contain more) and will not be the full feature.

This could be very useful for explaining complex code and will be looking at implementing some machine learning to improve and optimise results. I aim to have every feature from ZPE up to version 1.7 by the end of the month as it doesn't take long to write. Further to this is the new directive @unfold which allows you to specify what a subroutine or function does within your own code to help Unfold explain it. 

This feature is built on the same code base as the transpiler feature and will hopefully continue to get better as versions progress.

Powered by DASH 2.0