skysight-inc/HackerNews huggingface dataset:
While it doesn't have to be tied to your schema, it provides too much flexibility. I worked on an API that provided a data graph-type of way to fetch desired data. The problem quickly became that we were not able to predict the exact paths provided which made it very difficult to tailor the performance. We didn't realize this early, but as the API usage grew, we realized the flexibility was a mistake.

The article mentions pre-processing the graph to determine complexity, some caching, and some timeouts. This is not good enough and can/will be worked around. Inflexible API's with (mostly) single, predictable paths to data provide a great way to tailor performance at the (IMO) negligible cost of extra HTTP requests.
I remember reading something a while ago that many people tboguth Facebook and the internet were 2 seperate things. Stemming from so you use the internet much? Most said not that much. But when asked if they used Facebook much. They said all the time. And apparently even when asked. Thougt of them as distinct entities
Edit: Disclosure: I work for Facebook, but not with Internet.org. I'm not aware of any master plan Zuckerberg has for it, other than spreading internet usage

I'm surprised that Berners-Lee is taking this stance. If anyone, he should understand the critical importance of access to basic information and communication. Connectivity is a cornerstone for developing nations and allowing young minds to prosper. I feel this is a basic human right, but over half of the world's population is not online. They cannot afford it or they do not see the value it provides.

It is grossly presumptuous to say that a small subset of the internet is worse than no internet access at all. The pure internet is obviously better than internet.org. Once people can see the vastness of the internet, nobody will want to be stuck behind a firewall.

Tim Berners-Lee would rather impoverished people have no access to connectivity rather than access to Facebook's watered-down version. He wants them to reject and deny one of the most important things they now have access to. Would he also tell starving children to turn away food donations that are not organic? I guess he would tell them to "Just say no"
Yes, and I'm considering getting a .online TLD vs paying thousands to a squatter vs buying a .org that isn't as good.

Thank you, I had not considered the 'global' consequences which are important to me because I think most of my traffic will be arriving from long tail search
When Blue Bottle Coffee switches to Square there was a noticeable decline in the throughput at the cash register. It just takes the retail employee longer to do anything on an iPad. Pretty much everything can be done faster on a real cash register. There have also been the requisite outages, of course. Recently I was at Blue Bottle and the Square terminal wasn't opening the cash drawer. They were making change out of the tip jar :-/
> if you are writing unprivileged code

I believe this means running in a sandboxed environment where you are not only not root but also not able to access the file system, spawn processes, etc.
Just startups? It's just as hilarious in corporate America.
The techs measured vapor at 37,000 ng/m3 after the first day of cleanup, at which point there was no longer any easily visible mercury. Like water, mercury doesn't need something to vaporize it; you just end up with some vapor as long as there's liquid present.

(Post author here.)
Exxon’s Climate Concealment
Hi All,

We are curating interesting answers by different brands and people and displaying it on beautiful Q&A pages.

We will also provide some tools to categorize and annotate them.

Hope you guys like it. Let me know any suggestions pavan@askmeanything.me
Can confirm. Remember reading the same article
The reporting to which the link refers is here:

http://insideclimatenews.org/content/Exxon-The-Road-Not-Take...
There are a few checks banks make that can make it so they won't open any type of account for you.

1. Credit check, poor credit makes you a risk and they don't like it, but this can sometimes be overcome more easily then the others.

2. If you had a prior account and it was closed forcibly or your SS# still shows up in the checking system as risky. There are a few national clearing houses that track your checks to see if you are a good/bad risk for accepting checks for retailers. Those same systems banks use to determine if they will give you an account.

3. If you have been convicted of a crime of dishonesty in the past, e.g. shoplifting, charged for a bad check, fraud etc.

4. If you do not have a permanent address or your address isn't a permanent residence, e.g. you live in motels day to day.

It isn't that these reasons aren't valid for banks to have concerns about you, but to totally ice you out or charge outrageous fees just because doesn't seem right to me. There are other options, like a savings account with no checks and cash withdrawal only etc.
As someone else pointed out, caps lock is an excellent compose key, that opens up a world of new characters that can be used throughout the environment.
> Facebook is effectively the main web browser...

I'm pretty sure that's exactly the problem. Internet.org sounds like an effort to create a monopoly by collaborating with governments, at the expense of real Internet access by the citizens those governments are supposed to represent, to ensure they're in charge of the Internet when these markets become robust. It sounds terribly corrupt, to me. If Facebook's corrupt efforts can help to define what "Internet" means for most of a continent, imagine the consequences.
Interestingly, this is what Facebook does with their REST Graph API: https://developers.facebook.com/docs/graph-api/using-graph-a...
Statistics of the Universe: Exa-Calculations and Cosmology’s Data Deluge [pdf]
Yes, people do that all the time (e.g. of the top of my head, the Google Drive API).

