Blog & Learn
Practical developer guides, written to actually answer the question.
Read the field notes.
No 1500-word intros, no SEO padding — just the part you came for.
Why kitchen recipes don't scale linearly (and the salt floor that breaks everything)
Doubling a recipe doesn't double the cooking time, and doubling the salt makes it too salty. The five things that don't scale the way you expect.
- Tutorial5 min read
BMI is a 200-year-old metric — what it actually tells you (and what it doesn't)
BMI was invented in the 1830s by an astronomer to study population averages. Here's where it works, where it fails, and what to use instead.
May 14, 2026Read - Finance5 min read
Cost per kilometre — the only fuel number worth tracking
Marketed MPG, L/100km on the trip computer, the price at the pump. Why none of them help you plan trips, and the one number that does.
May 14, 2026Read - Tutorial6 min read
PDF vs EPUB: when each one wins
PDF is paginated, EPUB is reflowable. The choice between them isn't about quality, it's about whether the document needs to look the same on every device.
May 14, 2026Read - Design5 min read
Font size, line height, letter spacing — the typography triangle
Three CSS properties that change together: getting one right means tuning the other two. The numbers that work, and why.
May 14, 2026Read - Tutorial5 min read
The pomodoro myth — what Cirillo actually said vs the watered-down version
Everyone knows '25 minutes work, 5 minutes break'. Almost no one knows the four other rules that make the technique actually work. The forgotten 80 %.
May 14, 2026Read - Encoding2 min read
Base64 encoding across 5 languages: JavaScript, Python, Go, Rust, PHP
Idiomatic Base64 and Base64URL encoding/decoding in JS, Python, Go, Rust, and PHP — with the standard-library one-liners and the gotchas each language buries.
Apr 27, 2026Read - Encoding1 min read
Hashing in 2026: SHA-256, HMAC and PBKDF2 across Node, Python, Go, Rust
Which stdlib function to reach for, which library to avoid, and the one-liner that gets you SHA-256 + HMAC-SHA256 in each of the big runtimes.
Apr 27, 2026Read - Developer1 min read
Generating UUIDs across languages: stdlib vs libraries in 2026
v4 and v7 in JavaScript, Python, Go, Rust and PHP — which ships in the standard library, which needs a package, and the one-liner that works today.
Apr 27, 2026Read - Cheatsheet3 min read
HTTP status codes: the only reference you'll need
Every HTTP status code with plain-English meaning — when to send which, when to care about the distinction, and the codes you can usually ignore.
Apr 27, 2026Read - Cheatsheet2 min read
ISO 8601 date format cheatsheet: every variant with examples
The only date format you should be storing and serialising in 2026. Every shape, the pitfalls, and the quick reference for parsing.
Apr 27, 2026Read - Encoding1 min read
How to verify webhook signatures: Stripe, GitHub, Slack
Every major webhook provider signs their requests with HMAC. Here's the working verification code for each, the timing-attack pitfall everyone hits, and a universal template.
Apr 27, 2026Read - Developer2 min read
Why your regex is slow: catastrophic backtracking explained
The reason `(a+)+b` hangs on `aaaaaaaaac` — and the five patterns that turn a 10ms validator into a 30-second ReDoS attack.
Apr 27, 2026Read - Data2 min read
CSV parsing is harder than you think (and why `split(',')` isn't enough)
Quoted fields, escaped quotes, embedded newlines, UTF-8 BOMs, Excel's opinions. A tour of every CSV footgun and the libraries that handle them.
Apr 27, 2026Read - Data2 min read
NaN, null and undefined in JSON: what serialises to what
JSON has null. JavaScript has null, undefined and NaN. Python has None. This is the table of what survives each conversion — and the traps everyone hits.
Apr 27, 2026Read - Developer6 min read
Timezone conversion: the edge cases that bite
DST, half-hour offsets, timezones with historical changes, and the midnight that doesn't exist. If your code assumes 24 hours a day, it's wrong.
Apr 26, 2026Read - Finance4 min read
Why 0.1 + 0.2 !== 0.3 (and what to do with money)
IEEE-754 explained in 500 words, why every language does this, and the three correct ways to handle currency.
Apr 26, 2026Read - Encoding5 min read
How to generate a strong password (and what entropy means)
Length beats complexity. Here's the math, the actual number of bits you need, and why `correct horse battery staple` is stronger than `P@ssw0rd!`.
Apr 26, 2026Read - Encoding3 min read
Base64URL vs Base64: when the extra characters matter
The + / = characters in standard Base64 break URLs, filenames, and JWT headers. Base64URL is the fix — and it's almost but not quite a drop-in replacement.
Apr 26, 2026Read - Finance6 min read
Compound interest explained with 5 worked examples
The formula, the intuition, the difference monthly vs yearly compounding makes, and why time matters more than rate.
Apr 25, 2026Read - Design5 min read
OKLCH for designers: why switch from HSL
HSL's saturation and lightness lie to you. OKLCH doesn't. Here's what you gain in 5 minutes of learning a new syntax.
Apr 25, 2026Read - Design5 min read
PNG vs JPG vs WebP: pick the right image format in 2026
WebP wins most of the time now. Here's when to still reach for PNG (alpha + crisp edges) or JPG (massive photos, universal support).
Apr 25, 2026Read - Encoding5 min read
What is HMAC (and why SHA-256 alone isn't enough)?
HMAC is how you prove a message wasn't tampered with. It's SHA-256 plus a clever wrapping you should never try to reinvent.
Apr 25, 2026Read - Cheatsheet5 min read
Cron schedule cheatsheet: 50 patterns with explanations
Copy-paste cron expressions for every common cadence — every minute, every night, every weekday, every quarter, business hours only, and 45 more.
Apr 25, 2026Read - Developer5 min read
UUID v4 vs v7: which should you use in 2026?
v4 is random. v7 is time-sortable. Here's what that means for your database, your caches, and whether you can stop using auto-increment IDs.
Apr 24, 2026Read - Cheatsheet8 min read
Complete regex cheatsheet (with copy-paste patterns that actually work)
Every metacharacter, every flag, and 30 real-world patterns for email, IP, date, URL, slug, credit-card and more. All testable in the browser.
Apr 24, 2026Read - Data5 min read
How to convert JSON to YAML (and back) without breaking things
JSON ↔ YAML looks simple until you hit anchors, multi-line strings, booleans that aren't booleans, and the Norway problem.
Apr 24, 2026Read - Developer6 min read
Cron syntax explained: a no-nonsense guide
Cron is five fields in a line of text. This is what each one means, what the specials do, and why `0 0 * * 0` runs weekly.
Apr 24, 2026Read - Encoding4 min read
Base64 explained: what it is, what it isn't, and when to use it
Base64 is everywhere — emails, JWTs, data URLs, certificates. Here's what it actually does, and what it doesn't (encryption!).
Apr 20, 2026Read - Data5 min read
JSON vs XML in 2026: which should you actually use?
JSON won the API war — but XML still rules in finance, government, and SOAP. Here's a no-nonsense breakdown of when each makes sense.
Apr 15, 2026Read - Developer6 min read
What is a JWT? A practical guide for developers in 2026
JSON Web Tokens explained simply: what they are, how they work, when to use them — and how to inspect one safely.
Apr 10, 2026Read
Written by