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

So you already know about some of the new features of ZPE 1.5.3, including the new free to use parser that can be part of any project. But there's also another change coming.

ZPE 1.5.3 is a bit of a minor update in terms of features, but it brings in a sweeping change. 

I'm talking about a change that brings a change to something from version 1.3.2. One of the first features added to ZPE way back when it kicked off again in 2015 was associative arrays - almost identical to PHP's associative arrays. They were different to lists in the sense that they mapped values. Well, whilst version 1.5.3 is not a huge update, the update brings a huge change to associative arrays.

You declare an associative array as below:

$assoc = {50 => 10, 10 => 50}

But now, the same associative array is written very similarly to a mix between that and defining a list:

$assoc = [50 => 10, 10 => 50]

The update's purpose is to inline both associative arrays and lists and to free up the curly brace.

Also, I am changing the accessor symbol from => to -> for objects.

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

December has been a month about bringing notifications to BalfBlog. This month has brought quite a lot of new features that connect with the users of the blogs. 

First of all I added push notifications towards the end of November, allowing users to quickly subscribe to push notifications. Users can still subscribe by email using the my_blog/subscribe/ URL. On top of this, notification frequency can be changed so you don't spam your followers. 

Secondly, I have finally added social media buttons for sharing. This is completely controlled by BalfBlog, so you don't need to worry. All that you have to do is style the buttons and set them to appear from the settings controls.

Take a look at my blogs to see exactly what has been done.

In this post I'm going to outline what's new for BalfSlider.

Firstly, the slider now has many new animations, in fact there is now a total of 18 of them. As well as this, the design of BalfSlider allows you to easily write your own effects quickly. 

BalfSlider also includes several external functionalities that are accessible through the jQuery library such as a newly added Repaint function. I use this Repaint function to redraw the slider when the landing page on my website disappears, since the height will not be correct initially. This can also be used if the slider is not visible initially.

There are several new features planned for the next iteration, but until then they shall remain a surprise. 

Today I have decided as part of refurbishment of my own blog, I will be removing the BalfBlog posts from my blog and putting them in the blog dedicated to my projects. This blog has also been running for some time and since it is the intended place for BalfBlog posts, this is where I will be putting them.

As well as this, I have chosen to move all of my posts about my Zenith Engine from my own blog to the ZenLang website and the blog dedicated to ZPE and ZenLang. I recently opened this blog but it has long been the aim to remove these from my blog. 

I have plans to rename the blog dedicated to BalfBlog to my project blog, where I will put information about all of my main projects.

The new BalfBlog version 2.0.1 will be released next week. Currently the main features that have been added have been added for the ClickIt blog to improve it, since I am currently working on that at the moment as my main project.

The following have been added:

  • Security improvements
  • Better use of mod_rewrite to make URLs work better
  • Search improvements now mean that you can join words together using "" e.g. "windows 8" would search for the exact term windows 8 and not each word individually
  • Dashboard improvements
  • A new settings panel
  • Add your own items to the TinyMCE editor! You can now define your own items for the TinyMCE editor.
  • A new system to update your blog automatically (Linux and Mac based servers only)

This will be the last update of April so I'm trying to make it somewhat significant. April and the end of March have been the most significant months in the development of BalfBlog. I hope you enjoy the next update as much as I am!

I am very happy to say that as of today I have released to DevNet my new JBBar, a lightweight and flexible menu that is responsive and flexible. It works on all tested devices currently including touch and click devices.

It is now available as a jQuery plugin too, so feel free to download and try it yourself. Instructions can be found on DevNet as to how to do this.

Apple Event

Just a quick reminder that Apple's September event takes place today at 18.00 UK time. 

You can find out more on Apple's website.

Possible releases could be a new Apple TV, a bigger iPad, the iPhone 6s, new Macs and more information about the new OSes.

I would love to make a liveblog on this, but unfortunately my host runs an Apache server and not an nginx server therefore every livepost I make ends up overloading the server so I will do a summary post at the end.

Yesterday, Google announced a new logo. I noticed it when on the off chance I needed to use Google (I'm a Duck Duck Go user now). 

The new logo is the biggest change the company has made to it's logo in the 16 years of existence. It's quite an amazing change too, the font is no longer a serif font but a new sans-serif font.

What do you think of the new logo?

New logo

As I have not worked on JBlogs for about 4 or 5 months (getting lazy or just working on other projects), I decided it was time to get back into the swing of it again.

Today I am happy to say that JBlogs requires much less to setup and is better designed. As a result, I have got rid of the custom footer and custom headers. What you do now instead is define a PHP file which contains your own header such as this one below:

    $no_title = true;
    $expires = true;
    $math = true;
    $title = $title;
    $desc = $description;
    $head = $stylesheets;
    include $_SERVER['DOCUMENT_ROOT'].'/assets/php/head.php';

This example is using my DragonScript to power the blog: it points the JBlogs variables ($title, $description and $stylesheets) to my own DragonScript. For the sake of going in to too much detail here (more will be on DevNet), this is how it could be used in a standard HTML page:

            <?php echo $title;?>
        <?php echo $stylesheets;?>
        <meta name="description" content="<?php echo $description;?>">

The foot can also be defined on it's own now as well. So the foot just points to the footer defined on the website. This allows JBlogs to integrate with your website from a very quick to create script.

I will put the latest version up as soon as I have tested it works absolutely as expected! 

Site accessibility

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

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