To use this website fully, you first need to accept the use of cookies. By agreeing to the use of cookies you consent to the use of functional cookies. For more information read this page.

Jamie Balfour'sPersonal blog

Last night I finished working on ZPE 1.10.2, the latest version of ZPE. ZPE has been the centre of focus for me recently due to the need to redevelop the editor from scratch. I say this because the editor used JavaFX and since the decision to remove JavaFX from the JRE in the latest versions, I decided to make things easier and go for a simple Swing interface. 

Swing didn't work too well the last time I used it to build the editor, in fact, download an old version to see what I mean. But the new version is so much better. There are still one or two features missing from ZPE's editor that were featured previously but they will come soon.

In the ever-changing environment that is tech, ZPE needs to change to keep up with the developments in Java.

Recently I announced ZPE would move to use GraalVM instead of the JVM so that it can run much faster. Performance tests showed huge increases in performance, but it came with an issue - the editor no longer worked. So I moved back to the JVM, but it wasn't long before the JDK stopped bundling JavaFX which the editor is built with. This means bundling JavaFX JARs with ZPE, making it 10x larger than it currently is. The result of this is that I have decided to split the runtime from the editor and over the next few months the editor will be removed (again) and separated. 

I will look to build a simple Swing-based editor in the package to allow for continuity in the package. I will also be looking to move the JavaFX editor to a separate package that I will add to GitHub.


I spent a good five or six hours rebuilding the editor using Swing and it looks so much better on my Mac already! Every feature from the JavaFX editor has been brought to the Swing editor already and ZPE 1.10.2 will be out this evening! 

Since I got my house nearly a year ago, I've been very busy with my network infrastructure. This involved installing my home security system, getting my home server running (which is my Home Bridge, Plex server, my PBX server, home web server, company web server backup server, SSH server and DDNS server updater), installing home phones, setting up my smart home such as all my bulbs, switches and everything else, and of course, connecting my computers to it. It's taken a while, but one thing that's been changing more and more is I'm using Power Over Ethernet (PoE) for more and more devices.

In the past, my PoE uses have been fairly limited to just my SIP phones but this week I ditched the power adapter for my SmartThings hub and my Ring base station after getting new PoE splitters. I'm also going to be replacing all the switches across the house with PoE switches to allow me to ditch power adapters elsewhere too. I'm still installing my CAT cables across the house and have been considering CAT8, but it's difficult to justify considering the price and the lack of flexibility on the cables.

In a few weeks, I will also be posting a YouTube video for the first time in years with a little look around my house one year on.

I know it's been a while since I last updated Velocity Web Server (VWS) and it's partly because of a lack of time but also because of my lack of commitment to the project in the first place. 

The last few months have been really centered on the rebuild of the DASH project, which has become so much more than it used to be but also have been focused on the latest versions of ZPE which have come on really well over the last few months. There have also been some issues with ZPE that are still on going and needing fixed, which has drawn a large portion of my development time. Don't forget on top of all of that, I run a business!

Velocity is next on my sprint board and will get some time again very soon.

Posted by jamiebalfour04 in General

The celebrations had been running for two hours but are now coming to a close as New Zealand now enters 2022, with pretty much the rest of the world, including us, still in 2021!

Happy New Year New Zealand!

The start of 2021 was unfortunately spent with the country in lockdown again which was very difficult for me personally as I was living at my parents' home but was also getting ready to move away from there so I had boxed some of my stuff. This lockdown also got me slightly anxious about moving out and whether or not I would be able to get in this year since the builders were working fewer hours and there were fewer of them working on-site because of lockdown. Sadly, because of this lockdown, I didn't do a huge amount of exciting things in January.

February on the other hand was the most exciting month of the year for me. First of all, we had one of the nicest snow spells in a long time, with quite heavy snow that lasted a few days before disappearing entirely. This is the kind of snow I like - it's not hugely disruptive this way.

But then the biggest and best news came along on Tuesday the 9th of February when I was phoned by Taylor Wimpey to be told that my house would be ready for me to move into by the 19th of February. There was suddenly a mad rush for me to get things organised for this move in, I phoned my solicitor, my bank and lawyers and informed them all of this. I then made final preparations and arrangements for this date, including getting my deposit in one place.

Not everything went to plan, however. As much as I had done everything, and the bank (Barclays) had done everything they needed to do, by the time the 19th of February came along and I was to move in, I got a phone call from Taylor Wimpey to say that they had not yet received any funds from the bank. I kept phoning Barclays to see why this was the case and for some reason, an administrative error had occurred on their side that meant that they hadn't processed it properly and fully yet. Anyway, Taylor Wimpey couldn't give me the keys to the house due to this, which is understandable. However, Taylor Wimpey did give me the keys the next day so that I could have a look around my new house on the premise that come Monday I would be able to move in. Monday came and again the bank took their time and it wasn't until 30 minutes before Taylor Wimpey closed that the bank released the funds and I finally got the keys at 17.40 (actually Taylor Wimpey aren't even open on a Monday, it was thanks to the estate manager that I got the keys).

