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

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. 

A main focus in BalfBlog is having a functional dashboard. The dashboard is incredibly functional and well written so that it can be expanded easily. The BalfBlog Dashboard was originally developed to be entirely inspired by the host website, but as time went on, this concept became hard to manage and develop for and I began to write the new dashboard.

BalfBlog Dashboard is a complete back-end development environment for BalfBlog. It's great because it maintains it all in one simple place as well as ensures that only the right users can access content without needing some complicated system that the host website needs to provide. It was originally themed from my own website and I continued this theme for some time. It still follows this and the big changes I've made to my own website are now also included in BalfBlog. I always planned, and have continued to, keep it free from orange. Even though orange is my favourite colour, BalfBlog takes another colour from my website for it's theme.

The colour #269 is the dark blue you'll find across my website as my secondary colour also being used on buttons across my website now has found it's way into BalfBlog as the new primary colour here. 

However, the restyling does not end here. I've got many plans on what is coming next. Most of the next few updates will focus on back-end updates, particularly related to user access. 

Now at the end of week 6 and the beginning of week 7 of my PhD, I've decided to review my situation.

First of all, it's been a rough couple of weeks and I've had some mixed feelings but have finally come to the point where I feel happy doing what I'm doing. My two closest PhD friends, Ana and Lewis, are one of the main reasons I've become happier since I don't think I'd be as happy as I am now. Then there's Yibo who has just started - a familiar face and friend from my undergraduate degree which is really nice. 

I'm also really enjoying doing the lab helping as it gives me a chance to continue doing one of my favourite things which is teaching and I guess I generally like helping people with the things I like doing. I'm also really enjoying the one-to-one help I'm getting to give since again it allows me to help someone. 

I've been asked if I would be able to work on a two websites/web-based applications for the university, which is very nice. As well as this, I'm working with such a nice bunch of staff who really make you feel right at home (which I really am anyway since I graduated from here anyway).

On the work side of things, I've done lots of reading, lots of writing and lots of thinking. I've come up with some ideas as to where my research goes from here and even thought about possible ideas for what the PhD will involve. 

Also, for those who do know, I've got a little bit of an announcement to make about what's happening in April, but I shall leave this for a little while although let me tell you, it involves a bank (who have made me very happy). 

Ultrabooks are amazing devices - combining high end mobile computing power with a slim design and decent battery life. The first ultrabook released was probably the MacBook Air, a moment I remember like it was yesterday. I've always really liked them and have always had an interest in them but never went out and got one.

In the last few years I've been following the development of one or two of them but one came to my attention - the Razer Blade Stealth. This ultra portable features two USB 3.0 ports and one USB-C port. The USB-C port also supports 40Gb/s over Thunderbolt allowing Razer to take advantage of the PCI-Express standard built into the laptop itself. As a result, Razer have developed the Razer Core, an external dock which features a full PCI-Express x16 slot in it. This allows you to insert a discrete desktop graphics card into the dock and use this as the laptops graphics processor. This is why this Ultrabook excited me so much.

Now the latest Razer Blade Stealth has arrived in the UK and is available to buy from their website.

The thing is I'm saving my money and until I decide to sell my MacBook Pro, if that ever happens, I cannot be buying this laptop. 

Posted by jamiebalfour04 in Tech talk

My next major project is to develop a bulletin system. If you've ever used phpBB you'll know how great it is. I was a huge fan and used to run it on my own development sub-domain, DevNet. 

All that aside, phpBB is easy to manage and has the concept of integrity within the network security triangle. This means that users are assigned different roles and given different access rights. 

However, phpBB has a pretty big collection of files during installation and it didn't fit with the rest of my website. This is where my next project will come in.

BalfBulletin will be the next big project in my Web Neutral Project. Since my Web Neutral Project's core principal and aim is to develop web applications that fit in to any website, BalfBulletin will leaving styling to the website and the developer of the website. It will also focus on being very lightweight. As with all of my projects, particularly those in the Web Neutral Project, a lot of time will go into actually planning the application.

The main premise and indeed the motivation for the development of this is because I'm planning on developing a forum for my PhD project (more will come with time).

The other idea I came up with was integrating this into BalfBlog. For now however, it will be a separate project altogether. 

