215 karma · joined September 27, 2018
The only limit might be publishing something that is actively intended to do harm. But I can't imagine a plausible example of that...
check, check and check again...
But software done for free by volunteers carries no obligation of a legal or even a moral kind, whatsoever. This is completely different from selling software or doing work for hire or donations. There a moral and often even legal obligation exists.
And then there is also the vulnerability of the lauch site and control center...
And astronomy is still an extremely important component for becoming space-faring. No use in going somewhere blindly when you can have a look first. But if there is no-one looking because nothing to see, funding dried up, scientists demotivated,...
The key point is usable observation time. Our current handful of satellite telescopes provide 24h of time a day. Each terrestrial telescope provides maybe 8h. However, there are a magnitude more telescopes on Hawaii alone than in space. You would need to get a hundred satellite telescopes to begin to replace earthbased observation time.
And that doesn't even begin to talk about the possible instruments, mirror sizes, astronomical costs of buulding and running satellites, etc.
You need old distant objects for cosmology, observing the structure if the universe, big bang and stuff. You need variability for finding exoplanets, measuring distance and observing transitions such as supernovae.
Oh, and then a huge part is taking spectra, which means bouncing the light directly off a grating. Filtering transients is hard to impossible there. You need spectra for relative motion, magnetic fields, composition of matter and radiation and of course temperature.
Needing such filters would set astronomy back a few decades
But those are a special case, air cherenkov telescopes are looking for "less weird" particles like photons or protons. Those can only be seen looking up, since the primary particles moving down focuses the cherenkov light down in a narrow cone.
That would be check mate for all other advertisers.
I'm just not sure whether it's good or bad that antitrust regulators won't notice before it's too late.
The only privacy-conscious way would be no feature-detection at all or a very coarse-grained approach like "I support HTML2021".
Just as with adblockers users will be nagged about "please turn that dial to 11". On average nothing will improve except for users who are able enough to get around those shenanigans even now.
UA hints solve nothing, even after reading the spec
I think the only winning move is not to play: Freeze the User-Agent and do not provide a replacement. Or at the very least, make the replacement based on actual feature bits, not version numbers and device models.
Basic does have Goto, but modern dialects do have all the usual control structures. Perl has weird syntax, but far less dangerous footguns: e.g. there are proper arrays, as opposed to many shells. One can distinguish between an empty and an undefined string. One can declare variables and there is the notion of data types. There are even things like taint mode. In shell, you can't even properly iterate over a directory without nasty surprises.
Same in C. Yes, there are memory safety problems, but those are outnumbered by far by shellscripts exploitable via some expansion or variable injection. Its just that thankfully nobody uses shellskripts as network services, so you don't see as many reports about that.
And yes, brainfuck was there as hyperbole. But I truly believe that there are very few things worse than shell for programming.
A short list of possible problems (of course depending on the shell in question):
spaces in filenames
newlines in filenames
nonprintables in filenames
empty variables and their expansion ([ x$foo = "xsomething" ])
errors in pipes
environment madness
/bin/bash ?= /bin/sh
Arrays or the lack of it
Space separates lists as arrays
#!bash vs. #!/bin/bash vs. #!/usr/bin/env bash vs. #!/usr/sfw/bin/bash vs. ...
Unwritable and unreadable control structures (if [], case, &&,...)
Information leaks via ps
and many others...
Never use shell except to search for and invoke a sensible language. And anything is more sensible, including C, Perl, brainfuck and Basic.
And then there is bibliometrics, the art of lying with publication statistics. Everything humans get wrong is even worse there. A. Aaronson is different from Al. Aaronson, right? No paper has more than 3 authors, right? Journals always count for something, conferences don't, right? etc.