Picture of a lake in Canada

Shiloh - Building an LED Cross

November 19, 2022 This post has been a while in the making, the cross itself went in in 2021, but I only just finished the post. Design Rationale / Aims / Motivation I have been thinking about building an LED cross for a little while, after mentioning it at church it turned out that our youth had been asking for one so that spurred me into action. Our team leader was also keen on the idea and I thought that it would be a good project for me to do some more electronics whilst also making something useful. Read more...

Azure Container Instances - Avorion Server

October 18, 2022 Azure Container Instances - Avorion Game Server My friend Bush and I recently started playing Avorion and wanted to play together on a multliplayer server. Neither of us have particularly stable internet connections so having one of us host a server would likely result in a poor experience. I saw a cool project about running a “serverless” minecraft server and wondered if I could get a similar setup on Azure with Avorion. Read more...

Eaton 9SX3000I UPS fan replacement

April 10, 2022 Eaton 9SX3000I UPS Fan Replacement Hardware x2 80mm Fans - Sanyo Denki 9A0812G4D01 x1 Eaton 9SX3000I UPS The UPS I recently acquired had some loud (~45 dB) fans, since the UPS is going to be running my study I wanted something quieter. The stock fans were loud enough that you could easily hear them elsewhere in the house with the study door closed. I wanted to replace these with some Noctua fans which are known for being quiet. Read more...

Let's Encrypt - Securing internal websites

January 30, 2021 Like many software developers I have a few websites running on my LAN. Most of them are either running on plain HTTP, or have self signed certificates. Free certifciates signed by publically trusted CAs have been around for a while now, however the most commonly used method of getting them (in my experience anyway) has been via HTTP powered verification. This can make installing and renewing certificates on sites that are not internet facing difficult or too risky. Read more...

Real time electricity monitoring

June 27, 2020 Electricity Monitoring I thought it would be a fun project to monitor my electricity usage and get an idea of the changes in our usage patterns over time. Unfortunately our meter is not a smart meter, its a Landis & Gyr E350. I did find a guide on building your own optical probe for meter reading but didn’t want to interact with the meter and I especially wanted to avoid triggering the tamper alarm! Read more...

Kasa Smart Light & Unifi IoT Network

March 18, 2020 Smart light Like many nerds I am using Ubiquiti’s Unifi networking gear. As such I have a VLAN and wireless network setup specifically for my IoT devices. Recently I purchased a TP-Link Smart Light (KL130) and wanted to get it setup on my IoT network. Unfortunately it failed to connect as the process got stuck after providing the IoT WiFi connection details. I was able to get it working without a problem to my non IoT network which lead me to the conclusion that there was a restriction on the IoT network that was preventing the setup to complete. Read more...

Shiloh Speaker Presentations

November 16, 2019 Recently Shiloh Church started to use Office 365. O365 provides access to the Office suite of applications as well as enabling centralised document storage and identity management. Thanks to Microsoft’s Non-profit scheme we also have a bunch of Azure credits to use on projects. These credits have come in very useful for the project I am going to describe below. Audio Visual Team Shiloh Church is my home church and I volunteer on the Audio Visual Team along with a bunch of other people. Read more...

Learning Rust

May 9, 2019 In my earlier blog post about building an inky wHat dashboard I mentioned using Rust to parse the calendar feed from my Google Calendar. To get a list of events upcoming events I had previously been using a Go library which parsed the ISC file from Google Calendar however there didn’t seem to be a way to make it output repeating event occurrences. This meant that my weekly reminder to put the bins out was not being displayed on the dashboard. Read more...

Inky wHat - Dashboard

February 20, 2019 I am quite a Raspberry Pi and Pimoroni fan and was given an inky wHat for Christmas. The inky wHat (and pHat) are E-ink / ePaper displays similar to the Kindle screens which are easy to read in bright sunlight, they also use very little energy and so are a great candidate for a mini-dashboard powered by a Pi. Its important to note that the inky wHat will only display 3 colours, red, white or black so this isn’t an appropriate choice if you want a full RGB dashboard. Read more...

Hugo, GitLab, Azure and Cloudflare

February 3, 2019 My new blog is powered by a few different technologies and in this post I will run through some of the steps required to get it setup. It wasn’t as straight forward as I had hoped so I will document some of the problems I encountered and how I overcame them. First of all the blog is powered by the following stack: Hugo - a static website generator GitLab - git source control & Continuous Deployment (CD) platform Azure Blob Storage - static website hosting Cloudflare - DNS / TLS / Web optimisation service Hugo Hugo was pretty easy to get started with thanks to the tutorial. Read more...

Switch to Hugo

February 2, 2019 So its been quite a while since I last blogged, and in fact a while since I have even had the domain name registered. (I totally didn’t think it was taken by someone else and end up registering some other domains…). Anyway members of my team at C5 have been encourage to build our own blogs and start producing some content so I am going to try and blog more frequently. Read more...

MongoDB LINQ Queries executing on the client side.

February 3, 2014 , posted under programming ASP.NET C# LINQ MongoDB infometrics For my Final Year Project at University I have been building “Infometrics”, something I may well provide more detail on in the future. In this case the only thing you need to know about it that its a C# App written with a MongoDB backend. Now the crux of the issue I was experiencing was that all database operations seemed to be slow, despite not having that many documents, and indexes set up. Read more...