skysight-inc/HackerNews huggingface dataset:
Neither of the schemes mentioned here are good as they change the URI for a resource, which breaks all sorts of things. Could you imagine if every website wanting to switch from HTML 4 to HTML 5 had to update their URIs from https://www.example.com/HTMLv4/contact.html to https://www.example.com/HTMLv5/contact.html? It would be chaos.

For instance, if client application A talks to the service using version 1.0 of the API and client application B talks to the service using version 2.0 of the API, then those client applications can't interoperate because they are seeing two different sets of resources.

Your solution isn't far off the approach recommended by everybody who rejects the different URI approach. You don't need an API version header. When your representation format for a resource changes, provide a `version` parameter for the media type. For example: `Content-Type: application/vnd.example.foo+json;version=2`.

This is exactly how HTTP and the `Content-Type` header are supposed to work – if your representation for a resource changes, you don't change the URI, you change the media type.
That would be more like

inoremap <Tab> <Space><Space>

The request was: when I press two spaces, I want a tab character to be inputted. I agree that if you want `n` spaces when the tab key is pressed, you should use `expandtab` and `shiftwidth`.
How to Pitch Your Company
The attitude you describe has been the foundation of every nation's moral policy for thousands of years. Thucydides set it as follows in the Melian Dialogue, in which the Athenian and Melian ambassadors discuss the subjection of Melos:

"We hope that you [Melians], instead of thinking to influence us by saying that you did not join the Lacedaemonians, although their colonists, or that you have done us no wrong, will aim at what is feasible, holding in view the real sentiments of us both; since you know as well as we do that right, as the world goes, is only in question between equals in power, while the strong do what they can and the weak suffer what they must."

The Melians responded that the Athenians should nevertheless concern themselves with what was right because the Athenians themselves might be weak someday.

This was the fate of the Melians, after they refused to surrender upfront and forced the Athenians to fight:

[...] the Melians surrendered at discretion to the Athenians, who put to death all the grown men whom they took, and sold the women and children for slaves, and subsequently sent out five hundred colonists and inhabited the place themselves.
ShapeShift and the Ethereum Hardfork
The tl;dr is that Voltaire, in league with other influential folk, would buy all the tickets for various lotteries (at discounted prices), and therefore guarantee themselves a win. They did this over and over through the years, making themselves extremely rich.

Far less nefarious, but it reminds me of the guy that bought every jello pudding cup in town in order to accrue millions of frequent flier miles...

http://www.snopes.com/business/deals/pudding.asp
I don't know if you read the whole article but the exact same thing is suggested towards the end.
I expect if they have any technology that's actually worth anything it'll get sold off. I can't imagine Theranos surviving as an ongoing concern.
REST is a human driven protocol. That's why resources have a link to a description of what the resource is.
Big +1 to killing offset in favor of order-by and an "after" or "before" criteria.

However, -1 to the idea of sticking any important "metadata" in headers. For one, it's dramatically easier to interact with response bodies than headers at the terminal or with simple programming libraries and tools. Having only one way of representing data requires fewer special cases. JSON is far superior to key/value pairs in terms of ability to represent structure. Lastly, if you ever decide to use a different "transport" protocol other than HTTP, you'll be glad you are already using a common representation without a side channel.
Participating in the Cold War at all, however, was not.

"Interests" are not self-justifying.
Seems to becoming a monthly affair.
Ok here they are:

The algorithm aversion paper is here: http://opim.wharton.upenn.edu/risk/library/WPAF201410-Algort...

The attraction bias is found here: http://lesswrong.com/lw/lj/the_halo_effect/

The hungry judge study is found here: http://www.scientificamerican.com/article/lunchtime-leniency...

