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

ZPE 1.9.13 is now available to download from my website, or directly from ZPE using the --update command. 

ZPE 1.9.13 is another excellent update adding four new built-in functions, two major fixes and the new map data type.

It's worth the download!

I want to wish all my readers a Merry Christmas for 2021! 

This year's codenames are a bit more fun than chosing place names or locations. This year I have chosen several animals, much like how Canonical does with Ubuntu's codenames. As always the list can be added or removed from. Here they are for ZPE 1.10:

  • 1.10.1: Amazing Aardvark
  • 1.10.2: Commendable Cat
  • 1.10.3: Dazzling Dog
  • 1.10.4: Exceptional Elephant
  • 1.10.5: Fantastic Fox
  • 1.10.6: Great Giraffe
  • 1.10.7: Hasty Hyena 
  • 1.10.8: Jolly Jellyfish
  • 1.10.9: Lusty Lion
  • 1.10.10: Proud Penguin
  • 1.10.11: Worthy Whale
  • 1.10.12: Zippy Zebra

So what do you think? Are the Amazing Aardvarks and Zippy Zebras going to be good codenames for ZPE?

ZPE 1.10 plans to brings many new features to ZPE, ranging from simple things like performance improvements (plenty have been planned out) and bug fixes, to more complex things. This post will discuss the first of many new features that will come to ZPE over the next year.

Firstly, the Zenith Parsing Engine 1.5. As a result of writing the Zippidydoda syntax highlighter, I have identified a new method to make parsing more efficient within the Zenith Parsing Engine. Within the next few weeks I will launch version 1.5 of my syntax parser which will have further optimisations.

Secondly, speaking of optimisations, I have plans to bring precompiled JSON, CSV and XML to ZPE. What this means is that the code will be precompiled at compile time which will speed up runtime.

Thirdly, static variables will come to ZPE in 2022, bringing many benefits and new features including the singleton pattern. Static variables have been seen as being a requirement for a long while now.

The fourth thing I'm working on is the new ZPE Online includes feature. I am aiming to have this done by the end of the month and ready for ZPE 1.10.1 but I'm not sure if it will be ready. 

ZPE 1.9.13 will be the last version to feature the ZPE UI features as ZPE 1.10.1 will remove this from ZPE. This will be moved to the ZPE UI library, a free, opensource library. It will be very easy to reintegrate these features into ZPE again once the library becomes active again.

Tools like highlight.js are fantastic, until you need to add your own language as I did when I developed ZPE/YASS. highlight.js is also quite heavy and also, it's not developed by me! 

All of these reasons are why I chose to write my own syntax highlighter and I immediately thought to myself, it cannot be that hard since I've written a language parser myself. How right I was! 

Introducing Zippidydoda (it will probably get a new name soon). Zippidydoda gets its name from the fact it was designed to work originally with ZPE (pronounced Zippy, the nickname for my brother's hamster Henry) which was also a nickname for Henry. It's fast, it's customisable from JSON, it works in tandem with PHP which makes it ideal for me and it also allows for such easy customisation.

You can see Zippidydoda in action on my ZPE Online which you can find here

Based on the performance of the Zippidydoda parser, I will drawing inspiration for the Zenith Parsing Engine v1.5 as well as my DASH Boost parser since it is so unbelievably fast as well as lightweight and very manageable.

Posted by jamiebalfour04 in General
javascript
syntax
highlighter
fast

I have recently made a big decision that DASH v2 will now be hosted on GitHub. For the first time ever, I will be making DASH's source code available on GitHub. This will allow me to invite others to assist in the development of DASH v2. It is currently private with plans to make it available to the public by February.

Further to DASH v2 being hosted here, I am also going to be removing the ZPE UI feature from the main runtime and making a separate object which will be more manageable and easier to update, which will also be open source and available from GitHub. 

A couple of days back from now, I received an email from the contact form on my website. This email enquired about when DASH 2.0 would be released. At that point, I had no way of directly answering this person since I was in the middle of fixing a bug that has been bugging me since I switched my own install of DASH to using a symbolic link (DASH 2.0 works with symblinks no problem now). The issue was resolved by moving image uploads from the tmp folder to the assets folder of the install (I will post more later). Since this bug is fixed, DASH 2.0 is once again ready for release. However, I have yet to decide just how to release it.

I want your thoughts on this. Should I release it on GitHub or similar, or should I release it through my website? Use the get in touch or comments below to let me know what you think. 

The following is a short video on why desktop Linux distrubtions suck. It's very true as well.

As part of my update to DASH for version 2.0, I have completed a redesign of the UI that involves much more use of gradients and curves to make it more pleasing on the eye. DASH 2.0 now features an updated dark mode that is based on the operating system (unlike Dash 1.x which used user preferences, but that was all that was available back then as these features weren't available at the time of Dash 1.x).

Below are two images showing the early version of DASH 2.0 (beta) compared with how it looks now. The curved interface makes it much more visually appealing.

DASH 2.0 has been my main project for a good few weeks and has helped me recover mentally by allowing me to use my brainpower over and over. It's helped me with getting back into programming as well as helped me get my typing skills back to normal and has generally helped with the brain fog I have had over the last few weeks.

DASH 2.0 is a big update to my old Dash project, and whilst the majority of updates as of recent have maintained compatibility, this latest update I have made breaks compatibility with Dash 1.0. 

For starters, content posts no longer include separate scripts. This is due to the fact that the new version of TINY MCE that is used with DASH 2.0 allows scripts to be included in the content. This is great news but will require the `scripts` column to be removed from all posts tables in current Dash 1.0 implementations. Further to this, the `category` and `poster` fields are no longer textual fields but are now integers representing the `category_id` and `user_id` fields respectively. 

Secondly, the users tables should have their `details` and `preferences` columns removed as these are no longer needed. 

Those are the main changes but they are worth it. Because of the new way that DASH 2.0 has been designed with a much more object-oriented design, implementing new features is really easy. More features will continue to come to DASH as time goes on so stay tuned.

Powered by DASH 2.0