How to Pace a 5K
Divide your goal time by 5 to get the pace to hold, then run even splits. Here's how to find your target pace, train for it, and race it well.
Aisha Karim · 2 min read
Practical guides, how-tos and comparisons to get the most out of our free online tools.
Divide your goal time by 5 to get the pace to hold, then run even splits. Here's how to find your target pace, train for it, and race it well.
Aisha Karim · 2 min read
Why your 100 Mbps plan downloads at 12.5 MB/s, the bits-versus-bytes ÷8 rule, and how to turn a connection speed into a real download time.
Daniel Okonkwo · 4 min read
Charging cost is energy added times your electricity price. Here's the sum, home vs public charging, cost per 100 miles, and how it compares to gas.
Camille Laurent · 3 min read
Complementary, triadic, analogous and split-complementary are just rotations: add 180°, 120°, 30° or 150° to a hue. The arithmetic is trivial. The problem is that the HSL hue circle is not perceptually uniform — yellow and blue at the same HSL lightness differ in luminance by 12.85 times — so a generated palette has to be contrast-checked afterwards.
Daniel Okonkwo · 15 min read
A diagonal plus an aspect ratio gives you width and height by Pythagoras, and the answer is not what the marketing implies: a 27-inch 21:9 has 16.2% less area than a 27-inch 16:9. Then pixels per degree, which shows the highest-PPI phone is not the sharpest thing you own.
Daniel Okonkwo · 17 min read
Divide both sides by their greatest common divisor. Here's what a ratio is, how to reduce it, why units must match first, and how to compare ratios.
Lena Hoffmann · 3 min read
Building an IN list by string concatenation is both the classic injection vector and a performance cliff. Parameterisation fixes the first structurally, because the plan is compiled before any value arrives. The second needs arithmetic: the vendors' documented parameter ceilings, and what a query whose text changes with every list length does to a plan cache.
Daniel Okonkwo · 19 min read
Scientific notation writes huge and tiny numbers as a value times a power of ten. Here's how to write it, read the exponent, and convert back.
Lena Hoffmann · 3 min read
YAML is JSON plus a type-inference layer, and the inference is the dangerous part. The same file run through a YAML 1.2 parser and a YAML 1.1 parser: no is a string in one and false in the other, 01234 is 1234 in one and 668 in the other, and 12:30:00 is a number in one of them.
Daniel Okonkwo · 17 min read
MPG is how far a car goes on a gallon — higher is better. Here's what it means, how it relates to L/100 km, why your real figure is lower, and how to improve it.
Marco Bianchi · 3 min read
Walking burns roughly 0.04 calories a step. Here's what 10,000 steps really burns, what changes the number, and whether 10,000 is a magic figure.
Aisha Karim · 2 min read
JSON has no integer type, no date type, no comments and no schema. Every one of those absences produces a specific bug: a 19-digit ID comes back off by 21, a timestamp becomes a string nobody agreed on, NaN cannot be written down, and duplicate keys are legal. All of it run, in two languages.
Daniel Okonkwo · 19 min read