Blog
Practical writing on the small text languages developers read every day. Each cluster orbits a pillar post.
guides
Base64 encoding explained
Base64 encoding converts binary into 64 ASCII characters so it survives text-only channels. Learn how it works, padding, and why it is not encryption.
chmod and Unix file permissions
How chmod and Unix file permissions work: read, write, execute for owner, group, and other, plus octal like 755 and the special bits.
Hex, binary, and decimal explained
Understand hex, binary, decimal, and octal number bases: positional notation, bits and bytes, nibbles, and how to convert between them by hand.
How to check color contrast for WCAG
Learn how to check color contrast ratios against WCAG AA and AAA thresholds, how relative luminance works, and quick fixes for failing text.
How to decode a JWT
Learn how to decode a JWT and read its header, payload, and claims. Understand JSON Web Token structure and why decoding is not the same as verifying.
Cron syntax explained
A plain-English guide to cron syntax: the five fields, the operators, the day-of-month vs day-of-week gotcha, and worked cron schedule examples.
How to convert CSV to JSON
Learn how to convert CSV to JSON in your browser. Handle quoted fields, commas in values, headers, and type casting with clear before and after examples.
How to hash passwords (bcrypt)
Learn how to hash passwords safely with bcrypt: why fast hashes like MD5 fail, what salt and cost factor do, and why hashing runs server-side.
How to make a WiFi QR code
Make a wifi qr code that joins your network in one scan. Learn the WIFI: string format, encryption types, escaping special characters, and privacy risks.
How to format SQL for readability
How to format SQL for readability: keyword case, one column per line, indentation for joins and subqueries, plus dialect notes and a before/after example.
How to test a regex
Learn how to test a regex against sample inputs, read matches and capture groups, and use flags safely with a browser regex tester.
HTTP status codes explained
HTTP status codes explained by class: what 200, 301 vs 302, 401 vs 403, 404, 429, and 500 mean, and when each one actually shows up.
Markdown syntax: a quick guide
A quick guide to markdown syntax: headings, bold, italic, links, images, ordered and unordered lists, blockquotes, code, and GitHub Flavored tables.
URL encoding explained
How URL encoding works: percent-encoding of reserved and unsafe bytes, why spaces become %20, UTF-8, and encodeURI vs encodeURIComponent.
UUID v4 vs v7: which to use
UUID v4 is random, v7 is time-ordered. Learn when to use each version, why v7 works better as a database primary key, and what UUIDs are not.
What is a Unix timestamp?
A plain-English guide to the unix timestamp: seconds since the 1970 epoch, seconds vs milliseconds, the Year 2038 problem, and converting both ways.
How to write a good meta description
Learn how to write a good meta description: the right length, why Google may rewrite it, and how to match search intent to win the click.
JSON vs YAML: which and when
JSON vs YAML: how the two config formats differ, the YAML gotchas to avoid, and when to pick each for APIs, interchange, or human-edited files.
Reading code in plain English
Reading regex, SQL, bash, and Excel in plain English
A practical guide to reading the small text languages developers read every day. Decode by intent first, then by tokens; with AI explanation notes.
Excel formulas that look right but aren't
Volatile functions, VLOOKUP exact-match traps, absolute reference errors in copies, and other spreadsheet bugs that pass casual review.
SQL bugs the explainer catches before EXPLAIN
SQL queries that look correct but produce subtle bugs: Cartesian joins, NULL comparison pitfalls, GROUP BY omissions. Each one a clean read-time catch.
When AI code explanation is right, and when it isn't
AI explainers are useful but fallible. Where they reliably help, where they confidently mislead, and how to use them without trusting them too much.
Why your regex matches more than you think
Regex bugs that look fine in source but match too much in production. Greedy quantifiers, missing anchors, character class assumptions, and how to catch them.
Reading curl-as-bash safely before you paste
How to read a curl command or curl-pipe-bash one-liner before running it. Decoding the URL, headers, body, and what the surrounding shell will do.
The blog is also available via RSS.