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
Me
Jamie Balfour BSc
Full stack developer

Personal Blog

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.com 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 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 in 2014. 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.com on Arvixe and until it moves over, jamiebalfour.com 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!

As HTML, CSS and JavaScript keep advancing, the power that resides in your web browser grows. More can be done efficiently and interactively with JavaScript in the web browser, and with server side languages doing back-end processing. As a result of this, more and more software applications are being written in web languages instead of standard systems languages such as Java. 

This post has come to be because of something I noticed the other evening when out for dinner at one of my favourite restaurants - they were using Google Chrome to manage orders and so on, this was the first time I'd ever seen this kind of e-commerce application.

I'm a huge fan of web technologies and developing for the web, but I'm not entirely a fan of the use of the web to develop every bit of software required out there. For a start, none of the languages used on the front end are compiled before being sent (now this would be a good idea for JavaScript) so it's easy to manipulate them with some kind of other underlying program (such as a virus). This could indeed by a security problem that could be avoided by a compiled program written in a language such as C. Also, as JavaScript is an interpreted language, it is interpreted considerably slower than that of a compiled program.

But web based technologies do offer some major advantages that can be seen as the main reason for their use.

The first is that they are available on any computer with a web browser. This also makes them platform independent since the web is a single standard that must be implemented by all web browsers. It also means if they are on a server somewhere, they can be accessed from anywhere and indeed do not need to be installed.

The second reason is because of the kinds of tasks being performed in these applications are relatively simple and do not require the full power of a system. As a result, the JavaScript scripting language is sufficient for performing these tasks and therefore cheaper too.

The third reason relates to user-preference as web-based applications offer a much easier alternative to other applications when it comes to setting user preferences. First off, we have cookies and session storage. Both of these let us save information for later and quickly restore it, and there are plenty of APIs for using this kind of stuff. Secondly, CSS makes it really easy to style items on the screen and is far more favourable for most companies out there.

Processing performance is a big advantage here too since we can do major processing on a server that is connected to the application rather than doing it on the local machine. This is a huge advantage that can help with mission-critical situations, such as a traffic monitoring system. 

Another major argument is scalability. Whilst some desktop languages really suffer as applications grow, web applications are by nature sub-divided into smaller programs and can be seen as more scalable. Expanding an application written in web based technologies does not need a full redeployment of the application, simply that a user refreshes the page. 

Security is also a huge advantage now, at least in terms of keeping parts of the application safe. This is because the code that is stored on the server will never be transferred to the client, so you can keep all of the secure stuff away from the users of application. This all makes it less likely that the application will be misused by its users.

Finally, the main argument for many developers, including myself, is ease of development. HTML, CSS, JavaScript, PHP or JSP are easy to develop for. It is this argument that draws most developers to it.

Today my tutorials have finally become recognised! An online company known as Udemy sent me this email:

Hi Jamie,

I was doing some research for our students here at Udemy on people using PHP resources and when I came across your site, saw you were using the tutorial from w3schools.

We really like that resource, and actually created our own that we think is a perfect supplement! This PHP tutorial is text-and image based, easy to search for quick answers, and super helpful for anyone: as a base for learning or as a reference guide. 

Do you think this would be a helpful resource? If so, please use it on your site. I'd love to see more people learning PHP!

Thanks so much, 
Tiffany

This makes me feel so proud of what I have achieved with my website and will go in my list of recommendations! 

I just wanted to share this article because I was never a fan of Flash on YouTube:

http://www.theguardian.com/technology/2015/jan/30/flash-youtube-nostalgia?CMP=share_btn_tw

I am glad that Flash has finally been ditched in favour of the newer HTML5 standard. My website only uses HTML5 video, there are no Flash videos to be found on my site.

I will say however, this article does remind me of some of my favourite early YouTube videos that I saw all the way back before YouTube even became the monster it is now (in fact before Google owned it). I particularly loved the 'End of the World' video back in the day (although I think I saw it before YouTube existed on StupidVideos.com).

