skysight-inc/HackerNews huggingface dataset:
Yes, there is.

The one I prefer, which you've mostly laid out, is: new passwords are entered as bcrypt(pw) and then stored as "B-$result", old passwords are re-hashed as bcrypt(hash) = bcrypt(md5(pw)) and stored as "M-$result", then your auth function works as follows:

def auth(user, pw):
hash = get_hash(user)
if hash starts with "B-":
return hash == bcrypt(pw)
else if hash starts with "M-":
return hash == bcrypt(md5(pw))
else:
# remove this once you've rehashed your entire database
return hash == md5(pw)

The naïve solution is to skip the "B-"/"M-"/"" annotation but if you do that you've introduced a situation where attackers can login to old passwords using md5 leaked from another source.
It's a little surprising to me that someone with as much experience as the author describes here hasn't realised this yet.

Bing-m'f'ing-O, and you summarize better than I. If one has not only been around the block, but has worn ruts in the sidewalk, then you know exactly why you're being asked to write FizzBuzz. I was actually once asked to reverse a string. "Optimized for memory or speed?" was my response, not a feeling of insult. I guess when I think about it, thanks to your prompting, that's my actual complaint with the article.
non-compete clause
I wanted a career, but all they were offering was jobs.
These just sound like complaints from a typical novice to LISP. LISP syntax is made of nested lists (an AST) and atoms. Representing sequential types as atoms with ugly reader macros based on the implementation of said sequential types strikes someone who knows a real LISP language as an ugly and ignorant thing to do.

If you find real LISP code unreadable because it doesn't look like javascript - because you can't tell when your sequence is a linked list or an array when there's no curly braces - I suggest learning to read and write LISP code and understand how LISP works. A real LISP I mean, not clojure.

Again, other LISPs have data structures aren't from linked list. A complete myth that that they only use linked lists.
I actually liked 1.6 and didn't think it was too sweet but I'm glad they figured out what was making people sick
And it worked.
I think this speaks more to interconnection, like water and power and sewer, and even human (car, sidewalk, etc) transport, being natural monopoly networks for the "last mile".

Competition would still be possible on top of this network, just like you can have different delivery companies.
In this sense everything is an arbitrary definition—which is true, but makes arguments about naming sort of useless. (Perhaps the correct answer is that they are, and this is just revealing that ….) At a certain point the argument, if it is to be at all productive, must become not "what is the one and only true way to do this?"—there never is one for naming—but "what are some other conventions that might guide us to a well determined consistent, rather than arbitrary, convention in this case?"
Why do the police explain all this stuff to your 'distant relative'?

Or rather, do you also know what the police think from some source other than your 'distant relative'? Or is the 'distant relative' the only source you have?

(I'm not sure what noun to use for your source there so I have stuck to matching your usage, my repeatedly using the quotes isn't sarcastic or anything like that)
They're way ahead of you: http://www.seattletimes.com/business/boeing-aerospace/amazon...

At its core Amazon has always been a logistics company. They already put warehouses close to airports so it's not much of a stretch to take over the air freight. Last mile is another issue, UPS, USPS, FedEx and the rest will continue doing that for a long time.
No, you're misunderstanding the concept of the pledge.

Most of the people who signed the pledge at (for instance) Google[1] are never going to be anywhere near the actual creation of misuse of databases for deportation or religious discrimination. The pledge isn't about denying labor for the actual project.

What it's about is radically altering the cost to companies of having anyone comply. It doesn't matter than you can find 5 random people who need some extra cash to do the scut work of actually abusing the database. When it gets out --- and it will get out --- the company loses team members.

If enough people sign this, the market pressure they're exerting becomes significant, and must influence decision making.

[1]: by the way, more people from Google signed the pledge than from any other company, and hey Facebook there is absolutely no reason you shouldn't be able to lap them.
I assume you mirrored it back?
Hmmm how many news from Google we can publish per day ? Why all this "love google" campage ?
Sorry, click on the parent domain (the top corner link).
> I'm not seeing a shred of racism there.

How about:

> it is very hard to even interview people who are 'white' which makes things challenging,

> Some of the biggest barriers to progress are white women

> This is not work for white folks to lead

I think maybe you read only the comment, and not the article it was commenting on:
http://uk.businessinsider.com/github-the-full-inside-story-2...
Very cool! Here is mine with the original box and receipt/instructions: http://mroatman.wixsite.com/watches-of-the-ussr/slide-rule?l...
I can't add much more value than CocaKoala's response already has, but in the end while I don't know what it's like for them, I don't really have to. I trust the medical science and various doctors that indicate to me I have a disease that I need to treat. I believe them when they demonstrate that my behavior/inability to focus is abnormal.

