skysight-inc/HackerNews huggingface dataset:
I like the rule "no feigning surprise". "No well-actually's" and "No back-seat driving" to me seem designed to help the linear flow of IRL interaction. But in a threaded discussion forum like HN, the important main thread can still go on unimpeded despite "no well-actually" side-notes.

The "no-subtleisms" rule is designed to hinder the spread of information about the differences of different groups. "It's so easy my grandmother could do it" is supposedly bad because it reminds us that there is a group, old people, who are not like us. Focusing on differences can create a hostile us-vs-them climate. But it can also remind us that there is a world outside of SV. That there are other people with other abilities and skills, with other problems that need solving. In this particular case it can remind us that if we want to target old people with a product, to make sure it is easy to use.
The lions share of us didn't come to the US, we mostly went to Brazil and other more tropical locations. And you have to remember, that after 1819 or 1820, the importation of slaves into the U.S was banned.
I dont agree with any logic behind the carbon taxes however, there is good case for taxation in case of pollution. The key problem with pollution is that no single person owns the air or water bodies and hence no one minds degrading it even thought everyone loses collectively.

This is a very hard problem to solve and taxation may not be one of those. If US government puts stronger restriction on US companies, they lose the competitive edge against Chinese and Indian who do not have to pay any such tax.
> Maybe when the WebGL spec. is final and implemented in the major browsers I'll give it a try.

On that note, the beginnings of OpenGL ES 3.0 based WebGL 2 landed in Firefox recently¹ and can be tested by flipping a pref in about:config². You can verify if it works by visiting WebGL Report³.

1: https://blog.mozilla.org/futurereleases/2015/03/03/an-early-...

2: https://wiki.mozilla.org/Platform/GFX/WebGL2

3: http://webglreport.com/?v=2
How the Internet Makes You Think You Are Smart
Except that this effect mysteriously didn't happen with fake 20 dollar bills! Perhaps we have a fallacy fallacy on our hands.
Printers Which Do or Do Not Display Tracking Dots
Just so you know, if you want to reply to a comment before the reply link shows up, clicking on the description of post time (e.g. '1 hour ago') will enable the reply feature. It's not very intuitive, but it is a reliable workaround.
I don't think that violates the spirit of the guidelines, so why not.
The problem is that "shallow cynicism", "gratuitous negativity", and "all forms of meanness" are vague distinctions all subject to interpretation.

Guidelines like this should have specific examples to aid in their definitions so we can criticize or agree with them. What could be considered "mean" to someone emotional/thin skinned, might be interpreted as helpful criticism to someone not so sensitive.

Sometimes it's really hard to say something respectfully negative (oxymoron), and even harder for it to be interpreted as respectful. I, for one, appreciate when people talk trash to me (especially when I'm wrong). It's an awakening I sometimes don't get from a less firm/colorful counterargument.
Pretty much the same minimal http server in C:

#include <WinSock.h>
#include <stdio.h>
#pragma comment(lib, "wsock32.lib")
int main(int argc, const char *argv[]) {
WSADATA wsadata;
WSAStartup(2, &wsadata);
sockaddr_in address;
memset(&address, 0, sizeof(address));
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("0.0.0.0");
address.sin_port = htons(80);
int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
bind(sock, (struct sockaddr *)&address, sizeof(address));
for(;;) {
listen(sock, 0);
int connection = accept(sock, NULL, NULL);
char recvBuffer[1024];
int recvSize = recv(connection, recvBuffer, sizeof(recvBuffer)-1, 0);
recvBuffer[recvSize]=0;
printf(recvBuffer);
char response[] = "HTTP/1.1 200 OK\nContent-Type: text/html\n\nlol";
send(connection, response, sizeof(response), 0);
closesocket(connection);
}
return 0;
}
At the time I wrote ggplot2, R really was the only game in town. But I strongly believe that R has excellent features to support data science: non-standard evaluation, NAs at a very low level, data frames, first class functions, ...
On Hiring, Interviews and Bloom Filters
I dont think that is the case. US government has abdicated its primary duties for protecting interests of military-
industry complex.

