Sign in

Christophe Nasarre

@chrisnas.bsky.social
252 followers 138 following 87 posts

I like to understand how things work

PostsRepliesMedia
Christophe Nasarre @chrisnas.bsky.social · 28/09/2026
Time to look at Github Copilot in the fourth episode of my long series about AI harnesses internals chrisnas.github.io/posts/2026-0...
chrisnas.github.io
Spying on GitHub Copilot twice: CLI hooks versus VS Code
GitHub Copilot exposes two very different hook surfaces: a rich Copilot CLI stream with weak identity and derived turns, and a thin VS Code agent-hooks Preview with exact tool and agent IDs.
031
Christophe Nasarre @chrisnas.bsky.social · 21/09/2026
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...
chrisnas.github.io
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.
022
Christophe Nasarre @chrisnas.bsky.social · 17/09/2026
I'm really starting to get scared...
000
Christophe Nasarre @chrisnas.bsky.social · 14/09/2026
It is time to look at how to rebuild a conversation based on Cursor's hooks with the second episode of my long series about AI harnesses internals - chrisnas.github.io/posts/2026-0...
chrisnas.github.io
Rebuilding the Agent conversation: sessions, turns, thoughts, tools, MCP, skills and summaries
How to correlate Cursor hook events into sessions, turns, concurrent tool and MCP calls, detect skill usage, and build useful summaries without pretending the reconstruction is perfect.
010
Christophe Nasarre @chrisnas.bsky.social · 05/09/2026
I'm starting a new series about internals of AI harnesses such as Cursor, Claude or Copilot. Let's start with Cursor that I use everyday chrisnas.github.io/posts/2026-0...
chrisnas.github.io
Spying on Cursor: agent hooks, payloads and a simple observer
How I used Cursor agent hooks to observe prompts, thoughts, tool calls, MCP executions, file edits and subagents without changing the agent's behavior.
091
Christophe Nasarre @chrisnas.bsky.social · 05/09/2026
Let's meet in Prague to talk about .NET CLI tools and AI-driven production investigations!
010
Christophe Nasarre @chrisnas.bsky.social · 29/08/2026
This looks like a very bad reason to close an issue...
330
Christophe Nasarre @chrisnas.bsky.social · 17/08/2026
I did not know I was doing anything related to cyber security!
001
Christophe Nasarre @chrisnas.bsky.social · 27/07/2026
Summer is a good time to revisit the old VMMap 2007 sample from Windows via C/C++ book. I've explained the Windows implementation improvements and the Linux port to this new blog post and the source code is available in github.com/chrisnas/ASMap. chrisnas.github.io/posts/2026-0... Happy reading!
chrisnas.github.io
How to map the address space of a process on Windows and Linux
From a 2007 Windows via C/C++ VMMap demo to a modern Windows 11 analyzer and its Linux /proc/smaps counterpart - and why Working Set, RSS/PSS and 'committed' memory do not mean the same thing on the t...
001
Reposted by Christophe Nasarre
olegkarasik.bsky.social @olegkarasik.bsky.social · 02/07/2026
New issue of .NET R&D Digest is here! Thx to @lemire.bsky.social, @maartenballiauw.be, @chrisnas.bsky.social, @meziantou.net, @andrewlock.bsky.social & other authors for their g8 content! olegkarasik.wordpress.com/2026/07/02/n... #dotnet
olegkarasik.wordpress.com
.NET R&D Digest (June, 2026)
This issue includes bits of AI, software development, C++, C#, diagnostics, architecture and of course .NET and .NET Internals.
064
Christophe Nasarre @chrisnas.bsky.social · 25/06/2026
Let's dig into the new cDAC way to access .NET runtime internals :^) chrisnas.github.io/posts/2026-0... Happy reading!
chrisnas.github.io
Reading CLR internals the cDAC way: contracts instead of the DAC
Why .NET is replacing the DAC with the cDAC data contracts, how they work locally / over a process / from a dump, and how to map the GitHub .md contracts to C# - with a from-scratch !eeheap as a worki...
0106
Christophe Nasarre @chrisnas.bsky.social · 20/06/2026
The source code and the slides of my presentation about .NET CLI tools with AI are available from github.com/chrisnas/Buc....
github.com
GitHub - chrisnas/BucharestSoftwareArchitectureSummit2026: Session content for Bucharest Software Architecture Summit 2026
Session content for Bucharest Software Architecture Summit 2026 - chrisnas/BucharestSoftwareArchitectureSummit2026
010
Christophe Nasarre @chrisnas.bsky.social · 17/06/2026
Preparing to talk about .NET CLI tool in our AI fury world at #TechWeekRO #BusinessSummits. See you there!
010
Christophe Nasarre @chrisnas.bsky.social · 17/06/2026
Moving forward into the cDAC way to access CLR internals...
000
Christophe Nasarre @chrisnas.bsky.social · 12/06/2026
It is time to use agent for production investigations! See how to leverage .NET CLI tools, MCP servers and skills in my new post
chrisnas.github.io
.NET CLI tools in the AI fury or how to guide agents during production investigations
How to let an AI coding agent investigate dev and production issues by driving your .NET diagnostics CLI tools — via MCP servers, SKILL.md files, or even by controlling a GUI application.
000
Christophe Nasarre @chrisnas.bsky.social · 01/06/2026
When you mess up with file watcher and git...
000
Christophe Nasarre @chrisnas.bsky.social · 28/05/2026
Thanks everyone for attending my #UCK26 session! The slides and source code are available from my repo - github.com/chrisnas/Upd...
github.com
GitHub - chrisnas/UpdateKrakow2026: Session for Update Conference Krakow 2026
Session for Update Conference Krakow 2026. Contribute to chrisnas/UpdateKrakow2026 development by creating an account on GitHub.
010
Christophe Nasarre @chrisnas.bsky.social · 24/05/2026
I was a HUGE fan of Cursor UI and I was forced to update to a new version today so now... it is unusable :^( Maybe it was too easy to have conversation per folder in a sidebar with most of the screen dedicated to plan. Cursor team: please let me use the previous version!!
010
Christophe Nasarre @chrisnas.bsky.social · 22/05/2026
Finishing to prepare my .NET CLI & AI session for #UCK26: dotnet-pstacks and dotnet-dstrings have been updated to behave as MCP servers with tools and custom prompts. In addition, dedicated SKILL.md files have been added to github.com/chrisnas/Deb.... Happy troubleshooting!
github.com
DebuggingExtensions/src at master · chrisnas/DebuggingExtensions
Host of debugging-related extensions such as post-mortem tools or WinDBG extensions - chrisnas/DebuggingExtensions
011
Christophe Nasarre @chrisnas.bsky.social · 16/05/2026
While preparing my session about .NET CLI and AI for #UpdateConference, I just realized that dotnet-dump was downloaded 60+ million times and still growing!
020
Christophe Nasarre @chrisnas.bsky.social · 13/05/2026
The loneliness of the speaker before his talk @kevingosse.net #Techorama
010
Christophe Nasarre @chrisnas.bsky.social · 13/05/2026
The content of my #Techorama Belgium talk is available at github.com/chrisnas/Tec...: slides and source code including the Frozen Segment implementation by @kevingosse.net
github.com
GitHub - chrisnas/Techorama2026: Techorama 2026 session
Techorama 2026 session. Contribute to chrisnas/Techorama2026 development by creating an account on GitHub.
021
Christophe Nasarre @chrisnas.bsky.social · 11/05/2026
Even when we don't co-present, @kevingosse.net is able to make me change the slides (and code) of my presentation! See you tomorrow at #Techorama!
030
Christophe Nasarre @chrisnas.bsky.social · 09/05/2026
I've just added 13 "old" posts to chrisnas.github.io: everything about TraceEvent, counters and the ClrMD series are back on line (Broken links and missing figures from Criteo)!
chrisnas.github.io
Welcome to Christophe Nasarre's Blog
.NET internals, GC, diagnostics and performance
151
Christophe Nasarre @chrisnas.bsky.social · 02/05/2026
For my new session about .NET CLI tools and AI, I've updated my own CLI tools to support new versions of .NET in the future (dotnet-wait, dotnet-http, dotnet-gcstats, dotnet-fullgc) and act as MCP server (dotnet-pstacks, dotnet-dstrings) during production investigations Happy troubleshooting!
130
Christophe Nasarre @chrisnas.bsky.social · 30/04/2026
How to let agents investigate issues with the right SKILL.md.
020
Reposted by Christophe Nasarre
Andrew Lock "Sock" @andrewlock.bsky.social · 21/04/2026
Blogged: Removing byte[] allocations in .NET Framework using ReadOnlySpan<T> andrewlock.net/removingbyte... In this post I describe how to remove static byte[] allocations, even on .NET Framework, by using Span<T> look at the associated IL, and discuss the potential risks #dotnet
andrewlock.net
Removing byte[] allocations in .NET Framework using ReadOnlySpan<T>
In this post I describe how to remove static byte[] allocations, even on .NET Framework, by using Span<T>, look at the associated IL, and discuss the risks
092
Christophe Nasarre @chrisnas.bsky.social · 21/04/2026
I'm moving from Medium to Github pages! chnasarre.medium.com/aa972d9ff6c6...
chnasarre.medium.com
I’m moving to chrisnas.github.io
For easier access, I’ve decided to move my blog to github pages at https://chrisnas.github.io/.
181
Christophe Nasarre @chrisnas.bsky.social · 26/03/2026
Great discussion about "new" async/await in .NET with Andy Gocke from the .NET team! A lot for me to read and dig into the new implementation - github.com/dotnet/runti...
github.com
020
Christophe Nasarre @chrisnas.bsky.social · 06/03/2026
Magical
010
Christophe Nasarre @chrisnas.bsky.social · 11/02/2026
After DIA and DbgHelp, time to dig into ISymUnmanagedReader to get line and source information from .NET Framework symbols - chnasarre.medium.com/7663f9043b6b...
chnasarre.medium.com
How to support .NET Framework PDB format and source line with ISymUnmanagedReader
After DIA and DbgHelp, time to dig into ISymUnmanagedReader to get its line in source code.
121
Christophe Nasarre @chrisnas.bsky.social · 19/01/2026
This is nice: thanks VS!
000
Christophe Nasarre @chrisnas.bsky.social · 19/01/2026
1h40 de sujets techniques liés aux bons/mauvais usages des strings en .NET avec tout plein de questions pertinentes de @dvoituron.bsky.social, Adrien Clerbois et @peug.net. Les ressources (outils, code source et vidéos) sont aussi disponibles. devapps.ms/podcasts/116...
devapps.ms
116 - Optimiser les Strings en .NET
021
Christophe Nasarre @chrisnas.bsky.social · 16/01/2026
Why would you need .pdb files for .NET assemblies? Don't their already contain all the needed metadata? This post will show you how to extract the source code and line number information from the .pdb files generated by .NET compilers thanks to DbgHelp API. chnasarre.medium.com/4188f862211d...
chnasarre.medium.com
But where is my method code? DbgHelp comes to the rescue
This post show how DbgHelp could help you figure out the line and source code of each managed methods from a .pdb file
021
Christophe Nasarre @chrisnas.bsky.social · 08/12/2025
I just implemented a tool accepting a .pdb file to generate a .sym file listing functions symbols. A first post (chnasarre.medium.com/9826fd4f251e...) shows the coding details. I'm sharing my vibe coding experience using Cursor in a second longer one (chnasarre.medium.com/f957106a3e9f...)
chnasarre.medium.com
How to dump function symbols from a .pdb file
Detail how to write a tool that generates a .sym file listing functions symbols with their address, size and signature from a .pdb file
011
Christophe Nasarre @chrisnas.bsky.social · 27/11/2025
I spent more time than expected to understand why my .NET profiler never received the event that would help me figuring out the GC mode (Server/Workstation) but Perfview and dotnet-trace did. I needed to debug the CLR to realize that the event is emitted before the profiler gets initialized :^(
060
Christophe Nasarre @chrisnas.bsky.social · 10/11/2025
And now the profiler is deadlocking the GC :^(
030
Christophe Nasarre @chrisnas.bsky.social · 06/11/2025
When you realize that the C++ exceptions you get while debugging your complicated profiler code come from... the Windows anti-virus
020
Christophe Nasarre @chrisnas.bsky.social · 05/11/2025
Venez nous retrouver au DevDay 2025... et avec une ristourne de 20% avec ce code devday.be/ticket?disco... ;^) En plus de venir discuter du "moins mauvais" usage des strings avec moi, beaucoup d'autres présentations sont très intéresantes. A très bientôt !
devday.be
DevDay 2025 - Bushidō Code | Developer Conference Belgium
Join 500+ developers at DevDay 2025 on November 13th in Mons, Belgium. The largest tech conference in Wallonia. Code with honor, debug with courage.
010
Christophe Nasarre @chrisnas.bsky.social · 03/11/2025
If you want to recompile the .NET 10 RC2 clr to get a solution for VS2026, you should add "18 2026" to that line of runtime\eng\native\gen-buildsys.cmd. Otherwise the build command will fail
010
Christophe Nasarre @chrisnas.bsky.social · 02/11/2025
The slides and source code for the two #Techorama sessions (including the duet with @kevingosse.net) are available in github.com/chrisnas/Tec...
github.com
GitHub - chrisnas/Techorama2025: Content for Techorama 2025 conference
Content for Techorama 2025 conference. Contribute to chrisnas/Techorama2025 development by creating an account on GitHub.
010
Christophe Nasarre @chrisnas.bsky.social · 21/10/2025
Whaaaaaaat!!!! My Astronomy Pix of the day app is broken :^(
000
Christophe Nasarre @chrisnas.bsky.social · 18/10/2025
Too bad it is not version 11111.11
010
Christophe Nasarre @chrisnas.bsky.social · 08/10/2025
The 3.28 release of the Datadog .NET profiler supports the new allocations sampling of .NET 10 that allows us to provide a much more statistically accurate view of your application memory! github.com/DataDog/dd-t... Thanks Noah Falk for his help on this ~2 years project :^)
github.com
Release 3.28.0 · DataDog/dd-trace-dotnet
Summary [Tracer] Add Azure Service Bus instrumentation (#7413) [Tracer] add OTEL quartz autoinstrumentation (#7192) [Tracer] Add Azure Service Bus batching support (#7553) [Test Optimization] Fai...
010
Christophe Nasarre @chrisnas.bsky.social · 01/10/2025
I don't understand how people could use GPTs efficiently... I'm looking for implementation details in the .NET runtime for the generation of gcdump and... ChatGPT and Deepseek are just hallucinating even when I'm pointing them to the current CLR main branch :^(
100
Christophe Nasarre @chrisnas.bsky.social · 26/09/2025
It is not too late to register to @azuredevsummit! Here is a $200 discount code! Discount code = spkrpromo Registration link = azuredevsummit.com/tickets P.S. Meet there to talk about strings in .NET and maybe win a signed copy of the second edition of Pro .NET Memory ;^)
azuredevsummit.com
Tickets - Azure Dev Summit | Lisbon 13 - 16 Oct 2025
Azure Dev Summit is a 4-Day Event for Software Developers, 13-16 Oct in Lisbon, Portugal.
000
Christophe Nasarre @chrisnas.bsky.social · 25/09/2025
Time to install VS 2026 now :^)
000
Christophe Nasarre @chrisnas.bsky.social · 25/09/2025
Reminds me great Peter Gabriel french concerts in the 80s petergabriel.bandcamp.com/album/live-a...
petergabriel.bandcamp.com
Live at WOMAD 1982, by Peter Gabriel
9 track album
010
Christophe Nasarre @chrisnas.bsky.social · 12/09/2025
Did anyone ever tried to use the Wait Chain Transversal API with critical section? - learn.microsoft.com/en-us/window... implies that it works for critical section but it does not - the wait field always contain 0 for Mutex (I tried infinite and finite wait)
000
Christophe Nasarre @chrisnas.bsky.social · 11/09/2025
It seems that I mistyped the ZoomIt video recording shortcut...
020