Which reminds me of another story. For a C library that I never released, I needed arbitrary-precision arithmetic. I didn't feel like writing my own, but also didn't really feel LibTomMath and wanted to stay away from the copyleft GMP.
In my quest for a library, I found mention of "fgmp" on Usenet. It was around 1993 and I recall its genesis amounts to "I don't like the GPL, but want to be able to implement RSA", cf. https://groups.google.com/g/gnu.misc.discuss/c/wBoVBthFeHM/m/yjV0BkXEqPIJ (Yes, I really don't have a link outside of Google groups, the Usenet archive situation is spotty, this gets improtant later on). This happened to be very close to my problem at hand and thus probably a very good fit for my use case with the additional option of being able to let users compile against gmp if they really wanted to, assuming the interface hadn't changed in the past 30 years.
I quickly tracked down fgmp in the form of a NetBSD pkgsrc package math/fgmp, version 1.0b5. But I also found mention on Google Groups of a version 1.0.1 existing. Easy enough, head to comp.sources.misc and alt.sources. Lo and behold, there it is. It is distributed as a so-called shell archive.
A shell archive is a shell script that extracts files from itself, essentially the same as a self-extracting zip file. You'd cut the post and headers and then run the shell archive to get the files. It verifies the number of expected characters to make sure nothing was lost. As it turns out, my shell archive from Google Groups was not okay. After spending an inordinate amount of time trying to reason about this, it turns out that Google Groups made several modifications:
- It replaces anything that looks like an e-mail address (presumably as an anti-spam measure for the e-mail addresses).
- It collapses multiple whitespace characters into a single one.
My sense of aesthetics grossly offended, I set out to find a pristine copy. As it turns out, the Usenet comp.sources.misc was reasonably well-documented and accounted for. I found https://www.funet.fi/pub/archive/comp.sources.misc/, containing most of comp.sources.misc, but ended up finding only an old fgmp 1.0 with the same result on https://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/usenet/ftp.uu.net/comp.sources.misc/volume40/fgmp/. However, I did finally find it on an archive of alt.sources under https://www.funet.fi/pub/archive/alt.sources/. Since I'm sure the author won't mind if I redistribute it ("I encourage everyone to distribute this as widely as possible"), I'll save you the trouble and attach it to this message.
We need better, searchable, easy Usenet comp.sources.* and adjacent searching and archival. The current state is scary.
As it turns out, NetBSD patches theirs to include a fix 1.0.1 already had (patch-ab in pkgsrc). Incidentally, this means NetBSD probably should to update their port, almost 30 years after the release of the newer version.
@rq Ah, I see
Yeah unfortunately strapped on resources and cant develop better search
Self-destructing paper & c & c
a Schelling point for those who seek one
@niplav@schelling.pt Probably, but they're not very convenient for linking or digging out one particular post