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
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
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