That algorithms almost always do better than humans is backed up by this: http://lesswrong.com/lw/3gv/statistical_prediction_rules_out... and https://meehl.dl.umn.edu/sites/g/files/pua1696/f/167grovemee... which also mentions the 1928 study.
> You can have voluntary diplomatic relationships of varying degrees, but this idea of influencing foriegn power players doesn't sit well with me. I'd rather their power came from local sources and therefore is incentivized to benefit the local population and local economic interests.

Think it through from the other side. You're in a small, relatively minor country without the ability to sway the whole world. Your economic interests depend heavily on a handful of more powerful neighbors. Are you going to sit on your hands as the local power coming from local sources trying to look after the local economic interests of your neighbors' local populations makes decisions that will impoverish your local populations through their local economic interests?

You might say "Yes! Yes I would, because to do otherwise is unethical!". However, I'd lay good odds that your local populations and local economic interests would prefer leadership interested in actively defending those local economic interests, even through foreign power players. I'd further hazard a guess that these preferences might find expressed in electoral processes.
rms is a hacker if anyone is a hacker, and he gives an example of hacking that involves eating with chopsticks at a Korean restaurant.

https://stallman.org/articles/on-hacking.html
DOL EBSA spoke to the Administrator before speaking to me. I don't know what the Administrator said, but the person from EBSA that I eventually spoke to admitted that he did not actually read the complaint. He said that he would investigate some of my claims (though he was unable to articulate any of them). I was never able to get the results of his investigation (I don't think it was performed in the manner he claimed it would be). I followed up with a letter to the head of the EBSA and despite receiving a signed Return Receipt, I have never received a response to it.
Interesting to see the doc filled with relevant quotes. Makes the document look really polished. Which is a nice change, considering most articles these days seem to be written as if they are for the tabloids.
> I concede to greater minds than mine, but those minds are estimating something in the range of a 2-3% impact in the long term, nothing drastic. I'm unclear about the reasoning behind the doom-and-gloom.

To be fair, a 2-3% impact is huge in the scheme of things. Especially in the current slow-growth environment. As a comparison, in the US February 2008 to February 2010 there was a 5.1% GDP contraction and that event will be in history books for centuries.
In other news, a global passive adversary can use traffic analysis, timing data, and known patterns to deanoymise a Tor user.

The only "new" thing here was the rough traffic pattern analysis of CF captcha page.
To be frank, main issue is people are arguing about semantics, one side thinks Fielding's definition is the only thing that can be called REST, and the other larger(?) side could care less about that academic definition and are describing some simple rules for HTTP APIs. While it would be nice if there were two terms, just saying "This is NOT REST" really doesn't clarify anything.
Neat, I missed this when originally posted. Sadly, it falls apart on the "cross-platform" requirement (does not appear to support Windows).
> I am beginning to reject that there is a "one true answer."

There are basically no guidelines that always apply. Novices should stick to them, and people with more experience can recognize when they don't apply.
> I find that the people who are the most obsessed about unit testing generally aren't good programmers to begin with.

