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 it seems that now the email system I used before for sending emails is now integrated well into BalfBlog 2.0.

This functionality is included in a separate file so users may modify as they wish.

Within the last few weeks I have been working on major improvements to the integration of what is now known as BalfBlog. Version 2.0 was released just 2 days after version 1.1 and was released due to a complete change in the way it works. This allows it to integrate well with any website and requires minimal effort to install. If you follow my blog you'll probably know that I've been posting about this quite a bit. 

One of the things about the new BalfBlog and the way in which my website works with this blogging system is the way in which it integrates with my own website. This makes it painless to install and one of the things I've noticed is how easily my website copes with this design. 

But it doesn't stop there. ClickIt is my latest website and the main site is nearly finished. One of the features I've wanted to add was a blog. I found just how easy it was to integrate BalfBlog with Bootstrap as well. One change to a file and that's it. Ready to go. By the end of June this year, I will officially announce the finished version of BalfBlog, until then feel free to get in touch with me and arrange to get a copy of BalfBlog version 2.0b.

I am proud to say that BalfBlog 2.0, the biggest change since the original release of the open designed blog, is now finished. The following list explains every major change applied to BalfBlog 2.0:

  • TinyMCE 4.0, the latest, much flatter looking version of TinyMCE.
  • Removes the requirements for a custom blog. Now the backend dashboard of the BalfBlog is entirely unique. There is a screenshot at the end of this post about this. In version 1, the blog backend was powered by your own website. Unfortunately this meant that users needed a lot of knowledge to install BalfBlog. Now BalfBlog requires just 4 user inputs to get it done. I will be uploading a sample blog you can mess about with soon.
  • Create user from the interface, finally. A button on the interface of the backend allows you to easily add a user.
  • Completely object oriented
  • No search box built in, you will need to provide your own. BalfBlog does provide support for a search query being applied to the posts, all you need to do is add the ?qry query string to the end of the URL where the GeneratePosts() call is made. 
  • Now there are only 13 files required to work with BalfBlog, and no longer is there an admin section.
  • Updating is much easier through the fact that only a few files need updated
  • Security has been improved since now, provided you are using Apache or Nginx on your server, you can use the .htaccess directives in the directory to protect against direct use. This is provided by default. 

For the very first time since buying my 2012 Mac Mini in 2014 I have reformated it with a fresh OS X install. There was no particular reason for this other than wanting a fresh install of OS X with the very minimal install again - too many files on my system were taking up my drive, so it was just time. The system was still running absolutely as it was when I bought it, so it was nothing related to that. Just saying, Macs don't need that kind of reformat anyway.

Anyway, since this is the first reinstall of OS X on that machine, I thought I'd give my configuration script a try. It really is wonderful, and it's really all thanks to my friends Ben and Merlin that it's as good as this.

The script looks like:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install rlwrap
brew install Caskroom/cask/smlnj
brew install Caskroom/cask/osxfuse
brew install sshfs
brew install python
brew install homebrew/x11/swi-prolog
echo "Insert Dropbox path:"
read input_variable

echo "export $DROPBOX=" >> ~.bash_profile
echo "$input_variable" >> ~.bash_profile
if [ ! -d ~/Pictures/Screenshots ]
    mkdir ~/Pictures/Screenshots

rm ~/Library/Preferences/com.apple.dock.plist
rm ~/Library/Preferences/com.apple.finder.plist

sudo cp "$DROPBOX/Mac configurator/configuration/com.apple.dock.plist" ~/Library/Preferences/com.apple.dock.plist
sudo cp "$DROPBOX/Mac configurator/configuration/com.apple.finder.plist" ~/Library/Preferences/com.apple.finder.plist
defaults write com.apple.screencapture location ~/Pictures/Screenshots;
killall SystemUIServer

So once I got my Mac up and running and Dropbox installed, I run this script to copy all the necessary files across to their places, which restores my Mac to how it should look (i.e. it makes Finder and the Dock identical across my Macs). I've highlighted line 12 because it is where my Dropbox directory is put into my Bash profile so that I can reference it from any script easily.

By the way, this is not me saying that Bash is beautiful, because the syntax is horrible. All I am saying is it is a pretty powerful little shell scripting language.

To help maintain a better consistency with modern browsers I have introduced a GlyphIcons font. This font adds some extra requirements to the browser that is viewing it but makes it much easier for me to develop for the future. 

I found these icons just the other day and think they are awesome. You can find them in quite a few places on my site, least of all the sidebar and site links. You'll find that they make the success and failure pages much better too. 

