skysight-inc/HackerNews huggingface dataset:
I am interested in a companion phenomenon with the recent interest in causal models in machine learning. Namely, the fact that at least in computer vision, it is not new at all and has been an important idea for at least many decades.

One of the original sources that took this approach is "The Ecological Approach to Visual Perception" (1979) [0], by James Gibson, discussed at length the idea of "affordances" of an algorithmic model, similar in some respects to topics in reinforcement learning as well. Affordances represented the information about outcomes you gained by varying your degrees of observational freedom (i.e. you learn how to generalize beyond occluded objects by moving your head a little to the left or right and seeing how the visual input varies. This lets you get food, or hide from a predator that's partially blocked by a tree, etc., so over time generalizing past occlusions become better and better -- this is much more interesting than a naive approach, like using data augmentation to augment a labeled data set with synthetically occluded variations, for example as is often done to improve rotational invariance).

Then this idea was extended with a lot of formality in the mid-to-late 00's by Stefano Soatto in his papers on "Actionable Information" [1].

I wish more effort had been made by e.g. Pearl to look into this and unify his approach with what had already been thought of, especially because it turns me off a lot when someone tries to create a "whole new paradigm" and it starts to feel like they want to generate sexy marketing hype about it, rather than to say hey, this is an extension or connection or alternative of this older idea already in the topic of machine learning rather than appearing like one is saying, "Us over hear in causal inference world already know so much more about what to do ... so now let's apply it to your domain where you never thought of this". Pearl has a history of doing this stuff too, like with his previous debates with Gelman about Bayesian models. It almost feels to me like he is shopping around for some sexy application area where his one-upsmanship approach will catch on too give him a chance at the hype gravy train or something.

[0]: < https://en.wikipedia.org/wiki/James_J._Gibson#Major_works >

[1]: < http://www.vision.cs.ucla.edu/papers/soatto09.pdf >
A much more informative article, thank you for sharing!
strongSwan is a mainstream IPSEC implementation.

OpenVPN is its own protocol, using TLS as a control channel.

WireGuard is also its own protocol, based on Noise.

strongSwan has cryptography designed in the 1990s. OpenVPN relies on TLS, which for all intents and purposes is also 15-20 years old. WireGuard is modern, with a design that comes from Signal Protocol's cryptographer.

strongSwan and OpenVPN have gigantic C codebases. WireGuard's kernel implementation is just 4500 lines of carefully designed code.

You should use WireGuard if you can.
Maybe you're better at googling than I am but I've had serious issues with that. The problem is that there are way too many false positives for any query containing "ip" regarding networking. And even looking at the excerpts on the search results page it's not always obvious if "ip" refers to the command or something else.

Take for instance a very simple query: "ip show default route":

https://duckduckgo.com/?q=ip+command+show+default+route&t=ff...

There are a few obviously relevant matches in the first page but also a bunch of completely irrelevant results. Adding "command" doesn't improve that much. And that's for a very simple query that's probably been asked hundreds of times before.

Meanwhile if I search "ls sort date" I get mostly relevant results immediately because even though it's also a 2 letter identifier it's not quite as ambiguous: https://duckduckgo.com/?q=ls+sort+date&t=ffab&ia=qa
May be blocked because you are European ;-)

It works for me now.
A Surprise Apple Release Just Showed Up on Best Buy Ahead of WWDC 2018
Yes, I'm from Europe, and it's my opinion that the GDPR is very necessary and mostly reasonable.

I say that even though it caused me a lot of work for the past months.

The requirement to hire a DPO is not a new thing, by the way - many countries in the EU already required this. This is true for many provisions in the GDPR - in Germany, for example, very little changes from the way it used to be, their data protection law was strict to begin with.

