Hari's Weblog

#tech

My Self-Hosted Setup

I recently deployed a couple of services on a VM in the cloud so I could get my feet wet when it comes to self-hosting apps for my own personal use. So far, it's been pretty fun but also frustrating at times; I figured I'd document everything I've done up until now so it's easier for me when I migrate to a different server at some point in the future.

Using Htpdate

While doing some routine maintenance on a society server running Ubuntu (I'm a sysadmin for my university's computer and networking society), I noticed that its system clock had drifted away from the true time by approximately 20 minutes. This amount of drift isn't something one would expect to see on a long-running server with an active NTP service ... except, of course, the NTP service wasn't working.

The Docker Container Only Works on My Computer

A few months ago, one of NetSoc's committee members built an r/place clone just for NetSoc's members, and we figured it would be nice to have a Discord bot to periodically take screenshots of the pixel art website and post updates to our server. When I volunteered to make it (because why not?), I never thought I'd spend about 5 hours wrestling with Docker while trying to deploy the app to our server, because the Dockerised app would only run on my computer.

Using the Shunting Yard Algorithm to Write Truth Tables

If you've gone through the first year of a undergraduate Computer Science degree, you'll have written enough truth tables to last you a lifetime. Personally, I decided I'd had enough halfway through the semester and wrote a program to write my truth tables for me in Go. Unfortunately, we'd moved on from the topic before I finished working on this, but I still think it's a pretty interesting project.