Posts

2024

Solving Code Review Frustrations with CodeRabbit AI Automation 🤖

Speed up Code Reviews!

Nazi Submarines, High-Tech Toilets, and Lessons in Software Engineering

Do not flush the toilet; it may initialize the self-destruct sequence.

Tidy First?: A Personal Exercise in Empirical Software Design

The biggest cost of code is the cost of reading and understanding it, not the cost of writing it

Book: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

This Is the Way

Cusdis

A lightweight, privacy-first, open-source comment system

Book: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition

A classic book with teachings we keep ignoring

Entity–Attribute–Value Model: An Antipattern?

Great idea that works great until it doesn't.

Tarpit Ideas - A Personal Experience

Why do dumb ideas so often look great for amateurs?

2023

Anonymous (Developer) Communities

The 3 Month Experiment

Vim Movements: A Journey Through Time and Text

Library: Refit

Simplify Your API Calls

Web components with Blazor .NET 7

Inject order into JavaScript frameworks by replacing them with C# Web Components

Book: Thinking in Systems: A Primer

Introduction to systems thinking

Book: Serverless Apps: Architecture, patterns, and Azure Implementation

Introduction to Microsoft's Serverless Offering

Finding the Perfect Date: Exploring DateTime Formats for Developers

The bane of every developer's existence.

Book: Nonviolent Communication: A Language of Life

Better way for communication?

bUnit

A Testing library for Blazor components

Book: .NET Microservices Architecture for Containerized .NET Applications

Yet another free e-book from Microsoft

Book: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

One of my favourite computer science books

Book: The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses

Also known as "The list of things I did wrong with my startups"

Creating flashcards with ChatGPT

Can you speed up the process of creating flashcards with generative AI?

Public Nested Classes

Are public nested classes really so bad?

Book: Just Enough Software Architecture: A Risk-driven Approach

Practical book about Software Architecture

Book: The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition

Developer's Journey to Mastery

Book: Modernize existing .NET applications with Azure cloud and Windows Containers

Introduction to Docker and Azure

2022

Book: The Checklist Manifesto: How to Get Things Right

Do we need an entire book for checklists?

Sass for Blazor

Should we compile Sass on Dev Machine or Build Server?

Fonts for developers

Are fonts with ligature the solution?

ZoomIt - Annotation Tool

Simple, but great Annotation Tool

Dapr - The Distributed Application Runtime

Microsoft's Sidecar for Distributed Applications

Book: Learning Dapr: Building Distributed Cloud Native Applications (2020)

A great introduction to Dapr!

Book: Dapr for .NET Developers

Microsoft's Introduction to Dapr

Ambassador, Sidecar, and Adapter Pattern

Deploy parts of the application as a separate process/container - sidecar and other related patterns

Book: Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith

The companion book for popular Building Microservices: Designing Fine-Grained Systems book

Book: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

The classic book that defined modern system design and messaging

Library: HashIds - Masking System Data (Id Series)

Hiding identifiers

NCEFMRFVSxU - .Net Core + EF + MediatR + FluentValidation + Serilog + xUnit

The Heavenly (dev) Kingdom? Or the Little Slice of (dev) Hell

Creating Custom Randomized Sequential Ids (Id Series)

Guid ❤

Book: Building Microservices: Designing Fine-Grained Systems 2nd Edition (2021)

A book that arguably started a "Microservices" movement in the industry

Cascade Deletion Purge and The Void World of Soft Deletion

The Void is here, and it is real.

Library: Bogus

Fake data generator

Book: Presentation Patterns

Presentation skills for people who don't like presentations and love patterns

2021

Book: Fundamentals of Software Architecture: An Engineering Approach

Great fundamentals book

Anki - Learning with Spaced Repetition Apps

Intelligence-based Superpower you can actually have

2020

Strangler pattern

Gradually migrate a legacy system to new applications and services

Anti-Corruption Layer

Create a facade/adapter layer between different subsystems that do not share the same semantics

Cache-Aside pattern

Cache mostly static data

Book: Blazor for ASP.NET Web Forms Developers

Old dogs can learn new tricks

CAP theorem

Consistency, Availability, Partition tolerance - Choose two

Gateway Routing pattern

Simplify the consumption of multiple services

Gateway Offloading pattern

Move specialized and common functionalities to a gateway

Gateway Aggregation pattern

Single service as aggregator of multiple individual requests

Backends for Frontends pattern

Create a separate backend service for each frontend application or interface

Materialized View Pattern

Speed up quering by having a 'materialized' copy of data

Architecture Decision Record - ADR

Document 'Why', not What

System Design: Synchronizing large sums of Shared Data from Centralized Server with Multi-tenant Solution with separate SQL Server Databases (and maybe other Services with NoSQL).

Event sourcing for data synchronization

Event Sourcing

Capture all state changes as a sequence of events

Chocolatey

Simplify Installations

PlantUML

Create UML diagrams by writing text

Markdown Basics

Finally, a developer's markup language for writing

SQL Server Temporal Tables

System-versioned temporal tables in SQL Server

Soft Updates

...and Soft Deletes

Clean Architecture Resources

Resources for Clean Architecture I have found useful