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

Over the last few days, I have been working hard to update a range of products and services across my website. This list outlines the updates:

  • ZPE ZULE updater (the system used to distribute updates for ZPE) has been fixed and improved
  • ZPE 1.12.2 fixes the updater system for the new (faster update system)
  • DASH 2.0 updater has also been fixed on both the server and product
  • The online YASS runtime has been fixed
  • The system status service is now more streamlined

ZPE 1.12.2 will be released in the next few days to address the updater issue. It will require a manual download to update it.

After seeing someone else create a tier list for Pokémon games, I decided to do one myself.

I have my justifications below:

  • Pokémon Red and Blue being the first games, deserved not to be down at the bottom of the list, but were so broken and full of bugs (like Focus Energy not working as it was meant to) that they couldn't go higher than D.
  • Pokémon Yellow: a more refined version of Red and Blue, yet still full of bugs and the fact you couldn't evolve .
  • Pokémon Gold and Silver These were some of the most important games in my childhood. These refined the games to be games that I felt were worthy of getting into trouble in school to play! The improvement in the quality of the games, the introduction of breeding and egg moves, the introduction of more Dragon moves and the Dark type (as well as the Steel Type) and the improvement in the graphics made these games some of the more important games.
  • Pokémon Crystal I couldn't initially play Pokémon Crystal due to having a Gameboy Pocket when the game required a Gameboy Color. But when I got a Gameboy Advance, I could enjoy it and found it a really good game. Several minor improvements to Gold and Silver were brought in that made a difference. 
  • Pokémon Ruby and Sapphire these games are easily the most important games personally, but generally, they made some of the biggest changes and improvements to Pokémon as a whole. The introduction of the amazing double battle mechanic, abilities, natures, and Flygon (and many other Dragon-type Pokémon) was instrumental in my love of the games. 
  • Pokémon Colosseum this was an absolutely brilliant game that I still go back to over and over again because it's so replayable. The game had by far the best soundtrack of any Pokémon game at the time when it was released. 
  • Pokémon LeafGreen and FireRed these games were some of my favourites when they came out. They introduced many Pokémon from previous games that had been omitted from Ruby and Sapphire (and they allowed you to trade them back). These became my main games for a good two or three years. I first bought FireRed from Japan as I urgently wanted to play it. I still have some of my Japanese Pokémon on my Pokémon Home, too! These games also brought about wireless communication in Pokémon for the first time. There were just so many things these games did correctly.
  • Pokémon Emerald while a minor refinement that mirrors how Crystal changed Gold and Silver, Emerald was a very enjoyable game, focused more on Rayquaza from the Weather Trio. I completed the game once, but sadly, my cartridge developed a fault and unfortunately got stuck after catching Rayquaza and then corrupting the save file. 
  • Pokémon XD: Gale of Darkness was one of the games I didn't acquire until way after. I got XD in 2015 when my brother and I decided to trade GameCube games. I haven't played through the whole thing, unfortunately, but it feels like Pokémon Colosseum with a new story, and that isn't a bad thing. It is an enjoyable game.
  • Pokémon Diamond and Pearl by the release of Diamond and Pearl, I had, unfortunately, lost interest in Pokémon. I attempted to rekindle an interest in the series in 2010 with two of my friends, picking up Ruby and Sapphire again for the first time in 6 years, but sadly, I could not get myself back into it. As a result of this break, I missed out on Diamond and Pearl's release despite being hugely interested in them (I remember reading a copy of Games Master magazine about the new games and was hugely interested). I got the games in 2011 as a result of this.
  • Pokémon HeartGold and SoulSilver I liked Pokémon Gold when I got it in 1998 because it was what was available at the time, but returning to the re-releases in 2011 (I didn't get the games when they were released due to being out of Pokémon) was difficult, and I don't really know why. There were tons of things I liked about these games, but it was a game that was insignificant to me as I was really just getting back into Pokémon. I never found the story hugely interesting in those games, and it felt like the story was still very limited in this game, too.
  • Pokémon Black and White These two games got me back into the series after not playing Pokémon properly for almost seven years. It was a time that was particularly difficult for my health, and I was suffering from severe depression as a result of it. Black and White bring back lots of bad memories for me, but they also were there for me when I got down and did actually help me get through a lot of that stuff. I think Black and White deserves a D rank because it made significant steps up on the game's storyline compared with previous games. Also, several of my favourite Pokémon were introduced in this game. I got Pokémon Black at the end of 2010. I rate the game badly, however, mainly due to the introduction of things that ultimately felt shoehorned in - for example, triple battles and rotational battles. 
  • Pokémon Black and White 2 I owned both games and really enjoyed them, too. However, the games were fairly insignificant, and I felt they were just remakes, or rather, how Black and White could have been if DLC existed. 
  • Pokémon X and Y while these games received a lot of criticism, they were hugely significant, in my opinion. This was Pokémon's first appearance in a proper 3D environment. They were the first games in what I like to refer to as the gimmick line, adding a feature and then removing it one generation later. In X & Y, the gimmick that was added was Mega Evolution. It was also the best gimmick feature that was added. 
  • Pokémon Omega Ruby and Alpha Sapphire were the best re-releases of any game in the group. I still have them as my favourite Pokémon games because they were remakes of my favourite games.
  • Pokémon Sun and Moon were two of my least favourite games in the series. These games nearly put me off Pokémon again. The things I didn't like about the games were big as well. Firstly, the lack of gym battles was really upsetting, and the new system wasn't great. The other reason was that the new Pokémon introduced was really boring. Whilst the previous generation, generation 6, introduced several of my favourite Pokémon, including Dragalge and Skrelp and Noibat and Noivern, this generation only gave me Kommo-o. It also gives me Drampa, but I don't like him (my friend originally pointed out Drampa to me, saying I wouldn't like him. How right he was).
  • Pokémon Ultra Sun and Ultra Moon were just the same, and whilst they did improve a lot, I got sick of these games quickly due to the original games.
  • Pokémon Let's Go Pikachu! and Let's Go Eevee were again very significant in the history of Pokémon. I went for Eevee this time. I really enjoyed playing through these games as they were the first home games console releases since Pokémon XD. These games were significant as a step toward moving Pokémon games away from the small screen to the big.
  • Pokémon Sword and Pokémon Shield were two of my favourites. These games were the first real Nintendo Switch games, and although they were plagued with the problem of Dexit (the lack of Pokémon from previous generations appearing in the Pokédex), they were a fantastic release, despite all the concerns people had for their release.
  • Pokémon Brilliant Diamond and Shiny Pearl were again two of my favourite releases. Since I didn't play the original games back when they were released and played them after their release, these games worried me slightly. They worried me because I hadn't played the original games, and they might not have the nostalgic feel that games like Omega Ruby had for me. Needless to say, these were some of the best games due to their excellent story and classic feel. I'm so glad I got Pearl since Palkia is one of my favourite Pokémon now as well.
  • Pokémon Legends: Arceus is a game I never got around to even opening, unfortunately.
  • Pokémon Scarlet and Violet are the current games when I wrote this. Unfortunately, they are very buggy games, and their story isn't great either. While the developers continued to bring more and more Pokémon to these games, they still lacked many of my favourites. There's not much more I can say about these games. They were enjoyable enough to play through, but the glitches and bugs seriously impacted how I felt about the game.