I don't think you can generalize this, neither subjectively (my shipping code quality has gone way up since I switched to TDD) nor empirically (evidence seems to indicate that you can achieve up to a 90% production bug reduction with a 15-35% upfront extra time cost doing TDD, which most would consider "worth it"). Secondly, this doesn't mean a very good programmer on a team doesn't have to write tests, if only to prevent others from breaking the behavior expectations of his code down the line. Thirdly, tests serve to validate that behavior if you yourself ever have to go back to the code to change or refactor it, so unless you are SO good of a programmer that you have perfect memory of the mental models of all your past code (which would put you in the extreme minority of all programmers), they will still come in handy.
Datacenter on the moon? At -200 degrees Celsius in the shade, the temperature on the moon is perfect. Of course, moving the data would be a problem but it would be a great backup solution!
There is indeed actually such a thing as "benchtop NMRs" (like Picospin, Spinsolve, etc. -- https://en.wikipedia.org/wiki/Benchtop_nuclear_magnetic_reso...) but as you say they operate at a much lower resolution.

(My understanding is that these machines came on the market for certain applications where the low resolution wasn't as much of a problem as other things like affordability or portability.)
7 Steps to Overcome the Negative Feedback Spiral
Taipei Taiwan Yangmingshan drive
No there isn't, a great deal of the web is loaded without direct human requests. For example:

* Web crawlers

* Archival services

* Embedded resources (stylesheets, JavaScript, images)

* Newsfeeds
Once I'm in a large underground station I'm more likely to follow the overhead signs than rely on my phone
There is another alternative. At the risk of repeating what I've mentioned elsewhere in the thread, this is to not use column alignment at all.

Simply use indentation in the places where you might be tempted to start lining up columns.

It's really easy to use an alignment-free style. A good way to get in the habit is to code in a proportional font instead of monospaced. By doing that, you won't be able to use column alignment, and you'll naturally gravitate toward using indentation to represent the block structure of your code.
Because he was very effective.
I never said that he's doing anything wrong.
Echoing others' points about not requiring people to own smartphones to get around the city.

But more than that, the physical signs are superior to smartphone feeds in many ways - we already have situations where people are milling around outside stations fetching the status feed. Crowding is a severe problem with the NYC subway, and a sign that you can just glance at while walking is much more efficient than having everyone stop and check their phones.
Why Cash Is Worth Less Than You Think
> All of that is the rigour coming out of one principle, every time you find a problem in the code at any point its not the individuals fault its the teams fault and you work out the genuine cause and ensure it can't slip through again.

This. In every organization it is the motivation of its parts that drives it towards the goal (or not). It is easy to misalign common goal and individual goals through bad management. In fact, in my experience this is one of the most common mistakes.
Nextcloud and Collabora Bring Online Office to Everybody
Delta queries can be serviced by any system that supports temporal tables[0][1], or another mechanism where data changes are tracked.

[0] - https://en.wikipedia.org/wiki/SQL:2011 (temporal support)

[1] - https://msdn.microsoft.com/en-us/library/dn935015.aspx

[2] - http://clarkdave.net/2015/02/historical-records-with-postgre...
I think unit tests are a great tool to motivate code that is simple and easy to reason about. After all, a good unit test is itself simple and easy to reason about. It also forces you to think about what is the simplest unit of software for a given task, helping design the software it is testing.

Also, I've definitely had code I thought was well tested and good to go, but when I rigorously went back and wrote unit tests, I found subtle bugs I wouldn't otherwise have known to fix.

That said, yeah it's not all it takes to get things right. Dogma is bad, but unit tests are an essential part of the toolkit for ensuring code quality.
I'd love to see some guidance on how you're supposed to do file uploads (think: uploading an image avatar for a user) and fit it into the REST structure. These guidelines don't even mention "x-www-form-urlencoded" except in a bit of fluff about CORS.

Made more frustrating by Microsoft's own WebAPI2 basically having zero support for file uploads, meaning we had to go way outside the library to code support for it.

Not sure why that's such a blind spot. Doesn't every web service need to upload files eventually?
Speaking as an lady old fart on the Internet, it wasn't nearly this bad 15, 20 years ago. I've spent literally decades in some of these Internet communities, and the level of disrespect women receive on the Internet has skyrocketed in the past 10 years. Used to be that shit like doxing was incredibly rare; now it's an everyday occurrence and has to be factored into most women's social media.

There's also a lot to be said for standing up and saying, "hey, this isn't okay behavior." Because it won't change unless this kind of behavior is brought into the spotlight and their perpetrators left to scurry like roaches.
No plugin for only caching headers, but you can do that easily using the headers plugin or headers_downstream within the proxy plugin.

As an example:

header / Cache-Control "no-cache, max-age=86400"

header /images/ Cache-Control "max-age=86400"

header /css/ Cache-Control "max-age=604800"

header /fonts/ Cache-Control "max-age=604800"

header /icons/ Cache-Control "max-age=604800"

If you want to add the header only to static assets that can be done, but is a bit harder.
Compared to San Francisco where they're let to just wry in the wind?
1) There are so many resources. Your best bet is to find 10 or so that teach modern c++ (c++11 & c++14), and follow through with your favourite.

2) Memory management is the biggest difference from Java and C#. Try not to use pointers unless you have to, when you do try to anchor the pointers in stack data (created without new), if you have to use new try to wrap the pointers in RAII classes (smart pointers).

