Blog
Articles, guides, and notes on software engineering.
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.
Recent Posts
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.
Go's Concurrency and Parallelism Model and Goroutine Scheduling
Understand Go concurrency vs. parallelism. Covers goroutine scheduling, GOMAXPROCS, the GMP model, OS threads vs. goroutines, and how preemption works with sequence diagram examples.
Considerations and Solutions for Pagination Impact in OPA
Master pagination with Open Policy Agent, offset pagination, cursor pagination, and access control filtering.
PostgreSQL Memory Configuration
Guidelines for optimizing PostgreSQL memory settings for performance and stability. It works through key parameters such as shared_buffers, work_mem, and maintenance_work_mem, covering how to improve response times while avoiding out-of-memory situations.
Understanding IO and CPU Characteristics in Ruby and Rails
Understand Ruby GVL, Puma concurrency, IO-bound vs CPU-bound workloads, thread/process tuning, and GC impact on Rails performance.
Considering the Shelf Life of Design
Consider design shelf life across business, organization, product, and technical perspectives. Balance constraints and trade-offs.
Measuring Scalability
Measure system scalability using throughput, latency, efficiency metrics, mathematical models like Amdahl's Law, and practical benchmarking.
Cloud-Native Architecture: Mastering Availability and Cost-Effectiveness in Next-Gen Design Principles
Notes from reading the book Cloud-Native Architecture: Mastering Availability and Cost-Effectiveness in Next-Gen Design Principles. It summarizes the fundamentals of cloud-native thinking, along with the design principles and trade-offs involved in building for availability and cost-effectiveness.
Developed an Asset Trend Simulator
An article introducing the Asset Trend Simulator, a tool built for thinking about personal asset formation. It covers why the tool was created and how to use it to simulate how assets change over time through contributions and investment returns.
Things to Consider When Writing Architecture Documents
An article on what to keep in mind when writing architecture documents, which play an important role in system design. Rather than a mere listing of design information, it explains how to write them as material that explains the validity of a design to stakeholders, builds consensus, and guides readers to understanding and agreement.
Summary of PostgreSQL Logical Replication Specifications
Learn PostgreSQL logical replication: how it differs from physical replication, publisher/subscriber setup with Docker, wal_level configuration, replication slots, and CREATE SUBSCRIPTION.
About Row Level Security (RLS) in PostgreSQL
Master PostgreSQL Row Level Security with PERMISSIVE and RESTRICTIVE policies for multi-tenant data isolation and access control.
Bounded Contexts
Understand bounded contexts in domain-driven design to clarify word meanings, organize responsibilities, and improve system design.
Structure of My System Specification Document
Learn to structure system specification documents with sections for architecture, data models, APIs, and sequence diagrams for design clarity.
What is Open Policy Agent (OPA)? A Practical Guide to Policy as Code
Learn what Open Policy Agent (OPA) is, how policy as code works, and practical examples of using OPA to centralize authorization logic in your infrastructure.
Communication Guide for Developers and Architects: Learning Information Transmission through Patterns
A book discussing communication through visual information, text, language, non-verbal cues, and documentation.
Building Multi-Tenant SaaS Architecture - Principles, Best Practices, AWS Architecture Patterns
A review of Building Multi-Tenant SaaS Architecture. It comprehensively explains the essentials specific to SaaS: the two-plane structure of control plane and application plane, tenant authentication and routing, data partitioning, and noisy-neighbor mitigation. Not tied to a particular domain, it reads as broadly applicable.
Implementation of Access Control System for Microservices Using OPA
Implement fine-grained access control for distributed microservices using Open Policy Agent and declarative Rego policy language.