I'd like to mention my new software which is under development:

Hyper WEB

Hyper WEB (Hyper Wonderword-Extends-BlackRabbit) is a web editor. It is based on the same distinct feature set of the BlackRabbit Editor in that it uses a function machine editor where inputs are given and the editor produces the output based on those inputs. The editor uses the Internet Explorer's Trident engine with full support for Internet Explorer 10. Future plans are to bring WebKit to it. Pictures will be posted soon as progress begins to show. Currently the browser engine provided is based on Cobweb version 2.0, and it features the same page blocking technologies integrated into it. There are some very clever features being produced for it that will make creating sites easier.

BlackRabbit 2.0

Although I did announce this in the blog for BlackRabbit, version 2.0 is a total redesign on the scripting language. Integration in Cobweb will be much deeper, Hyper WEB will include ways to include sandboxed scripts into websites and Painter Pro and Wonderword will have better support. The current version of Elements will support version 2.0.

Cobweb

Recently, I stopped working on Cobweb because of a limitation of Windows preventing the use of the rendering engine of Internet Explorer 8 and above as part of any application apart from Internet Explorer itself. Due to a new feature brought to Cobweb, it is now possible to ensure that all versions of Trident can be used in Cobweb Internet Browser, and so version 2.0.1.319 has this feature. I will soon put the latest version up on the web. As Cobweb is my currently only finished product, feedback would be much appreciated.

Wonderword

The future for Wonderword stopped back in October 2012 because it was taking the place of nothing more than a web editor, script editor and more other things. Due to the fact that Hyper WEB and BlackRabbit do both of these, I have decided to revamp Wonderword. There is now the possibility of a full WYSIWYG word processing package, but this will need some investment. It cannot happen without support.

Painter Pro

Current betas on Painter Pro have expired. To obtain another beta, please contact me. Painter Pro 1.2.1.6000 was the latest release and the next release will be 1.2.2.0, currently known as it's codename Aberdeen.

VUEBB

Work on VUEBB has also been slowed, but it will resume as soon as the next file extension library is complete.

It was only last week I was talking to my brother about how Google was apparently dropping the WebKit browsing engine that they had used in Chrome since the beginning. Of course there had to be a reason behind this. The answer is Blink.

Blink is a new browsing engine which forks from WebKit (for those who do not talk tech this is when a piece of software is adapted to make a new piece of software and they go off in two paths, similar to Libre Office and OpenOffice).

So whilst Safari will continue to use the WebKit engine, Chrome and Opera will move to Blink. Firefox continues to use the Gecko Engine (which I despise) and Internet Explorer will continue using Trident. Have I missed any?

What does this mean for the Chrome user?

It does not mean much for you right now as a fork takes from the latest version of the software, so the first version of Blink will be the same as the last version of WebKit and therefore it will render similarly. However, in the future Google's development on the Blink engine may push WebKit down as Google may innovate more and more. On the other hand, it could go the other way and WebKit could bring a better browsing experience before Blink.

Will Blink come to mobile devices?

Yes! Blink will come to Android as well as desktop versions of Chrome. Part of the Chromium Project's latest browsing engine is that it will be featured on all devices in the same manner. So don't worry about your mobile not being the same as your desktop, it will look exactly the same.

Why is this happening?

Apparently, according to the Guardian:

The move follows long-simmering disagreement between engineers at Apple and Google over the best way to develop the rendering engine underlying the browser - with one senior Apple engineer saying that Google refused to incorporate key technologies into the main branch of WebKit, keeping them instead for Chrome.

Unfortunately, Google and Apple do not get on for the better of the open source project which as of March 2013 Apple now owns the trademark to.

In my opinion, this is just another problem between Apple and Google, showcasing the fact that the two of them should never be involved in projects together.

Site accessibility

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

This page was generated in 0.24 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.