Blog Posts
RSSOpt out now: Messages you send in Discord servers may soon appear on Google
2026-10-27
Vegetarianism: A Memoir
2026-10-25
'Kiran's Lullaby' (from Avatar: Seven Havens) by Jeremy Zuckerman - Arrangement for Kalimba
2026-10-20
DoubleCounter (not Discord!) has had a major data breach
2026-10-08
How do computers round numbers?
2026-10-05
Thoughts on age assurance
2026-10-02
How to fix: "Could not find an available signal" / "Cannot open assembly "...": File does not contain a vlaid CIL image"
2026-09-30
A perspective on AI "art"
2026-09-27
You should buy your memory cards direct from the brand.
2026-09-03
What does try/finally lower to in x64 assembly?
2026-07-22
Cross-stitch prep for math nerds
2026-07-20
You've got options! (Managing app config in .NET)
2026-07-04
Using "using" - Don't get stuck loading!
2026-06-28
Thoughts on role-play
2026-06-14
Creating RenderFragments from code in Razor/Blazor
2026-06-11
Why am I called "Posh"?
2026-06-09
I drop onto the kitchen floor dressed as Edward Watermelonhands.
2026-06-01
What is the CLR type of a dynamic variable?
2026-05-15
Fixing GUID byte order in EF to reduce database fragmentation
2026-05-07
I automated by TBR list
2026-05-06
"Kitsune" doesn't imply something supernatural.
2026-05-04
Reflections on 3 years in software
2026-05-02
Beginning kung fu
2026-04-27
A scaleable architecture for System.CommandLine apps
2026-04-25
Amazon to brick Kindles older than 2013 on May 20th, 2026
2026-04-22
Navigating the Dewey Decimal system
2026-04-19
Primary constructors are kinda... meh?
2026-04-17
Which archiving/compression algorithm should you use?
2026-04-16
Any last words? Make sure they're logged!
2026-04-15
Implicit file extensions while invoking Windows executables via WSL
2026-04-14
Me == Posh, no need to disambiguate
2026-04-11
Hacking the .NET SDK for a fully configured environment in 0 commands
2026-04-10
The .gitattributes deep dive
2026-04-06
The intro to video transcoding I wish I had
2026-04-04
What is a SecureString, anyway?
2026-03-27
Never let a logging method fail silently again
2026-03-26
What actually is boxing, anyway?
2026-03-25
4096x more precision in GUID v7
2026-03-24
Indie web manifesto, and how this site is made
2026-03-23
Using CA2254 to prevent logging from failing silently
2026-03-22
Framework-agnostic internationalization in .NET
2026-03-21
Extracting timestamp info from GUID v7 in C#/.NET
2026-03-20
Comparing colours mathematically is harder than I thought.
2026-03-19
Variance in C# generic type parameters
2026-03-18
How to authenticate with custom NuGet sources without a GUI
2026-03-17
Double, Float, or Decimal?
2026-03-15
Kicking the MVVM boilerplate with C# 14, without sacrificing compiler safety
2026-03-14
You should leave Discord, because they're now selling your sensitive data to ICE-complicit paedophile-backed companies.
2025-02-14
Bookshelf - 2025 Year In Review and 2026 Resolution
2025-12-25
The Modern Programmer's Guide To ANSI Color Codes
2025-12-11
The complete guide to hosting Blazor WebAssembly apps on GitHub Pages
2025-12-01
Cleanly de-coupling classes in client-side .NET applications using weak reference messengers
2025-08-31
Which VPN Should You Choose? (It Depends!)
2025-08-19
Useful Files For Your Repository: .NET Edition
2025-07-13
Useful Metadata Files For Your Repository
2025-07-13
Discord X DomoAI: The Full Story (+ Advice)
2025-05-22
Microsoft removed oobe\bypassnro, but you can still install Windows without a Microsoft account
2025-04-01
Time to switch browsers... again
2025-03-01
Amazon is removing your ability to download ebooks - here's what you can do about it
2025-02-18
Keeping Microsoft Teams Alive
2025-01-22
Ditching Opera Browser
2025-01-04