Former C# language designer and compiler dev at Microsoft (Roslyn)

Seattle, WA
Joined January 2009
Julien Couvreur retweeted
When in doubt, just use C# and ASP.NET Core. It's blazing fast. .NET 11 RC2 is even faster. For me, it's the best overall major web framework - auth, config, logging, perf, modular middleware, DI, cross-plat, etc. But I didn't expect this:
Campfire rewrite journey continues. I let the clankers run for a day, go through all the PRs that were submitted, verify the work, merge what was ready, and then ask it to bring all architectural improvements to each implementation. Good old C is now in the lead!
42
79
19
617
76,875
Julien Couvreur retweeted
.NET and F# are here waiting for you all Very fast inner loop compile times Strong type systems Great deployment models
Rust no longer the defacto best language for agents Compile times are too long, I'm always finding myself bottlenecked by time not intelligence And the agents have gotten really at doing manual memory management now
36
29
8
314
37,464
Julien Couvreur retweeted
LLM Inference Engineering - Problem and Solution Problem: LLMs are slow Solution: KV Cache - Avoid recomputing previous tokens. Problem: KV Cache consumes huge memory Solution: PagedAttention - Manage KV memory efficiently. Problem: GPU is underutilized Solution: Continuous Batching - Dynamically add/remove requests. Problem: Token generation is sequential Solution: Speculative Decoding - Generate and verify multiple tokens together. Problem: Attention requires large memory usage and expensive memory movement Solution: FlashAttention - Reduce memory usage and memory movement during attention. Problem: KV Cache is still large Solution: MQA / GQA - Share K/V across multiple query heads. Problem: Many optimizations need to work together Solution: vLLM - Build an efficient inference engine. Problem: Applications repeatedly process the same prefixes Solution: RadixAttention / Prefix Caching - Reuse previously computed work. Problem: Models are too large Solution: Quantization - Reduce model memory and computation. Problem: Large models are expensive Solution: Distillation / SLMs / MoE - Make inference itself cheaper. Keep Learning, Keep Sharing, and Keep Growing.
11
74
4
550
47,174
Julien Couvreur retweeted
This is one of the best engineering blogs you'll ever read. Not *just* because you'll learn a lot, but because @vmg sprinkles in a bit of everything. A great story. History of git infrastructure. Distributed systems. Benchmarks. All written by someone who can speak to every point from deep, personal experience. It's also 5,300 words, so grab a drink and enjoy.
27
244
9
3,205
232,950
Julien Couvreur retweeted
Diffs you can edit! Edit mode is now in beta on diffs[dot]com, and we want your help to perfect it. We’re running an online hackathon this week. Build something with diffs, and show us what the new edit mode can do. Post your entry in the comments by 5pm PT on Monday August 10th. Winners get exclusive Pierre Computer Company merch.
10
7
2
146
9,866
Julien Couvreur retweeted
TypeScript creator @ahejlsberg puts TypeScript 7 through its paces, compiling the 2.3M-line @code codebase in under five seconds, and breaking down how the new 10x faster Go-powered compiler and language service scales with shared-memory concurrency.
24
91
8
590
44,384
We definitely need better code review tools. I also started a proof-of-concept, with the goal of combining great diffs (local or online), comments (to local agent and online peers) and agentic buddy. It's implemented as a GitHub Copilot App canvas. Still iterating... 👇
vibe coded this today so frustrated with GitHub's code review something fable did literally in the background while I worked is much better 100% GPU rendered, native rust. runs at 120fps.
2
2
775
Julien Couvreur retweeted
Since file-based apps landed in .NET, I stopped writing .ps1 and .sh files for helper scripts in my repos. With shebang support, we can run them directly on Unix as ./tools/foo.cs. And when combined with Spectre.Console.Cli and CliWrap, we can get a lot done with very little code. It is awesome. learn.microsoft.com/en-us/do…
5
13
3
104
9,820
After 25y at Microsoft, including 10 working on Roslyn, I'm moving on to new adventures. I'll still post about interesting C# and AI experiments. Hoping to push extension constants in for C# 15. To follow new C# features, watch the feature status page: github.com/dotnet/roslyn/blo…
5
10
212
19,936
Julien Couvreur retweeted
Blogged: Closed class hierarchies - Exploring the .NET 11 preview - Part 4 andrewlock.net/exploring-the… In this post I describe what a closed closed hierarchy is, how to create one, and discuss why you might want one #dotnet #csharp
11
67
5,024
I've been experimenting with a little C# framework for agentic workflows, generalizing from Ralph loops and variants: 1. Copilot subagents are exposed as strongly-typed functions, 2. persistent state allows the workflow to be interrupted/resumed, 3. simple and customizable. 👇
3
3
18
2,168
We merged a C# 15 preview feature into .NET 11 preview 7: labeled break and continue statements. Allows `break` and `continue` to optionally specify a label that identifies which loop or switch statement to target. Example below. Spec: github.com/dotnet/csharplang…
9
17
1
102
6,747
```cs outer: for (...) { for (...) { break outer; } } ```
1
1
10
795
We merged a C# 15 preview feature into .NET 11 preview 6: extension indexers. It allows declaring and consuming indexers defined in `extension` blocks. ``` static class E { extension(...) { int this[...] { get ... set ... } } } ``` Spec: github.com/dotnet/csharplang…
1
9
1
46
3,367
Julien Couvreur retweeted
Second for second, @tylercowen packs more substance into a talk than anyone I'm aware of. This is a clear, non-hysterical, and somewhat soothing discussion of our AI future.
47
267
63
2,190
656,592
We merged an early C# 15 preview feature into .NET 11 preview 5: closed class hierarchies. Allows a `closed` modifier on a `class` declaration. A `closed` class prevents direct inheritance from other assemblies, so pattern matching can treat its derived types as a complete set.
14
19
5
171
20,240
Spec: github.com/dotnet/csharplang… ``` public closed class C { ... } ```
1
4
1,702