Week 17, year 2022

  • How I use Twitter - A couple of recent conversations about Twitter were nudging me into writing about how I use Twitter even before The Muskover developed. Twitter has become an important part of my online life, and my online life is a big part of what I do. But like any tool, Twitter can be used in many different ways, and how you use it affects how useful it can be. [Martin Fowler]
  • How to build a simple event pipeline - Today we will deal with event consumption. I’ll also explain how I wrote the new version of the MediatR library. Curious? We’ll get to that… [Event-Driven by Oskar Dudycz]
  • Agile Book Club interview on Refactoring - James Shore's Art of Agile Development is my favorite single-volume book on agile software development. A reason for that is its serious emphasis on the technical practices that are essential to making it work effectively. James and I discuss the role of refactoring for software development, the nature of design changes we see, and how to break down big changes into small pieces. [Martin Fowler]
Permalink | From 25 April 2022 to 01 May 2022 | Last updated on: Mon, 24 Oct 2022 23:19:31 GMT

Week 16, year 2022

Permalink | From 18 April 2022 to 24 April 2022 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 15, year 2022

Permalink | From 11 April 2022 to 17 April 2022 | Last updated on: Mon, 7 Aug 2023 22:06:33 GMT

Week 14, year 2022

Permalink | From 04 April 2022 to 10 April 2022 | Last updated on: Mon, 18 Apr 2022 18:23:13 GMT

Week 13, year 2022

  • Think in verbs! Discovering event-driven architecture - Let’s take a deeper dive into how thinking in verbs leads to the use of event-driven architecture, and just how succinct, elegant, practical, and meaningful we can be when we use Serialized’s API platform to implement our action-focused ideas. [Serialized development blog]
  • Transitional Architecture - The core to a successful legacy displacement is the gradual replacement of legacy with new software, as this allows benefits to delivered early and circumvents the risks of a Big Bang. During displacement the legacy and new system will have to operate simultaneously allowing behavior to be split between old and new. Ian Cartwright, Rob Horn, and James Lewis explain how to build and evolve a Transitional Architecture that supports this collaboration as it changes over time. For this to work, intermediate configurations may require integrations that have no place in the target architecture of the new system. Or to put this more directly - you will have to invest in work that will be thrown away. [Martin Fowler]
  • Twelve things I learned about Java during my last code review - As I have mentioned to you many times, I like to test different approaches, technologies and solutions. I may not have told you yet that I… [Event-Driven by Oskar Dudycz]
Permalink | From 28 March 2022 to 03 April 2022 | Last updated on: Mon, 24 Oct 2022 23:19:31 GMT

Week 12, year 2022

  • Eventsourcing Patterns: Multi-temporal Events - Multi-temporal Events Within a Domain Event, use separate timestamps to distinguish when the event occurred and when it was captured. Problem A Domain Event typically has a timestamp. A common pattern is to have the eventstore add the timestamp at the moment when the event is written. For example, there could be a database field named recorded_at, with a value that defaults to now(). The field is considered part of the metadata of the event (as opposed to the domain-specific payload). The field is accessible in the userland code that consumes the event, and can be used for infrastructural tasks (such as ordering the events chronologically) or domain-specific operations, projections, analytics… This is fine in many situations. [Mathias Verraes]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
  • Small rant about the Software Design - Some time ago, I listened to an enlightening episode of Scott Hanselman’s podcast on how to teach computer science. The guest was Maria… [Event-Driven by Oskar Dudycz]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages. As before, the OpenTelemetry packages are just small wrappers around TracerBuilderProvider. [Jimmy Bogard]
  • Domain-Driven Design Applied - I joined Alex Bolboacă on his podcast ‘Think. Design. Work Smart.’ We discussed DDD, the value of models, misconceptions about DDD (it’s not a Big Design Upfront method!) and more. [Mathias Verraes]
  • Why ZooKeeper Was Replaced with KRaft – The Log of All Logs - Why replace ZooKeeper with an internal log for Apache Kafka® metadata management? This post explores the rationale behind the replacement, examines why a quorum-based consensus protocol like Raft was utilized and altered to become KRaft, and describes the new Quorum Controller built on top of KRaft protocols. [Confluent Blog via Aggregater Linklog]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages: NServiceBus.Extensions.Diagnostics NuGet NServiceBus.Extensions.Diagnostics ReadMe NServiceBus.Extensions.Diagnostics.OpenTelemetry NuGet NServiceBus.Extensions.Diagnostics.OpenTelemetry ReadMe As before, the OpenTelemetry packages are just small wrappers [Jimmy Bogard]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
Permalink | From 21 March 2022 to 27 March 2022 | Last updated on: Mon, 7 Aug 2023 22:06:33 GMT

Week 11, year 2022

Permalink | From 14 March 2022 to 20 March 2022 | Last updated on: Sun, 26 Feb 2023 12:36:53 GMT