I haven't seen anybody mentioning it or even noticing it, like it's just the water we swim in now, but this month marks the fiftieth anniversary of the release of what would become a seminal, and is arguably the single most important, piece of social software ever created.

Written by Douglas McIlroy and James Hunt and released with the 5th Edition of Unix this month in 1974: diff.

https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s1/diff1.c

My friend @gvwilson has argued, and I am absolutely ready to believe, that you can divide the entire computational universe into "has diff and patch or doesn't", and that people living without it don't even have the language to recognize how bad they've got it, how many opportunities to share and collaborate have been silently denied them.

Word processors, spreadsheets, slides? "Track changes" is _trash_ by comparison. No programmer would consent to live the way we make office workers live.

@mhoye @gvwilson that's a bit of a "say you've never worked with legal documents without ever saying ..." admission. Line-based diffs might be okay for code, but are no use for contracts.
@scruss @gvwilson I don't buy that; any diff/patch pair is necessarily domain dependent, not necessarily wire-format dependent. There's no reason "contract diff" and "contract patch" couldn't understand the necessities of contracts vs bare text.
@mhoye @scruss apologies if I'm mis-remembering a long-ago lecture, but I believe the ability to report semantically meaningful changes was one of the motivations for development of GML (the predecessor of SGML). I have seen people pull up contract changes in Lexis Nexis, which I believe uses some derivative of SGML as a storage format (?).
@mhoye @scruss @gvwilson The history section of the Wikipedia article on SGML makes the same comment. One of my first paid programming jobs was to make use of an undocumented SGML parser that was also buggy. That was a hard summer
@gvwilson @mhoye @scruss this is the sort of thing @timbray might know…
@irvingreid @gvwilson @mhoye @scruss Having recently invested a large amount of work in the construction and editing of legal documents as part of an expert-witness gig working for Uncle Sam, I have opinions. Yes, the legal profession would benefit immensely from a diffing capability that worked as well as what developers have relied on for decades. Yes, one reason the developer tools are so slick is lines-of-text semantics.
Unfortunately the legal profession seems locked in to MS Office.
@timbray @irvingreid @gvwilson @mhoye @scruss I'm surprised. I thought legal was the last holdout for WordPerfect?

@timbray @irvingreid @gvwilson @mhoye Thanks, Tim. Yes, it's all Word, which became lots of (not) fun c.2016 when older versions produced documents that infected others with bad formatting. Manual retyping was the only fix

On top of Word, there are unbelievably expensive plugins for Adobe Acrobat Pro for legal PDF management. They like their pages.

(let's hope no-one gets billed $300 / 15 minutes of senior partner time for lawyers learning the never-fit-for-purpose git)

@timbray @irvingreid @gvwilson @mhoye @scruss

PDFs (of Word documents) is the way they are bundled and transmitted between firms, courts etc. This has its own costs because, especially if they are being disclosed, redactions have to be in PDFs and that's a terrible process.

@simon_lucy it sure is! When I found out that the only safe way to redact #PDF was to have the whole page render as a bitmap, a little bit of me died inside