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

The very first Linux build for ZPE was built this evening, offering massive performance boosts. The build was built on Ubuntu Linux which my home server runs on.

The new build is now available based on ZPE 1.11.11. It is also the basis of the online ZPE tester, making it speedier than before.

At last, I can finally say that all of my slideshows have been updated to the 16:9 aspect ratio - something that I started to work on at the start of June this year to better utilise the space available. Further to that, I've brought changes to the designs that make them more consistent, updated the styles for different sections and much more. 

Some users of my website will notice that there has been a minor update to my website, bringing the version number up to version 4.3. 

The update to version 4.3 brings a new font, the Oswald font, mainly being used for titles. It also fixes an issue that hasn't really been addressed on the web with text with background clipping when the text reaches the next line - it does this by splitting the text by spaces into inline spans with a 'glowing' background. Please have a look at my title to see what I mean. 

This is the first change in a long time, probably some 4 years as Quicksand has been used almost everywhere. For fans of Quicksand like me, please do not fret, it's not going anywhere! 

Next font size, I'm taking the font size back down to 16px instead of 17px. I had this like this for a good few years but in recent years I moved away from the agreed standard size of 16px up to 17px. 

Some of these new changes actually also affect the slides hosted on my website as well. 

A few improvements have been made over the last few weeks in DragonScript as well. This should make the website smoother than before.

Otherwise, the rest of the website remains the same.

As I mentioned I recently got a place for a Master of Science degree in Computer Science (something I should have done before going into teaching and before starting my PhD). 

I've taken the next step in my career plan to get into lecturing by formally accepting the Master's Degree and paying for the first part of it. So now I just need to get through my Master's degree and then find a job as a lecturer! This is totally exciting news!

I just read this:

Californians: your right to repair is now law. Thanks to an advocacy coalition led by CALPIRG (California Public Interest Research Groups), individuals and independent repair shops will have more access to the materials and information they need to fix their electronics and appliances. This follows a wave of encouraging right to repair laws across the U.S.!

This is great news! It could change the way we repair devices! As you'll know if you read my blog that I am an advocate for the Right To Repair movement and have been since about 2015. 

The latest feature to come to ZPE - YASS Unfold - is a very useful feature. YASS Unfold does just that - it 'unfolds' the code into natural language, explaining what the code is doing. The very first version, which will be released in late October, features only a handful of features such as while loops, if statements and function calls (so far, but may contain more) and will not be the full feature.

This could be very useful for explaining complex code and will be looking at implementing some machine learning to improve and optimise results. I aim to have every feature from ZPE up to version 1.7 by the end of the month as it doesn't take long to write. Further to this is the new directive @unfold which allows you to specify what a subroutine or function does within your own code to help Unfold explain it. 

This feature is built on the same code base as the transpiler feature and will hopefully continue to get better as versions progress.

Many people already know this, but for those who do not, I have formally accepted a position for a Master's Degree in Computer Science. Apart from PGDE, this is my first time returning to university in 7 years. It will also be my third university-level qualification as I already have a BSc with Honours and a PGDE in Secondary Computing. To me this is quite an achievement since 7 years ago I was concerned about my illness coming back and stopping me from finishing my Honours year.

This MSc is part-time and at the University of York - one of the universities I have always wanted to attend!

The 'quick alert' feature on my website is used for various different things in order to inform the users of my website of an update to the page or a successful save for example. It's been quite nice to have and I use them regularly across the website, for example when executing code in ZPE/YASS or evaluating JavaScript, a quick alert popups to tell you that the action has been issued.

But now, after a good few years of them. I've decided to make some serious improvements to them.

So many new improvements due to switching IDE. After 12 years of using Eclipse, I have finally moved to IntelliJ again. This has meant new things for ZPE, for example, little artefacts such as if statements I hadn't noticed were redundant due to code changes surrounding them were wasting resources. IntelliJ notices these and suggests how to improve the code. I have implemented a lot of changes due to this.

Also thanks to IntelliJ I have now started to host ZPE on a private GitHub repository. This has meant change tracking is even easier than it was before. It also means I don't rely on Dropbox Rewind anymore. Further to this, ZPE now has proper build numbers that automatically update each time I build ZPE. I really like this because it goes back to the way ZPE was back in the olden days with version 1.3 up to 1.5.

ZPE has had some major new features that don't just relate to performance too including the new unbound variable declaration, the new empty expression and the new compiler directives feature. Further to this, to make the development of other subset editors of ZPE (such as that found in the SQARL editor I have recently made) easier and faster, the new CodeEditorView component makes it easier to embed line numbering and syntax highlighting in any program. For those who haven't seen my SQARL editor, it simply parses SQARL into YASS which is passed to ZPE for parsing, compilation and passed through the runtime.

After learning a bit about how Ant works and how great the IntelliJ IDE is, I have finally got automatic build numbers being generated. Prior to this, I would estimate the build versions and as of recently, I have ignored build versions entirely. This changes now with a new Ant script being added to ZPE that will automatically increment the build version every time I compile it. This means every time I test the program (since it is built then too) it will increase by one. Build numbers are useful as it's often the case that users of early builds who try out the early access nightly version will be unable to update to a newer build in the same version because the updater cannot decern the version differences deterministically. This will change now! 

Powered by DASH 2.0