3) C++ is multiparadigm, don't feel required to stick religiously to OOP practices. functional and procedural techniques can be better if you know what you're doing.

4) The stl isn't as... robust as the standard libraries of other languages. You WILL need to search for third party libaries.
Do you need to have a company formed to accept payments?
AWS Web Services ongoing api problem
They gotta sleep somewhere. All the shelters are full.
His age is showing.
>No one is that incompetent.

Well, I'm not sure I'd go that far.
You are saying something I highly doubt you want to be saying.

My "problem" is an online store. It is about 75,000 lines of code. It needs all 75,000 to solve the problem. What you are saying is that it would be "somewhat" hard to deal with whether it is all in one big function or many functions.

But in reality, one big function would be incomprehensible. It is vastly easier to deal with broken out into many functions.
Why is Facebook applying different standards to different countries? In Saudi Arabia, they outright disable encryption to placate the government, so why not Brazil (not that I argue for weaker encryption, but the double standards are mysterious)
But it's a Google-served reCAPTCHA so there's nothing to measure on CloudFlare.

So I disagree that there's detail here. Need real technical detail to be able to take action.

If this were a paper or PoC then would be different.

If there's a way to do that then please report it to us.
> REST seems like an elephant in a room with some blind folks. Everybody who touches it thinks it's something different than the next guy, and they're all describing only one element of the thing.

I don't see it that way at all. Sure, there are minor quibbles about various approaches, but you can easily place everybody into one of two camps: the ones who don't know/care about REST's technical definition, and the ones that do. The two groups largely agree about what REST is amongst members of their own group, but disagree with the other group.
Turkey Extends Purge to Universities, Asking All Deans to Go
Are you suggesting that Fielding did not intend REST to be used in automated systems?

By "distributed hypermedia systems", did he really mean "alternative browsers for alternative WWWs"?
I thought nobody but the big names were making money with apps ...
I'll piggyback on your comment to add another functional version of C to the discussion, Single Assignment C.

http://www.sac-home.org

http://en.wikipedia.org/wiki/Single_Assignment_C
My comment was because I found it interesting that they are trying the partially open source model, when it seems like that hinders adoption. So 'recent' is the competition for adoption.

Didn't a lot of Xamarin get open sourced after the acquisition? Swift is also open source, although Xcode isn't.
Adolf Hitler was also democratically elected. Just sayin' ...
Does any language have as a feature blocks that you must pass variables to? I tend to prefer larger functions but agree with your point. If I ever write (or extend) a language I am going include huge numbers of ways to make assertions or explicit limitations of various forms.

I like Jens Gustedt's proposal for annonymous functions in C (at the end of Modern C[1]) by extending the syntax for compound literals. That would in a way give parameterized blocks, except that what you pass would be at the end (although if you name the parameters the same as what you pass it should work).

I think the main point is that it is helpful to be able to easily follow all the code that executes from point A to point B (at least up to the point of whatever portability layer you use). If you can reasonably structure it so that you just need to hit page down to read that code (without duplicated code) then that will often be easier to read IMO. I don't find one or two levels of function calls to be hard to follow, but after that it quickly gets more difficult. I suspect preferences here may to some extent be influenced by how good your short term memory is (and how good your IDE is). But I suspect there are also significant differences in how often different programmers try to step through code.

[1] http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf
> In Kibana, everything is done over GET as get parameters, and I find that extremely annoying and a poor design.

