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
Drag Rises With Speed Squared: The Real Cost of 130 km/h
Your Predicted Period Date Is an Average — Here's the Range Hiding Behind It
A period tracker says "your next period: March 15" — a single date, derived from averaging your past cycles. But "regular" cycles still vary day-to-day within a typical range, and factors like travel, stress, or illness can shift any individual cycle. Here's why treating the predicted date as the center of a range — rather than a precise point — provides more useful information for planning travel, events, and supplies.
Shared IP Blacklisting: How a Neighbor's Compromised Website Tanks Your Email Deliverability
Your domain can land on a spam blacklist without sending a single spam email — if you're on shared hosting, the IP address you share with hundreds of other sites carries one collective reputation, and someone else's compromised WordPress site becomes your deliverability problem. Here's how to recognize shared-IP contamination, what your hosting provider can (and you can't) do about it, and why "IP warming" matters when switching to a dedicated IP.
Robots.txt, Meta Robots, and X-Robots-Tag: Why Blocking AND Noindexing the Same Page Is a Contradiction
A page blocked in robots.txt AND tagged noindex is a contradiction — the robots.txt block prevents crawlers from ever seeing the noindex tag. Here's how robots.txt (crawl-level), meta robots (page-level), and X-Robots-Tag (HTTP header, any file type) actually relate, why "block AND noindex" doesn't work as intended, and the correct configuration for actually excluding pages from the index.
Mobile-First Indexing: Why It's a Non-Event for Responsive Sites and a Real Risk for Separate Mobile Domains
Mobile-first indexing means Googlebot primarily indexes the mobile version of your content — even for desktop search results. For responsive sites, this is largely a non-event. For sites with separate mobile domains, dynamic serving, or aggressive mobile-specific lazy-loading, content/structured-data parity gaps between mobile and desktop versions become the version that's actually indexed.
Y2K, Y2K38, and Excel's 1900 Leap Year Bug: The Dates That Break Software
Y2K cost $300–600 billion to mitigate. The Unix 2038 problem will overflow signed 32-bit timestamps on 19 January 2038. Excel has counted 29 February 1900 as a real date since the 1980s. Here's the structural causes of each date bug and which ones are still ticking.
Recipe Scaling: Why Salt, Leavening, and Baking Time Don't Just Double When Your Recipe Does
Doubling a recipe doesn't mean doubling every ingredient by the same factor — salt and spices that taste "right" at 1x can taste over-seasoned at a linearly-doubled 2x, leavening agents commonly scale by 75-90% rather than 100%, and baking time scales by far less than 2x because heat penetration relates to thickness squared, not to volume. Here's why each of these deviates from linear scaling, and why pan-size choice is inseparable from baking-time expectations.
Gauge Pressure vs Absolute Pressure: Why Almost Every Pressure Reading You See Is Actually a Difference
A tyre gauge reads "0" on a completely flat tyre — not "-14.7 PSI," which is what it would show if it were truly measuring zero pressure. This is gauge pressure: nearly every everyday pressure reading (tyres, blood pressure) is actually a difference from atmospheric pressure, not an absolute amount. Here's what absolute pressure means by contrast, why weather/barometric readings and gas-law calculations require absolute pressure specifically, and the subtle way altitude affects gauge readings independent of temperature.
Structured JSON Logging: How to Debug Production API Errors and Search Logs at Scale
Structured JSON logs are queryable across millions of events in milliseconds; unstructured string logs require brittle grep. Here's why JSON logging matters, the OpenTelemetry log schema standard, structured logging libraries in Python/Node/Go, and how formatting API error responses reveals everything needed to debug a production incident.
What Developers Still Get Wrong About Password Storage in 2024
LinkedIn stored 117 million passwords as unsalted SHA-1 — cracked within days. Adobe used 3DES encryption (reversible) instead of hashing. These are the specific, named password storage mistakes that keep producing data breaches. Here's every common error, why it fails, and the correct modern approach with bcrypt and Argon2.
How File Hash Verification Actually Works: Determinism, the Avalanche Effect, and What "Match" Really Means
Hashing the same file twice, a year apart, on different computers, produces the exact same hash — this single property, determinism, is the foundation of file-integrity verification. Here's how the avalanche effect guarantees "match or no match, with no partial credit," why fixed output size makes hash comparison practical for huge files, the proper download-verification workflow, and why where a published hash comes from matters as much as the comparison itself.
IEEE 754 Floating-Point: Why 0.1 + 0.2 ≠ 0.3 and What to Use for Financial Calculations
0.1 + 0.2 ≠ 0.3 in nearly every programming language — because 0.1 can't be represented exactly in binary. Here's the IEEE 754 bit structure (sign, exponent, mantissa), special values (NaN, Infinity, -0), why integers above 2^53 lose precision in JavaScript, and why financial code should never use floats.
UUID Primary Keys in PostgreSQL, MySQL, and MongoDB: Performance Differences and Implementation Patterns
PostgreSQL stores UUIDs as 16-byte native types with no performance penalty. MySQL's InnoDB clustered index makes random UUID v4 fragmentation far worse than in PostgreSQL. MongoDB's ObjectId is 12 bytes with an embedded timestamp. Here's how UUID primary keys actually behave in each database and the ORM patterns to use them correctly.