You can find out more about my moving in here.

March saw me return to the office on certain days which was nice but also very scary at the time as well. May was an excellent month for innovation with the new slides section being added to my website which is powered by but also my own built slide viewer that adds functionality to my slides like never before. Further to that, and also released in May, the section provides a bunch of tools that can be used within these slideshows.

June was excellent for ZPE, with the new TYPO v2 system being introduced which is miles more efficient and effective than the first version, the new let keyword was added meaning that variables no longer had to have a $ sign at the start of them and many bugs were fixed. 

July was great for my house when I got my loft boarded giving me the extra space to move along some of the stuff from my parent's house. Stuff in my loft now is mostly just boxes, Christmas stuff and sentimental boxes. July was also an awesome time for my family since we all went to Plockton for two nights - exactly 10 years from when we first did it (except my dad wasn't there the first time). This was the first family holiday we've had in a while and was the first time we had a proper day away since I moved out so it was really nice. The journey up to Plockton was amazing again, going up via the A82 over the Rannoch Moor, past Glencoe and Fort William. On the way back we visited Eilan Donan Castle - something we planned to do in 2011. We were not disappointed and all really enjoyed touring one of the most interesting castles in Scotland. Whilst heading south we visited Spean Bridge, which is now one of my favourite locations in the whole country, and the Old Station Restaurant. Whilst there we decided that we'd like to head back via the A9 and so we went back via the A86 as we had also done in 2011 as well. This road is one of the most beautiful roads in the country and we passed Loch Laggan. We decided to stop at Loch Laggan and have a look at its beauty and amazing sands. As a result of this stop, I asked my father and brother if they would be interested in camping here the week after next (I had mentioned it prior to this but never figured out if they were serious about it) to which they both eventually agreed.

We decided to go camping at Loch Laggan on the 30th of July. Prior to this, I bought a new tent for us, a sleeping bag, and a couple of additional camping gear. When we left, I didn't realise but my dad also brought his own tent (the reason behind this is more insidious and void for this post). This was the first time we'd been camping in over 15 years as a family (well my mum didn't come but it was the first time two members of the family shared a tent anyway!) so it was quite incredible but also really good fun. The fun however stopped when the night came. As a result of me cheaping out on my sleeping bag and not obtaining a decent mat to sleep on, I got very cold throughout the night. Loch Laggan is near Dalwhinnie - one of the coldest parts of the UK - so it's totally understandable that it was so cold. I was so cold that I was sure I was experiencing hypothermia since my heart rate dropped to 39 beats per minute at one point and ended up having to huddle up with my brother in his pod in the tent (thanks to my Apple Watch for warning me of this). We decided to leave quite early the next morning 

Sadly, August of 2021 was not such a good month. It started off with my mum and I going to Loch Katrine (which we last visited some 15 years prior). After returning home we decided to look at booking the bikes at Loch Katrine for an hour or so. This was something we've both wanted to do for a long time. We went up there a few days after and it was a really great day to be cycling. But when I got home I got the fright of my life when I discovered two legs poking out of my chest and realised I had a tick - my very first one too. I immediately called my brother who had had plenty of experience with them in the past. My brother passed on lots of tricks in dealing with them to me in the past but all the training I had had had had no effect - I was just too scared to attempt to remove it myself.

Also near the start of August, I had my very first dinner which I had friends at. And by friends, I'm talking about my two oldest friends, Nick and Calum. This was a really nice evening and the first time I had seen Nick in a long time. I made a nice spaghetti and both enjoyed it I believe. This was to be the first of many dinners!

In terms of work, it was an exciting month of the year since it would be the first time that I had ever returned to a school after the summer holidays since starting teaching and was the first time I returned to a homeroom class as well. It was so nice to return to all those happy pupils! However, on the 27th of August I, unfortunately, tested positive for COVID19 and ended up hospitalised on Monday. This has been my worst experience in hospital, and it was nothing but the anxiety and worry of being back in hospital that made me feel this way. I ended up self-discharging and getting out much earlier than was originally planned. You can read more here.

By mid-September I was out of the hospital and began getting back to my normal self, but with the support of my mum, who has been one of the most important people in my life throughout all of these different traumas that I have been through. Friends were also a big part of my recovery, and it was good that my friends knew when to support me and when I needed to be left alone (I felt that there were times I needed people throughout my recovery and then times when I needed to be on my own). I slowly began to get back into the things I enjoyed prior to COVID such as programming and web design and development and by the end of the month, I managed to make ZPE faster than before with major performance improvements.

Mid-October 2021 was the first step to get back to work after COVID and was a slow and gentle ride to start with that helped me ease into it again. Unfortunately, during this time I was still experiencing problems from COVID. My heart rate was averaging around 130 beats per minute every day and neither my doctor and I could not figure out what caused this. As well as that, my body started to act a bit weird and my fingers and feet were constantly getting pins and needles in them - apparently, this was a result of a B12 deficiency caused by either my COVID jag or having COVID. October 2021 was also my first Halloween in my new home which was extremely exciting for me! 

During November I had my first family dinner with my aunt at my place! This was another exciting moment in the history of my house. But it didn't end the way I wanted it to with my brother and father falling out (as always!) and my brother getting very angry and leaving. Also during November I finally got the new TV I needed to get (as some of my readers may know, my previous TV bought just two and a bit years prior was just a temporary solution whilst living at my parents' house). My new Samsung QN95A is an amazing TV that compliments the room and is one of the best purchases I've made. I got it wall mounted professionally at the end of the month as well and it looks stunning in my living room. I also got an Apple Watch Series 7 after toying with the idea for weeks. This is my first 4G enabled smartwatch which has allowed me to do a lot more than before.

