Programming Concepts
The ideas under every language - how code runs, data structures, async, memory, big-O, and choosing the right tool.
Watch it animated → Interactive, click-through walkthroughs for Programming Concepts concepts.Basic
Programming From Zero What a program actually is, the building blocks every language shares (variables, types, operators), and how code makes decisions and reuses work with if/else, loops, and functions.
What Actually Happens When Your Code Runs The journey from the text you type to a living program: how source code gets translated into machine instructions, where your data lives while it runs, and what 'running' actually means to the operating system and CPU.
Data Structures, Explained The handful of containers you actually use day to day - arrays/lists, maps, sets, stacks, queues, and linked lists - what each one is really good at, and how to pick the right one without overthinking it.
Regular Expressions, Explained A regex is a pattern that describes the shape of text - not code you run, but text you describe. Learn the mental model, the small toolkit you'll use 90% of the time, and how to avoid the classic traps.
Python, JavaScript, Go & Rust - Explained Like a Human What each major language is actually for and what it feels like to use, so you can choose one on purpose instead of by hype - the axes that make languages different, a clear-eyed look at four of them, and a practical way to pick.
Floating Point and Money Why 0.1 plus 0.2 is not 0.3, what floats can and cannot represent, and the iron rule: never store money in a float.
Recursion, Finally The mental model that makes recursion stop being scary: a base case, a step toward it, and trust - plus when it blows the stack and how to avoid it.
Sorting & Searching, Explained How computers find things fast and put things in order: linear vs. binary search, then the classic sorts - bubble, merge, and quick - with the intuition behind each one's speed, not just the code.
Trees & Binary Search Trees What a tree actually is - nodes, root, children, leaves - then the binary search tree specifically: the ordering rule that makes search and insert fast, with real code building and searching one.
Intermediate
Async/Await & the Event Loop Async exists because programs spend most of their time waiting; the event loop is a single thread plus a queue of ready-to-continue work; and async/await is just readable syntax over 'a value that isn't here yet.'
Memory & Garbage Collection, Explained What actually happens to the objects your code creates: where they live in memory, why some of them have to be cleaned up, and how the two big approaches - freeing memory by hand versus a garbage collector that does it for you - really work.
Object-Oriented vs Functional, Plainly Two ways of organizing code, demystified: what object-oriented programming actually is, what functional programming actually is, and the plain truth about which to reach for and when.
Dates and Time Zones The bug that corrupts data and breaks launches: UTC versus local, offsets versus zones, DST, and the rules that keep time from wrecking your app.
Character Encodings and Unicode Why text turns into garbled symbols, how UTF-8 actually works, and the difference between bytes, code points, and the characters a user sees.
Closures and Scope Why a function remembers variables from where it was born: scope, closures, and the captured-variable bugs that bite in every language with first-class functions.
Pointers and References A pointer or reference is a variable holding a memory address instead of a value - the idea underneath sharing, mutation, and half the bugs that make you say 'but I didn't touch that variable.'
Advanced
How Garbage Collectors Actually Work The engineering deep dive behind automatic memory management: reference counting vs. mark-and-sweep, why generational and concurrent collectors exist, and how to read a real GC log and tune the knobs that matter.