After much internal debate, I finally decided to start a blog and currently plan on posting about things that come up when coding both at work and in personal projects.
I first joined Microsoft as vendor in 2012 doing work for the Roslyn team. Almost 3 short years later I was hired as a full-time employee to the same team and got the privilege of helping move Roslyn onto GitHub. Over the next three years I got to work on various bits of Roslyn infrastructure, the initial version of Live Unit Testing, making the Roslyn Project System more accessible, and more infrastructure work in the .NET Core SDK.
Performance, numerics, "low-level" scenarios, and the latest tools have always piqued my intereset and I eventually migrated over to the CoreFX team so that I could have a broader impact in these areas. But, even before I joined the team directly I was trying to make meaningful contributions. One of my first contributions was removing some legacy workarounds from the `System.Math` code (dotnet/coreclr#4847). This contribution was my first real dive into CoreCLR/CoreFX and got me comfortable enough with the codebase that I went on to add several other meaningul contributions, including:
- The initial support for building with VS2017 (dotnet/coreclr#9956),
- Helping start the Hardware Intrinsics feature (dotnet/coreclr#15341), and
- Working on making the floating-point parser/formatter IEEE compliant (dotnet/coreclr#19802)
I am currently planning on my next blog post being about how the
System.MathF calls work and how the cross-platform differences are partially normalized. I would also like to do a write-up on the hardware intrinsics feature and some of the feature-requests I would most like to see in the framework, runtime, and languages, but we'll see how that turns out.