skysight-inc/HackerNews huggingface dataset:
> What's the mindset that ends up with Chrome going out of its way to swap OK/Cancel when you enable DNT?

Chrome dev here. The way the Chrome settings web UI is written does not lend itself to strong consistency, just eventual, as devs notice it and fix it. Your DNT example was fixed last week in
https://codereview.chromium.org/665113003.

Another example of inconsistent button ordering: the overlay for disconnecting a managed profile has its buttons reversed from the usual order, while the overlay for disconnecting an unmanaged profile does not.
Maybe Einstein should have made his quote simplier.
It's a service developed to retrieve my location and to get access to my device!
The First Phone Jony Ive Ever Designed
If its a Java or object-oriented framework or library - follow SOLID principals and limit dependencies. Make it unit testable. Try to make it consistent - calls to get one type of object should be similar to ways to get other types of data, etc. Functional approach to the interfaces - pass in required arguments, get back result. Don't require user/developer to create several configuration or factory objects before they can call a simple method to get some data, etc. Don't require the use of dependency injection frameworks or other complexities. If its web-based API return data as simple JSON or XML without overly complex namespaces, etc. Name things consistently - the names of response objects and properties should be the same as the corresponding inputs, etc. Copy - look at a successful API or library which does something similar - then copy the way it works and the way its documented. Especially if the users/developers already know how to use that one...
iflix.io, which did the exact same thing (in fact I think it is the same code base), closed after a few days because it is not sustainable to do the downloading on behalf of the client.
I think it depends upon the use cases of the API, but if you want someone to be able to build snappy and fast "apps" using your API rather than just facilitating movement of data in/out for an integration with another piece of software, I think granularity is important.

Having built our front end using AngularJS, we are the first users of our own API and that has driven it's design. In order to make things quick, we really needed to trim down response payloads in some cases which kind of deviates from standard CRUD patterns in some areas.

This has come at the expense of good documentation (we have a lot more methods now and having good examples of all of them will be expensive) and consistency--things are not very uniform anymore. However, as an API consumer I'd rather have the API give me too many options rather than too little. Our API has gone from "pretty" to "very functional".
Walmart issues bogus explanation as to why they don't support Apple Pay
My choice was the regular Rockstar energy drink at my worst I was up to the large 750ml cans per day, then suddenly I developed back spasms for the first time in my life I thought it was a kidney stone. I could not straighten up I was curved to my right as if I was made of stone, the only thing that helped were strong muscle relaxers.

I stopped for awhile and drank just the normal ("double" is normal) Rockstar. I felt tingly all over mostly extremities. Now I have a fatty liver I am sure caused by energy drinks, I haven't had one in at least three years.

Coffee and tea are no comparison to energy drinks even a four or six shot espresso is mild in comparison. Although I believe espresso has less caffeine than regular coffee even for equal volumes.

What's odd is I never drank any caffeine until I was about 34 since even a sip affected me making my heart race from just a sip.

I've now left the stupid energy drink drinkers club!
Well the site I set up using this code, I created a Twitter app that didn't ask for permission to Tweet because I only need it to login the user.

What do you mean in your site the email is OPTIONAL? How can user reset their password if they forget their password? IF a user sign up using their email then they have to confirm it as well which makes the user to log in to his email.

Also users have one less password to remember if they use Facebook or Twitter sign in?

What if the site needs a profile picture for user profile? Then the signup process takes longer time and users have to fill a larger form.

I'm not saying I'm totally in for Social signups, but what alternative do we have?
You can find these slides interesting:

http://slideshare.net/guestbe92f4/how-to-design-a-good-a-p-i...
You got the meme wrong. It's

wow. such singularity. much kurzweil. wow.

