Agribusiness and Infobusiness - <AUTHOR> http://infovegan.com/2010/08/05/agribusiness-and-infobusiness

<comment><AUTHOR> There's something to be said about the irony of posting an article on the issues around the over-abundance of information to HN. Although, HN definitely improves the quality of the information.</comment>


Science, Pseudoscience, Nutritional Epidemiology, and Meat - <AUTHOR> http://garytaubes.com/2012/03/science-pseudoscience-nutritional-epidemiology-and-meat

<comment><USER2> This article does a lousy job of explaining what the report actually says, setting up some straw men to knock down.

There's pretty good evidence that burnt and smoked meat (see especially bad barbecue and barbecue flavours) contribute to bowel cancers.

The authors have been clear about the limits of epidemiology. They were clear about what the results actually mean. (maybe one year less in 90 year life span).

</comment><comment><USER3> Right, so people are often really bad at interpreting studies.

But in the case of this article, there _is_ an obvious causal mechanism between eating beef and increasing your risk of heart disease. In fact, we don't need a study to tell us that. Beef, especially the kind of corn-fed beef that's very popular in the U.S. which comes from cattle who are confined to tiny living quarters throughout their lives, has a much higher concentration of saturated fat than, say, chicken. And we've consistently observed that consuming large amounts of saturated fat increases your risk of cardiovascular disease. So eating a lot of beef increases your saturated fat intake, which increases your risk of cardiovascular disease. How is that hocus pocus?

<comment><USER4> Isn't Taubes claiming just the opposite was reported?

> And when these [randomized-controlled] experiments have been done, the meat- > rich, bacon-rich Atkins diet almost invariably comes out ahead, not just in > weight loss but also in heart disease and diabetes risk factors.

<comment><USER3> I must not have gotten that far in the article. But I seriously find that hard to believe. I recognize that eating a diet rich in saturated fat and very low in other calories would facilitate weight loss, but that saturated fat increasing the risk of heart disease and the like has not been demonstrated outside of studies that incorrectly assumed causation, and that such a diet is likely healthful goes so far against my intuition and observation of almost everyone I've ever interacted with (including many people whose lifestyle decisions were otherwise relatively health-promoting) that I'll need to see evidence to the contrary in order to replace this hypothesis as my dominant theory. And my intuition has almost never proven wrong. XD

<comment><USER4> Heh. My own intuition is that we're good for roughly forty years of eating just about anything we can find. Some specific diet which consistently gets us more than that certainly hasn't been easy to identify, and I don't see why we should expect one to exist; the <http://en.wikipedia.org/wiki/Grandmother_hypothesis> seems inconclusive so far.

I say that having already reached 41…</comment></comment></comment></comment>


On Linux's Random Number Generation - <AUTHOR> https://research.nccgroup.com/2019/12/19/on-linuxs-random-number-generation/ <comment><USER2> This is Thomas Pornin, by the way, from whom I and many others have learned a lot, and whose original Stack Exchange answer† about random vs. urandom set me and presumably Thomas Huhn (there's something about urandom and Thomases) tilting against this Linux windmill with our respective urandom advocacy pages, both of which pop up on HN every couple of months.

This article is authoritative and also covers some recent updates, like Jason Donenfeld's work on the Linux RNG, is well worth a read, and hopefully will show up on HN at least as often as me and Thomas Huhn's.