GraphQL is the natural extension of that, but more flexible and composable. I can get a user's name and email, and his friends names, with the cost of only one request and latency.

You could change your REST API to do the same, but eventually you are reproducing the GraphQL equivalent.
4 kB RAM + 32 kB flash is plenty for a lot of projects, assuming it's possible to execute directly from flash. Just attach SPI flash for extra data storage.
Acting Like an Owner When It Comes to Taking Time Off
I've seen it, but it only runs 6hrs (vs 10-14hr) on the battery, weighs 2X and costs 2X my current machine. Plus 15" is too large. I'm really happy to see the progress on freedom-respecting hardware, I'm just not willing to make that many sacrifices at this time.
You can't get rid of him if you are the only on the team having a problem with him. It is up to you to leave or find something better if he is interfering in your work / not getting along.
Terrifying, and we're all running around blasting ourselves with chemicals, medicines and god knows what. Kind of like physics, we get down to one layer and we're still nowhere.
main /= only. And I'd like to see a source for the assertion that it's the main browser for millions. Facebook is kinda out these days, most of my friends (predominantly not working in technology) don't post anything there except birthday greetings, use it as an event planning/invite tool, and send the occasional message.
That doesn't explain it, at all.

Corporations wanting the legislation to be secret until it is a done deal is not a surprise. But, to assume that corporations are the stakeholders who matter and who should have access to the secret deals being made, is fundamentally incompatible with democratic ideals. The "explanation" is exactly what I am arguing against. The explanation assumes that the only people who should get to see this legislation are the corporations that paid for it, and the people on whom this legislation will be imposed have no rights other than to suck it up and deal with it.

Your explanation assumes good faith where there is demonstrably not good faith.
Isn't Google's approach "realistic"? They're just pulling fiber in Africa, without walled gardens. They now have better networks in Uganda than we have in the Bay Area.

https://www.google.com/get/projectlink/
> I am 22 years old and I am about to graduate in computer science at a great university

Congratulations. Welcome to the real world where school... is pretty useless and every graduate is now starting off on an even playing field. :P

> I know C, JavaScript, PHP and little bit of Python from some personal projects I did for personal purposes.

- Master at least 1 language, and be average on the rest.

- Master at least 2 frameworks from any of them, one stable and one that's more recent.

- Contribute to open-source projects. It's contribution for the others, and more learning for you.

- Go beyond the norms. For instance, build your blog using a static site generator instead of WordPress. Or program a robot in PHP.

- Write a blog about your programming adventures, what you learned, what you discovered.

- Complement your blog with Twitter. Share your posts, put hashtags.

- Be present in online communities. Aside from contributing to open-source, you can turn to StackOverflow or Quora.

- Put those personal projects in a public repository like Github (remove personally info like passwords, PINS, API keys etc.)

- Get a microcontroller, preferably programmed with C, create something, share it online. It's good for online exposure.

> all jobs I see requires previous work experience

Don't let job postings scare you. Some companies will just use that cover to scare off those who aren't daring enough to try, as well as those people who are just academics-minded and don't know how to bust open from their shells. I tried out for a job once, just for laughs, while my friends were legitimately looking for jobs. Out of all of us, I was the one accepted. I wasn't even qualified based on their requirements. Heck! I didn't even finish college yet while my friends all did!

What I mentioned above will set you aside from the rest of the herd of graduates looking for jobs.

> Even with the bad salary I want to enter the labor market

Work for startups in the local community, even for part time. They usually pay low, but you get to meet meet people and learn from them. Hype powers startups, and piggybacking on it can take you to places. You get to meet other programmers from the community, share ideas, improve your skills. You get to know the bigwigs running the companies. Just knowing people can get you around in the community. Know enough and be known enough, you could host local meetups.

Do note that working for a startup can burn you out. Don't overwork, but still get stuff done. Negotiate your work hours, work when you feel most productive. Don't sacrifice your last year in school because you got overworked.

---

Everything will take time, about a few months to a year. I suggest you get started now. And never stop learning.
The refugee tragedy in our own backyard
Will the Clean Software Alliance save us from the scourge of unwanted software?
"Quick code fixes" almost always make the problem worse and just cause stress and anxiety. It's always better to simply tackle the root cause and fix that.

Unless you're disabling a feature, don't push "quick code fixes". You'll pay for it later.
Title should contain (1981).
I try to at least have the slow query log on and monitored in staging. It's pretty easy to forget an index and not notice in a dev environment.
Markets are power and owning markets is a power unto itself. If the poor create their own markets, those markets are vulnerable to the elites using their technology to usurp the market until the poor are helpless again.

