skysight-inc/HackerNews huggingface dataset:
virtio-rng has been around since 2013. If a hypervisor doesn't support passing through entropy, then it's broken. Period.

Entropy accounting can't fix the underling problems here, all they do is obscure and confuse. Hypothetically and in a very technical sense, they can be useful and even necessary. But in practice they simply have no place outside of the actual hardware-based entropy generating devices. If you can't quickly seed yourself with 32[1] bytes of cryptographically strong entropy, then you're screwed, period. Blocking doesn't improve security, it just induces people and developers to implement awkward workarounds with the net effect of drastically reducing security.

When Linux added the getrandom syscall they should have dropped support for blocking. It was patterned after OpenBSD getentropy, which doesn't block; neither did Linux' long deprecated sysctl() random UUID mechanism that many programs once relied upon (like Tor). But they, and Ts'o in particular, seem unable to resist the siren call of entropy guesstimation.

[1] Even 16 bytes is enough to seed the system pool for an indefinite period, at least relative to a system without a strong hardware RNG. And that's the point. There are reasons for why a component might need ongoing sources of strong entropy, but if a system can't even provide 16-32 bytes at boot then those arguments are purely hypothetical because there clearly aren't sources of strong entropy available, anyhow. But if those sources are available, then it's ridiculous to think they can be "depleted" as a practical matter. If the CSPRNG pooling functions are broken, then all modern cryptography is broken, so you gain nothing with the convoluted semantics of Linux's traditional /dev/random machinations.
> Making countries recognize dejure sovereignty is only "bullying" if you drank too much US koolaid. ... But US circumventing UN resolutions is nothing unexpected.

I honestly don't understand why US whataboutism comes up in every China thread. I have no relation to the US, and we hardly drink their koolaid here in Germany.

Cold hard cash already rules most of the world, including the UN (Saudi Arabia on the Human Rights Council, anyone?). That doesn't mean we have to accelerate this trend for the sake of consistency.
Why do you trust Intel less then any other hardware RNG you might have? Do you trust the one in the TPM? Or do you just not trust hardware to collect entropy?
Neither of them are fantastic but I find Halt and Catch Fire has more nostalgia value and better characters.
Apparently most of the SHA1 hashes of haveibeenpwned passwords were cracked about a year ago:

https://blog.cynosureprime.com/2017/08/320-million-hashes-ex...

I wonder if segments of the list are around to create a password-blacklist

edit: previous discussion https://news.ycombinator.com/item?id=16799826
The overview of the Kubernetes control plane (API server, controller manager, scheduler and etcd) in this article is completely incorrect. In reality, only API server connects to etcd and all other components talk to the API server to do their job.

For example, if the controller manager, by talking to the API server, finds out that the number of running pods is not equal to the number requested in a ReplicaSet, it will create new pods to satisfy that request. The scheduler will notice (through the API server) that these new pods are pending and will try to schedule them to a node. The Kubelet, running on that node and connected to the API server, then notices that it is supposed to run this new pod and starts it. All of this is based on reconcilation towards some desired state.
> I think it's fair to point out that often they don't have a choice with those shows as the owners of the properties are jacking up the price in order to move to their own streaming services.

An alternative way to phrase this would be that the owners have realized that the streaming rights for their properties are worth a lot more than Netflix was paying for them.
Margaret Hamilton: ‘They worried that the men might rebel. They didn’t’
That's true for streaming only, and with a few exceptions.
My name is Ryan Greene from Illinois and i want to recommend jackcraigcreditrepairer@gmail.com he is the best hacker i have ever come in contact with, i never believed he could help me build up my credit score to 830 Excellent score and a permanent one. I really want to say a big thank you to Jack Craig for doing me a great and smooth job, and for not taking my money like some other fake hackers out there without doing nothing. Feel free to contact him anytime on his number also: +14135294026 you wont regret hiring him.
For those who don't know, hygienic macros are ones that avoid variable name collision. An example below from https://www.geeksforgeeks.org/hygienic-macros-introduction/