You need to put a much and a such next to each other not separated by a wow (exact sequence doesn't matter).
i just used hipmunk to book a stay this past weekend in the phoenix area. they had comparable or better prices to other sites and i was able to book directly on hipmunk (although technically it was done through booking.com). was a relatively integrated experience for me.
>... if https doesn't work, people [or browsers] will just try http...

And how does your proposal solve that? Nothing will stop people from trying 'http://mybank.com' if 'rfsp://mybank.com' fails. You could try to have the browser stop the user, e.g. "You tried to visit 'mybank.com' over a secure connection, but failed. Are you sure you wish to visit 'mybank.com' over an insecure connection?" But that could also just be displayed after a user attempts an HTTPS connection to 'mybank.com'.

I don't see any advantage of RFSP that we couldn't just roll into HTTPS to avoid creating an entirely new protocol and to not undo the great effort that's been put forth into attempting to get people to use HTTPS.
I'd suspect they have to be using a cache, too, but I tried a whole slew of random torrents off kickass.to, and if it played it at all, I could scrub every single one of them to any point in the video with a mere 1-2 sec delay. So, they've either cached a gi-normous amount of torrents, or they've come up with something really interesting in the ability to dynamically stream any block with very low latency.
My two pet peeves are authentication and rate limiting.

Authentication - unless you're dealing with uber-sensitive details, make authentication as straightforward as possible. HTTP basic over SSL works fine for me. Bonus points for authentication-free calls for all your public data that doesn't need to be hidden. If you absolutely must use OAuth, please make sure you implement it to the standard, and - ideally - give me a robust client library in my language of choice.

Rate limiting - ideally, don't. Obviously, this depends on your audience - I understand why twitter need to rate-limit. Otherwise, be as nice to me as possible, let me 'save up' calls over time if you can handle the traffic, and provide me with lots of information about what my limit is, when it will be reset, etc.
The owner ought to be happy if he's not extradited to america.

See Richard O'Dwyer http://en.wikipedia.org/wiki/Richard_O%27Dwyer
Snapchat Night Vision: Ephemeral Does Not Mean Anonymous
IANA blockchain expert, but this is my understanding:

You need to be able to show a "proof" to the bitcoin main network that the coins are being transferred back to the bitcoin blockchain. This proof needs to be hard to generate, which pretty much makes POW mandatory.
But you can still drop a letter into a public mailbox, with no return address. Then only the recipient is tracked.
Ease of use. It should be easy to use. Someone else commented that simple is what makes an API good. To the extent that a simple API is easy to use, I agree.

I think an API is no different from any other software product. People like software that is easy to use. I think an API should be easy to use too. To me, that's what makes an API good.
It's a shame more people haven't really spent time on Tack. I spent a weekend playing with it and it was really great.

Trevor stopped paying for the TACK test server so Im guessing the push has died. Trust agility and certificate transparency really need to come about...yesterday.
Any programmer who isn't deluded/arrogant enough to believe he or she shouldn't have to answer coding questions understands that...he or she will have to answer coding questions to substantiate claims about ability.

Instead, I'd just avoid "real-world" problems that your company has actually worked on unless it's clearly stated as such and you're compensating the candidate for his time.

I'd also avoid challenges that are actually "solve this math problem, and express your solution in the form of a program." You see these all over in places like codility. Perhaps it's just because I have extensive education in research and mathematics already, but I consider these things to be "numerical parlor tricks" more than they are a guage of whether a person can reason out a programmatic solution to an actual problem. They almost always seem to put the candidate in the mindset of "I have to solve a math problem" rather than, "I have to write a program." Contrary to what some mistakenly believe, the two aren't the same, and for all but the most research oriented CS work the latter skill can be entirely independent of mathematical reasoning ability.
I agree with most of Vinay Sahni's points: http://www.vinaysahni.com/best-practices-for-a-pragmatic-res...
UPS & FedEx can't deliver to private mailboxes in the US? What about private newspaper delivery?
I like that this works just as well on mobile as it does the computer. Great work!
It is my understanding that everyone gets an email, whether it is an invite or decline. Is that correct, or do they just send invites?
www.goodaudience.com — curate and grow the right followers on social media.
CNN: "$country has kidnapped the President and declared war on the United States"
Noticed "Inception" was much easier to stream than "200 Motels", and the laserdisc version didn't even work. How in the hell does this thing work? It's pretty awesome, once the movie actually downloads. :)

