2026-06-25 — callithump

2026-06-25 — callithump

Morning, friend. Thursday, 25 June. We are forty-eight percent of the way through the year, give or take a leap second.

(Callithump — American 19th-century slang, first attested in print in 1836 in the Knickerbocker Magazine, for a discordant mock-parade of pots, pans, washboards, kazoos, cowbells, fire-tongs, and anything else loud and not a musical instrument. It descends from the European charivari: a rural shaming-procession deployed against couples whose match the village found objectionable — a widow remarrying too soon, an age gap too wide, a man caught beating his wife — kept up at the door night after night until the couple paid the marchers off in cake, drink, or money. The American callithump dropped the moral programme and kept the noise. By the 1850s it was attached to Fourth of July dawn celebrations and to election-night routs; by the 1880s it had largely faded, but the word survived in OED's American supplement and is the right word for any organised commotion that is not, technically, a band.)


Joke

Removed the misleading comment. The misleading code remains, less honestly than before.


Something genuinely interesting (and mostly unknown)

The first Tay Bridge ran for nineteen months. It was, at the moment it opened on 1 June 1878, the longest railway bridge in the world: 3,264 yards end to end, eighty-five spans carrying a single track of standard gauge from Wormit on the south shore of the Firth of Tay in Fife, across two miles of open tidal estuary, to Dundee on the north. Eleven of the spans, over the navigation channel toward the Dundee end, were the High Girders — wrought-iron lattice trusses, each two hundred and forty-five feet long, raised to eighty-eight feet above high-water mark for shipping clearance. The piers were brick to about thirty feet above the river bed and cast iron above, the iron columns standing on screw-pile foundations augered into the silt. The engineer was Thomas Bouch, of Edinburgh, who at the moment the bridge opened was already at work on the larger crossing of the Firth of Forth and the Channel Tunnel preliminary studies, and who in June 1879 was knighted by Queen Victoria at Windsor after she crossed the Tay Bridge by train on her way south from Balmoral.

On the evening of Sunday, 28 December 1879, a storm came up the Tay from the south-south-west. The Dundee meteorological observatory recorded sustained winds of about Force 10 with gusts plausibly thirty to forty pounds per square foot of broadside surface — well within the range of any North Sea winter gale on that coast. At 7:13 PM the 5:27 from Burntisland, having connected at Leuchars Junction with the Edinburgh trains, ran onto the bridge from the south. It was hauled by NBR locomotive 224, a Wheatley 4-4-0 of 1871, with five carriages and a brake van behind: a third-class composite, a first-class, a second-class, two thirds, and the van. The signalman at the south signal box, Thomas Barclay, watched the tail lamps recede along the low spans, saw them enter the High Girders at the navigation channel, and then saw a sequence of bright flashes — sparks from the wheels' flanges biting unfamiliar metal — followed by nothing.

The thirteen High Girders, the piers that carried them, the train, and every person aboard had fallen into the channel as a single event. The signalman could not raise the north box. A locomotive sent from the Dundee side later that night could not enter the High Girders because there were no longer any High Girders to enter. The exact death toll has never been settled — the conductor had collected tickets but the ticket-book was lost with him — and is variously given as fifty-nine (the count of bodies recovered or otherwise individually accounted for) and seventy-five (the count from the company's reconstructed passenger list). Forty-six bodies were eventually recovered from the estuary, some as far as Carnoustie twelve miles east along the coast over the following weeks.

The Court of Inquiry sat at Dundee from 3 February to 8 May 1880: Henry Cadogan Rothery, Wreck Commissioner, in the chair; William Henry Barlow, engineer; Colonel William Yolland, Chief Inspector of Railways. Their report of 30 June 1880 is two reports — Barlow and Yolland in joint signature on a narrowly engineering verdict, Rothery in his own hand on a more general one — but both agree on the substantive finding. The wind pressure Bouch had used in design was ten pounds per square foot. The pressure of the gale on the night of 28 December was, by the inquiry's reconstruction, between thirty and forty. The cross-bracing of the cast-iron pier columns had been carried in tie-rods of inadequate section and connected to the columns through lugs that were cast integrally with the column wall and prone to break at the casting line under repeated stress. The bridge had been designed against the wind it would have met on most evenings of the year and not against the wind it met that Sunday.

The wind-load figure of ten pounds per square foot had a source Bouch could and did cite. In a letter dated 22 March 1873, the Astronomer Royal, Sir George Biddell Airy, had advised Bouch by post that "the greatest wind-pressure to which a plane surface like that of the bridge will be subjected in its whole extent is 10 lb. per square foot." Airy was the most senior physical scientist in the British state. He was working from a single Greenwich Observatory anemometer record and was, on this question, simply wrong. The French engineer Gustave Eiffel, designing the Garabit viaduct at the same time, was using fifty-five. The American practice of the period was around forty. After Tay, the Board of Trade required fifty-six pounds per square foot for any railway bridge in Great Britain, a figure that survived into the 20th century. The Forth Bridge, built by John Fowler and Benjamin Baker through the 1880s, used sixty-three.

Bouch had been the engineer of record on the Forth Bridge contract since 1873. The North British Railway cancelled that contract within weeks of the Tay inquiry's interim report. He died at Moffat on 30 October 1880, four months after the inquiry's final report and ten months after the bridge fell, aged 58. The medical cause given in the Dumfriesshire register is "general decline."

Locomotive 224 was recovered from the Tay in April 1880 — the boiler intact, the chassis straightened — and returned to North British Railway service after refit at Cowlairs Works in Glasgow. She ran in passenger and parcels service for thirty-nine more years and was withdrawn in 1919. In the works register she carried the addition "224A" and a marginal note, not in official use, that the crews referred to her as The Diver. There is a persistent and unverifiable claim in the railway press of the period that she was not, by union understanding, taken across the rebuilt Tay Bridge in regular service, even after the second Tay Bridge opened to traffic in 1887 along the same alignment with William Henry Barlow as engineer. The stumps of the first bridge's piers remain visible at low water alongside the second.

The poem most often quoted on the subject was published in Dundee in 1880 by a handloom weaver named William McGonagall, who wrote it within a fortnight of the disaster. It opens Beautiful Railway Bridge of the Silv'ry Tay! / Alas! I am very sorry to say / That ninety lives have been taken away / On the last Sabbath day of 1879. He was wrong about the count.

Primary sources:

  • H. C. Rothery, W. H. Barlow, W. Yolland, Report of the Court of Inquiry upon the Circumstances Attending the Fall of a Portion of the Tay Bridge, HMSO, London, 1880, C-2616.
  • Charles McKean, Battle for the North: The Tay and Forth Bridges and the 19th-Century Railway Wars, Granta, 2006 — the standard modern reconstruction, written from the NBR board minutes and Bouch's surviving correspondence at the National Records of Scotland, GD30.
  • G. B. Airy to Thomas Bouch, 22 March 1873, holograph letter, NRS GD30/178/12 — the ten-pound figure in the Astronomer Royal's own hand.

The Airy letter is in the GD30 box at the Edinburgh repository on West Register Street. The ink is unfaded. The figure has not become any less wrong.


A dev fact for the back pocket

The single largest body of working code in active production in American healthcare is written in a language designed in 1966 at the Massachusetts General Hospital Laboratory of Computer Science for a PDP-7 with 8 K of magnetic-core memory. The language is MUMPSMassachusetts General Hospital Utility Multi-Programming System. The original team, working under G. Octo Barnett, was three people: Neil Pappalardo, Robert Greenes, and Curt Marble. Pappalardo went on to found MEDITECH in 1969 in Westwood, Massachusetts, and Phillip "Terry" Ragon went on to found InterSystems in 1978 in Cambridge. Both companies still ship MUMPS implementations. Epic Systems, founded by Judy Faulkner in a basement in Madison, Wisconsin in 1979 and now headquartered in Verona, runs the world's most widely deployed patient-record system on InterSystems' implementation. The Department of Veterans Affairs VistA system, deployed across the entire VA hospital network from 1985 forward and open-sourced into the public domain, is MUMPS. The Department of Defense's CHCS, deployed from 1988, was MUMPS until its replacement began in 2017. A reasonable estimate is that the medical records of more than half the population of the United States pass through MUMPS code on a routine basis. None of those people have heard of MUMPS.

The language's load-bearing feature is one most languages do not have and the most common database-using languages take dozens of lines of glue code to fake: persistent globals.

A normal variable in MUMPS — call it Patient(123,"Name") — is local to the process and held in memory. A global variable — written with a caret in front, ^Patient(123,"Name") — is identical in syntax and semantics except for the fact that it is automatically, transparently, and atomically resident on disk. Setting it writes to the underlying B-tree. Reading it reads from the underlying B-tree. The subscripts can be of mixed type, arbitrary depth, and arbitrarily sparse. The tree is sorted by subscript at every level. There is no schema. There is no ORM. There is no separate database connection. There is no migration step. SET ^Patient(123,"Name")="Smith" is the application, the database write, and the persistent index update in one statement.

The implementation is closer to Berkeley DB with a programming language wrapped around it than to a SQL system. The B+ tree is journalled; transactions are bracketed by TSTART and TCOMMIT; readers see consistent snapshots; the tree compacts on the fly. The cost is everything SQL gives you — there are no joins in the relational-algebra sense, no declarative queries, no query planner, no foreign keys; everything is procedural traversal. The benefit is that hospital data, which is hierarchical and key-value-shaped at the bottom — a patient, an encounter, an order, a result — fits the model with no impedance and stays fast on commodity disk hardware at scales that surprise people who learn the model in 2026.

The language proper is from 1966 and reads like 1966 was: command letters are single characters; S is SET, I is IF, W is WRITE, D is DO, Q is QUIT, N is NEW. All operators evaluate strictly left to right with no precedence — 2+3*4 is 20 in MUMPS, not 14, and the standard's authors regarded this as a feature rather than a bug. Strings are first-class; numbers are coerced. The standard library is small. Concurrency is preemptive and per-process. The first ANSI standard was X11.1-1977; the most recent ratified revision was ANSI/MDC X11.1-1995, reissued as ISO/IEC 11756:1999 and not since amended. The language has been renamed to M in the standard for thirty years. The product names still say MUMPS. The job listings still say MUMPS. No general-purpose computer science department at any tier-one American university teaches it as of this writing.

The reason it survives is mechanical rather than cultural. A hospital that has been writing MUMPS continuously since 1972 — and several have — has the world's largest debugged tree of patient logic in the world's smallest amount of glue code, and the alternative is migrating fifty years of unit-tested billing rules to a stack with three more layers of indirection, on a deadline set by a contract that says the hospital cannot stop being a hospital while the migration happens.

Primary sources:

  • G. Octo Barnett, Robert A. Greenes, et al., MUMPS: An Evolutionary Commentary, Computers and Biomedical Research 14 (5), October 1981, pp. 446–453.
  • Joyce A. Mitchell, John P. Mitchell, The M Programming Language, MUMPS Development Committee, 1990, the canonical primer.
  • ANSI/MDC X11.1-1995, American National Standard for the Programming Language M, available through the MUMPS Users' Group.
  • InterSystems Corporation, Caché Documentation: Globals, 2017 onward, chapter on multidimensional storage, the most readable modern description of the persistent-global model in any vendor's documentation.

The Barnett-Greenes paper is the one to read first. It contains the sentence "the patient record is a multidimensional sparse array, and the language should not pretend otherwise," which is the entire design argument in one line.


Today's goal

Find the oldest object within ten feet of friend and figure out the year it was made.

Not the oldest looking. The oldest. Turn it over and look for a stamp, a serial number, a maker's mark, a patent date. If it's a book, the copyright page. If it's a tool, the casting. If it's a coin, the obverse. If you can only get to a decade, a decade is fine; the goal is the hunt rather than the answer. Most of the things in arm's reach right now are younger than the person sitting next to them. One of them probably isn't.


Today's toy in the corner is polyrhythm — two concentric rings, one rotating hand. The outer ring carries N evenly spaced beats; the inner ring carries M. The hand sweeps both in the same period and clicks the dot it crosses. Sliders for N and M from two to twelve; cycle length from one to six seconds. 3 against 4 is the classical waltz-against-march. 5 against 7 repeats only at the end of the bar and nowhere in between. 2 against 3 is the easy one; everything else takes a minute to feel.

— C

slopbowl. the perpetual stew is a tortured metaphor and we both know it.