Archive for January 2025

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

Week 3, year 2025

  • Fixing Common Pitfalls of Codemods - So far the codemods that Juntao Qiu has described are fascinating, but rather straightforward. Real codebases offer more challenges. In this installment, he goes into how to tackle more complicated cases by composing codemods. [Martin Fowler]
Permalink | From 13 January 2025 to 19 January 2025 | Last updated on: Wed, 15 Jan 2025 15:19:30 GMT

Week 2, year 2025

  • Refactoring with Codemods to Automate API Changes - As a library developer, you may create a popular utility that hundreds of thousands of developers rely on daily, such as lodash or React. Over time, usage patterns might emerge that go beyond your initial design. When this happens, you may need to extend an API by adding parameters or modifying function signatures to fix edge cases. The challenge lies in rolling out these breaking changes without disrupting your users’ workflows. Juntao Qiu begins an article to explain how we can use codemods to tackle this. Codemods are a tool automating large-scale code transformations, allowing developers to introduce breaking API changes, and refactor legacy codebases. [Martin Fowler]
  • A more complex codemod - Juntao Qiu moves onto a more complex example of a codemod, one that extracts a tooltip responsibility from a JSX component. This illustrates how to manipulate the AST in several steps. [Martin Fowler]
  • My favorite musical discoveries of 2024 - I've got into the habit of starting the New Year by sharing six favorite albums I discovered during the last year. This years set includes Celtic jazz, trip-hop neo-fado, jazz-fusion for the 2020's, playful harmonies, and a vibrant collaboration between Indian classical musicians and a string quartet. (I was also unable to limit myself to six.) [Martin Fowler]
  • Enterprise Architects: From Cartographers to Scouts - Check the map, and then go have a look for yourself. [The Architect Elevator]
  • Simplified getting started experience for Spring Boot applications - Simplified getting started experience for Spring Boot applications There’s a new guide that describes a simpler getting started experience for Spring Boot applications that use the Eventuate platform. It currently describes how to configure Gradle. The Maven instructions will be added soon. [Eventuate, Inc]
  • How to build MongoDB Event Store - I have always said that MongoDB is not the best choice for event storage, and guess what? I just released the stable version of the MongoDB… [Event-Driven by Oskar Dudycz]
Permalink | From 06 January 2025 to 12 January 2025 | Last updated on: Sat, 11 Jan 2025 15:19:27 GMT