Archive for December 2021

Week 52, year 2021

  • Integrating Marten with other systems - In Event Sourcing, events are the source of truth. We save them in the event store to have a permanent history of facts about business… [Event-Driven by Oskar Dudycz]
  • 2021 Year End Review - Here’s a quick recap of blog posts I wrote in 2021. Agile Experience Reports Juggling Multiple Scrum Teams I introduce Iuri Ilatanski’s experience report about life as a multi-tasking Scrum Master. Juggling involves meeting each team’s specific needs. I was Iuri’s … Continue reading → [The Responsible Designer]
Permalink | From 27 December 2021 to 02 January 2022 | Last updated on: Mon, 18 Apr 2022 18:23:14 GMT

Week 51, year 2021

  • Models and Metaphors - One of us (Mathias) consulted for a client that acted as a broker for paying copyright holders for the use of their content. To do this, they figured out who the copyright holders of a work were. Then they tracked usage claims, calculated the amounts owed, collected the money, and made the payments. Understanding who owned what was one of the trickier parts of their business. — “It’s just a technical problem. ” — “But nobody really understands how it works!” — “Some of us understand most of it. [Mathias Verraes]
  • Models and Metaphors - When a complex technical domain isn’t easily captured in a model, look for metaphors that bring clarity. One of us (Mathias) consulted for a client that acted as a broker for paying copyright holders for the use of their content. … Continue reading → [The Responsible Designer]
  • Event Sourcing without Responsibility - This is a tale about our experience implementing event sourcing without even knowing it existed. We're a small software consultancy specializing in project work involving functional programming. It was 2015, and one of our clients was (still is, actually) a large auto-shop chain. [Event Store blog]
  • How to do snapshots in Marten? - Getting the state from events is a basic but controversial topic in Event Sourcing. I wrote on it longer in other article. To recap… [Event-Driven by Oskar Dudycz]
  • 21.10.1 Release Notes - We are pleased to announce the official release of EventStoreDB OSS & Commercial version 21.10.1 long-term support (LTS). This is a patch release that contains important fixes and changes made after the 21.10.0 LTS release. This LTS release will continue to be supported until October 2023. Read more about our versioning strategy here. [Event Store blog]
  • My favorite musical discoveries of 2021 - I listen to a lot of interesting music, so picked out my six favorite new-to-me albums this year. I hope you find something interesting to groove to in there. more… [Martin Fowler]
Permalink | From 20 December 2021 to 26 December 2021 | Last updated on: Mon, 18 Apr 2022 18:23:14 GMT

Week 50, year 2021

  • 20.10.5 Release Notes - We are pleased to announce the official release of EventStoreDB OSS & Commercial version 20.10.5 long-term support (LTS). This is a patch release that contains important fixes and changes from the 21.10.0 LTS release. This LTS release will continue to be supported until October 2022. Read more about our versioning strategy here. [Event Store blog]
  • A tech landscape and current climate sensing tool - Your own Tech Radar - Andrew's fourth supporting element for the Advice Process is using a tech radar to capture and map out your local version of the technology trends you see across your organization. more… [Martin Fowler]
  • Designing Netflix - This is a guest post by Ankit Sirmorya. Ankit is working as a Machine Learning Lead/Sr. Machine Learning Engineer at Amazon and has led several machine-learning initiatives across the Amazon ecosystem. Ankit has been working on applying machine learning to solve ambiguous business problems and improve customer experience. For instance, he created a platform for experimenting with different hypotheses on Amazon product pages using reinforcement learning techniques. Currently, he is in the Alexa Shopping organization where he is developing machine-learning-based solutions to send personalized reorder hints to customers for improving their experience. [High Scalability]
  • Treat integration as strategic to your business - Brandon finishes his article on how we should look at integration by arguing that it is a strategic element of an enterprise's infrastructure. You can buy the best products in the world but "none of it will make you competitive in a digital world if you continue to treat integration as a tactical nuisance to overcome so you take advantage of those new systems." more… [Martin Fowler]
  • CQRS is simpler than you think with .NET 6 and C# 10 - .NET and CQRS are well known for the high ceremony and enterprise feeling. You should treat that as superstition. Let me tell you why. CQRS… [Event-Driven by Oskar Dudycz]
  • How the advice process works in practice - Andrew finishes his article on how to scale software architecture by looking at how this technique works in practice, and also outlines how things can go wrong. more… [Martin Fowler]
  • How to Assert Database State? - Today, we’ll discuss a question that relates to my Unit Testing book: how to assert the state of the database? [Enterprise Craftsmanship]
  • Too Much Salt? - Practiced speakers and writers know that good examples rarely tell the whole story. Instead they shape their narratives to make the big ideas stand out. Stories are bent ever so slightly, plot details are pared down, leaving space for emphasis … Continue reading → [The Responsible Designer]
Permalink | From 13 December 2021 to 19 December 2021 | Last updated on: Mon, 18 Apr 2022 18:23:14 GMT

Week 49, year 2021

  • Use a general purpose language to manage the interface evolution - Many commercial integration tools market their ability to own the integration landscape and call out to general purpose languages as needed. While Brandon can appreciate the marketing behind such messaging — it promotes product penetration and lock-in — as architectural guidance, it is exactly backwards. Instead, we should almost always manage the interface evolution in a general purpose language for at least two reasons: so we can better manage the complexity of maintaining a clean interface, and so that we avoid the gravitational pull of our tool's mental model when making strategic integration decisions. more… [Martin Fowler]
  • Should you Abstract the Database? - This article is inspired by a tweet that I thought would be a good topic for discussion: should you abstract your database? [Enterprise Craftsmanship]
  • A time and place for conversations: The Architecture Advisory Forum - Andrew uses the Architecture Advisory Forum as a regular and recurring place and time for conversations. It's a weekly, hour-long, open invite meeting used to gather advice and share information across a broad group. more… [Martin Fowler]
  • Simple patterns for events schema versioning - Events (schema) versioning is a boogeyman for people learning Event Sourcing. They’re a spooky tale told at the campfire. There’s a truth in… [Event-Driven by Oskar Dudycz]
  • GenStage - Producer and consumer actors with back-pressure for Elixir. Project currently provides the following functionality: GenStage (behavior for implementing producer and consumer stages) and ConsumerSupervisor (a supervisor designed for consuming events from GenStage and starting a child process per event) [gen_stage via Aggregater Linklog]
  • Keep your streams short! Temporal modeling for fast reads and optimal data retention - Modeling is hard. We need to take so many things into account. This article will explain the basics of temporal modeling, a foundation for keeping your stream short living. It helps you efficiently use EventStoreDB, reducing the need for schema versioning and enabling you to evolve your event model with alignment to the business workflow. [Event Store blog]
  • Team-sourced Architectural Principles - Having architectural principles is not new, but in a world of highly-autonomous-teams they become essential because they are the means by which an aligned delivery direction is achieved without the need for control. In the latest installment, Andrew talks about what makes a good principle, and how they work with the Advice Process. more… [Martin Fowler]
  • Use commercial integration tools to simplify implementation concerns - Thus far, Brandon has has explained why general purpose languages are better for integration. In this latest installment he explains that there are cases when commercial integration tools make sense more… [Martin Fowler]
  • Sponsored Post - Wynter, Pinecone, Kinsta, Bridgecrew, IP2Location, StackHawk, InterviewCamp.io, Educative, Stream, Fauna, Triplebyte [High Scalability]
Permalink | From 06 December 2021 to 12 December 2021 | Last updated on: Wed, 29 Dec 2021 21:51:30 GMT