What evidence did US provide before attacking Afghanistan? Surely 9/11 was an aggression but US had no evidence to link it with the state of Afghanistan. After American ass got whooped in Afgan they have returned claiming Taliban are no more as bad as they use to be.

What evidence does US have to carry out random Drone strikes in Pakistan killing random people ?

And let me not even start with Iraq, which did absolutely nothing to offend US but instead was destroyed in the name of WMD that did not exist.

But when it comes to Iran, where US interest might have legitimate threat, where Chinese expansion in South China sea and many other places where US could have used its military muscle the government acts as if they are China's bitch.

The real problem I think is that US government has lost the sight of legitimate national security over spending taxpayers money making their friends rich.
If the code url and hash are provided at the same place, why wouldn't an attacker just MitM that and switch them both? What does this add?

Also anyone who is not serving code over https should fix that immediately.
That's not really the point of the thought experiment at all. And invoking randomness doesn't make the thought experiment easier, just more complicated. From the link someone posted above:

>(Incidentally, don’t imagine you can wiggle out of this by basing your decision on a coin flip! For suppose the Predictor predicts you’ll open only the first box with probability p. Then he’ll put the $1,000,000 in that box with the same probability p. So your expected payoff is 1,000,000p2 + 1,001,000p(1-p) + 1,000(1-p)2 = 1,000,000p + 1,000(1-p), and you’re stuck with the same paradox as before.)
So why are you using Python now and not C/C++?
Docker pays tribute to notable hackers and scientists
The push for open source in Spain is often labelled as being about freedom.

Personally, I think it tends to be about money, especially in SMEs.

My friend uses an open source collaboration tool in his office of 20+ people, because even though everyone uses evernote personally, the plan with collaboration features is "too expensive". Might just be an anecdote, but I keep hearing lots of those.

Spain might be great for free software, but I would stay away from it in terms of starting an actual business.

Podemos' offer might be great for some people, but I don't think they will do much to change some of the deeper issues of the Spanish economy. I don't think I will be voting for them.
$7500 pays for at least two more interviews with the Secret Service.
You don't like irssi?
After thinking about this more, I believe that some of the answer is whether the copyrighted material is art or craft. I would define art as a creation where the form is more important than the function, and conversely craft as something where the function is more important than the form.

Clearly, there's an analog scale between these two poles. But, take for a moment an http request library. Given a certain spec, multiple programmers (or teams of programmers) might take different approaches to meet that spec -- but the result is functionally the same, and if they faithfully follow the spec, they are all going to be more or less interchangeable.

I think a photograph is qualitatively different. If I were to ask a photographer to "take a picture of an ant", I could get radically different results that are not interchangeable.

I know I'm not going to convince you, so I'm not going to keep trying, but I think abolishing copyright would provide a dire challenge to people who create visual art for a living.
I'm subscribed to HN Notify, and personally, while I admit I sometimes use it to carry on unproductive arguments, I also often get replies that are positive or neutral in tone and contribute more information to the discussion; since they're replies to me and to whatever specific point I commented on, I'm generally interested in reading them even if the version of the entire discussion I originally read did a decent job of covering the topic. (Actually, scrolling through a list of my HN Notify emails, it seems non-negative replies are by far the most common case. I don't remember them as such, probably because involved arguments stand out more than random bits of discussion.) Therefore, I'm glad to have the service, and I'm skeptical that it would really be so bad to give it to users who aren't savvy enough to know that HN Notify exists.
But aren't they innocent until proven otherwise?
Why is for(;;) used instead of while(true)? I've seen this idiom used many times but never understood the reasoning why. According to this[0] SO, there are no performance gains, so why would one prefer the for version?

[0] http://stackoverflow.com/questions/2288856/when-implementing...
Push harder, folks, I'd like to see this one at the very bottom :)
I think this one isn't too far from useability:

curl -o filename url && sha256sum -c <(echo "PRECOMPUTEDHASH filename") && sh filename

