David Kean

@keansbox.com

I make things fast @ Visual Studio, previously NET. He/Him.

Visual Studio 2026 represents about a year's worth of work across the Visual Studio team. If you haven't tried it, head over to visualstudio.microsoft.com/insiders/ to download it - it will install alongside Visual Studio 2022 so you can continue to use both if you like.

Visual Studio 2026 Insiders - Faster, smarter IDE

Try Visual Studio 2026 Insiders with Copilot AI deeply integrated, faster performance across C# and C++, and a refreshed, modern UI.

visualstudio.microsoft.com

Finally had time over the holidays to realize a long-standing dream of mine: a hex editor that knows about the PE file and .NET metadata format. You can click any byte and it will show you which data structure it is in the tree. Every byte is covered. The parser is at github.com/KirillOsenko...

Screenshot of a hex editor with a PE file open, on the left there's a tree with the headers, sections and other parts of the file format. On the right there's a typical table of bytes in hex.

I'm throwing a party and trying to figure out cocktails. Let's say I can only make 4. What should i be making to cover all bases?

Did you know that you can define a DebuggerDisplayAttribute for a type from another assembly? Just add an assembly-level attribute to your code and specify the Target type: [assembly: DebuggerDisplay(@"\{Color = {Color}}", Target = typeof(Pen))]

We added a feature to Visual Studio to automatically detect when it uses an unusual amount of CPU. After 20 mins of continuous CPU across all threads combined (and the machine has been sampled), we capture a short trace.

I spend my day breaking builds, so thankful that these folks are there to pick up the pieces, including @kirillosenkov.com himself who has written the best tool to diagnose them msbuildlog.com!

MSBuild Log Viewer

msbuildlog.com

Kirill Osenkov@kirillosenkov.com · 2y ago

When @nickcraver.com joined Microsoft I was curious what he will naturally gravitate towards after he looks around. Nick looked around and decided to fix builds! When @nguerrera.dev joined Microsoft, I already knew what he will deem to be most impactful task for starters: fixing builds!

If there just one one skill or attribute that I think early in career folks should focus on, it would be, "be curious". This isn't "questioning every decision"-curious, but the "I wonder why it works this way, let me figure that out"-curious.

As part of planning what to work on next in the performance space for Visual Studio, we've been thinking a lot about "perceived" performance. Perceived performance is the time users "think" an operation takes, rather than the actual time it takes. 🧵

Sorry folks if you followed me in that other place and this a repeat but I can't bear to link to that place, and need a new version of this rant so that I can point to it. Asynchronous/Overlapped I/O will never be faster than synchronous reads. learn.microsoft.com/en-us/window... 🧵

Synchronous and Asynchronous I/O - Win32 apps

There are two types of input/output (I/O) synchronization: synchronous I/O and asynchronous I/O. Asynchronous I/O is also referred to as overlapped I/O.

learn.microsoft.com