Seems like there's some caching going on. Good idea.
1) Have the internal team use the same public API as much as possible. I believe Steve Yegge (of Google and Yahoo) wrote a long article about this concept. Here's a link[1] but I can't remember if it's the definitive one I read before. By forcing your internal developers to use the same API, you see the frustrations of any incoherent designs that outsiders would see. Also, bug fixes fix the defects for private & public users.

2) Design the API to encourage clients to stumble into the "pit of success." I believe Microsoft's .NET team originated this phrase.[2] This means sensible defaults for the the most common tasks. It leads to related maxims such as "make easy tasks easy and hard tasks possible."

3) Additional documentation that's organized thematically around "tasks", "workflow", "usage scenarios", and "concepts". It's not enough just to have a dump of functions listed in alphabetical order presented as a "reference guide". The reference guides are important but people unfamiliar with the new API need some handholding and reference guides don't do that. The task-oriented documentation would be things like "Getting Started" or "working demos".

[1]http://apievangelist.com/2012/01/12/the-secret-to-amazons-su...

[2]http://blogs.msdn.com/b/brada/archive/2003/10/02/50420.aspx
Yep, most, if not all, of my Groovy coding is for Grails based apps. I'm not really using it for lightweight scripting, nor for dedicated backend-service work.

And while I'm a fan of Groovy, I am still very interested in learning both Clojure and Scala, but I'm too busy with the day-to-day stuff to spend a lot of time on either of those. :-(
> this is nothing compared to the banks getting caught fixing the LIBOR rate a few years back

It's really nothing compared to the fact that banks can print trillions of dollars of credit out of thin air - and not go to jail for counterfeiting. Heck, counterfeiting used to be a capital offense in this country.

So the lesson is always: rules don't apply to rich people.
Chromecast is typically powered by the USB port on the TV, not the wall. I'm not going to buy this if I need to plug it into the wall.
I remember watching some video of bram cohen in his lab, where he was actually making some p2p video client.

I guess what he's working on at this moment... I guess nothing ?
Shuddle – Uber for kids
He talks primarily about a REST-Api not Code-Api. For Code-Api i prefer Javadoc too.

For rest-api https://github.com/apidoc/apidoc

Within the doc you can add examples for usage and response.

But a some common pages with Tutorials / HowTos are nice and should be added to a good documentation. (it depend on the complexity of your project and your audience).
Working under the assumption that:
1. The banks only care about one thing -- profits.
2. Individuals at the bank primarily only care about their pay (talking about the ones responsible for massive fraud and have bonus structures that encourage it, not the tellers at your local branch).

If government took actions to pull all revenue (plus some) generated by these schemes it could go a long way in changing the culture. It appears to me, and probably many others, that the punishment imposed (fines) are simply a cost doing business as the banks appear to still be making profits, or at the very least keeping large portions of revenue, off of illegal activity.

There is no simple solution, and this might be the wrong one, but the current solution doesn't appear to be working.
RE:documentation, Stripe does an awesome thing where they inject your API key and secret into the examples, so you can just copy and paste their example and go.

Its brilliant, and should be copied everywhere!

I'm also a big believer that really excellent, thoroughly commented examples are worth a thousand pages of documentation.
Want to Build a Productivity App? Take Inspiration from 8 Successful Founders
Maybe he doesn't like to do different business in the same place? Try getting another box.
Susan Wojcicki Wants to Sell You YouTube Video Subscriptions [video]
Ensuring PEP 8 compliance using Git hooks
1. Documentation. It has been said in other comments. If you do nothing else right, do documentation. It is paramount. Documentation must contain code samples that can be ran without scaffolding a huge project. cURL command lines -- or the equivalent in non-HTTP APIs, are, for me, as good as it gets.

2. Account for failure. The failure path is more important than the-one-true-path. Be verbose in your errors. Be specific in your error descriptions. Be extensive in the kinds of error conditions you test, particularly when validating the input. Bonus points here if you can make the API introspectable.

3. Resource oriented. Expose your resources, then verbs on top of that. These are application-level resources. Do not directly expose the data model. RESTful APIs obviously follow this, but going REST is not the only option.

4. Stateless, or with as little state as possible. Stateless APIs make clients a lot simpler. They have the added bonus of scaling better on your end (on the server end).

5. Predictable. This is achieved by being both consistent and verbose. Do not use abbreviations on method names. Define a vocabulary and use always the same nouns to refer to the same entities. If using positional arguments, use the same calling order (i.e. avoid the needle/haystack you see in PHP).
I also talked with a bunch of people who had worked with him previously, some of whom were references given to me by Marc and some of whom were backchannel.

[Edited to be less confrontational.]

That's reckless and unethical. I'm sorry, but if you make reference calls that aren't provided, you're engaging in the kind of invasive, fratty, white-male-privilege shit that gives Silicon Valley a bad name. It's also why we, in the technology ecosystem, don't have the credibility to get the rest of society to respect us and get some genuinely competent business people (see: Damaso Effect) in our mix. We let immature psychopaths get away with shit, and the rest of the world (rightly) thinks we're all a bunch of sexist, classist, oblivious tools.

Also, going beyond the "classic 3", in reference checking, backfires. Average people can provide 3-5 references, but the people who can survive a double-digit, backchannel reference check are mostly the ones who bought references (it's a real thing) and intimidated people into saying good things about them. Somewhere around 6-8, the empirical relationship between the number of references and the quality of candidate actually goes the other way, because you exclude more unlucky good guys than you filter out bad guys (i.e. unethical people you'd want to not hire, and hope to filter out by checking references). The worst of the bad guys almost always have their act together.
Futuristic BMW i3 – the car that rewrites the book of car making
My problem with that is: Most modern web-apps run much (up to completely) in the browser.

"Use the right tool for the job". :-) There's no particular reason a "modern web-app" has to run completely in the browser... it still makes perfect sense to put heavyweight process intensive stuff, persistence, business logic, etc. on the server-side. If I'm building an app that uses a lot of "semantic stuff", most of that stuff is, indeed, happening on the server side.
I think brute force could be used to prove him wrong (if his conjecture is incorrect). However, it won't be enough to prove correct.
Ask HN: Should I release a SaaS with double license or not?
Hello,