And works without requiring installation of third-party tools too!
Yeah, fair enough. Thanks for adding your experience. I was riffing off the idea of getting a 'raw deal', which to me means a) customer is unaware of what having 16GB means, and b) customer winds up using product for certain space-heavy things (e.g. video or lots of games).

There's a ton of people like you who know what 16GB space means and are happy to save the $, and a ton of people who don't use their iOS devices a lot, so for them its not as much a raw deal.
If you want people to understand your code, you need to treat it like writing: rewrite, rewrite, rewrite. The language itself is almost irrelevant: you can write horrible code in Python and beautiful code in R.
Show HN: Broc, the Brownie Coder
It's simple. Every original work is a form of speech. Reproduction and retransmission, that's speech too. Copyright places restrictions on this. That's pretty much the only thing it does. The words you use, the sounds you make, these have to abide by copyright.

I'm not saying that makes copyright bad. Laws against fraud also work by curtailing speech. But I think it's a reasonable description.
I think that you should be allowed to hack your self driving car. But you should have to submit the compiled code to the NHTSA and your insurance agent so that they can run it through a bunch of black box simulations to determine if it's street legal and how much to charge you per mile.
Because `make all install` would first build, then install, while `make install` would just do the installation, regardless of build state.
Picat 1.0 has been released
It would be interesting to run a six month exercise in which HN users could tag HN posts with single keywords that identify the tone of the post.
Splendid! Nicely done. :-)
That's exactly right. status.net switched to a new engine, pump.io, which was supposed to be more api and mobile friendly and easier to maintain. But work on that is moving really, really slow, I don't see any activity on their github for 10 months now. Really disappointing because pump.io is cool.
From the announcement on the Picat mailing list:

We are pleased to announce the release of Picat version 1.0.

