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!
Apart from the minor performance improvements featured in ZPE 1.11.8, codenamed Phi, the next release brings about a long-requested feature. That feature is unbound variable assignment.
ZPE generally enforces variable declaration with a bound $
symbol or the let
or var
keywords. Languages like Python allow variables to be declared simply with their name. From the point of view of the compiler, I thought that due to my recent work on variables, mainly related to the use of unbound variables in assignment, I thought this would be easy. It was. It only took me five minutes and two lines to change ZPE to include this feature.
So now you can do this:
x = 10 print(x)
Oh, what does that look like? Python maybe?! Maybe that's why I didn't actually want this in YASS.
Everyone is talking about the launch of the iPhone 15 as an important update, which is well overdue, as it will include that USB-C connector and ditch that old Lightning connector. Lightning isn't capable of much by comparison and it's also very easy to break compared with Type C.
That said, there is one reason Apple has avoided it for now - and that's because they are greedy and want profit from us. They make more when your Lightning cable breaks. They make more when you need a new type of Lightning cable that connects to your MacBook Pro via USB-C.
There is a lot of speculation that the iPhone 15 launch will be the one that introduces USB-C to the iPhone. This is great and all, but there's something that needs to be thought through at the same time - the other devices. If Apple goes and ditches Lightning on the iPhone, what about AirPods, AirPods Pro, and AirPods Max? A lot of people are going to be annoyed with using dongles with their devices so they'll continue to use Apple's proprietary Lightning connector. For me, it's just frustrating that I will still have Lightning-based devices to charge when I update my iPhone which means when I go away I will still need to have two chargers with me.
Over the last few days, I have been working on and off with my new project, The Teacher Organiser. The main focus of the recent development has been on the planning side of things. This was the primary goal for a few reasons, but perhaps the most obvious answer is that it was already made.
The planner itself, as well as the timetable, are built upon my own planner and timetable hosted on my own website. This meant that bringing it across was going to be a fairly easy task since I had actually made my own version incredibly portable. But the version of the planner on The Teacher Organiser needs to be very diverse and flexible, so it needed a few changes. As a result, the version on The Teacher Organiser has much more than the one on my website.
It's still not perfect, but it's now fully usable. And users can now sign up as well!
Seriously, forget the old version of 'The Teaching Organiser', the new version is miles better!
The new version of The Teaching Organiser no longer focuses solely on reporting and is now set up for timetable creation. The new version is so fast, smooth and works well (the old version did too actually).
Version 2 is designed with a much more dynamic, app-like look. Several features are going to be built into the new version. For now, I'll provide a little taster of what it's new timetable engine (which is built using the same code as the one I built a year ago for myself):
The trend of smartphones replacing functionality that was once carried out by a desktop or laptop computer is continuing to grow. With companies like Samsung and Google at the forefront of this new technology, things like DeX, we are beginning to see a new bring-your-own-device to work scenario growing. A lot of this functionality has come from the latest chips being powerful enough to perform desktop-like functions and give a desktop-like environment without struggling but it's also down to the advancements in cable technology like USB Type C and its Alt-Mode function.
Let's look at the first point made here: smartphone chips are more powerful than ever, boasting up to 6GB or 8GB of RAM and decent graphics processors. They are more than capable of running Windows 7 based on those specifications, so they are more than capable of running your desktop applications such as Microsoft Word in a smartphone form. Microsoft attempted to do this with their phones using Continuum [1]. This was a fairly wild idea back in 2015 when smartphone processors were nowhere near what they are now. But this kind of thing is now very possible for the average job (we're not talking about playing games on a secondary display with a mouse and keyboard) such as Microsoft Word or PowerPoint. I can see this being very useful for me if I was doing another talk where I could simply dock my phone rather than my laptop. Apple has now made this possible on iPad with the new Stage Manager feature which is very impressive - this kind of thing should come to iPhone when docked.
Now let's look at the second point made here, connectivity. Connectivity is perhaps the main reason this kind of stuff is becoming very possible. Looking at what Microsoft was trying to achieve in 2015 with micro USB (which by the way, was USB 2.0) and USB Type C (later on, however). This is a great idea, one that I fully support. Samsung's DeX feature is actually so seamless that a company my brother was working at during a contract with some 200+ employees in the part he was working at had moved to bring-your-own-device and they would dock it into their USB Type C docks to connect the corporate network and gain a mouse, keyboard and display. Not only does this save the company money, but it also reduces the number of devices the users actually need, adds functionality such as making phone calls from their desktop system and perhaps the most interesting one is that it can actually be used to reduce the amount of time users spend on non-work related apps on their phones (users can enable a work mode when the phone is docked, allowing them to only use work-related apps).
Now some say that the future of smartphones taking over laptops is well away [2], and sure I can definitely agree, but when I heard a whole 200+ people were using their phones using Samsung DeX as their sole working device, I was absolutely astonished. Sure where I work we've done away with desktops, your laptop simply connects to the keyboard, mouse, 2 displays and projector by docking with USB Type C, but it's not quite the same as replacing a laptop with a smartphone or even a tablet for that matter.
[1] https://www.theverge.com/2015/4/29/8513519/microsoft-windows-10-continuum-for-phones
[2] https://www.teamtreysta.com/will-smartphones-take-over-laptop-functions-in-the-future/
Meta's Twitter competitor, Threads, goes live in just over five minutes! I'm really looking forward to seeing what this brings! Go to threads.net to see it when it goes live!
As a relatively long-term Mac user, and once (from about 2013 to 2021) an Apple Everything supporter, I am now trying to redirect myself the opposite way.
In short, Apple is beginning to suck.
Since replacing my MacBook Pro with a Windows machine I have found it very hard to move entirely from macOS to Windows. Bear in mind, when I first got a Mac back in 2009, I ran Windows on it as I wouldn't say I liked the software but loved the hardware. Fast forward to 2013 and my attitude shifted when I only used Mac OS X and didn't use Windows except for playing the odd game.
In 2022, I began to transition away from Macs, but it's not been easy. macOS is a lovely operating system, nicer than Windows by a country mile. But still, Apple's lack of repairability made my transition away easy, because the environment is more important than a Mac.
Their latest Mac Pro is an absolute disgrace - it's a large machine which hasn't changed in terms of design since Intel, despite the fact it should have. And I say that because the air cooling in the system is much more than necessary. This means that not only has Apple been lazy in terms of design, but it also means that the Mac Studio is actually a better buy for most people. The only difference is those PCI-E slots in the Pro, yet in theory several of those could be integrated using Thunderbolt anyway (though of course, not all).
Whilst I keep saying I'm transitioning from Macs, I still find it hard to not pick up my MacBook or use my Mac Mini so I'll be getting a Studio or Mini as my next Mac in the house (mid-next year though).