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

I'm afraid I had no real choice but since the information architecture on my website has changed significantly, I've had to remove all comments relating to the old architecture. 

A significant number of comments were on articles and reviews and unfortunately have had to be removed.

Posted in Website news
disqus
clear
up
information
architecture

Since I first used Python back in 2012, I've come a long way. It was never my intention for Python to become another of the languages I know since I feel that I know enough languages as it is. Still, naturally, one of my university courses had to disagree with this and stick it in.

So I learned Python, all in the space of about 24 hours because the Python I learned before has been completely changed (other than one or two small things like the def: and the stupid lack of braces).

I've really come to dislike Python as a language though, and I'm sure I'm not the only one. 

I believe the Python syntax is the worst syntax I've ever seen.

I mean the lack of braces and semi-colons (;) means that there are no line terminators and no nice structures generated by braces or even as shown in ZL a for is opened by the word for optionally followed by a { and terminated by either an end for or a }

I like the way Python encourages indentation, but I hate this being an absolute requirement. 

Python seems very ugly throughout; the use of the colon (:) before the body of a construct seems horrible. And the lack of the required brackets around a condition is even more horrid.

Another really awful discovery I made when messing about with Python is the fact that lambda functions can only be single-lined. I mean what? Even after 24 years of development (as old as I am!), this is still the case whereas in my 7-month-old ZL language lambda functions have no limit to their length. This is an absolute disgrace for any modern-day language as I see anonymous functions as one of the building blocks of ZL.

But perhaps the worst bit is the way that we declare things in Python. Since there is absolutely no need to specify a type variables need only be written as the name of the variable followed by an equal sign and then the value. Other weakly typed languages like PHP, JavaScript, my own ZL and so on have nicer ways of doing this like with PHP and ZL putting a $ sign in front of the name represents a variable. This makes it easier to distinguish variables. In JavaScript, variables are declared after a var keyword.

Since I started to write my own programming language, ZL, I have become more of a snob towards languages that are, in my eyes at least, ugly. Python is my absolute least favourite while PHP comes up number one for inconsistencies (although it is improving, and it is still a better solution in my eyes than any other server-side language).

Python swiftly moved to my least favourite language just this month.

I mean, a language is a language and if you like it that's great, and my opinion is just an opinion and all I'm saying here is how I dislike certain things about Python. I'm interested in your opinions on this too by the way.

Posted in Programming
python
programming
language
problem
balfour

I'm very happy to say that a big update has just been finished in relation to my website. I had been flattening some elements of my website and since becoming a far more competent designer, I very recently came up with an idea. 

In 2014, I started to building styles that unintentionally left my website with no singular style, towards a much more gradient-based website. Early this year I pushed this further and my site was full of gradients and so on. Gradients are nice and everything, but they make things difficult when you want a consistent style. 

Today and yesterday, I began to work on a new interface, known as 'Silver Orange' since the colours of choice and grays and oranges (there are very few other colours in the range). 

Allow me to show you some examples.

Conclusion box

The conclusion box before

Conclusion box

The conclusion box after

The above images show the conclusion box on my website. You can find this in articles and reviews. It's new look removes gradients and flattens the interface by removing curved borders and box shadows.

The Epic Form

Epic Form was the name of my forms. This is an example of a button.

New button

The new buttons on my website are flatter and less curved.

The buttons are obviously more flat than they were before and the same goes for the whole form input design. I've also dropped the name Epic Form which has been in use since 2013.

The Epic Form

The original bibliography.

New button

The new bibliography.

The new bibliography fits in better with the new design

As well as flattening the interface of gradients, a lot of curved borders that have existed for the last few years have been removed and replaced with nice borders.

Finally, I have made my colour scheme far more obvious and consistent. You should notice this pretty much immediately.

So there you have it, the latest update to my website.

Posted in Website news
flat
website
look
update

I have recently changed from Source Sans Pro to Open Sans again as the font on my website.

I noticed more and more than it becomes increasingly difficult to read the text at smaller font sizes with Source Sans Pro and received a comment about this yesterday. I have since switched back to the font I used right up until July this year for quite some time. Since going back to this font, just today, I will say that the text is far more legible. 

This is just a post of a link to an article by the Guardian. This article is fairly interesting and look at an interesting concept that computer scientists and mathematicians come across all the time - proving by disproving.

You can find the article here.

Posted in Just for fun
guardian
repost
clever
how

In just under one hour, the desktop version of my website will change to the Christmas theme for everyone! Since this is only the second year of me doing this, 2014 being the first, I am hoping to see the changes I have made over the last year to make the system flawless in action. 

Posted in Website news
christmas
theme
november
december

Since I am an Edinburger I thought it was important to post a link to mark this moment, the moment Tim Cook visited the Edinburgh Apple Store for the first time! How I'd have loved to have been in the store at the time.

The Scotsman has more here.

Posted in Apple Corporation
apple
store
tim
cook
edinburgh

So I was somewhat disappointed by the latest Nintendo Direct, but two things stood out.

I particularly liked the re-releases of Pokemon Red, Blue and Yellow and the HD remake of The Legend of Zelda: Twilight Princess, which just so happens to be my favourite console game ever. I was also taken in by the trailers for the new Xenoblade and Starfox games.

I was also obviously interested in the Smash Bros content that is to be released but was slightly disappointed to see Final Fantasy becoming a part of Smash Bros. Nonetheless, any new content for the game is always good (but more money that needs to be spent, sadly).

