Week 9, year 2025

  • GenAI Patterns: Fine Tuning - While RAG is the most common way to focus a foundation model on material outside its training set, Bharani Subramaniam and I now finish our current batch of patterns by examining our experience with Fine Tuning where we learned to prioritize curating high-quality data. [Martin Fowler]
  • Commenting on removing "X" on US passports - The new US administration has decided to eliminate the “X” option for gender/sex on passports. I have several non-binary friends, and I don’t see why they should have to select an option that makes no sense for them. I also don’t see how an “X” option on identity documents causes a material problem for anyone else. There’s not much I can do to object to this change, but one little thing is to add a comment on the Federal Register for such rule changes. There are three such pages: DS-11 new passport application: (deadline 3/17/25) https://www. federalregister. [Martin Fowler]
  • (Naive) Reuse Considered Harmful? - Reuse per boxes and lines is great if you have no operational needs... [The Architect Elevator]
Permalink | From 24 February 2025 to 02 March 2025 | Last updated on: Mon, 3 Mar 2025 23:19:41 GMT

Week 8, year 2025

  • What role does LLM reasoning play for software tasks? - Recent LLM models have provided “reasoning” capabilities. Birgitta Böckeler asks what role these play with coding tasks. She doesn't have an answer, but does have questions and thoughts - and has not found such capabilities worthwhile so far. [Martin Fowler]
  • GenAI Patterns: Guardrails and RAG overview - Gen AI systems are gullible, and can easily be tricked into responding in ways that are contrary to an enterprise's policies or leak confidential information. Bharani Subramaniam and I describe how we can counter this by adding guardrails at the boundaries of the request/response flow. We also conclude our discussion of RAG with an overview of how all the RAG component patterns fit together. [Martin Fowler]
  • AutoMapper 14.0 Released - I pushed out version 14.0 (!) of AutoMapper over the weekend: Release notes NuGet This release targets .NET 8 (up from .NET 6 from the previous release). It's mainly a bug fix release, with some quality-of-life improvements in configuration validation where we gather up all the possible validation [Jimmy Bogard]
Permalink | From 17 February 2025 to 23 February 2025 | Last updated on: Wed, 19 Feb 2025 15:19:33 GMT

Week 7, year 2025

  • GenAI Patterns: Query Rewriting - Users often have difficulty writing the most effective queries. Bharani Subramaniam and I explain Query Rewriting: getting an LLM to formulate alternative queries to send to a RAG's retriever. [Martin Fowler]
  • GenAI Patterns: Reranker - LLMs struggle with large amounts of context. Bharani Subramaniam and I explain how to mitigate this common RAG problem with a Reranker which takes the document fragments from the retriever, and ranks them according to their usefulness. [Martin Fowler]
Permalink | From 10 February 2025 to 16 February 2025 | Last updated on: Thu, 13 Feb 2025 15:19:31 GMT

Week 6, year 2025

  • What's Cooking Inside AxonIQ's Kitchen - Our 2025 Outlook - AxonIQ isn’t here to play by the old rules—we’re here to rewrite them. Welcome to the latest deep dive into our world of making event sourcing easy, where we challenge assumptions and push boundaries with Axon Framework, Axon Server, and the radical shift that is Dynamic Consistency Boundaries (DCB). [AxonIQ Blog]
  • Retrieval Augmented Generation (RAG) - A pre-trained GenAI model lacks recent and specific information about a domain. Bharani Subramaniam and I explain how Retrieval Augmented Generation (RAG) can fill that gap. [Martin Fowler]
  • Panel at goto Copenhagen: "Where is SW development Going - was on a panel at goto Copenhagen last September with Holly Cummings, Trisha Gee, Dave Farley, and Daniel Terhorst-North. We discussed the current state of software development and where it was heading. Given the timing, there was much discussion about the role AI would play in our profession's future. [Martin Fowler]
  • GenAI Patterns: RAG Limitations and Hybrid Retriever - Today Bharani Subramaniam and I outline four limitations to the simple RAG from yesterday, and the pattern that addresses the first of these: Hybrid Retriever. This tackles the inefficiencies of embeddings-based search by combining it with other search techniques. [Martin Fowler]
  • GenAI Patterns: Retrieval Augmented Generation (RAG) - A pre-trained GenAI model lacks recent and specific information about a domain. Bharani Subramaniam and I explain how Retrieval Augmented Generation (RAG) can fill that gap. [Martin Fowler]
  • The DeepSeek Series: A Technical Overview - The appearance of DeepSeek Large-Language Models has caused a lot of discussion and angst since their latest versions appeared at the beginning of 2025. But much of the value of DeepSeek's work comes from the papers they have published over the last year. Shayan Mohanty provides an overview of these papers, highlighting three main arcs in this research: a focus on improving cost and memory efficiency, the use of HPC Co-Design to train large models on limited hardware, and the development of emergent reasoning from large-scale reinforcement learning [Martin Fowler]
Permalink | From 03 February 2025 to 09 February 2025 | Last updated on: Thu, 6 Feb 2025 15:19:29 GMT

Week 5, year 2025

  • Emerging Patterns in Building GenAI Products - Everyone is fascinated about using generative AI these days, and my colleagues are no exception. Some of them have had the opportunity to put these system into practice, both as proof-of-concept, and more importantly as production system. I've known Bharani Subramaniam for many years as a technology leader in India, he's been assembling the lessons we've learned and I've worked with him to describe them as patterns. In this first installment, we look the limits of the base case of Direct Prompting, and how we might assess the capability of a system using Evals. [Martin Fowler]
  • Embeddings in GenAI Products - GenAI systems, like many modern AI approaches, have to handle vast quantities of data, and find similarities between elements in an image or chunk of words. Bharani Subramaniam and I describe a key tool to do this - Embeddings - transforming large data blocks into numeric vectors so that embeddings near each other represent related concepts [Martin Fowler]
  • Bliki: Forest And Desert - The Forest and the Desert is a metaphor for thinking about software development processes, developed by Beth Andres-Beck and hir father Kent Beck. It posits that two communities of software developers have great difficulty communicating to each other because they live in very different contexts, so advice that applies to one sounds like nonsense to the other. The desert is the common world of software development, where bugs are plentiful, skill isn't cultivated, and communications with users is difficult. The forest is the world of a well-run team that uses something like Extreme Programming, where developers swiftly put changes into production, protected by their tests, code is invested in to keep it healthy, and there is regular contact with The Customer. Clearly Beth and Kent prefer The Forest (as do I). But the metaphor is more about how description of The Forest and the advice for how to work there often sounds nonsensical to those whose only experience is The Desert. [Martin Fowler]
Permalink | From 27 January 2025 to 02 February 2025 | Last updated on: Sat, 1 Feb 2025 15:19:31 GMT

Week 4, year 2025

  • Codemods in other languages - Juntao Qiu finishes his description of codemods by looking at some other approaches outside the JavaScript world such as JavaParser and OpenRewrite. [Martin Fowler]
  • Podcast with Luca Rossi - Luca Rossi hosts a podcast (and newsletter) called Refactoring, so it's obvious that we have some interests in common. The tile comes from me leaning heavily on Beth Anders-Beck and Kent Beck's metaphor of The Forest and The Desert. We talk about the impact of AI on software development, the metaphor of technical debt, and the current state of agile software development. [Martin Fowler]
Permalink | From 20 January 2025 to 26 January 2025 | Last updated on: Fri, 24 Jan 2025 23:19:33 GMT