Boy Scouts Announce They Will Accept Girls - <AUTHOR> https://www.nytimes.com/2017/10/11/us/boy-scouts-girls.html <comment><USER2> This is sad. Not that they accept girls, but that the Girl Scouts apparently suck so much at understanding their audience.

Fallout from this would probably result in either 1) the Girl Scouts becoming much better at satisfying their target audience or 2) the Girl Scouts essentially becoming an irrelevant organization.

I hope the first, but the latter looks more likely. They've hidden behind cookie sales for years, and outside that, I can't tell you one thing that they do.

<comment><USER3> _They've hidden behind cookie sales for years, and outside that, I can't tell you one thing that they do._

You think Boy Scouts, you think Eagle scouts, tying knots, and camping. Outdoorsy, can-do, and always prepared. The animal shelter at which I volunteer has benefitted from the multiple Eagle Scout projects that built needed equipment for us. You think Girl Scouts, you think Thin Mints. A Girl Scout could have built the agility equipment for that same animal shelter. Instead, the local GS troop did a water color wall painting. Way to go, you girls stay and decorate while the boys build useful stuff. That's a failure not only of marketing, but also of programming.

"You said you don't know jack about boating, how'd you know how to tie a bowline?"

"I was a Boy Scout."

That's my answer to a lot of "how'd you know...?" questions. And I'll bet not a week goes by that I don't use knowledge gained from Boy Scouts. From sharpening a kitchen knife to tying a timberline hitch for an ad hoc guy line, I wonder if even a day goes by that I don't use knowledge gained from scouts. Not to mention the leadership and mental attitude aspects.

I don't recall a woman ever answering "how'd you...?" with "I was a Girl Scout". Of the women I've questioned who were in Girl Scouts, I don't recall any that found it to be a particularly valuable experience.

Now, that's certainly anecdotal, and most likely very dated given my age. But GSA needs better PR than "we sell cookies", and they need the programs to match. I'm neutral on BSA accepting girls, but I'm disappointed that the GSA has failed girls such that it was needed to begin with.

<comment><USER4> When I think of Boy Scout leadership, I think of religious loonies who have an irrational fear of gay and transgendered scouts and leaders.

</comment></comment></comment><comment><USER5> I think that's a pretty good idea. Our daughter joined the Girl Scouts for two years and all she got out of it was to be free child labor for cookie manufacturers. Apparently the troop leader did something fishy with the cookie money and even though they met their goal, they didn't get the reward. We still have boxes of the stuff in our pantry.

I was a Weeblo (Boy Scouts) as a kid and didn't get much out of it other than classroom learning, but it was better than selling cookies. I got bored after a few months and didn't go back. Like any nationwide organization, the quality is determined by the locality support.

I guess they will have to change their name from The Boy Scouts if enough girls show interest.

</comment><comment><USER6> Putting aside the context of whether this makes sense with the existence of Girl Scouts, as an Eagle Scout I'm pretty happy that the organization has made strides to turn around its image of exclusivity. It's certainly about 15 years later than it needed to be, but such a huge organization that is dedicated to inspiring ideals in young people should be sending the right message. It's a far cry from the early 2000's era Boy Scouts which was projecting a much different message.

I'm quite ambivalent about the organization's attitude toward religion, in that it is impossible to be an outspoken atheist and reach the rank of Eagle Scout. To reach the highest rank you must undergo an Eagle board of review, which is an interview of sorts with highly ranked regional council members. During mine, I was asked questions that were mostly formalities until the final question: "Do you believe in a higher power?" When given context to the question, it made a bit more sense: I was told the higher power could be anything, like the Mother Nature or karma. It was then that I understood that the question, however poorly worded, isn't meant to really be around religion, but instead letting go of your ego. There are much better ways to ask that sort of question though, and being atheist and letting go of your ego are not two mutually exclusive properties.

I was agnostic at the time so it was easy for me, but I still question the approach now even though it wasn't the WASP-like approach I expected.

<comment><USER7> Make no mistake, they were asking if you believed in "God". The BSA prohibits atheists / agnostics [1]

My troop told me to lie. I chose to not participate.

