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

Jamie Balfour'sPersonal blog

My 19th birthday present, a Fujitsu T4410 tablet PC, specifically bought for taking to university with me, has lay in the same place for months now, awaiting a new SSD after the scandal of OCZ drives failing (no wonder they disappeared).

But something that I cheaped out on when buying the tablet PC (it was already £1000) was both the CPU and the fact it didn't have 3G. I had hoped to upgrade my tablet to include a 3G card and bought over £250 worth of cards in the hope that one of them would work, including a Sierra Gobi 2000 that actually came from a Fujitsu Lifebook. Alas, none of them worked and I figured out that it was more than likely because the BIOS was locked to prevent it being added afterwards. I knew that there was really only one way to fix this, buy a new computer. I wasn't doing this in a hurry.

However, at the start of the year I was looking for a new battery for my tablet since the one I have now only holds about half of it's full charge, and whilst I was at it, saw a motherboard, which conveniently featured a better CPU and 3G/UMTS card support. It was also only £26. I decided to give it a go.

Finally, after about 5 hours of ripping out the insides of my 2010 Lifebook, I have managed to breathe new life into it. My once T6570 powered tablet PC now features a P8700 (lower TDP, better performance, longer battery life) and a new 3G card! Although this was more of an experiment, it was also to help bring back power to a laptop I love owning, even if just for fun or my own reasons. It has been a fun experiment that worked really well.

Posted by jamiebalfour04 in Tech talk
fujitsu
t4410
upgrade
pc
tablet

Since it's getting close, I thought I'd post about what I think might happen if this final, epic season of the amazing TV series that is Game of Thrones.

First of all, let's talk about the wonderful Jaime Lannister, who has, in my personal opinion, gone from being an overly rude, full of himself, posh no-one-can-touch-me knight to one of the bravest, most sensible, and extremely caring individuals in the series. His transformation which took place across each of the previous seasons has turned him into one of the favourites for a lot of people, but that also then puts him in the firing line for HBO since they tend to just kill characters you love at the drop of a hat.

But here is what I think will happen to Jaime, and we can laugh at my thoughts after the new series is out and I am wrong. I think Jaime will redeem his title of Kingslayer and will be the one to kill the Night King. Except it will not be clean. Jaime will in fact sacrifice himself to achieve this. This would make sense because Jaime is already rebelling against Cersei's plans and plans to travel north to aid Jon Snow and Danny against the Night King.

Another loss that I would expect is Daenerys since I am half expecting Jon to rule at the end of this. I'm personally more in favour of a kind of world where Jon rules the North and Dany rules in the south but I can't see that happening anymore. I actually think that something will happen to Dany and she won't survive this.