The latest update to BalfBlog brings a range of new features. The most crucial is that you can now manage subscribers and users from the dashboard. On top of this, you can now change the date of a post after posting (I am putting in an option to disable this by default, but some people may want this).

This update also focuses on the dashboard side of things and improving the way it works. A lot of JBlogs 1.x is still exists in BalfBlog and it's being replaced with newer stuff in each update. This update removed a lot more of this. 

As well as this, I focused on the way JavaScript is included. Since many people who use BalfBlog are developers I wanted to make it easier to include your JS in the post. A separate text area allows you to quickly insert JS code.

Today BalfSlider received it's first major update - adding functionality to the slide control buttons and to give more externally available features. It also added newly exposed Back, Forward, Stop and Start functions. This update makes the slider controllable by users through two different accessible options. 

The first of these options is through the slider buttons. The slider buttons are found on almost every slider as a crucial feature allowing users to select a slide of their choice (so if they caught only a glimpse of a slide but missed the main focus of it they can easily go back to it quickly without needing to go through the whole slide show). BalfSlider simply detects whether there is a ul element with the class selectors inside the BalfSlider element. If it detects one it will bind a click event to each of these and it's corresponding slide. Theoretically, this is the best way to prevent any external exposure of these on your website. There's no need for external exposure anyway. 

On the subject of external exposure, the second option is designed for this. This method binds the Back, Forward, Stop and Start functions to the plugin and makes it very easy to go backward, forwards, pause and play your slide show from JavaScript - a feature I've desired on many other sliders out there. This is designed for use at an elementary level meaning you can easily just call the function. Let's take a look at how we do this:

var  s = jQuery('.balfslider').BalfSlider({AspectRatioWidth : 16, AspectRatioHeight : 9});

So in this instance we use jQuery to bind a click event to the button which when triggered will call our Forward function on the BalfSlider assigned to the variable s. That's pretty easy to understand. 

The update will be available to play with on the webpage on my website dedicated to this project. It's still in development stages so bugs may be found in the version up there.

This post also was to describe the inner workings of BalfSlider and what it does that's different. Well BalfSlider takes a new concept introduced with one of my projects a few months back of a model that represents the internal functions, basically acting like an interface. This model is an object which all different transitions must follow. The object features several (empty) functions such as the Next function and the Animate function. These functions are placeholders that should be replaced with the transitions own implementations of them. This makes BalfSlider very lightweight and easy to update too but also makes the development easier. This method of development means that all that is needed to develop a transition is a few implementations that fit the model's specifications.

Also, this is my 300th post on my blog! This marks a very important moment for my blog and for BalfBlog in general. 

Yippe! BalfSlider is back. And this time it's back with a vengeance. 

BalfSlider 2.0 brings a large number of new design features that focus solely on interoperability with any website. Because it's part of my Web Neutral Project, it's main aim is exactly this - no styles are added other than the crucial feature based styles and the JavaScript based ones. The rest is up to you.

The current version includes just one transition but two more will be here by version 2.1. As well as this, I'm happy to announce my Web Neutral Project JavaScript and CSS files. Between these files you can find combined BalfBar, BalfRibbon and BalfSlider CSS and JavaScript that allows you to quickly deploy any or all three of the plugins. 

My next focus in these plugins is efficiency. Let me know if you have any requests using the usual methods of contact.

Whilst I never imagined I would work on an image slideshow plugin for jQuery again, I'm happy to announce the new version of BalfSlider. 

BalfSlider follows my naming scheme and is part of my Web Neutral Project (WNP), and it follows the same design principles - none. In other words, the host website does some styling for it. It's open to development. 

As a result of all of this, BalfSlider is incredibly lightweight - even more so than BalfBar which is hugely small. BalfSlider is designed for flexibility offering many different transition styles (coming soon).

If you want to see a sample, look at my front page.

The latest version of BalfBlog separates your content from your JavaScript. This update makes it a thousand times (no scientific proof here though!) easier to include some JavaScript in your posts - something that TinyMCE does not permit and causes problems across the world wide web with all users of this rich content editor.

However, this will bring some minor changes to way that JavaScript is included in your posts and will actually make it easier for you to do so. I personally like this feature. 

As well as this, the update contains a minor performance improvement, a flexibility improvement and some new settings. A lot of the focus now is on developing the setup program. 

Site accessibility

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

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