skysight-inc/HackerNews huggingface dataset:
That said, the main counterargument to this proposal is that it's already possible to get "left to right" composition in userland without this operator, as underscore shows.

The main counterargument to "do it like underscore" is that underscore still ends up being an object whose methods are added to a prototype, not imported.

The benefit of the "pipeline" or "bind" approach is that you get left-to-right composition while still importing the names you're using.
To understand the nesting you have to evaluate the functions in the opposite order than you're reading them:

exclaim capitalize doubleSay

Sure, some of us has spent 20 years doing this so it's easy, but you can't deny that this is far nicer to read:

doubleSay capitalize exclaim

I'm a big fan of Fluent Interfaces, so I use this construct fairly often:

"hello".doubleSay().capitalize().exclaim()
attrs
|> bounded('age', 1, 100)
|> format('name', /^[a-z]$/i)
|> Person.insertIntoDatabase

This reminds me of those "Perl Poetry" code snippets from 2001.
How to Lead a Nation That Will Be Swallowed by the Sea
When police want a warrant to search your house, there's no public interest advocate on the other side of the DA.
You think they actually bothered to hold a conscious image in their mind of the consequence of their actions, rather than just reasoning from "it costs us money" to "let's have our bought-and-paid-for legislators get rid of it"?
Because that's a terrible code smell! The proper way to handle that case in a language which doesn't support pipelining would be to break each call into a variable and use those those variables. But even that can be tedious, hence the pipelining operators which have cropped up in some languages.
Hunter S. Thompson meets a Hell's Angel (1967) [video]
Panic in iOS Land
So your point is that capitalist countries became much wealthier and they also did this much earlier than protectionist countries did, and this is somehow a bad thing about free trade?
> I bet Lispers would beg to differ. :D

Would they?

I wrote and read threading macros all the time when I used Clojure. Turns out it cleans up code.
> I personally find this more readable than ... the proposed pipeline operator, which doesn't have an immediate meaning to my eyes.

Really? have you never seen unix pipes?
Protectionist tariffs did, in fact, play a role in the action of the Great Depression.

Such policies, which were adopted by many countries during this time, contributed to a drastic contraction of international trade. For example, U.S. imports from Europe declined from a 1929 high of $1,334 million to just $390 million in 1932, while U.S. exports to Europe fell from $2,341 million in 1929 to $784 million in 1932. Overall, world trade declined by some 66% between 1929 and 1934.

[0] https://history.state.gov/milestones/1921-1936/protectionism
Can you elaborate on the rough seams between JavaScript and "full on functional"?

I'm not a believer in the FP vs. OO religion, and have historically been skeptical of the bind operator. That said, I think that both composition via objects and composition via functions have their place.

The pipeline operator attempts to make composition via functions more readable (left-to-right instead of right-to-left) and unless you think composition via functions is a bad idea in JS in all cases, I'm not sure what "full-on functional" has to do with it.
that won't play nice with coffeescript!
Perhaps if it creates debate, and raises awareness that this exists.

It could lead to restrictions on what the government is permitted to do with the data.
The problem is that it takes a lot less time to come up with 50 words. 50 words don't require the kind of organization that 5,000 words require in order to stay coherent. It takes an afternoon to write an article. It can take years to write a book. Through bare necessity, longer spans of text require more attention and quality.
> No, there was no carpet bombing of Hanoi

actually were.

http://www.bbc.com/news/magazine-20719382 "North Vietnam, 1972: The Christmas bombing of Hanoi"

https://en.wikipedia.org/wiki/Boeing_B-52_Stratofortress#Vie...

"The zenith of B-52 attacks in Vietnam was Operation Linebacker II (sometimes referred to as the Christmas Bombing) which consisted of waves of B-52s (mostly D models, but some Gs without jamming equipment and with a smaller bomb load). Over 12 days, B-52s flew 729 sorties[148] and dropped 15,237 tons of bombs on Hanoi, Haiphong, and other targets.[90][149] "

>If Hanoi had been carpet bombed, it would have been leveled.

Hanoi did have air defense.