I am in no way saying the rich will use robots for the social commons. They will use robots to maximize their power in the world. Just like today, controlling the market is controlling discourse, and if the elites ascend beyond market scarcity they will still want to control the market of the poor should one emerge.

Natural resources (including land) are not going to be fabricated. They may be synthesized through nanotechnology at some point, but you still need raw materials, and it is unlikely even post-scarcity it will be more economical to endothermically manufacture abundant elemental metals found on Earth than by just sending a fleet of robots to harvest it.

Without resources, the poor cannot create. Without land, they cannot farm or mine or harvest. The rich already own the vast majority of both, and have absolutely no incentive to relinquish that ownership even if they no longer need it, because demonstrably today the vast majority of the rich already do not need their wealth and power, but want it.
Many banks also just don't do business in lower-income areas.
I'll be honest, I hate all ads, regardless of how good they are. I think it's creepy and fills my mind with things I do not want it to be filled with. For me, the entire debate is silly because it's my screen -> my decision what appears. I think it barely matters how good the ads are. I've only seen one single website that did ads right (they were perfectly embedded into a mosaic pattern of site functionality, things like a little tile with the coca cola writing). (EDIT: Okay, news.ycombinator.com also does it well with its inline job ads. See, I didn't even think of it as an ad, that's how nicely it's embedded.) The problem is that people used to use the internet to exchange files and information that was then locally stored on each PC. Now, you go to youtube, listen to a song, and 20 minutes later you download the entire video again if you listen to it (if you closed the tab inbetween). That stuff adds up and of course everyone is reluctant to pay that bill. The solution is going back to a decentralized download-culture like it was in the 90's. Storage space is incredibly cheap. Nobody has to pay that bill of transferring the same things over and over and over again.
Why are people so insistent that Facebook's Internet.org is a bad thing?
Is no internet really better than limited internet? These people have almost no internet right now. A lot of these countries can now use Google and Wikipedia. It's either total freedom for free, or no freedom at all?
I hope this gives some pause for people who advocate the XKCD line on free speech[0]. While not every platform should be required to host every kind of content, when a platform becomes sufficiently dominant, its ability to censor content becomes a free speech issue.

[0] https://xkcd.com/1357/
I wouldn't consider Keepass the most secure choice. One of the most common attacks in practice is phishing, and browser integration discourages carelessly pasting your password into something that looks like your bank's site. The Chrome password manager and LastPass can help there, but Keepass does not.
Is 2015 “Peak Renter”?
We Are Not “Legends”
There is a surprising amount of things that don't take credit cards particularly emergency house repair. There was another time when I had to put a down payment right away or else some one else would buy it. I suppose that is not that much of an emergency but I still think it's good to have a reserve with auto deposit.
> not a soul on HN would dream of carrying 11k in cash through an airport.

I've carried over $11k through an airport dozens of times and occasionally carried $30k or more.

(I used to be involved with a professional blackjack team. :-) )
I needed to draw tidy binary trees recently. I found the algorithm in this paper impenetrable, but the paper from which this one is derived (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.150...) had a very accessible algorithm, that produced results that I found acceptable.
We had a utility I wrote at one of the places I worked where you ran it against the database and it showed you all of the query plans running. It was easy with 15 seconds to see some non-indexed query and what was executing it. We used to run it after new version deployments to see if we had query problems. Tooling is very important.
Despite a lot of fiber in Africa, connectivity is hampered by ISPs refusing to pay for bandwidth, ultimately resulting in super slow connection speeds and horrible latency.
Very good point. I would like to see more debate about this particular issue.
The browsing experience offered by internet.org isn't just some walled-off version of the open internet, with network costs underwritten by Facebook. They also do a lot of work to make sites offering health information, commodity prices, local job searches etc not only viewable (layout wise) on mobile but able to work on extremely slow networks and on low-end devices.

See this review: https://medium.com/mwater-technology-for-water-and-health/re...
> a GPS-measured velocity of 0 with an engine running in gear suggests that the car's on rollers

Heck! Even if I don't use velocity or gears sensors, the fact that the car is in a testing area (given by GPS) might be enough to switch to low-emissions mode. But I would need the GPS location of every testing location.
uh -- do these idiots not think that a "white hat hacker" could be doing something from a VPS/VM in a cloud behind six proxies??

Destroy that bitches!
So, and engineer can just submit a production change that an database operator will execute? What is the ceremony around this and does Stripe employ DBAs for production. What is the review process for a production change?
Not touching on the rest of what you said, but what's so bad about min? Apart from some internal clang stuff, like odd names and macros, it looks okay - I can see what the function is doing.

// min

template <class _Tp, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
const _Tp&
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
{
return __comp(__b, __a) ? __b : __a;
}

template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
const _Tp&
min(const _Tp& __a, const _Tp& __b)
{
return _VSTD::min(__a, __b, __less<_Tp>());
}

