Writing

Blog

Guides and short deep-dives on the tools we build and the problems they solve.

DevOps

How to Read a Cron Expression: The Complete Cron Syntax Guide

A complete guide to reading cron expressions the five fields, every special character, real examples decoded, a cron cheat sheet, and the timezone gotcha that breaks scheduled jobs.

·23 min read
Security

PEM vs DER and How to Read an X.509 Certificate

What PEM and DER actually are, when to convert between them, and how to decode an X.509 certificate's subject, issuer, and validity without OpenSSL memorization.

·3 min read
AI / LLM

LLM Token Counting, Pricing, and Context Windows Explained

How tokens map to cost and context limits for GPT and Claude — and how to estimate spend before you ship a prompt-heavy feature.

·3 min read
Design

HEX, RGB, HSL, Gradients, and WCAG Contrast: A Frontend Color Workflow

Convert colors between HEX, RGB, and HSL, build CSS gradients you can paste, and check contrast against WCAG AA/AAA before the design review does.

·3 min read
DevOps

Dockerfile, Helm Values, and .env → Compose: A Practical DevOps Checklist

Catch Dockerfile smells, scaffold Helm values.yaml, and turn .env files into Compose environment blocks — before the cluster tells you what you missed.

·3 min read
Text

5 Text Tools Every Developer Should Bookmark

Regex debugging, text diffs, Markdown to HTML, case conversion, and word counts — the text transforms that show up in every sprint.

·3 min read
Generators

UUID vs NanoID vs ULID: Which ID Format to Use (2026)

UUID, NanoID, and ULID compared: length, sortability, and database index performance. Includes when to use each and a quick decision guide.

·5 min read
Security

MD5 vs SHA-1 vs SHA-256 vs SHA-512: Which One to Use

MD5 and SHA-1 are broken for security. Compare MD5, SHA-1, SHA-256, and SHA-512 — speed, collision risk, and which to actually use.

·4 min read
Networking

CIDR Notation Explained: How to Calculate a Subnet Range

CIDR notation packs a network address and subnet size into one string. Here's how to read it, calculate ranges by hand, and where people get it wrong.

·5 min read
Encoding

Base64 vs URL Encoding: What's the Difference and When to Use Each

Base64 and URL encoding solve different problems. Here's the actual difference, where each one breaks, and which one to reach for.

·3 min read
Security

5 JWT Debugging Tasks Every Developer Should Bookmark

Decoding, inspecting claims, checking expiry, and validating structure — the JWT tasks that come up daily and how to handle them without a library.

·3 min read
Security

Why JWT Decoding Should Happen in Your Browser, Not a Server

Pasting a token into a random website is a bad habit. Here's what actually happens when you decode a JWT, and why it should never leave your device.

·3 min read
Encoding

What Is Base64 Encoding? (It's Not Encryption or Compression)

Base64 encoding explained simply: what it actually does, why it's not secure, and when to actually use it vs when you shouldn't.

·2 min read
JSON

5 JSON Tools Every Developer Should Bookmark

Validating, diffing, converting, and minifying JSON is a daily task. These five patterns cover almost all of it.

·2 min read