Notes from the work
Writing on what we're actually doing: restoration projects, the software we build, what we learn sourcing and rebuilding hardware, and a good deal of physics. Pick a topic or search below.
Most of it circles one subject: systems that return a well formed answer which happens to be false, and what caught each one.
Every game and simulator in these notes also has its own page at Tofte Simulators.
The 20 newest of 119 notes.
A List That Cannot Say None
An elimination board strikes out what a stone cannot be and lists what is left. Run on a short list, it always leaves something, even when the truth was never on it. Here is how we measured that, and what we built to check the list against every mineral first.
Read moreBlocked, but Not by the Sites
Five scrapers, five people-search sites, five 403s: exactly what bot protection looks like, and the obvious next move was a day of work on getting past it. The body of the response said something else. It was 97 bytes from our own network's proxy, and the request had never left the building.
Read moreDev Log: Software Is a Force Multiplier for Curiosity
One day's work, start to finish. A sky for a wingsuit game that came out the wrong colour, a tool that cuts gameplay to a beat, a ledger that says where a surf rider's speed comes from, two captures that died on a busy machine, and three new things on the Services page. Every one of them started as a question.
Read moreFrom a Physics Engine to an Arcade
Our engine was built to answer real questions: where a rock fell, what a starship drive would cost, where water boils on a hull. Every answer had to survive a second route. Point that habit at the tricks games use and it finds an orbit that invents energy, a bounce that never ends and a rope that stretches by three quarters. So we built games that keep the check: an arcade of 41 simulators and games, where every game made for it first is held to an answer from outside its own code.
Read moreHow a Scraper Heals Itself
Every scraper breaks the day a site changes its layout, and keeping them alive is usually the whole job. This one reads the page's own structured data first, keeps a cheap selector for everything else, catches the selector that still matches but now points at the wrong number, and only asks a language model when all of that fails. Then it learns where the value moved.
Read moreHow to Actually Reduce Spam Calls
Blocking numbers does not work: the next call comes from a different one, often spoofed to look local. Spam calls are a supply problem, and every call is downstream of a list built from somewhere your number sat next to your name. Here are the steps that cut the supply, in order of effort against effect, and the ones that make it worse.
Read moreIs That Record You? Seven Bugs in a Name Matcher
A tool that finds your personal data on people-search sites lives or dies on one question: is this record you? Writing down sixteen ways a real page writes a name, and then every way it writes an age, a state and a city, turned up seven bugs in two days. Five would have hidden people's records from them, one would have shown them a stranger's, and one gave a false reason.
Read moreGregTech Ore Processing Buys Byproducts, Not More Ore
Pick a raw ore, run it through GregTech's machines as TerraFirmaGreg sets them up, and see what comes out. The surprise: the first crusher decides how much of the ore you get, and every washer, centrifuge and bath after it only adds byproducts. The full line costs over a hundred times the power of the quick one, and on chalcopyrite it buys about one and a quarter extra dusts of other things.
Read moreSurfing Is Mostly Falling
The arcade's Surf game has two new courses out in space, one a spiral of eleven ramps round a black hole. I ran the ghost's runs through an energy ledger to see where the speed comes from. About nine tenths of it is the drop. The keys add the rest, and every course loses more than the keys put in. Updated: the game's speed limit has since been raised, and the black hole course no longer reaches it.
Read moreTwo Numbers Make a Wingsuit
The arcade's wingsuit game flies a pilot on two published figures: a best glide of 2.5 to 1, at 45 metres a second. Everything else about the suit falls out of those two numbers and a textbook wing. The slowest way down turns out not to be the furthest, and the ghost never glides as well as the suit can. Also new: a sky for each line, and a colour bug that drew one rust.
Read moreWhat You Can Actually Remove From the Internet
You cannot disappear from the internet, and a service that implies you can is selling a feeling. You can take down most of what is casually findable about you: the people-search listings that put your address next to your name. Here is what comes down, what does not, and the order worth doing it in.
Read moreWhere People-Search Sites Get Your Information
Finding your home address on a people-search site feels like a breach. Almost always it is not one. The record was assembled, legally, from public records, permissions you gave without noticing, the identifying header on your credit file, and other brokers. Knowing which tells you what removal can do and why the data comes back.
Read moreCan Any Force Move Any Weight? Archimedes' Pulley, With Friction
Plutarch says Archimedes drew a loaded ship up the shore with a compound pulley, sitting down, with one hand. On paper any force can move any weight. With friction at every sheave, one block and tackle hits a ceiling no number of strands can pass, and only tackles in series get the ship moving: about half a metre an hour, with half the effort lost as heat. With sheaves worse than one half, nothing works at all.
Read moreReal Chips Are Crystals Too: Silicon, SoCs and GregTech's Crystal Processors
GregTech grows crystal chips from emeralds in an autoclave. Real chips are crystals too: the silicon wafer under a chip is cut from a single crystal grown from a seed. What crystals can store, what a system on a chip is, whether a crystal board could run one, and a machine hall where you run GregTech's components through its machines, from a silicon boule to 768 circuits.
Read moreFoucault's Pendulum, and the Half Millimetre That Can Fake It
In 1851 a pendulum in Paris showed the Earth turning under it. Rebuilt on our own engine with nothing telling it to turn, it turns at the textbook rate at every latitude. Give its swing a thin ellipse instead of a straight line and it turns just as convincingly on the equator, where the Earth does not move it at all. On a desk pendulum that ellipse is half a millimetre wide.
Read moreGregTech's First Circuits, Built Part by Part
A small circuit builder that runs in the browser: make GregTech's vacuum tube and its first LV circuit on TerraFirmaGreg's own assembly lines, then plan the whole tree under one. Every recipe is read from the modpack's files. By hand, one circuit takes 7 ingots of copper. Moved onto machines, the same circuit takes 0.875.
Read moreLittle Rocket: Build One, Fly It, Try to Stay Up
A small rocket game that runs in the browser. Build from a few parts, launch off a made-up planet, and try to get into orbit. The physics is real: gravity, air, engines that weaken in thick air, staging. And every metre per second your engines give is accounted for, which is how the game shows that getting to orbit costs a thousand metres per second more than orbital speed.
Read moreA Game Rope Is Only as Stiff as Its Solver
The Verlet rope from 2001 game physics is not made of anything. It is a handful of points and a rule that pulls them back together a few times a frame, and how stretchy it is depends on that rule, not on any material. Held against the true hanging chain, it is right when it is given enough work and elastic when it is not, and adding detail makes it worse.
Read moreA Physics Playground, With a Meter on Every Toy
Ten toys to play with: a throw with and without air, two pendulums let go a billionth of a radian apart, a moon flung round a planet by three different methods, a ball that bounces forever in a finite time, two blocks that count pi, a game rope held to a real chain, a round of golf round the planets, Foucault's pendulum, Archimedes' ship on a compound pulley, and a rocket to fly to orbit. Each one carries the number that says whether to believe it.
Read moreA Rainbow Is a Cone, and Its Point Is Your Eye
I drove west into a rainbow at sunrise this week, with the sun coming up in my mirror. A rainbow is not an arch standing somewhere: it is every raindrop sitting 42.4 degrees from the point opposite the sun, a cone with its tip in your eye. Traced ray by ray here, with the dark band, the fainter second bow, and why there can be no rainbow at noon this week.
Read moreAn Update: ResetKit in 37 Seconds, and What Comes After Rainshower
ResetKit is live and free right now: password reset, two-factor and magic links, from the landing page to a working API key in 37 seconds, recorded in real time. Rainshower, the engine behind most of this blog, is only the part of the work you can see. Several more products are built and waiting their turn.
Read moreOrbit Golf
A flash-style physics game on real gravity: drag back, let go, and every planet on the board pulls on the ball the whole way. Sixteen levels, each proven winnable by a shot the site's checks fly on every build, and a map of all 273,600 possible shots on the first eight that caught two of my own level hints lying.
Read moreReading Stones With Our Own Engine
We have been running the stones we pick up through our own engine, powered by rainshower. It never names a stone. It rules things out, one harmless observation at a time, and says what would settle the rest.
Read moreWhat a Quantum Computer Actually Does to Your Passwords, Messages and Bitcoin
“It will decrypt everything instantly” is the most repeated sentence about quantum computing, and it is two mistakes at once. One algorithm breaks public-key cryptography, in minutes to days per key, on a machine that needs hundreds of times more qubits than exist. The other barely matters. What does matter for consumers is time: recordings made today, and crypto addresses whose keys are already public.
Read moreThe Explorer: the Original Ship on the Black Hole Drive, With a Door Home
Dock the fusion ship from The Whole Voyage to the black hole drive and fly it past everything as fast as it goes. It catches the hole's mirror by 7 percent, passes Proxima at a fifth of light speed, and coasts on at a Lorentz factor of 644 toward the edge of the galaxy's disc. It never stops, so it carries a wormhole mouth as a door home. The door is safe on its own. Next to the station network it is not: flown straight past Proxima's station it makes a time machine, and it has to pass 3,344 AU wide. Step through it in year 150 and you arrive for a star dive that lasts milliseconds. Or fly it home through Proxima's station, and for 3.6 months its door opens 19 days into home's past.
Read moreA Fractal Made of Light and Two Black Holes
Fire a ray of light at two black holes and it ends one of three ways: down one, down the other, or away. The boundary between those endings breaks into more boundary at every scale I could afford to look at, 32,768 times down. The structure is certain. Its dimension is not, and the first number I got for it was zero, which was well formed and wrong.
Read moreThe Closest Sample Is Not the Closest Approach
Every asteroid flyby story comes down to one number: how close. The obvious way to compute it is to step both bodies forward and keep the smallest gap. On a pass built to come 40,000 km from Earth, that method reports anything from 40,000 to 674,582 km depending on the hour the search started, and it is always too far, which is the reassuring direction. Twenty-nine more calculations fix it.
Read moreThe Edges of Making a Black Hole
Three questions at the edges of the black-hole map. The smallest hole light can make is two photons, 55 micrograms, and it would give off only about 19 quanta in its whole life, too few for its temperature to mean anything. Spin makes every wall harder, up to the full Planck power. And a pulse that arrives slowly escapes the power wall only if you can store the light first, in a box that would need a neutron star's strength for a hole of a few Suns.
Read moreThe Nearest Star, Flown
The best version of the fusion engine leaves the solar system in four years. Proxima Centauri takes five centuries to fly past and seven to stop at: an age, not a lifetime, and about 155 times sooner than anything we have flown. What would make it a lifetime is one number, watts per kilogram, and flying past in a century takes about 110 times what this ship has. Two figures I had published were wrong on the way, one of them in every stopping trip on this blog.
Read moreThe Sun as a Telescope
Starlight passing the Sun is bent onto a line that starts 548 AU away, and a telescope on that line would see a planet round another star wrapped round the Sun as a ring. It is the most powerful telescope the solar system offers, and it is further out than anything has ever flown. The best version of the fusion engine flies down that line in under nine years, passing 650 AU at 530 kilometres a second, or stops on it in thirteen.
Read moreToo Fast for a Slingshot
The only probe ever to reach Neptune got there with help from Jupiter, so the obvious way to shorten the fusion ship's 572-day trip is to swing it past Jupiter too. The engine flew it. In 2034, the one year Jupiter is on the way, the pass saves eleven hours. A planet cannot speed up a passing ship relative to itself, only turn it, and the turn falls with the square of the speed: a coasting probe can be swung round 158 degrees, this ship 18 at most, and the engine chose 6.
Read moreWhat Could You Make a Black Hole Out Of?
The last post made a black hole from light. So what else could you make one from? Radioactive material, neutrinos, particle beams, gravitational waves, another black hole's glow. Every option hits a wall, and the walls are more interesting than the options. Neutrinos need a hundred million times the energy light does, for the same reason stars collapse at about the Sun's mass. A black hole's own light can never make another one. And the only carrier with no objection in principle can only be made by black holes.
Read moreWhy Not Make the Black Hole Instead?
The black hole drive has to haul a hole that weighs 1.85 million tonnes. Why not make it from light instead, or store it as energy until it is needed? I priced both. Storing it saves nothing, because stored energy weighs exactly what the hole does. Making it takes a power that is the same for every size of hole: 1.8 × 10^52 watts, half the most that physics seems to allow. Then I granted everything and flew the ship. It passes Proxima in 48 years, as long as its mirror weighs nothing.
Read moreWormhole Stations, and the Time Machine You Build by Accident
Put a wormhole station at every star within 12 light years. Each far mouth has to be carried there, and it arrives with its clock behind. One station on its own can never take you into your own past, at any speed below light's. Two stations can, easily: Proxima's delivered slowly and Alpha Centauri's delivered fast get you home 2.3 years before you left. One rule makes the whole network safe, and it is not a rule anybody would follow by default.
Read moreA Klein Bottle Has No Inside
The engine could always curve spacetime. This week it learned surfaces, glue and some of the great theorems about them, used as tests. A Klein bottle turned out to have no inside and to forget heat twice as fast as a torus, and there are three experiments here you can run yourself.
Read moreBolt Everything On: The Fusion Engine, Rebuilt
I took the fusion engine designed here and bolted on every idea that looked like it filled a gap: an engine array, air-breathing launchers, an Orion kick, two kinds of sail, a hydrogen scoop and a magnetic brake. Before any of them went on, the engine turned out to have been flying to the stars with its valve shut, which cost it almost two thirds of its reach. With the valve set right, the scoop is the only add-on that helps on the way to the stars. The gap that decides the stars is one none of them touches: power per kilogram, 1.9 kW now against 1,588 for Proxima in a century.
Read moreCan It Come Home?
Every trip on this blog so far was one way. Flown to Mars and back on real orbits in the 2035 window, the best version of the fusion engine is home in 80 days if Mars can refill it, and 99 if it carries its own return hydrogen. The refill is 17,900 tonnes of water. The helium-3 the round trip burns comes out of 0.4 to 8.6 million tonnes of lunar soil, and at the lean end, heating that soil costs more energy than the fusion gives back.
Read moreCasimir Plates and a Black Hole Engine, Priced
Two days of reading quantum mechanics came down to two real effects that could matter to a starship: the Casimir effect, which is measured, and Hawking radiation, which is only predicted. I priced a drive on each. The vacuum between two mirrors is genuinely negative energy, and the mirrors always outweigh it. A black hole converts all of its mass to energy, and nothing can aim what comes out.
Read moreDiving Past the Sun
The best version of the fusion engine, flown to 2.2 solar radii and burning at the bottom of the fall. It spends three months falling in and leaves the Sun at 80 km/s against 49 for the same hydrogen burned straight out, overtaking the straight-out ship on day 230, past Jupiter's distance. And the engine's 3,000 K closest pass turns out to be the limit for a ball: a flat sunshade at the same pass runs close to 3,900 K.
Read moreEvery Hull Has a Speed Where the Water Boils
The flow solver behind this blog assumed water stays water. Push a shape fast enough and it does not: the water boils on the surface. I taught the solver to find that speed, checked every published result against it, then asked the shape search to boil as late as possible. It found 28 percent more speed, and a trap two degrees wide.
Read moreEvery Starship Drive We Priced, and Where It Stopped
In four days this blog priced twenty-one ways to cross between stars, from falling toward a dense core to a black hole in a tungsten shell. Fourteen are ruled out, two have no way to pay their bill, and five are still standing. Here is every one on one board, with the number that decided it. Putting them side by side also caught a trip time I had published wrong.
Read moreFurther Out
The best version of the fusion engine cannot launch. It pushes at three thousandths of a g, so it leaves Earth the only way it can: a spiral, two days and ten turns before the orbit opens, 90,000 kilometres out. Then it lets the engine burn for months. Door to door, low Earth orbit to a big moon's orbit, it reaches Jupiter in 157 days and Neptune in 572, against 2.7 and 30.6 years coasting. Fast enough for the planets. Not for the crew.
Read moreHot Water Freezes First, Depending on What You Mean by Freezes
The claim that hot water freezes faster than cold has been argued about since 1969, mostly because nobody agreed what freezes means. I built it into the engine with every proposed mechanism as a switch. Temperature alone provably cannot do it. Evaporation can, at one finish line out of three, by minutes. Supercooling can too, but only because you type in the answer.
Read moreI Said It Works in Water. It Does Not.
Two posts ago I wrote that the same machinery makes a shape slippery in air or in water and that the same call works in water. I finally ran it in water. It returned a perfectly sane thirteen percent section with a drag coefficient of 0.000000035, which is not a drag coefficient. The optimiser had not found a better shape, it had found a hole in my own cost function, and it went on finding one through four rounds of fixes.
Read moreLet the Air Brake
Slowing down looks like half the trip, so I put a heat shield on the best version of the fusion engine and let Mars's air do the braking. It helps a little. With a crew held to 4 to 8 g it saves 1.4 to 4.6 days of a 32 day trip, and even never braking at all would save only 30 percent. The brake is the cheap half of the trip, the crew's limit sets how fast the ship may hit the air, and the ship's own hydrogen turns out to be a lighter coolant than an ablator. Race the shielded ship below.
Read moreThe Best Version We Can Draw
After bolting everything on, I built the best version of the fusion engine the findings allow, and asked the three questions everyone asks: more fusion rings, bigger rings, a different fuel. More or bigger rings build the same ship at a larger size. The fuel matters, but not where I expected: deuterium-helium-3 is the only fuel here that beats its own radiation across the whole range while keeping its neutrons to a trace, and it cuts what Proxima needs from 1,588 to 666 kilowatts per kilogram. The best version reaches Mars in 32 days. Race it against every earlier version below, or build your own.
Read moreThe Black Hole Drive, Taken Apart
The black hole engine I priced in the last post assumed the hole gives off light and nothing else. I computed what a hot black hole really gives off, reproducing Don Page's 1976 numbers on the way, and took the drive apart again. The hole is five times heavier and gives off mostly quarks and gluons. Its shell melts with two thirds of the hole still unburnt. One problem I expected to kill it turned out not to.
Read moreThe Bomb Is the Nozzle: Project Orion, Priced
Project Orion proposed pushing a ship with nuclear explosions against a steel plate. It is the one drive on this blog whose problem was never mainly the physics, so I priced it on the same engine as the others. The plate catches 6 percent of an ordinary blast and 78 percent of one aimed at it. A thousand-tonne ship reaches Mars in 31 to 94 days. Launching it from the ground takes up to 205 Hiroshimas of fission, and reaching the stars would need 188 times the exhaust speed it was studied at.
Read moreThe Scoop Is a Brake: Bussard's Ramjet, Priced
Bussard's ramjet scoops the hydrogen between the stars and burns it, so it never has to carry fuel. I priced it on the same engine as every other drive here. Ordinary hydrogen barely fuses in the time it spends aboard: 3 x 10^-16 of it at best. Grant perfect fusion and the scoop's own drag still caps the ship at 6.9 to 10.7 percent of light. The same magnet works better as a brake, but stopping at Proxima with it needs a superconductor 1.7 to 16 times better than the best figure in the range I used.
Read moreThe Whole Voyage
The best version of the fusion engine, flown on real orbits and drawn two ways, as the engine would build it and as a film would. The best window to Mars before 2045 is August 2035 at 32.3 days, and the next, January 2027, is 48.5; leave on a bad day and it is up to 150. Diving past the Sun pays a burn of days and costs a burn of years. Wings and photon sails look fast and fly slow. Spin gravity costs kilograms, and the dose is set by the days.
Read moreWhat OpenAI Actually Did to Navier-Stokes
OpenAI says its agents settled the Navier-Stokes Millennium Prize problem. I read their Lean proof, rebuilt the construction in three animations, and ran the collapsing vortex in real water and real air. The water boils 171 milliseconds before the mathematics blows up.
Read moreA Second Opinion, and It Lied Too
Yesterday I published a one-gravity figure that turned out to need a nozzle with no mass. Today I found the same mistake again, in the same model, wearing a different hat: a fuel tank that weighed nothing and quietly bought me a star. So I built a second opinion, a machine that computes the same physics from the raw geometry instead of from my formulas. It caught things. Then it was wrong too, and the way it was wrong is the most useful thing in this post.
Read moreNow It Moves
Three animations and two things you can drag. The fusion ship turning at true scale, the nozzle swallowing it as one unmeasured coefficient slides across three orders of magnitude, and a meteorite burying itself in five grounds at once. The sliders compute rather than play back, and on a phone that can do it, the engine one buzzes when you cross from what has been measured into what people hope.
Read moreThe Model That Cannot Make a Puddle
Almost every tool that tells you where water goes on a slope solves the kinematic wave, and the kinematic wave has one property nobody mentions: it cannot pond. Drive the slope to zero and it returns a tidy depth and a tidy arrival time for water that in reality is sitting in a dip. So I wrote the refusal, then wrote the solver that earns the right to answer instead. Forty-three cubic metres of rain, mass balance to zero, and a puddle nothing put there.
Read moreThe Part With No Shape
I set out to make a good-looking render of the fusion ship and found out that I could not draw the heaviest thing on it. Every other part has a dimension the code derives. The nozzle, 86 percent of the dry mass, is a number of kilograms with no body attached. Plus what drawing it to scale does to the thing everybody puts glowing wings on.
Read moreTold to Hold an Area
I wanted to point at a shape and have the software make it slippery, in air or in water. It works, and the interesting part is what it found on its own: told nothing except to keep the enclosed area and cut the drag, it moved the fat part of the section backwards and cut a quarter off. That is the laminar flow aerofoil, arrived at rather than assumed. Plus the exact method whose drag is exactly zero, and a solver you can drag.
Read moreTwo People Saw a Light
The whole of rainshower in one piece, because the archive has eleven posts about parts of it and none about the shape. Two sightlines in, a patch of ground you can walk to out, and at every link a refusal that is more carefully built than the answer. Plus the part that was missing until this week: what the rock is like inside, and how deep it goes once it lands.
Read moreWhat the Optimiser Was Not Told
I wanted renders. A panel method carries a vortex strength per panel, so the velocity is computable anywhere, not just on the surface, and that is a picture rather than a number. Then I pointed the same machinery at both shapes across a sweep and got the result I would rather not have found: the section the optimiser produced saves 29 percent of the drag and gives up almost all of the angular range it can be used over, holding under a degree where the shape it started from holds to nearly six. It did exactly what I asked. What I asked left out every angle except the one it was measured at.
Read moreYou Cannot Steer It From Inside
Every objection I had priced against a warp drive was about the size of the bill. This one is not about energy at all. Above light speed the ship cannot send a signal to the front of its own bubble, so it cannot steer it, throttle it, or switch it off, and no cheaper wall fixes that. The model had been pricing this geometry for weeks without ever being able to ask.
Read moreBurn Slow, Go Far
The last post said the best ship is the one that never carried the fuel. Then I went back and sized the rocket anyway, and four things fell out of the arithmetic that I could have drawn on a napkin and did not see coming. One of them made Mars look a fortnight away, which did not survive charging for the nozzle (see the correction). One of them is a number I published at one gravity that turned out to require a nozzle with no mass.
Read moreImported by Nothing
An update on the field tool. A photo engine tested to 154 assertions that no photograph could reach, a sync design that provably could not lose an afternoon and then lost the clock, a button the second person could not get to, and a status line that was true about half of what it claimed. Every one of them was green in every test that existed.
Read moreI Built the Check That Refused My Own Drive
I spent a day on an impulse drive. A dense core, a field spun around it, the focal point shifted forward so the ship falls toward it continuously and the crew feels nothing. Then I wrote the module that prices a propulsion proposal, and it closed my own design on the first check, before any of the interesting physics ran. It also caught a number I had written down four hours earlier that was forty-two percent too good.
Read moreRight for the Wrong Reason
Four ways to move a ship without a rocket, priced properly. Every one of them fails, and not one of them fails where I expected. The gravitational wave that passed through Earth in 2015 was brighter than the full moon. I had four numbers wrong until I wrote the code that had to produce them.
Read moreThe Fuel Stays Home
The last post ended on the rocket winning because something left the ship. That was right and it was not the end. We spent another few hours trying to make gravity do the work, priced every version of it, and the thing that won carries no fuel at all. A gram of foil, a very large power bill, and a camera that gets ninety minutes.
Read moreThe Only One That Said Yes
We priced every drive we could think of and refused almost all of them. Exactly one came back with a rocket equation that works: antimatter, mass ratio 1.88. Then I put one missing term into the arithmetic and the design stopped being expensive and started having no solution at all. Includes a correction to this post, caught by a reader.
Read moreA Sky in Front of the Stars
The stars view got a backdrop this week, the Hipparcos catalogue drawn as a sky, and the moment it went in the Sun disappeared. Two dim stars near the camera stayed. It looked exactly like markers drawn too small, and it was a depth buffer full of sky. Also the galaxy, drawn from four measured numbers and a circle, with nothing painted in, and the Sun going round it on a clock.
Read moreFifty-Four Trillion Miles
A 2010 Defense Intelligence Reference Document on traversable wormholes is doing the rounds again. It has a letterhead, a control number, classification markings and numbered figures, and its first figure gives a distance to Sirius that is wrong in two units and inconsistent between them. The letterhead is doing the same job as a green zero-issues line. What I did instead was take the one sentence in it that describes something observable and build the check. Updated with a second document, on NASA paper this time, where the same habit of dividing turns up three more things. Now checked against the full release, with a correction.
Read moreRainshower Is for Meteorites Now
Scope and direction for the fireball solver. It hunts one thing. Everything built this week serves that, and most of it is refusals: which recorded events are not worth a drive, what the flight can and cannot say about the material, whether a bright light two people saw was even in the atmosphere, and a scene that draws the nearest stars from parallax and nothing it did not measure.
Read moreStanding Where the Observer Stood
For months the meteorite app had a rule that no land elevation may be drawn, because none could be reached and an invented surface looks exactly like a measured one. This week a real one was reachable, so the rule did what it was written to do. The app now stands you at an observer's feet, checks whether the sightline they reported was even open sky, and draws the planets from NASA's own maps. Also a body you can build from parts, a seat on the fireball, and a version that works on a phone.
Read moreThe Saw Came With the Wrong Blade
The lapidary saw arrived. Everything in the box is what the listing promised, and the blade on top says woodworking on it. Nothing here is broken. It is a well built machine sold as the wrong set for stone, and I nearly found that out by putting a stone through it. Includes a correction: the second sheet, which I had not unfolded, says there is a water tank and a jade blade the mount was made for.
Read moreFive Thousand Rows Is a Tax Decision
A cap on how many ledger rows to load was a rendering concern until it wasn't. It decided which lots a sale consumed, which decides the gain and the rate that gain is taxed at. The cap was correct. The bug was that one function answered two questions.
Read moreIt Never Said Where
Eighty one square kilometres to walk, and no address. The solver computed every impact point, drew them all on a globe, and never once printed a position. Four posts arguing that a well formed number proves nothing, and the tool had been withholding the only one that mattered.
Read moreOpening the Barrel Early
Every guide to rock tumbling says days per stage. I am running six to eight hours and doing most of the work by hand, which is wrong if you want finished stones and right if you want to understand what the machine is doing. Notes from someone learning, including the step that is a step rather than a pause.
Read moreThirteen Files That All Agreed
I hand-wrote a parser for a game's binary replay format, tested it against thirteen real files, and passed all thirteen. Then I built a second parser to disagree with the first, and thirty-three of fifty-three files failed. Both bugs were invisible to every test I had, and one of them was the test set itself.
Read moreZero Issues Found
A syntax check for Windows PowerShell had its scan path hardcoded to the Linux box it was written on. On Windows it matched no files, looped zero times, and printed '0 incompatibility issues' in green. The only machine it was wrong on was the only machine it existed to protect.
Read moreA Working Compass Pointing the Wrong Way
An update on the fireball solver. It now reads a phone's sensors instead of asking you to type an azimuth, draws the real sea floor, flies a free camera through the solar system, and scores your observation in a way that cannot be improved by measuring less. The best bug of the batch pointed south.
Read moreWhat Rainshower Does Now, and What It Cannot Do Yet
A walk through the meteorite search tool as it actually stands: two sightlines in, ranked ground squares and a ranked list of what to go and measure better out. Plus the things it gets wrong, the things it refuses to answer, and what is being built next.
Read moreSand to Sandbox, Part One: The Crystal
A chip starts as rock, but the hard part is not shaping the silicon. It is removing everything that is not silicon, and then adding back a precisely measured amount of contamination. Here is the whole chain from quartzite to a patterned wafer, with the physics kept light.
Read moreSand to Sandbox, Part Two: The Switch
Part one ended with a very well organised rock that could not compute anything. This is how a boundary between two differently contaminated regions becomes a switch, how four switches become a logic gate, and how that climbs all the way to a program running in a sandbox that is trusting every layer beneath it.
Read moreThree Times the Physics Said No
I spent a day adding orbital mechanics, breakup modelling and an uncertainty budget to a meteorite search tool. The three things worth keeping were all cases where the code came back and told me I had been wrong about what I was building.
Read moreA Trap That Caught Customers
Our spam trap was named company. Browsers autofill that from a saved contact card, so every visitor with an employer in their address book was silently thrown away, shown a success message, and never emailed. It ran that way for weeks.
Read moreOne Camera Sees a Plane
Two observers watching the same fireball can reconstruct where it flew and roughly where the pieces landed. One observer cannot, and no amount of processing fixes that. Building the solver turned up a failure mode I have written about three times now in completely different systems.
Read moreTen Tons of Rock for One Gram
Minnesota is sitting on one of the largest untouched bodies of copper, nickel and platinum-group metal on earth, and almost every number you will read about it is technically true and quietly misleading. Here is what is actually published, what the words mean, and what is happening right now.
Read moreA hardcoded address is a guess
A wrong contract address looks exactly like a right one. Nothing in the code tells you which one you have, so the program has to stop reading the table and start asking the chain.
Read moreA Right You Can Turn Off
What a surveillance law from 2001 taught me about which rights are real, why the library part is the part I still think about, and what it means now that nobody needs a law to watch you.
Read moreOne Day, Eight Repositories
A log of a single day across every codebase we run: a security audit, a domain going live, four corrections published, and the small bug that broke the front door of our own funnel.
Read moreStatus of the Tech Wing
A company update on the software side: eight codebases, what shipped this month, the engineering standards we hold to, and what working with a fleet of agents has actually changed about how we build.
Read moreThe Most Dangerous Number
Five things building our own portfolio terminal taught us, including one we got wrong in public and are correcting here. None of them are about what the app does.
Read moreTwo Characters
We moved every database this week. The part that took longest was not the move. It was two characters nobody deleted, and what that taught me about working alongside agents.
Read moreA queue without a lock
Guardian Bots moved from Postgres to MongoDB, which meant giving up SKIP LOCKED. What replaced it is smaller, and the test that proves it is the part worth copying.
Read moreAdvanced Is Usually a Tell
Why we open-sourced the wallet tracker and kept the trading terminal in house, and why the hard parts of crypto software are almost never the parts that get called advanced.
Read moreAn account that holds almost nothing
How Privacy Guardian stores a user without keeping their email readable, why there is no password and no session table, and what a database dump would actually contain.
Read moreBalances Have No Memory
How the open-source wallet tracker grew a historical ledger, stacked-area composition charts, and cost basis, with no charting library and a test suite that runs in plain Node. Code included.
Read moreCharts you cannot see
Building a dashboard's charts from a machine with no browser window, and the two habits that made it work: compute the color decisions instead of eyeballing them, and screenshot the result before believing it.
Read moreSix digits and five tries
How ResetKit issues, stores and checks a reset code. Nothing exotic, but every number in it was chosen for a reason, and one line exists purely to waste an attacker's time.
Read moreThe last unit sells twice
A race condition in a storefront's checkout, why it hid for over a year, and the one-line change that closed it. Plus the comment that described code that did not exist.
Read moreToggleable
Some morning thoughts on risk, from six years of running a small company as a student with no outside money.
Read moreWallet Tracker is open source
The read-only crypto dashboard from last week is now public on GitHub, MIT licensed, with a setup that takes four commands and one address.
Read moreWhat a Swap Does to Your Basis
The open-source wallet tracker now logs coin-to-coin swaps and carries cost basis across them. A worked example, the twelve lines that do it, and why a swap is never dollars in. Includes a correction: average cost is not a permitted method in the US.
Read moreYour git history is public too
What I found while open-sourcing a repo, why deleting a file does not remove it, and the two commands worth running before you flip any repository to public.
Read moreA dashboard that cannot trade
A weekend project for keeping crypto records straight. It reads, and that is the whole feature list.
Read moreA scraper that repairs itself
Watching a page is easy the first time. The hard part is the redesign three months later, and the fix is mostly about deciding when to spend a model call.
Read moreDeciding that a record is you
Searching broker sites is the easy half. The hard half is scoring a result, and the whole design follows from one asymmetry: a false positive is worse than a miss.
Read moreDo not trust SMTP with your leads
Setting up Gmail SMTP is twenty minutes. Understanding that it will silently fail one day, and building so that does not cost you anything, is the actual work.
Read moreInfrastructure, this week
A recap of the unglamorous work: analytics on every live site, a real test suite for the auth API, an archive of every repo, and one database cluster for the projects that share a shape.
Read moreResetKit is back up
Our auth infrastructure project is serving traffic again after a hosting billing issue, with a few resilience fixes shipped alongside the recovery.
Read moreThanks for reading
A short note of appreciation to everyone who has come through here in the first week, and what this blog is actually for.
Read moreThe Tofte Wellness storefront, so far
A recap of what got built for the MySenses storefront, including the decisions that are less obvious from the outside.
Read moreTwo things called Guardian
A quick note on what we're building right now: Privacy Guardian and Guardian Bot, both aimed at the question of what is already public about you.
Read moreWhat not to migrate
Consolidating databases onto one cluster. The interesting decisions were all about what to leave alone, and one pair that looked like duplication and was not.
Read moreWho Is Watching Your Data? The Case for a Federal Privacy Standard
The United States is the only major industrialized country without a national data privacy standard. What that gap costs ordinary people, and what a federal law would need to do.
Read moreEnergy per transaction is the wrong number
It is the most quoted figure in the blockchain energy debate and it divides two quantities that have almost nothing to do with each other.
Read moreSleep, creep, leap
Native plantings look like failures in year one. Understanding what they are doing underground is the difference between waiting them out and tearing them out.
Read moreThe most you can pay
Resale margin is decided at the moment you buy, not the moment you sell. There is a specific number for that, and a second one that matters more.
Read moreThe weight you get charged for
Carriers bill on the greater of what a package weighs and how much space it takes up. The second number surprises people, and it scales badly.
Read moreWhat multi-mining actually optimizes
A miner is fixed hardware pointed at a moving target. The arithmetic of which chain to point it at is simpler than it sounds.
Read moreWhat undervolting actually trades away
Power scales with the square of voltage but only linearly with clock speed. That asymmetry is the whole reason tuning down is worth the trouble.
Read moreWhere the water actually goes
A wet yard is usually a conveyance problem, not a soil problem. Understanding the difference is what separates a fix that holds from one that moves the puddle ten feet.
Read moreWhy buckthorn keeps coming back
Cutting buckthorn is the easy part. Understanding why it returns is what separates a weekend of work from a woodlot that actually recovers.
Read more