Jamie Balfour BSc

Welcome to my personal website!

Technology enthusiast

I am very interested in technology, particularly relating to computer science. I am most interested in web design and development.

My main hobby is programming. One of my most well known products from this is ZPE. I also am the sole creator of BalfBlog, BalfBar and BalfSlider.

A little bit about me

In 1997, when I was six years of age, I got my very first computer. I was always very interested in the ins and outs of it and dismantled it to see how it worked.

Years later, in 2016 I received my BSc (with honours) in Computer Science, obtaining a First class degree.

I'd like to welcome you to my website and hope you enjoy using it as much as I have enjoyed building it!

Google Plus
Jamie Balfour BSc
Full stack developer

Personal Blog

ZPE 1.5.0 is finally just about ready. The main changes in this version focus on backend (compiler) side things. In particular, the way in which the return function is compiled, evaluated and allocated a byte code has completely changed. For a start, it is no longer considered as a function but as an actual language token. This means that it is also allocated a byte code when translated to byte codes.

As well as this, recursion has been made more efficient than before and the call stack has been expanded. Overall, this is the best release of ZPE to date. I hope you find it useful too.

Unfortunately this update will be delayed due to circumstances to do with my job. I expect to release this version once things calm down again, maybe into the new year.

Today I finished the backend of BalfBlog polls. You can now make polls straight from the dashboard.

It's easy enough to create polls from the BalfBlog dashboard, but it is my intention to make it even easier in the future. 

For now, you can simply insert the information at the end of a post in the Poll section. Options should be one per line and should not contain the new line character. Polls will then be generated automatically.

As well as this, I am working to change the system in which users who do not have .htaccess or web.config support (Apache or IIS servers) would utilise the system.What this means is that instead of accessing posts through /posts/post-name you would access the post through some URL parameters like ?nme=post-name. This will make it more flexible but it is not the only way in which these users will be able to access the pages. I will be trying it out on my own IIS web server soon and will keep everyone up to date on this.

In January of 2015, I redeveloped the backend of my website and released my DragonScript powered website. DragonScript is not really even a programming language or anything, so the name is a kind of misnomer, so I wasn't entirely sure about it, but I kept it anyway and it's my plan to keep the name.

My latest changes will be known as DragonScript 2.0. This is a backend change that should not affect the front of my website. However, it is a huge change. Part of this change is developing my old BalfPHP file into a more modern, object oriented version. DragonScript 2.0 focuses on a much cleaner and a more efficient, as well as overall faster, development that will focus on what's actually needed to make my website function and removes a lot of the ugly bits that were a part of it before. As well as this, DragonScript 2.0 utilises an object oriented approach.

As part of a few fixes I laid out on my own website, I have decided to updated both BalfBar and BalfBlog today.

Most crucially, BalfBlog received an update that makes it more compatible with future versions of PHP. When it was written it was written for use with PHP 5.2. Now it is compatible with newer versions of PHP so you should have no trouble installing it on your newer installation.

BalfBar has now received an important update that adds more flexibility to the SASS code (and even provides all of the settings to rip off the menu from my own website) as well as changes that make the JavaScript more flexible.

BalfBar is receiving a big update this weekend!

This update focuses on changing the menu items from being absolutely positioned to fixed positioning. This will allow a lot of new things like scrolling (hidden overflow doesn't work well with absolute positioning, since the element resides inside it's parent, whereas fixed detaches it). The menu will still look exactly the same but the way the items are positioned will allow me to finally bring scrolling to the items and allows you to set a maximum height to the items. 

As much as I am more a fan of green code (CSS) over the yellow code (JS) for design and layout, I feel that using it was more appropriate here for what is being done, since it will give a lot more functionality.

This is currently experimental since this change was implemented in next to no time (only took me about 30 minutes to implement) and therefore not tested enough yet. I will post more in my Project blog when more becomes available.

This update will become BalfBar 1.2. 

I will be trying it out on my website soon too, so keep an eye on it!

I didn't think it was going to be easy to set up push notifications for BalfBlog and that it would take quite a long time for me to work my way through the OneSignal API but alas I was wrong. BalfBlog now features push notifications, and it's deeply integrated too, meaning that it's built in to the settings.

Subscribe to my main website to subscribe to this new form of notification!

After messing with some ideas, I finally decided to ditch my oversubscribed underused newsletter system on jamiebalfour.com and replaced it with push notifications. These push notifications are achieved thanks to OneSignal's service.

Push notifications represent a much lighter way for me to develop a communication method, similar to Twitter and allow me to send much smaller and more frequent messages to my subscribers. On top of this, they allow me to get immediate results out there. They are a huge part of the open web and moving towards a more standards based approach. 

My plan is to deeply integrate these push notifications through OneSignal into BalfBlog in the near future. At the same time, I will also integrate them into my website.

As well as this, users of my website who can login will be the only people to receive email updates. These will mostly be related to software alphas, beta versions and new features to come to my website as well as my software.

Finally, the subscribe page (which was also the very first bit of PHP I ever wrote on my website) will also be disappearing. Well, not entirely. I'm going to keep it with details on how to subscribe, including a button that will help you to do so.

I hope this is satisfactory with everyone, but if you wish to be unsubscribed from my website, please email me now using the contact form on my website.

You can easily subscribe for push notifications through the button that says 'Subscribe' on it or by clicking on the button below:


In the next few weeks I'm going to begin work on ZPE again. I'm focusing in on improvements to the actual compiler and I am looking at new things like function inlining and so on to improve performance. I'm also going to be quite daring and look at parameter optimisation for static parameters, since I do believe this can be achieved in ZenLang.

The next version will also add even more functionality in other areas such as the GUI mode.

Also, currently recursion is not working perfectly due to changes made to make it more efficient. If you bare with me I will be working on this at some point in the near future again.

Today I released five new transitions for BalfSlider. They are:

  • Fall
  • Top-to-bottom
  • Bottom-to-top
  • Stretch-top-to-bottom
  • Stretch-bottom-to-top

They are available in the latest version of BalfSlider or as plugins for older versions.

I'm particularly happy with the fall transition - this is the first transition to rely on CSS for transitions too.

A lot changes in BalfBlog very quickly. Today the new poll system was added amongst other changes including the removal of reversing posts (this is coming back in a much better way) and better internal layout including a new BalfBlog constant which is basically # ASSETS # (without spaces between the # characters) which if I put it in this post will give me /blog/assets/2016/11/the-new-balfblog-journal. 

However, I do not want my personal blog to be filled with all of these posts, and my project blog is also beginning to fill up. 

But BalfBlog provides a nice solution to this! Yes, I'm speaking of Journal Mode. This will also allow me to restrict the blog to people who I have accepted to read the blog. So you'll now need to register to view the whole changelog of BalfBlog.

Site accessibility

A lot of the original functionalities that once existed here have been removed.

This page was generated in 0.33 seconds using 6291456 bytes. Slow? Let me know.

To use project mode, the window must be greater than 920 pixels in width.
Click here to disable Project Mode.
This site uses cookies to deliver its services, to personalise ads, to store preferences and to analyse traffic. Information about your use of this site is shared with other companies. By using this site, you agree to its use of cookies.
Contact me
Contact Jamie Balfour

Get in touch with me via this form.