Blog

Articles, guides, and notes on software engineering.

Encountered 'Permission denied' Error When Starting MySQL Container on Ubuntu 20.04.2 LTS
Database 2021-09-12

Encountered 'Permission denied' Error When Starting MySQL Container on Ubuntu 20.04.2 LTS

Fix MySQL container permission denied errors on Ubuntu 20.04 by properly configuring docker-compose user UID/GID mappings.

#Ubuntu#MySQL#Tips

Recent Posts

Cannot Start MySQL 8.0.17 Container on M1 Mac
Database 2021-09-05

Cannot Start MySQL 8.0.17 Container on M1 Mac

Fix the MySQL container startup failure on Apple M1 Mac (failed to create new OS thread errno=22). Use MySQL 8.0.26+ with --platform=linux/amd64 in the Dockerfile for ARM architecture support.

#Docker#Docker Compose#MySQL#M1#Tips
Distributed System Design Patterns
Architecture 2021-08-17

Distributed System Design Patterns

A review of Distributed System Design Patterns. A book for learning container-based design patterns for distributed systems. It organizes established patterns such as sidecar and ambassador that combine multiple containers to improve reliability and scalability.

#Distributed Systems#Book Review
Comparison of New Relic and Datadog APM
Infrastructure 2021-08-10

Comparison of New Relic and Datadog APM

An article summarizing a feature comparison made when considering switching from New Relic to Datadog APM. Centered on APM but also touching other areas, it organizes the differences in features and usability between the two in a table to inform a migration decision.

#APM#Datadog#New Relic
GCP Textbook II: Container Development Edition - Detailed Explanation of Kubernetes, GKE, Cloud Run, and Service Mesh
Infrastructure 2021-07-27

GCP Textbook II: Container Development Edition - Detailed Explanation of Kubernetes, GKE, Cloud Run, and Service Mesh

A review of GCP Textbook II: Container Development Edition. A book that clearly explains GCP's container-related services such as Kubernetes, GKE, Cloud Run, and service mesh. It also works as a study reference for the Associate Cloud Engineer exam.

#Google Cloud Platform#Book Review
GCP Textbook
Infrastructure 2021-07-27

GCP Textbook

A review of GCP Textbook. An introductory book that clearly organizes GCP's main services. Good for grasping an overview of each cloud service, it also helps as a study reference for the Associate Cloud Engineer exam.

#Google Cloud Platform#Book Review
Took the AWS Certified Solutions Architect Associate Exam
Infrastructure 2021-07-17

Took the AWS Certified Solutions Architect Associate Exam

Documenting my efforts and experiences after passing the AWS Certified Solutions Architect Associate exam.

#Amazon Web Service
Reading Code of Golang HTTP Server
Application 2021-06-30

Reading Code of Golang HTTP Server

Master Go HTTP server internals: request routing, HandlerFunc casting, multiplexer design, and server configuration patterns.

#Golang#Code Reading
Remembering AWS ARNs
Infrastructure 2021-06-23

Remembering AWS ARNs

Understand AWS ARN format structure with partition, service, region, account-id, and resource-id components for resource naming.

#Amazon Web Service
Types of AWS Services - AZ, Region, Global
Infrastructure 2021-06-23

Types of AWS Services - AZ, Region, Global

Classify AWS services by deployment scope—Availability Zones, Regions, and Global services—with practical infrastructure examples.

#Amazon Web Service
Updated My Custom Router
Application 2021-06-18

Updated My Custom Router

Discover middleware support and optimizations in the goblin Go HTTP router with performance benchmarks and HTTP routing features.

#Golang#OSS#Router
System Failure Terms Starting with 'F'
Infrastructure 2021-06-05

System Failure Terms Starting with 'F'

Understand fail-safe, failover, fault-tolerance, and failback mechanisms for designing robust and reliable infrastructure.

#Reliability#SRE
How to Split a Commit in Git
Application 2021-06-01

How to Split a Commit in Git

Learn how to split Git commits using interactive rebase to create granular, organized commit history for cleaner code reviews.

#Git
Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated
Algorithms and Data Structures 2021-05-16

Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated

A review of the illustrated algorithm guide covering 33 algorithms including sorting and searching. It explains them clearly with diagrams at the center, letting you grasp their behavior intuitively and making it a reference worth keeping close.

#Algorithms#Book Review#Data Structures
Docker CLI Now Supports Docker Compose
Infrastructure 2021-05-06

Docker CLI Now Supports Docker Compose

Docker CLI gained native Compose support as a tech preview, rewritten in Go vs. the original Python docker-compose. Covers compatibility notes and the difference between docker compose and docker-compose.

#Docker#Docker Compose
Building a Kubernetes Environment with Terraform and Ansible
Infrastructure 2021-04-06

Building a Kubernetes Environment with Terraform and Ansible

A journey of setting up a Kubernetes environment using Terraform and Ansible. Driven by the wish to run my own application on Kubernetes, it covers automating the setup and building master and worker nodes with kubeadm as a practical take on infrastructure as code.

#Ansible#Kubernetes#Terraform#kubeadm
Database Migration for Spanner Using golang-migrate
Application 2021-03-17

Database Migration for Spanner Using golang-migrate

Migrate databases using golang-migrate with Google Spanner. Execute SQL migrations in Docker with GCP authentication management.

#Google Cloud Platform#Golang#Spanner
Trying Managed Kubernetes on DigitalOcean
Infrastructure 2021-03-07

Trying Managed Kubernetes on DigitalOcean

Exploring the use of managed Kubernetes on DigitalOcean for personal development and learning.

#Kubernetes#VPS#DigitalOcean
Stuck with ReadOnlyTransaction in Go's Spanner Client
Application 2021-02-08

Stuck with ReadOnlyTransaction in Go's Spanner Client

Fix session pool exhaustion caused by missing tx.Close() on Cloud Spanner ReadOnlyTransaction in Go. Learn proper transaction lifecycle management and issue detection with zagane.

#Google Cloud Platform#Spanner#Tips
Reflection on 2020 and Resolutions for Next Year
Poetry 2021-01-03

Reflection on 2020 and Resolutions for Next Year

Personal reflection on 2020: highlights and learnings from a year shaped by the pandemic, plus goals and resolutions for 2021.

#Reflection and Resolutions