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 next version of ZPE, to be released at the end of May, 1.5.4 will include a new XML parser which will be similar to the JSON parser and CSV parser.

This new parser will be available to both Java and ZPE users. The new version also improves the efficiency of the ZPE parser and brings it up to version 1.1 after a big change was brought to it.

The new XML parser will generate a list of elements which themselves are associative arrays. ZPE 1.5.4 also aims to improve the way that associative arrays and lists work, making them more similar in syntax and provides a new object syntax.

ZPE 1.5.4 seems to be the fastest version to date, compilation is done faster than ever, parsing is done quicker than ever and the interpreter also received a little boost recently. 

Also, 1.5.4, like 1.5.3, is part of the Port Royal versions, so nothing will change there (what this means is that the syntax is identical for all ZPE installations).

zpe
xml
parser
json
csv

This is now my sixth entry into my blog that is a celebrity tribute and today's post goes straight to the heart for me. 

Roger Moore

Today my tribute is to Sir Roger Moore who to me was a fantastic actor. Some say he ruined James Bond, but to me, he improved it. He brought humour that didn't exist before him and he portrayed Bond well. Although Roger Moore was the least like Ian Fleming's 007, he portrayed a more modern Bond compared with Sean Connery's mid-20th century Bond, something I thought changed the way that Bond became.

I have a couple of non-Bond favourite films that Roger Moore starred in, including The Wild Geese and The Sea Wolves amongst others. 

I am very sad to have heard the news about Sir Roger Moore and my thoughts are with his family.

I introduced my gallery over 3 years ago when I decided to write in whilst on my yearly get away to Dunkeld. I have finally updated it.

This means that I haven't quite finished adding the original content to it, but you'll see it performs much better for both my server and for you in terms of waiting.

Please be aware that some links on my website will no longer work as expected if they link to the gallery. I aim to have my gallery updated with all the content from the original gallery by the end of tonight. I also realise that a lot of people aren't even interested in my gallery as of recent, but I also have to point out my gallery is not for everyone. I built it as a way to share photos with my family and to build my own kind of 'scrapbook' of photos.

Posted in Website news
gallery
balf
jamie
balfour
update
new

As the pilots of the planes that crash into the Severnaya bunker say in Goldeneye:

Negative so far. Everything seems normal

Well, now everything actually is normal. The transition has been made from jamiebalfour.net to jamiebalfour.com. jamiebalfour.com now points to my new host, jamiebalfour.me and jamiebalfour.co.uk will be here in about 2 and a bit months' time (due to restrictions on the transfer of domains, they can only be transferred 60 days after registration, and sadly .co.uk renewed automatically just before I started the transfer).

