Week 40, year 2024

  • EventStoreDB 24.6 released - EventStoreDB 24.6 was officially released on the 26th of June 2024. Even though it is a mid-year interim release, there a quite a few feature enhancements plus some exciting new features as well. Keep reading to learn more! [Event Store blog]
  • Interviewed by Book Overflow podcast on Refactoring - I was interviewed on the Book Overflow podcast about the Refactoring book. We talked about the origins of the book, the relationship between refactoring, testing, and extreme programming, how refactoring is used in the wild, and the role of books and long-form prose today. [Martin Fowler]
Permalink | From 30 September 2024 to 06 October 2024 | Last updated on: Fri, 4 Oct 2024 15:19:27 GMT

Week 39, year 2024

  • Using GenAI to build a capability map and translate legacy systems - Alessio Ferri, Tom Coggrave, and Shodhan Sheth complete their article on what they have learned from using GenAI with legacy systems. They describe how GenAI's ability to process unstructured information makes it much easier to build a capability map of a legacy system, tying the capabilities of a system to the relevant parts of the source code. GenAI is also useful for identifying areas of dead code, and has promise for better translations of a system between platforms and languages. [Martin Fowler]
  • Integrating the Particular Service Platform with Aspire - I've been playing around with Aspire for a bit mainly to understand "is this a thing I should care about?" and part of what I wanted to do is take a complex "hello world" distributed system and convert it to Aspire. Along the way, [Jimmy Bogard]
  • Introducing Event Store License v2 (ESLv2) - A New Era for EventStoreDB At Event Store, we’ve always believed in empowering our community with open-source software while providing enterprise-level features to help organizations scale. Today, we are excited to announce an important change that will bring more clarity, simplicity, and protection to the way we deliver EventStoreDB. Starting with the 24.10 LTS release, we will transition to a new licensing model: the Event Store License v2 (ESLv2). [Event Store blog]
Permalink | From 23 September 2024 to 29 September 2024 | Last updated on: Thu, 26 Sep 2024 23:19:27 GMT

Week 38, year 2024

  • Legacy Modernization meets GenAI - Most of the talk about the impact of GenAI on software development is about its ability to write (messy) code. But many of us think it's going to be much more useful to help us understand existing messy code, as part of a modernization effort. My colleagues Alessio Ferri, Tom Coggrave, and Shodhan Sheth have been considering how GenAI can do this, including building an internal tool to help explore the possibilities. The tool uses an LLM to enhance a knowledge graph based on the AST of the code base. It also uses an LLM to help users query this knowledge graph. [Martin Fowler]
  • Using GenAI to extract low-level details and high-level explanations from legacy systems - Alessio Ferri, Tom Coggrave, and Shodhan Sheth use their combination of an AST-fueled knowledge graph and LLMs to gain understanding of legacy systems. They have found it aids them both in extracting the low-level details of the code and can provide high-level explanations to support human-centered approaches such as event storming. [Martin Fowler]
Permalink | From 16 September 2024 to 22 September 2024 | Last updated on: Wed, 18 Sep 2024 15:19:26 GMT

Week 37, year 2024

Permalink | From 09 September 2024 to 15 September 2024 | Last updated on: Fri, 27 Sep 2024 15:19:26 GMT

Week 36, year 2024

  • Tales from the .NET Migration Trenches - Turning Off the Lights - Posts in this series: Intro Cataloging Empty Proxy Shared Library Our First Controller Migrating Initial Business Logic Our First Views Session State Hangfire Authentication Middleware Turning Off the Lights In the last post, we looked at migrating our middleware, which we tackle in an as-needed basis. When a controller needs [Jimmy Bogard]
  • Governing data products using fitness functions - Decentralized data management requires automation to scale governance effectively. Fitness functions are a powerful automated governance technique my colleagues have applied to data products within the context of a Data Mesh. Since data products serve as the foundational building blocks of a data strategy, ensuring robust governance around them significantly increases the chances of success. Kiran Prakash explains how to do this, starting with simple tests for key architectural characteristics and moving on to leveraging metadata and Large Language Models. [Martin Fowler]
  • Bliki: Cycle Time - Cycle Time is a measure of how long it takes to get a new feature in a software system from idea to running in production. In Agile circles, we try to minimize cycle time. We do this by defining and implementing very small features and minimizing delays in the development process. Although the rough notion of cycle time, and the importance of reducing it, is common, there is a lot of variations on how cycle time is measured. A key characteristic of agile software development is a shift from a Waterfall Process, where work is decomposed based on activity (analysis, coding, testing) to an Iterative Process where work is based on a subset of functionality (simple pricing, bulk discount, valued-customer discount). Doing this generates a feedback loop where we can learn from putting small features in front of users. [Martin Fowler]
Permalink | From 02 September 2024 to 08 September 2024 | Last updated on: Wed, 11 Sep 2024 14:37:10 GMT

Week 34, year 2024

  • Rewriting Strangler Fig - Two decades ago, I posted that I found that the strangler fig plant was an interesting metaphor for the gradual replacement of a legacy system. I didn’t refer to the metaphor since, but meanwhile it grew a life of its own. Other people increasingly referred to the strangler fig approach to modernization, and traffic to that post steadily increased: currently it gets about 5000 page views a month, one of the more popular pages on this site. So I decided I needed to update that page, and have rewritten it, focusing on the core activities we need to do to make a success of such a venture. (This summarizes more detailed writing from Ian Cartwright, Rob Horn, and James Lewis.) [Martin Fowler]
  • Rethinking microservices architecture through Dynamic Consistency Boundaries - When creating microservices-based architectures, developers may encounter the concept of an “aggregate” while modeling their systems. In the simplest of terms, an aggregate is a collection of various objects in your system that can be treated as a single unit. It's important to note that an aggregate includes an aggregate root, entities, and value objects bound together by consistency rules. [AxonIQ Blog]
Permalink | From 19 August 2024 to 25 August 2024 | Last updated on: Thu, 31 Oct 2024 15:19:29 GMT