Egil Hansen's Avatar

Egil Hansen

@egilhansen.com.bsky.social

Distinguished Developer at Delegate, Microsoft #MVP and creator of #bUnit. ๐Ÿ‡ฉ๐Ÿ‡ฐ living in ๐Ÿ‡ฎ๐Ÿ‡ธ. Creator of bunit.dev. #dotnet #blazor #bUnit #oss.

884 Followers  |  535 Following  |  222 Posts  |  Joined: 19.11.2023  |  1.7803

Latest posts by egilhansen.com on Bluesky

It would ๐Ÿ™‚

07.06.2025 09:42 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Try LinkedIn, itโ€™s all self-congratulatory posts ๐Ÿ™‚

02.06.2025 05:50 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™ve also had good success using this package: www.nuget.org/packages/Mez...

14.05.2025 19:45 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I am more thinking about what to snapshot test and what not to snapshot test.

E.g., a rule I try to follow is to not include irrelevant (to the test) data in the snapshot, as it makes it harder to validate the snapshot when it changes.

02.05.2025 10:11 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@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?

02.05.2025 07:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
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...

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...

21.04.2025 13:42 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

Yep, saw this live. Huge respect for people that dare to be vulnerable; itโ€™s such a powerful thing.

06.04.2025 09:05 โ€” ๐Ÿ‘ 5    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
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 ...

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.

04.04.2025 23:48 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

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...

04.04.2025 13:32 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

Congrats Scott. You are living the dream!

28.03.2025 07:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

This could be said about the internet in general.

10.03.2025 12:31 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
bUnit dev session #28
YouTube video by Egil Hansen bUnit dev session #28

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

07.03.2025 13:42 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Actually, I think I usually do a `git clean -fdx` for a "reset the world" operation.

06.03.2025 22:15 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There is a git command that does it, just canโ€™t remember it when I need it, so have to search the web. If your tool had a -all option that would be great ๐Ÿ˜Š

06.03.2025 19:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Could it also have an option that does the same a clean git clone?

Sometimes deleting e.g., the .vs folder helps with weirdness in vs.

06.03.2025 18:49 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

By using Aspire and related client libraries you get basic telemetry out of the box (without solution specific context), so Iโ€™ll do that and then add some/few end-2-end tests for basic protection against regressions.

03.03.2025 07:40 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Solve different problems, so itโ€™s like comparing apples and oranges.

02.03.2025 20:34 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@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);

01.03.2025 11:23 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Creating an incremental generator: Creating a source generator - Part 1 In this post I walk through how to create a practical .NET 6 incremental source generator: an enum extensions class with a fast ToString() implementation

Itโ€™s not trivial for sure.

@andrewlock.bsky.social has all the details here: andrewlock.net/creating-a-s...

28.02.2025 17:33 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

They do, but we have something called incremental generator, that ensures a generator only runs when the code itโ€™s targeting has changed, so that helps quite a bit. @captainsafia.com can speak to this quite a bit better than I can.

28.02.2025 13:00 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thanks, appreciate your efforts here.

28.02.2025 08:11 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™ve been working on a source generator last weekend and borrowed some of your snapshot test helper code from your open API generator. It would be awesome if you would post the newest version of that in a gist/blog with a bit of code comments for us source gen newbies to understand it better ๐Ÿ˜Š

28.02.2025 07:43 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Ugh those build times thought. Lots of coffee breaks for you I see :)

27.02.2025 16:20 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

in my case if I were to scale down my job to part time (canโ€™t scale family time down) to spent more time maintaining and extending my OSS projects, if I want to keep the same income level. 2/2

27.02.2025 12:29 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Correct, at least for bUnit Iโ€™ve been lucky to get co maintainers on board and the amount of work we have to do is manageable.

The problem is at the end of the day a lack of time. Full time job + full time family doesnโ€™t leave a lot of spare time to OSS. Founding would need to be significant 1/2

27.02.2025 12:29 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I big one is also the feeling of responsibility, implicit promises made (in my mind at least), not wanting to change things on existing users, and potential loss of reputation, all of that weighted against expected โ€œincomeโ€.

27.02.2025 08:07 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Why not add to existing projects?

Not sure I have a good answer, yet at least. Have to give the site a proper read through, make sure all implications are understood, cost/benefit analysis, etc.,

27.02.2025 00:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

For all the Open Source Maintainers, a message to the world.

26.02.2025 15:05 โ€” ๐Ÿ‘ 7    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I like the way Rob phrases this, software is free, maintainers time is NOT.

Iโ€™ll consider this for new projects going forward.

26.02.2025 19:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
bUnit dev session #27
YouTube video by Egil Hansen bUnit dev session #27

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.

21.02.2025 13:49 โ€” ๐Ÿ‘ 8    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@egilhansen.com is following 20 prominent accounts