The big difference is that companies would just ignore the laws in, say, Germany since they were operating from Ireland, and would claim that the German courts had no jurisdiction. Now, it's the same everywhere in Europe, which makes it much easier to enforce.
As we are more and more able to make use of all the parallelism of our hardware from our code, that's more or less unavoidable.
>Another thing nobody but techies care about, and even they are mixed. I know plenty of people who prefer modern TouchWiz, or more likely, simply don't care. Caring about stock Android really only applies to those who spend most of their time in the launcher or OS, which isn't most people. For most, their phone is a gateway to apps, and this goes double for Android phones.

Umm, I want a phone with the latest security updates, since it holds very personal information I don't want it to have unpatched access. Phones with Stock Android - on average - get more updates/faster updates [1] (if at all). Also Stock Android gets rid of manufacturer code which can affect apps, for instance some Huawei phones, on Nougat, have USB-OTG disabled in the skin, accessible otherwise with LOS.

[1] Phones like Pixel, Android One program, Sony, Nokia, OnePlus (https://www.computerworld.com/article/3257607/android/androi...)
Another issue is that yapf uses an algorithm that is quadratic, so you end up with code you actually see in practice take seconds to minutes to format.

The authors have been adding specific workarounds for some cases but it's a general issue with the approach:

- https://github.com/google/yapf/issues/264

- https://github.com/google/yapf/issues/39

Black algorithm doesn't explode in such way. It's also a lot faster overall which makes it possible and reasonable to enable a good format on save experience.
A lot better than the standard site! Highly reccomend for all users.
Beyond SPAs: alternative architectures for your PWA
90 characters?!?!? You heathen. I want 132 characters per line.
Will get this fixed. Thanks for the feedback!
Could a particle accelerator using laser-driven implosion become a reality?
>Obviously from what? Are you a GDPR compliance expert?

You don't need to be a GDPR compliance expert to know that the costs of implementing GDPR are huge and I doubt any GDPR experts actually even exist today.
I find as I write code I no longer worry about alignment or long lines. When I have vim paste a section of code and its at a different indentation I just run black.
> If you fail you die in America.

This made me chuckle. There are a lot of countries where this is true, but the US is generally not one of them. Sure you might end up loosing all your assets and living in a homeless shelter, but at least we have homeless shelters. Yea, you're probably better off indigent in much of northern/western europe, but the social safety net here in the US, while imperfect, is a heck of a lot better than much of the rest of the world. A big part of why immigrants "fearlessly" launch themselves into the unknown and immigrate is because where they're from, if you fail you actually do die. Soon. Painfully. There may be instances of that in the US, particularly in cases involving drug use and.or mental illness, but it's hardly the norm. Moving for a job you don't have yet to escape an economic backwater is certainly a huge financial risk, but it's hardly a life and death risk.
I was surprised when my adblocker didn't bleep once. This is like looking what the internet could be. It could've been great.
For those trying to understand the difference between action and observation, here's a good example from a friend:

Every bug you fix in your code increases your chances of shipping on time, but provides evidence that you won't.
I'd like to think so, but my bank already prohibits wearing sunglasses or hats indoors. They have a guard that will turn you away and everything.

In the future, simply entering a store with CCTV is an opt-in for FR analytics and all that entails.
Anyone have the documentation for VOCOL? I'm curious how it worked. Searching didn't turn up anything.
Not just WW2, but even reaching back to the German Empire/Weimar Republic with surveillance of homosexuals [0] and other collections of private citizen data, which to this day is considered a prime example of "You can't guarantee the next government won't abuse that data".

The GDR with it's Stasi also didn't really make a great case for "Trust your government, give them all your data!"

That's why a lot of Germans are very careful about private information, we've seen it abused at large scale, with inhumane results, not just once but twice.

[0] https://de.wikipedia.org/wiki/Rosa_Liste
Hey Vjeux. What does black mean for the prettier python plugin[1]? I had high hopes to move over all projects to prettier (for JS/Python). Is there going to be any merging between prettier python and black? Do you recommend one over the other?

Thanks

[1] https://github.com/prettier/plugin-python
Yes, what led to the 2008 crisis was a misvaluation of investments. Fortunately, there exist solutions to that problem, built into the system. Short-term interbank loans, the FDIC, and nationalization. Notice how not a single American bank stole it's depositor's money... And that the rules of fractional reserves were changed, to reduce the likely hood of such a catastrophe.

There is a world of difference between that and a Ponzi scheme. How many investors took a haircut from Madoff's little game, again?
Do you think a US business that has no intention of ever operating in the EU cares about European fines?
> Sugars and carbohydrates do not trigger the hormone that says we're full when compared

It's important to note the difference between refined sugars (candy) and natural sugars (fruits). Refined sugars are basically fructose (hello High Fructose Corn Syrup).

Refined sugars -- super hella bad.

When you eat the refined sugars, your liver actually traps the ATP, blocking the pathway to the brain, making you still feel hungry.

Great 10 min clip: https://www.youtube.com/watch?v=8ve6XQH68mg
AFAICT these options are new(er) and making them the default would likely be a backwards-incompatible change. I can see how it would be an uphill battle to convince the maintainers to introduce what appears to be a breaking change.

That said, a new alias that does trigger these new behaviors as defaults would be a sane compromise.
Refreshing to see a maidsafe submission here on HN.
what next? We’ll be suing Apple for holding the monopoly on MacOS?
> It's not configurable.

Except for the line length:

> if you're paid by the line of code you write, you can pass --line-length with a lower number.
Recommendation for Tech Books that explain the landscape
Reading "Designing Data-Intensive Applications" right now, and it is helping put a lot of things in perspective by explaining (1) various approaches, (2) tradeoffs, (3) history and future. eg. Storage and Retrieval.

Looking for recommendation on similar books that explain other technology areas, like - programming languages, software project management, software design, etc. etc.
> Isn't the reason this is true that bcrypt just truncates the input at 72 characters? And if that's correct, aren't there basically a few options, any of which basically invalidate the argument?

Let's run a scenario to show by bcrypt from strictly a CPU load perspective is better than sha256/512crypt.

> 1. Enforce a password length limit. Fixes the unbounded growth of the shacrypt CPU time while simultaneously ensuring bcrypt is not ignoring input.

Assume that I know how many authentications per second are happening on my busy authentication server, and I can reliably guarantee 0.25 seconds per request without creating an outage. On my hardware, that's a bcrypt cost of 12. If I pre-hash every password with SHA-256, then base64 encode the hash, and send that to bcrypt, I can guarantee every user any arbitrary length of password, and know that it will not take more than 0.25 seconds.

For sha256crypt, a cost of 250,000 rounds is similar in performance for an 8-character password, executing in about 0.250158 seconds. However, and 36-character Diceware passphrase takes about 0.353884 seconds, and grows from there (70 characters at 0.503353 seconds, etc). Obviously, I can't allow everyone to have 36-character Diceware passphrases with a sha256crypt cost of 250,000 rounds. It would create load problems on my hardware.

I have three options that I see ahead of me if I wanted to stick with sha256crypt:

1. I could decrease the sha256crypt rounds, so those who want longer passwords won't create a CPU outage due to load.

2. Enforce maximum password length limit of 35 characters, to prevent the execution time from taking too long.

3. Make some exceptions in the code, so those with 1-10 characters have a higher sha256crypt cost than those with 11-24, which is still higher than those with 25-36, etc.

If I just stick bcrypt on the server with a cost of 12, I don't have handle these exceptions.

> 2. Pre-hash the input to bcrypt by passing it through SHA512. Makes bcrypt now grow in the exact same way as shacrypt.

No it doesn't. In the graphs on my post, the bcrypt timings are based on https://passlib.readthedocs.io/en/stable/lib/passlib.hash.bc.... bcrypt only grows when the cost is increased. Its execution times are in no way affected by password length.

> 3. Don't enforce a password limit, but truncate the password. Fixes the CPU time.

This is a bad design, and falls back to the security vulnerabilities of DES-Crypt and LM hashes.

> Passing 4096 bytes to bcrypt is the same as passing 72 bytes to bcrypt because it ignores the last 4024 bytes right?

Unless you bcrypt(base64(sha-256(password))), which is a common approach.
I see what you're saying but I still think a more accessible store with more economically diverse location (most WF were built where could afford to shop there) would've been a better move. It would've put Amazon in the heart of more communities. Remember Walmart started by catering to poor people and it turned out to be the right decision. I'm not so sure starting out catering to rich people is going to be the right decision in the long run.
I took this to mean a mispelling of webdev and was giggling at the thought of hackernews being so far ahead of the curve and/or hipster that someone outright asks that question. I was sad to not see responses entertaining the idea.
Apple has 60% of market-share in high-end phone market (worldwide, it's higher in US). Oh, it is a major player
That is what I thought, free will means that, when I face a decision, my choice is neither determined by the current state of the universe - me and my entire environment - nor is my choice independent of the current state of the universe, i.e. it is not purely random. If you rewind the universe to the same decision again and again, I will make different choices in different iterations, i.e. the choices are independent of and therefore not predictable from the state of the universe, but they are also not just random because that would not be free will either.

And we can also allow mixtures of both, say for example were the current state of the universe determines a probability distribution and the choice is random but distributed according to that probability distribution. With this interpretation of free will it seems almost obvious that it can not exist, how could a choice neither be depended nor independent of the current state of the universe? I can not even start to imagine such a thing, it seems we would have to have missed something very fundamental about the world, like discovering that two things can not only be the same or not the same but that there is actually a third option.

But as it turns out some and probably many people don't think of that when they say free will. They mean something a lot weaker, namely that their choices reflect their desires, that they do what they want, at least to the extend that external constraints allow it. For that definition of free will it is totally fine that your choices are determined by the current state of the universe as long as they align with your desires. I would say it seems quite obvious that humans have this kind of free will, we mostly do what we want as far as allowed by external constraints. I would also say that we generally do not perfectly have this free will, an arachnophobic person, for example, may desire not to be scared by a small spider but may be unable to control their instinctive reaction.

So my current point of view is that free will does and doesn't exist, it just depends on what precisely you mean when you say it. I also wanted for quite some time to go over all the common views on free will and see how many of them are really conflicting views, I could well imagine that there are far less real conflicts than it may seem at first glance.
There was an article on performing diff eq with water. Presumably someone felt like sharing this in response.
You know what the world really needs? A way to share text & optionally images with users across the net, without requiring them to execute untrusted & possibly-broken code.

/s
Fun fact for the HN crowd - this site is wholly run on GitHub pages, quite fun: https://github.com/skynettoday/skynet-today
>I've never found targeting to be effective at showing me ads that were genuinely better or less annoying.

I'm not the guy you're responding to, but I think the key difference is this statement. I had untargeted ads on for about a year and they were always irrelevant. Since returning to targeted ads, I now see things all the time that I'm at least mildly interested in (mostly startups and new services, and/or tools/software I want to try out).

I don't care if I'm being coaxed into buying more: the things they're tempting me with are legitimately interesting and I have the ultimate say on whether I buy it or not.

Untargeted ads don't give that choice: they're just always irrelevant to my interests.
I like the spirit of it, but the implementation seems to contain too many exceptions (e.g. trailing comma, whilespaces around :). This problem is not unique to Black, it is actually too common for most auto-formatters.

I usually prefer a set of dead-simple formatting/styling rule, easier to enforce, lower cognitive load.
I’m amazed at how little discussion there is of Amazon using WF as a beachhead to go after the grocery warehousing and distribution industry.

Retail is just one touchpoint for administering a tax on the industry. Warehousing and distribution is a far more centralized and efficient infrastructure play for a company like Amazon than trying to go after all the individually managed and differentiated retail stores.

Does Amazon understand how to do cold warehouse storage and shipping of perishable goods? Not yet. Can they? Certainly.
Also it seems like their reported NER is just serving up the spaCy NER.

“spacy_ner service which provides Spacy NER annotations.”
[0]http://nlp_architect.nervanasys.com/service.html
Plus, I get an instant notification on my phone whenever my card is used. And if I see anything suspicious, I can freeze the card via the app (declining all further payments).
That's not really fasting in a metabolic sense, though. More like time restricted eating.
Your comment reminds me of Lockhart's Lament[0] about how we (fail to) teach mathematics to children. It's a story about a world where we attempt to teach music in the manner that math is taught. Children rote-learn scales and musical theory from the beginning, building everything up until much later, when they are studying for a PhD, they finally are allowed to pick up a musical instrument and play for the first time, putting together everything they have learned over the years. The author compares this to how we learn mathematics and how only people in high-level applied math or engineering every actually get to use complex formulae in the real world and actually realize the inherent value of what they've been learning.

[0]https://www.maa.org/external_archive/devlin/LockhartsLament....
Power Laws: A Look Back to Where 20 SaaS Break-Out Companies from 2012 Are Today
> If they are handling and selling your data in ways that are not compatible with GDPR

Very few businesses actually sell data the way you are imagining and if all GDPR did was ban that business model I would be happy with the existence of GDPR. GDPR is much more than that and this insinuation that every business that doesn't want to deal with this hassle is somehow evil and selling ultra detailed profiles on you to the highest bidder is highly mistaken.
I really enjoy http://patrickjmt.com/
That pressure can be very real. Personally, I don't see a tremendous amount of value in overthinking estimates as much as re-evaluating estimates once the task starts.

The methodology I mentioned calls for exactly that, estimating best case, realistic and worst case...and then re-evaluating once the work starts.

You never really know until somebody dives into the work and it's rare to actually get time before an estimating meeting to individually look into each story. Treat the estimate as a best guess and then re-evaluate when you have better information.
This is really sexy.
Oh come on, this FUD is getting old. At least make up something new from time to time.
Fantastic summary. What do you think about Hiten Shah's solution which is to use hourly estimates and in depth upfront technical research?

https://producthabits.com/overcome-the-guess-work-of-product...
Some clarification: Having to register your religion mostly has to do with tax reasons, as the German state collects taxes for both Christian main branches. Outside of that context, it has literally zero relevance and you might as well just claim "No religion".
I don't think that one follows from the other: I sometimes have violent thoughts when I'm angry at someone, but I'm never actually violent. (Another example would be the popular quip that average men think of sex N times per unit of time, with N being much larger than how often they actually have sex.) This suggests that there is at least one more step between having a thought and acting on it, that your argument is not considering.
Huh?

Conspiracy theories?
You could also use a hash of the email so that you don't retain and can't reconstruct the original address. Then the recovery process can look for a valid account based on the provided email's hash, and if one is found, a recovery email can be sent to the provided address. Include an expiring, one-time-use token in the recovery link so you can immediately forget the address again.
Shit, in November last year I got a mortage for 8.5% in Mexico. That is considered low over here, which is crazy. In 2018, mortage rates have gone up to 13%.

I envy USA rates of 4%. Rates like the one you describe in Sweden (1.5%) would be a dream.
With paired programming I have always felt comfortable sharing a Googling of the problem with either the co-driver or the driver, depending which role I am in.

Can you explain what you perceive to be the problem with accessing something like StackOverflow to help solve a persistent problem or even to simply jog one's memory?

I find that this fear of being shamed for using the obvious resources at our fingertips to be one of the things that makes people less likely to want to pair. IMO there is nothing wrong with consulting books, websites, other people's ideas/opinions, or other knowledge repositories to help make good decisions or solve problems elegantly.
> Would you agree to those terms if you had a realistic alternative?

What do you mean? If one doesn't want to agree with such terms, there are quite many android alternatives, some of which even better than iPhone/iPad in certain aspects.