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
My GitHub recovery codes lived on GitHub

Found github-recovery-codes.txt in my vault this weekend, in a folder called Important Docs. The vault is an Obsidian setup that auto-commits every ten minutes and pushes to a private GitHub repo. So the codes for getting back into GitHub were sitting behind the GitHub login. Think about the day I actually need them - phone gone, authenticator gone, sessions expired. Can’t clone the repo. Can’t open the site. The codes might as well not exist.

Sunday, August 2, 2026 | 3 minutes Read
Hero Image
My folder locker never locked anything

In February 2025 I wrote a folder locker: a Windows batch script with a password prompt, a folder that vanishes from Explorer, and a README describing it as secure. The password was sitting in the script in plain text. The files were never encrypted. What the script actually did was rename a directory, and it took me three versions across seventeen months before the documentation said so plainly. The entire lock Here is the mechanism, in full:

Wednesday, July 22, 2026 | 6 minutes Read
Hero Image
Use secrets, not random, and remember the shuffle

Python gives you two ways to pick something at random, and only one of them belongs anywhere near a password. random is a Mersenne Twister. It is fast, it is reproducible, and that second property is exactly the problem: it is a deterministic algorithm driven by internal state. Observe enough of its output and you can recover that state and predict everything it will produce next. For a dice roll or a shuffled playlist, wonderful. For anything that guards access, disqualifying.

Sunday, August 24, 2025 | 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