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

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.

Since 2007 when the iPhone took the world by storm mobile web browsing has continued to grow in it's user base and now for the very first time it has overtaken desktop browsing. Of course, this is based on just one figure, but it's now very understandable as the users of smart phones are at their highest.

Whilst I'm not surprised about the situation in relation to my own website since it has been this way for the last 3 or so years with my website (more than 60% of requesting coming from mobile devices), I do regret that my recent developments on my website have focused on the desktop browser a lot more than mobile (not to say that my mobile website isn't perfect anyway) in the hope to revive the desktop version of my website. As I mentioned, all of these updates will likely be to no avail since the majority of users across the web are from mobile devices and it will likely keep going that way.

Now Google's proposal, which later became requirement, that all websites must implement a mobile version makes far more sense. Why rank a website highly when it doesn't support the most used platforms?

You can find more about this at alphr.com.

Finally, after many years of planning, I will be bringing polls to BalfBlog. This post will soon feature one.

Also, I'm not planning on adding a way of creating polls into version 2.2 of BalfBlog, just for parsing them. So if you do want to create a poll, create a poll.xml file in the content directory for the post you want to have one. Note that version 2.3 will not use the poll.xml file since I plan to change the way in which this works.

This post now features my first ever poll from BalfBlog! Powered by XML and JSON together this fantastic feature might not find much use on my website, but it most definitely will be very useful in general in BalfBlog. It's asynchronous as well, so by voting you will not leave the page. Finally, users may vote just once and all user votes are stored in the poll. Currently the poll consists of a polling system in which users can vote on one option. Building on what is now implemented, I plan to allow users to insert other quantitative data into the system and eventually qualitative data too. 

Another major update has come to BalfBlog in the form of being able to export your database from the dashboard. This is a very powerful feature and one that I personally really wanted for some time. I'm also configuring a backup system that will create an archive each and every time you post something to your blog. This is a very useful feature for ensuring you always have a backup of the database if you did something wrong or your server stopped working (since you could have a download of it first).

I would like to add that the new plugin system for the tools is now in place and it's easy enough to use. I will be opening up a new sample database on my own website soon as well.

I'm also working on a new information architecture to make BalfBlog more expandable. One of these possible expansions is built in polling, in other words, at the end of a post a poll would appear which readers can then answer.

I have not posted any videos other than ones of animals (such as my pets and Jake the Duck) and of places and the Haunted Bath in a long time. My commitment to YouTube has been pretty poor since I started my website and my other projects like ZPE and WNP etc.

My commitment today is this:

I will reboot my YouTube channel at some point in the new year.

I hope this explains it well enough to you. I have plans as to what the reboot will entail too, but they will remain secret for now.

As part of the on going updates to BalfBlog my own site has to adapt very slightly to the new changes. Since my website is reliant on BalfBlog for the reviews, articles and indeed all the blogs and journals on my website, it is absolutely essential I carry out maintenance to keep up with it. The changes make no actual different to appearance of the website, but they do require that you refresh the page to see the website properly.

The new update to BalfBlog makes several changes to the way in which the CSS is represented. This update follows along side the new update that focuses on adding more white space in the form of padding to my website on desktop. 

The main focus on the latest bunch of updates was adding more modularity to the whole of BalfBlog. As a result the tools section is a plug in based system. This is achieved through tools which are comprised of a single directory which contains a simple XML file called info.xml and PHP files called front.php and do.php. The front.php file is used to instruct what the front of the tool does and the do.php is the process page. The tools page will now generate a list based on these tools. This allows me to be more modular and produce more tools for later versions without releasing a whole new version.

Subscribers and users can now be fully managed from within the Dashboard. The new setup for BalfBlog is also able to be accessed very easily since it will run when there is no data.php file in the appropriate location. I've still to think of an easy way to develop the multi blog single Dashboard system I have been talking of in recent posts but it will be done at some point.

Finally, on the subject of subscribers, there is one less requirement for you since BalfBlog now includes a new 'open' section of it's Dashboard and in it is the new subscribe page. What this means is that users can easily subscribe using the BalfBlog Dashboard.

All of this is still scheduled for version 2.2's official release at the end of the year.

Site accessibility

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

This page was generated in 0.24 seconds using 4194304 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.