Kevin Gosse
banner
kevingosse.net
Kevin Gosse
@kevingosse.net
Principal engineer at JetBrains, passionate about .NET, performance, and debugging. Microsoft MVP. Co-author of Pro .NET Memory Management (2nd edition)
Reposted by Kevin Gosse
Let's turn to Claude this week in the third episode of my long series about AI harnesses internals - chrisnas.github.io/posts/2026-0...
Spying on Claude Code: more lifecycle events, different blind spots
How Claude Code hooks differ from Cursor: broader lifecycle and permission telemetry, strong native IDs, batch and compaction events, but no thought or specialized execution hooks.
chrisnas.github.io
September 21, 2026 at 6:58 AM
Reposted by Kevin Gosse
Understanding Device Bound Session Credentials (DBSC)

andrewlock.net/understandin...

In this post I provide an introduction to Device Bound Session Credentials, I look at how DBSC protects against session hijacking, and how the protocol works.

#security #dotnet
Understanding Device Bound Session Credentials (DBSC)
In this post I provide an introduction to Device Bound Session Credentials, I look at how DBSC protects against session hijacking, and how the protocol works
andrewlock.net
September 15, 2026 at 4:37 PM
If you're still not convinced that we live in the future. I had my 4yo old son try "Putt-Putt", an old point&click game for children. He loves it, so I bought the whole series on Steam. However, it turns out half of them aren't localized in French, so he can't play them.
September 14, 2026 at 8:24 AM
Starting this week, my job at JetBrains changes. I'll be focusing less on ReSharper, and more on agents integration inside our IDEs (Rider, IntelliJ, ...).
September 4, 2026 at 8:33 AM
I published part 10 of my "Writing a .NET Garbage Collector in C#" series: minidump.net/writing-a-ne...

This time, I implemented support for finalization, which reveals some intricacies of the .NET runtime.
Writing a .NET Garbage Collector in C#  - Part 10: Finalizers
Using NativeAOT to write a .NET GC in C#. In this part, we add support for finalization.
minidump.net
July 1, 2026 at 11:53 AM
Reposted by Kevin Gosse
One more issue of .NET R&D Digest is here! Thanks to
@martinfowler.com, @kentbeck.com, @andrewlock.bsky.social, @b0rk.jvns.ca, and other great authors for the amazing content!

olegkarasik.wordpress.com/2026/06/05/n...

#dotnet
.NET R&D Digest (May, 2026)
This issue includes bits of AI (too much AI), C#, software development, architecture, Windows, security, NTFS and of course .NET and .NET Internals.
olegkarasik.wordpress.com
June 5, 2026 at 4:55 PM
Does anybody know a way to monitor token usage in Copilot in Visual Studio? The github dashboard only shows the total, I would need the count per session.
June 4, 2026 at 4:27 PM
Reposted by Kevin Gosse
#UCK26 | Before @kevingosse.net returns to Krakow with another deep technical session this year, take a moment to watch his #UCK25 talk on our YouTube channel www.youtube.com/watch?v=RDaq...

krakow.updateconf.net

Use special code to get a discount: KEVINGOSSE10

#dotnet #updateconference #krakow
Kevin Gosse | What’s really going on under the hood? The hidden life of method calls.
YouTube video by Update Conference
www.youtube.com
May 14, 2026 at 12:27 PM
A coworker wrote a small tool to monitor the activity of Windows Defender. I recommend giving it a try.
For instance I discovered that Defender was continuously scanning the activity of the Backblaze backup agent on my machine, wasting a lot of CPU time. I fixed it by adding a process exclusion.
April 30, 2026 at 12:29 PM
Up until now, I've always used PowerPoint for my talks: WYSIWYG, can get something decent just by dragging a few elements around. However it quickly becomes a nightmare when dealing with animations or complex layouts.
April 28, 2026 at 2:16 PM
I'm developing a bridge to allow agents to interact with my Windbg session. I tested it with an old dump, the agent ran a bunch of commands and immediately crashed Windbg. So now we're debugging Windbg.
April 10, 2026 at 8:49 AM
I'm still experimenting with exactly how to include it in my workflow, but Claude is so good at reverse engineering that it's really a game changer for advanced debugging.

