Blog

Minimal CQRS: separate code paths, keep one application and one database

CQRS can start with separate command and query paths in one application using one database. The boundary is about responsibilities before infrastructure.

engineering architecture #architecture #cqrs #cqs #dotnet #csharp

CQS and commands: make the application understand intent

A behavior-focused command tells the application what a user wants to do, so validation, authorization, and business rules have one clear home.

engineering architecture #architecture #cqrs #cqs #dotnet #csharp

When CRUD stops describing the work

CRUD works for simple data. It starts to fail when updates hide business intent and reads need a different model.

engineering architecture #architecture #cqrs #cqs #dotnet #csharp

Async, concurrency, and parallelism are different

Async avoids blocked waits, concurrency coordinates overlapping work, and parallelism uses multiple CPU cores.

engineering software-development #csharp #dotnet #async #concurrency #parallelism

Why async programming exists

Async programming keeps an application useful while it waits for I/O.

engineering software-development #csharp #dotnet #async

Three Ways to Clean Up Local Git Branches

Keep local Git branches under control with targeted pruning, merged-branch cleanup, or a full local reset.

engineering #git #developer-productivity #workflow

Building This Blog Without Building a CMS

How this bilingual static blog turns Markdown and editable HTML into a small, deployable site without a database or frontend framework.

engineering #typescript #static-site #web-development