Week 52, year 2020

  • My favorite musical discoveries of 2020 - Like most people, I'm looking forward to seeing 2020 in the rear-view mirror, but even this ugly year has brought some good things. For the last three decades I've regularly bought a few albums every month, and I thought I'd pick out a half-dozen favorites in the hope that they lead some readers to share at least a bit of my musical tastes. I've been doing most of my musical buying on Bandcamp, so you can easily sample them. more… [Martin Fowler]
  • How to (not) do the events versioning? - Developers that are not running a system in production might call themselves lucky. They can live in their perfect world. It is a world… [Event-Driven by Oskar Dudycz]
Permalink | From 21 December 2020 to 27 December 2020 | Last updated on: Tue, 8 Jun 2021 12:42:23 GMT

Week 51, year 2020

Permalink | From 14 December 2020 to 20 December 2020 | Last updated on: Sat, 24 Jul 2021 15:30:13 GMT

Week 50, year 2020

Permalink | From 07 December 2020 to 13 December 2020 | Last updated on: Mon, 17 Jun 2024 22:06:36 GMT

Week 49, year 2020

  • Data Mesh Principles and Logical Architecture - Last year, my colleague Zhamak Dehghani introduced the notion of the Data Mesh, shifting from the notion of a centralized data lake to a distributed vision of data. Based on more thinking, and the lessons of a year's worth working with clients, she's now written an article outlining four foundational principles of a data mesh, and how they drive a logical architecture. more… [Martin Fowler]
  • Revolution now! - Did you ever get an offer that someone will pay you for what you are currently doing as a hobby? What would be your decision if that would… [Event-Driven by Oskar Dudycz]
Permalink | From 30 November 2020 to 06 December 2020 | Last updated on: Tue, 8 Jun 2021 12:42:23 GMT

Week 48, year 2020

Permalink | From 23 November 2020 to 29 November 2020 | Last updated on: Tue, 8 Jun 2021 12:42:23 GMT

Week 47, year 2020

  • Don't put data science notebooks into production - We've come across many clients who are interested in taking the computational notebooks developed by their data scientists, and putting them directly into the codebase of production applications. My colleague David Johnston points out that while data science ideas do need to move out of notebooks and into production, trying to deploy that notebooks as a code artifact breaks a multitude of good software practices. Predictably, that results in a number of observed pain points. This behavior is a symptom of a deeper problem: a lack of collaboration between data scientists and software developers. more… [Martin Fowler]
  • Bliki: ComputationalNotebook - A computational notebook is an environment for writing a prose document that allows the author to embed code which can be easily executed with the results also incorporated into the document. It's a platform particularly well-suited for data science work. Such environments include Jupyter Notebook, R Markdown, Mathematica, and Emacs's org-mode. When I'm exploring some data, it's useful to keep my notes close together with the code that performs the exploration. I like to try some code, look at the results, and note down any observations I have from that execution. A computational notebook allows me to combine these together easily in a single document. [Martin Fowler]
  • Vertical Slice Example Updated to .NET 5 - With the release of .NET 5, I wanted to update my Vertical Slice code example (Contoso University) to .NET 5, as well as leverage all the C# 9 goodness. The migration itself was very simple, but updating the dependencies along the way proved to be a bit more of a [Jimmy Bogard]
  • Occurrent – Event Sourcing for the JVM - Occurrent is an event sourcing library for the JVM that I have been working on since the summer of 2020. There are several good options for doing event sourcing on the JVM already (such as Axon and Akka) so why did I set out to create something new? This is what we’re going to explore in this article. I intend to write several blog posts on Occurrent in the future with more guides and examples. [Johan Haleby via Aggregater Linklog]
  • The Architect’s Path (Part 2 - Bookshelf) - Growing an architect is different from growing a system. This bookshelf will help. [The Architect Elevator]
Permalink | From 16 November 2020 to 22 November 2020 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 46, year 2020

  • Set Based Consistency Validation - Requests like “How do I ensure the email address in a User aggregate is unique?” or “How do I ensure usernames are only used once on command handling?” reach us quite often. We can rephrase them simply as so: How do I consistently validate consistency among a set in such a system? None of these are Axon specific problems, really, but more so issues you would encounter when using CQRS in combination with Event Sourcing. [Axon Framework and related blogs via Aggregater Linklog]
Permalink | From 09 November 2020 to 15 November 2020 | Last updated on: Tue, 3 Aug 2021 05:28:12 GMT