Kirill Osenkov
banner
kirillosenkov.com
Kirill Osenkov
@kirillosenkov.com
(Unofficial) VP of Developer Productivity at Microsoft. Developer tools, engineering systems, .NET, C#, Roslyn, Visual Studio, Editor, WPF, Avalonia, MSBuild.
Ordered my third keyboard from CloudNine:
cloudnineergo.com/products/clo...

It's split/ergonomic, has mechanical switches and the classical IBM layout (arrow keys + Ins/Del/Home/End/PgUp/PgDn) that is so hard to find.

Thinking of ordering a few more in case they stop making it.
December 6, 2025 at 1:00 AM
This has improved my day

www.youtube.com/shorts/kResa...
This operation is driving me crazy.#funny #movie #dailylife
YouTube video by Wenjiang-caihuaxiaoyuan
www.youtube.com
December 4, 2025 at 10:01 PM
Reposted by Kirill Osenkov
I think this is actually "Everyone at Microsoft Hates AI," and given what I've witnessed in the past happening when Microsoft leadership decides they need to turn the aircraft carrier on a dime, I'm not at all surprised. There tends to be a LOT of collateral damage while they figure things out.
Everyone in Seattle Hates AI — Jonathon Ready
A post about everyone in Seattle hating AI.
jonready.com
December 3, 2025 at 8:36 PM
Reposted by Kirill Osenkov
Creating a custom MSBuild SDK to reduce boilerplate in .NET projects #dotnet www.meziantou.net/creating-a-c...
Creating a custom MSBuild SDK to reduce boilerplate in .NET projects - Gérald Barré
Learn how to create custom MSBuild SDKs to enforce coding standards, add packages dynamically, and configure .NET projects consistently.
www.meziantou.net
December 2, 2025 at 10:38 PM
Reposted by Kirill Osenkov
I can't believe I made into 2026 Forbes 30 under 30!!!!! 🥹🥹

it's surreal to work doing what I love every day, I'm deeply thankful for everything 😭💛
December 2, 2025 at 6:48 PM
MSBuild tip: if you're working with binlogs, set the environment variable MSBuildLogPropertyTracking=15.

It enables logging of where each property was initially assigned from during evaluation and lights up more features in the binlog viewer.
December 2, 2025 at 6:13 AM
Reposted by Kirill Osenkov
Years ago I complained about Windows creating 39+ page-zeroing pages on 96-core machines, which made memory zeroing much slower. The vast majority of the CPU time was consumed by fighting over a lock.

randomascii.wordpress.com/2022/07/11/s...
Slower Memory Zeroing Through Parallelism
While investigating some performance mysteries in Chrome I discovered that Microsoft had parallelized how they zero memory, and in some cases this was making it a lot slower. This slowdown may be m…
randomascii.wordpress.com
November 29, 2025 at 7:53 AM
Reposted by Kirill Osenkov
Ever wanted to write `((a, b)) =>` to deconstruct lambda parameters in C#? I've created a proposal and am co-championing the feature now.

Discussion: github.com/dotnet/cshar...
Proposal: github.com/dotnet/cshar...
November 28, 2025 at 11:42 PM
Reposted by Kirill Osenkov
s&box going open-source was not in my bingo cards but here it is. I think they’re cooking something incredible, and the C# support is top notch and doesn’t feel slapped onto something else like a few other engines. sbox.game/news/update-...
s&box
sbox.game
November 28, 2025 at 5:11 PM
Reposted by Kirill Osenkov
After getting some nice feedback on my first video, here is another tip for Visual Studio, function breakpoints

#dotnet

youtu.be/G5G5wo5poWA
Function Breakpoints attach to methods by name!
YouTube video by nohwnd
youtu.be
November 24, 2025 at 10:05 PM
Reposted by Kirill Osenkov
LIFTI v7 has just dropped! github.com/mikegoatly/l...

There's new query syntax:

&! ("And Not") for excluding search results matching test
<< and >> for anchoring search terms to the start and end of text

