Tagged dotnet
-
Markdownia: a Markdown reader with no browser inside
A Markdown editor and viewer in .NET 10 and Avalonia 12 that draws every heading, table, formula and code block with native controls, then ships as a single Native AOT executable.
6 min read
-
webshare: one command to hand a file across the room
A tiny .NET 10 tool that turns any file or folder into a temporary web page on your LAN, then cleans up after itself, firewall rule included.
3 min read
-
Teaching Linux to speak passkey, in C#
Porting a Rust WebAuthn authenticator to .NET 10: a virtual USB security key, a TPM-backed signing key, and a PIN prompt that never trusts anyone.
3 min read
-
LinuxPass: the KeePass window I kept missing
A cross-platform Avalonia password manager that opens my existing .kdbx files and puts the classic KeePass layout back on the Linux desktop.
2 min read
-
SmartCopy: copying files without copying history
Years of backups of backups left me with the same folders copied into five different places. SmartCopy compares by content, skips what's already there, and writes down every decision.
2 min read
-
Transporter Room: giving a backup tool a bridge console
A command-line backup engine deserves a control panel with some personality. Transporter Room is an Avalonia desktop app with an amber-and-cyan status deck, and it has a web sibling for the server closet.
2 min read
-
PatternBuffer.NET: beam up the bytes that matter
I wrote a backup engine from scratch: content-defined chunking, global deduplication, zstd packs, optional AES-256-GCM, and SSH remotes. It's Borg-inspired, not Borg-compatible, and very much Star Trek.
3 min read
-
A Jellyfin-to-AV1 production line
My media server was running out of room, so I built a two-part pipeline: one tool writes a plain-text index of the library, and the other works through it, re-encoding everything to AV1 with Intel Quick Sync.
3 min read
-
From shiny discs to a searchable library
My DVD ripper grew from a HandBrake wrapper into a message-bus pipeline with a server of its own. Then I lost the source and got it back with a decompiler.
3 min read
-
Lawn logic: a sprinkler controller from GPIO pins to my phone
The proprietary sprinkler timer couldn't give each zone its own watering time. A Raspberry Pi, a relay board, a REST API, and an Avalonia app later, my lawn also checks the National Weather Service.
3 min read