Work on compilers and languages. Creator of VsVim.
He/Him
#BlackLivesMatter
Jan 26, 2022 • 4 tweets • 1 min read
If you want to help your kids understand days of the week better you should have special events that occur on specific days. Like in my house Tuesday is Dairy Queen day: french fries and ice cream.
The upside is kids learn quickly which day of the week is Tuesday. The downside of such education is it quickly turns into a requirement
The Visual Basic EE has a similar origin story. From VS 2002 through VS 2008 it was a separate service from the Compiler and IDE. That meant language features had to be implemented three times.
The three services all shared parse trees and a portion of the bound nodes but that was it. The compiler and IDE shared their symbol import code as they read raw IL to produce symbols. The EE though used IDebugSymbolProvider docs.microsoft.com/en-us/dotnet/a…
Sep 9, 2020 • 6 tweets • 2 min read
One challenging aspect of managing large @github repos is dealing with issue backlogs. Every mature product has issues that fall into a gray area of "yes this is real, we'd accept a fix but it's so minor it will never really have enough priority for us to fix". Low pri issues.
Over time the count of such issues grows into the hundreds or thousands. Pretty soon you find that these issues are absolutely dominating your backlog. No one wants to open their repo and see 2,000+ open issues but what to do?
May 24, 2019 • 15 tweets • 3 min read
Wanted to share the steps I use when attempting to establish a coding style in a software project. Seen a number of people struggle with this over the years and wanted to share a strategy I've had some success with.
First gain consensus on the idea, **not** the implementation. Get developers to agree that a single style would be desirable. Push on ideas like it helps reduce friction on PRs, makes code more portable within your code base, easier for new developers to learn, etc ..
Sep 6, 2018 • 7 tweets • 1 min read
I think developers often lose sight of the fact that the C# type system is not the .NET type system. Instead the C# type system is merely a layer on top of the .NET type system providing both additional capabilities and additional restrictions.
Think most developers if asked would say C# is a super set of the .NET type system. Providing only new capabilities like lambdas, dynamic, pattern matching, etc ...