skysight-inc/HackerNews huggingface dataset:
When you connect to processes in a pipe such as ...

a | b

you connect stdout (fd #1) of a to stdin (fd #0) of b. Technically, the shell process will create a pipe, which is two filedescriptors connected back to back. It then will fork two times (create two copies of itself) where it replaces standard output (filedescriptor 1) of the first copy by one end of the pipe and replaces standard input (filedescriptor 0) of the second copy by the other end of the pipe. Then the first copy will replace itself (exec) by a, the second copy will replace itself (exec) by b. Everything that a writes to stdout will appear on stdin of b.

But nothing prevents the shell from replacing any other filedescriptor by pipes. And when you create a subprocess by writing "<(c)" in your commandline, it's just one additional fork for the shell, and one additional filedescriptor pair to be created. One side, as in the simple case, will replace stdin (fd #0) of "c"... and because the input side of this pipe doesn't have a predefined output of "a" (stdout is already taken by "|b") the shell will somehow have to tell "a" what filedescriptor the pipe uses. Under Linux one can refer to opened filedescriptors as "/dev/fd/<FDNUM>" (symlink to /proc/self/fd/<FDNUM> which itself is a symlik to /proc/<PID>/fd/<FDNUM>), so that's what's replaced as a "name" to refer to the substituted process on "a"'s command line:

Try this:

$ echo $$
12345 # <--- PID of your shell
$ tee >( sort ) >( sort ) >( sort ) otherfile | sort

and in a second terminal

$ pstree 12345 # <--- PID of your shell

zsh,301
├─sort,3600 # <-- this one reads from the other end of the shell's fd #14
├─sort,3601 # <-- this one reads from the other end of the shell's fd #15
├─sort,3602 # <-- this one reads from the other end of the shell's fd #15
├─sort,3604 # <-- this one reads from stdout of tee
└─tee,3603 /proc/self/fd/14 /proc/self/fd/15 /proc/self/fd/16 otherfile

If your system doesn't support the convenient /proc/self/fd/<NUM> shortcut, the shell might decide not to create a pipe, but rather create temporary fifos in /tmp and use those to connect the filedescriptors.

http://man7.org/linux/man-pages/man2/pipe.2.html

http://linux.die.net/man/2/dup

You can watch the syscalls as they are made:

$ strace -fe fork,pipe,close,dup,dup2,execve bash -c 'tee <(sort) <(sort)'
Show HN: Newscombinator
i heard somewhere that go follows unix pipe link interfaces.
> What they aren't free to do without push-back is to tell others who want to do gardening that they should tolerate their abuse. I agree with Angorak that there is nothing in what we do that would require people being assholes which is why I, too, find it unacceptable.

The real problem is that there is no coherent definition of abuse and people who are better at playing the social game use that skill to define everything as abuse which they do not like / undermines their status. And that is what the article calls out in the context of 'nerds', 'nerd culture' and 'newcomers' (or at least that is my interpretation of it)
UK Parliament study finds banning anonymity unworkable and unethical
This matters a lot more to me due to Mac App Store now being down, with an important security update pending, than the iTunes Store itself.
Editing structures like this using paredit is quite easy and fun though - once you're over the hump.
Considering React says that there are things they can do to improve React even more, suggested to me that React is currently as fast or slower than those other frameworks, but React can once again become faster than them.
JavaScript Algorithms
Yes, the website don't say clearly.
But you must pass the Code Jam Round 3, then you can attend the distributed code jam.
For me, in Firefox on Yosemite, the slowdowns seem to come at random, even when the tab is in focus.
Yes, and there's stuff which can never be said. As opposed to bullshit like "Make Trust Your #1 Value." (Presumably, the author (PR flack ghostwriter?) must've been laughing or eye-rolling while writing it.)

For example, one high-profile guy I know isn't about to blog about how he made his money screwing over his cofounders, or his ruminations about how incompetent his employees think he is. :)
> # gawk doesn't care if it's given a regular file or the output fd of some process:

Something wonderful I found out the other day: Bash executes scripts as it parses them, so you can do all kinds of awful things. For starters,