Kibana (4.x) being a website to display queries and some charts and weighing
over hundred megabytes is itself a clear example of a poor design.
Indeed. IIRC Russians hired Gerhard Schröder for gas pipe pr...
The question is predicting recidivism. Whether someone will commit a crime again after being released. If they are a danger to society. And grouping people into low risk or high risk categories, so people spend less time in prison, but really dangerous criminals are watched.

If human judges do better at this task, it's very easy to test it. We ask them to predict what criminals are low risk or high risk. And they barely do better than chance, and are easily beaten by the simplest statistical baseline. Yes algorithms have edge cases, but humans have far more.
There might be benefits and protection from some neighbours but the small countries are rarely left with much sway in the conversation. There will always be a compromise and I get the impression the vast majority of countries are too quick to take that compromise under the oversold promises of globalism.

I hope the pendulum swings back and countries still engage in global trade but put their own priorities first instead of making themselves vulnerable to the real power players.

We're speaking abstractly but I think this is the gist of recent developments in globalism, what people are starting to grasp after the full destruction of mercantilism in the last half century.
I agree, besides everybody want self-driving cars to reduce accident rate.. This should succeed.
Something as simple as the new grab bars in the middle of the car will be a great improvement. Although I'd rather it be a 3-bar split as opposed to the 2 in the mockup. That way we can still have the annoyingly frequent bar leaner and still have a place to hold on to.
Zendesk’s “Automatic Answers” taps machine learning, AI generate bot responses
Instagram Integration for Reamaze
Honestly, the front end would be about as hard, unquestionably! But the Lisp ecosystem is already in play, whereas you seem to have had to build that ecosystem. That is to say, it's not a major effort to scrape through the Lisp systems to understand what is going on, whereas your ecosystem with Graal etc required a great deal of work, it seems to be. Would that be correct? Or was it pretty plug and play after you had JVM bytecode?
Uber to get satellite imagery from company that supplies Apple and Google
The big question is "Would you want to use this in a mission-critical project?" Emscripten lets you write webapps in C, for example, but outside of sharing common libraries across server/Android/iOS/web clients, few people use it.

Pretty much every professional job I've had used polyglot programming of some sort - when I was in financial software it was mixed Java/C/Fortran numerics, when I founded my first startup it was polyglot Javascript/ActionScript, and at Google it was a large server that was first Python/C++ and then Java/C++. The boundary between languages is always problematic. And the reason for that is because you choose memory layout to make certain trade-offs around the access patterns for that data. Do you inline data structures in a vector, or chase pointers? Do objects carry their type information with them so you can manipulate them dynamically, or do they throw it away at compile-time for greater efficiency? Do you get O(1) string indexing or native UTF-8? Do you allocate on the stack or the heap? Do you copy, borrow, move, or COW?

And then when you go to switch representations to call into another language, you pay a cost to convert all the data structures you might be touching. In many cases, that cost could be more than you saved by using optimized representations in the first place.
The way it was intended? You mean by K&R? Seems like you are making a subjective judgement because I hardly doubt the majority of C hackers use C "as it was intended" in 1973.

I'll postfix this by saying I actually don't consider the code snippet as ugly but that's because I like C. Most people consider C ugly because they use stuff like Python or C++ which hides some details. Macros can hide details too, they are just difficult to use. Therefore, for most people C will always be "ugly", but then again, beauty is in the eye of the beholder.
I believe the "unique to CloudFlare" element is that CloudFlare effectively sees traffic for significant portions of the web...but is one entity. So, a powerful enough hostile actor (say, a state) would only need to compromise one entity (CloudFlare) to exploit users of thousands of websites, including many major ones. Er, well, two entities, because they also need entrance data. So, if a state were to compromise an ISP and CloudFlare it would give that state a lot of Tor users identities.

Very few small-ish entities have such a large reach and can interject themselves into so many connections on the web.