// C program to illustrate a situation known as

// accidental capture of identifiers - an

// undesirable result caused by unhygienic macros

#define INCI(i) do { int x = 0; ++i; } while(0)

int main(void)
{
int x = 4, y = 8;

// macro called first time
INCI(x);

// macro called second time
INCI(y);

printf("x = %d, b = %d\n", x, y);
return 0;
}
Just my small opinion, but Mr. Robot is head and shoulders above Halt and Catch Fire. Although, I love the opening credits for Halt.
After reading this and researching the state of open source diabetes care, it's quite disappointing to see there isn't any work being done on open hardware insulin pumps and instead are relying on insecure old existing pumps to make this work.
> The OpenBSD folks also appear to trust RDRANG, which would help not blocking. But I disagree with that trust decision.

It feeds the entropy pool, mixed in with many sources. OpenBSD also feeds in data from the AMD CCP as well. The point is it doesn't matter.

https://man.openbsd.org/ccp

And anyone running "echo badapples > /dev/random" in a loop, it still doesn't matter.

https://man.openbsd.org/random.4

https://man.openbsd.org/arc4random.9

> How does OpenBSD guarantee that this file exists, though?

If you keep reading, OpenBSD's random subsystem always mixes old with new data from many sources. If the random.seed file is not available (for example, boot media), it is not fatal. There is a warning displayed. But the system rc(8) scripts handle creating the seed file at both boot and shutdown.

https://www.openbsd.org/papers/hackfest2014-arc4random/mgp00...
Applicatives still contain lambdas in the same sense that monads do, no?
This kind of thing is motivated reasoning. Elon is guilty of it too. They want to play with space technology, then go searching for moral justifications that don’t add up.

Anything we might do in space or to try to live on Mars is much-much (much) more difficult than fixing what problems we have on Earth to keep it healthy and habitable. These people would be better spending money here if they really cared.
"Quality entropy isn't a hard ask, at least not for anything typically running OpenSSH or other server software. Intel has RDRAND, and even where AMD's RDRAND is broken their PSP coprocessors provide an entropy function."

I'm not a fan of trusting closed hardware for randomness.
I second this. F-strings make string formatting so much more concise. I'm excited about the walrus operator for the same reason.
The goal isn't to save "a large percentage of the world's population"...
Suppose you have a function that looks like this:

void f(int a[], size_t len) {
size_t i=0;
while(1) {
int val = a[i++];
if(i > len) break;
do_something(val);
}
}

You would expect for this code to call do_something() for the first len values in a[], which will be the result on a lot of compilers.

But suppose the true length of a[] is exactly equal to len, and the compiler is aware of that. Then when i is greater than or equal to len, reading a[i] is undefined behavior. That means that either the bounds check is always false and can be elided, or it isn't false which means there is undefined behavior that allows the compiler to do anything it wants, and maybe what it wants is to elide the bounds check as an optimization. So it does and the compiled code will keep executing do_something() on every value in memory after a[].

The code is wrong, but not in a way which is intuitively obvious, and not in way that compilers had historically taken advantage of to such deleterious effect. And you can't figure that out by looking at the compiler output for a compiler that doesn't take that optimization.
I didn't watch Marco Polo, so I hope it didn't leave you on a cliff hanger, but I would look at it as a good thing.

I feel like a majority of shows in the U.K. tend to only go for a few seasons then stop. Compare that to typical shows in the U.S. getting beaten to death, having most viewers think the show might have gone one season too long.

That could mean the stories are written to wrap up mostly nicely, instead of leaving cliff hangers to lead to the potential next season.

Compare Weeds (8 Seasons) to Breaking Bad (5 Seasons), B.B was written to not drag on forever. The recent GoT season finale, where lots of fans went a bit overboard with their reactions when the show runners ran out of their own original ideas. LOST, anyone?