[https://security.stackexchange.com/questions/3936/is-a- rand-...](https://security.stackexchange.com/questions/3936/is-a-rand-from- dev-urandom-secure-for-a-login-key)

<comment><USER3> That, and the article, seems like sort of a tangent though. In practice, /dev/urandom advocacy has won for almost all apps. That's what everything uses, and it meets the requirements desired by you and Pornin AFAICT. People who want crypto-backed non-blocking kernel RNGs have a very high quality one in linux. Most of this is just an argument about defaults, whether "/dev/random" should be non-blocking by default and whether it should be renamed to something else.

The more interesting question, and one I think is very poorly served by this article, is whether or not Linux's entropy pool engine is a useful feature or not (and tangentially whether or not we should trust RDRAND). And... I mean, in a world where we have known backdoors in both hardware and crypto algorithms, it seems like having a system that defaults to not trusting them might not be the worst thing...

Basically, this argument seems really fragile to me. All it takes is one paper showing a likely backdoor in RDRAND and everyone is going to be laughing like crazy at what-in-hindsight-would-seem the ridiculous naivete in this article.

<comment><USER4> > In practice, /dev/urandom advocacy has won for almost all apps.

Which is a shame, because the thing that should've won is arc4random_buf or something similar that always works (empty chroot with no /dev/ under it, isolated user with no read access to anything on the filesystem, and no free file descriptors? still works!) and can't give an error.

<comment><USER3> For clarity: I'm using "/dev/urandom" as shorthand for "the non-blocking interface to the kernel entropy pool" and not the literal device node interface. As others have pointed out there is a syscall to get that for you if you can't use the device.

<comment><USER5> To be completely correct: On modern kernels, /dev/urandom is not an interface to the kernel entropy pool. It is rather a ChaCha20 Cryptographic Random Number Generator which is periodically seeded from the kernel entropy pool.

getrandom(2) uses the same ChaCha20-based CRNG. The main advantage is that it doesn't require that you be able to open a file descriptor. (There were some obscure attacks on some userspace where the attacker would exhaust the number of file descriptors, and the sloppy userspace code wasn't checking error returns, and so it wasn't actually reading from /dev/urandom. Getrandom(2) is supposed to be foolproof --- which is hard, given how ingenious fools can be, but at least it's harder to screw up using getrandom(2). It also works in the completely empty chroot scenario referenced in the grandparent of this post.

</comment></comment></comment></comment></comment><comment><USER5> There are a number of things that the blog post gets wrong. First of all, it was not Jason A. Donenfeld, the author of Wiregard, which added the ChaCha20-based cryptographic random number to Linux. It was me, as the maintainer of Linux's random number generator. The specific git commit in question can be found at [1].

[1] [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e192be9d9a30555aae2ca1dc3aad37cba484cd4a)

Secondly, I think a lot of people have forgotten what things were like in the early 90's. Back then encryption software was still export controlled, so we couldn't put DES (AES wasn't released until 2001) into the kernel without triggering all sorts of very onerous US government restrictions (and Europe was guilty of this too, thanks to the Wassenaar Agreement); you couldn't just put things up on an FTP. Also, back then, there was much less public understanding of cryptography; the NSA definitely knew a lot more about cryptoanalysis that in the public world, and while it was known by 1996 that MD5 had Problems, there wasn't huge trust that the NSA hadn't put a back door into SHA-1 which was designed by them with zero explanation about its design principles.

This is why the original PGP implementation, as well as the Linux Kernel random number generator, was very much focused on entropy estimation. We knew that it was potentially problematic, but then again, so was relying on cryptographic algorithms that were poitentially suspect. There was a good reason why in the 90's, it was generally considered a very good idea to be algorithm agile; there simply wasn't a lot of trust in crypto design, and people wnated to be able to swap out cryptographic algorithms if it was found that some algorithm (e.g., like MD4, and later MD5) was found to be insecure. So the snide comments about people not trusting algorithms seems to miss the point that even amongst the experts in the field --- for example, at the Security Area Directorate at the IETF, of which I was a member during that time --- there was a lot of thinking about how we could deploy upgrades if it were found that some crypto algorithm had a fatal weakness, and we would need to swap out crypto suites with minimal interoperability issues.

Unfortunately, being able to negotiate crypto suites leads to downgrade attacks, such as we've seen with TLS --- but what people forget is that when the original SSL/TLS algorithm suites were designed, people thought they were good! It was only later that some crypto suites were found to be insecure, leading to the downgrade attack issues. But it also shows that people were ___right_ __to be skeptical about crpyto algorithms in that era.

Since then, we've learned a lot more about cryptographic algorithm design, and so people are a lot more confident that algorithms can be relied upon to be secure --- or, at least, other issues are much more likely to be weak link. That's why Wireguard is designed without any ability to negotiate algorithms, and as a result, it makes it _much_ simpler than IPSEC. And it's probably the right choice for 2019. (At least, until Quantuum Computing wipes out most of our existing crypto algorithms; but that's a rant for another day.)

As far as monitoring entropy levels in Linux, in general, the primary reason why we need it is because even if we are willing to invest a lot of faith into the ChaCha20 CRNG, we still need to provide a secure random number seed from _somewhere_. And that can be tricky. If you fully trust a hardware random number generator, then sure, no worries. Or if you are using a cloud provider, so you _have_ to trust the hypervisor anyway, then using virtio-rng to get randomness from the cloud provider is fine. (If you cloud provider wants to screw you, they can just reach into the guest memory or intercept network or disk traffic at boot time, so if you don't trust not to backdoor virtio-rng, you shouldn't be using the cloud provider at all.)

As far as whether or not to trust RDRAND, the blog post seems to assume that it's absurd to trust that NSA couldn't possibly have backdoored the CPU instruction. On the author hand, there are those who remember DUAL-EC-DRBG, where most people _do_ now believe the NSA did put in a backdoor. And Snowden revelations did show that NSA teams were putting backdoors into Cisco routers by intercepting them between when they are shipped and when they were delivered. So given that you can't audit the Intel CPU's RDRAND, and Intel _is_ a US company, it's not _that_ insane to perhaps have some qualms about RDRAND. After all, if you were using a chip provided from a Chinese company (where the owner of said company miight also have been a high ranking general in the PLA), or a CPU provided by a Russian company controlled by a Russian Oligarch who is good friends with Putin and who also had a background from the KGB --- is it _really_ insane to be worried about those CPU's? Let's not even talk about concerns over China and 5G telephony equipment. Why is it then completely absurd for some people to be considered about the complete inauditability of RDRAND, and the fact that no functional or statistical test can determine whether or not there is a backdoor or not?

Of course, if you really don't trust a CPU, you should simply not use it. But creating a CPU from scratch, using only 74XX TTL chips really isn't a practical solution. (When I was an undergraduate at MIT, we did it as part of an intro CS class; but MIT doesn't make its CS students do that any more.) So the best we can try to do is to try to spread out the entropy sources; that way, even if source 1 might be compromised, if it is being mixed with source 2 and source 3, hopefully at least one of them is secure. (Or maybe source 1 is backdoored by the NSA, and the source 2 is backdoored by the Chinese MSS, but if we hash it all together, hopefully the result will only be vulnerability if the NSA and MSS work together, which hopefully is highly improbable.)

The bottom line is that it's complicated. Of course I agree that we should use a CRNG for most purposes. But we still have to figure out good ways of seeding a CRNG. And in case the kernel memory gets compromised and read by an attacker, or if there is a theoretical vulnerability in the CRNG, it's good practice to periodically reseed the CRNG. And so that means you still need to have an entropy pool and some way of measuring how much entropy you think you have accumulated, and how much has been possibly revealed ("used") for reseeding purposes. In a perfect world, of course, assuming that we had perfectly trustworthy hardware to get an initial seed, and in a world where we are 100% sure that algorithms are bug free(tm), then a lot of this isn't necessary. But we in real world engineering, we have safety margins because sometimes theory breaks down in the face of reality....

<comment><USER6> What's your response to Pornin's criticism of 5.3 changes?

> Linux 5.3 will turn back getrandom() into /dev/urandom with its never- > blocking behavior, because, quite frankly, Linus's opinions on his own > mastery of RNG theory exceed his actual abilities. The reasoning seems to be > that if there is "not enough entropy", then the application should make an > interpretative dance of some kind to promote the appearance of new hardware > events from which the entropy can be gathered. How the application does > that, or why the kernel should not do it despite being much closer to the > hardware, is not said

<comment><USER5> I wasn't a real fan of the 5.3 change, but it was better than some of the alternatives that people were proposing. At the end of the day, the problem is that userspace just shouldn't be trying to get randomness during early boot. But if they do, and we make the kernel more efficient things can break, and Linus believes that if there is a user-visible regression we Have to Fix it, even if it the root cause is broken user space.

In this particular case, what triggered this was an optimization in ext4 in how we did directory readahead, which reduced the number of I/O's done during the boot sequence. Some user space program in early boot tried to call getrandom(2), and it blocked because with a smaller number of I/O's, for some hardware platforms, it would stop the boot sequence in its tracks, and this then resulted interrupt events, leading to no further activity, leading to an indefinite hang.

So what do we do? We could revert the ext4 optimization, but what it did was draw attention to the fact that in the absence of a hardware random number generator which everyone trusted, what we had in terms of CRNG initialization was fragile.

Now the blog posting is inaccurate here as well, it is _not_ the application which needs to make an interpretative dance of some kind. We actually _are_ doing it in the kernel, and there is at least some hope that on an x86, making some assumptions about how the caches and clocks work, it _probably_ is secure. I am actually worried that it won't be secure enough on simpler RISC cores, such as ARM, RISC-V, MIPS, etc.

The real right answer is that we should be pulling from as many hardware random number generators (that are _designed_ for crypto purposes) that are available, such as from the UEFI, or the TPM, and mix that in as well. We'll probably continue to have config options so that the person building the kernel can decide whether or not those will be trusted. That hasn't happened yet, but I've been trying to recruit some volunteers to implement this in UEFI boot, or using NERF or Coreboot, etc. Util we do, or for hardware that doesn't have trusted hwrng's, starting in 5.3, we now have an in-kernel interpretative dance which is the fallback, for better or worse.

I'm not super-fond of that, but it was better than the alternative, which was _no_ interpretive dance, and simply having getrandom(2) return "randomness" regardless of whether or not we thought it was random or not. On modern x86 processors, we will be mixing in RDRAND, so if you trust RDRAND, you'll probably be OK, interpretative dance or not. But the big worry is going to be on simpler CPU's such as RISC-V.

Ultimately, there are no easy solutions here. Arguably, just gathering timing events during the boot was also an "interpretive dance", since how much uncertainty there really is from SSD operations, and whether the SSD is using a oscillator different from the one used by the CPU, etc., involves a certain amount of hand-waving. So the only real solution is real, carefully designed, hardware RNG's. But then the question is how an you be sure they are trustworthy? This conundrum has always been there.

For myself, I use a ChaosKey[1] and make sure it is contributing to the entropy pool before I generate long-term public keys. Of course, can I be sure that the NSA hasn't intercepted my ChaosKey shipment and trojaned it, the way they did with Cisco Routers? Nope. I can only hope that I'm not important enough so that they wouldn't have bothered. :-)

[1] [https://keithp.com/blogs/chaoskey/](https://keithp.com/blogs/chaoskey/)

<comment><USER7> >We'll probably continue to have config options so that the person building the kernel can decide whether or not those will be trusted.

My understanding is that XORing a trusted seed source with any number of untrusted seed sources results in a trusted seed source. What would be the point of such kernel options?

<comment><USER5> The problem is "trusted" is as much a social construct as it is a technical one.

For example, if you are an NSA employee, you might be utterly confident that the NSA didn't twist Intel's arms to put in a backdoor into RDRAND --- e.g., that it isn't AES(NSA_KEY, SEQ++) --- and even if it were, you would be sure that as a US citizen, you would be safe from intrusive attacks to spy on your communications without a FISA warrent, which of _course_ would only be done with a super scrupulous attention to legal process, the recent IG report of the Carter Page FISA warrant to the contrary.

In 2019, if you are a Republican member of the House of Representatives, such as Devin Nunes, you might be sure that the FBI is playing fast and louse with all FISA warrants, and so if so no one is safe from politically motivated investigations, especially if you are working for the Trump campaign, such as Carter Page.

See? Two different people might have very different opinions about whether a particular source should be trusted or not.

<comment><USER7> My point is that you don't have to trust any particular source of randomness. NSA can backdoor RDRAND all they want. As long as there is a single legit source of randomness XORed in then the NSA is just wasting their time.

So having options to remove some sources is pointless and can only make things worse, never better.

<comment><USER5> Sure, and that's why we still have the entropy pool in Linux. It's where we do the mixing.

My apologies if I didn't understand the point you were making.

And yes, I would love to see us adding _more_ entropy sources in the future. The problem is I don't have a lot of time, and a lot of other projects to work on, but I've been trying to recruit people to add support to pass entropy from UEFI into the kernel (which requires changes to Grub, NERF, Coreboot, etc.), being able to pass entropy from one kernel to the next when using kexec, etc. I can't do it all myself; this is something that requires a lot of people to make things better.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> A few problems with the reasoning in this article.

It assumes that either "cryptography works" (and you only need to seed the CSRNG once) or "cryptography does not work" (and the entropy pool is necessary). In actuality, "cryptography" covers a wide range of algorithms, some of which seem to work, and some of which (like RC4) are known not to work. It's possible that (say) ECDSA works but Linux's CSRNG isn't as good as we think it is.

The article also makes fun of the kernel for not trusting RDRAND. Well, here's a sequence of random numbers from RDRAND on the AMD Ryzen 3000: 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff. Do you see a pattern? Was it indeed a foolish choice not to trust RDRAND?

<comment><USER9> > Was it indeed a foolish choice not to trust RDRAND?

From that output? No, not at all. It's not backdoored, it's the same as any other microcode bug. What would be more insidious was if it gave back 0xD82C07CD, 0x6BAA9455, 0x82E2E662, 0x7A024204: seemingly random but secretly predictable. (Hint: Python, random.seed(0))

<comment><USER10> You can always check with Random Sanity [https://www.randomsanity.org/](https://www.randomsanity.org/) In this case [https://rest.randomsanity.org/v1/q/D82C07CD6BAA945582E2E6627...](https://rest.randomsanity.org/v1/q/D82C07CD6BAA945582E2E6627A024204) It is not 100% sure, it was "true" until a few seconds ago.

<comment><USER11> I strongly advise against trusting statistical entropy tests in the application layer.

There are reasons to do statistical tests (for example, the USB key Ted mentioned needs to make sure the circuit is still generally functioning), but when you're in the application, there has already been so much de-biasing and whitening going on, that you will never really catch a problem. You will only obsess about a random (ha!) fluke where a tests sporadically fails.

<comment><USER10> It was a semi joke. It's an interesting project, but note that:

It is not so popular, so they didn't have this string before. (Perhaps they can preload some common cases, but perhaps is too much memory.)

Once you send your secret random stuff to a random site in the internet, it's no longer secret. You can send some samples as a test and discard them, and use other part of the random stream, but from a security point of view I'm not sure it is a good idea.

I agree that flukes are a problem if you call something like this too much. I'm not sure about the implementation details to be sure how strict it is.

</comment></comment></comment></comment></comment><comment><USER12> I don't understand why nobody ever mentions CCD noise as a source of quality randomness. Billions of devices, now, including all phones and most laptops, have an extremely productive seed source with many millions of pixels, each pixel supplying at least a quarter bit of entropy. It works equally well with a sticker over the lens.

Microphones are also good sources, down in the low bits, because true silence does not exist. Like CCDs, even if you don't think much of the entropy in any one sample, there are one hell of a lot of samples to draw on.

If you have an accelerometer, that's another six sources. If the device is on the table, jiggling the vibration motor provides enough activity.

The RDRAND behavior in that shipment of Zen2 chips suggests that the hardware RNG can be turned off by the System Management backdoor device, and that a code path to do it is active and (a little bit too) available. People messing with CCD pixel readings seems less likely.

<comment><USER13> > I don't understand why nobody ever mentions...

Most of these things aren't present in the context of a server, let alone a virtualised one.

Nobody's there to literally physically jiggle your virtualised server while it boots.

<comment><USER12> A virtualized server has no reliable source of randomness at all, besides whatever the host provides. They are out of the picture entirely.

<comment><USER13> > They are out of the picture entirely.

They're a central topic of this article and where the problem we're discussing is usually felt.

</comment></comment></comment></comment><comment><USER14> This was a good article. Bits of entropy are not lost as the CSPRNG spits out bits 1:1. Nobody thinks that a 64 bit key is compromised after a CSPRNG outputs 64 bits.

However RDRAND should not be trusted because we know for certain that motherboard BIOSes have the capability to force the output of RDRAND to -1 every time it is called. Hardware vendors have demonstrated this to us as a "bug" multiple times, but I consider it a "wink". They have fixed it with BIOS patches. The fact that this is patchable at all indicates RDRAND is not secure. The BIOS can control this behavior; therefore it is IMHO very highly suspect and not worthy of trust. There is no legitimate reason why a ring oscilator circuit with it's whitening/etc should ever output a predictable sequence of any kind.

<comment><USER15> Don't BIOS patches contain microcode updates?

<comment><USER14> Yes, an earlier version of my comment made a distinction between BIOS vs microcode, but I realized it wasn't relevant and edited it. Apparently my edit and your comment experienced a race condition.

</comment></comment></comment><comment><USER16> >In a sense, whether a given mechanism provides entropy is a matter of "this or that expert said that it does"; impossibility of accurate simulation comes from physics, specifically quantum mechanics, so the entropy pool estimator is based on a fair amount of trust in physicists such as Feynman or Bohr (but not Einstein, for that matter). But the entropy depletion is an assertion that cryptographers such as Shamir cannot be equally trusted.

Well yeah, we have much more reason to believe our physical laws represent something about reality than to think our cryptographic primitives are unbreakable. Where's the analogue of Bell's theorem for cryptography?

</comment><comment><USER17> FYI Andrew Ayer said this change didn't go through: [https://twitter.com/__agwa/status/1208066598407483393](https://twitter.com/__agwa/status/1208066598407483393)

It's not clear to me what the current state is

<comment><USER18> That would explain why I wasn't able to find "CONFIG_RANDOM_BLOCK" in my kernel configs.

On a related note, I've been running jitterentropy-rngd on most of my machines for a long while now, including the ones that have internal and/or external HWRNGs (even though it's probably not really doing much of anything on most of them).

I'm far from an expert on any of this but jitterentropy-rngd seems much, much better than haveged (although, FWIW, I think pretty much _anything_ is better than haveged). I was kinda surprised that Debian decided to use haveged in the installer, although (to their credit) they did say, in effect, "we need something _now_ , this works for now, we can find something better later".

</comment></comment><comment><USER19> I find it strange that the article says that Java uses /dev/urandom by default. When I've been having to configure Java to use /dev/./urandom for years to deal with the fact that it defaults to /dev/random and setting it to /dev/urandom doesn't work because the Java code treats the two as the same.

<comment><USER20> Slightly tangential, but why doesn't Linux symlink /dev/random to /dev/urandom like OpenBSD does?

Wouldn't that stop issues like these (what's the benefit in keeping /dev/random the same)?

<comment><USER11> Extreme backwards compatibility. An application might depend on the blocking behaviour (be it sensible or not). And since it's a change visible from user space, it won't be done (except in extreme circumstances).

</comment></comment></comment><comment><USER21> FWIW, Virtio RNG is natively supported by Linux, NetBSD, and OpenBSD as guests, and hypervisors like Linux KVM/QEMU and OpenBSD VMM/VMD. I use libvirt and virt-manager on Linux which makes it easy to add a Virtio RNG device, but it _should_ be the default, as it is with OpenBSD VMM/VMD.

<comment><USER22> Ah, I just found --rng in another read of the virt-install manual. This works a lot better than aborting the install and editing the xml and restarting.

</comment></comment><comment><USER23> There is little more disappointing to see a position you embrace argued with weak or misleading arguments.

The entropy estimation used in Linux is indeed essentially pointless, but a number of the arguments used in this page are not great.

The main reasons I'd give is that the applications we use randomness for have only computational security at best so the effort to provide information theoretic security is overkill. The actual mechanisms that have been used in linux both for estimating random inputs and maintaining the pool are entirely adhoc and there is no particular reason to believe they'd actually provide information theoretic randomness even if you did have some fringe usage where it could be a theoretical benefit. And finally, the weird behavior like blocking RNGs added for purely conjectural benefits results in real vulnerabilities.

Not much more is needed to be said: It's a common story, security theater resulting in insecurity.

> so the entropy pool estimator is based on a fair amount of trust in > physicists such as Feynman or Bohr (but not Einstein, for that matter). But > the entropy depletion is an assertion that cryptographers such as Shamir > cannot be equally trusted

Our expectations about the security of cryptographic constructs are largely unlike our expectations of physical systems.

Thomas is making a cheap and misleading argument here, and I very much expect that Shamir would disagree with it... (heck, one of the famous 'Shamir' named things is shamir secret sharing which comes straight from the realm of information theoretic security.)

A case can be made for cryptography with information theoretic security... but what the kernel provided in the past was at best a cargo-cult imitation of it, taking many of its costs without providing its assurances.

> The Linux kernel uses rdrand. It does not trust rdrand, because NSA (I'm not > exaggerating! The kernel source code explicitly calls out the NSA),

Imagine this in a world where the kernel always blindly trusted rdrand: [https://arstechnica.com/gadgets/2019/10/how-a-months-old- amd...](https://arstechnica.com/gadgets/2019/10/how-a-months-old-amd- microcode-bug-destroyed-my-weekend/)

CPU makers can't manage to achieve really strong reliability against obvious _accidental_ fault in rdrand. Gonsidering this, some caution against backdoors in a totally black box magic source of random numbers seems eminently prudent. NSA is just an existence proof of intelligence operations with the intellectual and financial capabilities that would make backdooring a CPU possible, if not likely.

</comment><comment><USER24> Relying on seed-based algorithms makes the seed very attractive for leaking by some side channel, how does CSRNG prevent that?

<comment><USER21> I'm not sure what the seed has to do with anything. Every CSPRNG has a state which can be leaked, and while nominally larger than a typical seed, if a side-channel leaks 32 bytes then it likely can leak 512 bytes, 1Kb, etc. (The way the article distinguishes the "RNG" entropy pool from the "CSRNG" seems rather confusing and maybe a reflection of Linux' convoluted framework. Better to think of the whole framework as a giant, overwrought CSPRNG function.)

A proper CSPRNG offers forward security, which means if the state is leaked in the future then past outputs are still secure. This is usually accomplished by cycling the PRNG after output.

There'a also backward security (perhaps what you were getting at), which means future outputs are protected from past leaks. Of course, you need new randomness to achieve backward security. AFAIK, typical kernel CSPRNGs mix in new entropy on a regular basis (notwithstanding the implication in the article that on Linux this can be unnecessarily delayed). However, that's not necessarily a better thing. Daniel Bernstein has argued that _maybe_ , depending on your threat model, you're better off with a purely deterministic CSPRNG after initial seeding: [https://blog.cr.yp.to/20140205-entropy.html](https://blog.cr.yp.to/20140205-entropy.html)

</comment></comment><comment><USER25> For comparison, here's a sane interface: [https://fuchsia.dev/fuchsia- src/reference/syscalls/cprng_dra...](https://fuchsia.dev/fuchsia- src/reference/syscalls/cprng_draw.md)

<comment><USER9> How is this different from read(open("/dev/random", O_RDONLY), buffer, sizeof(buffer))?

<comment><USER26> \- It won't fail if there's no /dev/random device mounted (e.g. in chroot)

\- It won't fail if there are no file descriptors available

\- No error handling needed: the call always succeeds and random bytes are always returned

<comment><USER27> So like the standard arc4random_buf(3) which everybody has except for Linux.

Don't worry the name is historic it does not us the arc4 cipher any longer, at least on OpenBSD. They switched to chacha20 as stream cipher.

<comment><USER26> The interface is the same, but arc4random_buf is a user-space CSPRNG.

The analog of zx_cprng_draw is getentropy(2): [http://man.openbsd.org/cgi- bin/man.cgi/OpenBSD-current/man2/...](http://man.openbsd.org/cgi- bin/man.cgi/OpenBSD-current/man2/getentropy.2) except zx_cprng_draw kills the process, while getentropy returns an error.

</comment></comment></comment></comment></comment><comment><USER18> > _Or not. Linux 5.3 will turn back getrandom() into /dev/urandom with its > never-blocking behavior, ..._

This can be disabled by passing the

      random.getrandom_block=on

parameter to the kernel.

\---

 _EDIT:_ It appears that this functionality may have not actually made it into the kernel (see other comments) so this parameter would have no effect.

</comment><comment><USER28> > The whole premise of entropy depletion is that cryptography does not work > (the CSRNG does not prevent the leak),...

Nice post but had to stop there. I don't get why some cryptologists don't grasp redundancy. In systems design this is a very sane assumption, in other words The premise is not that "cryptography does not work" but rather "one piece of a cryptography systema may have been broken or weakened".

You don't tell a system engineer "The whole premise of HA is that servers fail" right? Are elementary components of a crypto system expected to be unbreakable or uncompromisable? I mean to me this makes me want to ask the writer of this post: I thought security of CSRNG is estimated to be infeasible to crack based on existing computational resources (brute force) and existing research to break and weaken the RNG ? If so, how is it improbable enough for a bug or backdoor to exist in the CSRNG or for some algorithmic breakthrough with PQC?

In my opinion, it is entirely possible(as history has proven) for elementary components of a crypto system to be weakened and a general purpose OS should presume some level of redundancy where possible. I mean, most users should not be concerned of such rare attacks(except maybe they should,given how billions of devices depend on Linux's rng and there are many extremely resourced attackers that would be interested in dragnet attacks) but you have to also keep in mind there are people who are of enough high value that they will be targeted individually. And I can envision not just the NSA and other spy agencies but plenty of private organizations and exploit brokers that will capitalize big time on discovery of csrng flaws that are not reported for a bug fix or publicized.

I think urandom is fine for most cases but on rare situations like pgp keys, TLS certs, disk encryption keys,etc... The paranoia of /dev/random might come in handy at least for a handful of people somewhere.

</comment><comment><USER29> Just use rdrand. If your cpu is compromised at the level of individual hardware instructions, you are likely toast anyway, and all your extra steps are just false reassurances.

</comment><comment><USER30> This article seems to continually conflate "sources of randomness" with pRNGs. The linux entropy pool is not merely some estimation of randomness by the kernel -- it's a collection of bits accumulated from a variety of sources ( _including_ rdrand, btw) -- which are munged in such a way that any single bit of input causes a cascade in the states of _all_ output bits -- _then_ fed into a pRNG. Not trusting rdrand (or any other single source, including input devices, internal sensors, IRQ timings, internal clock, etc.) is a _feature_ and does not somehow make the degree of entropy weaker. Having a broad collection of entropy sources feeding into your entropy pool simultaneously helps make the random device more secure by ensuring that if an attacker gains access to any number of these inputs, they still cannot predict outputs as long as they lack even a single one.

This is exactly the article I would have published if I were a state attacker trying to make it easier for myself to create side-channel vulnerabilities in applications relying on randomness.

If tpornin's primary concern is blocking IO (and not unpredictable, cryptographically-secure RNG) then his or her advice makes sense. However, if secure randomness is a concern, then the advice should simply be to encourage application developers to use the _minimum_ amount of entropy needed from the entropy pool. Many, if not most applications are guilty of consuming far more randomness than they truly require.</comment>


Mark Zuckerberg: Basic income is a bipartisan idea - <AUTHOR> https://www.facebook.com/zuck/posts/10103857892105091 <comment><USER2> Sure. If I had a billion in the bank, I'd be 100% for bribing the common folk with their own tax revenues. As a rich person, the only thing preferable to no taxes is exorbitantly high taxes so no-one else can get rich and my relative purchasing power remains high. Brilliant plan.

<comment><USER3> A guy worth ~$62 Billion talking basic income; someone who's looking to lead the world in automation alongside Google and Amazon. Not to get all nutty, but it seems strange that billionaires are the ones to lead the conversation in basic income.

Sure they know more than anyone that automation is coming, but exactly how soon and far stretching?

<comment><USER4> They are just afraid.

</comment></comment></comment><comment><USER5> I'm really surprised and disappointed by some of the responses in this thread. It boggles my mind that some people can consider themselves "hackers" and/or follow tech news, but not understand that automation is going to require UBI for most of humanity to have any sort of quality of life. UBI is and should be a bipartisan idea. It may even be necessary for the survival of our Republic, if not or species.

<comment><USER6> Let's fix Social Security first; worry about UBI later.

<comment><USER3> Yeah this is the thing I always come back to. UBI is without question needed in a highly autonomous society, but we fail to have proper flow on our already existing systems like Social Security.

<comment><USER7> or health care (at least in the US)

</comment></comment></comment></comment><comment><USER8> I'm all for some implementation of UBI, or more broadly, less inequality in society, but the numbers just don't add up to support it (yet).

Even if you took all of the US Federal transfer programs (Social Security, Medicare, etc...) AND taxed the top 1% at a 90+% rate, you'd still fall short of the amount needed to distribute a basic income to reach the minimum poverty level for the masses.

<comment><USER9> Does it need to reach that level for it to be worth doing?

<comment><USER10> Yes, otherwise targeted programs are cheaper and can be comparatively effective if administered well.

</comment></comment></comment><comment><USER11> To get your free money you just need to join facebook. Make at least 3 posts a day to let everyone know how great the free money is... this is such a great idea!

</comment><comment><USER12> You know who is going to kindly donate the money required for this grand bipartisan plan? Thats right mr. Z. This is the best example of 'put your money where your mouth is'.

Secondarily and importantly Alaska may be conservative but its so far north and so cold that it requires an alternative approach, which is exactly what is going on here. Look at any cold place and you will see initiatives aimed at keeping people from freezing to death. Scandinavia, russia, Canada are similar on this matter. Ideology gets pushed aside when your neighbour cannot keep warm through winter. In the end humans are social animals.

Paying dividends to everyone out of a natural resources fund is of course not the usual 'small government' approach. Not at all, because it is essentially a state owned enterprise in all but name. The usual 'small government' approach would be privatisation: to simply sell the rights to oil to the highest bidder.

</comment><comment><USER13> I'm just leaving this here: [https://www.theguardian.com/commentisfree/2016/feb/28/silico...](https://www.theguardian.com/commentisfree/2016/feb/28/silicon- valley-basic-income)

</comment><comment><USER14> It starts looking like Mark is taking politics seriously. I actually wonder if someone from the valley or the tech world in general could do something radically different to improve peoples lives more than someone who is a traditional politician.

</comment><comment><USER15> Guaranteed employment is probably a better idea.

</comment><comment><USER16> Dispatched from the bubble.

</comment><comment><USER17> People talk about whether or not it can be afforded and then point out the dollar coat of living, taxes and so on. Money is not a real thing, its a construct. Its so complicated that nobody here is going to be able to prove we couldnt afford ubi. But rhat doesnt even matter since money is only a framework we use for our markets and economies. Instead of fussing with money figures, which will never do anything besides confuse people, we can look at concrete things instead. The physical and chemical reality of this world. It is undeniable that because of automation, a complete restructuring of our society will be needed. The only limits in such a reorganization are those of the physical world, not those of our current paradigm. So, how much energy is there to go around? How much food and how many materials? What is the maximum amount of any of those things that we might collectively have? What are the limits of physics for how much energy we can harvest from the sun? That is where the conversation needs to begin. And i think we will all find that even with todays technology there is plenty of everythong to go around.

<comment><USER18> >> even with todays technology there is plenty of everything to go around.

That was probably the case 100 years ago.

But UBI is an economic/political question.

</comment></comment><comment><USER6> A basic income would be perfect for Facebook. The people will be able to sit and consume everything social media while rotting away to obscurity.</comment>


Value of degrees halves in 20 years - <AUTHOR> https://www.telegraph.co.uk/news/2019/10/22/value-degrees-halves-20-years-research-shows-critics-rally-against/ <comment><USER2> Actually, the value of degrees can often go to epsilon in 20 years because of rampant, under-recognized ageism. As one anecdotal example, I worked at a Stanford department within School of Medicine where several full-time employees conspired with a manager to get a lady fired for the crime of being "too old." This was one point among several others that led me to part ways.

If you're at all "old," stay as fit, healthy, energetic and current on skills, training, practices, techniques and make yourself indispensable so that you aren't deemed disposable easily.</comment>


Man faces 13 years in jail for scribbling anti-bank messages in chalk - <AUTHOR> http://topinfopost.com/2013/06/26/man-faces-13-years-in-jail-for-scribbling-anti-bank-messages-in-chalk

<comment><AUTHOR> Please don't use the "prosecutors go for the maximum penalty they can" defence for trivialising this shit.

Even if that was the case, penalties should be suggested proportionally to the crime -- not inflated to scare people.

For one, an inflated penalty makes the person more likely to want to avoid trial and take a plea bargain EVEN if he is innocent. "Should I risk 13 years with a trial or go for 2 years?".

Second, the role of the prosecutor is not to scare people and score points, it's to try to punish a crime appropriately.

Third, the inflated penalty also changes the perception of the judge and the jury, and makes them more likely to take the case as more serious than it is. E.g something that should actually be punished with something like 6 month probation, when inflated to a "13 years in jail" scare, can appear much more serious (and the offender much more dangerous) to the jury.

Who is more likely to be punished with, say, 6 years in jail? Someone for which the prosecutor suggested a 13 year penalty, or someone for which the prosecutor suggested 2 years?

<comment><USER2> Cases like this are corrosive to the legitimacy of the judicial system.

And it seems all of our institutions are suffering from a crisis of legitimacy.

Our justices care not for justice; our law makers are so bought and paid for they should be logo'd up like race cars, and the executive branch... has become everything it said it would fight against during the campaign.

When what's left of the middle class begins to defect from the norms that keep society intact; what then?

Do we flee to the countryside and try to take up farming while being hunted by the landowners drones?

Die in cities torn by strife and insurrection?

Live in fear of debt collectors who can turn any life upside down with an impossible to fight "computer error" not in your favor?

<comment><USER3> _Cases like this are corrosive to the legitimacy of the judicial system._

More like news stories like this are corrosive to the credibility of the media.

<comment><USER4> You have alleged that there are several factual inconsistencies in this story, could you name them for those of us who might be in the dark, or are you just a troll?

<comment><AUTHOR> Worse than a troll, he is a pedant, who, since the books agree with it, and it's "by the books", can't see no deeper fault here...

<comment><USER5> No, the fact that he's not engaging with the argument that you want to have indicates _neither_ (a) that his argument is any less valid _nor_ (b) that he finds no fault in what's happened. The point he's making is _orthogonal_ to yours, is _absolutely_ germane to the story, and your pretense of not knowing that is far closer to trolling than anything he's ever said.

The anti-intellectualism of HN on "Your Rights Online" stories is galling. On threads like these, people often seem to want to be told things that confirm their biases, and get _angry_ when new facts are introduced. You just called 'anigbrowl (of all people) "worse than a troll". You should be embarrassed. But you're not, because the most vocal people on the thread agree with you. In other words, you're a bully. Go to hell.

<comment><AUTHOR> > _No, the fact that he 's not engaging with the argument that you want to > have indicates neither (a) that his argument is any less valid nor (b) that > he finds no fault in what's happened. The point he's making is orthogonal to > yours, is absolutely germane to the story, and your pretense of not knowing > that is far closer to trolling than anything he's ever said._

I'm nearly 40. I don't "troll". I tell it like I see it, whether you agree with it or not. Believe it or not, there ARE people with legitimate totally different opinions than yours or his. To the point that they see the "legalism" expressed in his comments as not only absurd but also insulting to the very notion of justice.

I also find the "trolling" accusations immature and idiotic -- they belong to discussions between teenagers.

I never assume anybody is trolling, just because I don't like their viewpoints -- which is something some people on the internet do a lot. Perhaps the net is the only place where they learned to discuss. Because in actual face to face discussions nobody calls the other a "troll".

> _The anti-intellectualism of HN on "Your Rights Online" stories is galling._

What "anti-intellectualism"? I, for one, am all for Kant, Hegel, Plato and their ilk. Up to good ole Teddy Adorno, Christopher Lasch and George Steiner.

Disagreeing with letter-of-the-law interpretations is not anti- intellectualism. If anything, it's the opposite. It goes contrary to the mechanistic, by-the-books justification of the status quo.

> _You just called 'anigbrowl (of all people) "worse than a troll". You should > be embarrassed. But you're not, because the most vocal people on the thread > agree with you. In other words, you're a bully. Go to hell._

You tell me that "I should be embarrassed" and I should "go to hell" and It's me who is the "bully"? Who the fuck do you think you are?

I called anigbrowl "worse than a troll" in the context of the conversation, in that he was a "pedant". One (troll) is a BS accusation, the other (pedant) is something that seriously screws discussions by focusing on inconsequential details.

You also conveniently sidestepped anigbrowl's constant condescending and mocking comments to me and other commenters in this thread.

Perhaps you identify with such abuse, and his stance of the "wise man, who has to educate the ignorant masses". It's, after all, what you do all the time too.

Before all the NSA leaks you told people, time and again, how it's totally implausible and conspiracy theory to believe they do those kind of things. And mocked them with a "wiser than thou" stance.

You consistently come out as a cold-war patriotic bigot who accepts the official government line hook-line and sinker.

Just a week or so ago, in the thread about Hastings, you mocked people considered a possible foul play on his death, dismissing them as conspiracy freaks, and adding condescendingly that "I only encouraged them".

Then, a few days later, the laters of Hastings with relation to FBI chasing him hit the press.

[http://www.washingtontimes.com/news/2013/jun/24/journalist-m...](http://www.washingtontimes.com/news/2013/jun/24/journalist- michael-hastings-last-email-fbis-invest/)

And we also got this tibbit:

> _Former U.S. National Coordinator for Security, Infrastructure Protection, > and Counter-terrorism Richard Clarke told The Huffington Post that what is > known about the single-vehicle crash is "consistent with a car cyber > attack." Clarke said, "There is reason to believe that intelligence agencies > for major powers" \-- including the United States -- know how to remotely > seize control of a car. "What has been revealed as a result of some research > at universities is that it's relatively easy to hack your way into the > control system of a car, and to do such things as cause acceleration when > the driver doesn't want acceleration, to throw on the brakes when the driver > doesn't want the brakes on, to launch an air bag," Clarke told The > Huffington Post. "You can do some really highly destructive things now, > through hacking a car, and it's not that hard." "So if there were a cyber > attack on the car -- and I'm not saying there was," Clarke added, "I think > whoever did it would probably get away with it."_

Hindsight's a bitch, right?

<comment><USER3> _I called anigbrowl "worse than a troll" in the context of the conversation, in that he was a "pedant". One (troll) is a BS accusation, the other (pedant) is something that seriously screws discussions by focusing on inconsequential details._

Except I don't think they're inconsequential at all, but rather key to understanding why this story is a crock. You started out in this thread with a pre-emptive finger-wagging rant; my suggestion is that you shouldn't dish out criticism if you can't take it.

As for your example of Hastings, the possibility of a conspiracy isn't evidence of a conspiracy. You don't appear to understand the difference.

<comment><AUTHOR> > _Except I don 't think they're inconsequential at all, but rather key to > understanding why this story is a crock. You started out in this thread with > a pre-emptive finger-wagging rant; my suggestion is that you shouldn't dish > out criticism if you can't take it._

Excuse me, I'm the one that can't take criticism? You came with guns blazing against everyone with an opposite opinion (ignorants, etc), focusing on the technicalities but never addressing the larger picture. You even invoked reasons about why the piece should never even be posted (the news outlet violates HN quality criteria, and such), and you even wrote that I should not even be allowed to make an initial comment (in your words, a "pre-emptive rant"). Perhaps you think your criticism is the only valid one, and everything else is the ramblings of idiots.

> _As for your example of Hastings, the possibility of a conspiracy isn 't > evidence of a conspiracy. You don't appear to understand the difference._

I never said it was "evidence". I just said it was an indication -- instead of openly mocking everyone even considering it.

How about the constraint not to put things in my mouth?

I'm also of the opinion that in real life (as opposed to government issued statements), the context, motive and feasibility (not to mention past track record), are good enough to seriously consider the possibility. People expecting "evidence" of such things are naive in the way governments work -- a study in anti-activist and anti-dissident history will give them tons of examples of shameless power abuse by such agencies, from dealing drugs to support Contras, to openly killing dissidents.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Judge Howard Shore told Mr. Olson's attorney to refrain from "mentioning the First Amendment, free speech, free expression, public forum, expressive conduct, or political speech during the trial".

How can you even say that in court and retain your position as a judge?

<comment><USER7> I don't know enough details to actually judge the judge one way or the other, but in theory it would be entirely appropriate for a judge to say this if the first amendment was not relevant to the defendant's guilt or innocence and bringing up the First Amendment would only confuse the jury.

I am not a lawyer, but if the judge was wrong that the First Amendment is not relevant to the crime and the law Olson is being charged under, then the defendant should be able to make that case in appeal (i.e. that the defendant was guilty of the crime, but that it is unconstitutional for this to be a crime).

It is someone of a legal philosophy debate: is the role of a jury simply to return a verdict of guilty or not guilty, or does the jury have the right to decide on the law itself?

In modern legal practice in the US, the law itself is not argued before the jury. What the judge seems to be doing here seems to be standard legal practice.

<comment><USER8> A judge can overrule your right to free speech? By limiting that reference to free speech? Hmmm.... For amendments to constitution I think the closest workaround they get is...

Circumventing the 5th amendment by granting immunity then imposing contempt of court.

Sounds like great grounds for appeal.

<comment><USER9> The judge can rule that freedom of speech is not at issue. There are many well-settled instances in American case law where one's right to freedom of speech may be constrained (usually because it conflicts with the rights of others).

E.g. in this case the accusation is that Olson vandalized BoA for _6 months_ , causing the bank to have to continually pay to have the chalk cleaned off and risking further property damage.

Olson has a free speech right to protest, but that does not mean that he can unilaterally choose means that infringe on the rights of others.

You are right that foreclosing the issue may make great grounds for an appeal though, it's possible an appeal court could rule that the First Amendment _is_ relevant and cause the case to be re-tried.

<comment><USER8> The end was the only point I was making. The person may be guilty of infractions per law.

To not even be able to reference his right to free speech, if it's upheld I'm quite worried.

<comment><USER7> His right to free speech does not change whether or not he committed the crime according to the law (unless the law specifically refers to the right to free speech), so it is a separate issue from what is argued at the initial trial.

If his right to free speech is indeed being violated by applying the law, then modern legal practice does not consider this to be an issue for the jury itself to consider (it is considered in a separate manner, by the judge and by appeal).

</comment></comment></comment></comment></comment></comment><comment><USER10> Previous discussion: [https://news.ycombinator.com/item?id=5948804](https://news.ycombinator.com/item?id=5948804)

Summary: There's really no chance the dude's going to get all 13 years strung out. Hyperbolic writing at best. It's not a free speech issue because he wrote it on private property.

<comment><USER11> Graffiti is a trivial crime, and it's an outrage there would even be the suggestion of a 13 year sentence. The best way to deal with graffiti is to gradually increase the financial cost of doing it each time caught. If it goes beyond financial costs, for example if the person is unable to pay as their fees climb with multiple offenses, then the next punishment should be probation, and then when all else is exhausted jail time. Point being, the last resort for this should be jail time.

It's a classic example of America's aggressive police state in action. One year for this crime would also be outrageous.

<comment><USER12> Graffiti carries a maximum of a one year sentence. See the update from the City Attorney:

1\. This is a graffiti case where the defendant is alleged to have engaged in the conduct on 13 different occasions. The trial judge has already held that, under California law, it is still graffiti even if the material can be removed with water. Most graffiti can be removed. Also, the judge and a different pre- trial judge held that the First Amendment is not a defense to vandalism/graffiti.

2\. The defense is trying to make this case into a political statement, which it is not. This is just one of some 20,000 criminal cases that are referred to us annually by the police department. We have prosecutors who decide whether to issue cases. They are professionals. The City Attorney was not involved in deciding whether to issue this case as is typical practice in prosecution offices for most cases. He hadn't heard of this case until it was in the media.

3\. The defense is whipping up hysteria about the prospect of 13 years in custody. This is not a 13 year custody case. It is a standard graffiti case compounded by the fact that the defendant is alleged to have done it on 13 separate occasions. Because there were 13 different occasions when the defendant allegedly engaged in the conduct, the law requires them to be set out separately in the complaint. This increases the maximum sentence, but it still is a graffiti case and nothing more. The courts routinely hear graffiti cases and handle them appropriately using judicial discretion.

4\. It is not unusual for victims to contact police or prosecutors about a case. Our prosecutors are trained to focus only on their ethical standards in deciding whether to file a case.

5\. We prosecute vandalism and theft cases regardless of who the perpetrator or victim might be. We don't decide, for example, based upon whether we like or dislike banks. That would be wrong under the law and such a practice by law enforcement would change our society in very damaging ways.

<comment><USER13> Most of that is true, but I'm somewhat skeptical of #5. A lot of people write on sidewalks with chalk, and most are not charged with vandalism. I wrote on sidewalks with chalk when I was a kid, and not only on the sidewalks in front of my parents' house. Technically, I got away with a crime. It's not a _huge_ stretch to suspect that the reason for the prosecution in this case is the contents of the chalked message, rather than the mere fact of chalking.

<comment><USER14> Yes, but isn't the sidewalk public property?

Did you ever walk up someone's driveway and scribble on their house?

<comment><USER3> Not in California it isn't. The property owner is responsible for the sidewalk. Fall on a poorly maintained sidewalk, and it's the property owner that you will sue for damages. This is one reason homeowner's insurance is mandatory.

</comment></comment></comment></comment></comment></comment><comment><USER15> The fact that the defendant used "washable chalk" does not make him innocent of vandalism, as some are suggesting.

Chalk can stain the side of a building if repeatedly used in the same place. Washing the building will reduce the chalk to a faint smudge, but restoring the side of the building to its original state before the offending still requires repainting/resurfacing in the same way cleaning spraypaint would.

In regards to limiting the use of the First Amendment - the right of the defendant to express his views have not been violated. The First Amendment has nothing to do with the vandalism charges he faces. He could have expressed his views over a medium that wasn't illegal, allowing him to defend himself via the First Amendment, but then he wouldn't have a need for defence, would he?

<comment><USER16> 13 years wouldn't be reasonable if he wrote it in someone else's blood.

<comment><USER9> As is repeatedly mentioned _every single time_ a legal case hits the HN airwaves, the maximum sentence one might compose by sequentially stacking maximum penalties for all charges is not the sentence that is anywhere close to possibly being handed down for real.

From one of anigbrowl's comments on here: " The maximum penalty for vandalism in California (which is what this case is about) is 3 years. It isn't possible to get a 13 year sentence for vandalism in California. In fact, since the defendant has no previous convictions for vandalism that I'm aware of I'm pretty sure the maximum penalty that can be imposed under CA law (CA PC 640.5/6) is community service and a $1000 fine. "

[https://news.ycombinator.com/item?id=5956128](https://news.ycombinator.com/item?id=5956128)

<comment><USER17> Then what's the point of threatening something that draconian? Pure habit?

<comment><USER18> If he ran 13 red lights he'd be assessed the penalty 13 times for that, too. I'm not sure why the number of charges multiplied by the penalty would be draconian. That's just arithmetic. Luckily, the legal system in the USA is flexible and he will just get a small fine and community service.

<comment><USER19> I think you are missing the context of the question (mpyne's comment). If the max that will logically be handed down is way below the summed offenses, why is it being used? It seems like it's a threatening tactic and yes, draconian.

<comment><USER18> But how else would you do it? You still have to let the guy know what the max sentence could be, whether it seems threatening or not.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> This is shameful..

I've been caught by cops twice with chalk. In Berlin I drew a silly heart flying above clouds. at night while talking on the phone and paying zero attention to anything else for like an hour, as somone taps me on the shoulder and says "don't be scared, plainclothes police". I told them what it was and that it was chalk, one tested it with his finger, and then when I took a photo of it he even said "oops sorry" for having smeared it a little before I could take that photo. Friendly doesn't even come close to describe it, it was unreal. They said I should wash it off, because if it was still there the next day, the owner might complain to them and then they would have to act. They also asked why I did it, I truthfully answered "heartache", they wished me good luck and we parted with ^_^ faces.

The second time was in South Germany, in a rather rich little town, where I basically attempted to fill out with chalk a red heart outline someone else had sprayed there (onto a the wall of a small bank, too). They were all "well well well, look what we have here", and even took my chalk to "send it to the state attorney's office for analysis". But 1-2 hours later they called me up and asked the same thing the Berlin cops asked of me: just wash it off and it never happened. I guess they realized that in this case it just wasn't worth the paper work, or needlessly mean - but their first instinct was of the stereotypical bored police who found someone they could have authority over.

I get that a heart is different than words (though it really depends on the words, doesn't it). But still. It's chalk... CHALK! Is it a wonder we can't have nice things, when people are afraid of chalk more than of locking someone up? Seriously, wat? Even the silliest Javascript quirks make perfect sense in comparison.

And to think, I actually tried to encourage others, for a while I was convinced everybody should carry chalk with them and paint little things everywhere. Oh well, _don 't try this in police states_ I guess. Oh, I know, people like to say it's not their decision, it's the law, yadda-yadda, but that's just not true:

 _Criminals do not die by the hands of the law. They die by the hands of other men._ \--- George Bernard Shaw

The same goes for rather innocent people, and prison or fines instead of death. Saying it's okay per definition because it's on the law books doesn't make it okay, it makes you a you-know-what.

<comment><USER3> Don't rely on this poorly-reported story for your facts, and definitely not for your legal information.

<comment><USER17> Thanks for your concern, but I prefer to rely on paying attention to the world I live in for my guesstimates. It's so much nicer than not seeing the woods for all the trees.

Don't rely on drive-by one-liners that point out some random point at best to be anything but transparent. If you have any additional facts, what are they? If you don't, what is this?

I made experiences with chalk and cops that have actual criminals to catch, and cops that have big fat property and malls to patrol. Anecdotal, yes, random, maybe, but still mostly for those who get the point, or have experiences of their own to contribute; anything more than just cheap shots from cheap seats to stifle discussion you don't like to see others having.

What legal claims did I even make? What exactly is that supposed to be a response to?

<comment><USER3> Read my other posts to this thread, and to the other thread. I'm sick of correcting the same basic factual errors over and over for people too lazy to do it themselves.

</comment></comment></comment></comment><comment><USER20> Judge Howard H. Shore :

[http://www.sandiego.courts.ca.gov/portal/about/depts/sd15.ht...](http://www.sandiego.courts.ca.gov/portal/about/depts/sd15.html)

[http://www.sandiego.edu/law/academics/faculty/bio.php?ID=663](http://www.sandiego.edu/law/academics/faculty/bio.php?ID=663)

[http://www.martindale.com/Howard-H- Shore/220226-lawyer.htm](http://www.martindale.com/Howard-H- Shore/220226-lawyer.htm)

This previous case will tell you exactly where he stands on those "hippie types" he despises.

[http://www.safeaccessnow.org/article.php?id=6128](http://www.safeaccessnow.org/article.php?id=6128)

This man is an affront to justice.

<comment><USER3> No, it doesn't tell you anything like that. It won't tell you much about the law either, considering that they don't even bother to cite the case in question so people could read the documents for themselves. It's a press release, not an objective report.

Now, I have got up in front of a city planning commission to advocate for medical marijuana clinics (which were subsequently approved). I'm heartily in favor of medical marijuana. But if you have an amount of marijuana growing on your property that exceeds the amount you are allowed to grow for medical purposes, then you can't rely on the medical defense as a matter of law. That's why smart marijuana growers take the advice of their lawyers and establish a growing cooperative which allows them to pool their legal growing allocation in a shared facility.

There are rules about how much pot you can grow for medical purposes, just like there are rules about how you can sell alcohol and tobacco. If you ignore those rules then you're liable to get fined or even jailed. You can't break the rules and then invoke those same rules as part of your defense - this is criminal law 101.

Rather than him being an affront to justice, it's you who have no understanding of how criminal law operates.

</comment></comment><comment><USER21> What he did was wrong, but the punishment is not right. We know how the saying goes.

The appropriate punishment would have been to force him to clean the chalk off.

That's also the appropriate punishment for any vandalism. A written apology and reparations for the vandalized property.

What I don't agree with is the idea that using chalk makes it "not vandalism" \-- it still is vandalism. The punishment is absurd, though. Obviously BOA has heavy influence over the authorities in this case.

</comment><comment><USER22> Is the United States becoming less free, or has the US always been like this and I'm just noticing now?

</comment><comment><USER23> So just to be clear...the constitution only applies when permitted by a given piece legislation? Strange.

<comment><USER24> The 1st amendment has never applied to disagreements between two private parties, but rather between one party and the Unites State government.

So, yes, the constitution applies only when permitted by it's own words.

</comment></comment><comment><USER25> Tonio K said "you never tangle with the ruling class unless you;re prepared to take it..."

</comment><comment><USER26> Falling Down anyone?

</comment><comment><USER27> Romani ite domum

</comment><comment><USER28> America: The Land of the free. :) :)

</comment><comment><USER29> So he's such a danger to society that he needs to be put in prison for 13 years? God forbids he might be involved in another protest against the banks in the future!

</comment><comment><USER30> Oh for shame! This was debunked on reddit before it was even submitted here. :/

</comment><comment><USER31> "Russia warns Obama: Monsanto" is another story on the site and a huge issue that's be overshadowed by the NSA fiasco.

<comment><USER32> You mean this? [http://www.snopes.com/politics/conspiracy/monsanto.asp](http://www.snopes.com/politics/conspiracy/monsanto.asp)</comment></comment>


Bay Area family's quest to create a backyard container home - <AUTHOR> http://www.sfchronicle.com/business/networth/article/Bay-Area-family-s-arduous-quest-to-create-a-12532333.php <comment><USER2> I really do not understand the appeal of shipping containers as houses.

We already have _several_ industries around "containerized" homes. There are pre-fab houses, there are RVs, and there are "mobile homes".

Shipping container as a home just seems like function trying to follow form. Shipping containers looks industrial-cool, but from everything I have ever been able to find on them, they make _terrible_ houses.

<comment><USER3> I agree, this type of solution is 'trendy' and 'innovative', but is not a real solution to the Bay Area's housing problem.

We do not have a space or money problem, we have a legislative one. Building height limits, NIMBYs and other laws affect how many homes are built. We have plenty of space in the sky to build 12+ story buildings for housing, but we don't.

<comment> racer-v This is true, and not without good reasons. In places where long-term residents have enough financial and political clout to control their own neighborhoods, they almost universally want to keep density low for better (perceived) quality of life. Visit Palo Alto: the downtown looks like it hasn't changed since the 70's.

</comment></comment></comment><comment><USER4> As someone that has spent time in an office built out of shipping containers, my view is that they are great for shipping but not living in.

Experienced it both in summer and winter months. Both completely sub-optimal. Because you have poor air circulation and walls are completely air and water tight, your microclimate depends on your HVAC system completely. Too few or too many people in the room and everything changes, temperature goes out of whack, humidity, etc.

We ended up constantly opening and closing windows in the winter and turning AC on and off full blast in summer. This is in Central Europe, so not the hottest or clodest climate out there.

<comment><USER5> Is it just because the volume is too small or it's due to the material? Can some breathable membrane ports be installed?

<comment><USER4> It's all material - the offices were quite spacious if a bit low on ceiling height.

If parts of the container walls were redone to allow more circulation it would be a lot more livable.

I also only spent two work weeks at a time, about 10 hours per day, in that setup. I suspect actually living in one would create additional issues with managing moisture, smells and temp.

</comment></comment></comment><comment><USER6> Summary: 1 year and $300k to put a metal container in your back yard.

</comment><comment><USER7> > container homes are not necessarily cheaper than traditional construction, > they're quicker to install and don't require general contractor

> They needed a boundary survey and a geotechnical study. To called about 50 > companies for each

> He called 20 companies to pour the foundation

> Because the home is in a flood zone, he had to get two elevation > certificates totaling

> In addition, the Tos owed Menlo Park $8,985 for a permit, plan reviews, > inspections, a geologist, a "technology surcharge" and other fees.

> They also had to pay $2,227 in impact fees to their elementary and high > school districts.

> It was like "death by 5,000 paper cuts," To said.

Umm, regular homes don't need a general contractor either -- if you find and hire all the sub-contractors directly.

</comment><comment><USER8> He is a design director at Google with entrepreneur track records. I'd imagine he is pulling in $500k in total comp, so I guess he isn't doing this because he can't afford a proper house.

<comment><USER9> Container homes are actually more expensive than a similar home built with a wood frame.

<comment><USER10> It's a marginal difference, but you're not wrong. I don't think it would matter in this instance though.

</comment></comment></comment><comment><USER11> > The city also made them demolish shelving and a wall the home's previous > owners had put in the garage without a permit.

Seriously?

<comment><USER12> Can't build stuff without permits.

<comment><USER13> Fucking shelving? This what happens when regulatory capture goes wild.

<comment><USER14> Likely the issue was that the garage was being used as a living space and they are down-playing the issue and just saying shelves needed to be removed. Nobody in the area actually parks their car in their garage :) Ours is bike storage/server room/gym, and has built-in countertops and cabinets. The floor is carpeted, the ceiling is finished, and even the attic above it is carpeted and lit.

<comment><USER15> That still sounds like what happens when regulatory capture goes wild.

</comment></comment></comment></comment></comment><comment><USER16> Allowing people to put in-law units in their backyard seems like a good move in the short term (to increase supply), but also seems like it might cause problems in the long term: NIMBYs are then _even more_ incentivized to prevent new housing because they're making a killing off the overpriced shipping container in their backyard.

<comment><USER14> Plus parking issues, plus...

</comment></comment><comment><USER17> i spend a lot of time looking at alternative housing and i must say that container homes are complete and utter bull shit. its a stupid fad that is fueled by idiots.

containers are expensive. just transporting a container is already a losing proposition because you are transporting a mass of steel in the form of a large empty box. so you lose on getting your materials transported. its more expensive than just buying an equivalent amount of steel and building it into a house.

containers are extraordinarily poorly suited for making houses. if you want any windows at all, you need to heavily modify the container, reinforcing and welding and all together going through enough trouble that you might as well just make the whole thing from scratch. the entire container-home movement is completely retarded -- its like watching solar roadways again. a massive group of people who are totally liberated from critical thought. container homes are stupid. they are a pollutant in the alternative housing scene. stop making them.

</comment><comment><USER18> $20k just in fees before they could even pour the foundation...

</comment><comment><USER19> Looks like the cost is reasonable for the bay area

[http://www.themiyoung.com/single-post/2016/11/03/The- Guide-C...](http://www.themiyoung.com/single-post/2016/11/03/The-Guide-Costs- of-Home-building-in-Silicon-Valley)

</comment><comment><USER20> > _They needed a boundary survey ($2,475) and a geotechnical study ($2,670). > To called about 50 companies for each before he found ones willing to do > it._

Why is it so difficult to find someone willing to do a _survey_?

</comment><comment><USER21> Can someone help me out on the missing pieces here, whats the average construction cost of a regular home in the US ? In Australia a single storey 180m2 home which is just under 2000 ft2 would run for approximately $200k AUD. That works out to be $1100 per square meter or a little over $100 AUD or $80 USD per square foot. The article is stating around $300 USD per square foot, this seems astronomically expensive.

<comment><USER22> AU$200k? 180m2? It won't be a good quality house.

<comment><USER23> That's a reasonable cost for building a decent quality single story brick-and- tile house in Perth, Australia.

Here's one of a similar size for $190k: [https://media.dalealcock.com.au/deals1/](https://media.dalealcock.com.au/deals1/)

<comment><USER24> I was astonished as the ease of building houses in Perth when I visited recently.

Since its all sand, digging and compacting your foundations is ridiculously easy, and typically getting out of the ground is the riskiest part of building a new home.

Then pick a off the shelf house design which is simple brick and tile, so there's no gotchas during construction.

I can well believe these costs.

</comment></comment></comment></comment><comment><USER25> There's someone building a huge one not far from where I live in the Ozarks in SW Missouri. It's at least 4 containers high and a few dozens of containers were used to build it.

The last time I saw it (a few months ago) they were finishing off the exterior and it was stunningly beautiful. You'd not know it was built with containers from an outside view.

</comment><comment><USER14> Whoa, cool-- I bike by this house every day on my way to work. Saw the containers and cranes coming in, googled the company, etc. It took several days of various components (truck, containers, etc) parked in the street before they were done.

</comment><comment><USER26> Really off-topic, but the logo at the beginning of the video for the Blocks project (B made out of a rectangle and two circles) is totally indistinguishable from the logo of the skateboarding company Plan B

</comment><comment><USER27> everything in housing is codified around the naive technology of early 20th century America homebuilding - mostly bespoke wood frame structures. Try something different and you will have to pay up for special consideration, mostly so that everyone up and down the approval/work chain can contractually cover their liability without having to think too hard about it.

</comment><comment><USER28> Bah..thought this was an article about Docker.

</comment><comment><USER29> That has got to the be the most expensive dog house ever!

</comment><comment><USER30> why does every promo video of anything out of the valley have to include this universal inspirational soft rock music? please, stop marketing everything like a surf board, change your music tastes, go spend time in transylvania.

<comment><USER31> Have you ever been to the area? It's not a soundtrack, that's just what it sounds like here. There's always a gently strummed guitar flowing out of a watery amp somewhere off in the distance.</comment></comment>


The road to 1.0: production ready PyTorch - <AUTHOR> https://pytorch.org/2018/05/02/road-to-1.0.html <comment><USER2> See also on code.facebook.com: [https://code.facebook.com/posts/172423326753505/announcing-p...](https://code.facebook.com/posts/172423326753505/announcing- pytorch-1-0-for-both-research-and-production/)</comment>


Espnet/espnet: End-To-End Speech Processing Toolkit - <AUTHOR> https://github.com/espnet/espnet <comment><USER2> For those of us who are not speech processing experts, what does this toolkit allow someone who invests the time to achieve?

A personal pet peeve of mine is project READMEs that project an implicit "if you're reading this, you already know what it's for" voice.

What behaviour or previous technology does this replace? What other packages could I compare it to? Is this exciting for a reason that other end-to-end speech processing toolkits are not?

Throw us a bone.

<comment><USER3> Agreed, sell people on it - including the noobs.

</comment></comment><comment><USER4> Just to put those WER numbers into context: the LF-MMI Kaldi paper from 2016 had 4.28%, this readme mentions 7.1%.

Still, looks cool!

<comment><USER4> Erg too late to edit but I meant to say this was on LibriSpeech

</comment></comment><comment><USER5> How long to get this thing running? Is it usable for end-users?</comment>


Why Incompetence Spreads Through Big Organisations - <AUTHOR> http://www.technologyreview.com/blog/arxiv/23800/ <comment><USER2> This is about a (rather bad, I think) paper investigating a _really extreme_ version of the Peter principle: what happens if competence at one level is _totally uncorrelated_ with competence at the level below? In that situation, duh, it turns out that you want to promote the worst-performing people. (Because they'll do just as well after promotion as the best-performing people, by hypothesis, but promoting them out of the lower level makes things better at that level.)

The paper takes a purely empirical approach (simulate an organization with given performance characteristics and promotion rules, and see how well it does according to an ad hod measure), and it doesn't even seem that its authors have understood why it's obvious that under what they call the "Peter hypothesis" -- which is not in fact quite the hypothesis Laurence Peter made, and neither is their version of the Peter principle correct -- promoting the worst performers is best.

The paper also considers a "Common Sense Hypothesis", namely that competence at different levels is strongly correlated. Unsurprisingly, the authors find that promoting the best performers works then.

Of course, reality probably doesn't quite match either the overoptimistic "common sense hypothesis" or the overpessimistic "Peter hypothesis". The authors apparently think that a good way to deal with this is to ask what minimizes your worst-case losses if you know that one of those hypotheses holds but don't know which. So they recommend either promoting at random, or alternating between promoting the best performer and promoting the worst performer.

It might be interesting to do a study like theirs using more realistic models of employee performance at different levels of the hierarchy, but I don't see much value in what they've done.

(Let me speculate mischievously that the authors are probably quite good at what they mostly do for a living; perhaps the apparent lack of correlation between that and their success in investigating the Peter principle is itself evidence for their version of the "Peter hypothesis"...)

<comment><USER3> I think the basic problem has more to do with the inability to verify how competent someone is. In the real world I suspect the ability to fake competence is often what is promoted to the highest levels.

But, let's assume each level is independent on every other level and higher levels are also more important. Now how do you promote people? Well find a general measure of how good people are at anything let's call it "g" and then promote people based on that. You are probably thinking that's not fair. Which I think is the real reason people get promoted. If you dangle the possibility of promotion you get people to keep working for a lower immediate reward in the hopes that they will end up being promoted.

So promoting people based on competence at their current job might just be a carrot to keep people working hard for lower rewards.

<comment><USER4> _I think the basic problem has more to do with the inability to verify how competent someone is. In the real world I suspect the ability to fake competence is often what is promoted to the highest levels._

Not so much as an inability to verify, as it is an ability to fake, then.

A sword can still cut a man fatally. But on the modern battlefield, no soldier is going to let you get close enough to use it.

In other words, the system is going to be gamed. Only systems that are robust against gaming will succeed. Systems which can exploit the gaming will thrive. (Perhaps Digg and Reddit are examples of this?)

</comment></comment></comment><comment><USER5> The company that I work in starts giving you responsibilities from the next level without a promotion and you only get promoted if you have completed 1 year of performing the next level responsibilities _well_.

</comment><comment><USER6> "Sorry John, we can't promote you. You're just too good at what you do."

It would have been far more interesting to investigate alternative structures for large organizations. And in terms of strict hierarchical systems, the omission of a consideration of the military is rather glaring.

</comment><comment><USER7> How about training people in the skills they will require for their new position?

<comment><USER8> Training can change the wiring of someone's brain as much as swimming classes can turn people into fish.

</comment></comment><comment><USER9> This is especially true in technology companies, where the people skills needed in managers are generally not those possessed by the most high performing leaf nodes (who may tend towards dweebery. You know who you are).

</comment><comment><USER10> Could be due to <http://en.wikipedia.org/wiki/Pareto_principle>

</comment><comment><USER11> Society is hierarchcal. It is even more interesting to apply the suggested methods to pick a president in USA.

<comment><USER9> In what way is society hierarchical?

Hierarchy is generally a poor way to organize things, unless you happen to need to fill space (which is how nature uses it). If you arrive at hierarchy as a solution to a problem, you have most likely misunderstood your problem.

<comment><USER11> Most of organizations in our society have hierarchical structure. The goverment, military, academic, enterprise show you the hierarchical traits in position titles. The pyramid is necessary for managing responsibilities and decision making. Social stratification is normal to all societies to some extend.

<comment><USER12> > The pyramid is necessary for managing responsibilities and decision making.

It's actually _one way_ of making decisions and managing responsibilities. It's likely the most common because it evolved from the manufacturing-era model (think Henry Ford making cars). Ford's model evolved from looking at the military.

Ford has a famous line - "Why is it every time I ask for a pair of hands, they come with a brain attached?"

It's possible that a pair of hands that took direction would be ideal in Ford's system (though I doubt it - Honda's done much better by actually harnessing the brains connected with the pairs of hands). But that hierarchical model is counterproductive in today's knowledge and networked economy: you _want_ to use the resources and knowledge at all levels of your company, and that way you do that is by decentralizing authority and decision- making power to the edges.

Look at the open-source model of building software; it's pretty damn far from hierarchical, and it's at least as successful at creating value compared with the more hierarchical model most software companies use.

<comment><USER11> No doubts that open source model creates vast value to software industry, but that model is distributed only in terms of the big picture. If you look at a specific open source project, it's probably still organized in a hierarchical way. It still needs a leader to do the high level design and decide direction. New commers still need to climb the ladder - by contributing to the project - to a point before they can significantly affect the project.

</comment></comment></comment></comment></comment><comment><USER13> thats the exact definition of the "Pewter Principle" <http://en.wikipedia.org/wiki/Peter_Principle> Everyone are promoted to their level of incompetence. If you are good at something, you'll get promoted until you are not that good anymore (i.e. its 'too big' for your skills)

in other workd (wikipedia): "anything that works will be used in progressively more challenging applications until it fails. "</comment>


Evelyn Berezin, Computer Scientist Behind First Word Processor, Dies at 93 - <AUTHOR> https://text.npr.org/s.php?sId=676024428 <comment><AUTHOR> Oh, there's a better article here: [https://www.bbc.co.uk/news/technology-46539934](https://www.bbc.co.uk/news/technology-46539934)</comment>


Thai cave rescue ideas community repository - <AUTHOR> https://github.com/danfickle/thai_cave_rescue_ideas <comment><USER2> I'm having trouble understanding why this is so difficult. I get they can't swim but... strap on a mask and get dragged out by divers, one by one.

Easier (and definitely less claustrophobic) than Musk's tin cigar idea, doesn't require any additional equipment...</comment>


The solar powered LED-bulb - <AUTHOR> http://nokero.com/index.php

<comment><USER2> $15 for a bulb? This is just business men tapping into environmentalism.

<comment><USER3> And solar cells, and battery, and possibly a bit of electronics ...</comment></comment>