Blog
Articles, guides, and notes on software engineering.
Distributed Services with Go
Distributed Services with Go
Recent Posts
Running k3s with multipass
Exploring the use of multipass to run k3s for personal development applications.
Implementing Sliding Window
Implement sliding window algorithms for efficient subarray searching with optimized time complexity and rate limiter applications.
Monorepos Explained: Benefits, Drawbacks, and When to Use Them
Understand what monorepos are, the tooling involved (Nx, Turborepo, Bazel), and the practical trade-offs between monorepos and polyrepos for growing engineering teams.
Practical Go Language
Practical Go Language
Search Patterns in Binary Search Trees
Learn DFS and BFS search patterns for binary search trees, including preorder, inorder, and postorder traversal methods.
Became a Registered Scrum Master (LSM)
Reflections and notes on becoming a Registered Scrum Master after attending the training and exam by scruminc.japan.
About the Two Pointer Technique
Master two-pointer technique for efficient array pair searching with O(N log N) complexity using sorting and index manipulation.
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.
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.
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.
Runner Technique for Linked Lists
Summarizing the runner technique useful for traversing linked lists.
Challenges with Recursion
Understand recursion challenges involving return statements and call stack evaluation with practice strategies.
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.
Programmer Brain
Programmer Brain
Implementation of Counting Sort
Implement counting sort using prefix sums in Go. Discover non-comparison sorting with efficient O(n) time complexity execution.
A Book to Train Your Programming Mind
A Book to Train Your Programming Mind
Implementing Backtracking
Implement backtracking algorithm to explore constraint-satisfying combinations using recursive tree structures and subsequence generation.
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.
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.