bash <(yes echo hello)

will have bash execute an infinite script that looks like

echo hello
echo hello
echo hello
...

without trying to load the whole thing first.

After that, you can move onto having a script append to itself and whatever other dreadful things you can think of.
The BBC's General Election Website from 1997
My understanding is that state lotteries were initially justified as means of putting criminal numbers rackets out of business. People were going to play one way or the other, so give them an honest game and stop funding hoodlums. That makes sense.

But there is no justification for state lotteries as revenue raising streams, nor for behavior maximizing those revenues. They shouldn't advertise and shouldn't be creating new games to increase their take. These are just taxes on mathematical illiteracy and risk factors for people with gambling problems.

Of course, the revenues are more important to the politicians than the general interest, so here we are.
Seeing the same here. Windows 64bit.

All this talk about Micro$oft becoming 'better' is easy to forget right now.
Does anyone have a working link to Gary Bernhardt's The Unix Chainsaw, as mentioned in the article?
Have you thought about JSON as a partial query placeholder, and all the native methods available for traversal, merging, plucking, etc.?

For example, here is :

{
type: 'select',
columns: [{
expression: 'orgJobs.org_job_code',
alias: 'job_code'
}],
joins: [{
table: 'org_jobs',
alias: 'orgJobs'
}],
limit: 100,
offset: 0
}

which yields:

select orgJobs.org_job_code as job_code
from org_jobs as orgJobs
limit 100 offset 0

and so its easy to do things like:

query.limit = 100;

and of course:

query.columns.push(additionalColumn);

and use something like lodash/underscore (or equivalent for your language) to add collection/array/object helper methods so you never have to write for-loops for things like mapping and property plucking.
OP here, was hoping to get some feedback from the HN community on my tool here. The landingpage for now: http://nagrgtr.com and there is more to come. Thank you.
They're just acknowledging that everything is moving forwards, I imagine that they're pleased to have influenced the other frameworks. Ember in particular seem to have learned a lot from React and are adopting a virtual-DOM approach to rendering.
Why are glasses so expensive? (2012)
Why not cover as much as you can with automated tests to minimise the amount of work required by your testers. This will allow them to concentrate on the important things and not test every function of your app every day.
If the coin battery is used as a RC circuit switch to wipe memory what are the chances that it has already been wiped? It's been 7 days off power.

The large power drain of the CPU could indicate this off-shelf product is meant to be installed, rather than attached with battery? Which could indicate a product as someone else linked to: http://www.miniinthebox.com/es/gps-v103b-sms-gprs-gps-sistem...

I'd be curious if any code were installed on the GSM module since many of these provide jvm's or python interpretors. Then again, what they heck is this 120 pin CPU for.

If the thing still has power it is worth keeping it alive without the SIM.

PS. Azul=Blue Negro=Black Marron=Brown Blanco=White in spanish
I'd like to see an YC competitor that focuses much more on Europe with a focus on Africa as well.
[1] is a paper showing adults can distinguish boys' and girls' voices from age 4. The "mean fundamental frequency" is the same for boys and girls, but the "formant spacing" (differences in pitches of adjacent vowels, I think) was different.

I can't find anything on children screaming.

[1] http://www.researchgate.net/profile/Valentina_Cartei/publica...
Webpack Module Builder
They are not removing var from the language - they are removing it from the "sane mode" only. If you don't write "use sane mode", you can still use var AFAIK.
Yep and it's awesome to have that but I personally hardly ever use for loops.
Creating Abundance by Steve Pavlina [Full]
Crap, iTune store is down
Couldn't sign in.
Nobody uses C. Most use C++. There are a few Java people. I made it to on-site semifinals in Clojure once. Reid Barton, who is at least 1000x smarter than me, made it to world finals in Haskell.

Modern C++ is about as easy to use as Python or Ruby for algorithmic problems and has many fewer gotchas and hidden time sucks. Python tends to spend a lot of time on implicit data type conversion that C++ saves and the data structures in Python are deeply suboptimal so that many algorithms won't run in their theoretical asymptotic time. Ruby is even worse. Python and Ruby's numerical efficiency and consistency is not suitable for fast, precise, predictable computation.