Posted in Gaming
zelda
nintendo
direct
twilight
princess
hd
remake
smash
bros

Today's post is about managing a large website from information architecture to the whole core of the website.

Since I relaunched my website with the refurbishment to last for the rest of my website's life, many small tweaks have been brought to the design. Many of these tweaks were based on small suggestions as well as the occasional large one (like building my own menu system). 

A website in some cases does not seem like an ongoing job, but for my own personal website, my web developerness always encourages me to do more. Knowing when to stop is a very difficult, if not impossible, task. There is always something new that could be brought to the site.

I often talk about how proud I am of my personal website since I wrote the whole thing from the gallery to the blog to the whole design, but what I don't talk about a lot is the content on my website.

As I'm sure you will agree, my website is rather large. Not only are there several pages of blog entries on my website, there are over 80 articles in my tutorials, I have quite a few reviews and articles, there is lots of information on the projects I'm working on, information on me, my pets and family, a gallery, information about my software, including my page dedicated to Zenith, a lot of stuff on university, some developer tools, newsletters and so much more. 

Information architecture

The information architecture (IA) of a website is crucial and is the very first thing that should be considered when developing. If you are interested in web development you will likely already know that putting an index.html or default.html page in a directory means that the URL does not need a dot, so http://www.test.com/about/index.html can become http://www.test.com/about/. 

Sticking to a procedure of putting the index or default page into a directory gives the site a better architecture also. Nested directories like articles/ and articles/computing/technologies.html are nicer than file paths like articles.html and articles_computing_technologies.html. 

Managing content

Content can be difficult to manage on a large website and while this website is reasonably small compared to some other websites, including ones that I've built, but none the less, I do have a very strict system in place to control images, CSS, JavaScript, PHP and text files that are considered assets to the website.

Site dependant content should be stored together in one central location on the website. I tend to use a folder called /assets/ as my content folder. Inside there exist several folders, particularly /assets/images/ and /assets/css/. This means that all images shared across the website can be found from this area.

Posted in Tech talk
website
jamie
balfour
com
structure
information
architecture
web
design

Since the middle of my childhood, I have always kept a close eye on computer connectivity and it has always been one of my biggest interests in computers.

Very recently I started to think a bit about what connections are on their last legs in their lifespan - ones that probably will no longer be used in four or five years, and I came up with a list:

  • IEEE1394 or FireWire. FireWire is one of my favourite connectors for disks because it is relatively inexpensive compared with what most consider its successor - ThunderBolt. Yet more and more wealthy professionals are moving to Thunderbolt, leaving the consumer market with USB 3.0. USB 3.0 may be faster than FireWire in some situations but push FireWire development further and we could see it back where it used to be - USB's big brother. However, development like this seems incredibly unlikely and FireWire, as great as it was, seems doomed.
  • eSATA and SATA. eSATA or external Serial Attached Technological Attachment was an attempt to bring SATA speeds to external devices and remove the bridge that both FireWire and USB required to communicate with such devices. eSATA keeps up with the speed of the core SATA implementation so it's about as fast as its internal connector. eSATA has never kicked off properly though and its only real purpose is to act as an external drive interface. SATA on the other hand is huge at the moment, but like eSATA, in my opinion, doomed. I say this because in the enterprise there is SAS - a much better alternative to SATA and more and more consumer laptops are moving to PCI-Express-based drives and it will likely not be long before those who care for speed move to PCI-Express boards for their desktops too. From this, I do believe that eSATA is doomed and that SATA is a connector that will soon become very low-grade.
  • DVI. We've been saying DVI is finished for years and sure on consumer systems it is pretty much gone, but in the business world, it's still there. My first PC to have a DVI connector was in 1999, my last monitor to use DVI ran until 2011. Since then I have moved to DisplayPort for the majority of cases and HDMI also (due to the fact that I run multiple computers from the same monitor and the majority of monitors feature multiple HDMI ports but only a single DisplayPort). Most business systems are built for budget and as part of this include budget monitors featuring only VGA and DVI. Some low-end monitors are starting to appear with DisplayPort (since it is royalty-free it is cheap to include). This new addition may signal an end for DVI in general.
  • Optical audio. Optical audio is one of the greatest inventions in the AV industry but the TOSLink connector that we use today is something of a novelty. More and more television sets are dropping this connector since the all-in-one HDMI offers uncompressed PCM 7.1 audio as well as video over one cable. This means smaller packages too, as HDMI is a much smaller connector (internally) and is already included in almost every modern television.
  • 3.5mm jack. Phones will likely be the first to get rid of the headphone jack, and ultimately computers will ditch the 3.5mm jack and replace it with USB (as should have been the case several years back).

You may ask what about PS/2. PS/2 being one of the oldest standards in connectivity still in use still has not disappeared from its brethren (the parallel and serial ports). PS/2 probably will not disappear for some time still since, unlike USB, it's relatively cheap to implement and that makes it good for business. For gamers, it's the ability to send an interrupt directly is incredibly fast and unlike USB it does not rely on polling, so it still could remain popular in that market too. VGA is also a long way from being replaced in the server market, particularly in rack mount servers, where there needs to be as much room as possible for disk drives and little need for a powerful GPU.

If you are interested in knowing about the benefits of the old PS/2 standard vs the ugly USB polling system, take a look at this article.

Posted in Tech talk
firewire
esata
sata
sas
dvi
optical
audio
hdmi
displayport
theory
thoughts
disappear
gone
Powered by DASH 2.0