Blog
Here you can see all of my blog posts that I've published, grouped by year.
Want to receive updates straight in your inbox?
Subscribe to the newsletter2025
-
Git Worktrees
Lesser-known but incredible Git feature
-
Maze generation algorithms
Exploring different approaches to generate a maze
-
Blog updates
New things on the website and in the blog
-
Levenshtein distance algorithm
How do computers understand that two words are similar?
-
Different line endings
A quick guide to line endings across operating systems
-
Finally block not running - war story
What are the reasons when finally block might not run
-
The GitFrag challenge
A diary of the mini util that I've built as a challenge
-
Pokémon MCP server
Exploring what MCP is and building an MCP server for fun
-
Building a wizard form
With react-hook-form, zod & zustand
-
Trie data structure
Deep dive into what trie is and its applications
-
Making Sudoku game from scratch
Utilizing algorithms and data structures for fun
-
Solving Sudoku
Algorithm to solve Sudoku and visualization
-
Sudoku verification
Breaking down an algorithm to verify sudoku
-
UTF-8 encoding
How text is encoded in UTF-8, visualized
-
Warehouse simulator from scratch: Part 2
Finishing up the simulator inspired by Advent of Code 2024, Day 15
-
Warehouse simulator from scratch: Part 1
Building a simulator inspired by Advent of Code 2024, Day 15
-
TypeScript vs JavaScript private
Deep dive into differences between TS private modifier and native JS #private fields
-
Flood fill algorithm
How flood fill algorithm works, visualized
-
One of my favorite Java interview questions
A deep dive into singleton implementation details
-
The hardest day of AoC 2024 (for me)
Or how I learned about the Bron-Kerbosh algorithm
-
LRU Cache: visualization & implementation
What is LRU cache, hot to build it, and some visualizations for better understanding
-
Better approach to automated UI testing
Utilizing data-testid attributes to simplify automation