Blog

Articles, guides, and notes on software engineering.

Using Workspace Mode with Go's Multi-Module Structure
Application 2024-01-19

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.

#Golang

Recent Posts

Schema-Driven Development with OpenAPI
Application 2024-01-19

Schema-Driven Development with OpenAPI

Learn OpenAPI schema-driven development, REST API specification, code generation, and mock server benefits.

#OpenAPI#Schema-Driven
The Thinking Methods of World-Class Engineers
Business 2024-01-18

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.

#Thinking Methods#Book Review
Reflection on 2023 and Goals for Next Year
Poetry 2024-01-03

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.

#Reflection and Goals
Exploring Articles on Development Productivity
Management 2023-12-30

Exploring Articles on Development Productivity

Explore development productivity using DORA four keys and SPACE framework. Measure deployment frequency, lead time, and metrics.

#Development Productivity#Link Collection
Exploring Articles on Architecture Design and Organizational Design
Architecture 2023-12-27

Exploring Articles on Architecture Design and Organizational Design

Explore relationships between software architecture and organizational design through curated articles and resources on Conway's Law impacts.

#Design#Architecture#Link Collection
Exploring Aurora Serverless
Database 2023-12-27

Exploring Aurora Serverless

Explore Aurora Serverless v2 capabilities including multi-AZ support, auto-scaling, cost optimization, and deployment considerations for databases.

#Amazon Web Service
Provisioning Contact Points and Policies in Grafana
Infrastructure 2023-12-27

Provisioning Contact Points and Policies in Grafana

Provision Grafana contact points and alerting policies via YAML configuration files for automated Slack notifications.

#Grafana#Docker
How to Deal with Uncertainty in Software Development Projects
Development Process 2023-12-22

How to Deal with Uncertainty in Software Development Projects

Address software project uncertainty through agile planning. Distinguish known unknowns from unknown unknowns to minimize risks.

#Agile
Differences Between Pull and Push Approaches in Monitoring Systems
Infrastructure 2023-12-13

Differences Between Pull and Push Approaches in Monitoring Systems

An overview of the differences between the pull and push approaches in monitoring systems. It organizes how each architecture works, their respective advantages and disadvantages, and the representative tools associated with each.

#Monitoring
Approach to Architecture Design
Architecture 2023-11-23

Approach to Architecture Design

Master staged architecture design approach to configuration diagrams for clearer thinking, better team alignment, and preventing over-design.

#Architecture#Design
Distributing Go Applications with GoReleaser
Application 2023-11-11

Distributing Go Applications with GoReleaser

An article on how to cross-compile a Go application and distribute it as binaries using GoReleaser. After explaining what GoReleaser is, it walks through the steps of configuring it and actually producing a release.

#Golang#GitHub Actions
Command to Generate ADR Template Files
Application 2023-11-10

Command to Generate ADR Template Files

Implement a Make command to auto-generate Architecture Decision Record templates with automatic numbering and status tracking capabilities.

#Architecture Decision Record
What is GraphQL? A Complete Guide with Practical Examples
Application 2023-11-09

What is GraphQL? A Complete Guide with Practical Examples

A summary of what I researched while practicing GraphQL. Drawing on tutorials like How to GraphQL, it introduces how queries and mutations work, how GraphQL compares with REST, and practical samples for getting started.

#GraphQL
Resources Referenced for Creating an HTTP Router
Application 2023-10-30

Resources Referenced for Creating an HTTP Router

Explore resources for building HTTP routers including radix trees, trie structures, and benchmark comparisons in Go.

#Router#HTTP#URL Routing#Link Collection
What is a Service Mesh? How Istio and Linkerd Work Explained
Infrastructure 2023-10-29

What is a Service Mesh? How Istio and Linkerd Work Explained

Learn what a service mesh is, how the sidecar proxy pattern works, and what problems Istio and Linkerd solve for service communication inside a Kubernetes cluster.

#Service Mesh
Parallel Testing with PHPUnit on CircleCI
Testing 2023-10-21

Parallel Testing with PHPUnit on CircleCI

Execute PHPUnit tests in parallel on CircleCI using shell scripts to generate dynamic configuration and split containers.

#CircleCI#phpunit
Contextual Logging with slog
Application 2023-10-08

Contextual Logging with slog

Learn contextual structured logging in Go using log/slog (Go 1.21+). Covers custom slog.Handler, structured JSON output, and injecting trace IDs from context into every log entry.

#slog#contextual logging