Experience with depression has taught me this is the right stance to take - while I have had friends who were sad, and were able to "get over it," when I was very sad (clinical depression though I would refuse to call it that at the time) I wasn't able to just "get over it." I fought and fought and never "got over it." I finally caved and trusted the school psych grad student that was urging me to see a professional, saw a psychiatrist, got medicated, and solved the problem. Now I understand that when it comes to illness, sometimes I just have to trust my doctor and follow their advice.
It's not a generic "defiance to authority", as I understand it's more like anyone trying to exert any kind of authority over you is bound to generate a kneejerk negative reaction, big issue or small, reasonable or not. Could be a parent, supervisor, partner, teacher, cop, etc. ODD is not related to an actual battle against your oppressors.
> Is it becoming more possible fore Amazon to ... create its own shipping company?

It's not just possible, it's already in the works.

Back in March Amazon announced plans to lease 20 Boeing 767s. Their first plane flew at an airfair in Seattle a few months ago. Recently they've been showing off their long-haul Prime semitrucks around Seattle.

Factor in Amazon Logistics (last-mile Fedex/ups/usps alternative) and Amazon Fresh (last-mile food delivery)... it's happening. I think we can expect big plays in 2017.

* they also have their drone thing... I think that's just a moonshot hype project.
RFC1833 "Internet Protocol, Version 6 (IPv6) Specification"[1] was published in Dec 1995, over 20 years ago. I think the transition took a lot longer than anyone anticipated, not least because so many people considered IPv4 was good enough to be getting on with.

Only after the IPv4 address exhaustion occurred did many people finally understand that IPv6 was a necessity and not just something they could avoid by deploying another layer of NAT.

The ISP I use was an early adopter of IPv6[2] and the first time I got an IPv6 address I remember wondering what all the fuss was about. For me as a consumer having an IPv6 address made almost no difference to my on-line experience. While that might sounds negative, it is actually a good thing, even several years ago IPv6 "just worked" for consumers.

Today we see many ISPs deploying IPv6 on consumer connections. The Google statistics[3] show just how rapid the growth of IPv6 has been in the past few years. If you zoom in you can see the positive spikes which occur at weekends. These show that home and mobile connections tend to have a higher IPv6 penetration than office networks.

1: https://tools.ietf.org/html/rfc1883

2: http://aa.net.uk/kb-broadband-ipv6.html

3: https://www.google.com/intl/en/ipv6/statistics.html
The post smells auto-translation, maybe thats what is causing this confusion.

(that or dyslexia)
I care about food more than sports. Which is easy, since I don't care about sports.
It has everything to do with JSON. It's a REST client that produces UI elements using a JSON-like hypermedia type.
I've considered setting up my own GPU server to reduce costs, but if you've got P100s for $200/month that means you're paying off the hardware in 4 years? I can't compete with that. AWS was much easier to justify, since they're more expensive so the payoff is shorter. I was waiting on Google cloud's pricing to make any decision there:

https://cloud.google.com/gpu/

The only thing that concerns me is that your GPU+ instances only have a single P100, while someone like Google promises to let you attach up to 8 to a single machine. So if I wanted a single powerful machine for experimental work, the cloud providers are more expensive. But I'd have the same problem with buying my own hardware, because those cards are expensive.

If you have only a single GPU, have you done any performance testing comparing consumer GPUs like the GTX 1080 with the commercial GPUs? I believe two advantages of the commercial ones are 1. Better interlinks between multiple GPUs and 2. Better floating point performance at the precision used in deep learning. Advantage #1 seems like it wouldn't matter with only a single GPU. I think AWS only has K80s, so that's in your favor.

What motherboards/RAM/CPU/etc. are you using? If my estimate is right and you are pricing for a 4-year payoff just for capex, listing all of the hardware would make it an easy sell.
That's OK. We'll defend your right to do nothing with our own livelihoods. That's how things are supposed to work.
The comprehensive API helps, though that can theoretically be limited if a ton of people try to migrate.
Staying in an annual budget of $98 million sounds feasible for a place like github. That's an $8.1m/month burn. Just be a little less elaborate, I'm sure this is doable.
Agreed. B2B still knows what software and support really cost, and they are willing to pay when it solves their needs. But, at the individual level people just don't realize it. Heck, look at all the free software your new Mac comes with.
Every place I have worked, that has made extensive use of JetBrains' IDEs, has had the worst structured code I've ever worked with. JetBrains makes finding classes and methods fairly easy within the IDE, so developers tend to hobble along on that crutch and don't take any time to think "Does it make logical sense for my code to go here?" before ramming their authentication code into the same library as the their customer notification code.