My best example is looking at Black Mirror. When that was mainly for a U.K. audience the first two seasons could have ended and that would have been the best two season show. Netflix did swoop in and that gave us White Christmas(?), but the show has definitely been tailored to American audiences and maybe the premise is being drawn out too much at this point. Don't get me wrong, I love me some more Black Mirror or any of the other shows listed above, but sometimes a story needs to end even if it means its shorter than you expected.
The trend is to attack both the family and having babies—unless you're a minority.
This has never felt like a Pythonic principle to me. Python has always seemed like a high-level language that enables dense code. Look at the docs for list comprehensions! https://docs.python.org/2/tutorial/datastructures.html#list-...

A lot of folks see Go as a Python successor which surprises me because I don't think the languages favor the same things at all. Maybe my perspective is weird.
If you complained more specifically it would be possible to discuss. For what was described in article I don't see anything "foreign". Python was always about increasing code readability and those improvements are aligning well with this philosophy.
That's not a bad thing, but it means that you can't help the economy without helping the party. It's either both or neither.
Covering a point not covered by my earlier reply:

> I assume you're arguing that selective breeding is the same thing as GMO.

This seems to be just repeating the mistake pointed out upthread; no, current agricultural productivity is not a result of selective breeding alone without transgenic technology; GMOs are a real and significant thing in current agriculture, and part off what the current food productivity is built on.
Isn't that the user's and the SSH devs' problem? SSH can just wait for new randomness if it sees that as a risk when generating keys. Key generation is already slow anyway. Why is systemd trying so hard to "fix" a problem that might by some chance come up in SSH during the first minute of the the first boot after an improper disk clone? Especially with the currently proposed solutions it seems like such a crazy way to attack somebody else's problem...
I was there at the end of June- it's pretty spectacular. We arrived on a Friday morning at 7am to beat the heat, and we were the only tourists on site at all.

Extremely surreal to go down in to the middle of an engineering marvel that large, and I couldn't believe that I was alone inside of it.
They typically leave enough room to stop for their estimate of how long it would take the car in front of them to stop + the distance to that car. That initial estimate does NOT assume the car in front of them will stop instantaneously obviously.

While this usually will be fine, there are definitely issues when something stationary does pop up.

While caravan-ing to Yellowstone with 3 vehicles, all traveling in the center lane of the freeway, we encountered a small car with a passed out passenger in the middle lane. My bro-in-law swerved with some room to spare, immediately behind him I swerved with basically zero room to spare, and my father behind me (luckily for them in a Suburban, but bad for the man in the VW) had no chance- I was immediately looking in my back mirror knowing what I was going to see.

There is a decent likelihood that a machine could have swerved in time, but nearly zero that a typical human could/would have in our typical following patterns.

Humans route around inefficient practices. Just as human driving speeds are typically unaffected by posted traffic speeds, they will optimize for their typical experience over written codes for how they drive.
This is actually a much more responsible way to go about it than the event-stream issue, since it is being done in a public forum (Github issues). Event-stream was given away over an Email without an announcement [0].

Of course, the risks are still there for malicious takeover, but I think will be minimized due to the owner's notoriety and the amount of press this has already seen just on GitHub. I am pretty sure the maintainers of Pip will be keeping an eye on this over the next few months in case of intervening.

[0] https://github.com/dominictarr/event-stream/issues/116#issue...
> I collect all the documents that the government and I both have

Our tax system is terrible and convoluted, but this statement is not actually correct. In may cases you get copies of tax forms from businesses before the IRS has processed the business return, possibly before the business return has even been submitted. Business and personal returns are processed in parallel and cannot be reconciled against each other until they have all been done. That's why audits almost always have at least one tax year of lag, because that's how long it takes to get through everything. Filing extensions make the process even worse.
At that point you've already evaluated it and can't recover the original program - you're serializing the result of interpretation, not the computation to be interpreted. Since that computation might contain arbitrary functions, the only way to serialize that would be if you had a way of serializing arbitrary functions.
There are several teams working on distributed GraphBLAS (the GraphBLAS/D4M model was designed to run on supercomputers [0]). Kepner's team at MIT is one [1].

