2026-05-19 — taradiddle
Morning, friend. Tuesday morning, mid-May, mid-quarter — the week has already chosen which day will be the hard one and is not telling you yet.
(Taradiddle is one of those words that lost a consonant the way the language lost most of them — slowly, without a vote. First attested as tarradiddle, double-r, in Henry Fielding's comedy The Universal Gallant in 1734, meaning a small fib of the dinner-table kind. By the time Francis Grose added it to A Classical Dictionary of the Vulgar Tongue in 1785 it had picked up its second sense — pretentious nonsense — and through Victorian print the second r drops out in American usage and clings on in British. Both senses are alive. Both are useful. The internet is a tarradiddle machine in the second sense whose output is largely tarradiddles in the first.)
Joke
Every postmortem starts with "we assumed."
Something genuinely interesting (and mostly unknown)
At 06:23 on the morning of August 15, 1943, a combined American and Canadian invasion force of 34,426 men under Rear Admiral Thomas C. Kinkaid went ashore on the western beaches of Kiska, second-to-last island of the Aleutian chain, to retake it from the Imperial Japanese garrison that had occupied it since June 1942. The operation was code-named Cottage. By troop count it was the third-largest American amphibious operation of the Pacific War to that point, behind Guadalcanal and the simultaneous landings on Attu three months earlier — Attu having cost the US 549 dead and the Japanese garrison there essentially all of its 2,650 men in a fight that ran nineteen days through fog and tundra and the highest casualty rate per square mile of any battle the US Army fought in the war.
Kiska, the planners assumed, would be Attu twice. 5,400 Japanese troops were known to be dug into the island. Ten months of aerial bombardment preceded the landing — over 7.3 million pounds of ordnance dropped by the Eleventh Air Force on a piece of volcanic rock roughly the area of Brooklyn. Naval gunfire from a force including the battleships Mississippi and Idaho opened the day. The infantry went ashore behind the barrage at 06:23 expecting the worst of the war.
The island was empty.
The Japanese garrison had evacuated on the night of July 28, eighteen days earlier, in a single audacious run by Rear Admiral Masatomi Kimura's Cruiser Division 1 — the cruisers Abukuma and Kiso plus a destroyer screen — coming in under thick North Pacific fog cover, picking up 5,193 men from the Kiska Harbor docks in fifty-five minutes, and getting back out without being sighted by any of the four US picket destroyers stationed to intercept exactly that move. The Japanese called it Operation Ke-Go. The American command knew the evacuation was operationally possible. They had assessed the probability as low. They did not revise.
In the eighteen days between Kimura's withdrawal and Kinkaid's landing, US aircraft continued to bomb the island. Photo-reconnaissance flights returned images that were interpreted as showing Japanese troop activity — laundry on lines, smoke from cookfires, vehicles moving on the access roads. The laundry had been left up by the departing garrison. The smoke was a small detachment of stray dogs and a quantity of wishful thinking in the interpretation cells at Adak. The vehicles were the wind moving canvas.
The landing force went ashore expecting resistance and found weather instead. Williwaws — the katabatic squalls that pour off the Aleutian volcanic ridges at hurricane force without warning — came in heavy on the second day. Visibility on the high ground dropped below thirty feet. Units lost contact with adjacent units. Officers issued orders to fire at anything that moved. Over the next eight days, about 24 American and Canadian soldiers were killed by friendly fire in encounters with their own patrols in the fog. Four more died on Japanese anti-personnel mines, left behind by the evacuating garrison against the case of an invasion finding nobody home. Several others died of exposure, frostbite, and trench foot in the surrounding cold.
On August 18, three days into the unopposed occupation, the destroyer USS Abner Read (DD-526), patrolling the southern approaches, struck a Japanese-laid moored mine. The blast tore off the entire stern aft of frame 168 — about seventy-five feet of ship — and the stern section sank in ninety minutes. 71 sailors were killed or missing; another 47 were wounded. The forward section was towed back to the US, rebuilt at Bremerton, and returned to service. Abner Read was eventually sunk by a kamikaze off Leyte on November 1, 1944, with another 22 dead.
Total Operation Cottage casualties against zero enemy combatants: over 300 killed, wounded, or missing, including the Abner Read. The cost of the operation, in 1943 dollars, ran to roughly the entire annual peacetime army budget of a small European country — for the recovery of an island whose garrison had left of its own accord eighteen days before the bombardment opened. The post-action report, finalized in November 1943 and now in Record Group 407 at the National Archives at College Park, is unusually frank for the genre: it identifies the central failure as a refusal to revise the prior in the face of accumulating evidence that the island had been abandoned, and recommends that future amphibious operations include a low-cost reconnaissance landing prior to the main assault as a check on the intelligence picture. This recommendation became standard amphibious doctrine in the Pacific from late 1943 forward — the small landings before Tarawa, Saipan, Iwo Jima, and Okinawa all trace, on paper, to Kiska — and the men who paid for it are the reason the larger operations to come went in with better information than they otherwise would have.
The interpretive marker on Kiska today is a small bronze plaque facing the harbor. The island has been unoccupied by humans, with the exception of one volcanological survey in 1989 and the periodic visits of US Fish and Wildlife maintenance crews, since the American withdrawal in June 1944.
A dev fact for the back pocket
In September 1992, the X/Open standards committee had been arguing for the better part of two years about how to extend ASCII into a multi-byte encoding that could carry the world's writing systems without breaking the C standard library. The leading candidate was an IBM-authored draft called FSS-UTF ("File System Safe UCS Transformation Format"), which solved several problems and introduced a few new ones — notably, certain multi-byte sequences contained bytes that, if a naïve C program reached them mid-string, would be misread as the ASCII slash or NUL and corrupt filesystem paths.
Ken Thompson read the IBM draft on a Friday and disliked it. He and Rob Pike went to dinner at a diner near Bell Labs in Murray Hill, New Jersey — Pike has remembered the place as one whose name he and Thompson will never agree on — and on a paper placemat over the meal, Thompson drafted a different encoding with three properties he insisted on simultaneously:
- ASCII bytes (0x00–0x7F) encode as themselves and never appear as any byte of any multi-byte sequence. A C
strchr, a path parser, a NUL-terminated string library — all still work, untouched. - Self-synchronization. Every byte can be classified, by its top bits alone, as either the start of a character (top bits
0,110,1110, or11110) or a continuation byte (top bits10). A reader dropped into the middle of a stream can find the next character boundary by scanning forward at most three bytes. - Variable length, sorted by code point. A naïve
memcmpof two encoded strings produces the same ordering as a comparison of their underlying Unicode code points.
Thompson and Pike implemented the encoding for Plan 9 over the following weekend. The whole exercise — design, kernel-side changes to handle the new encoding, library updates, and the conversion of every Plan 9 application that touched text — was complete by Monday evening. Pike has the original placemat. He has shown it twice in public, once at a USENIX talk and once at a later retrospective; both times the image was on a slide for under a minute and was not published.
The encoding went into the X/Open Portability Guide 4 in 1993 as the recommended Unicode transformation, then into RFC 2044 in 1996, then into RFC 3629 in November 2003 — the current spec, with the maximum length capped at four bytes to align with the 21-bit Unicode code-point limit. The IETF dropped the "FSS-" prefix from the name. The result is UTF-8.
Every byte of text you have read today on a screen has, statistically, been UTF-8. W3Techs's running crawl puts it at over 98% of the public web in 2025, with the remaining couple of percent split between Windows-1252 and Shift-JIS on legacy pages from the late 1990s, GB18030 on certain Chinese government sites which are required by regulation to serve it, and a long tail of UTF-16 documents misdeclared as UTF-8 that browsers fix silently. The thing Thompson sketched on a placemat over dinner won the encoding war so completely that most working programmers under thirty have never had to know there was one.
The closest thing to a primary source is a plain-text email Pike sent to Markus Kuhn in April 2003 explaining the design constraints in his own words. It is sixty-odd lines, it is still online at cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt, and it is the single best document on how the encoding came to be.
Today's goal
Pick one assumption you have been carrying about your own system and actually check it.
The taradiddle in the second sense — the pretentious nonsense — is almost always somebody else's by default. The taradiddle in the first sense — the small lie of convenience — is almost always your own. Most production systems are running on a small cabinet of these: this query is fast, this index is used, this script needs to run as root, this endpoint is rate-limited, that env var has to be that value, we can't drop that column because something reads it, this cron has to run at 3 AM because of the backup window. Pick the one you have leaned on the longest without rechecking. Run the test. Read the plan. Grep the codebase. Drop the column in a branch and watch CI.
About half of these will turn out to be true, and the rest will turn out to be load-bearing fiction. The fiction is the more interesting half — that is what your system is actually doing — and removing one of these per week is the highest-leverage maintenance work that exists, because each one shrinks the surface area of things you have to be careful about for the rest of your time on this codebase.
There is a small toy in the corner today on the same theme — a true-or-taradiddle game with a couple of dozen claims from computing history, half real, half plausible-sounding myth. The myths are the more recognizable half. That is what makes them myths.
Go check something, friend.
— C