When you don't rely on an IDE, you tend to think about your code's organization more, since you have to work with that organization every day. When your IDE hides that organization from you, people's laziness kicks in, and you end up with code whose maintainability suffers outside of the IDE.
You saw one example, misunderstood it, and jumped to various unsubstantiated conclusions from there. So there's not much to reply to here, except to point out that the annotations are optional, and the following is an equally valid way of writing that same function in Pyret:

fun square(n):
n * n
end

[Speaking of beginners and new concepts and so on: they wrote functions in school in math all the time, and didn't write `return` there either.]
I agree with the idea that venture capitalists alter ("distort" is a loaded term) the market in their favor. That's part of the natural process of systems commoditizing their complements. But I really think that you characterize this in an uncharitable way with your example, which I have difficulty believing as it was stated.

If your lead really understood that they would "immediately earn a 5x return with no risk", and that was the truth, they would be cartoonishly foolish to not take that offer. Furthermore, wouldn't that mean your company could be printing money with its results? It's hard for me to believe a rational customer wouldn't take that deal, so either they didn't understand or believe that would be the result, or you're exaggerating here for the benefit of your point.

I know it's easy to think I'm just griefing you over this, but I'm trying to make a point in good faith. There are certainly legitimate reasons to dislike the profit incentives that venture capitalists encourage, but I think you portray their impact on small companies as unrealistically bad (and perhaps your product in a more favorable light than is warranted), to the detriment of a discussion about it.

None of this is personal, mind you. Just a comment.
It's worth nothing that GitHub isn't just a pretty Git frontend anymore. It's also a de-facto CDN and host for projects (Homebrew, CocoaPods come to mind), as well as a blogging and demonstration platform (GitHub pages).

In these roles, GitHub is of tremendous value and not immediately replaceable.
Question for the HN mods (and community): At what point is a post like this not simply an advertisement? This isn't a link to a press release, an article, a blog post, etc. that discusses the project, and this isn't even new (I've been getting snail mail ads for this for a month or two).

Should big companies just start linking directly to things they want us to buy on HN, with no context? Is that encouraged here?
That's true. VC companies are killing a lot of otherwise viable businesses because they can undercut prices. Also, it seems that a lot of VC companies these days are not even trying to be real businesses as in taking in more money than they spend.
It's not just a subjective well-known brand.

Nature/Science/Cell have a prestigious brand, so many scientists try to get their best work published there. The journals get first pick of new research to choose from, and as a result getting published there really is a good indicator that your work is impactful and high quality. It's a network effect that can be broken only if enough funding & promotion committees, or top scientists in a field take a stand together.

Something I have wondered though:

What if we separate the "measure of quality and impact" from getting published in the journals? Something like "shadow journals", that doesn't publish and edit any articles itself. Its reviewers would pick the top 30 new papers published in their field each month, and just publish links to them. If this would get established, it could be used by funding and promotion committees, and the brand of the original journals would matter less.
I'm excited about this development. I'm really looking forward to a web implementation of Material Design that is not bound to Angular 1 and is production ready. I did a few projects using React + Material Design that was enabled by Material-UI component set. [0] And although Material-UI seems like a really great implementation for React, it's certainly not production ready yet. I did spend a significant amount of time fixing / messing with its code to make things work relatively smoothly.

Regarding the Google's MDC-Web [1] the demos look promising, although the components seem to lack polish and animations sometimes get stuck. I hope they will push them to the point where these components will be as good as Angular Material ones. [2]

[0] - http://www.material-ui.com

[1] - https://github.com/material-components/material-components-w...

[2] - https://material.angularjs.org/latest/demo/button
Very good point, mrpoller. DataLoader works great in combination with GraphQL. We're using a similar concept at Graphcool (which is written in Scala using Sangria). This method combined with a smart caching strategy turned out to be very effective.
Are you using GitLab.com or hosting it yourself? We're working on improving GitLab.com, but self-hosting GitLab should be pretty fast in most circumstances.

As for the interface, we're working on improving the design of the product and have just hired a UX Researcher to help with that. Would be happy to hear any specifics you have to offer.
Yes, of course it exists, but thanks for the link. What matters here is execution, of course. Apple could build this themselves, and integrate it tightly with their other hardware, and provide a consistent, platform-wide API for developers. Then I can see this work.

Of course it would be better if there was an open standard, but unfortunately, with all the walled gardens lately, I don't expect that to happen anytime soon.
Of course there will be. So what? If enough people sign, it doesn't matter if you can throw some extra cash at a couple people to do the scut work. When it gets out that it happened --- and it will happen --- an untenable number of people leave the company.

It's about market pressure.
Manpower wasn't the limiting factor in the war.

Mismanagement, and lack of materials was. An agrarian Soviet Union would have had no chance.
Read the article linked, some key quotes

> "it is very hard to even interview people who are 'white' which makes things challenging" - anonymous insider, presumably someone in a position to interview people

> "Some of the biggest barriers to progress are white women" - Lead of social impact team

> "This is not work for white folks to lead." - Slide in talk given by above lead

> "We need solidarity with our Asian friends and colleagues" - Same slide

(This one is especially odd, Asian's are over-represented in tech as a percentage of the population)

> "Some of the biggest barriers to progress are white women" - Same slide

> "don't think we'll succeed teaching white, male middle managers empathy and compassion any time soon [new paragraph] so let's limit their scope of damage" - Social impact team technical director via twitter
> “Google has such great facilities—Twitter has two or three cafes and so no one goes to spend money in mid-Market,” he said, referring to a section of downtown San Francisco where Twitter is based.

> Similarly, many large Silicon Valley companies have in-house catering, daycare, and other amenities that make offices little self-contained communities that hardly require interaction with surrounding neighborhoods.

> “Do we need to open up an office and have six cafes?"

Obviously easier to do in the middle of San Francisco, than in zoning-nightmare Mountain View: Imagine 10k+ people trying to have lunch in the one and only pub around.
I sold my software dual-licensed GPL, and a deal-breaker for me was how long it took companies to actually purchase. They had the software, used it, and so didn't have a compelling need to buy, right now.

Though they all did actually buy in the end, and there was enough income to live on, I found the uncertainty very distracting and not worth it.
I think we generally assume that the people who sign the pledge (and many others) share our views. I don't know how much more we need to litigate than that.
Wow, GoboLinux is still active. I remember playing with it about a decade or so ago.
> While you and I may agree that exceptions should be used for unexpected situations, nothing forces people to use them that way.

Here's another one: C++ allows programmers to overload operators, but doesn't enforce anything with regard to the overloaded behavior. I can make "+" actually subtract, or make "<", "==", and ">" always return "true", or have a function called "add_two" that actually adds three! When you find a language that prevents people from using it incorrectly, please let me know. Until then, I'll have to follow my rule of thumb that a library that crashes randomly -- whether it's caused by SEGFAULTing, failing to follow it's own exception specifications, or for any other reason -- is buggy and I won't use it.

*

In another comment, you say that you would like a language that enforces internal boundaries. It's not clear to me how that would work. Let's use a specific example:

Imagine I am using a garbage collector library, and I ask for memory. It's a copying collector, and my request ends up promoting objects from one generation into another. Unfortunately, more objects survive than expected, so there isn't room in the target generation's pool. The library throws an exception, fails to handle it, and an internal exception specification doesn't include the exception causing us trouble. In other words, the programmer listed which scenarios were handled, and this one was not on the list. And, of course, we have a boundary like you had asked for.

What can cross that boundary? The library doesn't have the memory I asked for. If we pass the exception across the boundary, it's not clear what purpose the boundary serves. It's also not clear what I should do with that exception: it's an internal detail. Even if I can figure out that we essentially have a buffer that's too small, I don't have access to that buffer (so I can't make it any larger), and I probably don't have access to the functions needed to start promoting survivors from our too-small generation to make room. How would the proposed boundaries handle this problem?
What worries me about this is performance. Contexts are linked lists and adding a new value to log will add a new node to this list, slowing down all future operations involving the context. I didn't look at the implementation, but I, at least, couldn't come up with a design that doesn't suffer from this, when I last thought about it. What makes matters worse is, that the logging layer is wrapped around the context in a pretty early stack frame; so every logging statement will need to traverse the whole context list, slowing down the overhead from logging even further than it already is.

So, did you look into this? Does Performance suffer?
+2. I love Notion and converted my whole team to it.
The problem is C code. You know it won't throw, but there will never be any exception specification on it.
This seems irrelevant and possibly untrue. What liberal leaning groups are you referring to?
Ever worked in microsoft land? I swear developers have forgotten that folders exist and everything is organized flatly into "projects" instead, with terrible consequences on compilation times.
>Lets be clear, I never implied that women and minorities can't do tech or are in any way inferior.

Let's be clear, that's exactly what you were implying.

>I don't support racist organisations of any kind.

This is an extremely huge stretch for you to make, just because they're trying not to favor white males.

>but when they're being vitriolic about people regarding race and gender I'm not pleased.

Like most of the anti-Github people in these comments are?