Blog

Articles, guides, and notes on software engineering.

Algorithms and Data Structures - HashMap
Algorithms and Data Structures 2023-07-31

Algorithms and Data Structures - HashMap

Understand how HashMaps work: O(1) average access, open addressing vs. chaining for hash collision handling, and a basic Go HashMap implementation.

#Data Structures

Recent Posts

Adjacency List and Adjacency Matrix
Algorithms and Data Structures 2023-07-29

Adjacency List and Adjacency Matrix

Compare adjacency lists (O(V+E) space, efficient for sparse graphs) and adjacency matrices (O(V²) space, O(1) edge lookup). Includes Go implementations for directed and undirected graphs.

#Data Structures
Implementation of Stack and Queue
Algorithms and Data Structures 2023-07-25

Implementation of Stack and Queue

Implement stack and queue data structures in Go with linked lists and slices for O(1) operations and optimal performance.

#Data Structures
Runner Technique for Linked Lists
Algorithms and Data Structures 2023-07-22

Runner Technique for Linked Lists

A summary of the runner technique, useful for traversing linked lists. I first learned about this approach of advancing two pointers through the list at different speeds in the book Cracking the Coding Interview, and this article explains the idea and where it comes in handy.

#Algorithms#Data Structures#Runner Technique#Tips
Challenges with Recursion
Application 2023-07-08

Challenges with Recursion

Understand recursion challenges involving return statements and call stack evaluation with practice strategies.

#Algorithms
Reviewing the Basics of Algorithms and Data Structures
Algorithms and Data Structures 2023-06-28

Reviewing the Basics of Algorithms and Data Structures

A comprehensive review of algorithms and data structures basics: arrays, strings, hash tables, linked lists, trees, stacks, queues, sorting, and time complexity for coding problems.

#Algorithms#Data Structures
Programmer Brain
Application 2023-06-26

Programmer Brain

A review of The Programmer's Brain. A book that uses a cognitive-science approach to study coding as a creative process. It reveals what happens in the mind of someone who reads and writes code quickly and accurately, offering hints from how memory and learning work for training the roots of programming ability.

#Cognitive Science#Book Review#Code Reading
Implementation of Counting Sort
Algorithms and Data Structures 2023-06-24

Implementation of Counting Sort

Implement counting sort using prefix sums in Go. Discover non-comparison sorting with efficient O(n) time complexity execution.

#Algorithms
A Book to Train Your Programming Mind
Application 2023-06-24

A Book to Train Your Programming Mind

A review of A Book to Train Your Programming Mind. Using arithmetic as material, it trains the kind of thinking that leads into programming. Its content is gentle and suits those first encountering computational thinking; it may feel light for adults, but it lets you check the basics of thought.

#Logical Thinking#Book Review
Implementing Backtracking
Algorithms and Data Structures 2023-06-23

Implementing Backtracking

Implement backtracking algorithm to explore constraint-satisfying combinations using recursive tree structures and subsequence generation.

#Algorithms
Improving Code Performance with Go
Performance 2023-06-12

Improving Code Performance with Go

Learn practical Go performance optimization: pprof profiling, benchmark tests, escape analysis, memory allocation reduction, and real examples from optimizing a custom HTTP router.

#Golang
MySQL Transaction Isolation Levels: Preventing Dirty Reads, Phantom Reads, and More
Database 2023-06-08

MySQL Transaction Isolation Levels: Preventing Dirty Reads, Phantom Reads, and More

Learn MySQL's four transaction isolation levels, the anomalies each prevents (dirty read, non-repeatable read, phantom read), and how to choose the right level.

#Transaction#MySQL
Managing My Resume with GitHub
Career 2023-06-07

Managing My Resume with GitHub

An account of why and how I switched from managing my resume on Google Drive to managing it on GitHub. Here, a resume means a text-based summary of my career, and this turned out to be a worthwhile approach worth sharing.

#Git#GitHub#Resume
Took the Google Cloud Certified Associate Cloud Engineer Exam
Infrastructure 2023-06-07

Took the Google Cloud Certified Associate Cloud Engineer Exam

After passing the Google Cloud Certified Associate Cloud Engineer exam, I looked back on how I studied for it, both for a possible retake and for future exams. Based on my background as a software engineer with some GCP experience, it summarizes the study methods I used and my impressions of the exam.

#Google Cloud Platform
Road to ISUcon
Architecture 2023-06-07

Road to ISUcon

An account of the preparations I made ahead of competing in ISUCON for the first time. Starting from setting a realistic goal of spending the entire qualifier session on tuning, it describes the preparation and mindset I built up for my first attempt at the competition.

#Performance Tuning#ISUCON#ISUCON8
Transaction Overview
Database 2023-06-07

Transaction Overview

Understand database transaction fundamentals including ACID properties, concurrency control, and isolation for data integrity.

#Transaction
Container Technology Explained: How Docker and OCI Containers Work
Infrastructure 2023-06-05

Container Technology Explained: How Docker and OCI Containers Work

Learn how container technology works—namespaces, cgroups, OCI standards—and why containers have become essential for modern application deployment.

#Docker#libcontainer#lxc#lxd#Container
Cache Write Methods
Infrastructure 2023-06-03

Cache Write Methods

Learn the three cache write methods: Write-Through (sync writes to cache and memory), Write-Back (write to cache first, flush later), and Write-Around (bypass cache, write direct to memory).

#Cache
Deployment Strategies Explained: Blue-Green, Canary, Rolling, and More
Application 2023-06-03

Deployment Strategies Explained: Blue-Green, Canary, Rolling, and More

Compare blue-green, canary, rolling, and recreate deployment strategies. Learn when to use each one and how they minimize downtime and reduce deployment risk.

#Deployment
Forward Proxy vs Reverse Proxy vs API Gateway: A Clear Comparison
Infrastructure 2023-06-03

Forward Proxy vs Reverse Proxy vs API Gateway: A Clear Comparison

Understand the differences between forward proxies, reverse proxies, and API gateways. Learn what each one does and which is right for your network architecture.

#Forward Proxy#Reverse Proxy#Gateway