6,253 karma · joined October 6, 2018
With a few (say 10, so 655360 runs), you will not get a uniform distribution, and some numbers (like 0) might not appear.
pick = rnrand16() - 0x7fff
if pick > 0...
where these are not equally likely anymore (I may have an off-by-one anyway ;)).You can certainly complain about breach of contract in a legal setting, but that's also going to be expensive.
This has nothing to do with impersonating a deceases person but about rewriting (personal) history she finds shameful.
If not, why not?
What the RMS's opinion on copyright in software was when he kicked off "free software" is pretty obvious from https://www.gnu.org/philosophy/why-free.en.html — you may certainly have a different interpretation of "you should be able to give a copy to your friend" than I do.
Eg. how motivated are you to contribute an important set of fixes to an upstream package knowing that this package is getting lots of money for the maintainer, and would not get any for you? Would you instead fork hoping to get everybody to switch over to your fork (it could even be justified: "for quicker availability of fixes, here's my fork"), and then ride it out?
Certainly not everybody would approach it that way, but I am certain some would.
Others might not even want to contribute and would instead just file a bug expecting the maintainer to fix it (they are getting paid 30k a month by PyPI, they might as well fix it).
Basically, whenever money enters the picture, the core dynamics change, and it'd hold especially so for FOSS.
Free software licensing is an attempt to make copyright irrelevant: it's basically a no-copyright world it aims for, but then structured into the copyright world of licensing to use and distribute. It is nothing but a workaround, and copyleft uses it to make the default an even stronger case for reuse (by including sources).
In no-copyright world, you get a copy of something and do with it as you please. No licenses, no permissions. People frequently consider this "ownership" akin to owning a physical item (you get a copy of a book, or a toaster, and you do not ask for a license to tear a page out or repaint the toaster).
If, however, you want to learn how to build one, or just have an experience of building your own tool you'll use to create stuff, it is most definitely not stupid to do it.
With 3D printing becoming mainstream, you'll have fewer people in those communities who support and live that approach though, and you'll need to look harder to find documentation and like-minded people.
"Chocolate ice-cream is the best" is very clearly not an (attempt at) objective statement and needs no qualifiers. Only if the reader really wants to be malicious, they can question even that too: what do you base that on? how many ice-cream types have you tried? is there a study confirming preferred taste among a large population? is it cultural and has that been tested? ...
"In my opinion, based on roughly 60 ice-cream flavors I have tried in my life, and having tried chocolate flavor in at least 50 different places, I find that the taste of chocolate ice-cream on average is the best tasting ice-cream regardless of my mood, fullness or place of production and variety of 'chocolate' used" makes for a very boring conversation — except sometimes when you are making a go at it :)
When "you can play the piano", you can play any piano. When "there is a piano in the lobby", it's distinctively a very specific one.
So I would go on a limb and claim: whether you use the or a is also philosophical in nature :)
Where texinfo is available, "info bash" is a great reference; "man bash" is everything in a single page — so less manageable — but you can look for BUILTIN section, which documents "exit" built-in function (among other things).
Realtek network hardware (1Gbps and 2.5Gbps) — part of almost every dock I've seen — was very unstable for a long time, though it seems to work well today too.
Even today, my USB audio device connected through my TB3 dock (behringer UMC22) usually does not show up on my Mac. Sometimes it does, but I do not bother figuring out why that happens, and resort to built-in speakers and microphone instead of my nice desktop monitors and pencil microphone pointed at me :)
My point being that similar stuff happens with Macs, just depends on your "luck" — I am sure there is other hardware that still fails with the latest Macs.
Even compared to Windows (but with very limited anecdotal data), my Linux works much better with random hardware I pick up.
I've only used Macs for the last 5 years or so professionally, but hitting all the issues, I was mostly like: where is that supreme experience? Granted, I've been a Linux user since late 90s, so I can figure things out there easily, and I am certainly biased, but Macs had similar or worse problems just with stability of hardware.
Especially when you see a lot of talk and no walk from everyone around you — yes, I could also be the agent of change, but life sometimes has other ideas.
test 1 == 2 && echo "ok" || (error_code="$?"; echo "failed with '$error_code'"; exit "$error_code")
When command (test 1 == 2) fails, it goes to the "or" section, sets the error_code variable, does something (echo command, but it could be anything), and then re-exits with the same exit code.It's not so obscure, there is just no native "re-raise" function so you have to record the exit code yourself (actually, bash's built-in exit will return the last command's exit code, but in the example above, that's the "echo" which actually succeeds).
Edit: since the above runs it in a subshell, $error_code is not available outside the parentheses but if you need this, you can try:
test 1 == 2 && echo "ok" || error_code="$?" && echo "failed with '$error_code'"
exit $error_codeThough even the "user" might be harmed, because you might get a device shipped to you with what-was-previously-copyleft software, and now you can't ask the vendor (also the "user") for copy of the source code since they can claim "we are using it under the terms of v4, sorry".
I want the products of it (how many phones with lithium batteries in those protests), but not the side effects.
Which is not to say these are wrong perspectives to hold, but it's important to understand where the root of the complaint is before you try to come up with generic solutions.
Yes, the fact that we are in a low trust society makes us behave we do. Can we change this? Should we even try?
I've seen societies band together in the face of (acute) natural disasters (floods, wildfires...) or big disasters like wars, but how do we get to — if not high trust — not-low trust society when all is good and is it even worth pursuing?
I believe the answer is the same as to why Python remains hugely popular despite all the well-documented shortcomings: batteries included.
Shell languages include so many neat and concise ways to execute commands, deal with their input, output and exit codes, allow simple traversal of deep directory structures with globs and advanced tools like 'find' or 'xargs', that everything else is very unergonomic.
And niche by default (until it gets used widely enough), so even your LANG-OF-CHOICE-expert you recruit, they will not know a thing about that shell-focused library in LANG-OF-CHOICE.
I'd even drop the "if" from their footnote version, and go with simply
npm install || (echo "boom" && exit)
(Not exactly equivalent because there won't be an "exit" if echo fails, but it's my preferred instict over ";") Also, "(" starts a subshell, if we are being pedantic."Hey, I trusted FSF to do the right thing with the next version and they did not"
They blindly accepted to honor the terms which have not yet been defined.
It would also potentially invalidate clauses like the one in GPL license too: "this version or any later version" — how can anyone consent to yet-unknown terms?
In this particular case and going after the summary from big85, there's one case of legal compliance (like age restrictions — it applies in appropriate jurisdictions even if the ToS is not updated) or maybe two (banning per-account vs per-owner), some widening of the terms to the benefit of the customer (like refunds being permitted in "special circumstances" on top of "required by law, with only "reductionist" change being about lowering service window for unused free accounts (in some jurisdictions, even this could be about respecting data privacy laws — companies are obligated to remove any data which is not used after a certain time, though I think this is 12 months even under GDPR).
As such, I believe this would not be a good case where you can bring enough light how this type of clause is harming one side to the contract.
But here I find it's mostly about trying to get into their linguistic framework when trying to understand them, and with my background of native Serbian being a very phonetic language, I can easily figure out when someone is coming from a more phonetic background: eg. or pronouncing "j" sound like "y" in "yay", more literal reading of other letters, etc. You obviously expect them to miss out on articles, tenses and even word ordering, so you work it all backwards. A bit like that trick for LLMs with broken, concise English.
So I really put it on me to re-process their language into what is the likely message they are trying to convey, and do not expect the precision of a native speaker.
It is hardest when someone's command of a language seems to be high (eg. they have great pronunciation and decent vocabulary), yet the basics are all wrong :)
And in some cases, it helps to know a bit of their native tongue, like with the Spanish and all of those "e-station" instead of "station", "e-static" instead of "static" (no, not "ecstatic" :), "e-sports" instead of "sports" etc.