Archive 2024
121 articles
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
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.
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. 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.
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
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.
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
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.
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.
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.
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.
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.
Using Workspace Mode with Go's Multi-Module Structure
Learn how Go Workspace mode (Go 1.18+) simplifies multi-module development. Covers go work init, go.work file structure, and referencing local modules without editing go.mod.
Schema-Driven Development with OpenAPI
Learn OpenAPI schema-driven development, REST API specification, code generation, and mock server benefits.
The Thinking Methods of World-Class Engineers
A review of The Thinking Methods of World-Class Engineers. A book introducing the thinking and attitudes common to top engineers. It discusses mindsets worth adopting in daily work, such as Be Lazy, maximizing value in less time, and taking time to understand rather than trying to grasp everything at once.
Reflection on 2023 and Goals for Next Year
Personal year-end reflection on 2023: career highlights, side projects, books read, and goals set for 2024.