Week 35, year 2020

  • DDD Weekly: Issue #67 - Experimenting with Remote Wardley Mapping [video] Nick Tune. Wardley Mapping is a strategic tool for anticipating how domains will evolve over time. In this session, we’ll learn the basic theory behind Wardley Maps and then jump into hands-on exercises. Designing a Domain Model to enforce No Duplicate Names [github] Steve Smith. You have some entity in your domain model. This entity has a name property. You need to ensure that this name is unique within your application. [DDD Weekly]
  • A short review of Coup 53 - Coup 53 is a recent documentary of the American-led coup against Mohammad Mosaddegh, the leader of Iran in 1953. It's a worthwhile telling of an oft-overlooked piece of history, even if the meta-narrative that drives the documentary isn't properly examined. more… [Martin Fowler]
  • Constrained Open Generics Support Merged in .NET Core DI Container - Continuing the trend of extremely long blog titles...years ago I opened a pull request for supporting constrained open generics in the built-in Microsoft.Extensions.DependencyInjection container. And another. And another....and another. But I did not give up hope - after porting through a couple repo moves and consolidations, [Jimmy Bogard]
Permalink | From 24 August 2020 to 30 August 2020 | Last updated on: Sat, 24 Jul 2021 15:30:13 GMT

Week 34, year 2020

  • photostream 124 - Two Ocean Lake Trail, Grand Tetons N.P., WY (2011) [Martin Fowler]
  • Distributed Systems Pattern: Singular Update Queue - When the state needs to be updated by multiple concurrent clients, we need it to be safely updated with one at a time changes. Generally locks are used to protect against concurrent modifications. But if the tasks being performed are time consuming, like writing to a file, blocking all the other calling threads until the task is completed can have severe impact on overall system throughput and latency. It is important to make effective use of compute resources, while still maintaining the guarantee of one at a time execution. more… [Martin Fowler]
  • Distributed Systems Pattern: Request Pipeline - Communicating between servers within a cluster using Single Socket Channel can cause performance issues if requests need to wait for responses for previous requests to be returned. To achieve better throughput and latency, the request queue on the server should be filled enough to make sure server capacity is fully utilized. more… [Martin Fowler]
  • Distributed Systems Pattern: Single Socket Channel - When we are using Leader and Followers, we need to ensure that messages between the leader and each follower are kept in order, with a retry mechanism for any lost messages. We need to do this while keeping the cost of new connections low, so that opening new connections doesn't increase the system's latency. A Single Socket Channel maintains the order of the requests sent to a server by using a single TCP connection more… [Martin Fowler]
  • A brief review of the Kinesis Advantage2 ergonomic keyboard - About three-and-a-half years ago I bought a Kinesis Advantage2 ergonomic keyboard. This tool isn't cheap, and it's rather unusual in its layout. But I use a keyboard all day, so I wanted one that maximized my comfort and enjoyment at my work. I've found it a worthwhile investment. more… [Martin Fowler]
  • Distributed Systems Pattern: Low-Water Mark - The write ahead log maintains every update to persistent store. It can grow indefinitely over time. Segmented Log allows dealing with smaller files at a time, but total disk storage can grow indefinitely if not checked. A Low-Water Mark acts an index in the write ahead log showing which portion of the log can be discarded. more… [Martin Fowler]
Permalink | From 17 August 2020 to 23 August 2020 | Last updated on: Mon, 7 Jun 2021 09:12:01 GMT

Week 32, year 2020

Permalink | From 03 August 2020 to 09 August 2020 | Last updated on: Mon, 18 Apr 2022 18:23:13 GMT

Week 31, year 2020

  • Quickly get started with @SpringBoot and @EventuateIO with start.eventuate.io - Quickly get started with @SpringBoot and @EventuateIO with start.eventuate.io The website start.eventuate.io is a quick and convenient way to start the development of an Eventuate/Spring Boot-based service. There are many Eventuate dependencies to choose from: If you want to using event sourcing, then select the Eventuate Local dependencies. Otherwise, if you want to use traditional persistence then select the Eventuate Tram and Eventuate Saga dependencies. Don’t forget you need to pick exactly one transport for the message broker that you want to use. Start.eventuate.io built on Spring Initialzr. [Eventuate, Inc]
Permalink | From 27 July 2020 to 02 August 2020 | Last updated on: Thu, 1 Jul 2021 12:32:48 GMT