The Blog
Linked Lists Explained From Scratch
A practical beginner-friendly explanation of linked lists, nodes, pointers, traversal, and when linked lists are useful.
Read More
Queues Explained With Real Examples
A practical explanation of queues, first-in-first-out behavior, and where queues appear in software systems.
Recursion Explained With Simple Examples
A practical explanation of recursion, base cases, recursive cases, and how the call stack makes recursion work.
Stacks Explained With Real Examples
A practical beginner-friendly explanation of stacks, last-in-first-out behavior, and where stacks show up in real software.
Time Complexity vs Space Complexity
A practical explanation of the tradeoff between runtime and memory usage in algorithms.
What Are Data Structures and Algorithms?
A practical beginner-friendly explanation of data structures, algorithms, and why they matter when writing real software.
Cloudflare Basics for Personal Sites
A practical introduction to using Cloudflare for personal sites, including DNS, proxying, HTTPS, caching, redirects, and common setup mistakes.
Docker Compose for Small Projects
A practical explanation of Docker Compose for small projects, including services, ports, volumes, environment variables, and when Compose is worth using.
Nginx Basics for Developers
A practical introduction to Nginx for developers, including static files, reverse proxies, server blocks, TLS, logs, and common deployment mistakes.
PostgreSQL Backups for Small Projects
A practical guide to PostgreSQL backups for small projects, including pg_dump, restore testing, automation, retention, and what backups need to include.