TWIL: October 26, 2021

This week I bring you two .Net Rocks podcast episodes and a few articles around event-driven architecture, as well as a few interesting articles. I hope you enjoy it.


.NET Rocks

Episode 1761: C# 10 with Mads Torgersen
What’s coming for the next version of C#? Carl and Richard chat with Mads Torgersen about some of the new features in C# 10 shipping with .NET 6. Mads talks about how a year is not a lot of time for building language features – but it does create a steady stream of new language ideas explored and tested before being finalized into the language. While C# 10 is largely finished, we also get a peek into some of the new ideas coming for C# 11!

Episode 1762: Adding Collaboration to Your Application with Rickard Hansson
Collaboration is key – how do you add it to your applications? Carl and Richard talk to Rickard Hansson about Weavy and their API for adding audio, video, and text to your application. Rickard talks about collaboration with context – making sure you can bring together the right people at the right time to get work done. The conversation also turns to various other approaches to collaboration, and making the distinction between business-to-consumer and business-to-business interactions. But when collaboration is done right, the productivity boost is huge!

Event-Driven Architecture

Event Driven Programming with Spring Boot & JPA
Felix Seip explains how you can use event-driven programming with Spring Boot, using Spring Events, or with JPA Events, for simple scenarios that are supposed to react to data-centered events.

Message Expiration Pattern Explained
A message might have a limited lifetime, and if it is not processed within this period, it is useless and should be discarded. For example, a pizza order is useless when its maximum wait time is passed. The customer might have considered ordering from another shop. Also, in a highly dynamic environment like stock trading, a BUY order must be processed within seconds. If not, the order will be irrelevant as the prices can fluctuate. In this post, let’s see how a sender can indicate when a message should be considered stale and shouldn’t be processed.

6 Things You Need to Know About Kafka Before Using it in a System Design Interview
It’s quite common to include Kafka as an architecture component in modern system designs. But is it always the best choice, or are architects and engineers just including it as a magic box that makes all problems go away? Eileen Pangu explains 6 scenarios/areas where Kafka can be especially useful.

Cool Stuff

The Process is not the Product — The Software Methodology Anti-Manifesto
Michael Karliner takes us through “The Software Methodology Anti-Manifesto” which revolves around three pillars: The Process is not the Product, Leading not Managing and Dialog not Dictation. It’s a provocative article meant to make the methodology gurus and management-heavy cultures uncomfortable.

Why Tracing Might Replace (Almost) All Logging
This is a thread about why tracing will gradually replace most logging, at least where distributed or cloud-native architectures are concerned. It focuses on distributed tracing and why it is so much more powerful than simple logs.

A Git cheatsheet that all coders need
An interesting overview of the main git commands and when to use them. It doesn’t give you all the details but if you’re starting with git or just coming back to it, it might help.

Have a great week!

Photo by Amr Taha™ on Unsplash