This is quickly becoming a hill I'm willing to die on. Just because something is created with AI, it does not make it slop or bad quality or a waste of somebody else's time. AI is a tool and if you use it well, you can create high-quality stuff much faster than without.
Egil Hansen
@egilhansen.com
Independent .NET Developer & Cloud Architect | Microsoft MVP | International Speaker | Open-source developer
Data models evolve, but the old JSON payloads don't just disappear. They sit in databases and queues or keep arriving over the wire from old clients. Wrote a post on how to handle evolving C# types and data at rest without the headache: egilhansen.com/2026/06/11/e... #dotnet
Evolving your C# types without migrating stored JSON | Egil Hansen's .com
Data models evolve, but the JSON payloads serialized from the old shapes do not go away. They sit at rest in databases, document stores, caches, queues, and on disk, and they keep arriving over the wi...
egilhansen.com
A trick for making @simoncropp.bsky.social’s Verify play nice with AI agents: egilhansen.com/2026/05/05/v...
Verify snapshot tests and AI agents: disable the diff tool | Egil Hansen's .com
I use Verify for snapshot testing in .NET projects. It is great, but there is one annoying edge case when an AI agent runs the test suite: a snapshot mismatch can make Verify ask DiffEngine to open my...
egilhansen.com
This video does a great job covering the good and bad sides of open source software. The researcher from Microsoft gets a lot praise for discovering the hack, but the real hero is the sole developer from Finland who has been supporting the XZ library for free for 20 years: youtu.be/aoag03mSuXQ?...
The Internet Was Weeks Away From Disaster and No One Knew
YouTube video by Veritasium
youtu.be
Thanks Stacy.
The last couple of days I've been playing with @egilhansen.com's amazing #bUnit. So eay to work with, and I love that you can test both the markup, *and* the razor components that are present (or not) on your rendered component. Fantastic! bunit.dev
Want more of this? Back in October, I did a presentation on this exact topic at @hellostavanger and it covers a bunch of extra details and examples we didn’t get to in the podcast: youtu.be/yT1ckNTCW60?...
Are you writing valuable tests (2025 edition)? – Egil Hansen – HelloStavanger 2025
YouTube video by HelloStavanger
youtu.be
You write tests. But are they helping you and your team? In this .NET Rocks! episode, @egilhansen.com explores how to make tests more durable, insightful, and future-proof. Plus: should AI be writing your tests? 🤖 #dotnet 🎧 Listen here: msft.it/63323sFo2T
You write tests. But are they helping you and your team? In this .NET Rocks! episode, @egilhansen.com explores how to make tests more durable, insightful, and future-proof. Plus: should AI be writing your tests? 🤖 #dotnet 🎧 Listen here: msft.it/63323sFo2T
@simoncropp.bsky.social do you have a list of does and donts in snapshot testing somewhere? Examples of good patterns and anti patterns with Verify?
If the facts are as the article lays them out, I hope one of my friends from #microsoft will make this right. Adherence to OSS licenses is important! philiplaine.com/posts/gettin...
Getting Forked by Microsoft
Three years ago, I was part of a team responsible for developing and maintaining Kubernetes clusters for end user customers. A main source for downtime in customer environments occurred when image reg...
philiplaine.com
Yep, saw this live. Huge respect for people that dare to be vulnerable; it’s such a powerful thing.
Need a cure for that primitive obsession in #dotnet? Take a look at www.nuget.org/packages/Egi... First real attempt at a source generator library. Happy with the result. A key feature is that it’s very easy to overwrite the default generated code, just as it is with C# record classes and structs.
Egil.StronglyTypedPrimitives 1.9.7
A source generator for creating strongly-typed primitive types that makes it easy to avoid the primitive obsession anti pattern. Add a [StronglyTyped] attribute to a partial record struct ...
nuget.org
Going live with @steven-giesel.com for the first #bUnit dev session of this month. We may even get a visit from @scottsauber.com :) Join at twitch.tv/egilhansen and www.youtube.com/watch?v=jZrZ...
Hey folks, @steven-giesel.com and I just went live with another #bunit dev session. Come hang and lets build v2 together. www.youtube.com/watch?v=fvBn... and twitch.tv/egilhansen
bUnit dev session #28
YouTube video by Egil Hansen
youtube.com
@captainsafia.com does (or will) #dotnet's OpenApi generator have a way to declare a custom schema transformer for type as an attribute, like we can with JsonConverter? E.g.: [OpenApiTransformer<MyIdSchemaTransformer>()] public record MyId(int Value);
I like the way Rob phrases this, software is free, maintainers time is NOT. I’ll consider this for new projects going forward.
Open Source Software is free, but Open Source Project maintenance is expensive. The Open Source Maintenance Fee directly funds your projects' maintainers. Simple. Sensible. Sustainable. opensourcemaintenancefee.org?utm_source=B...
Hey #dotnet, #blazor, and #bunit friends, me and @steven-giesel.com are live with another bUnit dev session. Come join us on www.youtube.com/watch?v=Nw68... and twitch.tv/egilhansen.
bUnit dev session #27
YouTube video by Egil Hansen
youtube.com
A solid analysis by @anderspucknielsen.dk cutting through the media buzz created by Trump and co and providing a reasonable assessment. www.youtube.com/watch?v=TWLq...
Trump's plan for peace negotiations
YouTube video by Anders Puck Nielsen
youtube.com
Another excellent rendition of the #swetugg conference is in the bag. Really great conference; food, venue, organizers, and sessions were all top notch. Big recommendation from me!
Hey @stevejgordon.bsky.social, we chatted about OTel telemetry aggregation at NDC London. You mentioned you have a processor that does this, and that you could share it. Consider yourself nerd sniped :)
Ok I think 1100 tests are enough for now. FusionCache v2 is right around the corner 😬
Going live with @steven-giesel.com in a couple of minutes for another #bUnit dev session. Come hang and help us build v2. Watch at: - www.youtube.com/watch?v=m_GM... - twitch.tv/egilhansen
bUnit dev session #6
YouTube video by Egil Hansen
youtube.com
FluentAssertions have moved dual license (free for open source/paid for corp work) with their v8, and as expected people are blowing a gasket. Please remember, @dennisdoomen.com and co do not owe you their free time in perpetuity. Stay on v7, buy a license, or move on. Be thankful, don't bitch ❤️
#azure #mvpbuzz friends, if I have an ACA environment with dedicated workload profile, minimum capacity > 2, and zone redundanzy turned on, and I have a container app in the environment with minReplicas > 2, am I then guaranteed to have my container replicas placed equally between the ACA instances?
I can't believe @anderspuck.bsky.social got through his Greenland explainer with a straight face. Strange days again. Prolly stranger. youtu.be/GlK3f1cs_l4
Why Trump can't buy Greenland
YouTube video by Anders Puck Nielsen
youtu.be
Starting a new Azure project at work and was reminded how long it takes to develop IaC scripts (bicep). The developer-inner-loop is soooo slow, test running the scripts takes minutes, especially when provisioning resources that involve vnets or other networking resources. Tips are welcome!