NB: D4M was the original name before it was changed to GraphBLAS and became a standard.

[0] GraphBLAS: Building Blocks For High Performance Graph Analytics https://crd.lbl.gov/news-and-publications/news/2017/graphbla...

[1] A Billion Updates per Second Using 30,000 Hierarchical In-Memory D4M Databases https://arxiv.org/abs/1902.00846

http://www.mit.edu/~kepner/
“I've come up with a set of rules that describe our reactions to technologies:

1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.

2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.

3. Anything invented after you're thirty-five is against the natural order of things.”

― Douglas Adams, The Salmon of Doubt
I love f-strings. I just wish tools like pylint would shut up when I pass f-strings to the logging module. I as the developer understand and accept the extra nanosecond of processor time to parse the string that might not be logged anywhere!
Painted-on salt provides glowing thermometer for tiny things
So how did Rust handle the case of a function that may return an error or nothing? Can you forget to check the error, or does it force you to explicitly handle it in some way?

I understand how Result forces you to handle the possibility of an error when you want to access the actual return value, but I don't know what happens if you aren't planning on accessing the return.

I'm also curious how Result-based error handling composes. For example, if I want to sort a list of structs where my comparison function may fail, can I use the built-in sort function, and still get any error that may have occurred back?

With (unchecked) exceptions, this is trivially easy - the sort() function doesn't need to be aware of exceptions in order for them to be propagated through it. With checked exceptions in Java, you need to go through a little dance of wrapping and unwrapping, but it can still be done. If I understand correctly, in Haskell this can be done with the Either monad and liftM, though I can't claim to understand the specifics.

Is there a Rust solution?
They don’t need to drive perfectly. They only need to drive better than your average human.
Traffic lights are automated. They detect how many cars are waiting to know when to change, they adjust their cycle length depending on time of day, etc., they synchronise along long roads so people generally get a string of green lights.

What do you mean?
It's the most controversial feature ever introduced because it goes against a lot of python culture and philosophy.

All in all the debate has been heated and long, but it has been decided that the python community will use it intelligently and rarely, but that when it matters, it can help a lot.

I'm against this feature, while I was pro f-string. However, I'm not too worried about missuse and cultural shift because I've seen 15 years of this show going on and I'm confident on it's going to be indeed tagged as "risky, use it knowing the cost" by everybody by the time 3.8 gets mainstream.
ReachNow Ending Service Today
Same. Death Love and robots, mind hunter, kingdom, and so on. Why would I waste my time watching this. I'm surprised it is still a thing.
I support your view, but want to make you aware that early unix did favour a little cleverness to reduce line counts (and even character counts). C's normal assignment operator does what python's walrus does, for example. Or look at pre/post increment/decrement operators. Or look at languages like sed, or bc, they try to be terse over anything else.
I can see some of the things you listed as potentially pushing an agenda (like "all white guys being bad", whatever that means) but showing a normal "mixed-race gay couple" or the "single mother ending up in a mixed-race relationship" is pushing some agenda? What agenda would that be, that there can be a mixed-race gay couple and they are just normal, kind and loving people? Do we need a TV show to tell us that?

You're saying it's annoying to see that when you want to relax and watch a movie. You cannot relax watching a movie where there's a mixed-race gay couple? Why?
Keep in mind that your password may not be contained in the result set from HIBP (and if it is, you should likely change it anyway). So the attack space is only reduced to "any string whose hash begins with these characters", which should be considerably larger than 500 or however many results HIBP returns. It would be drastically smaller only if the attacker knew the hash was contained in HIBP.

