Blog Logo
TAGS

Event transformations, a tool to keep our processes loosely coupled

One of the biggest pains in traditional software design is accidental complexity. Event Sourcing can help with that, as it focuses on the business process and allows for backward compatibility. With E...

Read more...

Visual Studio for Mac Retirement Announcement

Today we are announcing the retirement of the Visual Studio for Mac IDE. Visual Studio for Mac 17.6 will continue to be supported for another 12 months, until August 31st, 2024, with servicing updates...

Read more...

What is rustc_codegen_clr?

# What is rustc_codegen_clr? *NOTE: this project is a very early proof-of-concept* This is a compiler backend for rustc which targets the .NET platform and runtime, and could enable compiling rust cod...

Read more...

Designing Microservices with CQRS and Event Sourcing in .NET

Understanding CQRS and Event Sourcing in .NET with a practical example using a simple banking application to explain these key concepts in software design. Combining CQRS and Event Sourcing can make a...

Read more...

# .NET 6 OpenAPI with TypeScript Client Generation

This is a sample application demonstrating .NET 6 with OpenAPI client code generation. While gRPC and GraphQL seem to be en vogue, REST with OpenAPI offers many of the same benefits in terms of contra...

Read more...

Generate ASP.NET Core OpenAPI Spec At Build Time

I recently worked with Swashbuckle, a .NET package that can generate Swagger 2.0 and OpenAPI 3.0 specifications from existing ASP.NET Core solutions. The benefit of the library is we can write HTTP AP...

Read more...

How .NET 7.0 boosted AIS.NET performance by 19%

At endjin, we maintain Ais.Net, an open source high-performance library for parsing AIS message. Last year when .NET 6.0 came out, we re-ran our benchmarks and found a 20% performance boost. Weve repe...

Read more...

Prototyping, an underestimated design skill

Coding is an underestimated part of the design. When we think about the design, we immediately fall to whiteboard diagrams, sticky notes, or endless discussions. That’s fine and one way of doing thing...

Read more...

From order to chaos: Anti-patterns in Unity software design

Unity is undeniably a powerful game engine, but there’s a disheartening trend I can’t ignore: Too many projects developed with Unity end up in a complete mess. In the Unity project graveyard, many ven...

Read more...

An in-depth guide to Dapr workflow patterns in .NET

After covering Dapr workflow basics in the previous article, let’s take a look at the different application patterns that can be used with Dapr workflow and .NET. The patterns covered in this post are...

Read more...

Rich Domain Model with DDD/TDD (Reviewed)

Through my journey of building Domain Models I had good and bad experiences that today I share with you to save a few hours of your development time. These are opinionated approaches that I follow whe...

Read more...

Introducing Predictive Debugging: A Game-Changing Look into the Future

With the introduction of debugging tools, software developers were empowered to interactively investigate the control flow of software programs to find bugs in live environments. At JetBrains, we’ve a...

Read more...

Tales from the .NET Migration Trenches - Intro

Over the past year or so Ive been part of a large-ish modernization effort, both migrating from .NET 4.8 to .NET 6 (the latest LTS at the time) and from an on-premise deployment to Azure. While these ...

Read more...

AWS Cognito and Web Applications – Protecting and Accessing APIs (JavaScript and .NET Core)

A typical web application consists of a frontend (HTML, JavaScript, CSS), a backend (e.g. REST API) and database for persistence. Token based authentication is a very common way to manage authenticati...

Read more...

A cheat sheet to migrate from Moq to NSubstitute

Tim Deschryver wrote a blog post titled A cheat sheet to migrate from Moq to NSubstitute on August 14, 2023. The article provides a comprehensive guide on migrating from Moq to NSubstitute. It covers ...

Read more...

Elsa Workflows

Elsa Core is a workflows library that enables workflow execution in any .NET Core application. Workflows can be defined using code and using the visual workflow designer. Documentation can be found [h...

Read more...

# Hashids

A small .NET package to generate YouTube-like IDs from numbers. It converts numbers like `347` into strings like `yr8`, or array of numbers like `[27, 986]` into `3kTMd`. You can also decode those IDs...

Read more...

ASP.NET Core: How to Maximize Performance and Scalability of Your App

Whether you have an app with just a few users or millions of users per day, like Agoda, improving the user experience by optimizing application performance is always crucial. In the case of very high-...

Read more...

Warnings with latest version from SponsorLink

Hey team, I appreciate the effort, and really like Moq, thank you for creating it! In one project, I just did a dependency update and noticed that I get MOQ101 warnings when building in Visual Studio,...

Read more...

NonEmpty catamorphism by Mark Seemann

The universal API for generic non-empty collections, with examples in C# and Haskell. This article explores the concept of catamorphisms and how they can be used to digest data structures into potenti...

Read more...