https://en.wikipedia.org/wiki/Boeing_B-52_Stratofortress#/me...
A pet theory I've been developing is the decline in the 80s began with a growth in self destructive behavior in the programming employment sector. Eating junk food, caffeinated energy drinks, lack of exercise, lack of good food, lack of sleep, lack of socializing, lack of overtime pay, lack of professionalism, obsessive game play, lack of life balance, lack of decent working environment. Before the 80s programmer culture felt very engineer / mathematician / academic, after the 80s its kinda felt like an introverts weird interpretation of an all night party, every night. Here have a hot pocket and type all night. A culture that prides itself on twinkies and monster energy drinks isn't going to fit the nearly 100% female readership of the typical health magazine. The stereotypical programming environment is nearly unique in the working world, isn't it? Are there any other job markets culturally like programming? If there were, we could compare how the two fields opposition to personal hygiene or opposition to dressing fashionably, or even dressing in clean clothes might not appeal to women at similar rates, for example. I've only found two work places kinda like programming/IT as defined above. One is military mechanic and the other is SOME trading desks at big finance. Both tend a bit male.

That's directly on topic. I suppose from an "eating your own (addictive) dogfood" perspective its kinda self inflicted.

It would be interesting to look at male/female relations and ratios for programmers at non-traditional employers, perhaps the government or military or maybe academic. I suspect the lifestyle at a unionized state government office is quite a bit different than "standard" programming environment and theorize almost anything would be an improvement WRT women's interest in that workplace. Perhaps addictive behaviors would vary in those circumstances.

Surely there must be some HR statistics buried somewhere at a giant corporation or government about % of programmers participating in the corporate alcoholism project by decade, or something like that, WRT trends in addictive personality by decade.
I don't entirely understand where this gets me that promises don't.
List of Active IO Domains
Yes. And yet, I think it useful to distinguish the immediate enemy that you're facing from the group that they're acting for. Consider Ghandi. I'm guessing that many of the British his people were facing in India would rather have killed him and his followers. They certainly did hurt a lot of protesters. But they knew that the British public would have been outraged. And eventually, it was public support in Britain that led to Indian independence. It's not that the colonial managers were converted. Maybe some were. But mostly they were overruled.
Yes, and we all know how that turned out with Perl. I don't think Perl is necessarily a good model for readable code.

This seems to me to be a case of "just because we can, doesn't mean we should."
Clojure is a functional language, so it meshes well with the rest of the syntax, but in javascript's case it's just syntax bloat. It's going to be really jarring in the middle of regular imperative code, and it's not going to be too far removed from

cout << "foo";
> So while American B-52s have been heroically kept operating since the 50s and 60s, Russian Air Force Tu-95s were all built in the 80s and early 90s with assorted design improvements and new avionics.

I'd expect modern B-52s are mostly Ships of Theseus and that little of the original avionics, wiring, metal, etc. still exist.
This should be how it's done, simplistic, nothing new to learn, easy to read.
The US is not a Democracy, was never meant to be a Democracy, and the founders went to great lengths to ensure the citizens of the US were protected from a Democracy by the framework of the Constitution.

Maybe some day the average citizen of this nation will be informed and intelligent enough to participate in a functioning Democracy. Until then politicians will continue to manipulate the misinformed masses and throw around the word Democracy to make the plebs feel as though they matter.
> That wasn't the case a few decades ago, when I believe there was far less prejudice.

Keep in mind that in HS men are discriminated against in terms of their GPA. But then the ones that make it to college get some affirmative action in the admissions process, which partly makes up for it. Though there are still way more women who make it into and through college. But then Ph.D. programs arguably favor men.

I guess my point is that there are lots of different types of participation in the education system, and lots of different types of discrimination. So saying that discrimination has on the whole increased or decreased, even in the limited area of gender issues, is probably difficult.
Google Patents Needle-Free Blood Draw
I am fascinated with IO domains as many of them are taking a different approach than other domains, specifically .com, and giving the user more control. They are truly for the "Input/Output" type website. I am trying to keep a list of the most active and useful IOs. Feel free to post links to websites that I may have missed.
> But another way of thinking about firms is that they are time transformers...

