profile picture

TIL: Things I Learned

Also known as Today I Learned, this is a collection of write-ups on small subjects that don't deserve a full article. They cover different technologies, languages or tools or tricks that I've discovered on my day to day.

Testing out headscale for a homelab setup

January 29, 2023 - 800 words - 4 mins
Instead of just exposing a single machine to the internet (see previous TIL), I wanted this time to quickly test headscale and see how it operates for a homelab scenario to replace Tailscale. ▶️ I also made a recording of this that you can watch on YouTube here. 1. Run headscale in a controlled envi… read more

Setting SQLite3 PRAGMA's automatically with crystal-sqlite3

January 14, 2023 - 641 words - 4 mins
For a project in Crystal using SQLite3 (crystal-sqlite3), I wanted to automate setting PRAGMAs on the database connection without having to leverage on DB#setup_connection and hardcoding values in my code. So, instead of doing this: require "sqlite3" DB.open "sqlite3:file.db" do… read more

Expose home VM to the internet using Fly's Private Network and WireGuard

January 07, 2023 - 512 words - 3 mins
I wanted to host applications on private servers and have them accessible on the internet. But wanted to avoid having to punch holes on internet routers, exposing my home/office IP or having to figure out more complex stuff. With this in mind, thought about using Fly's Private Network (also known as… read more