Blog

Articles, guides, and notes on software engineering.

What is a Database Index? How It Works and When You Need It
Database 2024-04-01

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.

#DB#Index#MySQL

Recent Posts

Capacity Planning - Maximizing Resources through Site Analysis, Forecasting, and Placement
Infrastructure 2024-03-30

Capacity Planning - Maximizing Resources through Site Analysis, Forecasting, and Placement

A review of Capacity Planning. Though an older book, it teaches the fundamentals of capacity planning. While it assumes on-premises, much of its thinking on analyzing, forecasting, and placing site resources still transfers to the cloud.

#Capacity Planning#Book Review
About Capacity Planning
Architecture 2024-03-30

About Capacity Planning

Plan system capacity by analyzing performance requirements, measuring infrastructure, forecasting needs, and setting safety factors.

#Capacity Planning
Database ID Design: UUID vs Auto Increment vs ULID — Which to Choose?
Database 2024-03-30

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.

#DB
NULL in Database Design: Common Pitfalls and Best Practices
Database 2024-03-30

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.

#DB
One-liner to Unlock Password-Protected PDFs
Tools 2024-03-29

One-liner to Unlock Password-Protected PDFs

Decrypt password-protected PDFs using QPDF—a powerful command-line tool for removing PDF password restrictions securely.

#PDF#Tips
Kubernetes Components Explained: Pods, Nodes, and the Control Plane
Infrastructure 2024-03-27

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.

#Kubernetes
Jobs Theory
Business 2024-03-20

Jobs Theory

A review of Jobs Theory. It explains the mechanism of consumption from the view that customers hire products to get a job done rather than for the products themselves. A theory worth keeping in mind when facing what users truly want to solve.

#Jobs Theory#Book Review
Notes on Spanner Insights
Database 2024-03-03

Notes on Spanner Insights

Explore Cloud Spanner architecture, replication strategies, indexing, and performance optimization for distributed databases.

#Spanner
NGINX Buffer Directives Explained: Optimizing Proxy Performance
Infrastructure 2024-03-02

NGINX Buffer Directives Explained: Optimizing Proxy Performance

Notes taken while researching buffer sizes in NGINX. It looks at reverse-proxy buffer directives such as proxy_buffering, proxy_buffer_size, and large_client_header_buffers, and how tuning them affects performance.

#Nginx
A List to Understand SaaS Architecture
Architecture 2024-02-24

A List to Understand SaaS Architecture

A compilation of resources to transition from knowing nothing about SaaS to fully understanding it.

#Architecture#SaaS
Practical Email Technology Handbook: From Basic Mechanisms to Protocols, Server Setup, Sending Domain Authentication, Attachments, Encryption, and Security Measures
Network 2024-02-21

Practical Email Technology Handbook: From Basic Mechanisms to Protocols, Server Setup, Sending Domain Authentication, Attachments, Encryption, and Security Measures

A review of a practical email technology handbook. It systematically explains email from basic mechanisms to protocols, server setup, sender domain authentication, encryption, and security measures, useful for catching up on email technology as a whole.

#Email#Book Review
About Go's rune Type
Application 2024-02-21

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.

#Golang
One-Liner for Self-Signed Certificates in Go
Application 2024-02-16

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.

#Golang#Tips
Implementing Exponential Backoff and Jitter in Go
Application 2024-01-31

Implementing Exponential Backoff and Jitter in Go

What is backoff with jitter? Exponential backoff multiplies the delay between retries, and jitter adds randomness so clients do not retry in sync. Learn both, with a Go implementation, retry limits, and timeouts.

#Retry
Introduction to Thinking and Writing Techniques: Practical Logical Thinking Methods for Japanese
Business 2024-01-31

Introduction to Thinking and Writing Techniques: Practical Logical Thinking Methods for Japanese

A review of Introduction to Thinking and Writing Techniques. An introductory book that explains techniques for thinking and communicating logically, tailored to Japanese writing. It helps you acquire the basics of logical and critical thinking in a practical form.

#Logical Thinking#Book Review
FuelPHP and PHP Update Project Report
Application 2024-01-26

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.

#PHP#FuelPHP
Changes to ServeMux Specification in Go 1.22rc
Application 2024-01-25

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.

#Golang
A Collection of Links for Reviewing gRPC and Protocol Buffers
Application 2024-01-25

A Collection of Links for Reviewing gRPC and Protocol Buffers

Review essential gRPC and Protocol Buffers resources covering load balancing, Kubernetes deployment, and best practices.

#gRPC#Protocol Buffers#Link Collection
About Mob Programming
Development Process 2024-01-23

About Mob Programming

Recently, I experienced mob programming for the first time in my life, so I'm jotting down notes to remember the benefits of the experience.

#Mob Programming#Agile