This seemed to be the main thrust of the article. Does anyone know if this idea originated elsewhere, or was it an idea of the Economist?
I would find pipes to be very readable (but the single pipe operator is taken). The triangle isn't immediately an analogy to "unix pipes".
This is a fascinating conversational tactic. You take a statement, say that they "probably" meant something else, then mercilessly attack them for "saying" that something else.

Bravo!
CoffeeScript should have thought of that ;)
Wiring and avionics and such, yes, but the structure is still original. This matters because of metal fatigue, which means that the structure is getting worse by the year.
Show HN: Ssh2, simplifying EC2 ssh'ing
Why the arrow? That works just fine with a dot.

let names = document.querySelectorAll('.entry')
.sortBy('title')
.filter(entry => entry.getAttribute('data-url') in whitelist)
.map(entry => entry.getAttribute('name');
What do you mean by unbalanced districts? If district undersubscribes, it doesn't elect anybody; if it oversubscribes, maybe two people are elected from it instead of just one?

I would be happy to work on this too.
How it's "less clarity"?

What happens is much easier to read if you know what the operator means.

The only way the old way has more clarity is in the "we are already familiar with it" way. In any other way, this method trumps it.
Promises are an abstraction for managing asynchronous operations.

This proposal is about function application.
> the execution of middlewares when a user publishes a message (to filter them or something else)

You can do that with nchan: https://nchan.slact.net/details#authenticate-with-nchan_auth...

> Right now, I'm using two websockets, one to Nginx PushStream only to receive messages and another to the NodeJS server to publish messages.

You can also multiplex several websockets into one for the client.

I can't offer you a standalone server, but I can offer some pretty fancy features : )
Only if those methods are added to NodeList, which they haven't been.

(and of course 'sortBy' is nonstandard)
That's readable in the simple case, (arg1 is a string, returns a string). What about the more complex cases? Different method signatures, required extra arguments, returning objects or arrays? This will either a) break in those cases, or b) not be applicable. In which case, it's extra complexity for very little gain.

Seriously, this just seems like syntax sugar that just isn't needed. I get that you might not think it's elegant, but is anyone seriously troubled or confused by method3(method2(method1(str)))? How would the pipeline syntax help here?
I got the distinct impression that the parent comment was suggesting that there was increasing prejudice against men (or in favor of women), since all the stories are about a conscious effort to cater to women over men.
> Doctors who treat young men wounded in combat say that no matter how bad their other injuries are, the first thing the men ask about when they wake up from surgery is whether their genitals are intact.

> “Our young male patients would rather lose both legs and an arm than have a urogenital injury,” said Scott E. Skiles, the polytrauma social work supervisor at the Veterans Affairs Palo Alto Health Care System.

This is something I frequently wonder about when reading stories of those maimed in combat, in a way that would almost seemingly affect their pelvic area (IED that destroys a leg, for example). I wonder if during the interview with the reporter, who is the side that chooses to omit such a prominent, if stigmatized detail that might profoundly impact the survivor's day-to-day life even more than the visible injuries?
Yep! It's based pretty heavily off how AoE and later games do it.
No, at least not on NYT. On NYT, paid content/native ads are marked as such at the beginning of the article like this one: http://paidpost.nytimes.com/ca-technologies/apis-the-buildin... (Note the subdomain)

I must say that a lot of "paid content" pieces are pretty good, considering that companies are paying money to place these articles.
A republic, if you can keep it.
> I would prefer a regular arrow

And I want it painted green ;-)

> ... which doesn't have an immediate meaning to my eyes.

It's a matter of background. F#, Julia and Livescript have identical operators, likely among others.

https://msdn.microsoft.com/en-us/library/dd233229.aspx#Ancho...

http://docs.julialang.org/en/release-0.4/stdlib/base/?highli...

http://livescript.net/#piping
it's very common in javascript to have chained methods, to be able to do things like

