Michael Gambold
  • Posts
  • Projects
  • About

Posts

January 26, 2025

Migrating Blog to Hugo

Current Infrastructure

When I first decided to create this blog I was at a critical point in deciding what to host on-premises and what to host in the Cloud. As much as possible, I was trying to move workloads to the Cloud so that I didn’t have to worry about hardware failures and backups.

My previous experience in Content Management Systems defaulted to self-hosted WordPress installations. I have operated many WordPress sites over the years and although it is not perfect, it is relatively easy to add dynamic content and maintain (once you have set it up).

read more
February 25, 2024

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 how to get started. To which I very much appreciated their honesty (it’s often not easy).

read more
December 30, 2023

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. This was in the Dockerfile. Here I has specified the node version as below.

FROM node:18

As you can see although this would limit the Node version to 18 this would allow anything from 18.0.0 through to 18.100.0. Something very interesting happened with version 18.19.0. In the Release Notes one of the first things mentioned is that npm 10 has been backported and included. This like the Flutter + Material 3 issue linked above caught me by surprise.

read more
December 29, 2023

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.

lthough 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 you can see that this version has flipped the default value for the flag (useMaterial3) from false to true.

In the Pi Garage mobile app I did not set this flag to false when it was introduced as well as I didn’t lock the version of Flutter in the GitHub action that built and deployed the Android and iOS apps.

read more
December 29, 2023

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 what changed.

V1 Problems

Although V1 worked it had a pretty big flaw in my opinion and it was related to how it handled the sequences. To rewind, in Pi Garage a sequence is the actual hardware “actions” that take place when a door is “opened”, “closed” or “toggled”.

read more
July 1, 2023

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 acceptable a large window of downtime of the database would result in a large data gap.

read more
May 29, 2023

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 going perfect. Transfer speeds of > 100MB/s were achievable in both directions.

However, over WIFI connecting over Wireless AC I was only getting around 10MB/s. Transfer speeds to the old Windows 2012 R2 server over WIFI were about 40-45MB/s. Nothing else in the network had changed.

read more
May 1, 2023

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 using RAID/mdadm at that time so it used a single 2TB hard drive that would mirror itself with rsync to another 2TB hard drive nightly.

read more
April 24, 2023

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 tenth). Before this you would have to destructively edit your existing configuration which would be a pain if you had a complex API key.

read more
  • ««
  • «
  • 1
  • 2
  • 3
  • »
  • »»
© Michael Gambold 2025