Take a look at some of the solutions on go-hero and you can see the style of C++ that is used; there aren't any ugly class hierarchies and deep template metaprogramming there. Modern C++ is very simple and efficient with C++ versions of all the nice tools and gadgets that make Python and Ruby fun.

"Another interesting thing is that Python is only really popular in US"

I think Python is popular only in the USA in real life, too. Living overseas you learn that the rest of the world is very, very far behind in programming tools compared to Boston and SF.
Ag subsidies seem to mainly stabilize price regimes. There would arguably be costs associated with increased risk of production if the subsidies were not in place.

They might be obsolete, but the fraction of people's time spent on food (both as producers and consumers ) continues to decline. It's also argued that the availability of abundant food is a legitimate public good.

Our levels of food security in the First World are recent. I doubt anyone from... say, 1850 would put food security in terms of a human right as we now do.

The irony is that petroleum products are an input into ethanol-corn production. How much I don't know; but the present subsidy regime nearly guarantees some measure of overproduction.
Dutch ISP's no longer have to save Web, Mail and Voice data (Dutch)
English translation: https://translate.google.nl/translate?sl=nl&tl=en&js=y&prev=...
How to Install Viber on PC
Maybe it's not the best thing since Jesus, but it's worth celebrating its birthday http://blog.fugue.it/2013-10-07-pipeday.html
Building your first JAR with Clojure
Japon: les ventes de whisky en hausse à cause de la série télévisée Massan
Le marché du whisky ne s’est jamais aussi bien porté au Japon qu’en ce moment. Une augmentation au niveau des ventes a été notée, suite à la diffusion d’une série qui parle d’une distillerie.
OK my bad, having just read myself this morning I'll admit I got confused along the way.

But still:
> Cold storage is essentially isomorphic to keeping treasure in a safe

Though I don't like this analogy, if we must use it then it's the key that you keep in a safe[0].
As previously mentioned, one can have many keys and simply stealing one doesn't mean their "treasure" is stolen, whereas a safe is easier to be found and opened.

[0]:https://en.bitcoin.it/wiki/Cold_storage

A simple example of deep cold storage is opening a safe deposit box and putting a USB stick containing an encrypted wallet file in it. The public (sending) addresses can be used any time to send additional bitcoins to the wallet, but spending the bitcoins would require physical access to the box (in addition to knowledge of the encryption password).
6 yr old almost faints from excitement when he arrives at WWE Monday Night RAW
I'm not surprised.

As is well known, Microsoft deliberately removed the encryption from Skype, making it just another insecure platform for communicating and vulnerable to censorship.
Nice writeup and quite elegant code!

Curiously, the line drawing functions in Ejecta[1] (which reproduces the Canvas2D API) is one of the most complicated parts of the whole project and certainly has the ugliest code of it[2]. It's fast and works reliably, but maintaining it is a nightmare.

[1] http://impactjs.com/ejecta

[2] https://github.com/phoboslab/Ejecta/blob/master/Source/Eject...
Stanford University developed a paper microscope that costs less than a dollar
My disdain has always been for social rules that never made sense - i.e. in order to be liked, you have to look good, dress in a certain way, talk in a certain way, belong to certain groups. I don't want to be different, it isn't my desire to be seen as a geek, however it pisses me off that people judge books by their covers and in order for me to follow rules, well, those rules have to make sense.

For the project I'm working on, I often go in dressed with jeans and teeshirts or hoodies in rooms filled with black suits and ties. I do not have fashion preferences, all that I desire is for the clothes I wear to be comfortable. And I don't give a fuck about the company's dress code, because in the grand scheme of things, they hired me to produce value and not to look good.

To me your comment, the article and these trends with cool/weird geeks, nerds, hipsters or what have you, do not make sense. It's because if there are two things that define me is (1) that I have an obsession with building software and (2) that I don't really give a fuck about anything else, to the point that it actively hurts my personal life. Am I a cool geek, a weirdo, a nerd? Point is, I don't really care, never did.
That's exactly the reason why I put up CoCs for example - we define what is inacceptable in a certain space and put it in clear writing to avoid gaming. It binds the organizers as much as the attendees. It cuts out the play. For example, CoCs for dating environments look very differently then those for confs. (did you know there are cuddling meetups and they have very strict rules to ensure people feel comfortable?)

