To use this website fully, you first need to accept the use of cookies. By agreeing to the use of cookies you consent to the use of functional cookies. For more information read this page.

Personal Blog

From the beginning of version 1.4.0 ZPE has taken codenames pretty seriously. Now it's a major thing as you'll see from version 1.7.x since each version goes by a different name. Originally, codenames were given when the parser changed underneath, whereas now it is actually if there are changes to any part of the whole package. Major releases are denoted by a change in codename. The following is a list of all codenames used to date as well as future planned versions.

The official ZPE codename roadmap to date is as follows.

  • 1.4.0: Tummel
  • 1.4.20: Tummel
  • 1.4.0.23: Lyon
  • 1.4.1.0: Lyon
  • 1.4.2E: Tummel
  • 1.4.2H: Experimental
  • 1.4.3: Rannoch
  • 1.4.3.10: Isla de Muerta
  • 1.4.3.40: Isla de Muerta
  • 1.4.4: Black Pearl
  • 1.5.0: Black Pearl
  • 1.5.0.1: Black Pearl
  • 1.5.1: Black Pearl
  • 1.5.2: Pelegosto
  • 1.5.3: Isla Cruces
  • 1.5.4: Port Royal
  • 1.6.0: Severus
  • 1.6.1: McGonagall
  • 1.6.2: McGonagall
  • 1.6.3: Dumbledore
  • 1.6.4: Potter
  • 1.6.5: Potter
  • 1.6.6: Weasley
  • 1.6.7: Waverley
  • 1.6.8: Haymarket
  • 1.6.8.1: Haymarket
  • 1.7.0: Reindeer Lake
  • 1.7.1: Kasba Lake
  • 1.7.2: Nueltin Lake
  • 1.7.3: Yathkyed Lake
  • 1.7.4: Dubawnt Lake
  • 1.7.5: MacKay Lake
  • 1.7.6: Wollaston Lake
  • 1.7.7: Nettilling Lake (planned)
  • 1.7.8: Cedar Lake (planned)
  • 1.7.9: Cree Lake (planned)
  • 1.7.10: Dubawnt Lake (planned)
  • 1.7.11: Baker Lake (planned)
  • 1.7.12: Primrose Lake (planned)
  • 1.7.13: Aberdeen Lake (planned)
zpe
codenames

Shortly after I built my latest PC, the Red Revolution, AMD released their Radeon VII cards. These were designed to compete with Nvidia's stiff competition that just gets stronger and stronger. The main focus of these cards were Nvidia's RTX 2080 cards which have allowed Nvidia to hold top dog position in the GPU market, with AMD more focused on the budget builder, or those just looking to save a bit.

AMD haven't done that as of yet, and the RX5xx series are a bit dated for someone who, like me, is building a new PC. My card in my gaming PC is an AMD Radeon HD 7950 and it's well and truly dated. But I've got brand loyalty, I've always gone for ATI/AMD cards as long as I can remember, because there was once a time when ATI cards were superior in many ways to Nvidia cards with the latter having troubles with overheating and the former having trouble with software.

It's time AMD launched their next generation of graphics cards. Mainstream cards are my focus, I had a high end one with this one and I probably could have just stuck to mainstream, as it replaced a Radeon HD 5670 which was extremely mainstream.

I'm holding out for AMD's next generation of cards in the hope I can get a mid-range card for a lot less than what I paid for my 7950, but I'm not impressed.

Does anyone know what's going on with the next generation of cards?!

Posted by J B Balfour in Tech talk
amd
gpu
radeon
vii
6xx

Ever since objects were introduced in version 1.3.x they have been gaining more and more attention. They became a huge part of ZPE as the move towards making ZPE an object oriented language became more and more clear with the need to be able to develop and teach simple object oriented methodologies became more important.

ZPE 1.6.4 (August 2018) made a huge change that aligned structure and objects in a better way than before.

Now, with version 1.7.4, objects gain even more power. Previous versions of ZPE from 1.6.4 focused on using new object creation functions such as the generate_image, generate_ui and file_open_sequentially functions, but now ZPE in-lines the creation of objects such that it becomes possible to use internally created ZPE structures in the same way that user defined structures are used. By this I mean using the new keyword:

YASS
function main()

    $v = new ZPEImage()
    $v->display()

end function

This positively one of the most important syntax changes that has been made for a while. As a result of it, certain functions such as the above mentioned ones have now been removed.

ZPE 1.7.4 will be out in the next few days, bringing this new feature amongst many other fantastic features that will make this another one of those amazing releases. Other features coming include a much better GUI and ZPE Online features, lazy/short-circuit evaluation, the removal of an old version 1.3.x hack that affected performance, better designed structure and object generation and a few new functions.

zpe
1.7.4
objects
update

For the first time in however many years, I have been spending a lot of time on working on making ZPE talk to my website and web server. As a result, I have been working on making a shared community that will allow users to save their work to the cloud.

The cloud will be powered by my own website engine that allows the posting and getting of user contributed content. This will not only be very good for clients who would like to access scripts elsewhere, but it will also allow sharing of code.

This is no where near finished, but it's got some traction already. You can find out more here.

zpe
online
1.7.4

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 J B Balfour 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 favoruites 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 than 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 learnered man but he believes this war is pointless.

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

Posted by J B Balfour in Entertainment

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.

dash
update

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 order 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
update

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.

zpe
structure
class