Joseph Musser
jnm2.bsky.social
Joseph Musser
@jnm2.bsky.social
Partner and principal dev at Techsola. 7-year Microsoft MVP. Working on new C# language features. Finding perfect balance.
I've added a 360° node viewer to my Myst IV Asset Explorer (github.com/jnm2/MystIVA...)!

Rendering a skybox with SkiaSharp in Avalonia, from 3D projection first principles, was satisfying. Looking around at the final result with its layer transparency is surreal.
October 5, 2025 at 2:35 PM
I made an app to browse and extract #Myst IV game assets, and play audio assets with gapless looping using #dotnet and #AvaloniaUI: github.com/jnm2/MystIVA...

It hits a nostalgic spot to have original game music instead of the official soundtrack's remix; I grew up playing the Myst games.
September 17, 2025 at 1:32 AM
Registered for the 2026 #mvpsummit! Looking forward to flying out and seeing everyone!
September 17, 2025 at 12:26 AM
@patriksvensson.se I'm finally getting into Spectre.Console and it's spectactular, thank you!

One thing that's giving me cold feet though is that there's no support for named arguments/required options. It seems to me that named arguments are just as important in CLI scripting as in C#.
May 22, 2025 at 1:57 PM
I'm losing the feeling of "what's happening is bad" that used to pop up for me when facing difficulties. Difficulties are the pathway to heart and soul and life and flow.
May 9, 2025 at 1:07 AM
Discussion for a proposal I'm working on: Target-typed static member lookup
github.com/dotnet/cshar...
January 20, 2025 at 7:10 PM
There should be a word for the feeling of wrapping up from being ten layers deep into something, specifically finishing a bunch of tasks in a row as you unwind your stack, which you had been holding in memory. There's something satisfying about hitting all of them on the way out.
December 14, 2024 at 12:22 AM
Have you ever run 'dotnet nuget why' and gotten a ridiculous or impossible amount of output to wade through? Would you be interested in a --depth parameter, or something similar?

github.com/dotnet/sdk/i...
'dotnet nuget why' option to show unique parent packages: --depth 1 · Issue #45464 · dotnet/sdk
The problem happens when you reference a large set of deeply nested third-party packages that all have common dependencies. When you run dotnet nuget why Microsoft.CodeAnalysis.NetAnalyzers, and ge...
github.com
December 13, 2024 at 11:48 PM
This past year has been so different for me from all other years. I'm going to summarize the theme with a single quote:

"There are three musts that hold us back: I must do well. You must treat me well. And the world must be easy." (Albert Ellis)

Nothing is holding me back.
December 7, 2024 at 2:13 AM
In a way that will never make sense, the thing holding you back is the thing you believe you have to have.
October 15, 2024 at 10:31 PM
Proposing `typeof` string constants, e.g. allowing `typeof(C).FullName` as an attribute argument: github.com/dotnet/cshar...

Would love feedback with real-world use cases, as well as real-world use cases for variants such as `fullnameof` that _aren't_ addressed by this proposal.
[Proposal]: `typeof` string constants · Issue #8505 · dotnet/csharplang
Proposal added Discussed in LDM Decision in LDM Finalized (done, rejected, inactive) Spec'ed Summary For certain kinds of types, typeof(...).FullName is considered a constant value. It is allowed a...
github.com
October 11, 2024 at 9:24 PM
open.spotify.com/album/40hWUh... by Jon Hopkins is incredibly powerful. I recommend setting aside an uninterrupted 41 minutes and lying down with headphones and an eye mask to listen.
RITUAL
Album · Jon Hopkins · 2024 · 8 songs
open.spotify.com
September 1, 2024 at 3:11 PM