For the longest time, I have enjoyed the fantastic Samsung SmartThings. Still, with concerns over speed, cloud access, reliability and of course longevity of the service, I have opted to move away.
Today, I received a USB to Zigbee adapter which I inserted into one of the USB ports on my Ubuntu home server. I also got Home Assistant installed (I am already using Homebridge). To my amazement, the USB Zigbee adapter was recognised by Home Assistant immediately (I mean Linux is often a pain with drivers so I was worried about having to spend precisely 9.23 days trying to get this working but not this time). I got started and found that the installation of my Zigbee devices away from SmartThings and into my new Home Assistant was incredibly easy - in fact, better than SmartThings.
I say better because SmartThings requires a cloud connection no matter what, even if the connection is local. This meant that things were slower and with SmartThings unifying my whole home, this meant that simple things weren't quick. I also say better because things like my Xenon power strip can now be recognised as four different plugs - not one. This has allowed me to remove one of my WiFi-powered power strips and replace it with the Xenon one (at last).
Since Home Assistant also works locally, I decided to turn off my internet connection for a short period to test it. And voila, it switches on and off without the need for an internet connection absolutely perfectly - and fast.
As well as Alexa devices, Home Assistant also integrates with Apple devices easily by acting as a bridge. Now I plan, at present, to supplement my Home Assistant with Homebridge since it is also fantastic and it actually runs on the same server. Further to all of this, my Alexa devices now integrate entirely with my Home Assistant, allowing for much quicker control.
My whole stack is much cleaner and much better designed with the performance that makes it so much more reliable and less reliant on third parties. I plan to install more Zigbee control devices around the house in the next few months too and I'm looking into installing touch screens across the house with control for each device to make things even easier than they are now.
The new version of ZPE is out now in beta stages, and it's pretty awesome, to say the least.
ZPE 1.10.7, aka Hasty Hyena, is quite symbolic since it now features symlink features.
The three new functions, which currently remain undocumented, are able to add symbolic links, check if a file is a link, and the best one, replace a part of a link.
The last function here is the most interesting and useful. I came up with the idea since I often need to update links on my Linux-based systems and must delete the whole link and then relink it. This function takes in the original link, figures out the exact path it points to, converts the path to a string and replaces the search term with the new replacement, moves the old link and then writes the new link to the old link path. This is something that will save me time on my server for sure.
It also brings the new run_in function, another extremely useful function that runs a function (or a lambda function) in a certain number of milliseconds, either continuously or just once.
Finally, create_cron_job is another new function coming to ZPE later this month, as well as a new command line that's also coming along. This will allow you to schedule cron jobs that ZPE will handle. The command line is designed to be run through the -x mode and will continue running in the background. ZPE aims to simplify the whole process of creating cron jobs, and will also store the actual commands in JSON files that make it easier to modify them later.
Newbattle High School, where I've been working for the last two years, has been to date my favourite job. I've met some amazing people, kids and teachers, that have made my time there the most enjoyable two years of my life. But it's time for me to move on.
As a posted in a previous blog post, I have for a long time wanted to get a job at a specific school and now I've got it. I've been waiting for a position at that school to come up and it's taken a long time (8 years I've been watching for the job to come up), but now that I've secure it I'm moving onto my next chapter in my life.
Today is the first step towards that - at 12.56 today I was no longer a teacher at Newbattle High School. It was a very sad moment to leave such a great place with so many great teachers and kids wishing me good luck for the future. Throughout that time I was reminded by many members of staff how great a relationship I've got with many pupils, which is also very clear from all the cards I've had telling me I've been the best teacher they could have ever had. I tried my best to catch everyone that I could to say a final goodbye and I've just been in tears most of the afternoon.
Newbattle not only was an amazing place to work, but it was also the job that allowed me to buy my house, I passed my driving test whilst there and it was my first job as a Fully Qualified Teacher. It will always have a special place in my heart.
But onwards and forwards, my next school will hopefully be just as exciting a journey for me and hopefully I can continue to build good relationships with staff and pupils just as I've done at Newbattle, push digital more and more, and continue on this upward trend.
It was never my intention to release a new version of ZPE every year, and given that some releases are considerably bigger than others this would be difficult to sustain. However, 2022 has actually led to just that - ZPE has released once a month, and the version numbers, as a result, tie-up with the release dates.
For the foreseeable future, ZPE will continue to follow this and one new minor version will be released monthly, no matter what. I will devise a scheme for deciding when a new version will be released to the public. This is actually very similar to the way that Ubuntu's naming scheme goes.
Further to this, if changes are made to the YASS syntax from this moment on, YASS will move to a new version based on the month it was updated. At present, YASS sits at version 22 since the last changes were made in 2022, but if changes were made in, say October 2022, YASS would become version 22.10.
I was tempted by the new MacBook Air with its all-new design that ditches the wedge design that the Air has sported since its inception in 2008. The new design is actually, in my opinion, much nicer. But it's almost silly in its design since it now makes me wonder what the difference between an Air and a Pro is and narrows the gap between them.
Announced at WWDC 2022, Apple unveiled the M2 chip alongside the newly designed MacBook Air without the wedge design as well as 13 inch MacBook Pro amongst other devices in their product line. But the MacBook Pro 13" stood out as being the weirdest one.
Like many others, I was shocked by the fact that Apple kept the Touch Bar, they didn't bring MagSafe and there are no additional ports like HDMI being added. And here is where things get really messy. The base model MacBook Air is $1,199 and features an 8 core CPU, 8 core GPU and 8GB of memory (a lot of 8s there), but for just $100 more, you can upgrade to a 10 core GPU. This actually inlines the specifications of the Air to that of the 13" Pro.
So then it just raises one important question, who is the 13" Pro aimed at now? The only benefits of the Pro are the two hours more of battery life, the Touch Bar and the fans included with it. I would much rather have a lighter machine like the Air, and one without the Touch Bar and with MagSafe. It really makes no sense to me.
Simply put, I've got a new job at a place I have wanted to work since first working there in 2016!
Continuing as a teacher or going back to the industry has been something I have thought about in the past but I have always come back to it because teaching is too darn enjoyable! Put it this way, I get real job satisfaction from what I do.
This is actually the second Tuesday in a row that I've had some good news! Last Tuesday I was celebrating passing my driving test and now it's a new job!
Anyway, since starting teaching back in 2015 and qualifying as a teacher in 2019, I have wanted to work at the school I now have a position at! Where I am at present has been great and I know I've left an impact on the school so I'm hoping to bring some of that enthusiasm and my skills to my new school!
Over the next few weeks, I will be making big changes to my house. The first of those has already started - moving all of my WiFi smart stuff to Zigbee. It's an expensive job since I've got a lot of WiFi stuff but it's just not reliable enough. This has begun with smart plugs, which even though I bought my last WiFi power strip just two months ago, will eventually be replaced by Zigbee plugs for reliability. I've also begun switching out my dumb light switches with Zigbee switches and removing smart bulbs - the switches are much easier to use and have a backup option.
Another major change I'm making is moving from having plug sockets occupied by smart devices and I'm moving more of these to devices that can be powered by Ethernet using PoE.
And, I'm now in the process of upgrading my house so that every room in the house has an RJ-45 connector and CAT6 cabling to ensure that I can both provide data and power devices in every room of my house.
I've also begun to use my security system now as it's all up and running with sensors all around the house that immediately trigger if someone enters the house.
All in all, the house is much safer, saves more energy, and allows me to access and control it from anywhere.
At 30 years old, I'm hardly a young driver, but I have at last passed my driving test.
I first started to learn in 2013 when I was 21 but unfortunately had to stop due to issues with my instructor. My next instructor, Miranda, was friendly, supportive and very calm which really helped me. I took on Miranda after one and a half years of not driving. I then sat my first test in January of 2016 which was a pretty good result but still failed. I got no minors and a single major which my instructor said was something that I'd never do but could see it was down to stress. I left driving for a while.
Fast forward to 2019 when I decided to pick up driving as I had a little more time and money. I went for three lessons with an instructor but decided the best way to go was to save money and practice with my mum. I started that in late 2019. Unfortunately, COVID came along and I also needed to now redo my theory test but it was delayed and delayed by months at a time. I eventually got my theory rebooked for December 2020 and passed again. Next was the driving test, which I ended up booking for May 2021. Unfortunately, COVID affected this too, with my test being postponed to mid-July - a time which actually was very unsuitable for me. I then got it rebooked for September of 2021, only to get COVID myself. It was rebooked for November, again unsuitable for me as I was still struggling with COVID.
I managed to get it booked for February 2022 and felt really ready this time. Unfortunately, I failed. And it was so silly. Two minors and one major. And the major was for the emergency stop and if I'd been a half-second quicker I'd have passed. This was unfortunate and it really upset me because it was a silly mistake and one that I could have fixed easily.
Now, on the 17th of May 2022, still feeling ready to go for it, I passed. I got four minors, all of which were very minor and minors I was very aware of after but I felt like I deserved to pass anyway. I'm very happy that I've managed it at last!
Recently I have found that some of the DIG tools out there are just too raw in their results and they've not been sanitised correctly, or provide too much information. So I've developed a new DIG tool on my website in the Dev Toolkit to help with this. You can find it below.
Two years to the week after opening my jamiebalfour.scot domain for the first time I have decided it's time for a completely new domain.
My brother and I have been speaking about having one domain which we share but each have subdomains on, so without further ado, let me introduce the balfour.scot domain and the jamie.balfour.scot subdomain. jamiebalfour.scot will now redirect to my new domain automatically. This process will take a while to complete so you'll have to bear with me whilst this happens.
Further, my new email is just jamie@balfour.scot which is much cleaner.