I also have this other theory and I think this theory is pretty damn cool (I've also not found anyone else going on about it, so I think the chances of it happening are quite slim). Here goes. The Mad King was going mad and asking his pyromancers to "burn them all" simply because the Night King got in his head. He was not meaning burn the people of the city, he was meaning the white walkers - he thought that they had made it into the city and that he was surrounded because somehow he was having visions of the Night King in King's Landing.

Finally, there is another theory I have that I think works. Ser Davos will, with his amazing skills in parlay, convince the Night King to surrender. He will literally tell him, he is not a learned man but he believes this war is pointless.

Some of my points can also be reinforced by this article.

First of all, my previous post is not void. I'm still considering ditching Dash. But as a result of talking to a friend and a few members of my family who remember my joy in developing Dash, I am proud to say that I've reconsidered what was said in the post. It's with great joy that I am now able to say that rather than ditching Dash I'm going to consider redesigning Dash and releasing Dash 2.

Dash 2 will borrow tons of code from Dash and will be a total rewrite of the whole thing. Parts will remain almost identical but the majority of the system will be rewritten in an encapsulated, object-oriented manner. Further, it will be backward compatible with the original Dash system (Dash 1?) and the Dashboard will remain the exact same. In the meantime, I've removed download links to Dash.

I'm hoping to start it mid next week and have it finished by the summer.

Dash as it is has become hard to manage. As a result I've now decided that I'm no longer going to develop Dash. This will come as a shock to some of people who have downloaded collectively over 22,000 installers for Dash. I'm also almost in tears with sadness about this at the moment.

Dash as it is works really well for me and I like it as it is. The update that brought Girder to it this year made development easier but overall, I'm extremely unhappy with the fact it's not fully utilising encapsulation amongst several other issues.

This has the same feeling as the moment when I decided to stop working on Painter Pro and Cobweb four years ago since as much as I kept telling myself I'd give it a go again, I knew it wouldn't happen. I hope that doesn't happen here.

I have plans to rewrite it from scratch, drawing the key features like the Dash Dashboard back into the new version, but the rewrite will likely take me months to do again.

ZPE 1.7.3 which is another major update to ZPE, is available from today. Major changes include the way that arrays work in ZPE, along with ordered associative arrays. Binary, octal and hexadecimal values have changed (see the changelog to find out more), structures are now less like standard objects where values can be set on them (see the previous post) and there's now several new documentation styles (@author, @date and @doc).

Also the update changes the parse_json, parse_csv and parse_xml functions to json_decode, csv_decode and xml_decode and there is now a new csv_encode function.

Overall, the tweaks made should make development even simpler than before.

ZPE 1.7.3 now brings a big change to the way in which structures work in ZPE. Originally, objects were extensions to the design of structures but as time went on it actually became structures that were extensions to objects.

Now, the object has become such a major part of YASS that the language itself has become largely object oriented. As direct result, structures have formed a major part of the design with much of the language being developed to take advantage of them. Now, with ZPE 1.7.3, structures differ from objects for the first time.

Structures were always blueprints or templates of objects that were yet to be defined, much like in an E-R diagram and entity is a description of a record that has yet to be implemented. But structure instances always allowed you to add properties like in JavaScript which in my opinion was plain silly.

So:

YASS
structure tester 

  $name = ""
  $dob = "1970-01-01"

end structure

$person = new tester()
print($person->$name)
$person->$test = 10

This was valid in ZPE as it is in JavaScript where a previously undefined property (in this case $test) can be defined at runtime. Not any longer. ZPE 1.7.3 changes this an enforces the structure on the user. Another major update that comes with this is the new class keyword that can be used instead of structure.

There have also been significant changes to the standard library that is now available on ZULE too. This update to the library makes it no longer backward compatible with ZPE version 1.6.x and before but it makes it better for the newer versions.

I remember all the hype when Intel announced it's Itanium processor. I was about 10 years old when I heard that the world was now moving from what seemed like the pretty new 32-bit architecture to a new 64-bit future. I remember reading about it in some magazine I used to read when I was young and finding all the details. It seemed like Itanium was it! Intel's Itanium which had been announced to be coming from the work of both HP and Intel for use in the server market seemed to be that future the computing industry needed. Except it wasn't.

But latterly, and even when I really got into computing science when I was about 13 years old, Itanium has struggled. Intel's main competition, AMD, released the AMD-64 instruction set that we all use today all the way back in 2000. It took Intel a few years to agree to follow the same instruction set since it was backward compatible. There was no doubt this was the heyday for AMD - a time when Intel was trying to copy everything AMD did.

Intel has focused on the Xeon range for their enterprise market and Itanium has suffered as a result.

But now Intel has announced the end of the line for Itanium, and rightly so. It was something that should have gone a long time ago. On the 30th January of this year, Intel officially decided to pull the plug (or at least begin to pull the plug). There is more here.

Posted by jamiebalfour04 in Tech news
intel
itanium
end

This blog post was inspired by a blog post by another teacher I know.

I'm getting to the end of my training now and nearly about to get out into the real world again (boy have I missed it). In less than 2 and a half months I will be finished with my teacher training and hopefully having passed, getting ready for my NQT year.

I'm enjoying it all again, maybe because I'm better at it where I am now, or maybe it's just the incredible amount of support I've been getting the last few days (my previous mentor is the one to thank for hardening me up and helping me get here). I'm more confident that I can teach as well and my last crit shows that since I had it last Tuesday and I think it was a really great lesson. Since then my lessons have been going well and I'm being reflective where I can to ensure that I improve where I need to.

Energy-wise I'm okay during the day but not finding the time at home to get the work I want to get done actually done. Though I am feeling it better here since most nights I don't feel I need to do any more work as I've done it all during the day.

I will report back to my followers in a few week's time!

Posted by jamiebalfour04 in Teaching
teaching
nqt
student

You can now download the latest version of my HAGGIS parser as a Java JAR from my personal Dropbox. This will also be a 'nightly' update in that all changes will come to this version since this is not the finished version. This JAR file also contains the latest version of ZPE, which is also nightly.

I hope some of you enjoy using it and that it is of some use to you.

Posted by jamiebalfour04 in Teaching
sqa
haggis
parser

A few nights ago I tweeted that I had begun work on a new HAGGIS parser. This parser is actually a YASS transpiler that transpiles from SQA HAGGIS to my own YASS before interpreting and running the YASS code. 

The parser will not only check if the code is valid, but it will also explain what is wrong with it. It will also be able to run it.

Whilst this is still experimental or incomplete, I have uploaded ZPE 1.7.2 with the new HAGGIS parser on to my server.

I hope people find this useful!

Posted by jamiebalfour04 in Teaching
sqa
haggis
parser
Powered by DASH 2.0