I started a side project for our family business. Now I reckon that it might have value as a SaaS, for others.

I don’t know if I should make the project Open Source or not. I’m keen to opt for a solution where there is an open source version, which you could install it on your server and a ‘pro’ version with additional features which I run on my servers (with API, integrations, etc.).

I would like to have some advice on the matter from people who had to make the same choice before.

Another issue that might arise in case I opt for the double-license is what license should the open source version be released under. I took a look at sidekiq[1] which I think uses this model successfully and uses a proprietary license for ‘pro’ and LGPL instead of BSD or MIT licenses. I don't know why they went with LGPL over the other two though.

Comments and thoughts are more than welcome, thanks!

[1] http://sidekiq.org
Investment automation startup Wealthfront raises $70M
I ended up skimming a lot of this, because the author got a bit long winded. I got down to the five choices and had to wonder to myself which of them Dave Pell made, because he still publishes NextDraft today:

http://nextdraft.com

It has not, however, been in continuous publication. At any rate, Mr. Pell seems to have kept the lights on producing online content.
> of the great powers, only France and Russia has a desire to upset the status quo

That wasn't really the case, though; during this period Germany was very busy upsetting the status quo by expanding their navy, which directly challenged the UK's position as the world's pre-eminent naval power.
I absolutely agree that autonomous vehicles are not at all ready for primetime right now, but this article doesn't understand the implications of Moore's Law and the rate that AI is improving as a result of this exponentially increasing computing power.

