Week 25, year 2020

  • Natural Human Thinking - Event Storming vs Event Modeling - IT seems to mimic so much from how the human brain works. Similarities are striking. It’s just as if we were to build an artificial brain, sic. Let’s dive in: human short memory (example: you can repeat a sentence that you heard, but not yet understand it) vs processor cache human operation memory vs well operation memory (RAM) human long term memory vs disk space Let’s imagine the brain as a machine that processes information. It can learn so fast, process loads of data instantly. How it acquires information/learns - this how we should gather requirements for IT systems. So how is knowledge constructed, where is it stored and how?Human memory can be divided into 2 categories: This is semantic memory and episodic memory. Both are part of explicit (conscious, declarative) memory. Semantic memory refers to general world knowledge that we have accumulated throughout the experience - that is stored in episodic memory as a stream of events. Episodic memory can contain snapshots of images, scenes that happen one after another, it’s a book of stories with images and with no conclusions. The facts, ideas, and concepts can be derived from it, thus they build semantic memory, that might be expressed in higher-level brain language (according to some scientists). [Event Modeling Introduction on Event Modeling]
Permalink | From 15 June 2020 to 21 June 2020 | Last updated on: Fri, 15 Nov 2024 23:19:28 GMT

Week 21, year 2020

  • An overview of the Eventuate Platform - An overview of the Eventuate Platform Here is an overview of the Eventuate Platform. Slides An overview of the Eventuate Platform from Chris Richardson Video [Eventuate, Inc]
  • Asynchronous denormalization and transactional messaging with MongoDB change streams - MongoDB provides a very useful set of abstractions for building a reliable service. I've found in practice, few databases can rival its indexing, resiliency (automated failover, even between regions; sharding) and consistency (primary and secondary reads) characteristics and their corresponding client library support. Of course, for all that, you give up flexible transaction boundaries (among other things). With a traditional RDBMS, you can describe the data you need to fit your business model, and worry about isolating writes among different tables later. With document-stores like MongoDB, you must design your documents around sensible isolation boundaries and query patterns. So, when joins are needed, you're typically advised to denormalize the joined data in order to keep queries to a single document, but at the same time MongoDB provides little facilities for denormalizing data! [Alec Henninger via Aggregater Linklog]
Permalink | From 18 May 2020 to 24 May 2020 | Last updated on: Thu, 12 Aug 2021 17:04:57 GMT

Week 20, year 2020

  • DDD Weekly: Issue #66 - How to beat the CAP theorem [blog] Nathan Marz. This post is going to challenge your basic assumptions on how data systems should be built. But by breaking down our current ways of thinking and re-imagining how data systems should be built, what emerges is an architecture more elegant, scalable, and robust than you ever thought possible. The epistemology of software quality [blog] Hillel Wayne. Studies show that human factors most influence the quality of our work. [DDD Weekly]
Permalink | From 11 May 2020 to 17 May 2020 | Last updated on: Mon, 7 Jun 2021 09:10:49 GMT

Week 18, year 2020

  • How to create event-based workflows using predefined integrations - IFTTT, Zapier and Automate.io are efficient ways to extend your application's integration points. Serialized reactions can be used to build workflows based on your domain events to trigger or schedule workflows from these services. See our guides section for more details. [Serialized development blog]
  • How to Strengthen Requirements for Pre-existing Data - Need to change validation rules but have pre-existing data that doesn’t follow the new rules? In this post, we’ll talk about how to do that properly. [Enterprise Craftsmanship]
  • New version of the Eventuate platform released! - New version of the Eventuate platform released! We are excited to announce that a new version of the Eventuate platform has been released: Eventuate Tram Eventuate Tram Sagas Eventuate Local Eventuate CDC Service There are several major enhancements to the platform including: Support for Micronaut - see the Micronaut versions of the Eventuate example apps and the user manual Improved Eventuate CDC service performance - more on that in a later post start.eventuate.io - for quickly bootstrapping an Eventuate service: search for the Eventuate dependencies Please read this previous post on upgrading to this new version. [Eventuate, Inc]
  • Great User Experience Demands Event Modeling - “Context Without Measures is Helplessness; Measures Without Context is Chaos” It is no surprise that my five-year old son thinks that Google Home is a person. He talks to it like a person; giving thanks when it does what he wanted, and gets exasperated when it doesn’t. Given this context, what would great software be like if it was a person? I would argue that a hallmark of great software is that you think of it like a servant, or better yet, a butler. If we have one, what characteristics would such a person have? I would argue that great software user experience, like great people, provide the right context and measures to act upon receiving the context. [Event Modeling Introduction on Event Modeling]
Permalink | From 27 April 2020 to 03 May 2020 | Last updated on: Fri, 15 Nov 2024 23:19:28 GMT

Week 16, year 2020

  • New pricing model - To better help customers pick the right Serialized package we have introduced subscription plans specifically tailored for Business-To-Consumer (B2C) and Business-To-Business (B2B) companies. [Serialized development blog]
  • 5 important things you should know to succeed with Event Sourcing - This is a checklist of the most important things to get started on the right track for building sytems using Event Sourcing. [Serialized development blog]
  • When to Mock - The use of mocks in unit testing is a controversial topic (maybe less so now than several years ago). I remember how, throughout my programming career, I went from mocking almost every dependency, to the "no-mocks" policy, and then to "only mock external dependencies". None of this practices are good enough. In this article, I’ll show you which dependencies to mock, and which to use as is in your tests. [Enterprise Craftsmanship]
Permalink | From 13 April 2020 to 19 April 2020 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT