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

As part of the JavaScript tutorial on my website, I introduced testing code live on my website. Testing code was a major piece of making the tutorial work, but it was always going to be very straightforward with JavaScript and require no real security concerns since it runs in the user's browser.

Today I began to develop a way of testing both PHP and Python samples that exist on my website. I aim to have this ready by mid-March but it is slowly being rolled out across my tutorials with much of the PHP tutorial already set up for this. 

I'm hoping this will be useful and bring further benefits to using my tutorials which I'm very proud of.

After a long time of a very square/rectangular look to my website, I have brought back subtle curves here and there across the website. These curves are designed to make things like buttons more obvious as well as add to separation. There has been a lot of exploration around what suits it and what doesn't but I think the changes I have made are very clean and follow design techniques of today.

For example, input boxes and windows now have curves. You may have also noticed that I have introduced a new quick alert to the site as well as the newest version of BalfPick.

I'm aiming to make my design a combination of curved buttons and elements built on a flat design and think I've done it well so far.

After having integrated push notifications into my website way back in early 2016, I'm now removing them from my website altogether. I think we can also agree, push notifications are quite an annoying thing these days and I've decided to remove them from my website - I never sent any for a while anyway.

From now on, the only push notifications that anyone will receive are from my blog. I intend to have an option to subscribe to these somewhere on my websites.

Recently after an amount of thought, I have decided to finally make the switch from a sans font to a serif font. I am keeping the Roboto font on my website for things like the site links and masthead, but for the content, I have finally made the switch to Roboto Slab.

This is not necessarily going to stay, the thoughts of the readers and viewers are what determines what I do on my website, and whilst some have already expressed that they preferred the sans font, I am on the mindset that a serif font can also do the job well here.

I will revert this if the survey results do not show that people think this works well on my website.

sans
serif
font
roboto
slab
website

All of my existing tutorials are being updated over the next few weeks with some small but very nice changes.

These changes are all inspired by my own experience of teaching. Firstly, all articles within tutorials will now have learning outcomes - what you are expected to know by the end of the article. Secondly, I am adding an "Over to you" section to many tutorials that allows you to try out some tasks based on what has been covered in the article. Thirdly I am now working on actively adding downloadable versions of all code samples across my website - this will include tutorials as well as pages like ZPE. This, again, will take a while for me to finish.

site
update
tutorials

In case you hadn't noticed, for the last few days my website has been completely ad-free. Yup, that's right!

One of the original features of my website was the sidebar, and it's original purpose was to serve ads to users on my website and make a bit of money. Some months I would make as much as $40 which covered my website costs. But from last Monday I have been trialing out not running ads on my website at all and I'm quite happy to continue this.

Statistics now show a trend that people are less likely to trust a website if it has ads on it, so it makes sense. On top of that, after looking at my own website advert analytics I have noticed more people have ad-blockers than don't - so it no longer makes as much as it used to. So really, there's no point in me continuing with ads.

jamiebalfour.com
google ads

A2 Hosting are an amazing bunch of people. I wouldn't have learned half of what I know about setting up a server if it had not been for them so I'm very thankful to them. They offered a very good service at a very good price but they also had their problems.

When I first set up my VPS early last year I got a lot of help with setting up DNS records and so on (something I can do myself nowadays) but what I didn't get I got from a website I came across a few years ago called DigitalOcean. 

I cannot tell you how many times I've googled something and found an article on DigitalOcean that explains a perfect solution to my problem. More and more I started to think it would be good to host with DigitalOcean but I stuck with A2 until about November. 

In November I got hosting credit for DigitalOcean so I thought I'd give it a try and see what DigitalOcean was like, especially now since I am more competent with setting up my own server. I wrote the server_setup script that I use to configure a server, created my first Droplet and transferred a recent site backup to DigitalOcean. Boom! It worked.

Performance wise, on the front end DigitalOcean was a bit faster than A2, which to me seemed unbelievable since A2 was blazingly fast as it was. 

