Blog
Articles, guides, and notes on software engineering.
Introduction to Rego
Write Rego policies for Open Policy Agent with declarative syntax, rules, and built-in functions for access control.
Recent Posts
A Retrospective Framework 'bmf' to Encourage Selection and Focus
Introducing a new retrospective framework to enhance focus and selection.
Practical Techniques for Building System Architecture
Practical Techniques for Building System Architecture
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
Principles of Building System Architecture: Three Mindsets IT Architects Should Have
Linux Load Average Explained: How to Read and Diagnose Performance Issues
Understanding the concept of Load Average in system performance.
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.
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.
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
Learn about the fundamentals of cloud-native thinking.
Developed an Asset Trend Simulator
Introducing a tool for personal asset formation, the Asset Trend Simulator.
Things to Consider When Writing Architecture Documents
Guidelines for creating effective architecture documents in system design.