[1] [https://web.archive.org/web/20080509074048/http://www.bsaleg...](https://web.archive.org/web/20080509074048/http://www.bsalegal.org/duty- to-god-cases-224.asp)

<comment><USER8> Literally any belief system as long as it's not atheist/ agnostic. It just blows my mind that people draw the line there.

</comment></comment></comment><comment><USER9> Many other countries already have gender-integrated scouting, so the BSA is just following in the footsteps of much of the rest of the world. Here in Australia, Scouts have accepted girls for decades, although there is still a separate girls-only Girl Guides organisation (equivalent to Girl Scouts). Anecdotally, many girls prefer Scouts to Guides. I think if you give young people the choice between gender-integrated or gender-segregated activities, most will prefer the former, especially once they reach a certain age. It varies from individual group to individual group, but as a generalisation, Scouts tends to put greater emphasis on outdoor activities than Guides, and some girls find that greater emphasis appealing. From a parent's viewpoint, if you have children of both genders, then being able to put them all in the same program can have its logistical advantages.

</comment><comment><USER10> What if it turns out that there is a deep-seated psychological need present in many (NOT ALL) humans to participate in peer groups defined along lines of gender - and what if it turns out that if society denies them acceptable outlets for this need, that they fill the need by joining socially unacceptable groups (ie. gangs)? If we suspect that this psychological need is present, do we persist in denying acceptable outlets for it?

<comment><USER11> So in fewer words you're asking, "what if by allowing girls into scouts, boy scouts will be driven to join gangs?"

<comment><USER12> You should be charitable with the way you interpret what people say. That person probably meant "e.g. gangs." I find it frustrating how combative people are when discussing anything on the fringes of what is socially acceptable to say.

</comment></comment></comment><comment><USER13> Boy scouts in the past was more about camping and activities. It was about self-improvement and learning how to be men. Now that purpose seems to be weakening.

Men and women are different, both physically and psychologically[1]. Acting like those differences don't exist hurts everyone IMO. Sure, we should be accepting of aberrations from the norm, but that doesn't mean we should hurt the majority in the process.

[1] [https://en.wikipedia.org/wiki/Sex_differences_in_humans](https://en.wikipedia.org/wiki/Sex_differences_in_humans)

<comment><USER14> What is it that Boy Scouts teaches that you don't think girls should be taught?

<comment><USER13> It's not that I don't think girls shouldn't be taught certain information, but it's rather a mindset that is taught. A group of boys being led by men can learn a mindset better suited for the mind of a man. With their greater testosterone, men have much more aggression an desire for status overall than women, and with guidance by a father figure, can learn to harness and focus that energy in a way a woman wouldn't be able to. I worry that in the pursuit of inclusion, that kind of mindset implanting will be lost.

<comment><USER15> I agree with you on a scientific level, for example, that men have more testosterone and thus are more likely to be aggressive in their pursuits, which is often critical to success. At the same time, however, there are many men who are less aggressive and women who are more aggressive; broad averages aren't the perfect solution.

Couldn't we promote this 'aggressive' ideology as genderless? As long as we're clear about the Boy Scouts' ideal member (aggressive), nothing will be disrupted, as only boys and girls who fit and enjoy that environment will choose to join.

<comment><USER13> > Couldn't we promote this 'aggressive' ideology as genderless?

In an ideal world that might work, but it seems like everywhere that makes gender inclusivity a priority always ends up losing its masculine traits. I just don't see why there can't be some boys-only organizations and girls-only organizations anymore.

<comment><USER15> I understand the plight and I think that has certainly occurred in some instances, however, in reaching the ideal, the importance seems to be inclusiveness yet straightforwardness in purpose.

We should aim to promote gender inclusivity, but not stigmatize traditional gender mindsets, i.e. 'aggressiveness', as negative in the process. If an institution starts accepting females and then (oftentimes purposely) loses that common mindset, it simply reinforces gender stereotypes.

<comment><USER13> > it simply reinforces gender stereotypes

I have a serious question, and this arises from my mentality that we should be accepting of aberrations from the norm, but that doesn't mean we should hurt the majority in the process.

Why are gender stereotypes bad? If we understand that men and women are different overall, and that those differences lead to a bimodal distribution with gender traits something like this[1], then wouldn't stereotypes naturally emerge? Should we be punishing behavior that large chunks of people align to?

[1] [https://3.bp.blogspot.com/-YMOXSZ4aTmg/Vwf79cRcjOI/AAAAAAAAO...](https://3.bp.blogspot.com/-YMOXSZ4aTmg/Vwf79cRcjOI/AAAAAAAAORg/KdIWYI__SqUFj7zjELQqvv_PncqvzNWGA/s1600/bimodal.png)

<comment><USER16> Gender stereotypes, when applied to individuals instead of large populations, severely punish anyone that falls on the "wrong" side of the median.

<comment><USER17> Yup I agree with this. People who are not in the norm will struggle moving forward because they'll always be judged by the cover.

There's also the non-scientific stereotypes. "Girls are worse at math" for example.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Finally catching up with the rest of the world. As a child in Canada, I was a member of the local Scout troupe which had quite a few girls in it. Definitely made for a better, more balanced experience.

We would make fun of the American troupes who weren't allowed to have any girls in them. Made no sense why not.

<comment><USER19> > As a child in Canada...Made no sense why not.

That's pretty much the answer right there.

Something you have to understand about the BSA is just how deeply enmeshed religion - specifically Christianity (with a heavy leaning toward Protestantism) - is within the organization.

One of the largest (if not the largest) chapters (?) of the BSA is run by the Mormon church (LDS), for instance.

This is a nice step forward, and certainly unexpected, but they have more yet to go. For instance, the Girl Scouts allow transgendered individuals to join; I guess we'll see if the BSA ever allows that.

Also - despite what another poster said earlier - the BSA is not friendly to atheists, whether they are children, parents of children, or as leaders. There are plenty of fairly recent incidents and announcements about that, just within the past couple of years, to attest to that stance.

</comment></comment><comment><USER20> Having a 10 year old boy and 7 year old girl. This is great; my daughter always lamented about how her brother was able to more as a cub scout.

She tried girls scouts for a year, then her troop leader left which caused her troop to fold. We could have moved her to another troop, but she didn't want to, she liked the way things were. I would intermittently bring to her different Cub Scout functions. Every time I would she would be included in the activities and encouraged to participate by everyone from leaders to parents.

I wasn't keen on the idea of my son joining a god loving, gay hating, etc. organization. It was his choice, his friends were doing it and I went along to make sure nothing happened. After three years of cub scouting I can say that each troop operates on it's own and does what it's leaders feel is best for the kids. If you don't like how your local troop is run try another one, or just take your kids camping, do weekly exercises on rope tying, building bird houses etc.

In Canada they just have Scouts of Canada the genders are treated equally. My daughter is excited, I'm only saddened she missed out a few years of fun.

</comment><comment><USER21> The Boy Scouts sell popcorn -- it's just less visible/successful. Prices start at $20. I remember feeling bad for the kid salesmen, as adults balked at the high prices, asking "do you have anything cheaper?" Products: [https://www.trails-end.com/store/products](https://www.trails- end.com/store/products)

</comment><comment><USER22> When I was young here in Sweden, we had "Scouterna" (loosely translated as _the scouts_ ) which included both boys and girls. With little to no single- sex education it is very naturally that educational organizations also do not segregate on gender.

When the boy scouts started in 1908 I would guess that single-sex education was the norm in the US?

</comment><comment><USER23> I knew the BSA was on a mission to become more inclusive due to declining membership but I didn't see this one coming! I doubt it's a mortal blow for the GSUSA but it's probably going to hurt memberships, especially in the older age groups. Nothing compares to the danger & adventure offered at your typical BSA summer camp.

</comment><comment><USER24> Just merge the two organizations and call it "scouting" \- solved

<comment><USER25> Rather than merge the organizations, have the Girl Scouts start accepting Boys.

<comment><USER26> This.

Make no mistake here. This has nothing to do with giving "equal opportunity" of activities to all.

But a way of suppressing healthy masculine development.

The girl scouts will never accept boys and probably cite some bogus reason due to "safety from icky boys" as the reason.

There is nothing wrong with having groups for people based on ethnic background (Black Lives Matter, etc), gender or religiosity.

Having girls join the Boy Scouts was a massive shit test, and they failed it.

</comment></comment></comment><comment><USER27> Weird, because my Scout leader led adventure scouts; [http://adventurescoutsusa.org/](http://adventurescoutsusa.org/)

</comment><comment><USER28> Girls have been a part of the Venture Scout program (usually 16-17).

This change adds girls to Cub Scouts (8-10), Boy Scouts (usually 11-13), and Varsity Scouts (usually 14-15).

</comment><comment><USER29> I think Baden Powell would be proud.</comment>


Running out of Lipstick - <AUTHOR> http://blog.methvin.com/2011/10/running-out-of-lipstick.html <comment><USER2> Maybe the jQuery team should remove support for older browsers from the core and set it up as a community maintained plugin?</comment>


Robotics at Harvard - <AUTHOR> https://news.harvard.edu/gazette/story/2018/01/next-generation-robots-crawl-run-fly-real-world/?utm_source=twitter&utm_medium=social&utm_campaign=hu-twitter-general <comment><USER2> Some robotics startups mentioned in the article:

[https://www.softroboticsinc.com/](https://www.softroboticsinc.com/) (soft robotic grippers)

[https://www.righthandrobotics.com/](https://www.righthandrobotics.com/) (order fulfillment, picking, sorting)

[http://www.codewithroot.com/](http://www.codewithroot.com/) (educational learn-to-code robots)

[http://rewalk.com/](http://rewalk.com/) (licensee of exosuit technology)

[https://www.k-team.com/](https://www.k-team.com/) (licensee of kilobot swarm technology)

</comment><comment><USER3> The swarmbots are pretty impressive:

> "I originally thought I would never have hardware," she said. "But the > reason I thought that was a robot cost $100,000. [Today] I can build novel > robots for a couple of hundred dollars. That's a routine thing in my lab. I > have a thousand robots, at $20 [each]."

— Radhika Nagpal

> Nagpal has licensed kilobot technology to K-Team, a manufacturer of small > mobile robots. Today, 10 other labs around the world own kilobots, and two > have 1,000-kilobot swarms

<comment><USER4> They're cute, but they don't appear to actually do anything except buzz around...

<comment><USER5> They're good for researching self-organizing behaviors to create code that can be used in more useful bots. The more useful bots may have more robust locomotion and/or other capabilities like sensing but will correspondingly be a little or a lot more expensive.</comment></comment></comment>


Kindle and the Future of Reading - <AUTHOR> http://www.newyorker.com/reporting/2009/08/03/090803fa_fact_baker

<comment><USER2> I bought a Kindle for my technologically-inept mom, and she loves it. Things like the font, screen color, etc. don't bother her, because she focuses on the bigger picture: thousands of books on a portable device that's supported by the world's largest internet book retailer. That is, she says, the next logical step for books to take.

</comment><comment><USER3> I think that for the Kindle to become something more than a high-end toy, Amazon is going to have to drop the price to about $99. Then they would sell millions.

<comment> onreact-com The Kindle or any other reader should be free. They should earn the money by selling books.

I still cringe at the thought of paying money for a device that solely allows me to read. It's like building a device that allows me to breathe and sell it as the next big thing.

We already can read books without a "gadget" so forcing us to buy an expensive one in order to do the same thing we've always done for free sees bizarre at the core.

<comment><USER4> You can buy (and some people do buy) a device that solely allows you to breathe. For instance, a snorkel. Of course, it's more accurate to say that it's a device that allows you to breathe _underwater_ ; likewise, it's more accurate to say that a Kindle is a device that allows you to read _without carrying around so many heavy books_. Similarly, some people pay for cutlery and crockery to allow them to eat (more pleasantly), or telephones to allow them to talk (even when the person they're talking to isn't nearby), even though eating and talking aren't much less fundamental than breathing.

</comment></comment></comment><comment><USER5> _Everybody was saying that the new Kindle was terribly important—that it was an alpenhorn blast of post-Gutenbergian revalorization._

Ugh, what terrible writing.

</comment><comment> onreact-com At least now you can remotely delete books! Or rather get them deleted.</comment>


Ramsey Nasser قلب - <AUTHOR> http://nas.sr/%D9%82%D9%84%D8%A8/ <comment><USER2> I've always thought that its been a good thing that the language chosen for computing just happened to be based on the latin character set and has very little complexity. I can't imagine how difficult it would have been to write in Arabic, with its calligraphic complexity and combined forms (and other languages with similar issues) earlier on. Even today on smaller displays you can get away with ASCII but not anything more exotic.

</comment><comment><USER3> This is fascinating; it's always neat to get a different perspective on programming, even if it may not be a hugely practical one.

I love the idea of code as calligraphy, which has traditionally been an important part of the culture surrounding the Arabic language.</comment>


Ask HN: Is Anything Made in the USA? - 100-xyz For cookware, the country of manufacture makes a big difference as metal leaches into the food.  Countries with less rules have more of these problems.  So I hunted around for cookware made in the USA and found Lodge Cast Iron.
Then came a conversation with friends where I found that they are also interested in US made products.  So we decided to make a list of products with at least 80% US components.
Surprisingly now there are very few things made in the USA.
If you know of any please post here.  Especially interested in clothing, outdoor, children's items and electronics.
Thanks <comment><AUTHOR> Fair warning: I'm going to sound like a shill because I think this company is awesome.

If you want 100% made in America, [https://originmaine.com/](https://originmaine.com/) is a great company. They've literally brought back cotton looms that were shipped out of the US to revitalize American manufacturing. Their jeans, for example, are manufactured in the US and made from cotton grown in the US. Even things like the rivets on their jeans are American made. I haven't tried the clothing but their protein shake is excellent, if a little pricey. I may get a pair of their boots soon.

Here's another one I stumbled across recently: [https://www.tannergoods.com/](https://www.tannergoods.com/).

</comment><comment><USER2> Not exactly consumer goods but glassblowers love the glass made by [https://moltenaura.com/glass](https://moltenaura.com/glass)</comment>


IE 0day in the wild - <AUTHOR> http://blogs.technet.com/b/srd/archive/2010/11/03/dep-emet-protect-against-attacks-on-the-latest-internet-explorer-vulnerability.aspx Symantecs write up.<p>http://www.symantec.com/connect/blogs/new-ie-0-day-used-targeted-attacks <comment><AUTHOR> Symantecs write up [http://www.symantec.com/connect/blogs/new-ie-0-day-used- targ...](http://www.symantec.com/connect/blogs/new-ie-0-day-used-targeted- attacks)</comment>


In Praise of APL: A Language for Lyrical Programming (1977) - <AUTHOR> http://www.jsoftware.com/papers/perlis77.htm <comment><USER2> I posted this link [1] a few days ago on another thread. It is very relevant here.

Yes, APL was an amazing language. It was also way ahead of it's time. The technology wasn't quite ready for it back then. One can only wonder what might have happened had it been introduced thirty years later. The language simply didn't have an opportunity to evolve and mutate into something that could be pretty amazing by today's standards. If you've never used APL none of this will make sense to you.

And, no, J and other variants are equivalent. They really didn't contribute to the original concept of the language. As I said in a prior thread, given what Iverson says in this paper it is hard to imagine J as anything other than a lame attempt to reach some degree of financial success in an era when doing a language that was based on the concept of creating a notation system for computing was just about impossible. J, in many ways, is an abomination that may have hastened the lack of interest in APL.

Not sure a renaissance is possible today despite seeing posts on HN every few months.

[1] [http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pd...](http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pdf)

</comment><comment><USER3> APL was the first language I learned - we used an IBM Selectric type terminal with an APL type ball on a time sharing system. I still fondly remember writing Least Squares analyses in 1 line of "code". I couldn't believe how clunky Fortran and Basic were in comparison.

<comment><USER4> Same here. My father worked for IBM research and we would use APL to code up spirographs and Lissajous curves. I would type in a slightly different number and get a new sprirograph which was neat for 10-12 year old kid. I am doing the same with my kids now though with Python. Anyway just for a play/fun side- project I am writing an APL interpreter in Java. But what I would really like to see is a Pythonistas type app but for APL with the tablet virtual keyboards supporting the APL glyphs. I wish I had more time, I would tackle this myself. I would also like to see APL in an IPython Notebook-like environment (now project Jupyter, I believe). Jupyter is meant to support R and Julia, but hopefully APL can be plugged in perhaps with NGN APL. With virtual keyboards I really believe we could see renewed interest in APL.</comment></comment>


Linus Torvalds on Wireguard - <AUTHOR> http://lists.openwall.net/netdev/2018/08/02/124 <comment><USER2> > compared to the horrors that are OpenVPN and IPSec, it's a work of art.

Not exactly the same thing as the title suggests. (FTR: the original title was something like "Linus Torvalds: Wireguard is a work of art")

<comment><USER3> We replaced the title with something more neutral.

This category of submissions is not very good for HN, unfortunately. There isn't enough information there to slow down the gears, which is what allows for reflective reactions. In fact, there almost isn't any information, just 'celebrity name' and 'thing mentioned'. That produces the instant reflexive reactions that are associated with low-quality threads, and the celebrity aspect is a fuel supplement.

<comment><USER4> Agree. This barely fits the definition of "news".

<comment><USER5> but what if sparks a discussion about issues with OpenVPN and educates plebs like me about what wireguard is.

<comment><USER6> What if you stepped on dog poop before crossing the street and it kept you from getting run over by a car? Dog poop on the sidewalk is still bad.

</comment></comment></comment></comment></comment><comment><USER7> So I know nothing at all about Wireguard; I was curious:

Impress performance: [https://www.wireguard.com/performance/](https://www.wireguard.com/performance/)

But can it traverse a NAT. IPSec for all of its benefits is a huge PITA to circumvent a NAT, often requiring either the NAT to have native support or for IPSec to be configured to use UDP encapsulation. Seems like the Wireguard people thought of this:

[https://www.wireguard.com/quickstart/#nat-and-firewall- trave...](https://www.wireguard.com/quickstart/#nat-and-firewall-traversal- persistence)

Reading their web site in general has made me nothing but impressed, they seem to be building a VPN tunneling protocol designed for the real world but with several improvements over existing solutions. It is incomplete, but definitely something I'm going to check in on.

<comment><USER6> [https://news.ycombinator.com/item?id=17659983](https://news.ycombinator.com/item?id=17659983) is a decent thread from a couple of days ago which should tell you a bit more about its current state, the experiences of people installing it and running it and has a bunch of comments from the author.

</comment></comment><comment><USER8> At Expensify we have been astonished by how easy it was to set up -- as simple as ssh -- and its incredible performance relative to OpenVPN. It's night and day due to it's multi threaded design, meaning it doesn't have the same single cpu bottleneck as OpenVPN. It's clearly the future.

</comment><comment><USER9> Well, it seems FreeBSD/pfSense people are not very happy with it. At least the benchmark results seems questionable. Read jwt's comment at the bottom: [https://forum.netgate.com/topic/132375/installing- wireguard-...](https://forum.netgate.com/topic/132375/installing-wireguard- vpn/9)

<comment><USER10> The comment in question only talks about theoretical top speeds and he doesn't actually do any benchmarking. I'd like to see some actual tests before they write it off.

<comment><USER9> He does the math to prove that when you subtract all the mandatory protocol and frame headers you end up with practical maximum of 949.28 Mbps on 1 Gbps line. Providing charts with 1011 Mbps in favor of WireGuard makes all the comparison at least dubious. Another thing he mentioned is the test compares ChaCha20 cipher with AES256-GCM which is totally unfair. Why would you invest so much in perfect code then to fake the benchmarks?

<comment><USER11> Regarding the 1011Mbps figure: the graph _suggests_ the measurements are compared to powers of two (the axis is in powers of two and the line right next to the bar _suggests_ the maximum would be 1024), so I would be more inclined to believe there may have been a mix-up between mebibits/sec and megabits/sec, or something IEC/SI units related somewhere in the measurements? IMHO I don't think that the author would have any reason to fake the benchmarks (because it actually is an amazing piece of software), but I admit I like to err on the side of "assume good intentions".

(edit: rephrased for clarity)

</comment></comment></comment></comment><comment><USER12> Wonder why they still keep IPsec considering it being insecure for a long time: [https://www.forbes.com/sites/thomasbrewster/2016/08/19/cisco...](https://www.forbes.com/sites/thomasbrewster/2016/08/19/cisco- nsa-vpn-hack-shadow-brokers-leak/amp/)

<comment><USER13> geeze, a box made by Cisco that happens to implement IPSec has security flaws, and that gets to translated into "IPSec is being considered insecure".

The box in question implemented AES, RSA and DH. Does that mean AES, RSA and DH should be considered insecure too?

</comment></comment><comment><USER14> No drama this time.

<comment><USER15> No-one pushing rubbish code this time.</comment></comment>


How it feels to learn JavaScript in 2016 - <AUTHOR> https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.xy37gvk0g <comment><USER2> How many times will you post this?

<comment><AUTHOR> I haven't seen this before. No URL can be posted twice afaik, so hackermoon.com must be doing something odd with their URLs. My apologies.</comment></comment>


Slaughterbots: Stop Autonomous Weapons [video] - <AUTHOR> https://www.youtube.com/watch?v=9CO6M2HsoIA&t= <comment><USER3> It's like WWI all over again. In WWI, people went happily off to war thinking it's going to be nice and heroic and adventurous like the good old days and they all get slaughtered in a pathetic pointless way in a blink of an eye by newly developed automated war machinery.

The first AI War is going to be a really brutal wakeup call. The part in sci- fi where anyone actually has to aim to kill an enemy was a big romantic lie. The robots don't miss and they draw and shoot before the humans even know they're there. William Gibson, to his credit, did anticipate this with the Slamhound assassin robots in Count Zero.

<comment><USER4> "Heroic" and "adventurous" OK, but- "nice"? I can't believe anyone ever thought that going to war -to kill and risk getting killed- could be "nice", except perhaps for murderous psychopaths.

<comment><USER5> It's a figure of speech meant to convey irony.

</comment></comment></comment><comment><USER6> The message of this film feels extremely confused - probably because it's trying to single-mindedly push an agenda rather then explore the problem space. In a world where apparently drone-swarms are this cheap...what, no one ever developed counter-drones? It's the reason grey goo isn't a realistic scenario for nanotechnology: the goo has to replicate, whereas all the counter-goo has to do is kill it.

Same issue: a world where the technology to build an incredibly cheap drone that size which can hunt humans with facial recognition based on specific parameters exists...is also a world in which an anti-drone can use the exact same technology and just ram into unidentified drone vehicles to disable them. If the swarms are cheap enough for terrorists, then the counter-swarms are monumentally cheaper.

EDIT: It's worth noting you could argue other scenarios - like only governments building these, but that's what I mean by the message being confused - it's not clear what the threat is supposed to be.

<comment><USER7> I don't think "people will invent countermeasures" is a particularly good argument. We have countermeasures against chemical weapons - but not everyone has them all the time. We would still be better off if we hadn't opened that pandora's box.

For an eight minute video, it does a decent job of exploring the consequences of a weapon that can kill remotely, with minimal collateral damage, and with no supervision. They touch on potential use against terrorists, political opponents, and activists. The main point being that once you release thing into the wild, you have little control over how it will be used.

<comment><USER8> > We would still be better off if we hadn't opened that pandora's box.

I don't think that's a reasonable assumption to make. I have no evidence either way, but I can easily instantly theorize that lots of medical advancements might have come from the same people that got their feet wet in chemical weapon technology, in later stages of their careers/life.

Again, I don't really have an opinion, and haven't really thought it through - I'm just saying your blanket statement needs a citation.

</comment></comment></comment><comment><USER9> Unfortunately I don't see a way this can be avoided.There has never been a weapon humanity imagined, designed, and built that it has not used. AI will be no different.

A ban would be impossible to implement. What exactly would you ban? AI? Drones? facial recognition? Once you have a certain level of capability in these technologies, weaponising these things is the easy part.

<comment><USER10> We can make it considered unacceptable and against international law. Like chemical weapons. Which still happen, but not as much as they would if the U.S were, say, planning on using them all over the place, doing heavy R&D into them, and selling them to other people. Like, you know, robot kill bots.

<comment><USER11> Most of the reason chemical weapons don't get used is because they're not very effective. It's hard to disperse them on the battlefield, changing weather has a nasty habit of blowing the stuff back onto your own troops, and protective gear is cheap enough to equip everyone in an army. I'm pretty sure that everyone was willing to ban them internationally not just because they're horrible but also because they're not very useful.

Compare with nuclear weapons, which are way worse and have a lot of support for a ban, but there's no serious hope of that ever happening, because they are really good at killing people and destroying stuff.

Seems to me that a ban is only realistic if the stuff doesn't work well.

<comment><USER4> >> Most of the reason chemical weapons don't get used is because they're not very effective.

Against a modern military equipped and prepared to withstand them, perhaps. Against a civilian population or a less well-funded force, not so much. This is doubly the case when the attacker is a non-state agent (like a terrorist). Remember for instance the Sarin gas attack in the Tokyo metro by the Shinning Path [1]. An air force bombing a major city with chemical weapons would also cause vast casualties.

I think what you're trying to say is that chemical weapons are primarily designed to be terrifying with lethality considerations coming next. However, you could argue the same about nuclear weapons. After all, the attacks in Hiroshima and Nagasaki were not acutally meant to wipe the Japanese apart, only to scare them into submission. And nuclear deterrence works on the principle that an enemy _won 't dare attack_ a nuclear power.

In general, you could think of all weapons ever as aimed primarily at the morale of the enemy rather than their life and that thought may have some merit. After all, an army that breaks and runs is beaten faster and with fewer losses to the other side than one that fights to the last [2].

However, the important point to keep in mind is that weapons, even when they're primarily designed to be terrifying, are designed to be terrifying _in the manner they kill_. So I think you'll find that most people would agree that chemical weapons should be banned because they kill in a horrible manner, not relative to the number of casualties they may or may not inflict.

I do think you underestimate their potency btw.

__________________________

[1] [https://en.wikipedia.org/wiki/Tokyo_subway_sarin_attack](https://en.wikipedia.org/wiki/Tokyo_subway_sarin_attack)

[2] Cough cough. In war games, certainly.

</comment></comment></comment></comment><comment><USER10> I for real find it terrifying. If we were sane, we'd be pushing for international treaties against this same as chemical weapons, instead we're making it happen and selling the tech to people.

<comment><USER12> International treaties around weapons are hard to enact lately - it seems that most of the useful stuff that we have is mostly created in WW1-WW2 era. For more recent treaties, the usual pattern is that one is enacted, but US, Russia and China (and sometimes a few others who happen to be major users) simply refuse to be a party. Most other countries sign up, but it mostly doesn't matter, because they either don't do it on a large scale anyway for other reasons, or they ignore it when it's suddenly convenient. Examples:

[https://en.wikipedia.org/wiki/Ottawa_Treaty](https://en.wikipedia.org/wiki/Ottawa_Treaty)

[https://en.wikipedia.org/wiki/Convention_on_Cluster_Munition...](https://en.wikipedia.org/wiki/Convention_on_Cluster_Munitions)

</comment></comment><comment><USER13> Software eating society. Suddenly our entire criminal justice paradigm breaks down without corporeal law breakers. Makes the 'corporation as a person' question seem sophomoric

</comment><comment><USER14> Just the availability of this kind of tech would scare anybody sane shitless. From that day, you'd better hope you don't ever piss off anybody within a 1000 km radius enough to find your photo and address online (easy in most countries) and drive to within drone distance of your house. Want to obliterate anyone's family completely? Done. Kill anyone in session at the government of a country - any country? Done.

<comment><USER15> That technology already exists and is being tested in a military setting [https://www.youtube.com/watch?v=CGAk5gRD-t0](https://www.youtube.com/watch?v=CGAk5gRD-t0). Not sure if those ones have explosive on it but I'm sure it isn't harder to implement it.

</comment></comment><comment><USER16> People who can should apply to work on one of the AI Safety Research projects:

[https://futureoflife.org/ai-safety-research/](https://futureoflife.org/ai- safety-research/)

The list covers a number of professors in top graduate programs and several angles should be tackled simultaneously to maximize our chances.

<comment><USER17> This seems to be mostly about skynet scenarios, which is an entirely different problem.

<comment><USER16> Yes, I am aware. But weaponized drones and robots will give much more power to a future skynet or a lesser version that autonomously acts with minimal guidance which may unintentionally divert from human goals. This greatly increases the priority of AI Safety research.

Some people I know kept arguing we can simply unplug the skynet and be mostly safe (despite some damage). These AI weapons make it clear that we will not be able to largely limit the damage to the virtual world.

<comment><USER18> > _But weaponized drones and robots will give much more power to a future > skynet ..._

Nah, not really. In the face of a proper hard-takeoff superintelligence, Skynet will look positively incompetent by comparison.

There's enough manufacturing equipment connected to the internet today that a superintelligence could physically manifest whatever it wishes. That's not to mention all the human labor it could coerce, trick or pay.

Put simply: as soon as the thing copied itself into the internet, that's game over. Better hope it likes us.

</comment></comment></comment></comment><comment><USER19> Best and most telling part of the video: "trust me, these were all bad guys"

</comment><comment><USER20> Daniel Suarez, the author of Daemon, has another book called Kill Decision, which explores a lot of these ideas.

<comment><USER21> He's also had a great video on this topic for a few years:

[https://www.youtube.com/watch?v=pMYYx_im5QI](https://www.youtube.com/watch?v=pMYYx_im5QI)

</comment></comment><comment><USER22> Terrifying and fascinating, as all good wake-up calls should be.

In the future, miniature exploding drones could indeed autonomously, distinguish between cranium and body, plot a flight route and divebomb at their victim.

But, I don't think these skull-crackers will be _fully_ autonomous, even with significant advances and development. Given the chance of collateral damage and the "fuzziness" of algorithms, the kill command or sequence will be still left to a human operator, like how America does so in the skies of Pakistan or with the machine-gun robots of the Middle-East[1].

In my mind, the the computer would display potential targets via live capture, and the human in the chair would cycle through them, and after filtering out the mistakes (a human dummy, a picture on the wall), type "y".

Militaries would have this check less out of "consider the ethics and morality!" and more out of rational avoid-friendly-fire and ensure-maximum accuracy-of-the-payload.

One exception to this approach could be indiscriminate killing; where the designers intentionally program the drones to lobotomize any target within a geographic range or a time, as long as that target exceeds a certain threshold. This approach is guaranteed to result in a lot of false positives, but would still be remarkably efficient for the purpose of terror or localized warfare. [2]

On a side note, YouTube recommended a follow up video, depicting a real-life swarm, howling and circling around a target. [https://www.youtube.com/watch?v=PYLP0pAGbE0](https://www.youtube.com/watch?v=PYLP0pAGbE0)

[1]: [https://en.wikipedia.org/wiki/Foster- Miller_TALON](https://en.wikipedia.org/wiki/Foster-Miller_TALON)

[2]: Even remote controlled drones strikes are pretty iffy on who they kill, so it's not like unlikely that less savory actors won't mind blanketing swaths of countries with skull-crackers. [https://www.nytimes.com/2015/04/24/world/asia/drone- strikes-...](https://www.nytimes.com/2015/04/24/world/asia/drone-strikes- reveal-uncomfortable-truth-us-is-often-unsure-about-who-will-die.html)

<comment><USER21> I think it's naive to think their primary focus will be collateral damage. Is that really the focus in _any war at all_?

[https://www.vox.com/world/2017/11/16/16666628/iraq-nyt- casua...](https://www.vox.com/world/2017/11/16/16666628/iraq-nyt-casualties- civilian)

And that's just the targeting of the drones themselves. But how accurate is the intelligence targeting? Post-Snowden we found out that they were killing people mainly based on what SIM card the targets carried with them.

Plus, they consider _any male that is killed and above 16 years old_ as a terrorist. It's harder not to be "accurate" when that's your definition of a target...

Also, you're forgetting one aspect of this. The cheaper the tech becomes, the easier it will be used. Just like we now kill 100x more people with drone strikes that we did with airstrikes, in the future we may be kill 100-1,000x more people with automated drones, because it's so much easier to "get rid of the baddies".

Do you actually think they'll hire 100x more people to operate those machines and "have final say"? Yeah, no way that's how they'll think about it - <USER2> we make them_ think differently about it and not to allow the automated kill machines to ever be built/sent.

I mean, given the type of politicians the U.S. government tends to have these days, which option do you think they'll choose? A 10-year dragged out war against a group like ISIS, or "just sending 10,000 automated drones" into multiple "hot areas" and "finish the job within a month"?

Can you not see how their logic would go, and that we'll actually need a lot of people to oppose that type of thinking to ensure it will not happen? But will there be a lot of people to ensure that doesn't happen, if say a terrorist group takes out the White House? Or will everyone think "those 100,000 people all killed automatically by the drones _deserved it_ for destroying our White House!!".

Heck, Trump already asked the military "for the biggest bomb they can send" \- a bomb that was built but _never used before_ \- and it wasn't even a situation of the US being under huge immediate threat at the time. It was mainly done for PR purposes for Trump to show how macho he is and how he "gets things done." The worst part about it is that the media seemed gleeful about it, rather than condemning him.

I think it would be best to ensure the machines are not built in the first place. There are too many trigger-happy people that would send such drones out.

<comment><USER23> Theoretically we can make building and using them illegal, but there's no way to prevent building and using these machines.

</comment></comment></comment><comment><USER24> I, too, look forward to season 4 of Black Mirror.

<comment><USER25> Interestingly, this was almost the exact plot to the the latest season finale.

<comment><USER26> I've observed elsewhere that the reason this is different is also the reason they couldn't use footage from "Hated In The Nation" (the Black Mirror episode you're thinking of)

Hated In The Nation hypothesises that a lone nutter repurposes existing non- lethal technology to kill people. No explosives, just drill your way into the brain through the ear because the robots are replacements for flying insects.

A law saying "Don't make killer robots" is useless in the Black Mirror scenario, nobody made killer robots except the lone nutjob they're already hunting for murder. So for this campaign it's an unhelpful message, it suggests their campaign would be futile.

</comment></comment></comment><comment><USER27> Thanks for the requirements and use case. How about a Gofundme to start on development? I also see a group providing drone attack services along the lines of booter/stresser DDoS providers (distributed denial of services).

On the other hand, I think it will be a long time before visual face recognition will ever get this good, especially out in the real world with bad lighting, hats, eyeglasses etc. But let's say the world of the video authors comes true. What do we do?

Defenses:

      1. Microwaves can fry electronics.  A system wouldn't need fancy targeting; just blast powerful microwaves in all directions.
        Downside:
          A. Microwaves this strong are bad for people too.
          B. All it takes is 1 anti-microwave drone to slip through and disable the system.
          C. Asymmetrical cost of offense vs. defense

      2. Lasers can fry the optical sensors used by the drones
        Downside:
          A. Probably would need a fancy targeting system?
          B. Same problems as microwave defense 1B and 1C.

      3. Something along the lines of WW2 barrage balloons.  A network of suspended lines designed to entangle the drones.
      The lines wouldn't have to be very big; a piece of strong thread could get caught in the rotor of a drone and disable it.
        Downside:
          A. Wind gusts
          B. How do you suspend the thread?
          C. Do you carry one with you when you go out to Starbucks?
          D. The thread would have to be small enough to not be detected by the drone's camera but big enough to cripple it.

      4. Ski mask.  If the drone is programmed to attack specific individuals using facial recognition, take away it's targeting requirement.
        Downside:
          A. Maybe drone deployers don't care about a specific target -- just body count.

      5. Play dead.  It's assumed the drones wouldn't waste resources on targets that have already been attacked, so just emulate a victim.
        Downside:
          A. Big assumption

      6. Wax museum defense.  Have a mannequin with target's facial features.  Drone attacks wax dummy.
        Downside:
          A. See 3C, 4A

      7. Obscure the target.  Throw a blanket over the target.
        Downside:
          A. Time to deploy.
          B. Darn.  Left my blanket in the back in the ....POP!

</comment><comment><USER28> I find it Strange that nobody generally comments on this including all the previous postings..

is it because people think it is inevitable and there is nothing they can do to stop it?

or is it because people think it is fantasy and could never happen?

<comment><USER29> Another option is that some of us really look forward to real-life sentry gun turrets; we actually _want_ this future.

<comment><USER30> Systems such as Phalanx CISW with fully automatic mode have been available for ages.

<comment><USER31> _Systems such as Phalanx CISW with fully automatic mode have been available for ages_

Phalanx doesn't work tho' :-) In 1991 Iraqi forces launched a Silkworm missile against USS Missouri. The ship launched decoys... and its Phalanx guns promptly targeted those decoys. Fortunately there was a Royal Navy ship, HMS Gloucester, in the vicinity which dealt with the problem with a good British weapon, the Sea Dart missile. This was the first real "drone on drone" combat, if you will.

<comment><USER30> I expect the software was upgraded several times since. Also, I expect drone countermeasures coevolve with drones.

</comment></comment></comment></comment></comment><comment><USER32> In a world of fighter-jets, satellites, and nukes, under the right circumstances this is a development which could cut both ways.

From Wikipedia: " _Quigley concludes that the characteristics of weapons are the main predictor of democracy.[0] Democracy tends to emerge only when the best weapons available are easy for individuals to buy and use._ "

[0] [http://www.carrollquigley.net/pdf/Weapons%20Systems%20and%20...](http://www.carrollquigley.net/pdf/Weapons%20Systems%20and%20Political%20Stability.pdf)

<comment><AUTHOR> Do Somalia, Afghanistan, and Iraq qualify as natural experiments that test this theory?

<comment><USER32> I doubt it. Jets, drones, and satellites vs peasants with automatics is a fairly stark disparity.

I'm making more of a long-term guess here. Unlike uranium enrichment or jet construction, I _suspect_ that state-of-the-art drone manufacturing may _eventually_ reach a level of affordability to where drone-facilitated hits, feuds, and drive-bys become a _thing_ on domestic soil.

edit: And key part of the wiki quote is " _the best weapons available_ ". If the best weapon available is a six-shooter, and it has a price that almost everyone can afford, you've got an "equalizer". Democracy! If the best weapon available is a nuke, and it takes billions in supply chains and hundreds of millions in materials and know-how to make one, that is a lot of extra leverage for the guys at the top.

</comment></comment></comment><comment><USER33> Cannot be stopped. Whatever human mind imagines can be made. Only defense is counter drones. Everyone will buy one with next cell phone.

</comment><comment><USER34> technically there is nothing new in this clip. People have been singled out and murdered for since we exist and sometimes nobody is singled out but everybody killed with a bomb. nonetheless there is something undeniably creepy and unsettling about being killed by a soulless machine.

</comment><comment><USER35> This is terrifying!! AHH!!!!

</comment><comment><USER36> I have been warning about this for years:

[https://www.schneier.com/blog/archives/2015/08/shooting_down...](https://www.schneier.com/blog/archives/2015/08/shooting_down_d.html#c6702487)

</comment><comment><USER37> personal EMP??

</comment><comment><USER38> I thought it was real for a few seconds.. Wow Scary!

</comment><comment><USER39> Is this a leak of Black Mirror Season 4?

</comment><comment><USER40> Maybe we can petition.

<comment><USER41> Or start building anti drone capabilities.

</comment></comment><comment><USER42> crazy

</comment><comment><USER43> Magnificent piece of technology! Except it gets defeated by a 2$ skimask. This kind of fearmongering isn't really useful as a way of creating political change. If you want people to participate in a reasonable and constructive dialog then convince them to do so with reasonble and constructive arguments.

<comment><USER44> Do you know that person identification based on gait detection is actively developed and getting decent results? Same with voice.

Also in a really grim scenario, could threaten/kill anyone that hides their face, be it with a skimask, burka or whatever. Or even require positive identification, that your face is found in the database.</comment></comment>


Functional Programming Jargon - <AUTHOR> https://github.com/hemanth/functional-programming-jargon <comment><USER2> Seriously, what's up with these comments? If the examples are plain wrong, wouldn't it be more prudent to create an issue in the repo? Also it seems to be a lot of hate for the use of JavaScript. It's a great thing that they chose the most widely available language. We get it, you know a purely functional language. Good for you! I am really disappointed in the general, holier-than- thou attitude here.

<comment><USER3> And in fact, the learning of new terminology and a new syntax/libraries/etc as always made it more difficult for me to learn new languages.

I now try to learn new concepts in a language I'm more familiar with, and then learn the language/syntax.

I find this repo wonderful!

<comment><USER4> you might enjoy this then: [https://drboolean.gitbooks.io/mostly-adequate- guide/](https://drboolean.gitbooks.io/mostly-adequate-guide/)

</comment></comment></comment><comment><USER5> I took a (mandatory for cs) class in college that introduced these concepts. For a long time I thought that was a normal part of cs curriculums, but it seems not.

Also, its very strange to see these concepts illustrated with Javascript. I imagine thats something like trying to learn Chinese using the roman alphabet. Not that it can't be done, but a lot of important details are necessarily missing.

<comment><USER6> JavaScript lends itself really well to functional programming, no?

<comment><USER7> Not really, no. Example: partial function application does not feel nearly as natural as in in Haskell.

<comment><USER8> The reason they use JavaScript is because it's known by many and the examples can be tried without downloading/having an additional compiler. There are at least two dozen concepts on the list there - the value of illustrating new concepts for some with a known quantity far outweighs the downsides of having to start with a fresh environment.

I will say though for the exact cases you mention, they probably should be clear why this isn't _exactly_ the concept as described.

<comment><USER9> Here you go: [http://tryhaskell.org](http://tryhaskell.org)

</comment></comment></comment></comment></comment><comment><USER10> Why on earth are people complaining about using Javascript to illustrate functional programming language concepts? The whole point of this is helping non FP programmers to wrap their head around these terms. Javascript is by far the best mainstream language for doing functional programming.

<comment><USER11> I'm not so sure. In C++, most certainly a mainstream language, two copies of the complex number `2 + 3i` are equal to each other. In JavaScript, they're different. (Assuming you make two objects with fields `realPart` and `imaginaryPart`.) How can you do functional programming on a foundation where not even the most basic property of equality holds (every value is equal to itself)?

Remember that functions are mappings from _values_ from a domain, into _values_ from a codomain. A language whose treatment of compound values is as feeble as JavaScript's can't possibly constitute the right foundation for doing functional programming.

<comment><USER12> Just define your own equality operator?

Eg in Haskell, whether things can be compared for equality depends on their representation. (Eg church encoded datatypes do not lent themselves to the built-in derivation of the == operator.)

<comment><USER7> If you can't use the builtin `==` operator, you can throw away much of the builtin functionality. The runtime uses `==` in far too many places without ability to provide your own comparator. You want to use your own types as keys in a `Map` or `WeakMap`? Yeah, not going to work.

</comment></comment></comment></comment><comment> white-flame Defining what things are doesn't describe what they're useful for. Consider the Monad entry; does this bring any clarity to a beginning functional programmer who's looking up why people use monads?

<comment><USER13> Also I don't think the definition of Monad itself is accurate there.

<comment><USER14> As far as I can tell, the definition is accurate. The only thing I would say is that `flatMap` is the name given to the (usual) list monad's bind operation, and is not used for arbitrary monad's binds.

<comment><USER12> Their definition of 'Lift' is interesting. In essence with that definition they could redefine Applicative Functors as something that's a 'Lift' and a Pointed Functor.

</comment></comment></comment></comment><comment><USER15> It uses Javascript in the examples, but Javascript has slightly different definitions for some.

Partial Application and .bind(). Function.bind() in JS is about setting `this` for when the function is called[1].

Constant, `const`, declaration in JS governs reference reassignment. Is that the same as referential transparency? Either way the example is wrong. The following is not an invariant. `five` cannot be changed, but `john.age` can be. The object reference is constant, but not the object value.

`john.age + five === ({name: 'John', age: 30}).age + (5)`

Lazy evaluation should be called a generator if we are doing JS specific naming conventions.[2] Seems like the Haskell camp like the term Lazy Evaluation, but the Pythonthoic yield camp likes the term Generator.

[1] [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) [2] [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Statements/function*)

<comment><USER16> >Partial Application and .bind(). Function.bind() in JS is about setting `this` for when the function is called

Everything after the first parameter to .bind() sets regular parameters.

>Lazy evaluation should be called a generator if we are doing JS specific naming conventions.

They used a generator as an example of lazy evaluation. Not all generators are examples of lazy evaluation, and not all lazy evaluation is done with generators.

Agreed about const. In Javascript, const is purely about the variable binding being immutable, and not a statement about the value itself.

<comment><USER17> > Everything after the first parameter to .bind() sets regular parameters.

And if you consider `this` to be an implicit first parameter, everything makes perfect sense.

<comment><USER16> `this` isn't exactly like a parameter to .bind() though: the `this` value passed to the bound function is completely ignored, instead of being passed as extra arguments.

</comment></comment></comment></comment><comment><USER18> This could well lead to a GoF-style book to be published. And 15 years later, cool kids then can point and laugh at "Traversable Semigroup Isomorphism" like they do for "Abstract Factory Factory" now.

<comment><USER19> Except 'Traversable Semigroup Isomorphism' is based on math, and is timeless.

</comment></comment><comment><USER20> Some of these are basic, some are more complex, and others I've never ever seen actually used. Does some one here actually know a practical (or at least non-toy) example usage of a co-monad?

<comment><USER21> lenses, the store comonad, cellular automata, convolution,zippers. "whenever you see large datastructures pieced together from lots of small but similar computations there's a good chance that we're dealing with a comonad"

[http://www.haskellforall.com/2013/02/you-could-have- invented...](http://www.haskellforall.com/2013/02/you-could-have-invented- comonads.html) (The Builder Pattern, The Iterator Pattern, The Command Pattern)

</comment></comment><comment><USER22> What's most interesting to me here is that this article uses JavaScript for all its examples.

Also, this may well be the thing that finally helps me understand what the crap Monads are.

<comment><USER23> It's not a bad example but lacking generality and more importantly explicit types.

It's really all about connecting types like LEGO blocks, so the important thing is to show the type signatures.

"bind" is the function required from Haskell's Monad typeclass, but not a good choice to explain monads. It's much cleaner to explain monads as functors with "join" and ("inject" aka return).

      map :: (a -> b) -> (M a -> M b)
      join :: M (M a) -> M a
      inject :: a -> M a

With these guys you can easily compose "dirty" asymmetric operations like (readFile :: FilePath -> IO Bytes)

</comment></comment><comment><USER11> How come the definitions of "functor", "applicative functor", etc. don't mention the most important part? _The laws._

The definition of equational reasoning is also very weak:

> When an application is composed of expressions and devoid of side effects, > truths about the system can be derived from the parts.

Truths about _any_ system can be derived from the parts. What equational reasoning gives you is the ability to study the parts _in isolation from each other_.

</comment><comment><USER24> I wish the utility of these concepts was illustrated with some code. Although, I concede perhaps this is more difficult to do with short code snippets.

</comment><comment><USER25> For anyone looking for something more in depth, check out [https://drboolean.gitbooks.io/mostly-adequate- guide/content/](https://drboolean.gitbooks.io/mostly-adequate-guide/content/)

<comment><USER26> Neat! Thanks for sharing.

</comment></comment><comment><USER27> Nice idea, but that must be the worst explanation of monads I've seen so far :)

<comment><USER22> Can you recommend a good one? I've read several but still don't get it. And I hardly have time to write code to learn it like people say is necessary.

<comment><USER28>
      Can you recommend a good one? ... I hardly have time to
      write code to learn it like people say is necessary.

The _easiest_ way to learn monads is through code (in haskell they're just a tricky typeclass: [http://dev.stephendiehl.com/hask/#eightfold-path-to-monad- sa...](http://dev.stephendiehl.com/hask/#eightfold-path-to-monad-satori)) If you don't want to write code you could learn them like a mathematician from first principles ([https://en.wikipedia.org/wiki/Monad_(category_theory)](https://en.wikipedia.org/wiki/Monad_\(category_theory\))), but that seems so much harder to me I'm not sure why you would.

<comment><USER29> Is there a non-haskell resource on monads you could recommend? Anything that starts with "first, learn haskell" is probably not the _easiest_ way, assertions from people who already know haskell notwithstanding.

<comment><USER28> Great point! I found this for python: [https://www.stephanboyer.com/post/9/monads- part-1-a-design-p...](https://www.stephanboyer.com/post/9/monads- part-1-a-design-pattern), but it definitely focuses more on explanation than practical use. A list of "how to practice with monads in various languages" would be a neat thing to have.

</comment></comment></comment></comment></comment><comment><USER30> Some feedback for discussion - some of the FP stuff is sort of blurry to me after a point but here is what I sort of feel scratching this at the surface as a scala dude. Not trying to be critical - just whatever is off of the top of my head a la review.

Lazy: I feel like the definition of lazy needs to be demonstrated in contrast to eager evaluation.

val x = {println("evaluating x"; 5)}

lazy val lazyX = {println("evaluating lazyX"; 5)}

this would print ("evaluating x) to the console. lazyX would not be evaluated because it is not invoked. Here the eager definition of x demonstrates that it is evaluated immediately. lazyZ is only evaluated when invoked.

Monads and higher kinded types. The informal vs formal definition of some of the higher kinded types is worth noting. You're either describing the most formal definitions (identity/associativity laws) or you're describing the informal defition (has flatmap, processing things in a series as described in the wikipedia article [https://en.wikipedia.org/wiki/Monad_(functional_programming)](https://en.wikipedia.org/wiki/Monad_\(functional_programming\)) ) Monad seems to be the informal definition, otherwise associativity laws should be included maybe? Eg in Scala Try is not a formal monad as the associativity laws don't hold true. [https://wiki.haskell.org/Monad_laws](https://wiki.haskell.org/Monad_laws) Also why is it "of" and "chain" here? Isn't it traditionally flatmap that indicates a type might be a monad, and then the identity laws the truly confirm it? Maybe this is js land? If so, should the doc say "this is js" as flatmap is pretty descriptive of map+flatten. It's hard to talk about - It's not at all clear to me what people mean when they talk about monads either - just throwing thoughts around.

I think you should outline how Currying and Partial Application are related maybe? Eg currying is taking a function with an arg list and making it take multiple arg lists (the act of making a function take multiple arg lists), and Partial application is the application of an argument of a curried function more or less? I think the relationship between these should be highlighted possibly to sort of draw out what part of the life of a function we're talking about if trying to illuminate the subject for someone.

<comment><USER31> Thanks for the feedback. I've been trying to direct the definitions to be informal and understandable but many contributions come in with a different voice. Some of the definitions are first draft attempts just to get something in place.

It's been awesome to see the sudden popularity of our humble glossary :)

</comment></comment><comment><USER32> what about homographs ? For example, 'functor' means something different depending on the programming language (Haskell, OCaml)

<comment><USER12> Not only that, oop people sometimes use 'functor' to mean an object you can call like a function.

</comment></comment><comment><USER33> Hmm first time I had a semblance of grasping what the heck a monad was. Cool.

</comment><comment><USER34> This is great. Very helpful for understanding / translation.

</comment><comment><USER35> This is great! Throwing all of these into an anki deck. :)

</comment><comment><USER36> Requesting @dang to change the URL to remove the #list fragment.

<comment><USER37> We did. But please send such questions to email@example.com, because (a) they're off-topic and (b) it's the only way to make sure we see it.</comment></comment>


Ask HN: Idea for an automatic silent installer for *any* software - <AUTHOR>

Hi,
I've been using NiNite for some time and because I like it so much I was just wondering how one could create an automatic installer for just about ANY software and then it occurred to me that it can be almost 100% automated.
All you have to do is use a software like SandBoxie to run the installer inside a sandbox and then see the files and registry entries it creates or changes (much like how Revo Uninstaller monitors). I think RegisterMon and FileMon can be used to monitor this as well.
I'm guessing file and registry entries are all there is to make _most_ software work after installation. So with this list in hand it should be easy to create an automatic silent installer for almost any software out there.
Advantages:

  1) Silent unattended install for **any** software
  2) Bulk installation of many different software at once.
  3) Anyone can create silent installer with their own custom settings.
  4) Automatical uninstaller since you know exactly which files/keys are being created.
  5) No toolbar/crapware even by mistake.

 I just thought of it so wondering what other hackers think of it. Does anything like this exists? Are there any holes in my theory? Would love to hear what other hackers think of it!
The idea behind it is to create an community style website (that extends Ninite) for just about any software. Where users can submit their own installers for free software (like CCleaner, OrbitDownloader, DoPDF, etc). <comment><USER2> <http://www.landesk.com/products/software-distribution.aspx>

LanDesk does this. Used it extensively as a build engineer at a call-center some years ago.</comment>


Best iPhone App - <AUTHOR> http://www.brianwhite.org/2008/07/11/best-iphone-app/ <comment><USER2> No one has gone bankrupt by underestimating the stupidity of the general public (paraphrase).

Mirror app anyone!</comment>


Java 7 : More concurrency - <AUTHOR> http://www.baptiste-wicht.com/2010/04/java-7-more-concurrency/ <comment><USER2> Still no composable concurrency primitives. Maybe Java 8 will catch up to GHC from 5 years ago.

<comment><USER3> For the benefit of the philistines, what composable concurrency primitives does Haskell ca. 2005 have, and which would map well to an imperative OO language?

</comment></comment><comment><USER4> fwiw - there is the Kilim framework focusing on the actor model. ([http://www.ibm.com/developerworks/java/library/j-javadev2-7....](http://www.ibm.com/developerworks/java/library/j-javadev2-7.html))

</comment><comment><USER5> That looks related to the actor-model for parallel processing.

<comment><USER6> How so?

</comment></comment><comment><USER7> Duke Nukem Forever: More weapons! More enemies!

<comment><USER8> You can play with most improvements coming in JDK7 right now ... <http://download.java.net/jdk7/binaries/>

<comment><USER7> You can probably find prototype versions of DNF out there too if you look hard enough. I fully realize that "Java is dead" posts are heavy down-mod territory right now because there are so many emotional and financial ties to the platform, but wait a few years.

<comment><USER9> DNF was never released. Java 7 is being released.

The downmods are probably coming not because people have emotional or financial ties to the platform, but because you made a bad comparison between two unrelated things in a way that adds nothing. In other words, your comment is indistinguishable from trolling.

<comment><USER7> What do you think the odds are that it will be 2011 and still with no clear concrete release date planed for Java 7? I think very good. The plural of tomorrow is "never", here.

People are optimistic about Java as an evolving unified platform when there is no such indication. The important Java pioneers have abandoned the ship. Google is hedging their bets on Android by divorcing itself from the JVM and the core libraries. History shows that such things (open or not) require strong unified leadership, and Java has none. Even so, what indications of Java 7 being agreed on and adopted are there that should make someone more optimistic than about say Python 3 or Perl 6? The fact is that Java 6 is good enough for the spaces where it is currently used.

Java 7 will have no place in the mobile world. (Though a variant of Java, taken in proprietary directions by Google, might.) In the server space it has lost and is rapidly losing more ground to C# (by nearly all accounts now a superior platform which is evolving to be better), and other languages built on the JVM.

People have saying Java was in severe decline for many years, but never have the signs been so consistent and clearly aligned as they are now.

<comment><USER8> > _People are optimistic about Java as an evolving unified platform when there > is no such indication_

You're not asking the right people ... <http://groups.google.com/group/jvm- languages>

> _Google is hedging their bets on Android_

That's because Dalvik is a register-based VM (versus stack-based) optimized for efficiency on a mobile device that's using solid-state memory (which has sloooow access times). The bytecode itself lends to better interpretation (and it wouldn't be useful on a general purpose PC where you have the resources to JIT).

> _what indications of Java 7 being agreed on and adopted are there that > should make someone more optimistic than about say Python 3 or Perl 6?_

InvokeDynamic.

Dynamic languages on top of the JVM are already fast. Jython / JRuby are already ahead of the reference interpreters in many benchmarks. And in real- world projects it is much nicer to drop to Java for bottlenecks than to C/C++.

In JDK7 InvokeDynamic provides a way to specify a handler for a call-site the JVM doesn't understand (and I think the caching is at least monomorphic). Thus it is possible for dynamic calls (with an unknown interface) to be as fast as virtual methods invocations (blazingly fast on the JVM).

And for JDK6 there's even a backport (using Java agents) for backward compatibility (also with speed improvements).

I haven't seen any real project (or any significant open-source project other than Parrot / Perl6 itself) that's based on Perl 6. And it was started when? 10 years ago?

And many people would argue that Python 3 only brings a couple of syntactic improvements. Only Unladen Swallow makes it exciting for me.

Until then, some reasons why it's not exciting for me ... GIL (no parallel threads), reference-counted (huge memory usage on long running processes), still slow as fuck for expensive computations.

Python is my favorite language, but I'm moving gradually to using Jython more and more.

> _losing more ground to C# (by nearly all accounts now a superior platform_

No, not really. Both have strengths and weaknesses.

<comment><USER10> _I haven't seen any real project (or any significant open-source project other than Parrot / Perl 6 itself) that's based on Perl 6. And it was started when? 10 years ago?_

That sounds a bit like the No True Scotsman fallacy. (What makes a project "real" or "significant"?) Regardless, why should that matter? How many real projects do you know of based on Java 7, or even Python 3? (Python 3 is _older_ than Perl 6.)

<comment><USER8> Sorry, that came out wrong.

I actually took a look at Parrot ... great tools for language designers, flexible type-system (oh god, the type system in the JVM is horrible).

I really hope you guys can pull it through.

I was judging from my POV ... I want to implement a language than I can use as soon as the parser is finished (I'm not enough of a man to implement my own VM or to deal with non-mainstream choices, although that may prove to be better long-term).

<comment><USER10> Our biggest lack right now is of documentation for the compiler tools. I hope to address that in the next few months.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Paul Graham convinced me to drop out of school / quit my job [Vote up if true] - <AUTHOR> <comment><USER2> Hi, I'm 50. I tried to apply PG advices to become rich. I left my job and went back to grad to find a cofounder. I also divorced to get rid of wife and kids. I applied for rejuvenation camps, plastic surgery and many othere expensive treatments because PG said we better start young. Since Cobol and Fortran are useless, I had intensive courses to learn lisp, visual basic, php, .net and ruby.

There are still a few details left to smooth, but I think I am very close to be able to apply to YC. I still have no idea of what my startup would do, but PG said this was not important...

Could there be something I misunderstood in PG talks ?

PS: This is all fake, of course, and ment to be humorous. There is only one thing that matters and PG was very clear on this. It is to come up with something that people will want and will be ready to pay for in some way (accept to view ads for instance). Wether you'r old, married & dad, have no technical skills in CS, etc. won't stop you from succeeding if you found a gold vein. It will just be a little bit more difficult to start, that's all... and maybe YC is not the VC to go for. ;-)

<comment><USER3> Here's another naysayer on Paul Graham and the YC experience, in a bit more serious tone: <http://www.raydeck.com/2006/10/paul-graham-is-hurting-the- children/>

</comment></comment><comment><USER4> This just freaks me out. I can't wait for this one to slide down the frontpage...

<comment><USER5> Paul, on Saturday, you discussed YC's 100% satisfaction rating from the founders you've sponsored. I can't imagine that's true for _all_ (non-YC) startups, but I bet it's still extremely high. I hope you do become more comfortable with this, because there are a bunch of us that are living much more inspired lives, and trace part of that inspiration back to you. I'd hate to see you shy away from this because you're nervous about the outcome.

(Fortunately, I don't see any signs that you're actually too concerned. "Why to Not Not Start a Startup" couldn't have come from someone who's wavering!)

<comment><USER6> I don't think that the failures will report here...

We should start a "Paul Graham convinced me to drop Java / C++" poll to cheer him up.

</comment></comment></comment><comment><USER7> Alex, polls are lame on Reddit. They're even lamer here since there's no down arrow. Please use Pollground or something similar.

<comment><USER4> I'm going to add explicit support for polls. As soon as I get done reading hundreds of YC applications :(

<comment><USER8> is there any way you could filter applications before reading them?

<comment><USER4> We do, in a sense: some people who apply we already know, because people we've funded recommended them. If you can impress the founders of a YC startup, that counts for a lot.

This site was designed partly as an additional filter. It works too. When I met danielha I knew his name because he was #1 on News.YC.

</comment></comment></comment></comment><comment><USER9> I do have to agree with dfranke.

While I certainly understand the concept, and I agree it's fun to get a gauge of people's reactions, I think you'll learn more reading the comments than you would with any simple poll..

There's also just that things like that are never so simple- I'm sure that pg has been one of many influences on people. I doubt very many people would go through their life, happily working at their job, read an essay, and drop everything ;)

While pg is persuasive, I would like to think (hope) that anything he writes is one factor among many.

(And again, Please- No polls like this. )

<comment><USER10> I agree. The people that would be most affected by a pg essay are those that already aren't happy with their job (or potential job).

</comment></comment><comment><USER11> I was in love with Electrical Engineering. But reading Paul's essays upset me because it was so true: After four years of banging my head on the books, I would be expected to get a job in a cubicle for the rest of my life. While designing circuits and solving mathematical equations is quite orgasmic, it has its down sides too.

Inspired by Joel Spolsky and Paul Graham, I decided to leave University to develop a microISV product. I realized that selling microISV products is fun, but not very scalable...and it almost felt like doing a job. That's when I decided to tackle something big; a social network for geeks.

I would like to some day go back to University and study Neurology or Mathematics. But for now, pursuing my startup is much more enjoyable. Thanks Paul, Joel!

<comment><USER11> Not everything, though, is as blissful as it sounds. There are times when I wish I had taken the beating and went along with the standard template. I haven't told my parents that I have left university to pursue the startup dream...it wouldn't be wise to tell them unless _they_ felt the opportunity cost of pursuing a startup is greater than getting a job. So every other day, they believe I leave off to study at my University when really I just go sit in the library and code Shuzak (our startup) :p This way, they will be really happy if I got accepted into YC but not disappointed if I didn't.

The consequence of having left University is that I am now super determined to make this successful; I have burned the ships behind me...so if our startup drowns, so will we.

<comment><USER12> You are worse than I am:)

My parents pestered me every weekend about my GPA until past few months. Slowly they have come to terms with the idea that I don't care much about school - and that my GPA probably sucks.

<comment><USER11> lol, thanks zaid...I take it that wasn't a compliment? I learned quite a lot of lab work simply from building a solar car ( <http://www.ee.ryerson.ca/~hec/pictures.html> ) as a side project. So , in University, I was able to maintain an okayish GPA because I managed to do good in labs.

</comment></comment></comment></comment><comment><USER12> While I've been dreaming of dropping out of college before I even entered it, I have to admit much of my ideas have come directly from my college experience. If I dropped out, sat at the apartment trying to think of the next big idea I doubt I would have too many.

I do think the case to drop out becomes much stronger once you have an idea launched and showing potential.

</comment><comment><USER5> I quit my job and went to grad school because of Paul Graham. At the first Startup School (Cambridge), Paul's speech casually mentioned that grad school was a good way to meet co-founders. I wasn't specifically looking for co- founders (although like he predicted, I found some here) but decided that it was the right time to get a master's. In the next nine months, I quit my job, moved to Silicon Valley and started full-time grad school in CS. So far it's been one of the best decisions of my life. Thanks, Paul!

<comment><USER13> May I ask what grad school you attend? Why has it been one of the best decisions? People? Projects?

<comment><USER5> Well, I'm at Stanford, which is a good part of why it's been so great. Before Startup School, I hadn't had the balls to apply to particulary competitive schools. (I was previously thinking of getting a master's in IT management from a local school. It's a good program if I wanted to be a contractor, but not when I really wanted to be in the software industry.)

Stanford is in the heart of Silicon Valley, which is a big part of why this has been so great. There are an unusual number of opportunities related to tech business because of that. The other schools in this area, like Santa Clara U. and San Jose State, also have great access to the tech industry. And even if I wasn't in school, it would have been wise just to move to this area.

At Stanford, I've also met a lot of smart and motivated people, both professors and students. I'm learning a TON in my classes, honestly they're far more interesting and useful than I would have guessed. I stumbled upon co- founders for a startup, and I've gotten the opportunity to TA for a great professor. It's all been a _ton_ of work, and I'm honestly kinda burnt out, but nonetheless I'm really glad I'm here.

</comment></comment></comment><comment><USER14> In general although creativity and school dropouts might have a non-linear correlation, it is wrong to say that formal education limits creativity and vice versa for that matter. Do you think that Google PageRank would have come from a ragamuffin?

</comment><comment><USER15> I can't say that I've quit my job, but Paul Graham does make some interesting points.

The question that is stuck in my head is "what should I do if I have an idea for a Web service, but have no technical 'know-how?'" Is it worth approaching YCombinator?

<comment><USER16> Hello. I am Aur Saraf.

Simply put, no.

Start ups are about work, not ideas. Ideas flow freely with some people (like me) that just have about one idea per day worth implementation.

The skill to bring a product to life is the critical part.

Still, since you shouldn't drop the idea of starting a start up, you should either find someone with the technical know how (track down my email and email me for help in that) or go for an idea where you can contribute 100%.

Just my opinion, of course, though I highly doubt anyone would disagree (yes, this is a challenge).

Aur Saraf

<comment><USER17> I agree.

I remember reading a chapter of Hackers & Painters in which PG states that he was able to implement new features so quickly, that it seemed to his competitors as though he possessed some kind of secret weapon. Instead, he was simply using Lisp, a powerful and highly abstract language.

What he doesn't explicitly mention is that he is an expert at Lisp, having published two books on the language -- not to mention having a PhD from Harvard in Computer Science, where he probably became an expert using the language (although, admittedly, I have never been able to track down PGs graduate research work...).

This is what gave ViaWeb their competitive edge in the section of the e-commerce market and led to their success. As a startup, you're unlikely to succeed. You'll want all the advantages you can possibly attain.

</comment></comment></comment><comment><USER18> I haven't quit my job, but I'm going to leave it as soon as I reasonably can. It's really hard to say whether Paul Graham had anything to do with it. I'd read inspirational stuff from Kathy Sierra (Creating Passionate Users) and Pamela Slim (Escape from Cubicle Nation) first, which I think is where I started getting the idea to start my own company.

</comment><comment><USER19> Hi, Is there anybody from India(preferably from HYD) or even US who can work with me as a co founder ? I am from India and unfortunately we don't have a PG/YC equivalent here, but still startupping from India has got its own advantages. I got the idea , am a software engineer and manage most of the things right. Reply back if sounds good.

-Saurabh

</comment><comment><USER20> Well if one has heard of this "I was born Intelligent but Education made me Dumb" ... then PG is right in advising "dropping out of school" :D So i agree with the first part... No idea about quitting the job part as i dont have a job :D

</comment><comment><USER21> Yep - if I end up homeless I am coming to his house to beg :P

</comment><comment><USER22> If Paul Graham's conviction comes with seed funding, I'll do that.

</comment><comment><USER23> Count me in!

</comment><comment><USER24> dot dot dot</comment>