Blog

Articles, guides, and notes on software engineering.

Delegation Over Inheritance
Application 2025-10-20

Delegation Over Inheritance

Learn duck typing and Liskov Substitution Principle. Build resilient Go applications using delegation patterns over inheritance.

#Duck Typing#Liskov Substitution Principle#Delegation#Inheritance#Golang

Recent Posts

Why Interfaces Change Less Frequently Than Implementations
Application 2025-10-18

Why Interfaces Change Less Frequently Than Implementations

Understand why Go interfaces change less frequently than implementations, stabilizing contracts while allowing implementation flexibility.

#Golang#Interface
Why the Singleton Pattern is an Anti-Pattern
Application 2025-10-18

Why the Singleton Pattern is an Anti-Pattern

Examine why the Singleton pattern creates architectural problems and dependency injection provides superior design alternatives.

#Singleton Pattern#Golang
Understanding Terminal Specifications for TUI Development
Application 2025-10-18

Understanding Terminal Specifications for TUI Development

Explore terminal specifications, raw mode, ANSI escape sequences, and termios for TUI development with practical Go implementations.

#TUI#termios#Terminal#UNIX#Golang
Test Doubles Explained: Mocks, Stubs, Fakes, and Spies
Testing 2025-10-18

Test Doubles Explained: Mocks, Stubs, Fakes, and Spies

Learn the differences between test doubles: mocks, stubs, fakes, dummies, and spies. Understand when to use each type and how they improve unit test isolation and clarity.

#Golang#Test Double
Trends and Strategies for System Design Interviews
Architecture 2025-09-29

Trends and Strategies for System Design Interviews

Trends and Strategies for System Design Interviews

#System Design#Architecture#Book Review
Street Coder
Application 2025-09-20

Street Coder

Street Coder

#Coding#Book Review
Session-based and Token-based Authentication Methods
Architecture 2025-09-17

Session-based and Token-based Authentication Methods

A comprehensive comparison and explanation of session-based and token-based authentication methods, covering technical details and implementation considerations.

#Authentication#Authorization
Understanding Functional Programming
Application 2025-08-31

Understanding Functional Programming

Understanding Functional Programming

#Functional#Book Review
What is the Architecture Advice Process (AAP)?
Architecture 2025-08-16

What is the Architecture Advice Process (AAP)?

Implement Architecture Advice Process for decentralized decision-making with ADR and architectural governance frameworks.

#Architecture Advice Process#Architecture Review Board#Architecture
Created a Spec Repository
Development Process 2025-08-11

Created a Spec Repository

Discover the bmf Framework and Cynefin-based story point estimation methods. Access community specifications and best practices.

#GitHub
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
Architecture 2025-08-11

Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems

Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems

#Modeling#Design#System Design#Book Review
Exploring Processes, Goroutines, and Memory in Go
Application 2025-08-09

Exploring Processes, Goroutines, and Memory in Go

Explore Go virtual address spaces, process isolation, goroutine memory sharing, stack and heap behavior.

#Golang#Memory#Heap#Stack#Process#Thread
Introduction to Prolog
Application 2025-08-09

Introduction to Prolog

Introduction to Prolog

#Prolog#Book Review
The Penguin Who Became a Seagull
Management 2025-08-09

The Penguin Who Became a Seagull

The Penguin Who Became a Seagull

#Organizational Theory#Book Review
The Importance of Explicitly Stating Constraints and Trade-offs in Technical Decision Making
Architecture 2025-08-05

The Importance of Explicitly Stating Constraints and Trade-offs in Technical Decision Making

Document technical decisions by explicitly stating constraints and trade-offs to enable future re-evaluation and org growth.

#Architecture#System Design
Basic Patterns of Cache Strategies
Architecture 2025-08-03

Basic Patterns of Cache Strategies

Learn the five cache strategies: Cache Aside, Read Through, Write Through, Write Back, and Write Around. Covers read/write flows, consistency trade-offs, and mermaid diagram walkthroughs.

#Cache#System Performance
ACID vs BASE: Understanding Database Consistency Models
Architecture 2025-08-02

ACID vs BASE: Understanding Database Consistency Models

Compare ACID and BASE consistency models. Understand the trade-offs involved, when to use each, and how the CAP theorem connects to your database design choices.

#ACID#BASE
CAP Theorem Explained: Understanding Distributed Database Trade-offs
Architecture 2025-08-02

CAP Theorem Explained: Understanding Distributed Database Trade-offs

Understand the CAP theorem and PACELC theorem with clear examples. Learn the distributed system trade-offs between consistency, availability, and partition tolerance.

#CAP#PACELC#Distributed Systems
About Processing Models of Web Applications
Architecture 2025-08-02

About Processing Models of Web Applications

Architect web applications with Event Loop, Thread, and Process models for IO-bound and CPU-bound concurrent workloads.

#Event Loop#Thread#Process