Picat (http://picat-lang.org) is a new programming language that
integrates logic programming, functional programming,
dynamic programming with tabling, constraint programming,
and scripting. Picat incorporates many language features for
better productivity of software development, including
pattern-matching rules, explicit non-determinism, explicit
unification, functions, constraints, and tabling. It is not
rare to find problems for which Picat requires an order of
magnitude fewer lines of code than many other languages.

Since the first release in Februrary 2014, Picat has been
growing steadily, and many users have had very positive
experiences with the language: Hakan Kjellerstrand's Picat
page (http://www.hakank.org/picat) has about 775 programs
written by Hakan; the page http://picat-lang.org/projects.html has
a collection of over one hundred programs for a variety of
projects and competitions; as part of the VK Cup, the site
http://codeforces.com featured Picat in a surprise round of a
competition, and more than 500 teams competed.

Picat's tabled planner has been shown to be an efficient
tool for modeling and solving planning problems. Roman
Bartak, Agostino Dovier, and Neng-Fa Zhou have hand-coded
several models in Picat for the IPC competition problems
(http://picat-lang.org/ipc14). These declarative models exploit
Picat's features by using structural state representations
and common-sense domain knowledge. These Picat models
significantly outperform PDDL encodings run by the best PDDL
planners. Sergii Dymchenko has also demonstrated the promise
of Picat's planner through several AI planning problems,
including problems from the Google Code Jam competition
(http://sdymchenko.com/blog/2015/01/31/ai-planning-picat).

One of the major additions made since version 0.1 is an
optimizing SAT compiler, which translates high-level
constraints into efficient CNF codes to be solved by a SAT
solver. The SAT compiler is offered as a separate module,
which has the same interface as the CP module. The SAT
module is complementary to the CP module, and, for many
problems, significantly outperforms the CP module. The SAT
compiler has been tested by using hundreds of benchmarks and
tens of thousands of instances that have been used in CSP
and Minizinc competitions.

Another major addition in version 1.0 is an external
language interface with C, through which Picat programs can
call deterministic predicates that are written as functions
in C. This interface can be used to link Picat with other
systems, such as database, GUI programming, mobile
computing, game programming, networking, and web programming
libraries.

Since the release of version 0.1 about one year ago,
hundreds of improvements have been incorporated into the
design and the implementation. The updates log can be seen
at: http://picat-lang.org/updates.html. Picat will continue to
grow, and we look forward to your input and feedback. Send
your questions, comments, and requests to:

https://groups.google.com/forum/#!forum/picat-lang
its a simple matter of changing the ipfs config file
Absolutely fascinating (*pending seeing the chart of time normalized by employee tenure, which would be more interesting all things considered).

In any case, this type of thinking shows one facet of the application of statistics to people. There are so many natural states of variation we take for granted. Where you might have thought that certain employees took sick time more often than others due to differences of integrity or work ethic in their individual control, in fact (if the assumption about this being an expected rate of sickness for a population) it's a result of systemic effects.

Interesting question: what other facets of human performance and habits are systemic, instead of individual? How are some other ways groups exhibit predictable, natural distributions?

W. Edwards Deming once said, "I should estimate that in my experience most troubles and most possibilities for improvement add up to the proportions something like this: 94% belongs to the system (responsibility of management), 6% special."

By this, he meant that 94% (and he probably thought that number out quite thoroughly) of potential to improve lies with the systems surrounding people, not in their individual contribution and ability alone.

I find this true in any organization of sufficient size. If it tends to be true for sick days, what else is it true for, and what would you gain by thinking about more things in this way? Interesting to think about.
Y'all should go get some books on epistemology...

http://en.m.wikipedia.org/wiki/Brain_in_a_vat
you should check out ipfs.io then :)

Disclaimer: I'm one of the devs
It doesn't necessarily work that way. Java programmers at the high end can push their compensation into the 250k+ range by starting bidding wars. It's hard to do that in a small community. In Java, there are so many jobs that it's really easy for a good engineer to set up a bidding war.

You have to be somewhat of a game-player to pull off the Java-engineer-bidding-war game. You have to be the sort of person who will work on the most horrible projects just to move up the salary scale. You also have to live in the Bay Area or New York, and use competing offers to drive up your pay every 2 years or so.

At some point, though, these $300-500k Java engineers at tech giants (who, by the way, are mostly paid in stock with vesting, so if you're bearish on the markets, their comp is more modest than it appears) are going to dry out and have to go into big-company executive roles. Playing that game rots your brain, because you're spending more time looking like a great engineer than learning new things.

Some people who are just as smart as me have better boredom-proofing and can work on enterprise Java. Good for them. I can't do it. I'd leave the industry before I'd maintain someone else's Java mudball.
Thousands of my fellow spaniards signed on Quitter for the first time, missed they political arch-enemies from the enemy front and went back to Twitter.
However, that still makes it a conscious choice to engage with the service that way - the default way is still checking back, and that shapes the general usage patterns of the site, even if some people have concluded it benefits them more to modify their experience.
Falling barriers. Like you say, tuning is currently very expensive. The financial and technical costs act as an idiot filter (forgive my negativity.) Those barriers are falling so we're left with artificial costs i.e. legal penalties and intentional code obfuscation.
Rainbows colors of law would be healthier.
Given enough money, all bugs are shallow
For example, to plug in a laptop and do a checksum of the binaries would take seconds.

This would only test that the software was a known set of instructions, it wouldn't help debug the flow of the code and the run-time state:

Software and the state and sequence of events are much harder to look at and conclusively say "yes, this was the culprit".

Disassembling an engine would seem to be on the same order of complexity as disassembling and reverse engineering firmware without source code (perhaps more so).
That's because you can conceptualize what happens through your experience and knowledge. For a newbie, a slight benchmark increase doesn't mean anything because they can't tell what the impact of it is, why it is important.

Closing the feedback loop between typing and seeing a cool result is one of the best ways to get people excited about coding. If 3D or AR helps with that, it's definitely a good thing :)
Rainbow filters would be smarter and healthier, for the research and development community here is being given limited feeds.
That does not look like a logarithmic function at all to me. Am I missing something?
Show HN: Automatically Reject GitHub Pull Requests
7 vs 11 characters and I'm lazy.
My main point is to recognize that:

(a) there are good business people out there,
(b) the fact that they trust idiots on tech is our fault as much as theirs
(we get too arrogant or too submissive and fail to convince them),
(c) we need to recognize that we and they have orthogonal skill sets
and aren't *prima facie* smarter,
(d) and this requires understanding certain cultural differences.

It's a long road, though. We're not a socially skilled tribe, for one. Secondly, there are a lot of terrible managers and business people in tech (more than in other industries) due to the Damaso Effect.
I'm talking about things like not wanting to be searched at the airport, not wanting any NSA surveillance or spying, not wanting copyright theft to be illegal, etc. Libertarian seems a more correct word to describe these positions than liberal, as the common theme is distrust of authority.

I find it a little ironic that your comment was downvoted, even though your comment was a very reasonably presented and valid opinion. I just upvoted you. Another example of the problem with the downvote button.

IMO there is no need at all for a downvote button -- it just causes more problems than it ever solves. Much better to just have a 'flag' button for abusive/inappropriate comments, and an upvote button.
Here's a video of Woz showing his pad of $2 bills and talking about this story: https://www.youtube.com/watch?v=LJ1TIYxm1vM
Try graphing y = -1 * log(x) and imposing a limit on the upper bound of x and you'll get close to what he has. Perhaps that's the angle he's coming from. He provided the fitted equation further down in the featured article, and the log term does have a negative coefficient, plus an intercept term.

The graph he plots looks like the data fits the Exponential Distribution: http://en.wikipedia.org/wiki/Exponential_distribution
You're right, "congrats Jim" is an edge case, but so are the cases of "this sucks" or "commenter $foo doesn't like this" one-liners. That's a complete straw man. That stuff, as you note, already gets downvoted.

Sam is targeting something else. The post is wading into the realm of "gratuitous" negativity (or "unwarranted", to use tptacek's equally slippery qualifier), which is not necessarily just brief, unsupported stuff. It's clear I think that Sam is getting at the disheartening feeling that entrepreneurs can experience when facing a withering critique of a nascent project.

We want a supportive community but a withering critique can actually help ideas get better. This guideline is ill-defined and could be interpreted as "tone it down, folks". And paired with a move towards community moderation, it's all about interpretation.

This guideline would be better redefined around clearer, more concrete criteria.
They say generics aren't usable because they aren't simple.

I don't understand them, but they say those words.
I've heard of communities improving when downvoting was added as an option, and deteriorating when downvoting was added as an option. I've also been along for the ride for the former, and then the community revolt when they tried to remove it in a forum upgrade (it was later re-added.)

> It's an awful experience

It can be, if taken the wrong way. It's important to stress that one shouldn't get too freaked out over losing some meaningless internet points over what may have very well been a misclick. Keeping this in mind, it has not been an awful experience for me when I've been downvoted. I wouldn't even say it's been a bad experience for me.

> Most people use to show they disagree with a comment.

I think this is only true when the reasoning or tone is poor - or at least that's the only case the negatives outweigh the positives. I've seen exceedingly few downvotes when I've disagreed and argued here on HN.

As an extreme example, I've seen a thread advocating Cannibalism in a serious tone gain rating, due to it's solid reasoning and proper treatment of the pros and cons of the matter. More typical topics behave similarly - constructive, well reasoned disagreement gains more points than it looses. This on a forum unlike HN - in that, I believe, you could downvote immediately upon account creation.
FWIW, there were about 30 comments on this when it came up eight days ago, at https://news.ycombinator.com/item?id=9270886 .
It's new, so not right now. But docs are coming. The NYHUG presentation will probably be the first thing along those lines. My company just rewrote a significant front-end app in it, so we clearly are invested in its future. In the meantime there's a #reflex-frp IRC channel on Freenode that you could use to talk to some of the people currently working with it.
Crowdfunding did $16.2B in 2014, expected $34.4B in 2015