Kevin Gosse @kevingosse.net · 01/10/2026In the uninitialized case it prints 0 only if you don't declare a constructor. If you declare a constructor then you are expected to assign a value, otherwise you get whatever garbage is on the stack. 000
Kevin Gosse @kevingosse.net · 29/09/2026@jaredpar.bsky.social if you have any idea why this rule exists in the C# specifications, I'd love to hear it 010
Kevin Gosse @kevingosse.net · 29/09/2026I 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...minidump.netThe hidden trap of fixed buffers in C#After all, if they’re marked as unsafe, there’s gotta be a reason, right? 295
Kevin Gosse @kevingosse.net · 27/09/2026I recorded a screen capture and wanted to speed up the parts where I type. Rather than editing it myself, I asked Opus 5.5. I fully expected that I would have to give the timestamps but nope, it figured it out on its own. I'm not even sure how. 030
Reposted by Kevin GosseChristophe Nasarre @chrisnas.bsky.social · 21/09/2026Let's turn to Claude this week in the third episode of my long series about AI harnesses internals - chrisnas.github.io/posts/2026-0...chrisnas.github.ioSpying on Claude Code: more lifecycle events, different blind spotsHow 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. 022
Reposted by Kevin GosseAndrew Lock "Sock" @andrewlock.bsky.social · 15/09/2026Understanding 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 #dotnetandrewlock.netUnderstanding 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 085
Kevin Gosse @kevingosse.net · 14/09/2026My input was only needed to point out some trimming issues in the initial generation. Now I can give my son a French localized version of the game, and all it took was one prompt. 020
Kevin Gosse @kevingosse.net · 14/09/2026Then I had an idea. I gave Fable 5.1 the following task: extract the voices from the game, translate them, then re-generate them using voice synthesis. It did so completely autonomously, and used local models (I initially thought I'd have to buy credits for ElevenLabs or something similar). 100
Kevin Gosse @kevingosse.net · 14/09/2026If 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. 131
Kevin Gosse @kevingosse.net · 04/09/2026If you have any feedback about the friction you might have with today's integration, or any thought on what future IDEs should look like, I'll be happy to listen and integrate your ideas into our new products. 000
Kevin Gosse @kevingosse.net · 04/09/2026Starting this week, my job at JetBrains changes. I'll be focusing less on ReSharper, and more on agents integration inside our IDEs (Rider, IntelliJ, ...). 152
Kevin Gosse @kevingosse.net · 31/08/2026It's possible you ran into a caching bug. You can use Claude Code History Viewer to view the breakdown of your session and see where the quota was spent: github.com/jhlee0409/cl...github.comGitHub - jhlee0409/claude-code-history-viewer: desktop app to browse and analyze your Claude Code conversation historydesktop app to browse and analyze your Claude Code conversation history - jhlee0409/claude-code-history-viewer 040
Kevin Gosse @kevingosse.net · 31/08/2026Pretty sure he has a twin brother and lied about it all this time. Maybe two actually. 110
Kevin Gosse @kevingosse.net · 31/08/2026I admit I've dropped the ball a bit on bluesky 😅 I crosspost my articles, but for everything else (which is, arguably, not a lot) I get so much more engagement on Twitter than it's not really motivating. 220
Reposted by Kevin Gosseolegkarasik.bsky.social @olegkarasik.bsky.social · 04/08/2026Just 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... #dotnetolegkarasik.wordpress.com.NET R&D Digest (July, 2026)This issue includes bits of AI, Security, MS SQL, Performance, C#, HTTP and of course .NET and .NET Internals. 023
Kevin Gosse @kevingosse.net · 01/07/2026I 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.minidump.netWriting a .NET Garbage Collector in C# - Part 10: FinalizersUsing NativeAOT to write a .NET GC in C#. In this part, we add support for finalization. 076
Reposted by Kevin Gosseolegkarasik.bsky.social @olegkarasik.bsky.social · 05/06/2026One 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... #dotnetolegkarasik.wordpress.com.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. 193
Kevin Gosse @kevingosse.net · 04/06/2026Does 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. 020
Reposted by Kevin GosseUpdate Conference @updateconference.bsky.social · 14/05/2026#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 #krakowyoutube.comKevin Gosse | What’s really going on under the hood? The hidden life of method calls.YouTube video by Update Conference 033
Kevin Gosse @kevingosse.net · 07/05/2026And don't give up. It sucks, but credentials are more important than the actual talk. Unlocking the first major conference is extremely challenging, then it gets much easier. Took me years to get my first talk accepted, and now it's routine. Not because my talks are better, but because they know me. 110
Kevin Gosse @kevingosse.net · 07/05/2026If that helps, there are important cultural differences to take into account. Conferences in western Europe tend to like high level or introductory stuff: architecture, clean code, "How to use xxx". In eastern Europe they generally prefer in-depth content. 110
Kevin Gosse @kevingosse.net · 30/04/2026The tool is available on github: github.com/ulex/windows...github.comGitHub - ulex/windows_defender_performance_tool: Real-time Windows Defender scan performance monitorReal-time Windows Defender scan performance monitor - ulex/windows_defender_performance_tool 130
Kevin Gosse @kevingosse.net · 30/04/2026A 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. 252
Kevin Gosse @kevingosse.net · 28/04/2026I really wish they had an animation timeline inspired from Adobe products. Scroll to any point in time, add a keyframe, set interpolation/easing between the keyframes, done. The current PowerPoint timeline is completely useless. 010
Kevin Gosse @kevingosse.net · 28/04/2026The breakthrough came when I installed the Claude Chrome extension. At my next design session, Claude started using it to check the result and iterate on its own to fix all the alignment issues. Now we finish a slide in just a couple prompts, where it easily took 3 or 4 times more before. 110
Kevin Gosse @kevingosse.net · 28/04/2026At 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. 130
Kevin Gosse @kevingosse.net · 28/04/2026For 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. 100
Kevin Gosse @kevingosse.net · 28/04/2026Up 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. 311
Kevin Gosse @kevingosse.net · 10/04/2026I'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. 070
Reposted by Kevin Gosseolegkarasik.bsky.social @olegkarasik.bsky.social · 03/04/2026New 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...olegkarasik.wordpress.com.NET R&D Digest (March, 2026)This issue includes bits (or I would rather say bytes) of AI, bits of software development, operating systems, web, diagnostics, performance, C++, C#, and of course .NET and .NET Internals. 093
Kevin Gosse @kevingosse.net · 25/03/2026I'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. 140
Kevin Gosse @kevingosse.net · 17/03/2026Where 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. 260
Kevin Gosse @kevingosse.net · 17/03/2026Oh I see my wording was ambiguous. It doesn't "use" 2 TB, it just reserves it. 010
Kevin Gosse @kevingosse.net · 17/03/2026I'm confused about what in this article would cause this reaction. If it's because of the 2 TB, you might want to re-read the explanation about reserved memory. 000
Kevin Gosse @kevingosse.net · 17/03/2026Have 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...minidump.netWriting a .NET Garbage Collector in C# - Part 9: Frozen segments and new allocation strategyUsing 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. 3635
Kevin Gosse @kevingosse.net · 12/03/2026It's exactly for that, yes 🙂 "58.8% left for the month" doesn't speak to me. "51/74 requests used for today" does. 000
Kevin Gosse @kevingosse.net · 12/03/2026I wish it would run automatically from Copilot, but Copilot-CLI doesn't support global hooks yet. Maybe in the future. 000
Kevin Gosse @kevingosse.net · 12/03/2026It'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...github.comGitHub - kevingosse/copilot-usage: Command-line tool showing current usage and remaining quota for Copilot planCommand-line tool showing current usage and remaining quota for Copilot plan - kevingosse/copilot-usage 151
Kevin Gosse @kevingosse.net · 12/03/2026I 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. 241
Kevin Gosse @kevingosse.net · 08/03/2026I'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. 410
Kevin Gosse @kevingosse.net · 04/03/2026The 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. 020
Kevin Gosse @kevingosse.net · 04/03/2026ClipPing 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). 132
Kevin Gosse @kevingosse.net · 03/03/2026It'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. 181
Kevin Gosse @kevingosse.net · 03/03/2026I 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...minidump.netWriting a .NET Garbage Collector in C# - Part 8: Interior pointersUsing 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. 094
Kevin Gosse @kevingosse.net · 23/02/2026Opened an issue: github.com/dotnet/sdk/i...github.comdotnet tool install shouldn't use local config for global tools · Issue #53126 · dotnet/sdkI ran into this unexpected situation where I tried to install a global tool (dotnet tool install -g xxx) but it failed because I was in a project directory which had a nuget.config pointing to an i... 010
Kevin Gosse @kevingosse.net · 23/02/2026I'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. 220
Kevin Gosse @kevingosse.net · 21/02/2026Pro-tip: even if it's tempting, resist the urge to argue with copilot 130
Kevin Gosse @kevingosse.net · 20/02/2026I 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.minidump.netToo good to be true: an unexpected profiler trapSometimes the most convincing performance gains deserve a second look. A reminder that profiling data can be more subtle than it first appears. 185
Kevin Gosse @kevingosse.net · 10/02/2026I 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...minidump.netWriting a .NET Garbage Collector in C# - Part 7: Marking handlesUsing 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. 041