I published a new article: the hidden trap of fixed buffers in C#. It explains a quirk of fixed buffers that could easily bite you, if you're one of the few people who still have to use that feature. minidump.net/the-hidden-t...
Kevin Gosse
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)
1.1K followers648 following1.3K posts
@jaredpar.bsky.social if you have any idea why this rule exists in the C# specifications, I'd love to hear it
Kevin Gosse reposted
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...
Kevin Gosse reposted
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
Kevin Gosse reposted
Just published a new issue of .NET R&D Digest! Thx to @rasbt.bsky.social, @maartenballiauw.be, @andrewlock.bsky.social, @kevingosse.net, @meziantou.net, @simonwillison.net & other authors for their g8 content! olegkarasik.wordpress.com/2026/08/04/n... #dotnet
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.
Kevin Gosse reposted
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
Kevin Gosse reposted
#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
For the preparation of my next talk, I wanted to be able to use AI to brainstorm ideas, and stop wasting so much time fighting with PowerPoint. But editing pptx files is challenging, so I decided to give @sli.dev a try, and switch to an agent-first workflow: I describe what I want, the AI does it.
At first I had mixed results. It was great to tell the AI my ideas, have it build a mockup, and then use it as inspiration for the final slide. But the AI always got A LOT of details wrong, especially on alignment and sizing, and iterating on those details wasted all the time that I initially saved.
Kevin Gosse reposted
New issue of .NET R&D Digest is here! Thx to @simonwillison.net, @birgitta410.bsky.social, @kief.com, @lemire.bsky.social, @kevingosse.net, @andrewlock.bsky.social, @meziantou.net, @stevesanderson.bsky.social & other authors for their g8 content! #dotnet olegkarasik.wordpress.com/2026/04/03/n...
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.
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...
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...
It's a simple CLI tool that tells me how many more requests I can use for the day without worrying, along with a few additional stats. You can install it with cargo: cargo install copilot-usage Source code is available on github: github.com/kevingosse/c...
The tool can be installed from Winget: winget install KevinGosse.ClipPing Or directly from github: github.com/kevingosse/C... I rewrote it entirely in C++ because RAM isn't cheap anymore.
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...
Opened an issue: github.com/dotnet/sdk/i...
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.
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...
After a long wait, I've finally published the sixth part in my "Writing a .NET Garbage Collector in C#" series. Today, we start implementing mark and sweep. minidump.net/writing-a-ne...
Today I ran into a deadlock in VS2026. I debugged it, and it turned out to be a common issue you may run into when writing a profiler. I wrote a short article about it: minidump.net/investigatin...
Kevin Gosse reposted
Blogged: Creating a .NET CLR profiler using C# and NativeAOT with Silhouette andrewlock.net/creating-a-d... In this post I look at how to create a simple .NET profiler. But instead of using C++, the profiler uses C# and NativeAOT with @kevingosse.net's Silhouette library #dotnet
I like the peace of mind that @backblaze.bsky.social is offering, especially after my recent SSD crash. But god, their support is beyond bad. I've contacted them twice, and both times I had to solve the issue myself after a completely unhelpful exchange.
Anyway, if you're using their backup client, you'll probably want to know that they have hidden exclusion rules, and they exclude .git folders by default: www.reddit.com/r/backblaze/...