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

It has taken me most of last weekend and some of today (I have other work to be doing for my PhD as well, so I can't give this full dedication) to get here, but I'm happy to say that DragonScript 2 is finally here on my website.

All pages have yet to have this but any page which is within sections from A-M are now enabled for DragonScript 2 apart from my developer tools. You can probably see the speed difference between the two.

Oh and it was exactly 4 years ago tomorrow that I rebuilt my website for the first time, and for the very first time used HTML5 and CSS. Version 2.0 was finally released tomorrow 4 years after a long struggle to rebuild the content. Now in version 3.7 I'm quite happy with the way things are, particularly now with DragonScript 2 and BalfBlog.

I am happy to announce that my website has had quite a few new changes in the last few weeks, all of which I am finishing now. They are almost all content based but some also improve the actual usability of the website.

DragonScript 2

Last month I began to implement an improved version of DragonScript, DragonScript 2. DS2, codenamed Robber, is a huge update that improves the performance of the backend of my website, thus resulting in shorter loading times for users. It will take a while for me to bring it to every page on my website since some are still using DragonScript 2015 and I have to manually change the PHP file to update the page to DS2. 

New page percentage scroller

If you are on my website reading this then you will see that I have implemented one of those scrollers that goes from left to right as you scroll further down the page. I thought this was a nice navigation element to bring to my website and it was pretty easy to implement so, well you know, I thought I'd give it a try. Lemme know what you think by the usual method!

Goodbye old email accounts

My website email addresses are now limited to the webmaster, information and the no-reply subscribe and admin. Getting in touch via the contact form now goes straight to my personal email address.

New tutorials

I've finished my MySQL tutorial and I am now working on a new tutorial on Web Design. This tutorial focuses on design techniques, design patterns and methods to make a website more efficient and usable. It's fully planned out (and believe it or not I am organising it using the web design technique called card sorting). This tutorial is already coming on. The inspiration to start this tutorial comes from a book I recently purchased on design techniques. It also comes from the fact I now consider myself a bit of a design geek, since I am absolutely obsessed with usability and aesthetically appealing designs now more than ever.

New site features

Since you can now access a JavaScript method without the need for plugins to copy and cut stuff on the web, I have added a Copy button to every code sample on my website. If you cannot copy using the execCommand function in JavaScript, an error appear for you in the form of an alert. This is a pretty cool little feature.

Changes coming

On top of this, clickit.education will finally shut down this year since I didn't receive enough in donations to cover it. The same goes for the zenlang.net website I never finished. I will be moving both to subdomains on my website (www.sites.jamiebalfour.scot). On top of that my DevNet will no longer be maintained. All of this allows me to focus more on my personal website, which I guess is good. I may bring back zenlang.net at some point in the near future, but for now clickit.education will be the biggest loss. Like I said, it is all based on donations which were just not enough this year (there is also ad revenue, which I keep most of so I can continue to pay for things like Creative Cloud used to maintain this website).


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.


After messing with some ideas, I finally decided to ditch my oversubscribed underused newsletter system on jamiebalfour.scot 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:



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. 


I'm very happy to say that I have kept my word on website changes in that I haven't made major changes to the structure of my website in the last year. Minor usability tweaks have been made but nothing major, and a lot of the stuff that I have changed has remained quite consistent with the 'new' flat interface.

General tweaks to make the site more efficient with bandwidth and processing time have been made and as a result, I feel that my website is much better, even better than it was a year ago when I made the change to remove a few hundred lines of JavaScript and CSS and made my website much flatter.

If you feel the same way, please leave feedback, I'm really interested to know. Also, my website achieved 1000 people each week this month - by a long shot the best result to date. It has also moved up 11,852,082 places in the Alexa ranking system as a result of this surge in the last month alone. 

Alexa Ranking

I think a lot of the improvement on my website comes from the fact that I have not been focusing on these changes and ensuring that there is good content on my website, as my blog is now one of the most viewed parts of my website and my reviews are not far behind. 

A lot of the time changes are now directly to improve the DragonScript concept for a more efficient server side website. I have also been removing bits and bobs from the accessibility menu, since I no longer feel the need for this.

However, as a suggestion was made to me to do this, I will be updating my website with a new cover picture-esque thing like Facebook pages have. This will likely be a picture of Perthshire or somewhere in Scotland.


I'm not really doing much on my website in terms of design but I am simplifying my website by removing things I no longer deem necessary. The first of those was the removal of Dark Mode (a feature of BalfBar and always will be, but not of my website any longer) since I was always in favour of the dark menu myself and will not be letting users choose the light menu any longer. I have also removed the invert colour feature of my website as of recently and will next be looking at removing the max page accessibility feature and the font size changing features. I will also look at removing other accessibility features and I'm not sure where it will end. 


In the last few days I've been focusing a lot of my time on software development rather than my usual web development. As a result ZPE has received more of my time than my website. This changed again today when I decided to work on it again.

Today I brought back the Facebook commenting system to my website, replacing my long lasted Disqus comment system. As a result of this, I am also including this in BalfBlog 2.1 instead of Disqus. The main benefit is now users no longer have to enter an individual post to comment on it (for the main blog mode, not introduction mode).

The DISQUS_SHORTNAME and the related settings are no longer required since Facebook does not need users to login. 

On my website side of things again, I have been focused on ensuring the OpenGraph content is up to date on my website. You should see that it is now pretty concise and works effectively every time and as a result sharing looks much better with Facebook.


Helvetica returns! And on this occasion, I am not talking about you Calum Cormack. 

As I have been conducting feedback surveys on my website to select visitors for the last few days I have discovered that many do not like the Open Sans font since it is too light to read. I also felt like this from time to time and have considered the change to the slightly heavier Mac favourite font, Helvetica. 

Helvetica was once the default font on OS X (soon to be macOS) but Apple dropped it for the San Francisco font in both iOS 9 and OS X 10.11. I also once used Helvetica as my default font but dropped it for the sake of cross-platform support and have switched font on my website quite a lot since then. I am hoping that Helvetica will be staying, I will be running a trial run of this for four weeks from today. If I get more positive remarks about the font on the website I will retain it. 

As the result of the information from some feedback I received, Roboto has become the new site font - the third attempt at a font from Google Fonts.

In the past, I have been told that my code samples are really good, but they lack one or two things. The most crucial one of those is the ability to copy the formatting. Unfortunately, this is not possible at the moment due to the fact they are written as a ordered list element. This means that each line of code is put in a new li element. When one comes to attempt to copy from the element, the formatting (e.g. the indentation, which is completely controlled by a CSS margin property) will not be retained. 

After some perseverance, I have begun the transformation of my samples. Currently in the ol element, they will now be nested within the pre element. What this also means is that it will be much easier for me to update them using my content management system. As of this second, the CSS tutorial has been partially updated, and my articles, reviews, blogs and the software section completely use this new system. 

The main theory behind doing this is to make my website more accessible and easier to use, whilst not making any real visual changes. At the current time, you may see that some of the older samples no longer appear properly. This is a known issue and will be fixed when they switch to the new style.

Please bare with me whilst I make this change, since it will take some time for me to fully implement across my tutorials. 

I have since updated my HTML and CSS tutorials with the new pre-based samples. It's taking a long time to do but I will be done with the PHP tutorial by the end of the day.
All pages on my website now use the new pre-based code samples so all code from these samples is now fully copyable. JavaScript must be enabled for the pre elements to display properly, but it will work without JavaScript anyway. 
Powered by DASH 2.0