To use this website fully, you first need to accept the use of cookies. By agreeing to the use of cookies you consent to the use of functional cookies. For more information read this page.

Jamie Balfour'sPersonal blog

Now that I am finally nearing the finishing line for this huge change to my website I'd like to update everyone on what's happened and what problems exist.

First off, I now have a new website, This is only temporary. I will be switching back to as soon as I can (I'm awaiting transfer on this). All of my subdomains are currently hosted on .net, and whilst this may change, I'm not sure there's much point in worrying about this kind of stuff. 

More crucially, since I'm now hosting on a VPS, I've had to learn how to do things without cPanel and the like. Nothing was too difficult. I originally worried about setting up subdomains but they've been painless and easy and I also like doing things this way a lot more. 

HTTPS or SSL is also now free since I found a fantastic CA that offers free certificates. I'm limited in space and memory and CPU power, but despite this, I've still found this to be a more performant option. 

From to Arvixe was the second web host I ever came to, the first being 123 Reg but I never took advantage of it as I had no idea what I was doing. When I opened in 2010, I never thought about using it for anything at all apart from sharing my software. In 2012, I decided to ditch the original template and begin a redesign. Still not a web developer myself, I went for a table based design. In early 2013 I decided to build it to do more. I learned both PHP and CSS and made my first dynamic website. In the second part of 2013, I learned JavaScript and responsive design and made my website more flexible and dynamic. 

In 2014, I made the change from to This was a big change for me. It sparked the point when my website had a meaning to me and that I actually was interested in web development for the first time.

As well as this, the plan was to use the new package to do more than just that. I wanted to run Python-based and Ruby-based websites on it too. Alas, this never came and the site was merely the way I managed to expand my website. 

Within the first year or so, I experience a huge amount of downtime. Almost half of the first year I was thinking about moving away from Arvixe. Toward the end of 2014 however, I was moved from Seahorse to Ayeaye. It offered 3GB of RAM and a quad-core CPU - a huge improvement. I saw much less downtime and my site was far more responsive. As time went on my demands became bigger and bigger and Arvixe was perfect for this. 

Arvixe to A2Hosting

After 3 years of Arvixe to the month, I decided to switch to A2Hosting. This is a huge change that brings lots of new benefits to my website, particularly, as mentioned earlier, VPS hosting. I've been contemplating VPS for about 6 months now as it would allow me to do more than just host a website. It will also give me the flexibility to experiment with other technologies such as Node.js, Django (Python) and Ruby on Rails and much more. I've got less space on this server but I'm not bothered since my whole website and all of its subdomains and my projects comes to less than 4GB. 

I've now officially abandoned on Arvixe and until it moves over, will be unmaintained. will also be in the same boat until it switches over, which will yet be another 60 odd days since it auto-renewed before I could stop it.

I'm hoping for a very happy time now with my new VPS package and I hope to have my website fully up and running by the end of the next week!


I've finally made the move from shared hosting to VPS!

This change is the biggest site change I've made in 3 years. But three years ago when I switch to Arvixe's shared hosting I didn't know as much as I do now about server administration so it was a good move to switch to a more advanced shared hosting package that Arvixe provided from the shared hosting I started in 2010.

Arvixe has been great. Apart from downtime which I experienced in the first year, I've had no real trouble with them. Now that I'm a pretty mature web developer and system admin, I felt it was time to make the next move.


Virtual Private Servers are basically a system running in a virtual machine. I chose to go for the un-managed VPS, which meant I had a lot of work to do and there's no support. However, I've persevered and made it! And you are now on my new website. 

Oh yeah. Also, this is actually costing me slightly less every year somehow because now I get SSL free which means that I don't pay $30 a year for it.


Morning everyone. Today and tomorrow I will be doing some essential site maintenance that will take down every subdomain hosted on my website. Some of the more popular ones are and will still redirect you to my blog.

I'm hoping to minimise the effect of these updates but I realise that BalfBlog and ZPE both depend on to check for updates so they will not work at the present time.

The last few weeks have made my website more secure and more performant. I have spent a lot of time making my site work with cron jobs so now my site it is even easier to make a cron job as well as improving my own admin portal, automatically backing up the site every month, backing up MySQL databases automatically and so much more. Most of the stuff I am doing is all about refactoring code and making my site more efficient. I'm also preparing to move to a different server with the possibility of VPS being enabled, so I want my site to be able to 'just move' to that server with minimal disruption by making scripts that do all the resetting up again for me.

All subdomains should be up and running for now. FTP, SFTP and SSH for these subdomains is also re-enabled. 

Thanks to some of the comments I received today about my website, which were largely positive, I will be changing my website quite considerably.

The comment that has stuck with me, and it's reinforced by the fact I've thought about it myself is that my website has become too big. I've developed a plan of action to tackle this problem in as few distruptive steps as possible (since now my tutorials have been gaining more popularity and my website is being used by many, I don't want to disrupt that).

My plan is this:

  • Revert back to a single blog again, my Projects Blog will move back into my main blog. 
  • I will merge Software into my Projects section. 
  • I will create a completely new website (I've been thinking about this since early December) for my professional works

After hours of work and countless cans of juice, I have finished my website update for early 2017. Nothing has changed on the front-end except for my menu, which now implements BalfBar 1.2 and also now has padding on the dropdowns as well as new uppercase text.

This update did focus primarily on updating the back-end, primarily introducing DragonScript 2, the replacement for my January 2015 DragonScript package. This new version is much faster and works on the idea of hashing data rather than storing it in an array. It's a huge performance improvement that makes this website speedier than ever. On top of that I have been stripping parts of my website that are no longer needed with a focus on not only making the website faster but streamlining it so that it is easier for me to update and add to.

Disruptions have been minimal as I continued to support DragonScript version 1 on my website simultaneously with DragonScript 2, but as of five minutes ago, the two year old version has been retired. 

Will DragonScript 2 get a release? I doubt it. I don't plan to make it available now because it would be too much work since it is now intertwined heavily with my website. It is possible I will develop a more open, WN Project based on DragonScript, but not yet.

Finally, on top of the menu getting a little update. I decided to push my dark theme further on my website, and for the first time have built dark code samples. The choice to do this was inspired by the fact I now use Adobe Dreamweaver again, and I really like it's dark theme. This now makes them easier to see on top of looking much nicer.

var x = "Test"

This update removes even more skeuomorphic designs and focuses even further on the flat design. It does however retract a bit on the statement I made about getting rid of curves, with more and more objects across the site being curved. Alas, I could not resist a couple of circular objects and feel they fit better than the square ones did.

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, will finally shut down this year since I didn't receive enough in donations to cover it. The same goes for the website I never finished. I will be moving both to subdomains on my website ( 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 at some point in the near future, but for now 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 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. 

Powered by DASH 2.0 (beta)
Code previewClose