I had to make some changes to BalfBlog, and I have no idea why these changes were actually needed, but they were (actually, come to think of it, I have a rough idea it might have something to do with the DocumentRoot directive in Apache2, but I'll test that out).

In the meantime, if there are any further issues across my site get in touch via Facebook or my contact form on my website. I've still got a lot of stuff to try out at the moment so the site may have some issues due to this.

What's new

There's a lot of new stuff coming to my website because of the change to running my own system from the ground up (well in a VM). 

My favourite new feature is the use of PHP 7. PHP 7 is supposedly up to twice as fast as PHP 5 and I see a huge performance gain on my website. OPCache is enabled to reduce the amount of time spent parsing the PHP in the first place too. My site was always fast but now it runs only one core and 512MB of RAM and yet it performs better than it did on the shared host where I had 3GB of RAM and four cores. Ahh the benefits of VPS!

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, jamiebalfour.net. This is only temporary. I will be switching back to jamiebalfour.scot 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 One.com to Arvixe

One.com 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 jamiebalfour.co.uk 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 one.com to arvixe.com. 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 jamiebalfour.scot on Arvixe and until it moves over, jamiebalfour.scot will be unmaintained. jamiebalfour.co.uk 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!

Posted in Website news
change
switch
vps
hosting
website
html
php

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 One.com 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.

VPS

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 jamiebalfour.net 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.

Posted in Website news
vps
jamiebalfour.com
jamiebalfour.net

When I first started my website in 2010 I never once thought I'd be interested in web development and server stuff. I only actually started my website as a way of getting information about my software out there. I never saw it as a way for me to learn a new technology or to experiment with new things.

As time has gone on, my demand for new stuff on my web server has gone up and now I'm at the stage where I've become not only a competent web developer, but I now have a lot of experience with Linux servers (my job is spent half of the time doing things like server administration in Linux).

So without further ado, the main subject of this post. I bought a VPS package very recently and started a new website.

Well, I will one day transfer this website across to it, but for now I am experimenting with one or two things.

So I decided to compare my current shared hosting package with the VPS package in terms of performance using a PHP script shown below:

time php -r 'for($i = 0; $i < 100000; $i++) echo $i;'

and here's the results:

real 0m0.122s

user 0m0.038s

sys 0m0.078s

real 0m0.880s

user 0m0.144s

sys 0m0.248s

As you can see, the first set of results are much better and that's because they are the VPS results. Despite the VPS package only having 512MB of RAM and 1 core vs 3GB of RAM and 4 cores on the shared package, the performance is still much higher (I was originally concerned there might be a problem with performance here because of the lack of cores).

So there you have it, the difference is quite substantial and may mean that I change my own site to VPS, particularly because it will allow me to experiment with things.

I rushed BalfBlog 2.3 out a few weeks ago and realised the installer which was made on the day of release was just not perfected enough. In the next few weeks, I intend to release BalfBlog 2.3. 

I'm also astonished to say that it's changed internal a huge amount. 2.4 and 2.5 aim to make the system more powerful, but in terms of features, since I first released 2.3, it has come a long way. The interface has been modified to make it more flexible on mobile and desktop, it now features glyphs on the options, a new help feature, a more powerful API and much more Ajax support. The UI focuses more on a blue look, something taken from my own website but has become a staple part of the BalfBlog interface.

2.3 will also be the last version to include procedural modules. In 2.4 I aim to move all of these modules to a more object-oriented design, one that will make the system easier to maintain. As well as that, I've cut out several old JBlogs methods that were being used for very little purpose. For starters, there is no longer the GetPostsForUser or GetXPosts functions, both of these have been solidified by the single GetPosts method, which now accepts an associative map of parameters, these will be documented in due course.

Security has been improved as part of the object-oriented design, so it's even easier to protect your dashboard. 

2.4 will focus on finishing off the object-oriented features, adding the updater and on validation and sanitisation of data. Either version 2.4 or 2.5 will focus on the addition of a plugin system. The log entries that are stored will also soon be improved because this feature was an original JBlogs feature from 2014 and hasn't seen any updates since it started. 2.4 will also focus on the integrated messaging system that I've spoken about for a while. Also, multiple categories are also coming. So you can easily categorise posts in two multiple categories. I'm also thinking about adding my own styled custom dialogs rather than using the basic JavaScript alert popups that I use at the moment (and funnily enough I have written my own one already, just not quite got round to putting it into BalfBlog).

For those who are interested as well, the focus on BalfBlog has detracted from BalfBar (and the rest of my Web Independently Styled Project) and ZPE. Once I've properly launched BalfBlog 2.3 I will focus on these again for a bit, so no worries. I plan to redo the ZPE page on my website, breaking it down into a smaller documentation on each individual feature. Also, I'm very happy to say that ZPE has been downloaded 5,000+ times as of April 2017! That's amazing! 

If you are interested in downloading 2.3 please get in touch or wait until the middle of May for the official release! :)

Posted in BalfBlog
balfblog
2.3
release

I'm starting to produce a new version of BalfBlog each month, similar to how ZPE works.

This will allow me to add new features every month that make huge changes to the way you can use BalfBlog.

Here are a list of new features set for the middle of May:

  • New custom alert boxes
  • Validation on forms (something I have wanted to have for a while but as I've rebuilt it, everything has changed so much)
  • CSS, JavaScript and PHP tidy up
  • A central database query generator
  • A tidy up of the IA of the system
  • User preferences
  • All Ajax posting will also have an equivalent non-Ajax version and vice-versa.

A huge change has recently made BalfBlog even more object oriented, now the whole core of the system is being divided up into smaller classes, all of which are included appropriately when needed. This makes it easier to develop in BalfBlog.

BalfBlog needs to maintain its focus and not get lost the way that some other CMSes have. The focus must be on getting it to the level where it allows you to produce articles and blog effectively and not stray from that. Plugins will soon be available to improve features but not detract from the original aim.

Posted in BalfBlog
roadmap
balfblog
2.4
release
may

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 clickit.jamiebalfour.scot and code.jamiebalfour.scot. blog.jamiebalfour.scot 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 code.jamiebalfour.scot 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. 
Posted in Website news
website
update
Powered by DASH 2.0