Effectively, since HIBP asks for 5 characters of the hash, the space is the same as if the full hash were 5 characters shorter.
Clean it up – globalThis is here (JavaScript)
No, at that % they would be a de facto monopoly. Dominant generally means >50%, though depending on the market it could be an even letter percentage than that.

I'm not bashing on Amazon, I'm a regular customer. But I'm trying to explain how antitrust generally works. EU has more rigorous antitrust rules than the US. If Amazon has antitrust issues under US laws, then it has a serious antitrust problem under EU laws.
>you can't just assume that the choice which grew the market was the right choice.

If the wasted money was taken from taxes that were taken from the market, can we really say the market grew? It sounds like the business center project shrunk the economy overall.
I don't think there is an equivalent. The top institutes are all state owned, not independent like IAS.
The root partition is ext4, while the boot partition is FAT; plug it into a windows machine and it just sees the boot part, so people assume the whole thing is FAT
Have there been any performance benchmarks done on Python 3.8 yet? I'd be interested in seeing how it compares to 3.6 and 3.7, but haven't seen anything published.
It seems like it would make sense to have offices in DC as well as satellite offices in farm country. The problem is...they already have those: https://www.outreach.usda.gov/USDALocalOffices.htm

> USDA unveiled Kansas City as its chosen location on June 16, and employees have until Sept. 30 to move there.

This...makes no sense at all. DC has a high cost-of-living, but uprooting an entire family and moving them cross-country on 3 months notice is also expensive and very disruptive.
For anyone else that is looking at rolling your own static hosting like this on AWS specifically (including CloudFront cache invalidations and protected domains), I highly recommend checking out Amplify Console https://aws.amazon.com/amplify/console/. It's a little bit more feature-rich and avoids headaches like the article ran into. Closer to Netlify than it is to CloudFront + S3.
> the touchbar is worthless for anyone who is reading HN

That seems unfair. I've never really had use for function keys, and while I do enjoy the physical volume and brightness keys, the touch bar can certainly be put to use by power users: https://www.intego.com/mac-security-blog/customize-and-perso...

I looked into the XPS 13 but the screen is smaller than I'd like, and more importantly Windows and the non-Apple touch pad just generally put a damper on the whole user experience. Which isn't something I want from an expensive new device.
>It's not clear to me what it does just from reading it

How isn't it entirely obvious? := is the assignment operator in tons of languages, and there's no reason not to have assignment be an expression (as is also the case in many languages).
I'm all in favor of the walrus operator for the for loop, but the first example given to justify it is code I'd never write. The first if does a return, so there is no need for the else: and indentation. I'm sure there are other code examples that would justify it, but this one is unconvincing.
Mainly saved in infrastructure costs: Elasticsearch and Kubernetes resources.
And the CCP could force to give up information about people who aren't in China and who have never been Baidu users. Or information about people who are in China now, but the information was collected while they were outside China.
This is crazy. They're shutting down like - RIGHT NOW.

The email literally says "If you are in an active rental, do not fear. Please end your trip in the coverage area as normal when you are done."

This sucks. ReachNow/Car2Go was one of the big reasons my family was able to drop down from 2 cars to 1.
You can't make a new Friends in the US anymore. But it is potentially possible in other countries.
My actual technique:

- post first half

- fumble around trying to find the link

- get despearate because my comment only shows an /edit link

- find another link from someone else, paste that in

- change the /item?id=<n> to the id of my /edit?id=<n> comment

- save the change

- follow the link

- follow the link a few more times

- relax.
Change aversion.
...but every addition to make them more powerful and feature-rich is one more step in the direction of blurring the lines between what's code and what isn't, since more and more things that are supposed to be code will be expressed in ways that aren't code at all but fed to an interpreter inside the interpreter. And with every release, the language specification that I'm having to hold in my head when dealing with other people's code grows more and more complex while the cost-benefit calculation around the additional complexity shows diminishing returns.

It kind of goes to the question: When is a language "finished"?
Disable it in pylintrc. Pylint is unusable without a good config file anyway.