There are many abusers that are quite good at the "social game" you describe, by exploiting insecurities about rules, especially in their absence. Saying they are "bad at the game" is actually one of the standard plays (and terribly harmful to those that are _actually_ "bad at the game").

The solution is not "there are no rules", but "we have rules here and others here". We need more spaces with with different sets of rules, where everyone can nerd out in their fashion, not chaos.

The problem about society is that you can't cut out social interaction from humans. Any attempt to do so is doomed in my opinion.
> Even among two nations equally authoritarian in practice, the one where the population all knows and recites the social-mores of democracy is much much better-off and more likely to achieve them.

This is off-topic, but I disagree strongly. Some of the very worst authoritarian countries (N. Korea, Iraq under Hussain, a depressingly large number of African countries) all share a total devotion to "democracy" and "elections". With the notable exception of dissidents, most citizens of these countries fervently tribute to these ideals, at least in public. I've been to a country like this, in Africa, and this isn't just an act. People actually believe in this democracy.

That said, I do support the shared ideal among hacker culture of "judgment by your work". However, I do strongly oppose the abrasive means by which people are told that their work isn't up to par in this same culture. It's cruel and unnecessary.

It is possible to both judge people by their abilities, and at the same time refrain from being abrasive or cruel toward people who fall short.
Ask HN: Startups: What kind of IT / tech problems do have?
I'm a developer & IT consultant and I'm a little tired of working with "traditional" companies.

I would love to work with innovative startups, so I'm wondering what kind of issues startup-people have?

If you're running a startup, please pitch in.. I don't know what I don't know, so anything goes! :)
Newscombinator and the landing page are very difficult to read. There are lots of fonts that are too low-contrast or too small. There isn't lots of good visual separation between different elements.

I don't want to get into a huge usability discussion right now, but it's important, and you should definitely look into it.
I like the fact that "Make Trust Your #1 Value" is #5 on the list.
I've had the same experience with a constant stream of freshly minted recruiters want to add me on LinkedIn each and every week.

I've done contract Rails dev in London for the past 2 years now, before that I had clients in the South of England, Dublin and Belfast. Apart from holidays I've not spent any considerable time out of work.
It's hard to say what the footprint of cattle farming really is. Each side ( and oh boy are there sides ) cherry picks their own figures.

I know that in Texas, the biggest reason people let family land that could be used for cow-farming go is taxation - there are Land Trusts that allow you to keep nominal control of the land while agreeing never to use it productively again, to get a tax abatement.

Also, the lyrics to James McMurty's "South Dakota" from the new record are really interesting on this subject.

I mean - we call noodging "eat your vegetables". I like vegetables just fine, but I like meat, too. I doubt the results of any of the analyses since anybody who gets paid to do the work will probably be biased by who pays them.

And the biggest receivers of any sort of subsidy - precious California water included - are veggie farmers. Using acres of Western Kansas for grazing seems pretty low-impact relative to that.
> Am I a cool geek, a weirdo, a nerd? Point is, I don't really care, never did.

Thank you. Personally, I find this desire to put everyone into neat categories depressing.
Homeopathy not effective for treating any condition
That's actually one of the things that I really dislike with bash, that it doesn't read the whole script before executing it. I've been bitten by it before, when I write some long-running script, then e.g. write a comment at the top of it as it's running, and then when bash looks for the next command, it's shifted a bit and I get (at best) a syntax error and have to re-run :-(
Utterly brilliant - where did my time go!

Feature request please - mute and randomize (at least) would sound great if you could pre-sync them with the repeat. I found myself trying to judge how much lag there is before they kick in. It would be great if you could just line up one or more before the repeat - which is where you will want them 99%. Maybe a check box option.

You have a fantastic performance application right now, please don't get drawn into making a sequencer and losing all the fun.
They do. Heavily.