But I mentioned A2 had problems. There weren't many of those and I think A2 are fantastic but they did have one thing lacking that something that is more tailored to system admins/developers should have and that is snapshots. When I first moved to A2 I asked if they offer snapshots but unfortunately not. DigitalOcean provides snapshots! Snapshots allow me to make backups from time to time, for instance before a big update or whatever. It also means I have a secondary, weekly backup of my server. 

So all in all, I'm sad to be leaving A2 but happy to be moving to my fourth host for my fourth iteration of my website. Hello DigitalOcean!

a2
hosting
digitalocean

I'm going to be working on a few major things over the next few weeks. My main focus recently has been refurbishing my website with a much more elegant backend and I'm happy to say this was finished on Sunday the 7th after hours and hours of work.

As part of the redesign, I took out my developer tools. I was just this morning looking at my Google Analytics page and found that actually, my developer tools were my most visited pages on my website. As a result, in the next few weeks, I will bring them back. 

Girder will also see some fixes and improvements, although as I have mentioned, it's largely a finished project now anyway. I particularly think I will bring in printable columns and flexes to the next version. I'm also going to move it to a SASS/SCSS based stylesheet that will make it easier to select what you want from it.

Poor old Dash hasn't seen an update for a while now either, so it's time for me to get on with the main project I'm working on.

ZPE hasn't seen an update for months because I've begun work on ZPE 2.0 but that shouldn't be the way it is. In fact, I am going to make big changes to ZPE 1.5 in the next few days to make it perform better. I will not stop supporting the Java version of ZPE until the code in the new version is 100% compatible with the Java version and all features are available in both versions. I also may not even drop the Java version, because it's really good as an educational tool now.

BalfBar 1.2 has had some fixes over the last few days so make sure to download that. I will also be putting the code up for the amazingly lightweight BalfPopup tool that, in my eyes, is better than Magnific Popup due to the size of it. 

refurbish
jamiebalfour.com
balfblog
dash
girder
zpe
balfbar
balfpopup

As you may know by now I have been in the process of developing a new personal website for the past few weeks. Well, it's finally here!

The new website is meant to be as similar to the old one in appearance as possible, but its aim is to increase performance and change the way it works. The new website uses my Girder framework for the layout and focuses on reusable CSS classes rather than repeating - something that plagued my old website from the beginning (remember, I wasn't really into web development when I started to rebuild it in 2013). 

Although version 3 was the big build for my website, version 4 fixes a ton of stuff that made version 3.x less efficient than it could be. Version 4 also now uses all of my newly developed web tools, BalfBar 1.2, BalfPopup, Dash 1.0 and of course Girder. Dropping things like Magnific Popup makes the website even smaller, and in direct comparison, my new website is about a third of the size of my old one. As well as this, it uses my new development site strategy, allowing me to modify the development site independent of the live site.

Version 4 loads in less than 500ms when tested from Europe. Version 3 took approximately 1000ms to load. On top of that, I've developed a faster way of producing the pages, thus reducing the load on my server when running the PHP and in turn allowing more than 100 concurrent requests at once.

For historical reasons, I have kept just one page of my old website intact and available at http://2013.archive.jamiebalfour.scot/

I've got tons of stuff still to bring to the new website, but the main aim of this update was to make the new site ready for improvements. My new website is by no means finished, but it's very functional and serves its purpose.

new
website
version
4
2018

It will be early 2018 before I can update my personal website. This is because it's quite a big job. I've decided a lot of the content will be removed, and even though the most visited part of my website was the Developer Center, it will be removed in the 2018 update. 

Performance wise the new website is approximately six times faster, taking advantage of a new DragonScript X Engine which is the final iteration of it. DragonScript X is built into all of my websites because it's now a server feature as opposed to a website feature. 

I will be further building my website around the new Dash updates that focus on one install multiple blogs.

2018
website
update
jamie
balfour
Powered by DASH 2.0