It’s 2025, I just published an article on Advent of Code 2024 in Rust, and my browser won’t even load http://treibgut.net.
Turns out, I’m partying like 2014, with my lighthttpd only configured to serve plain old HTTP on port 80. Ugh.
$SERVER["socket"] == "<ip>:80" { ... } Time to do what everyone and their grandma have done and set up HTTPS with Let’s encrypt. Let’s Encrypt was founded in 2015 and is a certificate autority (CA) that hands out free certificates for HTTPS.
After my recent adventures learning Rust, I decided to follow Advent of Code 2024 in Rust.
It was my first AoC and I came for the puzzles and learning, not for the leaderboard. I’ll chip away at the puzzles at my leisure, in the occasional evening here or a weekend there. This article covers days 1 through 5. I’ll publish later articles as I solve more puzzles (or never, if I decide to pursue an actual project instead or life happens).
I decided to stretch my programming muscles by taking a peek at Rust. This article has a few thoughts from the early learning journey. Most of it is a kind of stream of consciousness notes as I went through The Book which probably was more valable for me to write than it is for you to read in detail. I’ve summarized a few general impressions in a first section, that might be useful if you are interested in “what’s rust like?
I’ve been quite happy with my poor man’s VPN using sshuttle, which allowed tunneling traffic from any device on a local VLAN through a VPN. So far I had an all-or-nothing approach, where devices in the VLAN had all of their traffic sent through the VPN. However, I’ve recently hit a case where I had a single device that needed both VPN and regular routing (don’t ask…). This article explores how to update the sshuttle setup, allowing for mixed routing, where traffic to some destinations gets routed through the VPN tunnel, but other traffic bypasses the tunnel.
I seem to enjoy buying Raspberry Pis, as I find myself setting a new one up often enough that I made a small checklist for a headless setup.
UPDATE (2024): These days, the RaspberryPi Imager allows pre-configuring most of the settings (ssh, default user, hostname, locale) when copying an image to the SD card. Prefer this, as it’s less work and avoids connecting an RPi with a well-known default user/password to the network.
This article explains how to set up a low-effort VPN with sshuttle. I found myself with a desire to route some traffic from dear old Switzerland through a server I happen to own in Germany and that turned out to be surprisingly easy with sshuttle.
I had looked at some of the commercial offerings that YouTube creators keep telling me about, but I disliked a couple of things about them:
Need some portable pizazz for your bar? Here’s how to build foldable, LED-lit bar displays, for 10 to 15 bottles.
I made these when it was my turn to help organize the bar tent at the local town fair. When I helped out the previous year, bottles were just standing on the bartop, making them hard to locate in the dim light, easy to knock over and it just didn’t look like cocktails!