Everything is open-source if you're fluent in assembly code.
March 25, 2026 at 5:26 PM
Where does the .NET community live nowadays? Because apparently posting a technical article on reddit is considered self-promotion and forbidden except on Saturday.

Honestly I'm speechless.
March 17, 2026 at 8:36 PM
Have you ever noticed that a simple .NET Core applications on 64-bit uses more than 2TB of virtual memory?

In a new episode of the series "writing a .NET garbage collector in C#", we discover the kind of problem that it intends to solve: minidump.net/writing-a-ne...
Writing a .NET Garbage Collector in C#  - Part 9: Frozen segments and new allocation strategy
Using NativeAOT to write a .NET GC in C#. In this part, we look at what the GC must do to properly handle frozen segments, and we change the allocation strategy to make it more efficient.
minidump.net
March 17, 2026 at 10:45 AM
I like Copilot CLI but the billing model stresses me out a little. Because there's no hourly or daily limit, I worry that I might run out of requests before the end of the month, and use them very conservatively. Then I end the month with a lot of unused quota.

So I built a tool.
March 12, 2026 at 9:36 AM
I'm trying GPT-5.4 and scratching my head when seeing the generated code.

What reasoning process could lead to explicitly initializing to null a property, _and_ using the null-forgiving operator.
March 8, 2026 at 4:04 PM
ClipPing got a major update!

The tool displays a visual notification whenever the content of the clipboard changes, for all of you who are tired of ctrl+c not working.

I added configurable overlays, and some QoL improvements (like automatically starting the tool with Windows).
March 4, 2026 at 2:07 PM
It's crazy that Windows will post notifications for the most unsignificant stuff (like the unfamous "Windows Defender Antivirus did not find any threats"), but I had to check my event viewer for completely unrelated reasons to randomly discover that one of my HDDs is dying.
March 3, 2026 at 3:01 PM
I published part 8 of my "Writing a .NET Garbage Collector in C#" series. The subject this time is interior pointers: what are they, and why are they so challenging for the GC.

minidump.net/writing-a-ne...
Writing a .NET Garbage Collector in C#  - Part 8: Interior pointers
Using NativeAOT to write a .NET GC in C#. This time, we look at what interior pointers are and why they’re so difficult for the GC.
minidump.net
March 3, 2026 at 12:53 PM
I'm surprised that "dotnet tool install -g" uses the local nuget config, if any.
For local tools, I get it. For global tools, I would expect it to always use the userprofile config. Sounds a bit dangerous? Like, if you run the command from your Downloads or temp folder and you have a leftover file.
February 23, 2026 at 4:04 PM
Pro-tip: even if it's tempting, resist the urge to argue with copilot
February 21, 2026 at 4:59 PM
I got "tricked" by PerfView when using it to measure the effectiveness of my optimizations, so I decided to write about it: minidump.net/an-unexpecte...
It's not specific to PerfView though, in theory this could happen with any profiler.
Too good to be true: an unexpected profiler trap
Sometimes the most convincing performance gains deserve a second look. A reminder that profiling data can be more subtle than it first appears.
minidump.net
February 20, 2026 at 12:47 PM
I published a new article in my "Writing a .NET GC in C#" series. This time, we implement a better storage for the handles, and we properly mark them during garbage collection. We also see why DependentHandles are annoying to deal with.

minidump.net/writing-a-ne...
Writing a .NET Garbage Collector in C#  - Part 7: Marking handles
Using NativeAOT to write a .NET GC in C#. In the seventh part, we scan and update the handles during the mark phase of the garbage collection.
minidump.net
February 10, 2026 at 10:53 AM