Specifically, this quote: "To be able to handle the everyday stresses and strains of the real driving world, the Google car will require a computer with a level of intelligence that machines won't have for many years, if ever."

If processing power is doubling every 18 months (which is has consistently for the past 100 years and looks poised to continue), then this statement is nonsense.

This article about computer vision gives a good understanding of progress in AI:
http://bits.blogs.nytimes.com/2014/08/18/computer-eyesight-g...

Computer vision is doubling in accuracy almost every years (due in large part to exponentially increasing computing power). Similar trends are occurring in natural language processing, robotics, etc.

I would trust Sergey Brin's ability to forecast how advances in computing power will enable such technologies far more than some non-technical journalist. I think Amara's Law sums this up nicely: "We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run"

Thus, driverless cars may not be ready in the next couple years. But to then conclude they will never be ready is ridiculous.
CoreOS is Linux distribution. It has been tuned to be lightweight, secure, and highly compatible with Docker among other things.

Mesos is a job scheduler for large distributed systems based on a quick read.

edit: and to the point, it is very natural to consider Mesos slaves as running inside of Docker containers (which may be based on CoreOS)
Technically, they probably meant "contribution margin"

http://en.m.wikipedia.org/wiki/Contribution_margin
As a side question, I'm curious why you think that Google is becoming "more and more" evil? There are products like Cultural Institute, google.org, and many others which prove just the opposite.
Very good point. Have you seen any other articles related to this topic recently?
Do you believe the BMW I3 could redefine the future of cars?
The guy sure likes superonlinealmalimiyim.com
Mesosphere is based on Apache Mesos, Marathon and other technologies. Mesos is an abstraction of the underlying hardware - exposing APIs to allow running tasks in a cluster ~ think of just launching threads on your linux box - with Mesos it's similar, you can launch processes on your servers across your datacenter or cloud. It's production software that powers Twitter, Airbnb and other companies at scale. Mesos is more than just orchestration - it's really a fabric for writing distributed systems. Apache Spark was a sample app written for Mesos. Marathon is another application that runs on top of Mesos and orchestrates containers. It can handle tens of thousands of containers and more in a single cluster. Chronos and Storm are other systems that can run on top of Mesos.

Marathon: https://mesosphere.github.io/marathon/
Chronos: https://airbnb.github.io/chronos/
Invitation codes for Writer.is
I have invitation code for http://writer.is
Code: HCKNW
Bitcoin subreddit has +140k users, Ethereum has +3k. Despite it seeming super cool and impressive, there just isn't a significant community developing around Ethereum. And you can't make the case that Ethereum is newer as its been around longer than the Dogecoin community and that has 80K users.

I want to care about the alt-coins, especially Dogecoin, I just agree with fredwilson and @cdixon that only Bitcoin has the network effects going for it. Impressive developers being behind the sidechain concept, see e.g., blockstream.com, will only further the gap.
memory is has been getting better over the years, thanks to the memshrink project though. https://www.areweslimyet.com/
First among all things: a good API allows developers to do something enormously useful within their applications which would be prohibitively difficult to do absent the API.

My two favorite APIs are, by a country mile, Twilio and Stripe. They have wonderful documentation, sane design choices, good first-party library support, responsive engineers on standby for questions, curl-able URLs which return human-parseable JSON, yadda yadda, but the most important reason they're my favorite APIs is that they directly enable me to build and sell the things which feed my family.
Assuming you take care of the essentials like documentation and code samples, following will make your API shine.

* Explanatory Error Responses: Tell what was wrong in a problematic request and, potentially, how to fix the request

* Introspection end points: Which can tell you more about the request (headers/body) and credentials (rate limits, app id, etc) observed by the server. Is very handy in case of debugging.

* API should be able to tell properly when its unavailable. Ideally by returning proper HTTP 503 response.