Spelunking Apple’s Open Source
bitsplitting.org
bitsplitting.org
Four or five weeks ago, I was searching GitHub for every instance of my email for legal reasons. I came across it in an Apple OSS Distribution. And that is when I learned that my best project had been silently shipped with Ventura.
I was ecstatic! [1] It's always great to see more people adopt your work.
Don't worry; they followed the license.
[1]: https://gavinhoward.com/2023/02/my-code-conquered-another-os...
An acquaintance had a theory, though. They presumed that Apple was doing two years of regression testing on Ventura, so maybe they grabbed the latest version at the time, tested stuff for two years and shipped the version they tested.
If so, I don't blame them. Most protects are not run like mine, so they need to test for the lowest common denominator and assume that later versions will have new bugs.
Also, I noticed they've been technically in violation of the GPL for years with bash - they never shipped source for rootless.h/etc
I really should rewrite this but it was written many years ago and grew into something more than I originally intended. Plus, it works.
Not at all! My software is built to serve. I'm simply delighted that people have use for it.
I know about one user that uses it for their finances. While that's terrifying for me, it should technically be safe, as long as they don't divide.
And really, your use is an awesome use! And it didn't terrify me.
Not to mention the screenshot tool (including Command-Shift-4, Spacebar) that works immediately upon keypress unlike the new Windows built-in screenshotter. Of which it doesn't hide its own UI properly and may leave a small 1-pixel bar at the top of your screenshot! It's insane how poorly crafted Windows is, and yet it flourishes.
[1] https://www.gnu.org/software/bc/manual/html_mono/bc.html
bc is a little less known, though.
At least the name-brand projects like Webkit and Swift (which have logos and everything) are on a different planet to that.
edit: ah it seems that they support GPLv2 but not GPLv3, that's what happened. And they still ship bash, just the old GPLv2 version.
Dot matrix printers typically allow for better output than grids of monospaced characters, and, AFAIK, weren’t commonly used with computers when banner was written, so I would think it was made for line printers (https://en.wikipedia.org/wiki/Line_printer), not dot matrix ones.
I don’t know when that was, but https://www.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/games... has a man page dated October 1982. https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/s1/... must be older since version 6 Unix is from 1975. Also, the man page supports that claim by saying
“you may want a printer or a fast hardcopy terminal, but if you are patient, a decwriter or other 300 baud terminal will do.”
I think communication interfaces had to come up in speed for it to make sense, and memory on the computer to hold an entire page of pixels. I mean, at 72dpi that's 50KB just for the data! You were mostly into the IBM PC era before that was a thing.
Fwiw it was common for text editors at the time to render/raster in chunks and then send that off to the printer. For complicated documents, the printer sometimes had to take pauses while the computer worked
Kind of surprising that they haven't taken it down. It is pretty cool to see these easter eggs in addition to the massively improved ability to debug things by having an open source toolchain, especially in regards to bringing other toolchains to MacOS (eg mold/LLVM (especially LLD)).
1. https://github.com/apple-oss-distributions/ld64/commit/59a99...
Anyway, since the source code has been up for a while, and since HN has GPT fever at the moment, the question naturally arises... can ChatGPT get this one?
The "lsof" tool on Mac OS X uses the "kernal control" API to obtain a list of
open ports. This API allows access to various kernel resources, including
network sockets, and provides information about the state of the system. The
"lsof" command uses this API to list all open files, including network sockets,
and displays information about the processes that are using them.
It looks confidently wrong in this case, unless "kernal control" is a real name for the part of the XNU API containing proc_pidinfo.