Identity, Immutability, and .NET Polyglot Notebooks

Let's talk code.

In fact, let's talk in code.

.NET has a cool new capability that lets us share ideas directly in code. They are called .NET Polyglot Notebooks. I want to try an experiment with you. Let's have a conversation about software design using only code.

The ideas that I'd like to talk about are identity and immutability. Identity is how we say which object we are talking about, from the primary key in a database to the URL in an API. And immutability is the self-imposed constraint that we will not change an object once it's created. These ideas taken together help us make informed decisions about software design and architecture.

Would you like to keep data in sync across databases? Between microservices? On mobile devices? Then you need to think about how you identify objects, and how you allow them to change.

During this discussion, we will be modeling an application using Jinaga.NET. I am still building this open-source library, which will be the cornerstone of how I build ASP.NET microservices, Blazor web apps, and Xamarin mobile applications. If you would like to help shape this core architectural middleware, I'd be happy to have your help. But even if you are building apps using traditional ORMs and APIs, you will be able to apply these patterns.

NOTE: This meeting is in-person. Also, Improving is providing pizza at 6:00 and the presentation will begin at 6:30.

Speaker: Michael Perry
Date: July 5th, 2023
Time: 6:00 PM - 8:30 PM (see here for more detail)
Location: Improving - Plano, TX
Google Maps

RSVP - Attend Event

Speaker Bio

Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.

Michael wrote The Art of Immutable Architecture, a book on applying mathematics to building distributed systems. Learn more at

Michael has recorded Pluralsight courses on Distributed Systems, XAML Patterns, and Cryptography, in addition to Provable Code. Formerly a Microsoft MVP for seven years, he maintains the spoon-bending Assisticant and Jinaga open-source libraries. You can find his videos about distributed systems at And he helps his clients at Improving benefit from the power of software mathematics.