Archive 2025
82 articles
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
A review of a book on driving the domain with data modeling. Centered on the concept of ledgers, it systematically explains data modeling for making core systems distributed and loosely coupled. It proposes splitting activity and management systems and a new 'balance' concept, offering practical guidance for DDD and microservices.
Exploring Processes, Goroutines, and Memory in Go
Explore Go virtual address spaces, process isolation, goroutine memory sharing, stack and heap behavior.
Introduction to Prolog
A review of Introduction to Prolog. A book that touches on the basics of Prolog, a logic and declarative language. Even read to gain background for learning Rego, and even without fully grasping its deeper philosophy, you can take away the essence of declarative programming.
The Penguin Who Became a Seagull
A review of Our Iceberg Is Melting. A fable of organizational change for learning how to solve problems and form teams in an environment that demands change. You experience Kotter's eight-step process for leading change through story, one for leaders and managers who drive change to keep in mind.
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.
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.
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.
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.
About Processing Models of Web Applications
Architect web applications with Event Loop, Thread, and Process models for IO-bound and CPU-bound concurrent workloads.
What Is Rego? An Introduction to the Open Policy Agent Policy Language
What is Rego? Rego is the declarative policy language of Open Policy Agent (OPA). This guide covers its syntax and data structures, rules, control structures, comprehensions, built-in functions, and testing.
A Retrospective Framework 'bmf' to Encourage Selection and Focus
While KPT (Keep, Problem, Try) is the standard for retrospectives, I wanted to devise a framework of my own, and this article lays out that idea. It introduces the bmf framework, standing for Build, Miss, and Focus, as a way to encourage selection and focus in your retrospectives.
Practical Techniques for Building System Architecture
A review of Practical Techniques for Building System Architecture. A practical guide for engineers doing architecture design in the field. Where the prior book focused on why, this one covers how, from requirements definition to logical and physical design and documentation through views, introducing concrete techniques useful on the ground.
Created a Template to Manage Resumes and CVs with Markdown
Manage professional resumes and CVs using Markdown format with Git version control, automated PDF generation, and AI-powered improvements.
Developing TUI Applications with x/term
Develop TUI applications with Go's x/term package—master terminal state management, ANSI escape sequences, and interactive interfaces.
About Architecture, Architects, and Architecting
Understand architecture as essential system structure, architect responsibilities, and architecting activities for building aligned systems.
Principles of Building System Architecture: Three Mindsets IT Architects Should Have
A review of Principles of Building System Architecture. A must-read if you are involved in architecture design. Beyond technical solutions, it systematically articulates the whole design process, from the definition and framing of architecture to engaging stakeholders and design techniques.
Linux Load Average Explained: How to Read and Diagnose Performance Issues
A practical explanation of what Load Average means on Linux, the metric you often see in commands like top and uptime. Since it represents processes waiting to run and indicates how congested a system is, the article covers how to read its three values, how to diagnose high load, and how it differs from CPU utilization.
Cohesion and Coupling
Understand cohesion and coupling as software design metrics. Learn the 7 levels of cohesion (coincidental to functional) and 6 levels of coupling (content to data) with practical examples.
Access Control Patterns Using OPA
Explore four access control patterns using Open Policy Agent including Allow/Deny, SQL generation, and AST approaches with responsibility separation.
Introducing ggc — A Go-Based Git Tool
A complete walkthrough of ggc: the CLI/interactive split architecture, fuzzy-search engine implementation, Workflow Mode internals, customisable aliases, and cross-platform keybinding profiles.