3 ms·
I complied Kermit for IBM's AIX in ~1989 as a study in "how compatible is AIX to other Unixes?" Kermit source code remains the high-water mark in my memory for
by jonathaneunice 2mo ago
I complied Kermit for IBM's AIX in ~1989 as a study in "how compatible is AIX to other Unixes?" Kermit source code remains the high-water mark in my memory for how many different, incompatible, non-standard platforms one piece of software can support. More than even Unix itself, as it could also run on VMS and non-Unixes of the time. I have never in my life seen so many `#ifdef`s and such complicated "Am I running on this platform or that one? Does it have this feature or that feature? No, what about this other one? Is it HP-UX maybe? HP-UX 6? No, 7? No, 8? No, what about VMS? No, how about SunOS? No, how about Unix System III?" ...on and on, seemingly endlessly.
Kermit was an extraordinary monument to portability in an era when "portable" often meant "we have individually accommodated every incompatible system anyone has ever built or might possibly still be using, however improbably."
- Neywiny 2mo agoWhich is interesting because most autoconf programs I've seen do the opposite. They have all these defines and then don't use them. Just seems like a waste of time. Cmake has been better but still sometimes cmake will pass and the code still doesn't build
- wbl 2mo agoAutotools on little endian Linux is the biggest waste of CPU time imaginable.
- irishcoffee 2mo agoAh.. yup.
- bombcar 2mo agoOnce upon a midnight dreary, while I compiled, weak and weary, Over many a quaint and curious emerge of GNU more— While I nodded, nearly napping, suddenly there came a tapping, As of someone gently rapping, rapping at my chamber door. “’Tis just automake,” I muttered, “gently checking CPU floor— Only this, and nothing more.” “Automake!” said I, “thing of evil!—automake still, if GNU or devil!— Whether Linus sent, or whether Stallman tossed thee here ashore, Desolate yet all undaunted, on this desert land enchanted— On this home by horror haunted—tell me truly, I implore— Is there—is there caching in Gentoo?—tell me—tell me, I implore!” Quoth automake, “Nevermore.” It would be nice if automake remembered your system in a cache.
- bandrami 2mo agoThere was for a brief period a Middle Path, called libiberty (now mostly subsumed into gnulib). It generated GNU-compatible shim functions for whatever system you happened to be on that translated those calls into the native calls. So you wrote one clean GNU-esque codebase and gnulib patched together essentially a translation layer for it when you built.
- burnt-resistor 2mo agoThat was one ethos that was taught at the UC Davis CS program in the 90's-00's. They had clusters of IRIX, Linux, Sun, HP-UX, and (sometimes) MINIX boxes. Homework and lab projects would be nondeterministically graded on any except MINIX. It was also beneficial to add portability for Windows with MS and/or Borland toolchains for some projects. BSD sockets was pretty cross-platform with some idiosyncratic gotchas per platform. It saddens me whenever someone or a group religiously tie their opinions or assumptions to a particular platform and irrationally scoff at others or refuse to consider that other things exist, are used, and function.
- pjmlp 2mo agoAgreed, specially those that talk about Linux distros when they actually mean UNIX/POSIX.
- mikaraento 2mo agoToday’s version would be to grade shell script homework randomly on either Linux or macOS :)