Blouppy
Articles on software engineering. Architecture, security, testing, back end and front end.

Latest article
The Strategy pattern in C#: pick an implementation by key with dependency injection
The usual shape of the Strategy pattern in .NET: one class per variant, a discriminant, IEnumerable injection, what to do when no strategy matches, and keyed services.
3 min read
Recent articles
All articlesThe Strategy pattern in C#: every strategy runs, one per field of an issue
A less usual shape of the Strategy pattern in C#: an issue activity log where one strategy per field runs on every change, selected by generic type rather than by key.
3 min read
Replacing Disqus with Giscus
Move a blog's comments from Disqus to Giscus and GitHub Discussions: why, the setup, a React component that loads on demand and follows the site's theme, the Content Security Policy and a test.
4 min read
Cookie consent on a static blog
Measure the cookies a static site really sets, see what the rules ask of a blog, and load Google Analytics only after consent, with a small store, a fair banner and tests that check it.
7 min read
A Content Security Policy for an Astro site
Add a Content Security Policy to a static Astro site with security.csp: hashed inline scripts, third parties, why strict-dynamic broke the islands, and tests that fail on any violation.
5 min read
Tailwind CSS 3 to 4: what the upgrade tool does not catch
Twelve differences found by comparing a site pixel by pixel before and after moving to Tailwind CSS 4: borders, line heights, cascade layers, table cells, stacking, colours.
6 min read
Moving a blog from Gatsby to Astro without a regression
How this blog moved from Gatsby to Astro with the same URLs, HTML and behaviour, and how we proved it: an HTML oracle, pixel diffs and interaction tests on both builds.
6 min read
Browse by topic
- ArchitectureHow a code base is shaped, and how it stays that way.11 articles
- SecurityAuthentication, tokens, privacy and the attacks to keep out.13 articles
- MessagingEvents, queues, webhooks and real time.5 articles
- DataEF Core, PostgreSQL, caching and migrations.6 articles
- TestingTests that catch what matters, and benchmarks.8 articles
- Front endAngular, components, theming and accessibility.13 articles
- C# & .NETThe language and the platform, feature by feature.12 articles
- ToolingLinters, formatters, hooks and the tools around the code.8 articles