_(array)
.compact()
.map(function(x) {
return x * x;
})
.filter(function(x) {
return x > 100;
}).value()

(example from underscore/lodash)

The problem with this is to be able to add a custom function to this pipeline, you have to extend the prototype of the library with your own functions, or re-implement it.

Extending the prototype is considered bad practice for a lot of reasons, for example due to polluting code in other modules or upstream changes breaking your code.

If instead of chaining methods we chained functions we are left with this awkward syntax:

custom(filter(map(compact(array), function(x) {
return x * x;
}), function(x) {
return x > 100;
}));

it's much cleaner to write it like this:

compact(arr)
|> map(function(x) {
return x * x;
})
|> filter(function(x) {
return x > 100;
})
|> custom

The linked page has a nice example and explanation about this concerning promises https://github.com/mindeavor/es-pipeline-operator#sample-usa...
pub/sub is a common paradigm for describing certain types of event systems or message queues.

Clients can subscribe to "channels" and they will receive all messages "published" on those channels.
Regarding slimming down the personal library, the method I developed was to get rid of anything I wouldn't recommend to someone else. That really helped me separate the wheat from the chaff.

For finding time to read, I go through lulls when I try to read before I go to bed since I almost never can finish a chapter before falling asleep. Instead, I started carving out time in the afternoons on weekends when I often have a couple open hours.
That's a pretty dystopic view. I'd rather the government not collect the data at all. The massive perpetual databases that are amassing around the world are really ticking time bombs.
NIPS 2015 and Machine Learning Research at Google
The Ad Blocking Industry: Global, Large, Threatening
Wormy Beer and Wet Nursing in the Roman Empire
> If he had used a separate non-root account for Redis, the damage would have been limited to that single user account.

Probably not. The attacker would have gotten access to the machine. As there is a lot of software installed locally some probably have holes, which allows for full root access.

So I don't really believe it makes much difference for serious attacker if the attacker gets root access or normal access.
>Update: The IPv6 addresses which are used appear to be fictional. They haven’t been allocated yet and are non-routable.

What kind of network are they using that lets them send forged source addresses? Also, a temporary solution in that case would be to use a blocklist of non-allocated ranges.
> As for drones - the B-52s are very long range aren't they?

Wikipedia says the B-52 has a 8,764 nmi range. The RQ-4 Global Hawk has a range of 12,299 nmi. The X47-B recently demonstrated mid-air refueling (which B-52s need to go from the US to the ME and back), too.
Mmh I thought http2 was unencrypted by default like http, are you sure?
A Quine in Fortran 90
Well, if the B-1 had been designed for conventional payloads or hadn't become such a political promise in the 1980 election, the B-52 would probably have been retired. Even the B-3 specs don't look like something that will retire the B-52.

Honestly, I'm really not sure that the whole justification on "strategic" vs "tactical" bombing that spawned a separate Air Force was such a good idea given the types of wars fought in the nuclear age.
Ask HN: As a non-engineer, should I join a startup because it uses Clojure?
Hi Hacker News,

I used to work in private equity (sorry!), but I recently left the dark side to join the startup world. Unfortunately, the CEO turned out to be a maniac and hothead. I resigned recently and am considering multiple opportunities.

An intriguing opportunity lies at a startup whose CEO keeps pitching me on the fact his company uses Clojure, which is supposedly a hot new language? He claims Clojure will provide a material competitive advantage because of potential cost savings.

Two quick questions:

1) Will Clojure provide a competitive advantage in terms of cost savings and productivity?

2) Will Clojure provide a hiring advantage because engineers are excited to work with it?

Thanks!
Abstract Algebra: The Definition of a Group [video]
The percentage of households with a landline was quite shocking. Based on quick googling the percentage here in Finland is ~11%. Gives perspective to the pricing of internet services in the USA vs Europe.
I think you mean ordnance [1] :)

1. http://grammarist.com/usage/ordinance-ordnance/
Government at it's finest.

You can probably take any random person off the street, put them in as project manager, and complete this for less. The incompetency the government has in handling projects is absurd.
Yep; same reason Lodash implements _.flow and _.compose.

