July 26, 2026
Dønnamannen is the one I keep looking at from the ferry
Why the profile of Dønnamannen on the ferry ride past Dønna has been on my hiking list for two years now.
Learning to build and self-host things in my spare time, from Lovund, an island off the Helgeland coast.
July 26, 2026
Why the profile of Dønnamannen on the ferry ride past Dønna has been on my hiking list for two years now.
July 19, 2026
A small Python script that scrapes a few sources every morning and emails me only the headlines matching what I actually care about.
July 12, 2026
How CS50's speller problem set, not the lecture, is what actually made pointers and memory click for me in C.
July 5, 2026
Race report from my first-ever half marathon: an honest pacing mistake around the 12km mark and a finish I'm still proud of.
July 3, 2026
What actually broke during the first full walkthrough of the finished blog, the comment 413 mystery that never quite resolved, and what building all of this actually taught me.
July 1, 2026
What a reverse proxy actually is, why every service sits behind one Caddy instance, auto-TLS I haven't tested for real yet, and getting healthchecks to actually mean something.
June 29, 2026
What MinIO and S3-compatible storage actually are, how the blog checks upload types before saving them, and the size-cap bug that took way longer to find than it should have.
June 28, 2026
A Python motion-detection script that watches a webcam feed and emails me a snapshot the moment something moves through frame.
June 26, 2026
Writing posts in a split-pane markdown editor with a live preview, moderating comments, and why the server checks permissions even though the UI already hid the button.
June 25, 2026
Server-side rendering, form actions instead of client fetch calls, the proxy that keeps the access token out of the browser entirely, and sanitized markdown rendering.