December was without any doubt the best month of the year for me. I think this is because I felt like all the jobs needing to be done around the house had finally been done and my house was finally there (I mean there are new things I am wanting to do etc but all the main things were done). As well as this, my smart home was finally working as I wanted it to, my home phones (SIP phones) were all set up and I was finally feeling very satisfied with everything. I also felt this because I felt very relaxed for the first time since having COVID and felt that things were going the right way again. I managed one full week at work plus a full three days on top of that. Christmas wasn't amazing since I fell out with my dad in the first 30 minutes and decided to head on home to my own house (I regret having to do this but it wasn't possible for me to stay when my dad was having a go at me about everything). But my mum treated me, my dad and my brother to tickets for a tour of Glenkinchie Distillery - something we actually got the year before for Christmas but had to be cancelled due to COVID. This was an interesting tour and was the first time in a long time I had been back to the bar there (I used to go quite a bit when I lived with my parents since their house was near). You can see photos of it here. To finish off the year, I completed The Legend of Zelda Majora's Mask once again - a personal tradition since 2005. 

And that's it. The end of 2021. Goodbye 2021, a good year for me overall and I'll never forget all the positives that came from this year. We can now welcome in 2022.

Posted by jamiebalfour04 in General
new year

ZPE 1.9.13 is now available to download from my website, or directly from ZPE using the --update command. 

ZPE 1.9.13 is another excellent update adding four new built-in functions, two major fixes and the new map data type.

It's worth the download!

I want to wish all my readers a Merry Christmas for 2021! 

This year's codenames are a bit more fun than chosing place names or locations. This year I have chosen several animals, much like how Canonical does with Ubuntu's codenames. As always the list can be added or removed from. Here they are for ZPE 1.10:

  • 1.10.1: Amazing Aardvark
  • 1.10.2: Commendable Cat
  • 1.10.3: Dazzling Dog
  • 1.10.4: Exceptional Elephant
  • 1.10.5: Fantastic Fox
  • 1.10.6: Great Giraffe
  • 1.10.7: Hasty Hyena 
  • 1.10.8: Jolly Jellyfish
  • 1.10.9: Lusty Lion
  • 1.10.10: Proud Penguin
  • 1.10.11: Worthy Whale
  • 1.10.12: Zippy Zebra

So what do you think? Are the Amazing Aardvarks and Zippy Zebras going to be good codenames for ZPE?

ZPE 1.10 plans to brings many new features to ZPE, ranging from simple things like performance improvements (plenty have been planned out) and bug fixes, to more complex things. This post will discuss the first of many new features that will come to ZPE over the next year.

Firstly, the Zenith Parsing Engine 1.5. As a result of writing the Zippidydoda syntax highlighter, I have identified a new method to make parsing more efficient within the Zenith Parsing Engine. Within the next few weeks I will launch version 1.5 of my syntax parser which will have further optimisations.

Secondly, speaking of optimisations, I have plans to bring precompiled JSON, CSV and XML to ZPE. What this means is that the code will be precompiled at compile time which will speed up runtime.

Thirdly, static variables will come to ZPE in 2022, bringing many benefits and new features including the singleton pattern. Static variables have been seen as being a requirement for a long while now.

The fourth thing I'm working on is the new ZPE Online includes feature. I am aiming to have this done by the end of the month and ready for ZPE 1.10.1 but I'm not sure if it will be ready. 

ZPE 1.9.13 will be the last version to feature the ZPE UI features as ZPE 1.10.1 will remove this from ZPE. This will be moved to the ZPE UI library, a free, opensource library. It will be very easy to reintegrate these features into ZPE again once the library becomes active again.

Powered by DASH 2.0 (beta)
Code previewClose