It also encourages you to write methods that take a single argument and return a single value, or partially apply those that don't.
an Array.from will make it possible to do it like regular arrays. I don't see a good use case for this operator really.
Open source as weapon
A republican democracy, wherein those sufficiently motivated can make their voices heard. My voice may be weaker in audibility than a millionaire but still it may be heard if I shout loud enough.
I've also noticed this. My home ISP (Internode, RIP) provides an IPv6 range. I dutifully set up AAAA records for a couple of my servers and then ended up disabling them either on the client or server side as things as simple as SSH were timing out. I don't think it was DNS, I'm fairly sure there was an MTU issue but I didn't dig into it that much.
BT is UDP and you can write whatever you want into a packet.
> No, there was no carpet bombing of Hanoi, which is what this is probably referring to.

I think if they meant Hanoi they'd have said Hanoi, not "Vietnam".
I haven't worked on the project for a while. I pulled up the 2011 survey report at http://www.ks.uiuc.edu/Research/vmd/survey/report2011/vmdsur... . There were 56,575 registered users then.

Mind you, I don't know how many of those people write scripts. Plus, VMD also supports Python, though that was added years after Tcl.

Personally, I think Tcl is better for the types of scripting that the physical scientists (biologist, chemists, etc.) - most of my user base - want to do. However, as something they developed became more generally useful, I found I couldn't easily tweak it to be part of the larger system. OTOH, while Python is more complex than Tcl, I rarely feel the need to rewrite user code in Python into C++ code, so there's a more smooth transition between non-programmer code to experienced programmer code. That is one of the reasons I switched to Python.

On the flip side, IPython and others have developed script-like meta-languages which makes it easier to do some of the things that Tcl excels at.
Yes, there are best-practices that should be used and advertised. But there is no way to have a generic tool that will work in some reasonable percentage of environments.

Yes, it's hard, but it's better to teach people how to manage it instead of giving them an unmodifiable tool and just say "here - use this". Telling them "here - do it like this", is much better.
The mediocre sentiments of someone who can only communicate via received aphorisms.
The B-52 airframes have long been planned to be in use for 95 years when they're finally retired. I wish I could find an image but I distinctly remember a publication from the 80's that showed a chart of the all aircraft in use from their first year of entering service to the projected EOL. The B-52 was a notable outlier in how long it was going to be kept in service. I always assumed it was an extended life test for the USAF. They are also insurance against a cataclysmic event that makes modern technology hard to maintain.
Elixir has this exact feature. I'm sure it's not the first language to either.
CEOs: Are you treading water or truly transforming?
But it seems more likely just to lead to restrictions on what data citizens are allowed to collect.
I think you can, easily. The most globalized countries are nearly all rich - see the KOF ranking for example. Or compare the top buckets in any economic freedom ranking (e.g http://www.heritage.org/index/ranking ) with those in the bottom. Or in terms of pure exports per capita the picture is the same: https://en.wikipedia.org/wiki/List_of_countries_by_exports_p...
No, but OSNews has traditionally been a source of information for BeOS/Haiku and Palm.
Status (probably not the best word for it) addiction?

BMW, Mercedes, Tesla, etc... you'll find high rates of satisfaction, repeat business, etc, despite rather high rates of unreliable over-engineered components. It's more important to a lot of people to be driving a technologically advanced Tesla with great acceleration, or a differently-advanced sporty BMW that handles like a dream, rather than a more boring, more reliable car that just works. (Or, for a eco-friendly to eco-friendly comparison, the Tesla inspires much more devotion than other electric or hybrid vehicles.)
On troop concentrations, with dozens of bombs, not tens of thousands. Comparing the two situations is a bit silly.
Discussion: https://news.ycombinator.com/item?id=10090542

More: https://news.ycombinator.com/item?id=10553008

More: https://news.ycombinator.com/item?id=10685076

And a list of some of the previous submissions of this story, from multiple sources:

https://news.ycombinator.com/item?id=10685148
If you don't have a job, you're not getting the benefits.