Blog
Articles, guides, and notes on software engineering.
Mastering SQL: A Comprehensive Guide for Advanced Beginners, 2nd Edition
Mastering SQL: A Comprehensive Guide for Advanced Beginners, 2nd Edition
Recent Posts
Practical Introduction to SQL: Writing Fast and Understandable Queries
Practical Introduction to SQL: Writing Fast and Understandable Queries
What is a Database Index? How It Works and When You Need It
Understand how database indexes work internally—B-tree and hash structures—when to add or avoid indexes, and how to measure index effectiveness using EXPLAIN.
Capacity Planning - Maximizing Resources through Site Analysis, Forecasting, and Placement
Capacity Planning - Maximizing Resources through Site Analysis, Forecasting, and Placement
About Capacity Planning
Plan system capacity by analyzing performance requirements, measuring infrastructure, forecasting needs, and setting safety factors.
Database ID Design: UUID vs Auto Increment vs ULID — Which to Choose?
Compare auto-increment integers, UUIDs, and ULIDs as database IDs. Learn the trade-offs in performance, sortability, and distributed system compatibility.
NULL in Database Design: Common Pitfalls and Best Practices
Learn how NULL works in relational databases, the three-valued logic problem, common query mistakes with NULL, and schema design strategies to avoid NULL-related bugs.
One-liner to Unlock Password-Protected PDFs
Decrypt password-protected PDFs using QPDF—a powerful command-line tool for removing PDF password restrictions securely.
Kubernetes Components Explained: Pods, Nodes, and the Control Plane
Understand the core Kubernetes components—pods, nodes, API server, scheduler, etcd, and kubelet—and how they work together to run containerized workloads.
Jobs Theory
Jobs Theory
Notes on Spanner Insights
Explore Cloud Spanner architecture, replication strategies, indexing, and performance optimization for distributed databases.
NGINX Buffer Directives Explained: Optimizing Proxy Performance
Notes taken while researching buffer sizes in NGINX.
A List to Understand SaaS Architecture
A compilation of resources to transition from knowing nothing about SaaS to fully understanding it.
Practical Email Technology Handbook: From Basic Mechanisms to Protocols, Server Setup, Sending Domain Authentication, Attachments, Encryption, and Security Measures
Practical Email Technology Handbook: From Basic Mechanisms to Protocols, Server Setup, Sending Domain Authentication, Attachments, Encryption, and Security Measures
About Go's rune Type
Learn what Go rune type is and how it represents Unicode code points (int32 alias). Covers string vs. rune differences, range loop behavior, and multi-byte character handling.
One-Liner for Self-Signed Certificates in Go
Generate a self-signed TLS certificate in Go with one command using the built-in generate_cert.go tool. Produces cert.pem and key.pem for local HTTPS without openssl or mkcert.
Implementing Exponential Backoff and Jitter in Go
Implement exponential backoff with jitter in Go for robust retry logic. Covers multiplying retry delays, adding randomness to prevent thundering herd, retry limits, and timeouts.
Introduction to Thinking and Writing Techniques: Practical Logical Thinking Methods for Japanese
Introduction to Thinking and Writing Techniques: Practical Logical Thinking Methods for Japanese
FuelPHP and PHP Update Project Report
Learn how to update FuelPHP applications from PHP 7.3 to 8.1 with monolithic architecture strategies and compatibility tools.
Changes to ServeMux Specification in Go 1.22rc
Explore Go 1.22 enhanced ServeMux routing: HTTP method patterns (GET /items), wildcard path params (/items/{id}), the /{$} exact-match wildcard, and Request.PathValue.