And that's it! 

Pokemon icons created by Those Icons - Flaticon

Over the last few weeks, I have been working tremendously hard on the DragonDocs Engine, updating it from version 2.0 to a modest bump up of 2.1. The new version allows image uploading and has worked really well over the last few days since I brought it in. But DragonDocs version 2.2 is already under development, with the DragonDocs AI Engine being the core feature of this iteration.

In fact, I trialled out the DragonDocs AI Engine today, and it works so well! This is still in the experimental stages and is being looked at in-depth for the next version.

As part of the WISP, I intended to release a full UI package called BalfUI. BalfUI will include both BalfPick and BalfSlider and will be fully modular - using my website, you can pick exactly what parts you want and receive a minified package of CSS and JavaScript containing just what you need. This was actually requested early last year, and I had originally considered it but decided against it. BalfUI will also include a flurry of other things, including BalfRibbon; I'm hoping for an early release of my Phoenix Font and other UI elements.

All of my projects are open source and hosted on GitHub for anyone to use. BalfBar also features a menu generator on my website to simplify the generation of the HTML.

USB-C was supposed to be the one connector for all. It's definitely not lived up to that purpose well. USB-A is still by far the more popular connector for most devices and the wall chargers where USB-C aimed to take over. USB-C was delivered to us in 2015 by none other than Apple with their MacBook, which featured it (and only it), showcasing the port for the first time as a connector that does it all.

