Wilhelm Maritz
  • Home
  • About
  • Skills
  • Projects
  • Posts
  • Dark Theme
    Light Theme Dark Theme System Theme
  • Tags
  • Algorithms
  • Architecture
  • Automation
  • Backups
  • Batch
  • Btrfs
  • Case-Study
  • Cloudflare
  • Code-Review
  • Cryptography
  • Debugging
  • Deployment
  • Documentation
  • Expressions
  • Firebase
  • Flask
  • Game-Design
  • Git
  • Graphics
  • Hardware
  • Homelab
  • Hugo
  • Hyprland
  • Incidents
  • Johnny-Decimal
  • Knowledge-Management
  • Linux
  • Low-Code
  • Markdown
  • Mentoring
  • Obsidian
  • Omarchy
  • Onedrive
  • Opinion
  • Organisation
  • Parsing
  • Physics
  • Power-Automate
  • Process
  • Pygame
  • Python
  • Raid
  • Railway
  • Security
  • Self-Hosting
  • Sqlite
  • Static-Sites
  • Tooling
  • Windows
  • Wsl
  • Zettelkasten
  • Zimaos
Hero Image
I wrote the lesson down. I broke it two days later.

My competition platform keeps a lessons-learned file. On 31 July I wrote a new entry into it: fix the shape, not the instance - when a bug is a pattern, hunt down every copy instead of patching the one that got reported. On 2 August the profile page went down for every athlete with an approved entry - a handful of people at that point, which is the only reason it wasn’t worse. Same bug class I’d fixed a week earlier on the leaderboard: a margin > 0 comparison with no guard, sitting in a second hand-written copy of the same formatting logic that nobody remembered existed.

Wednesday, August 5, 2026 | 5 minutes Read
Hero Image
OneDrive and git fought over my vault. Both lost.

Over two days my Obsidian vault appeared to delete itself, git recorded 146 file deletions that never happened, and OneDrive spawned 120 conflict copies of notes I had just restored. Not one byte of a note was lost. Every failure traces back to a single sentence: two sync systems each believed they owned the same tree, and each interpreted the other’s behaviour as changes to sync. I have written this shape of post before. RAID1 saved my data but not the state around it, and a trap I had published a warning about caught my own app the same day. This one belongs to both families: the data was never in danger, the state lied about it, and the limit that made it all worse was documented in a workbook I had read and dismissed as something that happens to other people.

Friday, July 31, 2026 | 7 minutes Read
Hero Image
The SQLite trap caught me the same day I wrote about it

I recently published a post about running SQLite in production, and the heart of it was a warning: on a platform with an ephemeral filesystem, a mis-pointed SQLite file means your database quietly ceases to exist on every redeploy. I even described my defence with some pride. The app refuses to accept a raw connection string and builds its own from a SQLITE_DIR environment variable, so nobody can get the path wrong.

Thursday, July 23, 2026 | 4 minutes Read
Navigation
  • About
  • Skills
  • Projects
Contact me:
  • [email protected]
  • B3ardBr0
  • Wilhelm Maritz

Toha Theme Logo Toha
© 2026 Wilhelm Maritz
Powered by Hugo Logo