Nil Pointers
Teaching DS&A · CS research highlights · SWE things · building in public
Stay in the loop
I'd love to tell you when I publish a new post.
Get notified when I write about DS&A or software engineering. Unsubscribe anytime if it's not your vibe.
2-List Stable Matching: The Easiest Problem I Couldn't Solve in My PhD
An open, deceptively simple special case of stable matching.
BCtCI Chapter: Set & Map Implementations
Learn how sets & maps are built from scratch, and refine your knowledge of hashing.
BCtCI Chapter: Monotonic Stacks & Queues
Learn how monotonic stacks and queues are two sides of the same idea and how to leverage them in interviews!
Building Lego castles with recurrences, memoization, and math
A walk through recurrences, memoization, and math tricks -- via Lego castles.
What is Context Engineering?
Why context engineering is becoming the name of the game for improving AI apps.
BCtCI Free Resources
A comprehensive list of all free resources available from Beyond Cracking the Coding Interview, including chapters, tools, templates, and guides.
BCtCI Chapter: Union-Find
Learn how this fascinating data structure speeds up graph-related operations.
LLM Usage and Manipulation in Peer Review
Peer review has a new scandal: how LLMs are being used to manipulate the process.
Top-K Problems: Sorting vs Heaps vs Quickselect
The different approaches to finding the k smallest/largest elements in an array.
Queues in JS interviews
JS doesn't have built-in queues, which can be an issue if you have to implement a BFS. Here are the workarounds.
Double-Edge Cut Problem
An optimal solution for a graph problem that comes up in the Wall Game.
Single-Edge Cut Problem
A linear-time algorithm for a graph problem that comes up in the Wall Game.
Choosing a tech stack in 2025
How would you build a Lichess clone in 2025? My process for picking a tech stack.
Wall Game UI Design (+ Frontend Generators)
The specs of the UI for the Wall Game and renders from frontend generators.
Lifecycle of a CS research paper: my knight's tour paper
The backstory and thought process behind a fun paper from my PhD.
Get Binary Search Right Every Time, Explained Without Code
A binary search recipe that works for every problem, explained without code.
What Vibe Coding Actually Looks Like (prompts included)
The exact prompts used to create an interactive 3D torus visualization app with vibe coding.
Problem Solving BCtCI Style
A problem walkthrough using the concepts from Beyond Cracking the Coding Interview.
Heapify Analysis Without Math
A proof that heapify takes linear time without using complex equations.
Lazy vs Eager Algorithms
Exploring the tradeoffs between lazy and eager implementations of common algorithms.
Actually Implementing Dijkstra's Algorithm
A comprehensive guide to different implementations of Dijkstra's algorithm, with code.
Why Many Greedy Algorithms Are Pickier Than They Need To Be
Many greedy algorithms can be modified to make local rather than global choices while still producing the same solutions.
Breaking Down Dynamic Programming
A step-by-step guide to understanding and implementing dynamic programming algorithms with practical examples.
Iterative Tree Traversals: A Practical Guide
A guide to implementing preorder, inorder, and postorder tree traversals iteratively.
































