Week 10, year 2021

  • Sponsored Post - 3T, Bridgecrew, Toptal, IP2Location, Ipdata, StackHawk, InterviewCamp.io, Educative, Triplebyte, Stream, Fauna [High Scalability]
  • The Legacy Mirror Heuristic - Decision-making heuristics are patterns and ideas that can help us find another angle, generate new options, evaluate them, or otherwise address the problem. They don’t guarantee a good answer, they only give you some possible progress towards an answers. The Legacy Mirror Heuristic1 helps you to evaluate whether to adopt a new idea, method, or technology. It works by imagining the new idea has actually been the mainstream choice for the past 30 years, and you just learned about the old idea for the first time. Example: EventSourcing (EventSourcing is a relatively niche way to store and work with data, based on a very old2 idea. ) A recurring question is whether to adopt EventSourcing in favour of more mainstream data storage. [Mathias Verraes]
  • Can command return a value? - Last week I busted common myths and explained facts about CQRS. Today I’ll continue my effort. I tackle one of the most common questions… [Event-Driven by Oskar Dudycz]
Permalink | From 08 March 2021 to 14 March 2021 | Last updated on: Thu, 1 Jul 2021 12:30:06 GMT

Week 9, year 2021

Permalink | From 01 March 2021 to 07 March 2021 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 8, year 2021

  • Why Partial<Type> is an extremely useful TypeScript feature? - If TypeScript were a friend of mine on Facebook, then I’d mark our relation as complicated. It’s a history of love & hate, or rather hate… [Event-Driven by Oskar Dudycz]
  • OpenTelemetry 1.0 Extensions Released - With the release of OpenTelemetry tracing specification reaching 1.0, and the subsequent release of the 1.0 release of the core components of .NET, I've pushed updates to my OpenTelemetry packages for: NServiceBus.Extensions.Diagnostics.OpenTelemetry MongoDB.Driver.Core.Extensions.OpenTelemetry While those packages didn't really change much, one [Jimmy Bogard]
  • Speed Matters - More than 20 years ago my team and I were working with my client on a web application. It was still 1999, so the dot-com bubble had not yet burst, but it would begin to weaken only five months or so into Y2K. And to think that everyone was concerned about worldwide computer failures at … Speed Matters Read More » The post Speed Matters appeared first on Kalele. [Kalele]
Permalink | From 22 February 2021 to 28 February 2021 | Last updated on: Sat, 7 May 2022 15:28:32 GMT

Week 7, year 2021

  • Engineering dependability and fault tolerance in a distributed system - This is a guest post by Paddy Byers, Co-founder and CTO at Ably, a realtime data delivery platform. You can view the original article on Ably's blog. Users need to know that they can depend on the service that is provided to them. In practice, because from time to time individual elements will inevitably fail, this means you have to be able to continue in spite of those failures. In this article, we discuss the concepts of dependability and fault tolerance in detail and explain how the Ably platform is designed with fault tolerant approaches to uphold its dependability guarantees. As a basis for that discussion, first some definitions: Dependability The degree to which a product or service can be relied upon. [High Scalability]
  • Sponsored Post - 3T, Bridgecrew, Toptal, IP2Location, Ipdata, StackHawk, InterviewCamp.io, Educative, Triplebyte, Stream, Fauna [High Scalability]
  • Benchmark (YCSB) numbers for Redis, MongoDB, Couchbase2, Yugabyte and BangDB - This is guest post by Sachin Sinha who is passionate about data, analytics and machine learning at scale. Author & founder of BangDB. This article is to simply report the YCSB bench test results in detail for five NoSQL databases namely Redis, MongoDB, Couchbase, Yugabyte and BangDB and compare the result side by side. I have used latest versions for each NoSQL DB and have followed the recommendations to run all the databases in optimized conditions. I have also used the default six test scenarios as defined by the YCSB framework. I have restricted it to 10M records for each test. [High Scalability]
  • How to set up a test matrix in XUnit? - Each country has the go-to place for hiding from daily struggles. In Poland, we have Bieszczady. It’s a mountain range that’s also the… [Event-Driven by Oskar Dudycz]
  • What's the difference between a command and an event? - What’s the difference between a command and an event? The answer seems apparent, but let’s see if it’s straightforward. The command… [Event-Driven by Oskar Dudycz]
  • Making Complex Topics Stick (Part 2: Composition) - A list of ingredients doesn't make a recipe. You need to know the right dosage. [The Architect Elevator]
Permalink | From 15 February 2021 to 21 February 2021 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT

Week 5, year 2021

Permalink | From 01 February 2021 to 07 February 2021 | Last updated on: Wed, 30 Jun 2021 14:03:57 GMT

Week 4, year 2021

  • Bliki: RefinementCodeReview - When people think of code reviews, they usually think in terms of an explicit step in a development team's workflow. These days the Pre-Integration Review, carried out on a Pull Request is the most common mechanism for a code review, to the point that many people witlessly consider that not using pull requests removes all opportunities for doing code review. Such a narrow view of code reviews doesn't just ignore a host of explicit mechanisms for review, it more importantly neglects probably the most powerful code review technique - that of perpetual refinement done by the entire team. One of the most pervasive perspectives in software is the notion that it's something we build and complete - hence the endless metaphor of building construction and architecture. Yet the key property of software is that it is soft, and can be as easily modified after it's released as it was when initially composed in the programmer's editor. That's why Erik Dörnenburg wisely argues that architecture is a poor metaphor and would be betterreplaced by town planning. [Martin Fowler]
  • Bliki: PullRequest - Pull Requests are a mechanism popularized by github, used to help facilitate merging of work, particularly in the context of open-source projects. A contributor works on their contribution in a fork (clone) of the central repository. Once their contribution is finished they create a pull request to notify the owner of the central repository that their work is ready to be merged into the mainline. Tooling supports and encourages code review of the contribution before accepting the request. Pull requests have become widely used in software development, but critics are concerned by the addition of integration friction which can prevent continuous integration. Pull requests essentially provide convenient tooling for a development workflow that existed in many open-source projects, particularly those using a distributed source-control system (such as git). [Martin Fowler]
  • Distributed Systems Pattern: Idempotent Receiver - Clients send requests to servers but might not get a response. It's impossible for clients to know if the response was lost or the server crashed before processing the request. To make sure that the request is processed, the client has to re-send the request. If the server had already processed the request and crashed after that, servers will get duplicate requests when the client retries. more… [Martin Fowler]
  • Maximizing Developer Effectiveness: Organizational Effectiveness - Tim finishes his article by looking at how highly effective organizations design their engineering organization to optimize for effectiveness and feedback loops. He illustrates what this looks like by the example of Etsy, who actively measures their ability to put valuable products into production quickly and safely, adjusting their technical investments to fix any blockers or slowness. more… [Martin Fowler]
  • What texting your Ex has to do with Event-Driven Design? - We sometimes feel melancholic, blue and a bit messy. When we enhance those feelings with “gummy berry juice” then various dubious ideas come… [Event-Driven by Oskar Dudycz]
  • Choosing a ServiceLifetime - A subtle source of errors and less-than-subtle source of frustration is understanding and using service lifetimes appropriately with .NET Core dependency injection. Service lifetimes, while complicated on the surface, can help developers that need to share state across different lifetimes of an application. Typically, a long-running application has three service [Jimmy Bogard]
  • Making Complex Topics Stick (Part 1: Content) - Ethos, Logos, and Pathos have to be built-in, not tacked on. [The Architect Elevator]
Permalink | From 25 January 2021 to 31 January 2021 | Last updated on: Tue, 25 Oct 2022 17:09:04 GMT