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

Seriously, forget the old version of 'The Teaching Organiser', the new version is miles better!

The new version of The Teaching Organiser no longer focuses solely on reporting and is now set up for timetable creation. The new version is so fast, smooth and works well (the old version did too actually). 

Version 2 is designed with a much more dynamic, app-like look. Several features are going to be built into the new version. For now, I'll provide a little taster of what it's new timetable engine (which is built using the same code as the one I built a year ago for myself):

The trend of smartphones replacing functionality that was once carried out by a desktop or laptop computer is continuing to grow. With companies like Samsung and Google at the forefront of this new technology, things like DeX, we are beginning to see a new bring-your-own-device to work scenario growing. A lot of this functionality has come from the latest chips being powerful enough to perform desktop-like functions and give a desktop-like environment without struggling but it's also down to the advancements in cable technology like USB Type C and its Alt-Mode function. 

Let's look at the first point made here: smartphone chips are more powerful than ever, boasting up to 6GB or 8GB of RAM and decent graphics processors. They are more than capable of running Windows 7 based on those specifications, so they are more than capable of running your desktop applications such as Microsoft Word in a smartphone form. Microsoft attempted to do this with their phones using Continuum [1]. This was a fairly wild idea back in 2015 when smartphone processors were nowhere near what they are now. But this kind of thing is now very possible for the average job (we're not talking about playing games on a secondary display with a mouse and keyboard) such as Microsoft Word or PowerPoint. I can see this being very useful for me if I was doing another talk where I could simply dock my phone rather than my laptop. Apple has now made this possible on iPad with the new Stage Manager feature which is very impressive - this kind of thing should come to iPhone when docked.

Now let's look at the second point made here, connectivity. Connectivity is perhaps the main reason this kind of stuff is becoming very possible. Looking at what Microsoft was trying to achieve in 2015 with micro USB (which by the way, was USB 2.0) and USB Type C (later on, however). This is a great idea, one that I fully support. Samsung's DeX feature is actually so seamless that a company my brother was working at during a contract with some 200+ employees in the part he was working at had moved to bring-your-own-device and they would dock it into their USB Type C docks to connect the corporate network and gain a mouse, keyboard and display. Not only does this save the company money, but it also reduces the number of devices the users actually need, adds functionality such as making phone calls from their desktop system and perhaps the most interesting one is that it can actually be used to reduce the amount of time users spend on non-work related apps on their phones (users can enable a work mode when the phone is docked, allowing them to only use work-related apps).

Now some say that the future of smartphones taking over laptops is well away [2], and sure I can definitely agree, but when I heard a whole 200+ people were using their phones using Samsung DeX as their sole working device, I was absolutely astonished. Sure where I work we've done away with desktops, your laptop simply connects to the keyboard, mouse, 2 displays and projector by docking with USB Type C, but it's not quite the same as replacing a laptop with a smartphone or even a tablet for that matter. 

[1] https://www.theverge.com/2015/4/29/8513519/microsoft-windows-10-continuum-for-phones

[2] https://www.teamtreysta.com/will-smartphones-take-over-laptop-functions-in-the-future/

Meta's Twitter competitor, Threads, goes live in just over five minutes! I'm really looking forward to seeing what this brings! Go to threads.net to see it when it goes live!

As a relatively long-term Mac user, and once (from about 2013 to 2021) an Apple Everything supporter, I am now trying to redirect myself the opposite way. 

In short, Apple is beginning to suck. 

Since replacing my MacBook Pro with a Windows machine I have found it very hard to move entirely from macOS to Windows. Bear in mind, when I first got a Mac back in 2009, I ran Windows on it as I wouldn't say I liked the software but loved the hardware. Fast forward to 2013 and my attitude shifted when I only used Mac OS X and didn't use Windows except for playing the odd game. 

In 2022, I began to transition away from Macs, but it's not been easy. macOS is a lovely operating system, nicer than Windows by a country mile. But still, Apple's lack of repairability made my transition away easy, because the environment is more important than a Mac.