#dotnet #opensource
Release v7.0.0 · mikegoatly/lifti
LIFTI v7.0.0 Release Notes 🤏 TL;DR LIFTI v7 changes support for the library to .NET 8/9/10, dropping .NET 6 and .NET Standard support. Key improvements: New query operators: &! (And Not), << (star...
github.com
November 23, 2025 at 4:37 PM
Reposted by Kirill Osenkov
New blog post! 📰 MSBuild randomly failing with file locks? 😤 — turns out worker node reuse is the culprit. Learn how MSBUILDDISABLENODEREUSE fixed years of build nightmares & why GitHub Copilot found the answer Google couldn't! 🔍💻👇 awakecoding.com/posts/disabl...
Disabling MSBuild Node Reuse to Avoid File Locking Issues
Intermittent .NET host processes locking your build outputs? MSBuild's node reuse feature causes file locking in complex build systems. Learn how MSBUILDDISABLENODEREUSE fixes years of sporadic build ...
awakecoding.com
November 20, 2025 at 5:48 AM
Reposted by Kirill Osenkov
November 18, 2025 at 5:15 AM
This doesn't add as much clarity as I hoped it would:
November 18, 2025 at 4:10 AM
Reposted by Kirill Osenkov
Trying to measure coding productivity is, and always will be, a fool's errand.

Why? Because I can go for a walk then take a shower and have an idea, then write a single line of code that fixes everything I was working on.

Immense productivity, but by most metrics I didn't do anything at all.
November 16, 2025 at 4:10 PM
One thing I started noticing recently is that competent engineers give up their credibility due to AI.

Twice already highly competent engineers I respect sent a PR that turned out to have very subtle issues. These issues would not be possible if a human understood it.
November 15, 2025 at 12:40 AM
Reposted by Kirill Osenkov
🚀 Excited to announce SharpIDE - A Modern, Cross-Platform IDE for .NET!

I'm thrilled to share my latest open-source project, just in time for .NET 10: SharpIDE, a brand new IDE for .NET, built with .NET and Godot! 🎉

🔗 Check it out on GitHub: github.com/MattParkerDe...

...
November 11, 2025 at 11:24 PM
Reposted by Kirill Osenkov
.NET MAUI is coming to Linux and the browser, powered by Avalonia.

After years of community requests, we are delivering:
– Linux desktop
– WebAssembly
– up to 2× faster performance on macOS

Try the live demo and register your interest for early access: avaloniaui.net/blog/net-ma...
November 11, 2025 at 6:25 AM
Reposted by Kirill Osenkov
Hey #dotnet, would you like it if #msbuild (and dotnet build, etc) natively integrated with your CI/CD pipelines for integrated warning/error reporting and such? I've vibe-coded some stuff here that might be interesting to folks: github.com/dotnet/msbui...
November 8, 2025 at 5:20 PM
Reposted by Kirill Osenkov
We’re teaming up with Google’s Flutter team to bring Impeller to .NET

Impeller is Flutters new GPU-optimised renderer, replacing Skia for better performance on mobile and embedded devices.

This is what open collaboration looks like 🚀

avaloniaui.net/blog/avalon...
November 7, 2025 at 7:22 AM
New in MSBuild Structured Log Viewer:

property trail showing reads and writes during evaluation, in order:

github.com/KirillOsenko...

If you've ever had ordering issues where someone reads your property before you wrote to it, this is the tool for you.
November 7, 2025 at 3:04 AM
Reposted by Kirill Osenkov
Interested in working in .NET Tooling? My team is hiring for a few roles. This is a great to impact the .NET ecosystem, work with devs all across Microsoft and help drive the .NET platform forward.

jobs.careers.microsoft.com/global/en/jo...
jobs.careers.microsoft.com/global/en/jo...
November 5, 2025 at 1:26 AM
Reposted by Kirill Osenkov
My fellow Washingtonians, 2025 might be an off-cycle election, but we've still got some important measures to weigh in on! Remember to have your ballot in an election drop box by 8:00 pm Tuesday!

More resources, including drop box location and in-person registration & ballot casting, at votewa.gov
Another state that jumps out: Washington.

—Seattle's mayor's race
—also big stakes in Seattle's prosecutor + council + tax measure
—new exec in King County
—control of Spokane
—Olympia's labor measure
—competitive legislative specials
—school boards split on inclusion
—even a statewide referendum
November 4, 2025 at 4:17 AM
In Odesa, a man's watch broke. He sees a store with the clock sign, walks in, says my watch is broken.

The store owner: but we don't repair watches.
Man: what do you do?
Store owner: circumcision
Man: but why is there a clock sign?
Store owner: what would you like me to hang up there instead?
I know choosing icons is hard, but why a stopwatch? 💀
November 3, 2025 at 6:41 PM