Deep dives into tools,
techniques & the web.
Practical guides covering developer tools, health metrics, SEO, converters and more — written to be actually useful.
✦ AI-powered — understands natural language
The Relative Age Effect: Why Birth Month Shapes School and Sport
Why Minimum Credit Card Payments Take 30 Years — DTI Ratio, the Debt Spiral Condition, and Scenario Analysis
The minimum payment on a £5,000 credit card balance at 20% APR takes 28-32 years to repay and costs £7,500-9,000 in interest — more than the original debt. Here's the DTI calculation (with thresholds), the mathematical condition for a debt spiral (monthly interest ≥ monthly payments), how to use a loan planner to diagnose whether you're in slow-motion debt spiral territory, and the order-of-operations for debt vs saving decisions.
Using JSON Diff to Detect API Breaking Changes — Schema Diff, Merge Patch, and Contract Testing
API breaking changes — removing fields, changing types, renaming keys — are detectable by diffing JSON Schema between API versions. Here's schema-level vs instance-level JSON diff, JSON Merge Patch (RFC 7396) as a simpler alternative to JSON Patch for PATCH endpoints, why array diffing requires different algorithms than object diffing, and how contract testing uses JSON diff principles to prevent breaking API deployments in CI/CD.
Decorative Images Need alt="", Not Missing Alt — And Complex Images Need More Than One Line
Decorative images should have alt="" — not a missing alt attribute, which causes screen readers to announce the filename. Complex images (charts, diagrams, infographics) need both a concise alt text identifying the image type and a longer description of the data, via figcaption or aria-describedby. Here's the WCAG test for decorative, the three techniques for complex image descriptions, and why AI-generated alt text needs human review for technical and context-sensitive images.
The Devine Ideal Weight Formula Came From a Drug Dosing Paper — Here's What Actual Health Outcomes Research Shows Instead
The Devine ideal weight formula appeared in a 1974 drug dosing paper — it was never derived from health outcome research. Here's where each major formula came from (insurance actuarial tables, drug pharmacokinetics, military studies), what mortality outcome data actually shows about "healthy" weight (lowest mortality at BMI 22-25 but the curve is flat 20-27), and why the obesity paradox in clinical populations complicates the "lower is healthier" framing.
Hreflang Tags With Underscores Are Silently Ignored — ISO Code Syntax, Bidirectional Links, and Implementation Methods
Hreflang tags with underscores (en_GB instead of en-GB), lowercase region codes (en-gb), or uppercase language codes (EN-GB) are silently ignored by Google with no error message. Here's the ISO 639-1 and ISO 3166-1 case requirements, why self-referential tags and bidirectional return links are both required, the three implementation methods and why mixing them breaks the cluster, and when country-targeting without language differences works.
SMS and TOTP Can Both Be Phished in Real Time — Here's Which MFA Methods Are Actually Phishing-Resistant
SMS OTP and TOTP are both vulnerable to real-time phishing (AiTM attacks relay codes before they expire) — hardware keys and passkeys are phishing-resistant because their response is cryptographically bound to the exact URL. Here's the MFA security spectrum from SMS to passkeys, the MFA fatigue (push bombing) attack that compromised Uber in 2022, why number matching prevents rubber-stamping push notifications, and why security questions aren't a genuine second factor.
Dutch Men Grew 18 cm Taller in 130 Years Without Changing Genes — The Secular Height Trend Explained
Dutch men grew 18 cm taller in 130 years — genetics don't change that fast, so the entire increase came from nutrition and disease improvements. North and South Koreans are genetically identical but differ by ~9 cm in average height from 50 years of divergent nutrition. Here's the secular height trend, why "80% heritable" doesn't mean what people think it means, and why contemporary height differences between populations are mostly environmental history, not genetics.
Why Question-Formatted H2 Headings Win Featured Snippets — And What FAQ Schema's Decline Changes
Paragraph featured snippets are typically pulled from content immediately following a heading that matches the query — the heading provides the question context that the following paragraph answers. Here's how table snippets use headings for context, why FAQ schema's reduced eligibility makes heading-structured Q&A more important, why H2 level is most likely to generate snippets, and what a heading extractor reveals about competitor pages that rank for snippets.
SHA-256 Is Wrong for Passwords and bcrypt Is Wrong for File Integrity — Why Hash Function Choice Depends on Context
Hash functions serve four completely different contexts — data integrity, password storage, digital signatures, and hash tables — and each requires different properties. SHA-256 is ideal for integrity checks but catastrophically wrong for passwords (too fast); bcrypt is ideal for passwords but terrible for integrity checks (too slow). Here's why, plus SHA-2's length-extension vulnerability, BLAKE3's advantages, and the hash table DoS attack that made Python randomise its hash seeds.
HSTS Doesn't Protect the First Connection — Why the Preload List Exists and How to Use It Safely
HSTS tells browsers to use HTTPS only — but the first-ever connection to a site happens before HSTS takes effect, leaving a downgrade attack window. The HSTS preload list eliminates this by baking HTTPS-only policy directly into browsers before any connection. Here's why includeSubDomains is a commitment to all subdomains, how max-age=0 removes HSTS, and how HSTS silently fixes mixed content warnings for already-HSTS domains.
Why "40% Margin" Applied as a 40% Markup Produces Only 28.6% Gross Margin — And the Conversion Formula That Fixes It
Gross margin and markup describe the same profit relationship but calculate it differently — markup uses cost as the denominator, gross margin uses selling price. A business targeting "40% margin" that applies a 40% markup gets only 28.6% gross margin, systematically underpricing every product. Here's the conversion formula, why the two measures diverge dramatically at higher values (50% margin requires 100% markup), and the VAT extraction error that catches even mathematically confident people.
Perimenopause's First Sign Is Cycle Variability, Not Hot Flushes — What to Track and When to See a GP
Perimenopause's first sign isn't hot flushes — it's cycle length variability, with reliably predictable cycles becoming erratic over 2-10 years before the final period. Here's how declining ovarian reserve drives follicular phase variability, why anovulatory cycles cause heavier periods, the specific tracking patterns that indicate perimenopause vs thyroid issues or PCOS, and why fertility doesn't reach zero until 12 months after the final period.