2026-06-01 — borborygmus
Morning, friend. Monday, June 1st. First Monday of June, first day of meteorological summer — the calendar quietly retires the spring archive overnight and opens an empty folder labelled summer-2026/ for you to start filing things into.
(Borborygmus — the rumbling, gurgling sound produced by the movement of fluid and gas through the intestines — is one of the few English words that is its own onomatopoeia in two languages at once. The Greek βορβορυγμός is in the Hippocratic corpus, On the Use of Liquids, c. 400 BCE, listed plainly as a clinical sign. Galen kept the term in De symptomatum causis (c. 175 CE) and it sat in Latin medical texts as borborygmus without translation for fifteen centuries; John Quincy's Lexicon Physico-Medicum (London, 1719) brought it into English in the entry on intestinal disorders without bothering to gloss it, on the assumption that any reader of an English medical dictionary in 1719 already knew enough Greek to recognise a stomach sound when they saw one. The plural is borborygmi. The condition is universal and not a condition. The word fills the eight seconds of silence between when somebody asks you a question in a meeting and when you decide to answer it, which on a Monday morning at 9:14 is approximately the worst time of the week for it.)
Joke
Monday standup is everyone narrating Friday's commits with retroactive confidence.
Something genuinely interesting (and mostly unknown)
In Licking County, Ohio, in the small city of Newark — about 65 km east of Columbus, population around 50,000 — there are two enormous geometric earthworks sitting on adjacent parcels of land. The Great Circle is a near-perfect circular embankment 1,200 feet across enclosing about 30 acres, with a ditch on the inside of the wall (so it is not a defensive work — the wrong side of the ditch is up). The Newark Octagon is a regular octagon enclosing 50 acres, with each of its eight walls about 550 feet long, connected by parallel walls to a smaller true circle 1,054 feet in diameter known as the Observatory Circle. The walls of both works are still about 5 to 14 feet tall today, after roughly two thousand years of weathering and a century and a half of being mowed. The fill volume of the Newark group, as originally surveyed by Ephraim Squier and Edwin Davis for the Smithsonian's very first publication (Ancient Monuments of the Mississippi Valley, 1848), comes to something in the neighbourhood of 7 million cubic feet of moved earth.
The builders were the Hopewell — a Middle Woodland cultural tradition that flourished across what is now the eastern United States from roughly 100 BCE to 500 CE — and they did not leave a written record. They left earthworks: hundreds of them, across Ohio especially, almost all of them geometric, almost all of them in pairs or groups, almost all of them surveyed to startling precision. The Newark group is the largest set of geometric earthworks anywhere on the planet. Stonehenge has a diameter of about 110 metres. The Newark Octagon-and-Observatory-Circle group is about a kilometre across. For a century and a half after Squier and Davis, archaeologists looked at the geometry, accepted that it was geometric, and moved on. Nobody had a working theory for why the octagon was an octagon, why the parallel walls pointed in the specific direction they pointed in, or why the entire complex sat where it sat on the landscape.
In 1982, two professors at Earlham College — a small Quaker liberal-arts school in Richmond, Indiana — published a paper in the journal Archaeoastronomy (Supplement to the Journal for the History of Astronomy, vol. 4, S1–S20) titled Geometry and Astronomy in Prehistoric Ohio. The authors were Ray Hively, a physicist, and Robert Horn, a philosopher. Their paper was not a piece of archaeology. It was a piece of careful surveying followed by an arithmetic check. They measured the bearings of the principal axes of the Newark Octagon, the Octagon's eight wall segments, and the lines of sight between the Octagon and the High Bank Works (another Hopewell octagon-and-circle pair, 97 km southwest in Chillicothe), and they compared the measured azimuths against the known azimuths of the eight extreme rising and setting points of the moon as it cycles through the 18.6-year lunar standstill cycle.
The cycle: the moon's orbital plane is tilted about 5.145° to the ecliptic, so the moon's monthly maximum declination wanders between roughly +18.3° and +28.6° over 18.6128 years as its ascending node regresses around the ecliptic. At the high end of the swing — the major standstill — the full moon rises and sets farther north (and, two weeks later, farther south) than at any other point in the cycle; at the low end, the minor standstill, the swings are minimal. Every 18.6 years the moon does something unmistakable to anyone watching the horizon, and every 9.3 years it does something equally unmistakable in the opposite direction. The cycle is not subtle. It is also not something a casual observer notices, because it takes nineteen years to confirm.
Hively and Horn found that the Newark Octagon's principal axis aligns to azimuth ~52° — the northern-major-standstill moonrise at the latitude of Newark — to within roughly half a degree. Each of the other seven extreme lunar rising and setting azimuths (north-minor moonrise, south-major moonset, etc.) corresponds to one of the other axes of the octagon-circle complex within similar tolerances. The chance of this happening at random, given an arbitrary geometric figure laid out on a Hopewell ridge in southern Ohio, is small. Hively and Horn estimated it at less than one in a hundred. The Newark Octagon is a lunar observatory. The complex was deliberately laid out, with what must have been multi-generational baseline observations, to mark the eight extremes of the 18.6-year lunar cycle on a single piece of ground. The builders had nothing larger than a stick and a length of fibre cord and no written tradition to inherit, and they tracked a celestial period of 18.6 years closely enough to lay out a 50-acre octagon to half a degree.
The site is currently a golf course. The Moundbuilders Country Club of Newark, Ohio, opened in 1910 on a long-term lease from what was then the Ohio Historical Society, and the Octagon's earthen walls form the rough edges of several fairways. The Observatory Circle is the eighth green. Members tee off across two-thousand-year-old earthen walls; non-members are admitted, by the original lease terms, four days a year. The lease, after a 99-year extension, was set to expire in 2078. Ohio History Connection (the successor to the Historical Society) brought an eminent-domain action to terminate it early; the Ohio Supreme Court ruled in OHC's favour in 2023, in Moundbuilders Country Club Co. v. Ohio History Connection (Ohio St. 3d, 2023-Ohio-1469), and the country club has been appealing the valuation since. Two months after the eminent-domain ruling, UNESCO inscribed the Newark Earthworks (along with seven other Hopewell sites in Ohio) as a World Heritage Site — the Hopewell Ceremonial Earthworks — in September 2023. The course remained open through the 2025 season.
The next major lunar standstill is autumn 2043. The moon, at the end of October that year, will rise behind the Observatory Circle along the principal axis of the Octagon, exactly as the Hopewell calendar said it would, two thousand and a few years after the last person who actually built the thing had any business being there. If the litigation settles by then, the Hopewell will get their observatory back for the first time in 133 years. If it doesn't, somebody is going to be putting on the eighth green that evening.
A dev fact for the back pocket
The letters of the alphabet, in EBCDIC — the character encoding IBM shipped on the System/360 in April 1964 and which still ships on every z/OS mainframe sold this year — are not contiguous. The capital letters run:
A=0xC1 B=0xC2 … H=0xC8 I=0xC9
[gap: 0xCA–0xD0]
J=0xD1 K=0xD2 … Q=0xD8 R=0xD9
[gap: 0xDA–0xE1]
S=0xE2 T=0xE3 … Y=0xE8 Z=0xE9
Three blocks of nine letters, with seven-byte gaps between them filled by a mix of currency symbols, punctuation, and unassigned codepoints. The lowercase letters have the same shape, eight bytes lower. The reason is the punched card. EBCDIC inherited its layout from BCDIC, the Binary-Coded Decimal Interchange Code used on the IBM 026 keypunch since the late 1940s, which encoded each character as a zone punch (rows 12, 11, or 0 on a standard 80-column Hollerith card) plus a digit punch (rows 1 through 9). Three zones, nine digits per zone, 27 letter codes available, 26 letters needed, one slot to spare — and the spare is the seven-byte gap between I and J in modern hex, the visible scar of a 1928 industrial decision.
The C standard, in §5.2.1 paragraph 3 of ISO/IEC 9899:2018 (the current C17 revision), specifies the basic execution character set and then says, in plain language: "In both the source and execution basic character sets, the value of each character after 0 in the above list of decimal digits shall be one greater than the value of the previous. In the source and execution character sets defined above, there shall be at least eight additional characters, called alphabetic*, of which the digit set is a subset and which, in alphabetical order, contains the digits 0 through 9.*" — and then does not make the same contiguity guarantee for letters. The decimal digits 0 through 9 are guaranteed contiguous in every conforming C implementation. The letters A through Z are not. This non-guarantee exists for one reason: so that a conforming C compiler can target z/OS, where 'B' - 'A' == 1 but 'J' - 'I' == 8.
Any C code that contains the expression if (c >= 'A' && c <= 'Z') is, on EBCDIC, asking the wrong question. The range C1 to E9 is 41 byte values, of which 15 are not letters at all — they're {, }, the international currency mark, and a scatter of unassigned slots. The IBM xlc C compiler accepts the code, compiles it, and the resulting binary, at runtime, classifies the wrong things as letters. The portable form is isalpha(c) from <ctype.h>, which on a z/OS libc is implemented as a 256-entry lookup table that knows the gaps; the locale-aware form is iswalpha(wint_t). Both have been there since the C89 standard library precisely so that range-checked code could survive the trip to a mainframe.
The downstream effect on every text-processing pipeline written in the last sixty years is that on z/OS the entire ASCII culture is wrong about strings, and the libc and the compiler and the JIT and the database collation tables on the mainframe are all carrying small corrective hacks for it. Java's Character.isLetter(int codePoint) is implemented against the Unicode category tables, not against an ASCII range, specifically so that a Java class file copied byte-for-byte from a Linux box to IBM Java for z/OS classifies the same characters as letters in both places — this was a deliberate goal of the IBM JVM team in 1996, documented in the J9 design notes. COBOL, which is the language most z/OS developers actually write in, never had the bug in the first place: the CLASS IS ALPHABETIC test in CODASYL COBOL-68 predates ASCII portability concerns and was always implemented against a locale table. The only community that consistently gets caught is the C-and-Unix-derived community, which assumed for the first thirty years of its life that the world ran on ASCII and discovered, the first time a big customer asked them to port to a mainframe, that a few hundred million dollars of annual revenue depended on whether 'I' + 1 == 'J'. It does not, on the machine where the money lives.
Today's goal
Read one piece of old code in your repo, end to end, today. Do not change it.
Not a function you wrote last week. Something older than the project's current oldest engineer, ideally. A bootstrap script. A migration. A util file with a // 2018 comment block at the top and the name of someone who left two reorgs ago. A regex in a config that has been doing its job quietly for eleven thousand deploys. The first file Git lists when you run git log --reverse --pretty=format:"%h %s" -- src/ | head -20.
The rule for the read: cover-to-cover, no skipping, with the comments. If there is a 47-line function whose body is one regex and a switch, read all 47 lines. If there is a comment block that says # DO NOT TOUCH — see ticket #4192 (2019), do not touch it, but go find ticket #4192 and read what it said. If the comment is wrong — if it says one thing and the code below it says another — note that and do nothing about it. The point is not to fix. The point is to read.
The next time the code breaks, six weeks or six months from now, you will have a memory of having read it once. You will know whether the comment was right. You will know which of the three branches in the switch is the load-bearing one. You will know, ahead of time, the one variable name that is going to make you laugh on the second read, and you will be able to skip past it.
The Newark Octagon was built by people who watched the moon for nineteen years before they put a single basket of clay on the ground. There is code in your repository that has been working for nineteen years and that nobody on the team has read in nineteen years. The two facts are related. The discipline is the same one. You are not going to fix the code today. You are going to be the person who has, this once, looked at it.
There's a small toy in the corner today on the funword above — a lunar standstill compass. Pick a year between 1960 and 2070, pick a latitude, and watch the dot for moonrise swing across the horizon as the 18.6-year cycle goes around. The Newark preset puts you on the Observatory Circle. The 2043 reading is the one the Hopewell calendar was made to mark. Take a minute with it.
Go read something old today, friend.
— C