Since I stopped being a software and web developer working in another company for a living in August 2017 and moved to having my own business doing this and eventually to teaching, I've continued to be actively involved in the industry.
I have presented a conference on running a small business in the ever changing technology industry, I've regularly been contacted by people in the industry for assistance and have had one or two interviews. I also actively follow jobs on Indeed and S1 Jobs to ensure that I know what's going on.
Anyway, as part of my own development I want to add to my 15 programming languages (not including HTML and CSS in that since they aren't programming languages) that I currently know well and so I have decided to re-pickup Rust.
Rust is a very popular language in the industry and lots of jobs that I have seen advertised require the candidate to have knowledge of it. I'm going to say this isn't surprising because Rust was beginning to appear quite a lot back in 2017 when I was working in the industry and whilst I could write Rust back then it's one of the languages I haven't spent much time on.
Laravel pops up quite a bit along with Symfony 2, which are both frameworks I have used before but would need to look at again before attempting to use them.
The requirements in the industry have moved quite rapidly since 2017 and will likely continue to do so as languages like Rust and technologies such as React and vue.js continue to gain popularity. This has actually cropped up recently after a discussion with a friend who is considering a new job.
Let's be honest here, Microsoft has been trying to ditch Control Panel since Windows 8 back in 2012, and yet here, all the way in Windows 11, 10 years later, Control Panel still resides in the core of the operating system. It's uses may have slowly begun to disappear, yet still there are so thing you can only do within Control Panel.
Windows 11 is still a mess with it's settings being spread across the whole system.
For example, to change the mouse double click speed, one must go to Control Panel and then the Mouse setting. There's other weird things in here such as the Work Folders feature, the Sync Centre (which should be a separate app in my opinion), AutoPlay, the Windows Mobility Centre (why does this still even exist?!), Windows Defender Firewall. But the worst of all, is the Programs and Features. Not knowing how to uninstall an app will confuse some people. The Mail feature is another weird one as well as Phone and Modem (that should have been removed from Control Panel a long time ago).
So why do these things still exist? Does Microsoft not care about making the OS perfect anymore?
This year has been one of the best years of my life.
Let's start with January. January was a pretty bad month for me in terms of work. I got into a big argument with someone at my work that made me decide to hand in my notice, despite loving the place I was working at. I was in a bad place as I was still recovering from COVID from the year before and was struggling to get back into the swing of things. Despite this punch-up, deciding to move on ended up being one of the best decisions I've made (more later).
March and April
In March I applied for a job in one of the two schools I had always wanted. I knew after the interview that I wouldn't get the job and indeed I was correct. I also sat my driving test for the first time since 2016 (things had at last begun to settle down again and I found the time to do it). Unfortunately, I got one major fault (although, once again, no minors) and failed as a result. This was upsetting news but I decided I would persevere and try it again. Two fails in one week.
I also could not forget to mention the big change that came to ZPE and that was the inclusion of passing by value and reference.
May was perhaps the best month of the year. First of all, I resat my driving test and passed it at last! A week later, the other school I had always wanted to work at posted a job and so I applied. I went through the interview process but didn't think my interview went too well, but later in the day was offered the job! Both of these were within one week of each other too (it was the reverse of March).
ZPE also got another big update with strong typing now being available in parameters. This was another huge update.
In terms of my house, I finally got my garden done.
June and July
In June I went to see my new school and it was exactly as I remembered it. I also met my line manager who is the most awesome guy ever, although I had known that he was a nice guy from when I did volunteer work at the school way back in 2016. Over the next few months, I began to work hard on improving my slideshow engine, creating webpages for my class worksheets and making more digital tools for use in education.
I went to York with my mum for the first time in 11 years and this was quite an enjoyable experience, especially compared with my usual Scottish getaways that I do year upon year (I'm just meaning it was a big change, not that it was better).
I also turned 31 years old.
August, September and October
I started my new job at my new school at last. My first few weeks were awesome! The saying the grass isn't always greener on the other side applies whenever you are applying for a new job, but in this case, the grass was greener. I'm very happy in my new job. Further, in September I got an award for settling into the school quickly and well. I love where I work.
Once again, this was a big month for ZPE when it was compiled to a native binary for the first time, seeing huge performance gains over the JDK version.
At the end of the first half-term, I knew that I had made the right choice with my new school.
November and December
Not sure what to say about these two months, but they have been really lovely. The first few weeks of December were pretty tough as I got a cold and bunged up thing that just refused to go away - it lasted a total of four weeks before it cleared up completely.
I spent a lot of time with my family in December after having several months of not speaking to my dad, and then of course Christmas was a lovely day at my parent's house, despite me originally not planning on going. On the 30th of the month I decided to go and buy a car. At last. I put down the deposit to get my self an MG4 EV. What a nice end to the year.
It was always going to be difficult to simply drop macOS and switch to Windows, but I've managed to barely touch my MacBook. I am typing on it at this precise moment as my EliteBook is currently set up on my desk as my gaming machine and ready for the morning where it will be used, and I still feel there is so much more that I can continue to get from my MacBook Pro.
To be honest, the typing experience on my MacBook isn't much different from my EliteBook and generally, it's just a lovely machine to use still. I don't like the TouchBar on this MacBook and that is something I voiced way back in my original review, so there are no surprises there, the touchpad does feel better, but only just and the laptop feels ever so slightly smaller and lighter.
My transition isn't as plain cut as my transition from Windows to Mac. I still have an excellent quality MacBook Pro here and it would be a waste to see it just be left and ignored in the corner, but my development of software and websites has completely transitioned to my EliteBook - I'm so surprised at this as the main use for my MacBook was original as a development machine. The crucial change for me, however, is moving away from a gaming desktop and a business laptop. Jambour's ProBook and EliteBook was the company's main machine for all things related to the company simply because we needed Windows-based laptops for taking to client meetings and for moving around, and my only other actively used PC was my gaming desktop which would not satisfy those requirements. So both my business machine (the ProBook) and my gaming desktop (The Red Revolution) have been replaced with my new EliteBook. The gaming desktop will likely have some parts sold but likely the case and PSU will be kept for the time being.
As for my MacBook, as I say, it's got years still left in it and will continue to be used as a media machine for listening to music, watching films, and occasionally for things like browsing the web. But it's not longer my daily driver and I love my EliteBook already. Simple things like switching from Command to Ctrl that took me time back in the day have been really easy as I've been a Windows user as well as a Mac user since getting my Mac. Unifying all my computers into one machine has been my dream since I got a Mac. Unfortunately, Apple tried to make that difficult. However, even after this MacBook Pro goes, I will always have a Mac in the form of a Mac Mini.
In summary, my transition is complete. I'm actually back as a PC user primary for the first time in about 11 years and whilst some may think it's a backward step, I'm quite happy to argue that now a lot of things have changed, particularly the new Linux Sub System and Windows Terminal that make it possible for me to enjoy development on a Windows machine again.
One of the most exciting features coming to ZPE is cloud variables. This will allow booleans, strings, integers, reals and much more to be stored and retrieved from a ZPE Online account. This will, however, only work while the user is logged into the cloud.
This is intended as the headline feature of ZPE 1.11.1.
There is a possibility that serialisation of objects will come later too.
I have mixed feelings about my new daily driver. For one, I've been a Mac user for over 11 years now and I have come to love features like Find My and Apple Maps as well as Keynote and Numbers as well as Graphics, Cheatsheet, Timetable (both available on iOS and iPadOS too, which means I can view on any device). I also love the other things like Preview, LanScan, Music, Apple TV, Quicktime and of course, control over my Home (this isn't a huge problem as I use Home Assistant anyway). I weighed up the advantages and disadvantages and the only major advantage the switch brings to me is that the parts in the computer are replaceable.
Let's be clear though, my new laptop isn't designed to solely replace my MacBook Pro, it's purpose is to get rid of the desktop computer that I have and make the whole work and play more streamlined. That means the chances are my MacBook will still remain a major part of my daily life whilst my new laptop will remain as my work machine and gaming machine (through the eGPU). I do not want a repeat of the disaster that was my Razer Blade Stealth where it basically sat and did nothing for three years despite me dropping £1500 on it. I am, for the foreseeable future, intending to keep my desktop PC as I wish to look at using it as a storage server (as it has a whopping 9 drive bays in it). Plus, the desktop was only upgraded last in July of 2019 with a £150 PSU (which is another amazing Corsair 850W PSU).
Over the last few days, my work has been focused on finishing off the BalfVote website.
For those who haven't been keeping an eye on my blog, BalfVote is now available to use freely at balf.vote. The new system allows you to create simple polls that users can access from their devices. It's part of my WISP project and the actual interface that was developed as part of my website has no actual styling. This is why I use this in my presentations - it fits with the theme.
It's still in very early beta stages but the whole interface from the graphs and the questions works 100% - it's just the creator that still needs work.
In the November 2022 release of ZPE, sockets will be available through the new Socket object! This has been a long-requested feature that was first proposed but scrapped when ZPE became object-oriented. Further to that ZPE 1.10.11 is bringing back the UI object due to issues within the plugin version.
ZPE 1.10.10 already brings the new MQTT object which will soon feature subscription as well as publishing (probably in December). The new MQTT object is actually really awesome and it allows me to automate my house even further than before with ZPE. As always, the core principle behind ZPE is to make features like MQTT more accessible and easier to use, and the socket is no different. Instead of requiring 20 lines of code, ZPE's socket implementation requires just two lines of code.
ZPE 1.10.10 is considerably larger at 1.2MB instead of 960KB as it would have been if not for MQTT. It's still reasonably small, but expect ZPE to get bigger as new features like MQTT get added.