The LK Forge Blog
Writeups from building this site: how the game AIs work, what an AI-assisted pipeline gets right and wrong, and real numbers instead of vibes.
Can a PDF Have a Virus? What PDFs Can and Can't Do
A PDF is a container format, not a flat picture: the specification lets a document carry JavaScript, embedded file attachments, actions that launch other programs, and links out to the web. The three routes to harm are exploiting a bug in the reader that parses the file, using those permitted features directly, and — by far the most common — carrying no malicious code at all and simply looking convincing enough that you click a link to a phishing page. Modern readers disable document JavaScript by default and sandbox their rendering, so an updated reader removes most of the technical risk; what remains is judgement. Practical steps for a PDF you do not trust, and why extracting the text is a smaller exposure than opening the document.
· Read → Data StudiesWhere LK Forge's Live Dashboards Get Their Data
The full data provenance for every live dashboard on the site, read from each tool's own code rather than quoted. Earthquakes come from the USGS Earthquake Hazards Program real-time GeoJSON summary feeds, refreshed about once a minute; volcanoes from the Smithsonian Global Volcanism Program "Volcanoes of the World" web feature service, cached because the catalogue changes slowly; space weather from NOAA SWPC (GOES X-ray flux, solar-wind speed and magnetic field, the planetary Kp index and R/S/G storm scales); near-Earth asteroids from NASA/JPL CNEOS Close-Approach Data through a same-origin proxy; weather, tides and hurricanes from Open-Meteo, NOAA Tides & Currents and the National Hurricane Center. Moon phase, sunrise and sunset and satellite passes carry no feed at all — they are computed on-device from open astronomical algorithms and CelesTrak orbital elements. Every feed is fetched by your own browser, LK Forge measures nothing itself, and none of it is an official warning system.
· Read → Data StudiesDomain Coloring: How We Plot Complex Functions in the Browser
A complex function f(z) maps a plane to a plane — four dimensions, no curve to draw — so the LK Forge graphing calculator paints the plane instead, with domain coloring: the hue of each pixel is the argument of f(z) and its brightness is the modulus, so zeros show as dark spots ringed by the full colour wheel and poles as bright ones, with faint rings at each doubling of the modulus. Explains the evaluator (the same no-eval shunting-yard parser as the real graph, but the stack carries {re,im} pairs and every function gets its principal branch, so i²=−1, √−1=i, ln(−1)=πi and e^(iπ)=−1 come out exact), its measured speed (about 3.4 million evaluations per second — 200,000 in 58 ms, single-threaded), and how it stays interactive without WebGL (a half-resolution offscreen canvas of ~77,000 samples, dropping to quarter resolution during a drag and repainting 140 ms after it stops). Closes with a field guide reading seven functions by their fingerprint — z² (a double zero, hue wraps twice), 1/z (a single pole), (z²−1)/(z²+1) (zeros at ±1, poles at ±i), z³−1 (three roots of unity), sin z (a row of zeros), eᶻ (horizontal hue bands, no zeros), ln z (a branch cut along the negative real axis) — each with an "Open this graph" deep link. A Colour intensity slider runs from pastel to vivid. All free and client-side.
· Read → Data StudiesSix Sorting Algorithms, Counted: What 50 Elements Actually Cost
Bubble, insertion, selection, merge, quicksort and heapsort measured on the same 50 numbers by the code behind the Sorting Algorithm Visualizer. On 50 shuffled elements quicksort did about 475 operations (260 comparisons, 214 writes) to bubble sort's 2,419 — five times the work — while merge sort trailed at 508. The O(n²) sorts each compare about n²/2 = 1,225 pairs; the O(n log n) sorts do 150–260. The honest caveat the numbers expose: quicksort's comparisons jump from ~260 on random input to the full 1,225 on an already-sorted or reversed array, because a naive last-element pivot is always the extreme value — its best case becomes its worst. Selection sort makes only 91 writes (13× fewer than bubble) because it swaps once per position, and merge sort stays near 130–220 comparisons regardless of input order. Every figure counted from the visualizer's own step-generators run headlessly over 200 seeded shuffles. Links to the sorting visualizer and the companion game-AI algorithms post.
· Read → Data StudiesBFS, Dijkstra and A*: What Three Pathfinders Actually Explore
BFS, Dijkstra and A* run on the same 25×15 grid by the code behind the Pathfinding Visualizer, counting the cells each explores and the cost of the path it returns. On an open grid all three find the same optimal 18-step path, but A* settles just 19 cells to BFS's 260 and Dijkstra's 273 — about 14× fewer — because its Manhattan heuristic heads straight for the goal. Add a 7×7 block of cost-8 "heavy" cells between start and goal and BFS breaks the other way: it counts steps not cost, so it charges straight through for an 18-step path that actually costs 67 to walk, while Dijkstra and A* route around for a true cost of 26. A* reaches that same optimal answer exploring 110 cells to Dijkstra's 330. Covers admissible heuristics, why BFS suits only unweighted grids, and why A* is the default in games and maps. Every figure counted from the visualizer's own search() function. Links to the pathfinding visualizer and the sorting and game-AI companion posts.
· Read → Data StudiesThe Same 31 Numbers, Two Trees: A Binary Search Tree Measured
A binary search tree promises O(log n) lookups, but whether it delivers depends entirely on insertion order — measured here with the Data Structure Visualizer's own BST code on the numbers 1–31. Insert them in random order and a lookup averages 5.3 comparisons (tree height ~9, near the balanced ideal of 4.2 at height 5); insert the exact same numbers already sorted and every value hangs off the right, the tree degenerates into a 31-node straight line (height 31), and the average lookup jumps to 16 comparisons — the cost of scanning an unsorted array, three times slower for the same data. That degenerate case is why production libraries ship self-balancing trees (red-black, AVL, B-trees) that rotate on insertion instead of a plain BST. Also covers why stack (LIFO) and queue (FIFO) operations are O(1) — they only ever touch one end — and the last-in/first-out vs first-in/first-out distinction. Every figure counted from the visualizer's insert and search functions over 500 seeded shuffles. Links to the data structure visualizer and the sorting and pathfinding companion posts.
· Read → Data StudiesEvery Mode in the LK Forge Graphing Calculator
A guided tour of every mode in the free, in-browser LK Forge graphing calculator, with one worked example per mode. Beyond ordinary functions of x (multiple plots, pan, zoom, a live coordinate readout, and a settings gear for grid, axis labels, and degree/radian angle mode with a π-step grid), it covers: polar curves r=f(θ) on a concentric-circle grid with a θ range (cardioid r=1+cos θ, three-petal rose r=cos 3θ); 3D surfaces z=f(x,y) as a rotatable render (z=sin x·cos y); parametric curves x(t), y(t) over a t range, which draw shapes no single y=f(x) can (the unit circle x=cos t, y=sin t); inequalities that shade the satisfying region with dashed boundaries for strict comparisons and solid for non-strict, and overlap two constraints; custom functions f(x)=body that are order-independent and reusable across rows; automatic interesting points that label roots, axis intercepts, and extrema; and a high-contrast mode meeting WCAG AA for every curve and the grid, following the OS contrast preference. All free, all client-side. Links to the graphing calculator and the wider math calculator suite.
· Read → Data StudiesDoes Wordle Repeat Words — and When Will It Run Out?
Two questions every regular Wordle player asks, answered against the real word lists. Does Wordle repeat words? No — the daily answer is drawn from a curated list and retired once used, so you are never asked to solve the same word twice; only your guesses can repeat. When will it run out? The classic answer pool holds 2,315 words (measured from the list our Wordle Solver ships); at one per day since June 19, 2021 that supply lasts about 6.3 years and would be exhausted around October 2027 — and by September 2026 roughly 82% of it is already used, with about 405 answers left. But it will not really run out: the larger valid-guess dictionary of about 12,972 words alone would last past 2056, and since acquiring Wordle The New York Times curates answers editorially rather than marching through a fixed list, so the run-out date is a math curiosity, not a countdown. Includes a timeline visual comparing the answer pool and the guess dictionary, and a FAQ. Maps to the site Wordle Solver and Wordle game.
· Read → Data StudiesWhat Is Lossless Data Compression? We Measured 5 Codecs
Lossless compression makes data smaller and then returns every original byte exactly — decompress and you have a perfect copy, not an approximation. We put that to the test on the standard Canterbury corpus (11 files, 2.68 MB) with five real compressors at their maximum settings, and verified every result with a byte-for-byte SHA-256 check: all 55 round-trips matched, which is what "lossless" means. Sizes: gzip reached 3.85x (26% of the original), bzip2 5.18x, zstd 5.45x, xz 5.70x and brotli 5.73x (17.5%) — so modern codecs pack about 49% tighter than the 1990s gzip baseline. All of them beat the naive order-0 entropy floor (45% of original), because they model context and repetition rather than just byte frequencies. Compressibility depends entirely on the data: a structured spreadsheet fell to 5% of its size with xz, while an already-dense binary barely moved. The page includes a live in-browser demo (using the CompressionStream API) that compresses your own text with gzip and proves the decompressed output is identical. Lossless is for text, code, spreadsheets and archives; lossy (JPEG, MP3) reaches smaller sizes only by discarding detail for good. Every figure reproducible from a short shell loop.
· Read → Data StudiesIs the North Star the Brightest Star? Not Even Close
The North Star is the most famous star in the sky, and almost everyone assumes fame means brightness. It does not. Ranked by how bright they actually appear, Polaris is not in the top forty — it sits around 48th. The real brightest star, Sirius (apparent magnitude -1.46), outshines Polaris (+1.98) by about 24 to 1; Polaris shines at only 4.2% of Sirius, beaten by two dozen household-name stars before you even reach the fainter ones. The scale is what fools people: apparent magnitude runs backwards (smaller is brighter) and is logarithmic, 5 magnitudes being exactly 100x. What makes Polaris special is position, not brightness: it sits within 0.7 degrees of the north celestial pole, so it barely moves while the sky wheels around it. Precession even swaps the pole star over millennia (Vega held the role ~12,000 BC). Standard published magnitudes, ranked by one reproducible script.
· Read → Data StudiesFast Charging Costs You Round-Trip Efficiency and Cycle Life
We swept a battery model from 0.25C to 4C: round-trip efficiency fell from 95.57% to 62.72%, and cycle life dropped from 2,795 to 1,165 cycles.
· Read → Data StudiesWhy a Flywheel Is Great for Seconds and Useless for Hours
We swept a flywheel's standby hold time: round-trip efficiency fell 84.64%-7.68%, retained energy 100%-9.07%, over 0-8 hours at 30%/h standby loss.
· Read → Data StudiesWhy Hydrogen Storage Wins on Duration and Loses on Round-Trip
We swept a hydrogen storage model: round-trip fell only 38.5%-24.55%, retention 100%-63.76%, over 0-90 hold days at 0.5%/day leak.
· Read → Data StudiesWhy Ion Thrusters Are Feeble but Unstoppable: Specific Impulse vs Thrust-to-Power
We swept the shipped ion thruster core: specific impulse runs 2158.5-5911.2 s across beam voltage, while thrust-to-power falls from 68 to 24.8 mN/kW.
· Read → Data StudiesWhy a Jet Engine Is Useless Standing Still (and Loves a Big Fan)
We swept the shipped jet engine core: overall efficiency runs 22.32%-45.16% across bypass 0-12, while static thrust carries 0% propulsive efficiency.
· Read → Data StudiesWhy a Propeller Is Efficient — Until the Tips Go Supersonic
We swept the shipped propeller core: efficiency climbs 76.7%-85.4% as disk diameter grows 1.2-2.8 m, but tip Mach crosses 0.8 past 2.16 m at 2400 rpm.
· Read → Data StudiesHow Flow Rate and Head Set a Pumped-Hydro Plant's Round-Trip Efficiency
We swept a pumped-hydro plant's flow 60-420 m³/s: round-trip efficiency fell 80.77%-70.32%, generator power rose 158.69-1033.96 MW.
· Read → Data StudiesThe Rocket Equation: Why Δv Costs Exponentially
We swept the shipped rocket-equation core: ideal Δv runs 2039.2-7967.1 m/s across mass ratios 2-15, but only 70.38% reaches orbit net of losses.
· Read → Data StudiesThe True Size of Countries: What the Map Gets Wrong
On the standard Mercator world map Greenland looks as big as Africa. It is not close. We took the real land areas behind our World Atlas and ranked them: Africa's 50 countries total 30.3 million km², which is 14 times Greenland's 2.17 million and 1.8 times Russia, the largest country on Earth. Greenland is only the 12th-largest landmass on the list — Algeria alone (2.38M km²) is bigger. The cause is the projection: Mercator inflates area by sec²(latitude), so a country at Greenland's 72°N is drawn about 10.5× too large, Russia and Canada near 60° about 4×, while equatorial countries like the DR Congo are true to size. Every figure is pulled from the shipped atlas dataset by one reproducible script.
· Read → Data StudiesThe Best First Move in Tic-Tac-Toe, and Why You Still Can’t Win
Tic-tac-toe is small enough to solve completely, so we walked the entire game tree — all 255,168 games — and counted every outcome exactly (reproducing the known solved-game census, our correctness check). Two things fall out. Between two perfect players it is a forced draw: neither side can ever win, which is exactly why the computer is unbeatable. But the moment play is imperfect the game is lopsided — across all games the first player wins 51.4% (131,184) and the second just 30.5% (77,904), with only 18.1% drawn; if both move at random, draws collapse to 12.7%. And the best opening is the center, not the corner: it lies on four of the eight winning lines (a corner three, an edge two), and games opened there are first-player wins 60.5% of the time, versus 52.8% for a corner and 48.1% for an edge. The site’s Tic-Tac-Toe AI plays this exact perfect strategy, so the honest answer to “how do I beat it?” is you don’t — you play for the draw. Every figure exact from a dependency-free enumeration.
· Read → Data StudiesHow Many Words Can You Actually Make From 7 Random Letters?
Stare at seven scrambled letters and it can feel like there is nothing there, or everything. We settled it: we drew 20,000 random Scrabble racks and ran each through the exact engine our Word Unscrambler uses (the ENABLE list, 172,835 words), counting every word of two or more letters formable from a subset of the tiles. A 7-tile rack makes 50 words on average (median 43), but the count swings from about 16 to 94 across the middle 80% of racks — and the swing is almost pure vowel luck: zero vowels averages 1 word, three vowels peaks at 62, seven vowels falls back to 5. A true bingo (a word using all seven tiles) shows up in only 7.3% of racks, about 1% make no word at all, and the longest word is usually just five letters. Yield grows super-linearly with rack size (2.7 words at 3 tiles → 84 at 8), and the richest rack in the run, AEILRST, made 278 words. Every figure re-runnable from the shipped word list; reproduced across two seeds within ~0.2 words.
· Read → Data StudiesNumber-Spelling Curiosities: Forty, Four, and the Letter A
Spell out the whole numbers and quiet letter patterns fall out — we wrote the number-to-words logic behind our converter and swept every integer to check them. Three numbers stand alone: forty is the only one whose letters run in alphabetical order, one the only one in reverse (o-n-e), and four the only number equal to its own length. Track each letter's first appearance and most arrive by "twenty", but D waits for one hundred, A for one thousand (you can count to 999 without ever writing an A), M for a million, B for a billion, and C all the way to an octillion (10^27) — while J and K never appear in any number name at all. The wordiest number under 1,000 runs 24 letters (three hundred seventy-three). Everything assumes American English, short scale, no "and", and is printed by one dependency-free script.
· Read → EngineeringHow Often Does Minesweeper Force You to Guess?
Minesweeper looks like a pure-logic game, but only on the small board. We drove the exact constraint solver the game ships across tens of thousands of boards and measured two things per difficulty: how often a board can be cleared with no guessing at all, and how often a solver that clicks the lowest mine-probability cell when stuck actually wins. Beginner (9×9, 10 mines) is 80.6% solvable by pure logic and won 96.1% of games; Intermediate (16×16, 40) drops to 53.2% and 85.0%; Expert (30×16, 99) collapses to just 3.9% no-guess and a 34.9% win rate — so ~96% of Expert boards force at least one guess. The driver is mine density (12.3% → 20.6%): denser boards force more unavoidable 50/50s, from 0.26 forced guesses per game on Beginner to 3.83 on Expert, and each is an independent chance to die. The solver’s deductions are exact; when stuck it enumerates the consistent layouts for each cell’s true mine probability. Expert Minesweeper is managed luck, not logic — every number re-runnable from the shipped engine, and reproduced across two seeds within ~1.5 points.
· Read → Data StudiesWord-Trivia Myths, Fact-Checked
Some of the most-shared word "facts" are repeated far more often than they are checked. We ran the popular ones through every word in the 172,835-word ENABLE open list — the list behind our Word Unscrambler — and two favourites fail. "Only two words have all five vowels in alphabetical order" (abstemious, facetious)? ENABLE holds six: arsenious and abstentious join the pair, plus the adverbs facetiously and abstemiously. "Typewriter is the longest word you can type on one keyboard row"? It ties five other ten-letter words (proprietor, perpetuity, repertoire, peppertree, prerequire), and only the top row reaches ten — the home row stops at nine (haggadahs), the bottom row at two. Plus the counts behind the curiosities: 121 words with no a/e/i/o/u, 22 with a Q and no U (qi, qat, qoph, sheqalim…), and 717 that carry all five vowels once (shortest: eulogia, sequoia). Every figure is scoped to the ENABLE list and printed by one reproducible script.
· Read → Data StudiesThe Bohr Model: Hydrogen’s Colours, and the Rydberg Constant
Bohr’s Eₙ = −13.6/n² gives hydrogen’s four visible Balmer lines (656/486/434/410 nm, matching reality) and the slope recovers the Rydberg constant.
· Read → Data StudiesThe Carnot Limit: Why No Engine Can Beat 1 − Tc/Th
No heat engine beats η = 1 − Tc/Th, set by its two temperatures. A car’s ceiling is 85%, a steam engine’s 20% — and 100% needs absolute zero.
· Read → Data StudiesCoulomb’s Law: The Inverse-Square Force, and Why Water Divides It by 80
Two charges pull as 1/r² — double the distance, quarter the force. And water’s permittivity divides that force by 80, which is why salt dissolves.
· Read → Data StudiesThe Doppler Effect: How a Passing Siren Drops in Pitch
A 440 Hz siren is heard at 482 Hz approaching and 405 Hz receding at 30 m/s — a 3-semitone drop. We measure the Doppler shift up to Mach 1 and beyond.
· Read → Data StudiesThe Sustainable Geothermal Rate: How Fast Can You Mine a Reservoir?
We benchmarked a 150°C reservoir over 30 years: below ~45 kg/s it holds flat, but above it net power declines for decades.
· Read → Data StudiesThe Spring That Ignores Gravity: Hooke’s Law and SHM
A mass on a spring keeps the same period on the Moon or Jupiter — T = 2π√(m/k) has no gravity in it. We work out the stretch, period and energy.
· Read → Data StudiesWhy a Nuclear Reactor Can't Just Be Switched Off
A shut-down reactor still makes real heat. We benchmarked the Way-Wigner decay curve for a 3000 MW reactor, from SCRAM out to a month later.
· Read → Data StudiesThe Photoelectric Effect: Frequency Beats Brightness
Electron energy rises with light frequency, not brightness, and stops dead below a threshold. From the shipped physics we even recover Planck’s constant.
· Read → Data StudiesQuantum Tunnelling: The Exponential Wall Particles Walk Through
A particle crosses a wall it classically can’t — but the odds fall exponentially with width. That ×8-per-0.1 nm sensitivity is how an STM sees atoms.
· Read → Data StudiesRadioactive Decay: The Exponential Law, and Why It Takes a Crowd
Half the atoms gone every half-life, whatever the count — and the smooth curve is a crowd effect: the random jitter falls as 1/√N. We measured it.
· Read → Data StudiesThe RC Circuit: Charging by e, and the 5τ Rule
A capacitor charges as V = ε(1 − e^(−t/τ)) with τ = RC: 63% after one time constant, 99.3% after five — the engineer’s “fully charged” rule. We ran it.
· Read → Data StudiesSolar Panel Tilt vs Latitude: Where Annual Yield Peaks
Annual solar yield peaks near tilt = latitude. We measured 0-90 degree tilt sweeps at four latitudes to find exactly where, and by how much it matters.
· Read → Data StudiesWind Turbine Capacity Factor vs the Betz Limit
The Betz limit caps wind capture at 59.3%; measured capacity factors here span 6.9-57.1% across wind speeds, well short of the theoretical ceiling.
· Read → Data StudiesThe Pendulum: Why Only Length Sets the Swing
Hang a heavy bob and a light one on strings of the same length and they keep time exactly; pull one out further and it still matches. A simple pendulum ignores its mass and (for small swings) its amplitude — its period answers only to the length, through T = 2π√(L/g). We tabulated it at g = 9.8 m/s²: 0.25 m → 1.00 s, 1 m → 2.01 s, 4 m → 4.01 s, so because L sits under a square root you must quadruple the length to double the period (a 1-metre pendulum ticks once per second each way — why grandfather clocks are about a metre tall). Mass cancels for the same reason all objects fall together; amplitude drops out only while the angle stays small, and a 90° swing runs ~18% slow. Exact arithmetic, with an animation of the swing.
· Read → Data StudiesKepler's Third Law: One Number for All Eight Planets
Mercury laps the Sun in three months, Neptune takes 165 years, and their orbits differ in size a hundredfold — yet one combination of each planet's year and distance comes out the same for all of them. Kepler's third law, T² ∝ a³, becomes T²/a³ = 1 exactly when period is measured in years and distance in astronomical units, and against real orbital data the ratio is 1.00 to three decimals for every planet from Mercury (0.387 AU, 0.241 yr) to Neptune (30.06 AU, 164.79 yr). Newton showed why: T² = (4π²/GM)a³, so the constant is fixed by the Sun's mass — which is how an orbit weighs its star. The same law governs binary stars and moons with their own central mass. Real published elements, arithmetic only, with an inner-planets orbit animation.
· Read → Data StudiesElastic vs Inelastic: What a Collision Keeps
Two things can happen to the numbers when objects collide, and they are not the same. Total momentum is conserved in every collision without exception (equal and opposite forces, Newton's third law); total kinetic energy is conserved only in a perfectly elastic hit and leaks away as heat and sound otherwise. We worked four head-on cases exactly: equal masses elastic with one at rest swap velocities (the Newton's-cradle trick); a 2 kg ball hitting a 1 kg one elastically leaves them at 1 and 4 m/s; a perfectly inelastic stick of 2 kg at 3 m/s into 1 kg at rest keeps all 6 kg·m/s of momentum but loses 3 of 9 J (33%) of kinetic energy. The dial between the extremes is the coefficient of restitution e, from 1 (elastic) to 0 (stick) — momentum ignores e entirely. Exact numbers, with a collision animation.
· Read → Data StudiesHow Fast Does a Wave Travel on a String?
Flick a rope harder or faster and the pulse looks different but travels at the same speed — because how fast a wave moves along a string depends only on the string, not the wave. The speed is v = √(T/μ), set by the tension T and the linear density μ: at μ = 0.01 kg/m, 10 N gives 31.6 m/s, 40 N gives 63.2 m/s and 90 N gives 94.9 m/s, so (both under a square root) quadrupling the tension doubles the speed and quadrupling the density halves it. Frequency and amplitude never enter the speed; frequency instead sets the wavelength through v = fλ, which is why a tighter or thinner guitar string plays a higher note. A fixed end reflects a pulse upside down, a free end upright, and standing waves are those reflections adding up. Exact table, with a travelling-pulse animation.
· Read → EngineeringHow Much Search Does 2048 Need? An Expectimax Depth Benchmark
Our shipped 2048 expectimax solver, run at fixed depths 1–6. Below depth 3 it never reaches 2048; depth 5 hits 87%, at 127× the compute cost.
· Read → Data StudiesThe Double-Slit Pattern: Fringe Spacing and Missing Orders
Fringe spacing Δy = λL/d, measured: closer slits make wider fringes, red beats violet, and where d/a is a whole number whole fringe orders vanish.
· Read → Data StudiesHow a Prism Splits Light: Dispersion and the Abbe Number
Why a prism fans white light into a rainbow: the Cauchy index curve, the Abbe number ranking crown vs flint glass, and the measured violet–red spread.
· Read → Data StudiesWhy 45° Throws the Farthest (and 30° and 60° Land Together)
On level ground with no air, a projectile's range is R = v²·sin(2θ)/g, so it peaks at exactly 45° and is mirror-symmetric about it — any two launch angles that add to 90° land in the same place. We evaluated range, maximum height and flight time at 30 m/s for every angle: 45° reaches 91.8 m, while 30° and 60° both reach 79.5 m and 15° and 75° both reach 45.9 m, even though the steeper shot of each pair climbs far higher and hangs in the air far longer (75° peaks at 42.8 m and 5.9 s versus 15° at 3.1 m and 1.6 s). The symmetry is built into sin(2θ); height and flight time, set by sinθ, climb straight up with the angle instead. The catch: add air resistance and the 45° optimum drops — often into the 30s for a fast light ball — and the arc turns lopsided, which is why golfers and long-jumpers launch lower. Every value is exact arithmetic, and the post animates a single launch from the projectile-motion simulator.
· Read → Data StudiesWhere a Lens Forms Its Image: Every Case in One Table
Move an object toward a converging lens and its image flips, grows, races to infinity, then reappears upright and magnified — and every switch happens at a fixed multiple of the focal length. We tabulated the whole map straight from the thin-lens/mirror equation 1/f = 1/dₒ + 1/dᵢ (with m = −dᵢ/dₒ), in units of f so it holds for any converging lens or concave mirror: at 3f the image is real, inverted and half-size; at 2f it is real, inverted and the same size; at 1.5f real, inverted and doubled; at f it escapes to infinity; and at 0.5f it becomes a virtual, upright, ×2 image — the magnifying-glass regime. A diverging lens or convex mirror has no cases at all: the image is always virtual, upright and reduced. Every value is exact arithmetic, not a measurement, and the post embeds an interactive ray-diagram tool so you can drag the object and reproduce each row.
· Read → Data StudiesWho Really Runs the Internet's DNS?
Before a browser can load a site it asks that site's nameservers for the address, so whoever runs those nameservers quietly holds up the web. We looked up the live NS records for the 1,000 most-visited domains (the Tranco list) over DNS-over-HTTPS and grouped each by the company that operates it. Amazon is the single biggest operator at 22.1% — roughly one in five top sites — with Cloudflare (11.4%), Akamai (10.1%) and Google (7%) behind it; the top three commercial operators reach 43.6% and five US cloud giants (Amazon, Cloudflare, Google, Microsoft, Akamai) run DNS for 54.4% of the busiest sites. Only about 18% still self-operate in-house. The more surprising number is fragility: 83.7% run every nameserver with a single operator — no independent backup if it goes down, the unheeded lesson of the 2016 Dyn outage. Caveat: a top-1,000 sample skews toward large operators, and ~12% on niche or in-house setups we did not name make the concentration figures conservative. Reproducible from a public DNS-over-HTTPS script.
· Read → Data StudiesDollar-Cost Averaging vs Lump Sum: What 75 Years of S&P 500 Data Shows
One of investing's oldest arguments — deploy a windfall all at once, or spread it in to avoid buying at the top — settled against every starting month of the S&P 500 from 1950 to 2025. Investing a lump sum beat dollar-cost averaging it over 12 months 76% of the time, and the longer you spread the money in the more often the lump won (72% over six months, up to 86% over three years), because money waiting on the sidelines misses the market's average gain. On a $10,000 deployed over a year, the lump sum finished about $607 ahead on average. But DCA's wins were not scattered: they clustered in the crashes — the single best month to have been averaging in was August 2008, on the eve of the financial crisis. The honest reading: dollar-cost averaging is not a way to earn more, it is a way to be wrong by less when your timing is unlucky — insurance you pay for in expected return. Built on the site's monthly S&P 500 total-return data and reproducible from a public script.
· Read → Data StudiesWhich Browser Tools Actually Stay Local? A Network Audit
"Runs in your browser, nothing uploaded" is easy to claim and easy to fake, so we tested our own tools: we loaded 15 LK Forge tools across nine categories with the browser network panel recording every request, and read the host list back from the Performance API. The result — none of the 15 sent the text, file or image you give it. Nine (formatters, a CSV converter, a Base64 encoder, a PDF splitter, an EXIF remover, a loan calculator, a chess engine) contacted only lkforge.com, fonts included, self-hosted rather than pulled from Google. Three live-data tools (What's My IP, Asteroid, Volcano) routed through an lkforge.com edge worker, so the browser never touched NASA, the Smithsonian or an IP-lookup service; three more (Earthquake→USGS, ISS→wheretheiss, Currency→er-api) fetched a public feed directly but carried nothing personal. The only outside host on the local tools is one cookieless analytics beacon. The tools that do send input — weather, DNS lookup, plant identifier, voice dictation, the contact form — are listed in full: the privacy claim holds because the exceptions are named, not hidden. Reproducible with a five-line console snippet.
· Read → Data StudiesTiled vs Naive Matrix Multiplication: What Actually Makes It Fast
Tiling — splitting the matrices into cache-sized blocks — is the famous trick for fast matrix multiplication. We wrote naive, loop-reordered and tiled versions in C, compiled them identically, and timed all three plus a BLAS library on the same 1024×1024 matrices. The biggest free win wasn't tiling: just reordering the loops so the inner loop strides contiguously (i, k, j) ran 6.3× faster than naive (2.6 → 16.7 GFLOP/s), and our best tiled version never beat it on this hardware. BLAS hit about 410 GFLOP/s — 155× the naive loop and 24.5× our best hand-written one — from SIMD, register blocking and threads, not cache tiling alone. The lesson: measure on your own hardware, because the famous optimization isn't automatically the winning one. Reproducible from the exact loops.
· Read → Data StudiesHow Much Grass Seed Do You Actually Need?
"How much grass seed for my lawn?" has no single answer — it depends more on the grass than the lawn. Using the seeding rates the grass-seed calculator ships (typical U.S. cooperative-extension figures), new-lawn rates run from 1.5 lb per 1,000 sq ft for Bermuda to 8 for perennial ryegrass — a 5.3× spread. The same 5,000 sq ft lawn needs 40 lb of perennial rye but only 7.5 lb of Bermuda, and one 20 lb bag covers 2,500 sq ft of rye or 13,333 of Bermuda. It comes down to seed size: a good lawn is set by seeds per square foot, and Bermuda seed is tiny while ryegrass seed is heavy. Overseeding uses roughly half the new-lawn rate. Reproducible from a public dependency-free script.
· Read → Data StudiesDo the Top Domains Actually Protect Their Email?
We queried live DNS for 152 of the most-used domains to see which email-authentication records they publish. Among the 146 that receive mail, SPF is universal (100%) and DMARC almost so (99.3%) — and it is not decorative: 114 of 152 are on the strictest p=reject policy (75%) and 92% enforce (quarantine or reject), with only 10 stuck at monitor-only p=none. But the newer transport-security standard, MTA-STS, is on just 9.2% — the clear open frontier. Caveat: a top-domains sample skews far ahead of the general web. Reproducible from a public DNS script.
· Read → Data StudiesWhat Weekday Is Your Birthday, Really?
A fixed date does not fall on each weekday equally — and it cannot. Over the Gregorian calendar's exact 400-year cycle (146,097 days = 20,871 weeks), 400 is not divisible by 7, so New Year's Day lands on a Sunday, Tuesday or Friday 58 times but a Monday or Saturday only 56, against an even share of 57.14. Because the calendar repeats every 400 years the counts are permanent, not statistical. Different dates lean different ways (July 4 favours Monday, Wednesday and Saturday), leap day happens 97 times not 100 and is rarest on a Sunday, and a whole year's calendar returns every 6, 11 or 28 years — 2025's repeats in 2031, 2042, 2053 and 2059. Reproducible from a public dependency-free script.
· Read → Data StudiesHow Long Would It Take to Crack Your Password?
A random password's strength is one number — entropy in bits — and it is pure arithmetic: length × log2(the character-set size). Computed from the exact character sets the LK Forge password generator ships (an 88-character pool with all four types on): an 8-character password has 51.7 bits and falls to an offline attack in about 30 minutes, while a 12-character one (77.5 bits) would take ~3,400 years and a 16-character one (103.4 bits) around 2×10¹¹ years. The cliff is between 8 and 12 characters. Length beats complexity — an 11-character lowercase-only password already matches an 8-character password that uses uppercase, lowercase, digits and symbols. Caveat: the formula is only honest for randomly generated passwords, not human-chosen ones. Reproducible from a public dependency-free script.
· Read → Data StudiesWhy a Tuner and Your Ear Disagree
A digital tuner tunes to equal temperament — the octave split into twelve exactly equal 100-cent steps — but the intervals your ear calls "pure" are simple whole-number frequency ratios, and the two do not match. Computed from the same A4 = 440 Hz formula the LK Forge tuners use: equal temperament's major third is +13.7 cents sharp of a pure 5:4 third and the major sixth +15.6, while the perfect fifth is only −2 cents flat and the worst offender, the minor seventh, is −17.6. A trained ear hears about 5 cents, so the thirds and sixths are audibly tempered and the fifths barely — the deliberate compromise that lets a piano play in every key. Includes the full 12-interval table and the guitar/bass/violin/ukulele string frequencies. Reproducible from a public script.
· Read → Data StudiesMeasuring Chaos in the Browser
We ran the exact engines behind two of our physics simulators to put a number on "chaotic". Two double pendulums released 0.001 radian apart — 0.057°, a seventeenth of a degree — stay locked for ~5.6 s then fully diverge by 7.2 s, a Lyapunov time of 0.91 s. And the logistic map behind our bifurcation diagram tips into chaos at growth rate r ≈ 3.5699, after a period-doubling cascade (3.00 → 3.45 → 3.54 → 3.56) whose spacings converge on the universal Feigenbaum constant 4.669. About 39% of the r ∈ [3,4] window is chaotic. Both systems are fully deterministic — chaos is sensitivity, not randomness. Reproducible from a public dependency-free script.
· Read → EngineeringHow a Particle Collider Works — Live in Your Browser
A plain-English, interactive explainer for our particle collider simulator: how a collider accelerates electrons and positrons, smashes them together, and reads the debris. Why detector tracks curve (r = p/|q|·B, so the bend measures momentum and charge), what the Z⁰ resonance at 91 GeV is, and an honest note on which parts are real physics and which are compressed for on-screen visibility.
· Read → Data StudiesDo the Top 1,000 Sites Actually Use robots.txt, Open Graph and llms.txt?
Every SEO tool assumes these files matter — so we scanned the Tranco top 1,000 sites to see who actually ships them. Of the 1,000, 554 served a browsable homepage (the rest are CDN/DNS infrastructure); among those, the basics are near-universal — meta description 82%, robots.txt 82%, Open Graph 73% — but it falls off fast: structured data (JSON-LD) is on 41% and FAQPage schema on just 2%. The 2026 shift is on the AI side: 27% now name at least one AI crawler in robots.txt to keep it out (GPTBot 20%, ClaudeBot 19%, Google-Extended 17%), and 16% already publish an llms.txt — the latter concentrated in developer-tool and infrastructure companies (Cloudflare, GitHub, Stripe, Shopify). Caveat: the top 1,000 skews tech-heavy, so adoption runs ahead of the general web. Reproducible from a public list and a short script.
· Read → Data StudiesWhat the Average Big Five Result Actually Looks Like — 19,718 People, Measured
Is a 70% in Openness high? Does scoring high on one trait predict the others? We scored 19,718 real IPIP-50 Big Five responses — the same instrument our free test uses — into the five OCEAN traits. The headline: the traits barely correlate (the strongest link between any two is r = 0.33, Extraversion–Agreeableness; the average pair is 0.17), so your score on one says almost nothing about the rest — and not one of the 19,718 people scored in the top band on all five. The distributions differ by trait (Openness and Agreeableness skew high, Extraversion and Neuroticism spread widest), and 46% land in the middle band on three or more traits. One honest caveat: it is a self-selected online sample, so the distribution shapes and near-zero correlations are the robust findings, not the absolute means. Reproducible from a public dataset and a short script.
· Read → Data StudiesWhich Video Format Is Actually Smallest? H.264 vs VP9 vs AV1, Measured
"Convert to MP4 to save space" is mostly wrong — MP4 is a container, not a compression method; the codec inside sets the size. We encoded two 720p clips (Big Buck Bunny + Jellyfish) across a full quality sweep in H.264, VP9 and AV1 and scored each with VMAF, Netflix's perceptual metric. At equal quality (VMAF 90) VP9 is ~40% smaller than H.264 and AV1 ~60% smaller — the same 10-second 720p clip runs 3.3 MB as H.264, 2.0 MB as VP9, 1.3 MB as AV1, while the .mp4/.webm/.mkv extension does nothing on its own. AV1 and VP9 just cost far more CPU to encode. Every number is the mean of the two clips, reproducible from a short script.
· Read → Data StudiesHow Much Quality Do You Lose Compressing an Image? We Measured It on 24 Photos
"Compress without losing quality" is a promise lossy formats can't fully keep, so we measured the trade. Across the 24-image Kodak reference suite we saved every photo as JPEG and WebP at qualities 20–95 and scored each on SSIM (structural similarity to the original, 0–1). The curve bends hard: the first kilobytes buy most of the quality, then it flattens — pushing JPEG from quality 85 to 95 nearly doubles the file (14% → 26% of the original) for an SSIM gain of just 0.025 (0.95 → 0.98). WebP sits about 30% smaller than JPEG at the same SSIM (29.6% at 0.95, 31.9% at 0.97), and staying lossless costs roughly 7× a quality-85 JPEG. The practical takeaway: the sweet spot for photos is quality 80–85, and the live preview beats any single number. Every figure is the mean over the 24 images, reproducible from a short script.
· Read → EngineeringWe Asked ChatGPT and Grok to Benchmark Our Game AI. Then We Ran the Code.
We handed ChatGPT and Grok the same brief — build a tool proving classical game AI beats an LLM at Tic-Tac-Toe and 2048 — then ran what each produced. ChatGPT shipped an honest, runnable tool that refused to invent LLM numbers and wired a real proxied model; Grok shipped a self-contained script whose "LLM" was a simulated straw man (12% random moves plus noise), with "illustrative" results and a DETERMINISTIC ADVANTAGE DEMONSTRATED banner. Running Grok's own code, expectimax reached 2048 in 6 of 8 games (median tile 2048, avg score 27,976) versus 0 of 8 for the noisy heuristic — a ~22x quality gap — yet a full 100-round run would take about 4.5 hours, which is exactly why those numbers were never run. And on Tic-Tac-Toe minimax was ~300x slower than the straw man, so the honest advantage is consistency, not speed.
· Read → EngineeringThree Hard Problems, One Method: Chaining Math Calculators
Real problems are never one answer — they are a chain of them. We take three genuinely multi-step problems and solve each end to end by wiring the LK Forge math calculators together: a ball thrown off a ledge (Polynomial → Quadratic Formula → Derivative → Integral, from launch to a 55 ft total path and a 43.8 ft/s impact), a set of ten quiz scores (Mean/Median/Mode → Variance → Standard Deviation → Z-Score, deciding the top 100 is high but not an outlier at z = 1.86), and a 3×3 linear system (Determinant → Inverse → Multiply-to-verify → Solve → Rank, proving a unique solution of x=2, y=3, z=−1). The method — decompose, solve each piece with the right tool, recombine — across fourteen calculators, plus a dependency-free script that reproduces every number.
· Read → Live Data204 Asteroids Passed Closer Than the Moon This Year
Using NASA/JPL's close-approach data, we counted a year of near misses: 204 known asteroids passed within one lunar distance of Earth, 99 within half, and 12 crossed inside the geostationary satellite belt. The closest, 2025 UC11, skimmed roughly 228 km above the surface on October 30 — below the orbit of the ISS. All were small, all missed, and JPL was tracking them. A distance histogram, the five closest passes, why 204 is a floor not a ceiling, and a keyless snippet to reproduce the counts.
· Read → Live DataClimate Vital Signs: The 2026 Snapshot of CO₂, Temperature, Methane and Arctic Ice
Four primary-source climate numbers in one dated card: atmospheric CO₂ at 429 ppm (up 35.9% since 1958), global temperature +1.39 °C above the 1850s, methane 1,938 ppb (up 19% since 1983), and the Arctic summer sea-ice minimum down 32.7% since 1979 to 4.75 million km². Each with the full series behind it, its source agency (NOAA, the Met Office, NSIDC) and baseline, plus a one-liner-per-metric snippet to reproduce every figure from public feeds.
· Read → Live DataHow Far South Did the Aurora Reach This Year? A Year of Kp in One Chart
A full year of official NOAA/GFZ planetary K-index data — 2,921 three-hourly readings — reduced to one chart. Geomagnetic activity peaked at Kp 8.67 (a G4-severe storm) on two separate occasions, and 62 of 366 nights reached storm level. Under NOAA's own scale, a G4 storm can bring the aurora as far south as Alabama and northern California. What Kp is, why it decides whether you see the lights, and a NOAA G-scale table of how far south each storm level reaches. Every number reproducible from the public GFZ feed.
· Read → EngineeringWe Built Three Difficulty Levels for a Crazy Eights AI. Then We Measured Them.
A seeded self-play study of our Crazy Eights AI. Heads-up, the Hard opponent beats the Beginner just 50.5% of the time — a coin flip — because only about 30% of turns even offer a choice and the shuffle decides the rest. Skill shows up a little at a four-player table (a 30% win share against a 25% fair share), where going first matters more than playing well. Why a shedding card game barely rewards skill, and why we skipped minimax and MCTS. Every number reproducible from a seed.
· Read → EngineeringWatch a Game AI Think: Minimax and Alpha-Beta, Live
An interactive game-tree explainer: step through minimax on a real Tic-Tac-Toe position, toggle alpha-beta pruning, and watch the node count drop — same move, fewer nodes. Plus runnable pseudocode, a depth-vs-tree-size widget across our five games, a link to a real unminified engine, and how Tic-Tac-Toe, Connect 4, Checkers, Othello and Chess each apply the algorithm.
· Read → EngineeringWhat Is One Ply of Search Worth? Four Board-Game Engines, Benchmarked
Connect 4, Checkers, Othello and Chess all use depth-limited negamax. We ran 2,400 headless self-play games to measure what each extra ply of search actually buys. The first ply is worth a fortune — up to +953 Elo, because a depth-1 engine is barely better than random — but after that the gains fall off a cliff and stop behaving: small, game-specific, non-monotonic, with a real odd/even parity wobble in Connect 4. The mirror image of our Go MCTS result, where more search scaled up smoothly. Every number reproducible from a seed.
· Read → EngineeringDoes Thinking Twice as Long Make a Go AI Twice as Good?
We ran our 9×9 Go engine against weaker copies of itself, 600 headless games, to measure what a bigger MCTS search actually buys. The surprise: no diminishing returns. Each doubling of playouts adds more Elo than the last — +171 at the bottom of the ladder, +357 at the top — with no flattening out to 1,600 playouts a move. Plus a side finding: at this strength, 7.5 komi slightly over-compensates on 9×9 (Black wins 41%). Every number reproducible from a seed.
· Read → GuidesFree Puzzle Games Online: The Ones Worth Bookmarking
A guided tour of the eleven puzzle games we build at LK Forge — Sudoku, 2048, Minesweeper, Connect 4, unbeatable Tic-Tac-Toe, Color Lines, the 15-puzzle and block puzzles, Memory Match, plus a sliding puzzle, maze generator and word-search maker — grouped by the kind of thinking each one trains. All free, in your browser, no sign-up or download. Includes an honest look at the 2019 PROTECT study on puzzles and cognition (association, not proof).
· Read → GuidesJSON Formatter Online: Stop Editing JSON by Hand
A single missing comma in minified JSON can cost you an hour. This guide covers what a JSON formatter online actually does, why formatting and validating are different jobs, when to minify, how to keep sensitive payloads private (check the Network panel yourself), and the four mistakes that quietly waste the most time. Everything runs in your browser — no sign-up, nothing uploaded.
· Read → Data StudiesFriday the 13th, and the Gregorian Calendar's Hidden Patterns
Counted across a full 400-year cycle, the 13th of the month lands on a Friday 688 times — more than any other weekday, but only just (the rarest gets 684). Plus why every year has one to three Friday the 13ths and never zero, how the calendar repeats exactly every 20,871 weeks, and which years get 53. Every figure reproducible with one script.
· Read → Data StudiesThe World Clock Time-Zone Landscape: What 162 Places Say About Time Zones
We read the standard UTC offset of all 162 places on our World Clock straight from the IANA database. Eleven sit off the whole hour — Kathmandu at UTC+5:45 is the only :45 offset on the board — 46% never change their clocks for daylight saving, and the whole set spans 22 hours from Honolulu to Fiji. Every figure is reproducible with one script.
· Read → Live DataWhat a Weather Forecast Tool Shows That Your Default App Hides
Your phone's default weather app compresses the forecast into one icon and one number. A real forecast tool exposes the values behind it — rain as a probability, the drivers of feels-like, an honest signal that day 7 is a weaker claim than tomorrow, and UV and sun timing as first-class data. Free, in your browser, on credited Open-Meteo data, no account.
· Read → Live DataHow to Track Active Wildfires in Your Browser (Without Fooling Yourself)
A satellite hotspot is not a confirmed wildfire — it can be a gas flare, an industrial source or a volcano. Here is the honest three-step browser workflow: NASA FIRMS detections on our wildfire tracker, official incident status from InciWeb and NIFC, and smoke from AirNow. Free, no account, and never a substitute for emergency services.
· Read → Live DataTrack Earthquakes, Volcanoes and Wildfires in Your Browser
Three live hazard trackers, one workflow: earthquakes from USGS, volcanoes from the Smithsonian GVP, wildfires from NASA FIRMS. Each free, in-browser and account-free — and each honest about the gap between a coloured map marker and what is really happening on the ground.
· Read → Data StudiesLondon Is 5 Hours Ahead of New York — Except for 28 Days a Year
We measured all 17 city pairs we publish against the IANA time zone database, every day of 2026: 14 of them change their time gap during the year. London is 4 hours ahead of New York, not 5, for 28 days — the three weeks each spring and one week each autumn when the US and UK clocks are out of step. London–Sydney takes three different values.
· Read → Live DataWhich Volcanoes Are Erupting Right Now? (And Why 75% Is the Wrong Number)
The Smithsonian's current-eruptions list carried 40 volcanoes on 16 August 2026, of which roughly 20 erupt on any given day — and "active" does not mean any of them are erupting today. Plus the Ring of Fire statistic almost every article gets wrong: 687 of 1,214 Holocene volcanoes, which is 57%, not the 75% usually quoted.
· Read → Data StudiesWe Ran Our Own Blog Through Our Word Counter: 22.1 Words a Sentence
A word counter's least useful output is the word count. We put all 22 posts on this blog — 24,003 words, 1,084 sentences — through our own counter: 22.1 words per sentence against a 15–20 guideline, 39.7 in the worst post, and a top crutch word ("every", 93 uses) that no generic list would have flagged, while the words those lists always name barely appear.
· Read → Live DataLive Space Data in Your Browser: What to Actually Open
Where the ISS is right now, which asteroids pass this week, and what a patch of sky really contains — from a browser tab, with no account or API key. Plus two counts we pulled live rather than quoted: 6,336 confirmed exoplanets and 36,233 open datasets on 16 August 2026, each reproducible with a single query, and both well ahead of the figures still in circulation.
· Read → Data StudiesTipping on the Post-Tax Total Costs About 1%: We Ran It for All 50 States
Card terminals compute their suggested tip from the post-tax total; etiquette says use the pre-tax subtotal. Computed from our own 51 state base rates: at a 20% tip the choice is worth $1.02 per $100 at the average rate, $1.45 in California, and nothing at all in the five states with no sales tax — about $64-$90 a year for a twice-weekly diner, not the hundreds it is often claimed to be.
· Read → GuidesThe Best Free Online Games You Can Play Without Downloading Anything
Free browser games with no download, no account and nothing uploaded: Sudoku, 2048, Minesweeper, Connect 4, Tic-Tac-Toe, Color Lines, Memory Match and Wordle. Which to open for the time you actually have, why the deduction games are the ones worth your attention, and how the AI opponents work — 0 losses in 1,200 benchmarked tic-tac-toe games, the 2048 tile reached in 92.8% of runs, ~0.3 ms per move on your own device.
· Read → GuidesFree Printable Sudoku Puzzles: How to Print Them and Actually Solve Them
Where to get free, print-ready sudoku with answer keys and no sign-up, which of the four difficulty levels to start on, how to print the grid so it comes out clean (100% scale, test page, save a PDF), and the solving techniques — naked singles, pencil marks, naked pairs, X-Wing — that finish a grid. Plus the honest version of what the research does and does not show.
· Read → Data StudiesSame BMI, Different Body Fat: Why One Number Hides a 22-Point Gap
Two people at the same BMI can carry very different amounts of fat. Using the Deurenberg formula the Body Fat Calculator ships, a BMI of 25 works out to about 18% body fat for a 20-year-old man but roughly 41% for a 70-year-old woman — a 22.3-point spread that lands the same number in two different body-fat categories (Average and Obese). Because sex (+10.8) and age (+11.5 over 20→70) enter the formula independent of BMI, that 22.3-point gap holds at every BMI. Reproducible from the one-line formula.
· Read → Data StudiesUS Sales Tax by State: The Full Ranking of All 50 States
California's 7.25% is the highest statewide base sales-tax rate; five states (Alaska, Delaware, Montana, New Hampshire, Oregon) charge 0%. Across all 50 states plus DC the average base rate is 5.11% and the median is 6%. The complete ranked table, plus the base-vs-combined-rate distinction most rankings gloss over.
· Read → Data StudiesA Cup Is Not a Cup: How Much 9 Baking Staples Actually Weigh
A cup is a unit of volume, not weight. Across nine common ingredients the same one-cup volume ranges from 89 g of oats to 237 g of water — a 2.66× spread. A cup of sugar is 65% heavier than a cup of flour, and granulated sugar outweighs powdered sugar by 75%. Every weight is the King Arthur chart the cooking converter ships.
· Read → Live DataPlanet & Sky Live: How Many Earthquakes, Storms & Asteroids Right Now
Three live counts of the natural world, fetched from public feeds: M4.5+ earthquakes in the last 30 days (USGS), active US weather alerts right now (NWS), and near-Earth asteroid close approaches in the next seven days (JPL). Each number updates live and links to the raw feed so you can reproduce it.
· Read → Data StudiesWhat Is the Average Typing Speed?
A live experiment, currently gathering data: take a standardized 60-second typing test and your anonymized net WPM and accuracy join a public dataset. Add a result and watch the speed distribution grow.
· Read → EngineeringReal Game AI, Not a Chatbot: Why Our Games Use Game-Tree Search, Not LLMs
Every "AI" now means a language model — ours doesn't. Why the games run on minimax, expectimax, and BFS instead of an LLM, point by point, plus our measured numbers: a provably-optimal tic-tac-toe move in ~0.3 ms, on-device, with zero network calls and 0 losses in 1,200 games.
· Read → Data StudiesHow Much Does It Cost to Charge an Electric Car? We Ran the Numbers for 10 EVs
Using one transparent model we computed the cost to charge 10 popular EVs at home, on public Level 2, and on DC fast chargers — per full charge and per mile. Home charging runs about 5-6 cents a mile; DC fast can meet or top a 30-mpg gas car at roughly 2.8× the home rate.
· Read → Data StudiesHow Accurately Can You Stop a Stopwatch?
A live experiment, currently gathering data: stop a stopwatch at exactly 10.00 seconds and your anonymized attempt joins a public dataset. Add a data point and watch the error distribution grow.
· Read → GuidesAre Online PDF Tools Safe? How No-Upload PDF Tools Work
Many online PDF tools upload your file to a server. How client-side, no-upload PDF tools work, why it matters for contracts and scans, and how to tell whether a site uploads your files.
· Read → EngineeringHow We Built a 12-Tool PDF Suite That Runs Entirely in Your Browser
Twelve PDF tools running fully client-side with pdf-lib, pdf.js, jspdf and SheetJS — no WebAssembly, nothing uploaded — plus the limits we chose to ship honestly.
· Read → GuidesPDF Compression, Honestly: What "Compress PDF" Really Does
Downsampling embedded images vs. rasterizing pages, why rasterizing removes selectable text, and why a small or text-only PDF may not shrink — or can grow.
· Read → GuidesPDF to Word: What Actually Transfers (and What Doesn't)
Converting a PDF to Word transfers the text, not the layout. What carries over, what is lost, why scanned PDFs need OCR, and when to use Word's own import.
· Read → Data StudiesWWF vs Scrabble Scoring: Where the Two Games Diverge
We scored all 172,835 ENABLE words in both games. A word can gain up to 11 points playing Words With Friends over Scrabble, but the Scrabble edge never exceeds 3 — and only 8.02% of words score identically in both.
· Read → Data StudiesHow Random Is a Random Word Generator?
We ran 20,000 seeded draws against our word generator's default 365-word pool and tested the sampling with a chi-square goodness-of-fit test: chi-square 320.572, 364 degrees of freedom, p = 0.9509 — no word is favored over any other.
· Read → Data StudiesHow Long Is Golden Hour? We Measured It for 27 Cities
Golden hour is almost never an hour — we measured its length for 27 cities with the NOAA solar-position algorithm; it runs from ~24 minutes at the equator to about 58 minutes in Berlin in December, and never reaches an hour.
· Read → Data StudiesThe ENABLE Lexicon Study: What 172,835 Words Say About Scrabble's Tile Values
We counted every letter across the 172,835-word ENABLE list. Scrabble's tile values don't match how letters actually occur: C outranks three cheaper tiles, H beats B, and 11 letters are mispriced against frequency — with the longest isograms and richest anagram set thrown in.
· Read → EngineeringSix Games, Three Classic Algorithms: Shipping Real Game AI in Vanilla JS
The six games here run on three textbook algorithms — minimax with alpha-beta pruning, expectimax, and breadth-first search. What it takes to ship them correct and frame-fast in vanilla JS, with the measured numbers: 0 losses across 1,200 tic-tac-toe games, 92.8% of 2048 runs reaching the tile.
· Read → EngineeringProving It's Actually Unbeatable: How We Benchmark a Game AI Before Publishing a Number
Unbeatable is a testable claim, not a slogan. The headless self-play harness that runs before any strength number ships: 1,200 tic-tac-toe games with zero losses — and the honest finding that a depth-2 search still lost 2 of 200.
· Read → EngineeringFast Enough to Feel Instant: Search Algorithms Inside One Browser Tab
No backend, no worker thread — adversarial search runs between two frames on the player's own device. How alpha-beta pruning (a 93% node cut, 549,945 → 36,528) and adaptive depth keep it under the frame budget at ~0.3 ms per move.
· Read → Engineering26 Repos in 29 Days With an AI Pipeline: What Actually Broke
Real numbers from a one-month AI-assisted build sprint: 26 repositories, 1,549 commits, 335 pages — the commit data, the structural failures that mattered, the 93% token-cost finding, and the rules that survived.
· Read →No posts match your search.
Deep dives that live with their tools
Algorithm writeups sit next to the tools they explain:
- How the 2048 AI Solver Works: Expectimax Explained — with a 250-game benchmark of the live solver
- How the Chess Solver Works: Alpha-Beta Search Explained — negamax, pruning and a headless node-count benchmark
- How the Sudoku Solver Works: Logic + Backtracking — how far pure logic gets, measured across difficulty tiers
- How the Tic-Tac-Toe Solver Works: Minimax Perfect Play — the complete game tree, and why perfect play never loses
- How the Connect 4 Solver Works: Bitboard Negamax — a node-count benchmark and why it always opens centre
- How the Minesweeper Solver Works: Constraints + Probability — constraint deduction, exact mine odds, and no-guess solvability by difficulty
- How the Sliding Puzzle Solver Works: IDA* Search — the 8-puzzle solved optimally, the 15-puzzle near-optimally
- How the Maze Solver Works: Breadth-First Search — why BFS is the guaranteed shortest path
- How the Crossword Solver Works: Pattern Matching — known letters matched against a 172,835-word dictionary
- How the Word Search Solver Works: 8-Way Scan — an eight-direction scan, plus OCR from a photo
- The Corner-Snake Strategy That Wins 2048
- All guides →