I have since stopped using the actual GlyphIcons font and replaced it with my own custom font that selects only the glyphs I need. I've also thrown in some other icons too.

BalfBlog version 1.1 is my second major release to the public. It will resort back to the original plan/design of using query strings to post. I'm hoping to cut it to just two PHP files as a result of this: one for BalfBlog and one for the data and information. Ultimately, this may not happen, but it might. 

More importantly, banner images will be removed as of version 1.1 (you should have received an email about this if you have downloaded BalfBlog in the last two weeks). Banner images were one of the first features to come to JBlogs back in the day but have since lost my interest in the development side of things - far too many complications.

Crucially, the new update will focus on the object oriented style introduced earlier in the year. The key focus within this project is to make the admin side of the blog easier to use.

The next few months will be a difficult few for me as I have to work much harder than normal on my university course.

Now in my final semester of my final year at university, I can finally see the end of it all and feel like I have the potential to finish it.

However, over this time I will likely end up neglecting my website and it's content. I may post a blog entry every so often but there will be no major content added to the site. 

If you want to get in touch with me, feel free to contact mecontact me using the usual methods.

I'm very happy to announce today that I have now got my own 'mask icon' for my website.

Perhaps you have seen (if you use Safari on El Capitan) that many web pages get their own icons whilst others just get given the first letter of their title. Well now my website joins these sites.

Here is an example followed by my own mask icon.

An example of mask icons

My mask icon

So go on, pin my website to your Safari browser now to try it out!

Very recently I created an online tool for converting Spellcraft elements into the spells that Spellcraft uses. It's reasonably simple but none the less I find it really useful. You can find it here.

My converter

Since the day Apple announced that they were going to drop their skeuomorphic design patterns, everyone has tried to follow suit - me included.

Skeuomorphism is all about making your design look like something from the real world - something I aimed to do with my website by making it look like a page on your screen (I have since dropped this and moved to a much flatter design). 

But why is it that skeuomorphism has disappeared all of a sudden and what really is it?

In this post, I'm going to talk a little about what a skeuomorphic design would look like and why flatter designs are much more convienient.


By building a system with a real-life-like design using a skeuomorphic design pattern you make the learning curve much smaller: what looks like a microphone is a microphone. This means that more time ends up being on developing the interface than with a non-real-life-like version. 

Skeuomorphism has however one drawback. Complication. Whilst yes it is true that skeuomorphism reduces time spent learning the interface, it also complicates the interface. Buttons may not be so obvious, taking for instance, a volume toggle which you rotate. This would be obviously complicated unless you knew how to use it before hand. This is an example of skeuomorphism at it's worst.

Skeuomorphism also tends to rely on images and gradients as well as other computationally complex elements (including rounded corners and the like). All of this adds to the time spent loading the interface. 

This div below appears with a skeuomorphic interface.

Skeuomorphic design

'Flat interfaces'

Flat may not be the best word to describe these interfaces but it's a good one. Microsoft was one of the first companies to introduce a flat interface with Windows 8:

Microsoft's website is an example of a flat design

The main benefit flat interfaces have over skeuomorphic interfaces is that they tend to be easier to produce and then tend to be easier to render on the client system. Flat design rely less on images, gradients, curved borders, box shadows and a lot of the new CSS 3 styles that are being added and goes 'back to basics'. 

The focus of a flat interface is contrast, making colours the dividers, not box shadows. It also focuses on solid colours, not gradients. And finally, it attempts to make the interface more rectangular than circular (on this note, I may be changing my logo from the orb design to a more square design). 

Below is an example of a flat interface (and also happens to be the style of the buttons on my website):

Flat design

Flat designs do have a few problems however. The first and foremost obvious failing of these designs is that it is difficult to give it a personal feel. Almost all flat designs are in some way or another similar to the next. This ultimately is why flat designs work well however, since they are very easy to understand and are now commonplace. 

More importantly, there is less of an oomph of feeling for the website. Since it can be difficult to make a flat design interesting and not just another boring website, it is very difficult to build a flat design effectively (I do not believe I've got my flat design perfect yet).

The future

The future may see the world go back to a skeuomorphic design again and like all designs, flat interfaces may only be a phase.

Whether or not the design will disappear or not, the design is here to stay for now.

The following image inspired me to write about this:

This image came from Web Designer Depot

Infographic: Flat design vs. skeuomorphism

Site accessibility

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

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