Their latest Mac Pro is an absolute disgrace - it's a large machine which hasn't changed in terms of design since Intel, despite the fact it should have. And I say that because the air cooling in the system is much more than necessary. This means that not only has Apple been lazy in terms of design, but it also means that the Mac Studio is actually a better buy for most people. The only difference is those PCI-E slots in the Pro, yet in theory several of those could be integrated using Thunderbolt anyway (though of course, not all). 

Whilst I keep saying I'm transitioning from Macs, I still find it hard to not pick up my MacBook or use my Mac Mini so I'll be getting a Studio or Mini as my next Mac in the house (mid-next year though).

ZPE Online is the cloud service for ZPE that runs via my own website. Users rarely have to interact with it from my website and I intend to keep it that way. ZPE Online already allows users to save their code online - one of the most significant breakthroughs with ZPE since its inception. But cloud variables, which will be known as ZPE Online Variables on release, are only a short while away. In fact, they are partially implemented in ZPE as of now.

This is how they work:

  • A user creates a variable online (only the original creator can then change the value)
  • A user subscribes to the variable by selecting it from online (they are then periodically checked against the online version to check for changes)
  • A user then uses the variables, which for quick access, are read from their local machine rather than online. If a user runs a program which contains a reference to an online variable that they do not have, they will be asked if they wish to download the variable. 

ZPE will also contain a new security feature which will ensure that the user does not download a variable that could exploit their system. Further to this, cloud variables will only be able to store ZPE primitive types excluding records and objects.

ZPE 1.11.7 also intends to improve the performance of ZPE a bit further as well.

This is all planned for July's release.

After buying my HP EliteBook in December of 2022, I vowed never to buy another desktop computer. Now I can say that this is how I intend to be in the future. My desktop was a large machine, and whilst I loved all the space, the fact I had 10 drive spaces in it and lots of airflow, I don't see any need for any of that any more. 

Most of the time my gaming is light enough that my integrated graphics are sufficient for running the games I play, but for those times when I need a better GPU, I've got a nice eGPU. 

My next laptop will be the Framework laptop I nearly bought when I bought the EliteBook. 

Unfortunately, I've decided against moving to a dedicated server just now. 

After a little discussion with the rest of the team at Jambour Digital, we all decided it would be better to postpone the move for another few months. 

However, by having a dedicated server setup, I realised how easily I could write a script to set up the new server, so that's exactly what I did. The script automates the whole process, to the point where it loads all of the SQL into the databases, sets up the needed applications and starts HTTPd.

To setup the new VPS, all I needed to do was run the script. 

Moving away from the dedicated server is a sad moment for me, as I was so close to getting it perfect, but the fact that the connection is unreliable (due to not being a business broadband connection) I could not continue to use it.

A few months ago I had an idea that would improve start-up times for ZPE severalfold. I tried to implement it once before and it failed, resulting in me reverting back to a backup and leaving it alone for a while. Well, I have at last implemented this feature. 

This feature makes the performance of ZPE better, the start-up times lower, the memory footprint lower and the CPU usage lower. Development is a little more complicated due to the use of reflection rather than using the object-based code that was used before but I know what I am doing with this. ZPE now has reached the 50,000 lines of code mark, even after the latest purge I carried out that took out over 20,000 lines of code.

The June release of ZPE will be available at the end of next week, with many minor improvements and additions. Today really does mark a monumental achievement. 

Over the last five years of me being a teacher, I have developed quite a few pretty handy tools for teaching. Those tools have for the most part only been used by me. 

Some of the tools, such as BalfVote are nearly available to the general public but others remain behind closed doors and only for me to use.

Well, today that is about to change with my plan to amalgamate these tools together. So far my teaching tools are as follows:

  • BalfVote
  • PlanIt
  • Timetabler
  • Teacher Organiser report writer
  • Course planner generator

My vision is that these five tools merge into one collective group of tools with one central location to use them. 

It was one year ago I was offered the amazing job I am in. Tuesday 24th of May 2022 was the day I got the job I always wanted to do!

Powered by DASH 2.0