There is an argument that says the Central Valley of California farmers basically funded Reagan's White House run in 1980. Carter was going after payments for all that water...
Given a best-case MySQL database that needs to be migrated elsewhere for data quality or performance reasons, it could be a very straightforward task that any qualified DBA could manage. That isn't the most common case, but it's one you can achieve by intention.
Saudi Arabia Takes Leadership in Arms Import (powered by SAP Lumira)
> This is really what he's driving at with the newtech koolaid. People jumped on MongoDB etc. bandwagon because they drank the koolaid of "Schema less is best!" and "It's so fast and shiny!" without really understanding the problem, let alone the right solution.

Exactly. People report "X makes Y so easy!" and because of the breathy excited "look what I did in just an hour" blog posts the naive believe that using X for Y or similar things negates the need to properly design and think ahead.

If you take that approach then even if you are accidentally using the right tool doe the job, you may well be using it very wrongly and creating an unmaintainable and/or inefficient mess that you'll have to fix later.

A few days coding can save you a good hour or three of design and thinking beforehand.
Just for reference, "Drawing lines is hard"

> http://mattdesl.svbtle.com/drawing-lines-is-hard

> https://news.ycombinator.com/item?id=9179336
Why video game coders don't use TDD, and why it matters
Playing with the Micropython board online
So in one hour you went from making stupid money to struggling for income.
No, that isn't all that matters. I outlined the other factors that matter in my original comment. Wouldn't you agree that fracking also contributes to global warming? Or that fermenting corn does? What matters is the net total. If all that mattered was CO2 from oil, it would be an easy problem: get rid of oil, use ethanol. Thing is CO2 is the same, whether it comes from oil, ethanol, coal burning power plants, or cow manure. What matters is the net emissions.
Removing rats from places is hard.

See the attempt to remove hedgehogs from some Scottish islands - very expensive failure.

April 2003 - Attempts to begin a cull of hedgehogs on North Uist in the Western Isles have got under way.

(http://news.bbc.co.uk/1/hi/scotland/2920067.stm)

April 2005 - Animal rights activists are trying to rescue hedgehogs as an annual cull gets under way in the Outer Hebrides.

(http://news.bbc.co.uk/1/hi/scotland/4406675.stm)

October 2005 - Protest over annual hedgehog cull

(http://news.bbc.co.uk/1/hi/scotland/4390054.stm)

April 2007 - The board of Scottish Natural Heritage (SNH) has decided to suspend its cull of hedgehogs in the Western Isles.

(http://news.bbc.co.uk/1/hi/scotland/highlands_and_islands/63...)

February 2010 - Hebridean hedgehogs: a prickly issue The Uists cull has already cost more than £1m, but we should question the causal link between bird and hedgehog populations

(http://www.guardian.co.uk/commentisfree/2010/feb/25/hedgehog...)

February 2011 - £1.3m hedgehog cull to save islands' birds eggs 'fails'

(http://www.scotsman.com/news/163_1_3m_hedgehog_cull_to_save_...)
It's not like we're really short on food.

People worldwide who can't eat, can't eat because they live in something like a failed state. If you can't have enough stability to be on the global finance network, you're left pretty far behind.
16 years ago when they were founded that was an aspirational goal for enterprise software and this is a CRM which a lot of organizations see as very critical to their ongoing success.
It seems that Safari 8.0.3 on OS 10.10.2 is also affected by the PNG bug.
Although it has a variable number of variants each time the page is open/refreshed (don't have access to a vulnerable IE to test if it has the same behaviour)
How Facebook Got Even Apple to Back Open Source Hardware
Sounds more like you do professional get-togethers than nerdy stuff. People behave more like "at work" at those meetups and conferences.
This just in: Apple's next OS release will be called "WhatsApp".
How I Got into Data Science from IT Programming
First pictures of Tonga's newly-formed volcanic island
Can someone give me an example of TypeScript declaration that is not "sound"?

I thought that

"It guarantees that (1) an expression that has a static type T can never evaluate to a value that is not a T, and that (2) evaluation cannot run into unexpected runtime type errors."

is already supported in TypeScript.