Cloud developer & proud dad!

  • Unit Testing

    I was pair programming with a friend of mine (who is getting more in depth into programming) on a small project and the subject of tests (as in Unit Tests) came up to try and debug some behaviour. My friend then communicated that they have not written many tests and was a bit unsure of…

  • Npm Broke Arm64 Pi Garage Builds

    I know this sounds crazy right? Lets rewind a bit so we can try and understand why. In a previous post Material 3 + Flutter 3.16.0 Broke Pi Garage Theme I stated that you should pin core dependencies. Apart from the Flutter version there was another place that I did not pin dependencies specifically enough.…

  • Material 3 + Flutter 3.16.0 Broke Pi Garage Theme

    What happened? The release of Flutter 3.16.0 introduced something that caught me out and broke the theme in the Pi Garage companion mobile app. Although Material 3 has been “opt in” for quite a while (I couldn’t find since when) it is only in 3.16.0 breaking changes https://docs.flutter.dev/release/breaking-changes/material-3-default you can see that this version has…

  • Pi Garage V2

    It’s been a while since Pi Garage V2 has been released and I have not mentioned it on my socials. Since this is a major release I thought I would go into a bit of detail on to why I decided to make a major release version bump as well as the nitty gritty to…

  • DB Migration

    Whilst performing the server migration (detailed in some of my previous posts) I had to perform a database migration of a Postgres instance. 5 Million Data Points This database though not critical is a basic Data Warehouse that is the data storage for a data scraper application. This means that although some down time is…

  • Samba Wifi Speeds

    In my last post Windows 2012 R2 Decommission I mentioned about a problem that would change my whole architecture. Transfer Speeds Whilst copying all the data over Samba from my M1 Max Macbook Pro over Gigabit Ethernet and having the Plex server access the files using NFS over Gigabit Ethernet it seemed like everything was…

  • Windows 2012 R2 Decommission

    My NAS/File Server has gone through multiple iterations after the years so it’s interesting to know the reasons for each iteration and the reason why I’m migrating it once again. First File Server (Ubuntu 11.10) My first NAS implementation was an old desktop PC running Ubuntu 11.10 that was running samba. I didn’t know about…

  • Pi Garage v1.8.0

    Pi Garage v1.8.0

    Pi Garage version 1.8.0 has been released. In this version the mobile app has been given the ability to have multiple configurations saved. The main driver for this was so that other people who had a Pi Garage could simply give you the configuration details and you could add this as a second (or even…

  • GCP Ubuntu VM Freezing On Auto Updates

    GCP Ubuntu VM Freezing On Auto Updates

    Upon migrating my blog to a Google Cloud Compute Engine VM (this very blog) I had a strange issue where it would freeze and become unresponsive. Only “Resetting” the VM would bring the blog back. The findings were so interesting I thought I would share them. Issue It’s worth noting what the instance is (and…

  • Pi Garage Relay Lock-up

    After initial release with the Home Assistant mobile app performing the opening and closing it was observed that quick button presses (from my daughter pressing the button rapidly🤣) that this could cause a lock up of the hardware in a weird way. You could see the lights on the relay change to show that the…

  • Open Source Repository Challenges

    Making the project Open Source is a good thing as it allows others to learn from it but also to so that people can be assured that there is no nasty other software that is installed with the application. However as anyone on the internet can view the source code this introduces complexities that you…

  • Pi Garage Realtime Communication

    Pi Garage worked well for a while, however there was one thing that bugged me. When you would have 2 devices open on the home screen (in the mobile app) and you would open the door on one device the state would change from “closed” to “opening” to “open” but on the other phone it…

  • Pi Garage Mobile App

    Along with the backend part of Pi Garage I really wanted to have a mobile app (both iOS and Android) so that it would be easy for users to use Pi Garage without having to configure a 3rd party app (like Home Assistant) or via an API page (like Swagger). I have had experience with…

  • Pi Garage Deployment

    The next decision to make was how to deploy the backend application. I had many different ways that I could release the application. However there were some key considerations to make. This lead me to consider the following. NPM package As the backend is built in Node.JS it would be easy to just push the…

  • Pi Garage Backend App Framework

    As I had chosen to use a Raspberry Pi for the hardware this allows me to use any language and framework that I want as long as the Raspberry Pi supports it. To view the current Open Source code can see it here on GitHub. I new that I wanted to write the app in…