#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

template<class _Tp, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
_Tp
min(initializer_list<_Tp> __t, _Compare __comp)
{
return *__min_element(__t.begin(), __t.end(), __comp);
}

template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
_Tp
min(initializer_list<_Tp> __t)
{
return *__min_element(__t.begin(), __t.end(), __less<_Tp>());
}

#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
Interesting comment, but you're missing a critical reason we can't go straight for the goalpost - we don't know where it is! Yes, our computation architecture is sub-optimal for the situation we find ourselves in, but we only know that now because we're here, and these things take a long long time to make it from idea to usable hardware.

Sooner or later computation will have been around for long enough that everything will settle on a common boring architecture (how much steam engine innovation has there been recently?) but until then we'll always be using the systems designed to solve the problems of 10-15 years ago.

To paraphrase Rumsfeld, you don't build on the platform you want, you build on the platform you have.
There are different philosophies, but given you are still in school and have a year to go.

I'd focus on learning data structures, algorithms and different architectures, when to use what and the trade offs. I say this because honestly, a smart person will pickup just about any language you put in front of them, but if they don't understand the choices behind architectures, data structures and algorithms then their value is far less.

Also, while IMO you should do the above I also agree with MalcolmDiggs suggestions too, you should use this time to experiment with different technologies and different parts of the stack to see what interests you. You may find you hate being a front end web guy, or that you love it. I'd pick an open source project and contribute/learn from it or write some self serving applications that do little things you or your friends would like.
Don't presume to give them so much benefit of the doubt. Apparently Stripe are kind of jokers.

This incident report reminded me of the 'Game Day Exercise' post from 2014:

https://stripe.com/blog/game-day-exercises-at-stripe

in which one robustness check that should be a continuous-integration kind of test, or at least a daily test of a normally working system, is such a big deal to them that they make a big 'Game Day' about it, and serious problems result from this one simple test.

After they have lots of paying customers, of course.

I know we are supposed to be positive and supportive on HN but this was a red flag that the entire department has no idea what an actual robust system looks like and were so far away from that, after having built a substantial amount of software, that expecting them to ever get there may be wishful thinking.

So I am completely unsurprised that they are having this kind of problem. The post-mortem reveals problems that could only occur in systems designed by people who do not think carefully about robustness ... which is consistent with the 2014 post. It kind of shocks me that anyone lets Stripe have anything to do with money.
That's correct, you destroy HTTP-level caching.

(For one, your queries can be large so are POSTed anyway.)

Relay is a caching layer that understands GraphQL semantics, but you no longer have transparent HTTP proxies, browser caching, etc. Though HTTP proxies are dead thanks to HTTPS, and with modern browser APIs, you can do your own limited caching.

It's certainly a tradeoff for what you expect to give you best performance gains: fewer roundtrips, or more caching by third parties.
I think the main issue is the name not the product. If it was honest about what it was then fine it's just modern AOL, but the name internet.org is at minimum misleading.
And it is these companies that we should punish. I would love to find a way to inspire the consumers of this world to form a deep and powerful union.

A union that stands together and through collective boycotting, is able to effect just one corporate take down. And by that I mean complete, absolute and terrible market action that brings a company to its knees and bankruptcy, Lehman Brothers style (I understand the employees are 'collateral damage here but I think it would be worth it).

If we could just once, take down a stock market level company, through the pure will of the people, I think we could undermine the almost unmatchable power of the corporation as it stands today.

The argument against of course is that boycotts have never really worked. Consumers don't want to work in union. Corporations control the media and as such are able to persuade the people of it ineffectiveness.

But one success would change all that. I'd love to see that happen in my lifetime.
What is there to debate? Question: Is being a slave really worse than being poor?
As a Frenchman, I reckon French manufacturers are gaming the stats/cooking the numbers as well, but I don't share your view on the age of the cars emitting the foulest stenches. 90% of times there's an issue it's a 10+ year-old car and most often from the cheaper end of the price spectrum.
I'm a relatively long time Spacemacs user, and just recently dropped it exactly because it abstracts too much, and I wanted Emacs keybindings. I've failed to comprehend how it answers my question. Thank you anyway.
The Secret Service’s Rotten Culture
The New York Times has a million digital-only subscribers who might disagree:

http://www.nytimes.com/interactive/2015/10/05/business/the-n...
Im not sure why people defend ads. They fear the free web would be in danger? It already isn't free if it has ads.

In the end if the ads is distracting you from the content its a bad ad, and given the choice you don't want to see it.

Thus the only acceptable ads, are things like product placement. You know its an ad but it doesnt cut the flow.
Dow Jones Discloses Customer Data Breach
Well, internet.org is non-profit organisation, so...