Blog
Guides, comparisons, and behind-the-scenes notes on the tools we're shipping.
Purpose-Built Tools for the Age of Quick Answers
Here is the whole thing in one sentence: every AppCrib tool is an expert in one small problem. It knows which questions to ask, it recomputes as you adjust, and it hands you an output you can actually use.
Percentage Zones vs Offset Zones, and the Exponent Almost Nobody Checks
A swimmer goes 1:02.40 for the 100. The coach wants a 500 goal to put on the board, and the arithmetic looks like it does itself: a 500 is five 100...
Why Your TDEE Number Stopped Working
There's a post I keep seeing, written in almost the same words every time. Someone is seventy pounds down. The calorie target that carried them thr...
Why a Marathon Is 42.195 Kilometers, and What Rounding It Costs Your Pace
A runner training for a spring marathon sets a goal of three hours thirty minutes, does the division in her head, and programs 5:00 per kilometer i...
Why Powerlifting Keeps Rewriting the Formula That Ranks Its Lifters
Put a 60kg lifter and a 120kg lifter next to each other with the same 250kg total, and everyone in the room knows the smaller lifter did something ...
The 45-Pound Bar That Weighs 44 Pounds: Where Barbell Standards Split
Put the bar on the rack, hang two of the biggest plates on each side, and depending on which gym you walked into you either loaded 225 pounds or a ...
The 1984 Navy Study Behind Every Tape-Measure Body-Fat Number
Picture two sailors reporting for a fitness check in the early 1980s. Both stand five foot ten. Both weigh 200 pounds. On the Navy's height-and-wei...
Mifflin-St Jeor vs Harris-Benedict: Why BMR Formulas Disagree on Your Calorie Target
Run your stats through two macro calculators and you will often get two different calorie targets for the exact same body. A 27-year-old woman at 1...
The BMR Equation Behind Your Calorie Target, and the Three It Beat
Run the same person through five published metabolism equations and you get five different answers. Take an 80-kilogram, 180-centimeter, 30-year-ol...
We Redesigned the Front Door Before the Catalog Outgrew It
When AppCrib had a dozen tools, the homepage could be a list. Every tool got a card, every card got a sentence, and you could scan the whole catalo...
Why the Epley and Brzycki 1RM Formulas Disagree on the Same Set
Picture two lifters arguing in a group chat. One did 275 for 6 and a calculator told him his max is 330. The other ran the identical numbers throug...
Why Ground Clearance Alone Won't Tell You If You'll High-Center
A guy slides under his lowered sedan with a tape measure, reads six inches from the asphalt to the lowest bit of exhaust, and figures he's got room...
Where Conduit Bending Multipliers Come From, and When the Rounded Ones Fail You
Every conduit bending card in a tool bag lists the same shorthand for a 30-degree offset: multiply your rise by two to get the distance between mar...
The Sling Angle Trap: Why 60 Degrees and 30 Degrees Describe the Same Lift
Two riggers can stand at the same pick, look at the same bridle, and read off two completely different angle numbers. One calls it a 60-degree lift...
Calculated Gallons vs. a Strapping Table: Why Two Right Answers Disagree on a Horizontal Tank
A driver pulls up to a 1,000-gallon horizontal diesel tank, drops a gauge stick, reads 18 inches wet, and pulls the laminated chart taped inside th...
Why We're Building Calculators for People Who Work Outside
AppCrib started as a shelf of developer utilities. JSON formatters, diff tools, cron helpers, color converters. Tools for people who sit at a desk ...
Why the Same Corner Needs Different Crown Molding Saw Angles
Two carpenters cut crown for the same 90-degree inside corner. One sets the saw to 31.6 degrees miter and 33.9 degrees bevel. The other sets it to ...
Why a Round Blade Runs So Far Past the Line, and Why the Number Surprises People
A cutter sets up to drop a 6-inch-deep cut into a slab with a 24-inch diamond blade, marks the line, and assumes the cut stops where the mark stops...
Why One APR Becomes Eight Different APYs: The Compounding Frequency Dial
Take a flat 8% nominal rate and ask what it actually yields in a year. There is no single answer. Compounded once a year it yields exactly 8%. Comp...
Why the Rule of Thirds and the Golden Ratio Are Not the Same Grid
Take a 3000-pixel-wide photo and ask two photographers where the left vertical guideline goes. The rule-of-thirds answer is 1000 pixels in, one thi...
What 9H Hardness Actually Means on a Ceramic Coating Label
Pick up almost any consumer ceramic coating kit and somewhere on the box, usually in a bigger font than the actual product name, you'll see "9H." S...
Why Gradient Text Quietly Breaks, and the Borrowed Property Behind It
You paste in three lines from a Stack Overflow answer, refresh the page, and your heading shows up as a solid block of color. Or worse, a colored r...
Where the 25-to-1 Compost Ratio Comes From, and Why Cornell and Rodale Cite Different Numbers
Open three compost calculators in three tabs and you'll get three slightly different target ranges. One asks you to aim for 25:1. Another says 25 t...
Why GPT, Claude, and Gemini Disagree on the Same Token Count
Take a sentence: "The quick brown fox jumps over the lazy dog 🦊."
Where 16-Inch Stud Spacing Comes From, and What the Code Actually Says About 24
A residential framing crew laying out a 24-foot exterior wall pulls a tape and starts marking studs every 16 inches. Three blocks over, an inspecto...
How 0.08% Became the National BAC Limit, and Where It's Heading Next
A reasonable question, after seeing four different BAC limits cited on the same page (0.08% for most drivers, 0.05% in Utah, 0.04% for commercial d...
Unix Time Isn't UTC: How POSIX Skipped Leap Seconds and the 2038 Cliff Ahead
At the end of June 2012, sysadmins set alarms for 23:59:60 UTC, the timestamp that doesn't exist in any operating system. The 25th leap second ever...
APR vs APY: Where the Four-Letter Difference Compounds Into Real Money
A bank advertises a 4.5% mortgage and a 4.5% savings account. The mortgage rate is the APR; the savings rate is the APY. Both numbers look identica...
How We QA Without a QA Team
We don't have a QA team. We have something worse: a gatekeeper that can't be reasoned with, bribed, or guilt-tripped into letting a half-baked buil...
RBAC0 Through RBAC3: What the NIST Standard Actually Defines
The first time anyone documents access control for a SOC 2 readiness review, the auditor asks a question with no good off-the-cuff answer: "Is your...
Where the 10% Drywall Waste Factor Comes From, and When It's Wrong
A homeowner orders 22 sheets of 4x8 drywall for a 700-square-foot basement project. The contractor's estimating sheet says "add 10% for waste." The...
Where the 0.05 Significance Threshold Came From, and What the ASA Said in 2016
A student runs a two-tailed t-test, gets p = 0.0512, and stops. The threshold says 0.05. Their result is not significant. They got close, but close...
Why 'EXIF Stripping' Isn't Enough: The Four Metadata Standards Every Photo Carries
A photo "cleaned" by a typical online EXIF stripper still tends to leak. GPS coordinates often disappear, the device name disappears, the timestamp...
Why WCAG 2.2 and APCA Disagree About Dark Mode Text
A designer building a dark dashboard picks #FFFFFF text on a #1A1A2E navy background. WCAG returns 15.83:1, comfortably above the 4.5:1 floor for b...
The 20% Down Payment Rule Isn't a Rule: PMI Thresholds, the HPA, and the 78% LTV Auto-Cancellation
A first-time buyer puts 5% down on a $380,000 house, signs the closing papers, and asks the loan officer the obvious question: when does PMI go awa...
OKLCH vs HSL vs LCH: Which Color Space Picks the Right Gradient Midpoint
Pick two colors on opposite sides of the wheel. Blue to yellow, say #3b82f6 to #facc15. Ask a CSS gradient to walk from one to the other. Then look...
FIFO vs LIFO vs Weighted Average: Why Inventory Method Changes Your COGS
A boutique buys 100 candles in January at $4 each, another 100 in February at $5, and another 100 in March at $6. Total inventory cost: $1,500. By ...
Browser Tools Without a Backend: How We Build Them
AppCrib has 27 tools live right now. A jq playground running real jq 1.8 compiled to WebAssembly. A SQL formatter powered by sql-formatter v15. A g...
JPEG vs WebP vs AVIF: The Perceptual Quality Math Behind 'Quality 80'
Save the same 4 MB product photo at "quality 80" in three formats. The JPEG comes out at 580 KB. The WebP at 340 KB. The AVIF at 190 KB. The files ...
Two's Complement, Signed Shifts, and the 2^53 Boundary: Bitwise Math Beyond Hex
Open a browser console and type 0. The answer is -1, not 4294967295. Bitwise NOT of zero, in a language where every number is a 64-bit double, retu...
JSONL vs NDJSON vs JSON Sequences: When the Newline-Delimited Formats Diverge
A common stumble: you have a file of one-JSON-object-per-line records, your pipeline tool says it accepts NDJSON, you point it at the file, and the...
K-Means vs Median-Cut vs Octree: How Color Quantization Algorithms Pick Different Palettes From the Same Image
Pick any image — a sunset photo, a brand mockup, a UI screenshot. Run it through three free palette extractors, ask each for a six-color palette, a...
Why Markdown Tables Aren't in the CommonMark Spec, and How Renderers Filled the Gap
Paste a markdown table into the CommonMark playground at spec.commonmark.org. Pipes, separator row, alignment colons, the whole thing. The renderer...
Why Diff Tools Disagree: Myers, Patience, and Structural Diff Compared
Two engineers on the same pull request see different diffs. One reviewer sees a block of seven lines moved from one helper into another, with git's...
Privacy by Architecture, Not by Promise
AppCrib tools are built to be the place you finish a job: paste the JSON and reformat it until it's right, drop the photo and strip what shouldn't ...
Where JSON, JSON5, JSONC, and NDJSON Actually Differ
A JSON config file that opens in VS Code is allowed to contain comments. A JSON file that opens in a strict parser is not. The same .json extension...
Why SQL Formatters Still Disagree on the Same Query
Take a five-line query with a join and a CTE. Paste it into four different SQL formatters. You get four visibly different results.
When 5 Cron Fields Aren't Enough: The Seven-Variant Landscape
The job was supposed to fire at 02:30 every Sunday. Instead it ran 24 times every Sunday, once an hour at HH:02:30, and nothing the rest of the wee...
JSON Query Languages Compared: jq, JSONPath, JMESPath, and When Each Is the Right Pick
The first time you run kubectl get pods -o jsonpath='{.items[].metadata.name}', then try the same selection with jq '.items[].metadata.name', the o...
One Tool, One Job: Why We Don't Build Swiss Army Knives
You've seen the pattern. You Google "JSON formatter," land on some tool that works fine, and then you notice the sidebar. CSV converter. Base64 enc...
Clean, Modern, Private: Three Words We're Not Kidding About
> A note from August 2026, before you read on. This post recorded AppCrib's earlier positioning, when "clean, modern, private" was the identity we ...
Why We Left B2B to Build a Hundred Small Things
Two years ago I was running operations at a B2B software company. My business partner was running it with me, and he'd been building it for a long ...
Read about it, then use it
Most posts are paired with a tool. If something clicked, the tool is a click away.