Blog

Building a combination smart mirror and smart speaker

by

It all started a couple of years ago. I was recycling an old laptop – and I mean recycling, it was too old to be remotely useful even with a lightweight Linux distro. I always hate the process of generating e-waste, so I pondered what I could possibly do with it. Then I thought about my mum. She’s never really taken to smartphones, and I’d seen her sit down and boot up her desktop PC just to check the weather forecast.

Continue reading →

Posted in Hardware | Tagged , | Leave a comment

Immich stack running in Portainer

How to replace Netflix and Google Photos with your own home server, part 3

by

In Part 1 of this guide we went over the basic installation process for your first Linux home server. In Part 2 we covered a brief introduction to the Linux terminal and some useful commands for navigating around. Here in Part 3 we’re going to focus on setting up containerised services using Docker and Portainer.

Continue reading →

Posted in Homelab | Tagged , | Leave a comment

Ubuntu welcome screen

How to replace Netflix and Google Photos with your own home server, part 1

by

Inspired by a conversation on Mastodon, I thought it might be fun to try to write up the process of turning a spare PC into your own home server, assuming absolutely zero prior knowledge of administering Linux servers. Part 1 will cover installing the OS, Part 2 will cover basic terminal familiarity and Part 3 will cover installing and configuring your services. I’ll be glossing over a lot of things that are outside the scope of the tutorial, but I’ll mention them in passing in case the reader wants to dive down whichever rabbit hole they represent.

Continue reading →

Posted in Homelab | Tagged , | Leave a comment

Failed Lighthouse test

Fixing the NO_LCP error in Lighthouse

by

I redesigned this site recently. You might have noticed. Maybe not if it’s your first time here, that’s ok too.

Those full page splash images with everything fading into view look pretty snazzy but there’s one small problem: the Lighthouse test’s Largest Contentful Paint test fails to pick up on any element that starts at opacity: 0, irrespective of the fact that it animates to opacity: 1 a second later, leading to the following error:

Continue reading →

Posted in CSS | Tagged , , | 1 Comment

Homelab update: hardware

by

It’s been a while since I’ve written about the status of my homelab, and a lot has changed.

Obviously I couldn’t leave the big Supermicro box sitting on a table, that’s just untidy. I picked up an 18u closed rack cabinet from Prism. It’s only 800mm deep in order to fit in the space next to the front door, but there’s just enough depth to install Supermicro’s ball bearing rails.

Continue reading →

Posted in Homelab | Tagged , , | Leave a comment