Blog
Technical explainers, engineering notes, and things worth writing down.
- Hardware Security
Formatting a Drive: Is your data really gone?
Quick format vs. Full format. Why 'deleting' a file doesn't actually remove it, and why SSDs are different from hard drives.
- Computer Science Programming
The Power of Zero: What is NULL anyway?
Is 0 the same as nothing? A guide to NULL, pointers, and why the 'Million Dollar Mistake' is probably in your code right now.
- Networking Basics
MTU 1500: Why the internet has a 'max speed'
Why is every packet on the internet 1500 bytes long? A look at Maximum Transmission Units and why your fiber connection still uses 1980s limits.
- Computer Science Trivia
A Field Guide to the Numbers that Show Up Everywhere
Why is it always 256? Why do ports stop at 65535? A look at the 'magic' numbers that define our digital world.
- Computer Science Linux
The Unix Epoch: Why time started in 1970
Why do computers think the world began on January 1st, 1970? A guide to Unix timestamps and the 'Year 2038' problem.
- Development JavaScript
How Faker.js Actually Works: Generating Fake Data Explained
Ever wondered where Faker.js gets its data, how it randomizes things, and how to avoid common gotchas? Let's dive into the mechanics of generating fake data.
- Cloud Basics
IaaS vs PaaS vs SaaS: The Pizza as a Service Analogy
AWS, Heroku, Gmail—what's the difference? Understanding cloud service models through the lens of pizza.
- tools
Discovering VidBee: A modern GUI for yt-dlp
I recently came across VidBee, an open-source video downloader. Here is a review of how it works and some of its current issues.
- Security Basics
Base64 is Not Encryption: Stop Hiding Secrets in Plain Sight
Just because you can't read it doesn't mean it's secret. A guide to what encoding actually is and why Base64 is like writing in a different font.
- Security Basics
Public Key vs Private Key: The Locked Box Analogy
How do we send secret messages over the public internet? A simple guide to asymmetric encryption without the math.
- Networking Trivia
Why is 127.0.0.1 the 'Loopback' Address?
Every developer knows 'localhost', but why did we pick the very last block of Class A addresses for it?
- Web Basics
How Does a Cookie Actually Work?
Why do websites keep me logged in? A guide to HTTP cookies and how they solve the problem of "statelessness."
- linux shell
How to add a directory to your PATH
A guide on how to add a directory to your PATH in bash, zsh, and fish, so your shell can find your programs.
- Networking Web
What happens when you type 'google.com' into your browser?
A lot happens in the half-second between pressing Enter and seeing a page. Let's trace the journey of a request.
- Computer Science Basics
ASCII vs UTF-8: Why Emojis Break Things
Why is my string length wrong? A guide to character encoding and how we went from 127 characters to over 140,000.
- Computer Science Basics
Concurrency vs Parallelism: A Coffee Shop Guide
Are you doing many things at once, or just dealing with many things at once? The subtle but important difference between concurrency and parallelism.
- Networking Basics
Latency vs Throughput: The Plumbing Analogy
Why your "fast" internet can still feel laggy. Understanding the difference between how much data you can send and how fast it gets there.
- Networking Basics
Megabit (Mbps) vs Megabyte (MB/s): Why your internet feels 'slow'
Ever wonder why your 100 Mbps internet only downloads at 12 MB/s? It's not a scam—it's just different units.
- Computers Basics
Kibibyte (KiB) vs Kilobyte (KB): What's the Real Difference?
A simple guide to understanding why Kibibyte and Kilobyte aren't the same thing — and why it matters in computing today.
- Indie Failures
Dang it! Built the indie app, forgot the marketing (again)
Dang it! Another missed opportunity to market my indie app early — lessons from building collector.dev in silence.
- JavaScript Pitfalls
Why Async Functions Don't Belong in Promise Executors
Understanding why passing an async function to the `new Promise` constructor is a mistake
- Linux Homelabs
Cloudflare has made it too easy to access your homelab on the internet
Cloudflare Tunnels and Zero Trust: Hosting Homelabs Has Never Been Easier
- Thoughts
Depression and perception
How depression affects our perception
- Linux Homelab
Beginners guide on securing your linux server
Essential steps and best practices to ensure your server is secure and up to date
- Indie Hacking Ideas
Building a newsletter for engineers (#1)
Part 1 of building a newsletter for engineers
- Databases
How to choose the right database for your project?
Key steps involved in choosing a database when building a project from scratch
- Opinion
Why web framework benchmarks are misleading
Why web framework benchmarks are misleading
- Linux Ubuntu
How to install and setup PostgreSQL on Ubuntu Server
The right way to quickly install and set up the PostgreSQL database.