DisplayPort and HDMI are still outpacing USB-C on the A/V side of things. Sure, USB-C can carry DisplayPort and is much smaller than the big DisplayPort connectors. Not only that, but it can also carry data at the same time

Not many companies are pushing USB-C as Apple has been on their Macs and iPads, phone chargers and Watch chargers over the last few years, and they don't seem to care that the world hasn't caught up with them. However, Apple did continue to use their rubbish Lightning connector up until October of last year when the iPhone 15 was released. 

USB-C hasn't delivered. And I say that because of the inconveniences it now causes. For Mac users and many Windows Ultrabook users (which I have been), devices such as mice, keyboards, USB drives, webcams or printers all become a pain to use because of their USB-A connectors. I normally use my Windows machine to do anything with hard drives or USB drives simply because of its USB-A ports. 

My new MacBook Pro that I got in December is a fantastic little machine. It's a wee bit chubby, and that's what I like about it. It's not a chunky machine by any standard, but it's thick enough that Apple could have included some USB-A ports on it - even if just one. Though, as I have said in the past, Apple was the first company to ditch parallel and serial ports from their computers when they were the standard, they were the first to ditch floppy disks when they were the standard, they were the first to ditch the headphone jack and now the USB-A port.

To conclude, I do not think USB-C has made massive changes to everything it promised. It's lacklustre in some areas and has made things more inconvenient in other areas. I love the connector, and back in 2015, when I was invited to try out a USB-C product for a company, I was so very excited at the prospect of it.

This day in 2018 was the most significant in the history of my website.

The plan was formulated in late 2017 to refurbish my website performance in a huge way.

The first step was to replace DragonScript 3 with a much faster version called DragonScript IV. DragonScript IV allowed my website to handle up to 6 times more requests simultaneously (up to around 1 million requests).

The second step was inline optimisation and caching. My caching system is substantial across my website and relies on several different technologies, such as cron jobs used to clear and freshen caches, automated scripts to generate cached data and my analytics system to determine what needs to be cached. The inline optimisation feature is similar to the caching system on my website, and it's what ensures that all data transferred is compressed before it is sent. If you take a look at my gallery on my website, you'll see that all photos are watermarked. The watermarking is preprocessed and cached and then reread when it is needed. 

The third and final part of this was a bit more manual and required me to optimise other images and content across my website. 

The result was that my website went from loading in 100 milliseconds to around 10 milliseconds. 

YES! That's what I shouted when I made a breakthrough with LAME that improved its performance (retrospectively named X1) by a whopping 2 to 5 times. The new version of LAME, LAME X2, will come to ZPE throughout the year. The theoretical improvement comes from compiler optimisations that improve LAME performance so much by reducing the number of iterations needed on a mathematical or logical expression.

In LAME X1, mathematical expressions were processed up to four times before the result was generated. With LAME X2, a mathematical expression needs to be processed precisely once. Assume you have k expressions within that expression; version X1 must process all expressions up to four times, leading to a worst-case computational time of O(4k + 1). LAME X1 is fast, but LAME X2 is faster.

With LAME X2, the worst-case scenario with k expressions is O(k + 1). 

Another improvement coming this year is the Zenith Parsing Engine version 1.5. 1.5 will bring some performance improvements, although I am not quite sure how substantial these will be yet. 

balf.io is a new domain I aim to use as a nexus or portal to content on my website. For example, docs.balf.io is used to host documents from my website on a separate domain, and the main domain, balf.io, is a redirect site to make redirects easier and it uses the same URL redirect system as found on my website. 

In fact, the codebase for balf.io is entirely the same as my website. So the slide viewer on it uses BalfSlide View and the document system on it is my DragonDocs. 

Happy New Year for 2024 everyone! I thank you for following or using website! 

Let’s hope 2024 is another amazing year!

New Zealand has just celebrated New Year for 2024! 

I just wanted to say Happy New Year to all my friends in New Zealand!

Powered by DASH 2.0