We made a JS utility for January 18th's SOPA blackout - <AUTHOR> http://sopablackout.org/

<comment><AUTHOR> I had a number of friends with small sites who weren't extremely literate when it came to html/js, but who wanted to join in with the January 18th site blackout. We ended up creating this. It's a small one line piece of JS that people can add for a simple blackout wall with information on SOPA/PIPA.

<comment><USER2> Obligatory "you don't have friends".

Add a datetime check so I can set it and forget it.

<comment><USER3> Author of the js side here. I'll definitely look into seeing how much extra bulk will be needed for this. We're trying to keep the file as small as possible and generally as cross-browser friendly as possible.

</comment></comment></comment><comment><USER4> Great idea! I think it could be improved with a minor adjustment. The first thing I saw on that page was "(click here to continue)", which I did before I realized there was text at the top of the screen. You see, "(click here to continue)" is something I see on a lot of pop-over ads and splash-screens, so my brain has been trained to blindly click through to the next page. I think with some minor adjustments, the heading can be made more prominent.

</comment><comment><USER5> Cool!

An option to have this activate only on the 18th would be great. I'd kinda like to include the code now but have it do nothing until the 18th. Also, is the "sopablackout_id = 'element-id'" option working? Didn't seem to do anything different for me.

<comment><USER3> In my testing it does. If you've set that option and it doesn't look any different, then perhaps the element you're attaching to is the full size of the page? The attach-to-element feature is for people who say, only wanted to cover the header of their site. There's some hack in there to figure out the position and height of that element and have the popover cover that (also, if the element is too small, the popover might be larger such that the message shows). Always open to bug reports.

<comment><USER5> Yeah, the id thing could just be my theme's layout. I don't feel like debugging so I'll just let it run full page, no bigs.

</comment></comment></comment><comment><USER6> I like the idea, but the visuals could be improved. Maybe try a modal window, similar to the "Website Blocked" SOPA mock images, but changing the text and wording. Maybe include a link to the infographic <http://americancensorship.org/infographic.html>

</comment><comment><USER7> Great work!

I've created a WordPress plugin for this - it contains the JavaScript file locally to reduce the potential load on the js.sopablackout.org domain. YMMV.

<https://github.com/sgerrand/sopa-blackout-for-wordpress/>

</comment><comment><USER8> Can I make a suggestion? Have the text fade in.

I think it would give it a bit more ooomph.

<comment><USER3> That's a great suggestion, but the js snippet does not rely on any external toolkit that would make cross-browser text fading easy to do. Everything it needs to work it provides for itself. It's not even minified but ends up 1.7KB gzipped. I kinda like it that way.

Also, the snippet is really meant for people who can't do this on their own - really, someone with beginner jQuery skills can probably create this on their own site in 10 minutes, so forgive it for being bare bones.

</comment></comment><comment><USER9> Great idea. If this gets wide adoption, which I hope it does, you'll want to ensure that your Javascript code is on a fast CDN or hosted locally, otherwise the sites will stall loading it.

<comment><USER3> I've got a lot of faith in varnish, so I'm pretty sure things should hold up on this end. However, yes, if you are worried about relying on an external resource by all means curl/wget/whatever the js file and server it up yourself. You just won't get any fixes or features we push in the meantime.

</comment></comment><comment><USER10> The first time I run across a website using this on the 18th I'm going to drop the script it into adblock's blacklist and be done with it.

</comment><comment><USER11> I love that every site now submitted to HN uses twitter bootstrap. It's an awesome CSS framework, give it a try if you havn't already!

</comment><comment><USER12> small sites wont make a difference. we need google/youtube to do this.

</comment><comment><USER13> Ctrl+clicking on a link to open in a new page removes the blackout.

<comment><AUTHOR> Clicking anywhere will remove it. Many people didn't want to black out their site completely, so we provided a clickthrough mechanism.

<comment><USER3> With the new push there is now a secret undocumented sopablackout_srsbzns=true flag you can set if you want the blackout to never go away.</comment></comment></comment>


Show HN: Linx-server – Self-hosted file/code/media sharing website in Go - <AUTHOR> https://github.com/andreimarcu/linx-server <comment><AUTHOR> Hi there! This is my first attempt at Go, in porting a personal project I ran for a few years in python. This came out of the necessity to share files without having to register on some service, then have people have to login to download, and/or see ads, etc. It can be very useful for internal deployments as well, where teams can share files very easily between them.

Any comments are welcome!

</comment><comment><USER2> I did not look at the code yet (but I forked the repo), however, I like the idea a lot.

I've been using MonoSnap with S3 only to avoid using any service for image hosting.

Kudos for this!</comment>


Somewhere in the Philippines, there are roads named after countries - <AUTHOR> http://nicluo.com/somewhere-in-the-philippines-theres-roads-of-every-country-in-the-world/

<comment><USER2> Ok... What's really suspicious is the alphabetically ordered clusters.

It's almost like someone just labeled a bunch of blank streets with a list of nouns.

Any comparative maps of the area, preferably local ones produced inside the Philippines, would help explain things a lot.

Edit 1: Digging into it further, reveals the area is pretty big... I've rounded up the coordinates, exploring a little. 14.485, 121.023 is pretty much the spot he was writing about in the blog, almost every street is strangely named. But for quicker entry and sharing, 14.48, 121.02, is still squarely in the middle of the area.

\---

The area is also the same on:

Bing Maps ( [http://www.bing.com/maps/?v=2&cp=14.485000~121.025000&lvl=16...](http://www.bing.com/maps/?v=2&cp=14.485000~121.025000&lvl=16&sty=r&q=%2014.485%2C%20121.025&form=LMLTCC) ) Nokia Here maps ( [http://here.com/14.4851019,121.0251471,17,0,0,normal.day](http://here.com/14.4851019,121.0251471,17,0,0,normal.day) )

\---

From what I can tell the area these oddly named streets cover is rather extensive. Several municipal regions have the same pattern. These municipal areas show the pattern:

Bakoor City ( [https://www.google.com.au/maps/place/Bacoor+City,+Cavite,+Ph...](https://www.google.com.au/maps/place/Bacoor+City,+Cavite,+Philippines) )

City of Las Piñas ( [https://www.google.com.au/maps/place/City+of+Las+Piñas,+Metr...](https://www.google.com.au/maps/place/City+of+Las+Piñas,+Metro+Manila,+Philippines) )

Parañaque ( [https://www.google.com.au/maps/place/Parañaque,+Metro+Manila...](https://www.google.com.au/maps/place/Parañaque,+Metro+Manila,+Philippines) )

Taguig ( [https://www.google.com.au/maps/place/Taguig,+Metro+Manila,+P...](https://www.google.com.au/maps/place/Taguig,+Metro+Manila,+Philippines) )

Muntinlupa ( [https://www.google.com.au/maps/place/Muntinlupa,+Metro+Manil...](https://www.google.com.au/maps/place/Muntinlupa,+Metro+Manila,+Philippines) )

City of San Pedro ( [https://www.google.com.au/maps/place/City+of+San+Pedro,+Lagu...](https://www.google.com.au/maps/place/City+of+San+Pedro,+Laguna,+Philippines) )

Dasmariñas City ( [https://www.google.com.au/maps/place/Dasmariñas+City,+Cavite...](https://www.google.com.au/maps/place/Dasmariñas+City,+Cavite,+Philippines) )

\---

I could keep going but Dasmariñas City shows another interesting pattern, the suburb names are pretty generic, such as:

BGY Zone I - B ( [https://www.google.com.au/maps/place/Bgy.+Zone+I+-+B,+Dasmar...](https://www.google.com.au/maps/place/Bgy.+Zone+I+-+B,+Dasmariñas+City,+Cavite,+Philippines) )

Area 1 ( [https://www.google.com.au/maps/place/Area+1,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+1,+Dasmariñas+City,+Cavite,+Philippines) )

Area 3 ( [https://www.google.com.au/maps/place/Area+3,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+3,+Dasmariñas+City,+Cavite,+Philippines) )

Area B ( [https://www.google.com.au/maps/place/Area+B,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+B,+Dasmariñas+City,+Cavite,+Philippines) )

Area C ( [https://www.google.com.au/maps/place/Area+C,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+C,+Dasmariñas+City,+Cavite,+Philippines) )

Area G ( [https://www.google.com.au/maps/place/Area+G,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+G,+Dasmariñas+City,+Cavite,+Philippines) )

Area K ( [https://www.google.com.au/maps/place/Area+K,+Dasmariñas+City...](https://www.google.com.au/maps/place/Area+K,+Dasmariñas+City,+Cavite,+Philippines) )

Some interesting things like Area 2 and Area B not being present seem conspicuous but not necessarily a pattern, these names are so generic its entirely possible they represent some kind of placeholder policy.

\---

Edit 2:

Open Street Map shows the same names. Definitely looking deliberate, possibly a historical quirk of some kind that i haven't been able to unearth through Google translate and searching for Filipino phrases to do with road naming.

Further down [1] it was suggested that this is some kind of new development, implying a property manager just named them all in a batch. Well, the fact that the open street map data clearly shows "Chicago"[2] and "Atlanta"[3] located in the very heart of Manilla's industrial port district. This makes it rather hard to consider a 'new development' as an option.

Further, to this, Chicago shows up as the first discrepancy in these names which may lead to some answers. The southern end of 'Chicago' doesn't match up to what Google displays when you view this [4] area on Google maps. It shows 'Chicago' as "Delgado St", and the southern disconnected street is also called "Delgado St" which in the OSM data shows up as "Antonio C. Delgado"[5].

From the look of it, some of these names may be attributable to mistakes, but the underlying question of where these seemingly place holder names originate, remains unanswered.

\---

Edit 3:

The seemingly weird names are widespread, subsections of the old section of Manila, the Tondo district, are utterly awash with oddness, several dozen marks consisting of just numbers, are evident here on this map level on google maps [6]

Moving further away, I find "Sunshine"[7], and "2.91km"[8] in Quezon City. 2.91km also seems to give Google grief as the name seems to be incorrectly handled on that street, with most of the north end labeled as "2.91km" and the south end "Saint Martin" but when you zoom in, Google starts overlaying both names and the north end isn't recognized as "2.91km" when you ask Google what's at the location.

\---

Spreading the net wide over the whole country, the names from the northernmost end, at Basco show a difference when viewed in OSM[9] vs Google maps[10]. Google displays the names with "St" added to most of them, all the roads are marked the same on these maps, but on OSM, all the street names lack a suffix indicating as such. Moving south, the names in Calayan on the island of Cagayan seem to lack names on both OSM and Google Maps. Continuing south to the main island, the town of Aparri shows the same pattern on Google[11] and OSM[12] with OSM having no street suffixes.

\---

Jumping all the way south now, Digos City demonstrates this weirdness nice and clearly. We find "Luna" in Google[13] and OSM[14] with Google not even having the label. Moving around some more, we go to "Apple" in South Cotabato, on Google[15] and OSM[16]. I could keep browsing but I've run out of time to keep digging for now, at least I've ruled out 'local quirk' and found evidence the pattern is evident across the entire Philippines.

Speculatively, if there was no native history of naming routes back before Spanish and then later American rule, or the colonial governments simply didn't care for the native names, its entirely possible that with thousands of streets and roads lacking names or names they could pronounce, early colonial governments merely went over the map and gave each of them one, the mindset of "cant govern what you cant name" being present throughout history, government wanting to be able to refer to places by name in various reports and meetings effectively requiring them to find a way to give all these a name. However this doesn't really cover what are clearly relatively modern urban roads, such as "Chicago" and "Atlanta" found in the port district of Manila, which leaves this theory with a few shortcomings.

\---

\--- 1 - [https://news.ycombinator.com/item?id=8414256](https://news.ycombinator.com/item?id=8414256)

2 - [http://www.openstreetmap.org/way/29170930](http://www.openstreetmap.org/way/29170930)

3 - [http://www.openstreetmap.org/way/16176658](http://www.openstreetmap.org/way/16176658)

4 - [https://www.google.com/maps/place/Manila,+Metro+Manila,+Phil...](https://www.google.com/maps/place/Manila,+Metro+Manila,+email@example.com,120.9673723,19z/data=!4m2!3m1!1s0x3397ca03571ec38b:0x69d1d5751069c11f?hl=en)

5 - [http://www.openstreetmap.org/way/16176619](http://www.openstreetmap.org/way/16176619)

6 - [https://firstname.lastname@example.com,120.9634945,15z?h...](https://email@example.com,120.9634945,15z?hl=en)

7 - [https://www.google.com.au/maps/place/Sunshine,+Quezon+City,+...](https://www.google.com.au/maps/place/Sunshine,+Quezon+City,+Metro+Manila,+Philippines)

8 - [https://www.google.com.au/maps/place/2.91KM,+Quezon+City,+Me...](https://www.google.com.au/maps/place/2.91KM,+Quezon+City,+Metro+Manila,+Philippines)

9 - [http://www.openstreetmap.org/node/198496785](http://www.openstreetmap.org/node/198496785)

10 - [https://www.google.com.au/maps/place/Port+Rd,+Basco,+Batanes...](https://www.google.com.au/maps/place/Port+Rd,+Basco,+Batanes,+Philippines)

11 - [https://www.google.com.au/maps/place/Aparri,+Cagayan,+Philip...](https://www.google.com.au/maps/place/Aparri,+Cagayan,+Philippines/)

12 - [http://www.openstreetmap.org/node/198505523](http://www.openstreetmap.org/node/198505523)

13 - [https://firstname.lastname@example.com,125.3659606,18z?hl...](https://firstname.lastname@example.com,125.3659606,18z?hl=en)

14 - [http://www.openstreetmap.org/way/97401719](http://www.openstreetmap.org/way/97401719)

15 - [https://www.google.com.au/maps/place/Apple,+General+Santos,+...](https://www.google.com.au/maps/place/Apple,+General+Santos,+South+Cotabato,+Philippines)

16 - [http://www.openstreetmap.org/way/60237885](http://www.openstreetmap.org/way/60237885)

<comment><USER2> Seems I broke something here, I cant actually edit this any more... is there an edit limit I didn't know about? Kind of annoying I cant go back and fix any format issues now.

<comment><USER3> There is a time limit for editing.

Yep, is is sometimes a bit frustrating!

</comment></comment></comment><comment><USER4> Filipino here. I used to live somewhat near that place, and we used to joke about going to Germany or Australia when what we really mean is going to one of those streets instead of the actual country. These are suburbs where the real estate developer would follow a certain theme for the nomenclature of the streets. We call these suburbs "villages". In my parent's village, the theme are bird names, and our street is called Sand Piper Drive.

<comment><USER5> I think that's common with real estate developments everywhere. There's a neighborhood in San Antonio, Texas where all the streets are named after locations in Estonia:

[http://i.imgur.com/Z6u2IjI.jpg](http://i.imgur.com/Z6u2IjI.jpg)

</comment></comment><comment><USER6> This is not unusual. Streets need names, and people get increasingly creative. I've lived on Saturn ("Saturnus", the name of an appartment building in Duivendrecht, net Amsterdam), there's a street in the center of Amsterdam called Rusland (Russia), there are towns in Netherland called "America" and "Nederland". And then there's towns that have the same name (which is particularly common in the US, I believe).

</comment><comment><USER7> It reminds me of some of the names they have on their Jeepneys. [http://en.wikipedia.org/wiki/Jeepney](http://en.wikipedia.org/wiki/Jeepney) When I was there, I saw Jeepneys called "Disneyland" and "McDonald's", etc. Pretty random.

</comment><comment><USER8> OSM has the same data. [http://www.openstreetmap.org/#map=16/14.4876/121.0193](http://www.openstreetmap.org/#map=16/14.4876/121.0193)

This is probably a new development, and they had to name the streets after something.

<comment><USER2> Definitely not 'a new development' See my next edit above.

<comment><USER8> New _real estate_ development. Not a new trend. This has been going on for a while where I live too, themed clusters and that (not in the Philippines).

</comment></comment></comment><comment><USER9> In my city too, in my city too :D

[https://email@example.com,-4.9881919,18z](https://firstname.lastname@example.com,-4.9881919,18z)

</comment><comment><USER10> There's a similar thing in Pittsburgh, where streets are named after locations of battles in the Mexican War. I was a bit confused the first time I saw this.

<comment><USER11> And Pennsylvania stands out in having Indiana University of Pennsylvania and California University of Pennsylvania in its state system.

</comment></comment><comment><USER12> In San Francisco there's a neighborhood where streets are named after cities: [http://goo.gl/l9slSp](http://goo.gl/l9slSp)

</comment><comment><USER13> I was just in Iraq (kurdistan) - and in Dahouk, they have the same.. it was strange arriving in Iraq and driving down Australia road to turn into Montreal street..

</comment><comment><USER14> They have the same thing in santiago del chile.

[https://www.google.com.au/maps/place/Comercial+Sct+Germany+L...](https://www.google.com.au/maps/place/Comercial+Sct+Germany+Limitada/@-33.4403489,-70.7406054,17z/data=!4m2!3m1!1s0x9662c4273985e7e7:0x70ef1f1a51295789)

<comment><USER15> I remember that there was another neighborhood with streets named after countries in Santiago, in La Cisterna. Also there is a street named "Central America" that splits into two, one named "North America" and the other "South America".

[https://goo.gl/maps/iDDiH](https://goo.gl/maps/iDDiH)</comment></comment>


News Feed FYI: Addressing Hoaxes and Fake News - <AUTHOR> https://newsroom.fb.com/news/2016/12/news-feed-fyi-addressing-hoaxes-and-fake-news/ <comment><USER2> Remember :

\- It all started with Facebook being accused of manipulating the timeline to remove conservative stories during the campaign

\- At the time, their PR was along the lines of : we will fire the staff and replace it with an "objective" algorithm

\- Shortly before the end of the campaign, the Fake News narrative started to be tested under various forms ("conspiracy theories are going mainstream", "damaging rumors" etc...)

\- Post election the Fake News narrative started to be really pushed by politics

\- At the same time, FB started to announce actions to fight the so called "Fake News Problem".

\- And these day, hearing FB and mainstream media, the rethoric is as shameless as "We need to clean the news".

Having been caught doing some very troubling things, FB answer is to double down with what would be called censorship if it was being done in China.

Shutting down opinions, based on the opinions expressed can remind certain patterns of a not so old history. I find it shocking that people accept this development so quietly. Everybody seems to be ok with that. It seems like citizens are no longer awake and fighting for the bill of rights, seriously folks how can something like this possibly happen in this country ? Are you realizing what is happening here ?

In 2016, the average citizen thinks he is a good citizen and is all proud by being "politically correct" for a number of small things (often ridiculous and preventing him from maturing his own opinions) but everybody is comfortable with movements such as "Cleaning the news" being organized in plain sight. That's how you know something is fucked up. This is a shame.

<comment><USER3> First of all, you have the chronology right but the causation wrong. After conservative pressure to stop editorially reviewing news, fake news has increasingly trended. Since the election, people have realized how untenable this is and so Facebook is looking for a solution.

This has nothing to do with the bill of rights. Facebook is not the government, government is not requiring fake news to be censored, and the fact checkers are independent organizations.

You don't have an inalienable right to spread whatever political lie you want to millions of people. Facebook is this era's nightly news and, just like the nightly news, they have a right to avoid sharing crazy conspiracy theories and outright lies.

<comment><USER2> >Facebook is this era's nightly news and, just like the nightly news, they have a right to avoid sharing crazy conspiracy theories and outright lies.

I have no problem with that. I have a problem with them choosing what I can share with my friends, and more generally what people can share with each other. "Sorry it's fake news so we limited the reach".

The problem is that they are not open. My only problem is opacity. HN is transparent, Breitbart is transparent. You know their opinions, you know their agenda. But this is not the case with FB which pretends to be neutral, and this is the issue.

>This has nothing to do with the bill of rights. Facebook is not the government, government is not requiring fake news to be censored, and the fact checkers are independent organizations.

Do you remember the anti-trust suits against Microsoft ? You can't pretend that a company having the influence FB has is just a corporation like another. When you have this size, you have added responsibility / expectations since your actions directly impact a significant part/aspect of the country.

Moreover they coordinate with politics, so this has everything to do with the Bill of Rights at this point. The citizen should at least pay attention to what is happening.

<comment><USER3> > I have no problem with that. I have a problem with them choosing what I can > share with my friends, and more generally what people can share with each > other.

They're not policing what you share with your friends, just what you can do on their platform. They are under no obligation to provide infinite reach for whatever drivel you want to share.

If you're sitting in a bar sharing racist anecdotes with your friends, that bar has the right to kick you out if they feel like. It's their bar.

If you don't like what Facebook's policies, go share somewhere else. There's even an alt-right social network you'll fit right in on.

> The problem is that they are not open. My only problem is opacity.

They're completely open about it. They've posted multiple stories about how they're addressing this, will provide links to third-party analysis for any flagged stories, and list the criteria for third-party fact-checking. [0]

> Moreover they coordinate with politics, so this has everything to do with > the Bill of Rights at this point.

No, it does not. The Bill of Rights restrains what the government can do, it has nothing to do with what individual corporations can do.

Do you also think Smith & Wesson should be required to provide free guns, since the right to bear arms is in the constitution?

[0] [http://www.poynter.org/fact-checkers-code-of- principles/](http://www.poynter.org/fact-checkers-code-of-principles/)

<comment><USER4> > If you're sitting in a bar sharing racist anecdotes with your friends, that > bar has the right to kick you out if they feel like.

Except for a lot of people there is no other bar. Your friends are in that bar, the bar has used their position to close other bars. And the only other bar still open is 20 miles away in a basement.

> If you don't like what Facebook's policies, go share somewhere else. There's > even an alt-right social network you'll fit right in on.

The media is pushing the line "Alt-right == Nazi", so you are calling someone a Nazi because they have issues with Facebook controlling what their users see. After Facebook has already admitted to large scale manipulation of their users emotions[0].

[0] [https://www.theguardian.com/technology/2014/jun/29/facebook-...](https://www.theguardian.com/technology/2014/jun/29/facebook- users-emotions-news-feeds)

<comment><USER3> There are tons of other bars. What exactly has Facebook done to close other bars?

Twitter is still around and very popular. So is Reddit. Heck, there's even a social network built just for people like you: [https://gab.ai/](https://gab.ai/)

</comment></comment></comment></comment></comment></comment><comment><USER5> ok, so now the obvious question becomes, who fact checks the fact checkers?

i don't blame facebook, but the people that have been asking for this i guess are about to get what they deserve: more consolidation of the power of persuasion of the masses into the hands of facebook. want to instantly discredit a story? just UPDATE stories SET disputed = t WHERE ID = ?

<comment><USER6> Why cant facebook just go after blogspam clickbait in general? If a story is a copy of a copy, have the algorithm favor the original instead of the blogspam. If a local news agency copies an AP/Reuters story word for word, have the software suggest replacing the replica with the original. Treat local news duplicates the same as any wordpress+adsense blog. If journalists are adding commentary thats a different story (albeit most commentary is a needless act of faux value addition anyway) but mashable et all are just embedding ingur/youtube content with a catchy headline and the letters h/t appended to the end. This is a continuation of what ebaumsworld did since foreverago. Deaggregate the aggregating middlemen.

Ripping the embed out of the blogspam, and turning it into a direct link, is trivial. If the only content on a page is a youtube video covered in a hundred ads, just return me the youtube video. Flag websites as blogspam, and more agressivly return just the content they "stole." Make it hard to get off that shitlist. Id rather facebook make a little money deconstructing the web, than whomever spun up wordpress and paid for a bad theme being rewarded for polluting it. Facebook has an opportunity to add through reduction; to add value by finding signal in noise, leaving noise on the cutting room floor. Deduplication should be something incredibly easy to do algorithmically, compared to fact checking. (Hell facebook is already half way there with trending, anthough it too often lumps semi-unrelated events.) Google News and Techmeme do a great job of it. Techmeme eloquently spells out the solution [http://news.techmeme.com/111031/techmeme- revealed](http://news.techmeme.com/111031/techmeme-revealed)

Too many different ideas are getting conflated here. Clean up the spam/dupe mess FIRST, and sifting the sensationalized salon/dailycaller hyperbole from the blatant false news becomes easier (because we then arent are drowning in nearly identical but different copies of articles.)

<comment><USER7> Maybe follow the link and evaluate the ad:content ratio or just the raw number of different ad services on the page. Seems like the collateral damage to such an approach would largely improve the overall web experience.

<comment> gm-conspiracy If the ads load quickly, from few domains, and work well in mobile, you can assume it is not a legit news site.

</comment></comment></comment></comment><comment><USER8> > _We've found that a lot of fake news is financially motivated. Spammers make > money by masquerading as well-known news organizations, and posting hoaxes > that get people to visit to their sites, which are often mostly ads. So > we're doing several things to reduce the financial incentives. On the buying > side we've eliminated the ability to spoof domains, which will reduce the > prevalence of sites that pretend to be real publications._

What do they mean "the ability to spoof domains"? Was that a technical issue? Or do they mean they're blacklisting sites such as [http://abcnews.com.co/](http://abcnews.com.co/), progenitor of such hoaxes as El Chapo escaping from prison (again) [0]

Given how easy it is to fool people with ambiguous characters/names, blacklisting URLs that aren't all ASCII might be a good precaution too.

[0] [https://en.wikipedia.org/wiki/ABCnews.com.co](https://en.wikipedia.org/wiki/ABCnews.com.co)

<comment><USER9> I saw people share fake articles from that site on facebook. It is a big problem because non-technical people do not know that abcnews.com.co is a subdomain of com.co, not a subdomain of abcnews.com.

<comment><USER10> > non-technical people do not know that abcnews.com.co is a subdomain of > com.co, not a subdomain of abcnews.com

This is a huge issue. A lot of HN always seems to forget that there are a lot of users out there who are not as gifted with technology as we are. (Case in point, my mother just learned what HTTPS meant last week through an NBC Nightly News segment.)

Unfortunately, it seems to be largely generational in nature.

</comment></comment></comment><comment><USER11> I wonder if this will be as sketchy as politifact? I hope it won't be, but I reckon it might be. (What I mean is: extremely uncharitable readings of things that they don't like, but overly charitable readings of anything that they like.)

<comment><USER12> Politifact is one of the organizations on the approved list [1], and the closest thing I can find on that list to an organization anyone not on the left is likely to regard as politically neutral is the Associated Press. So I'm not really seeing what Facebook expects this to help.

[1] [http://www.poynter.org/fact-checkers-code-of- principles/](http://www.poynter.org/fact-checkers-code-of-principles/)

<comment><USER13> Maybe stop the spread of nonsense like 'pope endorses Trump' or pizzagate?

<comment><USER6> would these measures end up blocking something like a modest proposal

<comment><USER14> A Modest Proposal is not, and never was, "News". It is opinion.

<comment><USER15> Most news is (unfortunately) nothing more than opinion. Either the opinion of "an unnamed official", the opinion of a contributor, the opinion of a sponsor, or the opinion of an editor.

Take the recent opinions of anonymous officials that Russia's objective in leaking DNC corruption was to get Trump elected. That's being reported on as news and fact, with the opinion aspect of it turned down to obscurity.

</comment></comment></comment></comment></comment></comment><comment><USER16> Facebook seems to be stumbling down the same page that Twitter did here in terms of attempting to regulate some content, by means that they themselves determines to be un-biased and in the best interests of users... which hasn't quite worked out so well for Twitter.

If everything is fine and unmoderated, there is no bias. If some things are flagged, not allowed, etc, I don't care how much a 3rd party is trusted. It's still humans picking and choosing one piece of content over another, and there are inherent biases involved there.

<comment><USER17> Unmoderation = infinite spam.

<comment><USER15> Spam platform = infinite spam.

Facebook makes its money from spam, as do the news.

Because they've lost credibility there's this new huge reach to label things as condoned or not. That's not going to solve the ultimate problem, which is that the information industry has become a platform where the highest spam bidder wins dissemination on the platform, rather than what spam is shared by people.

This is just one more step in the centralization of control of social media. There's still going to be plenty of spam, it just has to pay the gatekeeper (Facebook) or otherwise be on its good side.

<comment><USER16> Exactly. What someone else might call spam, Facebook might call "great news."

If having free speech produces "infinite spam", then that's a byproduct worth the benefits of not being limited on what ideas are ok to say and what ideas are not.

</comment></comment></comment></comment><comment><USER18> Still think this is a horrible move for a variety of reasons but I have one big question.

Where can I access the reasons and organisation who have disputed the link?

Without this information, this is even more terrible than I had previously thought it would be. If we cannot see who disputed the link and why, this is massive potential for abuse.

edit: Apparently the reason is given in a link

<comment><USER3> > If the fact checking organizations identify a story as fake, it will get > flagged as disputed and there will be a link to the corresponding article > explaining why.

You will be able to click through to read the full analysis of why a story is false.

<comment><USER18> Ah bugger my bad, missed that. I hope the analysis also identifies the organisation/s who provided it.

<comment><USER3> Presumably it'll be a link to the article on that organization's website.

<comment><USER18> I really hope that each disputed link is given a comprehensive response and not a cookie cutter response.

I think a template response is probably the most likely outcome, especially considering the number of articles that are going to be checked by these organisations. Do they really have the resources available to give a bespoke response?

I think there is danger if these organisations are allowed to submit template responses.

</comment></comment></comment></comment></comment><comment><USER15> The ultimate issue here is that these information providers need to train their users to be gullible, as this is their business and partnership model.

These platforms only function because advertisements and political messaging have to be seen, and are seen, as credible and native to the content being traded by the people using the platform.

Users are trained to uncritically believe the things that show up on their feed, because if they were trained to be skeptical they would the platform would go bankrupt.

Similarly, news media requires readers to have full faith - almost ideological allegiance - in what they are reporting, while at the same time they need an uncritical readership so that they can promote political and consumer advertisements, sponsored and 'earned' content promotion and opinion pieces as though they were fact.

The entire industry functions on the basis of gullible and uncritical readership, media allegiance and sponsored content.

The industry has fallen to extremely low credibility ratings, and a series of nonsense and unpredictive and obvious reporting out of the 'most credible' parts of the industry have left a vacuum whereby readers do not know what to believe, and so accept whatever is most convenient and most readily available.

The solution is to create a credible news media industry, with no sponsored or partner content, no PR, no government propaganda, and where the readers (and skimmers) are the customers who pay for the information. The industry should compete to provide context and reliable information, and readership should be encouraged to be skeptical of the information presented to them at all times.

Maintaining the current mispractice of the poorly functioning industry and adding protectionist measures, gatekeeping and sponsored fact-checkers is not going to solve the problem.

"I'll tell them what to think" is not a solution to "these people are gullible."

<comment><USER19> "uncritical readership"

I'm guessing you've never worked for a news organization.

<comment><USER15> I freelanced.

To be clear by 'uncritical' I mean 'gullible' \- as in 'uncritical thinking'.

</comment></comment></comment><comment><USER20> _Once a story is flagged, it can't be made into an ad and promoted, either._

After a single flag from a single user?

<comment><USER21> > We'll use the reports from our community, along with other signals, to send > stories to these organizations. If the fact checking organizations identify > a story as fake, it will get flagged as disputed and there will be a link to > the corresponding article explaining why. Stories that have been disputed > may also appear lower in News Feed. It will still be possible to share these > stories, but you will see a warning that the story has been disputed as you > share. _Once a story is flagged, it can't be made into an ad and promoted, > either._

So, "flagged" means "determined to be fake by a fact checking organization contracted by Facebook that disputes the article".

<comment><USER20> Yep, just caught that myself. Sorry, it was two large screenshots up and I missed it. :-) Thanks!

</comment></comment></comment><comment><USER22> I kind of wish they took no action. It is inevitable fb will be the "war of the worlds" or National Enquirer wrt "news" doing nothing gets them there quicker.

Fb is unparalled in sharing photos and personal information to friend. News? Not.

</comment><comment><USER23> Nothing can help an ignorant or illiterate population. If that is your premise the next logical step is censorship and this is censorship.

How does the arrogant assumption of ignorant readers so weak willed they can be 'led ashtray' by 'fake news' even take hold? Do people really believe that 'other people' believe everything they read?

The ridiculous idea that people are naive is a fabricated construction designed to empower some while 'infantalising' the rest and is inherently anti-democratic.

Ordinary scepticism and not believing everything you read or hear is a basic human skill.

This fake news scare and blame 'Putin' for everything wrong in the world is so illiterate, juvenile and insulting to basic human intelligence and reflects something dangerously wrong in our media, politics and the tech community.

</comment><comment><USER24> The sad thing is, most people who share fake news will just claim that Facebook is now part of the Soros-Clinton conspiracy to support the MSM and hide the truth from the public. I like that they have a specific set of guidelines for determining the veracity of a news story, and I'm sure this will go a long way towards removing the financial incentive, but I'm guessing it won't sway many minds.

</comment><comment><USER25> How about a setting to block all link shares if this is supposedly such a huge threat?

</comment><comment><USER26> Expecting corporate media to sanitize itself might be a new proof of Einstein's rule of insanity. The only short term solution to rampant widespread disinformation in the MSM is a healthy and sustained level of cynicism. Its time the media was truly disrupted and dispatched to the bottom of the see.

</comment><comment><USER27> The timing of this makes it seem politically motivated. I've seen plenty of fake news on my liberal feed. Things like 9/11 conspiracy theories, anti- vaccination stories, stories about the dangers of genetically modified foods, etc.

<comment><USER28> Fake news was a massive problem this election cycle, and it really highlighted Facebook's large influence and their inability to actually do anything about it. So yes, Facebook dealing with fake news here is a reaction to what happened during the election, but that's not a bad thing. Fake news turns out to be a serious problem and it needs to be fixed, regardless of your political leanings.

Edit: Why am I being downvoted for this? If you disagree with me, please explain why.

<comment><USER29> There's no evidence that "fake news" is actually a serious problem, other than getting a lot of likes on Facebook. Seems to me "fake news" is an agenda- driven narrative by the mainstream media to salvage their waning reputation and discredit alternative media. For instance: [https://theintercept.com/2016/11/26/washington-post- disgrace...](https://theintercept.com/2016/11/26/washington-post- disgracefully-promotes-a-mccarthyite-blacklist-from-a-new-hidden-and-very- shady-group/)

<comment><USER30> Yeah maybe, even the pope said fake news isn't real.

</comment></comment></comment></comment><comment><USER31> I just disable the FB news feed

</comment><comment><USER32> The kosher fact checkers list includes the biased and opinion-based Politifact and Snopes.

<comment><USER33> They aren't. You'll have to provide evidence for your claim.

<comment><USER32> Let's see some statistical analysis that the fact checkers FB claims are disinterested arbiters of fact aren't in fact pushing an agenda before we go along with censorship maybe.

<comment><USER33> I'm not willing to call it censorship, and you still haven't provided evidence for your claim that two routinely considered reputable fact checkers aren't.</comment></comment></comment></comment>


The Common Mistakes of a Marketer - <AUTHOR> http://blog.sqwiggle.com/common-mistakes-marketer/

<comment><USER2> For something that's on the front page, I was expecting something more.

TL;DR:

1\. Don't try to do too much at once.

2\. Stick to what you're got at.

3\. Don't get distracted.

These are common mistakes for everyone. What made you title this "Common Mistakes of a _Marketer_ "? And was there anything more insightful that you've learned and are willing to share?

<comment><AUTHOR> Good point! I do think they're particularly relevant to my experience as a marketer. Yes, they can be translated to any life experience but when you're trying to build an audience of listeners or getting people excited about your product, these things were just simple observations I've made and thought would be helpful to others.</comment></comment>


Writing Specs with Org-mode - <AUTHOR> http://katherine.cox-buday.com/blog/2015/03/14/writing-specs-with-org-mode/

<comment><USER2> I love finding new things to do with Org-Mode, and this is a great tool to add in my kit. Though it did take a little while to get the exports working on Windows. Thanks for the write up. Plus, bonus intro to Org-Page, which I'll to try out as well.</comment>


Ask HN: What is college about with CS as a major? - <AUTHOR> Originally asked at Reddit, https://www.reddit.com/r/college/comments/9y6zu2/what_is_college_about_is_it_about_exploring/ <comment><USER2> If you live in USA and are going to take a big loan to pay for your education in University, remember that you must pay it back later, so pick some subject that makes sense financially. Probably CS is fine, but do your own research. (This is not financial advise.)</comment>


How evil is eval? - <AUTHOR> http://javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval/

<comment><AUTHOR> @seven - I think the reason for the article was to demonstrate that eval is sometimes necessary - the proof is that even Douglas Crockford himself uses it in his parse JSON method, as do JQuery and Prototype frameworks - and he shows us the examples. I was pretty impressed

<comment><USER2> Good point, but I still believe that most uses of eval are completely unnecessary and are a result of not knowing the 'power' of the used language.

To quote Crockford: "eval is Evil: The eval function is the most misused feature of JavaScript. Avoid it"

To avoid something does not mean to never use it at all.

The reason I commented this article was perhaps a bit.. hmm.. lets say I was in a bad mood. I felt the author just took a prominent name, a quote, and then he stated the obvious.

Crockford is talking about misusing. I probably do not know enough about javascript to know for sure, but I would guess that his use of eval is not a 'misuse'.

</comment></comment><comment><USER2> I would say the second commenter on the blog gets it:

… So basically – if you think you have to use eval there's probably another (more correct) way of doing it. (Rasmus Fløe)

</comment><comment><USER3> Wonderful article. Made me think, anyway.</comment>


Put Ad on Web. Count Clicks. Revise.  - <AUTHOR> http://www.nytimes.com/2009/05/31/business/media/31ad.html?hp

<comment><USER2> I'm always amazed to read articles like this where some huge and successful industry is just starting to take advantage of the super-obvious benefits that technology has made available to them for years.

I mean, seriously...the advertising industry hasn't been paying attention to the response rate of different variations on marketing campaigns until now? Really? Isn't that, like, one of the key benefits of web advertising over other mediums?

<comment><USER3> As someone who does this for a living it is not that it wasn't being taken advantage of but that the technology to do it at scale easily was not there -- and still isn't really.

Think about this -- you run an online campaign, serving hundreds of millions to billions of impressions, with different levels of users creating different interactions with your ads, website, etc and a certain percent "converting" to the action you want. How do you reliably process hundreds of millions to billions of rows of data and tie it together? What factors are reliable predictors of future actions? If you increase one aspect does it correlate with other efforts increasing? If there is a flaw in the data collection, how do you spot it?

What about offline behavior? Can you correlate interaction with a widget with store purchase behavior? A lot of activity happens that can never be tracked and it needs to be factored into the models.

So the point being when you dig deep it is not as simple as it seems and there is still a long way to go for all of the technology to work well together and provide the analysis needed to react in real time and change human behavior for the desired result.

<comment><USER4> AdWords brought this kind of statistical rigor to affiliate marketing quite a while back. What you're describing sounds like the bread and butter of that field. The fact that it is only now catching on in the advertising world seems like an indication of just how behind the times the advertising industry really is. They're a little late to the party if they're only now starting to hire people with statistical expertise to help out with these problems. But from what I know of the ad industry being an East Coast old boy's network, this doesn't surprise me too much.

</comment></comment></comment><comment><USER5> "It's putting numbers to an industry that never had numbers before" ... yeah. right... sure... umm, that's not actually true.

<comment><USER6> That baffled me as well. The advertising industry has been crunching numbers from day one.</comment></comment>


Ask HN: Do you see augmented reality products becoming mainstream in the future? - <AUTHOR> <comment><USER2> No, not in any meaningful way.</comment>


Cryptographic Right Answers - <AUTHOR> http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html <comment><USER2> First, I'll quibble with some of these recommendations --- even though Colin (and Alex Ross, and probably Bruce) is more qualified to have an opinion here.

For instance, CTR+HMAC is a weird recommendation. Not because of speed (though HMAC does pessimize speed) and not because of cryptographic strength, but because it introduces another moving part in your design. Colin can deal with the junction between plaintext, ciphertext, and HMAC, because this is mostly all he thinks about. You can't.

A simpler recommendation would have been to use CCM or EAX mode. These have the advantages of being NIST standards-tracked and heavily vetted, and of providing _both_ authentication and encryption in the same construction. If your libraries are good, you get both these features just by switching the name of your block mode.

Second, I'll quibble with the content of the post: these recommendations are exactly what Nate was talking about in his Yahoo talk about how bad cryptographic guidance has gotten. Key size and hash function selection (as long as you're not using MD5) are _the least important_ design considerations you have.

Here's a design consideration this post doesn't even touch on: renewability. How do you safely design a system so that your selection of algorithms, modes, and key sizes isn't set in stone? Because if you don't get that right today, what you inevitably do to handle it 2 years from now is going to be a vulnerability.

Finally, a real concern about the structure of these recommendations: telling people to keep group negotiation out of Diffie-Hellman protocols is fine --- a good recommendation, since there's a really scary sounding, really easily- exploitable vulnerability that eliminates. But that's --- I think --- the _only place_ in this post where Colin actually addresses something that actually does go wrong in crypto protocols.

If you follow all of Colin's recommendations here from scratch in a reasonably complicated, and you have never found a crypto vulnerability or fixed two reported crypto vulnerabilities, I will bet $500 that you end up with a broken system. Colin won't. But you will.

<comment><AUTHOR> _CTR+HMAC is a weird recommendation_

Encrypt-then-HMAC has been a widely used standard for the past decade, and has been extensively studied.

 _A simpler recommendation would have been to use CCM or EAX mode._

AES-CTR and HMAC-SHA256 are far more simple than AES-CCM or AES-EAX. AES-CTR plus HMAC-SHA256 is also far more secure against side channel attacks, and has the advantage of allowing you to separate authentication from encryption -- useful if, say, you want to include some unencrypted data in an authenticated packet as well.

 _Key size and hash function selection (as long as you're not using MD5) are the least important design considerations you have._

I didn't mean to imply that all of the issues I mentioned were very important. My selection was more or less done on the basis of "what questions have people asked me recently?"

 _If you follow all of Colin's recommendations here from scratch in a reasonably complicated, and you have never found a crypto vulnerability or fixed two reported crypto vulnerabilities, I will bet $500 that you end up with a broken system._

That's probably a safe bet. I think it would be an even safer bet if you made it with someone who _didn't_ follow my recommendations.

<comment><USER2> Your first point, about how well-studied HMAC is vs. CCM, is one of those points that makes a lot of sense in an academic context and much less sense in practice. In an academic context you assume both implementations are sound. In a practical context, you have to consider how likely it is that the implementor is going to make unsound choices.

The same goes double for your second point. Yes, if you have to implement the MAC yourself, you clearly want to use HMAC rather than trying to get CBC-MAC right. But if you're in a place where you have to implement your own MAC, you are doomed for a bunch of other reasons. CCM is preferable to HMAC because it's likely you're going to simply be able to change CTR to CCM and have it.

<comment><AUTHOR> _Yes, if you have to implement the MAC yourself..._

I didn't say anything about implementing the MAC yourself. _Someone_ has to implement it, though -- and no matter who writes the code, HMAC-SHA256 is far more likely to be right and not leaking data via side channels than CBC-MAC is.

<comment><USER2> Bespoke CBC-MAC is an almost-certain disaster. HMAC-SHA256 has some obvious implementation failure modes. It's less easy to see how someone screws up typing "CCM" into their library.

The point is that there are already shrink-wrapped AE constructions (like CCM or EAX) that you can pick up off the shelf and use; HMAC designs are more likely to be bespoke.

<comment><AUTHOR> _It's less easy to see how someone screws up typing "CCM" into their library._

If you trust the library, sure. But I've found that the same rules apply to crypto libraries as to everything else: Obscure and complicated features are far more likely to be buggy.

No crypto library is ever going to ship with a broken HMAC-SHA256 -- but I can't say the same thing about AES-CCM.

<comment><USER2> Seriously, Colin? You're talking about people that _don't_ know to use AES-256 instead of Blowfish, but _do_ know enough to homebrew instead of using a library?

CCM and EAX aren't obscure. AE crypto has been in 3 of the last 4 designs I've had to review. The fourth prompted a recent blog post of mine.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> This was largely inspired by Thomas's blog post yesterday about AES vs. RC4 -- he started me thinking "gee, someone really should sit down and tell people what they should be using so that they don't keep doing dumb things like using RC4".

</comment><comment><USER3> Possibly truly stupid question, but what is the attack on md5ing passwords if you also generate a random salt for each user? I could not find anything online in the past ten minutes that suggests an attack, except for the md5 collision problem.

I don't understand the collision problem very well either. I know it's been used to crack a certificate here or there, but it seems like it took a lot of resources to crack one password.

<comment><USER2> [http://www.matasano.com/log/958/enough-with-the-rainbow- tabl...](http://www.matasano.com/log/958/enough-with-the-rainbow-tables-what- you-need-to-know-about-secure-password-schemes/)

<comment><USER3> Thomas, thanks. That was immensely helpful. Now I have to figure out what I want to do going forward. At least I already have per-user random salts.

</comment></comment></comment><comment><USER4> Can anyone explain:

"Client-server application security: Distribute the server's public RSA key with the client code, and do not use SSL."

It seems like the point of this is to make sure that when communication moves from the client, only the server with the proper private key can decrypt it - BUT, aren't you just going to use OpenSSL to implement this (via TLS)? Is there some other way to accomplish this I'm not aware of? What's he specifically warning us against?

<comment><AUTHOR> I'm warning you against using a complex and error-prone protocol where you don't need all the complexity. You might end up using OpenSSL anyway, but using OpenSSL to perform an RSA encryption is vastly safer than using OpenSSL to verify a certificate chain.

<comment><USER2> I am a bit mystified by you warning people off SSL. It's complex because the problem of establishing a trusted channel between two unrelated parties is complex. Simpler protocols with the same constraints have failed.

You should be clearer with your recommendation. If you can relax the constraint that the protocol has to work between strangers, then SSL offers functionality you don't need, and the actual interface to SSL has moving parts that might hurt you.

Most people who build crypto can't relax that constraint, even if they think they can. We've beat several schemes that relied on pre-distributed public keys because of the out-of-band channels that wound up getting grafted on to bring new members into the group.

Finally, verifying a certificate chain _isn't_ hard. It's constructing a verifiable certificate chain in the first place that has proven difficult. If IE7 didn't offer the "bad certificate" click-through warning, and simply failed the request, we'd be discussing the right problem instead of the red herring.

<comment><AUTHOR> _You should be clearer with your recommendation. If you can relax the constraint that the protocol has to work between strangers, then SSL offers functionality you don't need, and the actual interface to SSL has moving parts that might hurt you._

I specifically mentioned client-server applications, didn't I? If you are handing out client code which talks to a server you run, you don't need the protocol to work between strangers.

<comment><USER2> Except for the part where you hand out the code and the certificate.

<comment><AUTHOR> You need a secure way of handing out client code, sure. There's no way to get around that. But once you've figured out how to do that, you might as well include the server public key.

If an attacker can mangle the server public key which you're distributing with the client code, they can mangle the client code, at which point you've already lost.

<comment><USER2> So you draw an imaginary line around the parts of your application that have simple security requirements, make recommendations about the stuff inside the lines, ignore the stuff outside the lines, and berate the technologies that deal with the stuff outside the lines.

Just so we're clear.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> This is a good post, Colin.

One thing people reading it may not realize is the importance of picking good IVs and the necessity of including them in the MAC.

Someone might just authenticate the ciphertext and neglect to include the IV, leaving themselves open to a few attacks.

</comment><comment><USER6> The overall message is: I trust human intelligence -- and this is positive (iff you're actually _using_ your intelligence).

In contrast, most crypto rants fall into the "laugh at them, as they're all equally stupid" trap, which is not going to change humans into better...

<comment><USER2> If you're trained and experienced, there is probably nothing about performing standard appendectomy to challenge the intellect. But you're crazy if you think that optimism about human intelligence is enough to allow an ordinary smart person --- or maybe even an ER nurse --- to conduct one based on a guidebook.

<comment><USER7> There are things to be learned from the article at more levels than just the design of new protocols. For example, I would say this good advice that applies to ordinary smart people:

"Do NOT store users' passwords. Do NOT hash them with MD5. Use a real key derivation algorithm. PBKDF2 is the most official standard; but scrypt is stronger. Please keep in mind that even if YOUR application isn't particularly sensitive, your users are probably re-using passwords which they have used on other, more sensitive, websites -- so if you screw up how you store your users' passwords, you might end up doing them a lot of harm."</comment></comment></comment>


Does anyone know of internships in the Santa Cruz/San jose area? - <AUTHOR>

I am a college freshman and am looking to find an internship in a computer programming.  I have taken a two classes at my local junior college and was hoping to at least see what kind of environment I would be working in if I got a degree in computer science.  I understand my options are limited because I have little programming experience but I am eager to learn. <comment><USER2> Internships occasionally turn up on my site, <http://jobstractor.com/#!/santa%20cruz>

Such as this one

[http://www.linkedin.com/jobs?viewJob=&jobId=2364681&...](http://www.linkedin.com/jobs?viewJob=&jobId=2364681&trk=jobs_share_fb)

Don't know the location so well, so sorry if that's not exactly right

<comment><AUTHOR> Thanks! That helped.</comment></comment>


The Future of "Health-Plan-Funded" Treatment Abroad - <AUTHOR> http://www.imtj.com/articles/future-%E2%80%9Chealth-plan-funded%E2%80%9D-treatment-abroad/ <comment><AUTHOR> Medical Tourism: Don't Let Health Insurance Companies Pollute the Open Market

The demand for healthcare abroad is growing and there are many players interested in grabbing a piece of the pie. I imagine that health insurer interest in medical tourism will continue to grow as some companies see it as a cost-effective way to diversify their product portfolio and capture new clients. Still others might be interested in offering medical care/vacation packages that might entice current clients to get cheaper care elsewhere, which of course results in lower payouts and thus, better margins. Personally, I believe insurance company involvement in this industry is a bad thing. At first, providers and hospitals abroad might welcome the influx of new clients whose insurance is now covering their care abroad. However, insurance will pollute what is largely an open market where there is significant opportunity for healthcare providers to compete on transparent pricing, clinical quality, and customer service. This is the opposite case in the US where healthcare providers have the leverage, and the consumer is left not knowing what something costs until after the care is delivered. As far as quality is concerned, it is almost impossible for the average American consumer to find accurate and meaningful data about their care providers and hospitals. The unintended consequences of increased health insurance activity in the medical tourism market are added administrative and operational complexity as well as higher and more variable costs. Tech companies that serve as effective marketing channels to connect patients to providers will help keep this industry transparent, competitive, and free of inefficient middleman payers.</comment>


MyWesternCanon - <AUTHOR> @MyWesternCanon is a Twitter bot that tweets out the Western canon one sentence at a time.
Tagline: "Get a quality liberal arts education delivered to you in easily digestible tweets."
A excerpt from a recent press release:
Readerly is introducing a new product into the education market, @MyWesternCanon. @MyWesternCanon is a Twitter feed that features the great literary and philosophical works of the Western tradition. It lets students "follow" these works during their time at college, thus read the great works of Western literature, history, and philosophy. By retweeting or favoriting tweets from the likes of Aristophanes, Jean-Jacque Rousseau, and Mary Wollstonecraft, students are engaging with the great minds of the Western tradition.
"@MyWesternCanon allows students to read the entire Western canon in easily digestible tweets," says Readerly CEO, Dr. Sean Miller. "So while they bone up on information technology and business management, majors that will guarantee them high-paying careers in today's fast-paced economy, they'll be getting a quality liberal arts education as well. It's a win-win."
I'd love to get the Hacker News community's impression. <comment><USER2> The concept is nice - students certainly need more exposure to Western literature, history, and philosophy. Perhaps seeing these Tweets will inspire them to look up the books or topics and read on their own since schools don't teach much of this anymore.

But the idea of learning something from Tweets - no way. It's funny to read the comment that they can read the entire Western canon in Tweets (it wouldn't even make sense) and that "they'll be getting a quality liberal arts education." That's hard enough to find at an actual university, let alone on Twitter.

Now it would be nice to see a reputable, affordable online liberal arts school. Maybe something like Codacademy where employers might take the coursework completely seriously.</comment>


What's new in C++17, with lots of examples - <AUTHOR> https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md <comment><USER2> Every time I see one of these new revisions, I can't help but think that the type system has become the roadrunner and the STL has become wile e coyote, complete with dynamite and cartoon physics.

Seriously though, does anyone actually use any of the post-C++-11 stuff? I can count on one hand the times I've seen nonironic use of a C++-11 extension in a real project, and I've never seen use of -14 or -17 extensions.

<comment><USER3> > does anyone actually use any of the post-C++-11 stuff

Many major C++ projects are using C++11, e.g. LLVM/Clang, Chromium, etc.

<comment><USER4> post C++11, like 14 or 17

<comment><USER5> C++17 is not released yet and the current major C++17 implementations aren't ready for production use.

C++14 doesn't have many new features. C++14 contains many fixes on minor details which was implemented even in C++11 implementation because the Standard wording of C++11 is either ambiguous, impossible to implement, considered too harmful on that fixed part.

<comment><USER4> oh i know, i was just trying to clarify the question asked.

</comment></comment></comment></comment></comment><comment><USER6> There's too many people who understand C++, and C++17 is going to fix that.

<comment><USER7> From 7 to 5?

<comment><USER6> Sounds about right.

</comment></comment></comment><comment><USER8> I feel like he went through all this effort just to make the joke "A more perfect union."

But seriously, a great write up. std::any looks like it could be dangerous in the hands of the inexperienced, especially in a sea of other changes that makes working with types easier and safer.

<comment><USER9> What are you talking about? This is C++. Everything can be dangerous.

</comment></comment><comment><USER10> The "structured bindings" feature seems potentially dangerous. I guess it helps unpacking tuples and getting references to tuple members. But it seems to have opened up a whole new set of side effects.

<comment><USER11> This is true, though generally anytime one uses `auto` it should be `const auto&` to avoid swallowing the quantifiers and potentially costly copies anyways.

</comment></comment><comment><USER12> I wish there was a resource like this for python2 vs python3. I'm trying to switch to Python3.</comment>


So apparently Al Gore did help invent the internet - <AUTHOR> http://www.eecs.umich.edu/~fessler/misc/funny/gore,net.txt

<comment><USER2> This is almost nine years old. <http://www.politechbot.com/p-01394.html></comment>


Statistical Formulas For Programmers - <AUTHOR> http://www.evanmiller.org/statistical-formulas-for-programmers.html <comment><USER2> Uhhhh, Evan Miller here. Not sure why my name is in the submitted title, but whatever.

The current selection on that page is somewhat limited, but I hope to grow it over time. The stuff at the beginning is pretty basic (e.g. standard deviation), but things get pretty gnarly by the time you get to the Kiefer equation. At some point I'll add some more references on how to implement things, e.g. find successive zeros of Bessel equations. For now it should be a good jumping-off point. Enjoy!

<comment><USER3> HN displays the URL's domain. Which happens to be your name

<comment><USER4> The title had the name in it too originally but it seems that a moderator changed it.

</comment></comment></comment><comment><USER5> If you're looking for things to add big-picture-wise, it might be helpful to specify what assumptions go into various tests/methods. In my experience, this is the biggest hangup and mistake, because a) it's more difficult to understand and b) ignoring it gives the appearance of rigor even if the test used is inappropriate for the data.

I should emphasize that this is not a nitpick or even a criticism, just a feature I would love to see. It's also what I spend a large portion of my time trying to track down, so having it in a convenient location would be nice.

<comment><USER6> Great suggestion. I've been amazed to find out that many coders and amateur "data scientists" don't realize that testing the assumptions is an important part of conducting statistical analyses. Part of this may be due to the recent emphasis on machine learning techniques, which tend to be assumption-free (often just assuming independence of cases in the sample).

<comment><USER7>
        machine learning techniques, which tend to be assumption-free

ML should be a rigorous exercise in Bayesian and classical/frequentist stats, computational methods, dataset integrity, visualization etc, if you've been thru the texts by Murphy or Bishop. It often happens that people a couple years out of their last stats class only retain that high R-squared, p-, t- and f-values are what they're looking for, and heteroskedasticity and sphericity are just big words.

My evidence that ML is a rigorous exercise: the free texts listed (Barber, Mackay and Smola's are excellent, ESL not as accessible)

[http://metaoptimize.com/qa/questions/186/good-freely- availab...](http://metaoptimize.com/qa/questions/186/good-freely-available- textbooks-on-machine-learning)

<comment><USER6> Thanks, @gtani, great resource. Yeah didn't mean to imply that ML techniques are free of ANY assumptions, just that several of the popular ones like logistic regression don't have distributional assumptions. (actually, I really want to understand the VC Inequality at some point, as it seems to allow us to make conclusions about out of sample error rates without depending on distributional assumptions)

</comment></comment></comment></comment><comment><USER8> I hoped for it to be more "for programmers", like this one:

<http://gdr.geekhood.net/gdrwpl/metnum.php>

For me formulas written in pseudocode are much easier to understand than classic mathematical notation.

For example I've learned bayesian classification, chi-square, etc. from Practical Common Lisp (<http://www.gigamonkeys.com/book/practical-a-spam- filter.html>) after failing to understand how to apply formulas from Wikipedia. It was easier for me to learn Lisp than to decipher abstract declarative mathematical notation (admittedly I get a brain freeze whenever I see ∑, even though I know what it means. I prefer `for(…) acc += …`).

<comment><USER9> This is off-topic; but I couldn't help notice your user name. My RL given name is "Parnell" and people often mis-pronounce it as "Pornell"...

</comment></comment><comment><USER4> The first example, "unbiased standard deviation" is mislabeled. The estimator of the variance is unbiased but the square root of an unbiased estimator is not itself unbiased. So it's not as nit-picky as it looks; it's either a brain fart or a hole in understanding (especially since the linked Wikipedia page discusses this issue)[1,2]

Not to be a dick, but getting the first example wrong like that doesn't inspire confidence in the rest of the post.

[1] <https://en.wikipedia.org/wiki/Standard_deviation>

[2] [https://en.wikipedia.org/wiki/Unbiased_estimation_of_standar...](https://en.wikipedia.org/wiki/Unbiased_estimation_of_standard_deviation)

<comment><USER2> Thanks! I have relabeled it. (In a previous draft the entry was for unbiased variance and the inaccuracy slipped in during the transition.)

<comment><USER4> Your post said, "draft," so I think you're covered for that sort of error. :)

</comment></comment></comment><comment><USER10> Hey Evan, from one statistics guy to another, thanks for fighting the good fight :). The formulas might benefit from examples, especially with some of the more complicated cases (KS test and onwards). The important part of statistics comes from knowing _when_ to apply something, rather than _how_ to (that part is just math/numerical analysis). A mention of the assumptions of each of these intervals would be good, too. Too often I see conclusions invalidated by using a probability model that doesn't make sense. This is a common failure I see with using a Wald interval for the slope of the regression line.

<comment><USER11> While you guys are here, can you recommend a good intro book for statistics?

<comment><USER10> Yankoff, you might want to be more specific. Intro statistics in general, or for computer scientists, or scientists, or looking to learn R at the same time? I liked Freedman, Pisani, and Purves [1], and have TA'ed using McClave, Sincich, and Mendenhall [2]. You may want something a little more advanced than these, but they are pretty good for intro level.

[1]: [http://www.amazon.com/Statistics-4th-David- Freedman/dp/03939...](http://www.amazon.com/Statistics-4th-David- Freedman/dp/0393929728) [2]: [http://www.amazon.com/Statistics-11th-Edition- Book-CD/dp/013...](http://www.amazon.com/Statistics-11th-Edition-Book- CD/dp/0132069512/ref=pd_sim_b_2) [3]: [http://stats.stackexchange.com/questions/421/what-book- would...](http://stats.stackexchange.com/questions/421/what-book-would-you- recommend-for-non-statistician-scientists)

<comment><USER11> Yeah, I meant something for computer scientists. I'm going over coursera ML course currently and wanted to learn at least basics of statistics in parallel.

Thanks, I'll check out your links.

Btw, what do you think of OpenIntro statistics?<http://www.openintro.org/stat/down/OpenIntroStatSecond.pdf>

<comment><USER10> You will find the intro books don't talk much about parallel computing. Most of the general data sets in intro books will be no more than 30 observations. They are trying to teach classical methods moreso than useful computational techniques. As for parallel statistics, I don't have a good book recommendation. Most of my knowledge on the topic comes from papers and vignettes from the R community and not books. Maybe check out one of those O'Reilly books about big data techniques?

I haven't seen this OpenIntro statistics before. I'll check it out!

</comment></comment></comment></comment></comment><comment><USER12> As a programmer and statistician I should warn newcomers about the assumptions of tests (parametric tests like test t). Test t for example need same variance and normality or you'll take wrong decisions. These formulas and p-values shouldn't be used as substitutes for graphics (you should check them first and test later).

Just take care, there's a lot of problems from using statistics in wrong way. special care with small sample size and even large ones [[http://scienceblogs.com/mixingmemory/2006/10/31/jeffreylindl...](http://scienceblogs.com/mixingmemory/2006/10/31/jeffreylindley- paradox/)]

</comment><comment><USER13> Nice but little knowledge is a dangerous thing. It is probably safer and more effective for non-statistician "data scientists" to use Robust Statistics: <https://en.wikipedia.org/wiki/Robust_statistics>

<comment><USER14> The wikipedia article talks much about dealing with outliers. How can outliers be removed/replaced or handled differently as the article suggests? Are the outliers not part of the data, after all? It seems like the goal of 'improving performance' here involves tweaking the data to get the results you want. What have I misunderstood here?

<comment><USER15> The main difference between classical regression using ordinary least squares (OLS) and robust regression using iterative re-weighted least squares (IRLS) is that with OLS, all observations are given equal weight and with IRLS, observations may or may not be given equal weight. Essentially, IRLS gives outliers and/or influential [1] data points less weight, which may improve the performance of the overall model since these outliers/influential data would otherwise cause assumption violations using classical regression. If there are no outliers, then results from robust and classical regression converge.

I would disagree with SagelyGuru in recommending robust regression for non- statisticians, though I can see where he or she is coming from. With robust regression, you don't have to worry as much about assumptions as with classical regression. But with robust regression, you need to be aware that the underlying analytical method is different and what that means. For example, the standard robust regression implementation in R (i.e, the rlm function in the MASS package) doesn't produce t-statistics or p-values. There're also warnings that especially at lower sample sizes, the standard errors produced by rlm may be unreliable. One recommended way to obtain those p-values would be to get bootstrapped standard error estimates, so that normal-theory approximation would apply.

[1] There are different types of robust estimators (e.g., M, S, MM, etc.) that have different robustness properties.

<comment><USER14> Thanks for the explanation - it was helpful

</comment></comment></comment></comment><comment><USER16> A nice resource, however I'd expected to see some actual programming on this page. Perhaps some sample code in a few languages would be nice. You could put tabs on a code box to switch between a python and PHP implementation for example.

<comment><USER17> Same here. Theory, formula, assumptions etc. are available in a textbook, Wikipedia and elsewhere.

This could be useful- PHP stats functions: <http://www.php.net/manual/en/ref.stats.php>

</comment></comment><comment><USER18> I think if trying to explain things like these to programmers, maybe you should consider using actual code (or even pseudo code) for this? It would have an added benefit of not requiring to know math-english (for non-native english speakers like me) or any advanced concepts of math at all.

</comment><comment><USER6> Great effort, and I certainly hope more coders will get into statistics (most I know are only interested in machine learning). However, I think your definition of 1.3 "Confidence Interval around the Mean" could be improved. You state:

"A confidence interval reflects the set of statistical hypotheses that won't be rejected at a given significance level. So the confidence interval around the mean reflects all possible values of the mean that can't be rejected by the data."

That seems a bit vague and perhaps confusing. Might I suggest something more like this:

"The confidence interval specifies a range (+/- a multiple of the above standard error [SE]) around our estimate of the mean (x-bar) such that: if we repeated our sampling process an infinite number of times (i.e. with the same sample size and forming a new x-bar and SE each time [and therefore, a new confidence interval]), Confidence_Level% of those intervals would contain the population (true) mean."

In addition, I think in this case, at least, there are no assumptions about the data to worry about, given a sufficiently moderate sample size due to the Central Limit Theorem (I'm confident about that in the case of the mean (x-bar), but I'll leave it up to others to correct me if I'm wrong about this applying to the standard error (SE)).

<comment><USER19> Confidence intervals are inherently confusing. I have yet to hear a definition that is both correct and easily understood and remembered.

</comment></comment><comment><USER19> I feel this would be quite confusing for an average programmer. It is more like a cheat sheet for people who have some statistical training but always have to look the formulas up because they don't use them frequently enough. For an average programmer, really understanding how linear regression works and some basic linear algebra would be a good start. A lot of programmers have trouble even with these "simple" topics.

Most of these formulas are very rarely used even by quantitative analysts. The most used are for standard deviation and regression. The more complicated ones are generally used as a part of statistical routines, say, in R. It is very rare that someone has to code them.

> From a statistical point of view, 5 events is > indistinguishable from 7 > events. What is this supposed to mean? There is a concept of statistical > significance but if an effect is not statistically significant it does not > follow that it does not exist. Btw where is the Bayes formula? :)

</comment><comment><USER20> This is a good motivation, but it's plunging right into formulas, which is wrong-headed. Even the mean can be completely meaningless without eyeballing a plot of the data. Given that this is aimed at non-statisticians, it's critical that these points are made in Big Flashing Letters before we start handing out formulas that make people act like they have "superpowers".

The first superpower is to look at the data and see if it makes sense using your eyes and your brain, not to start spewing confidence intervals.

As other posters have pointed out, it is even more irresponsible to start waving around things like the t-test without discussing the parametric assumptions that these things depend on for their validity.

</comment><comment><USER21> Great start on an important topic. Quick extra info - For drawing a trend line it is often useful to have the intercept as well. Using y=mx+b line notation the best fit intercept is: \hat{b} = \bar{y} - m * \bar{x} [1]

Be great to see some pictures to illustrate the formulas and some mention of robust statistics as I find outliers to be a huge issue in application of statistical techniques.

[1] <http://en.wikipedia.org/wiki/Simple_linear_regression>

</comment><comment><USER22> I've wondered for a long time if there's a way to condense certain statistical (and probability) information into a single How-Much-Should-I-Care number. Can someone shed some light on this?

To pick a couple examples from health news in the popular press:

NB: I'm making up all the numbers here for the sake of example.

(1) A study shows that people who consume more than 10g of added salt a day live shorter lives.

But _how much_ shorter? If it's 30 minutes shorter, I don't care about the study and I'm not going to change my behavior. If it's 6 months longer, then I'm interested and might very well do something.

(2) A study shows that people who drink 2 or more cups of coffee a day have lower risk of Alzheimer's Disease.

But _how much_ lower risk? If the average lifetime risk is 1 in 50, and drinking coffee lowers it to 1 in 49.997, then I don't want to waste time even reading the article. If it lowers it to 1 in a 1000, then yes, I might change my behavior.

So, in the above examples, is there any way to reduce the information into a single How-Much-Should-I-Care number?

Like this:

(1) A study shows that people who consume more than 10g of added salt a day have an ____x____ factor shorter life.

(2) A study shows that people who drink 2 or more cups of coffee a day have a ____y____ factor lower risk of Alzheimer's Disease.

Then, by looking at x and y, I can tell at a glance whether some result is irrelevant, trivial, useful, or groundbreaking. I understand that it'll still be subjective in the end -- like whether $1, $10, $1000, or $10,000,000 seems like a lot of money to an individual -- but at least it'll be one number.

<comment><USER23> Just a factor is often not enough. If a study would show that cell phone usage increased the risk of a certain cancer with 40%, that might still not be interesting if it's an extremely rare cancer and they found 7 cases instead of 5.

Or it doesn't show whether various correlation factors matter, or whether this is a statistical paradox. Did you know that babies of smokers are healthier than babies of non-smokers of the same weight? This is because baby born to the smoker will have decreased weight because of the smoking, whereas if the baby of the non-smoker is underweight it will be for other reasons that are often worse.

There's heaps of these kind of paradoxes and pitfalls that need to be taken in account.

What we need in newspapers and other media is a simplified abstract of the paper and an explanation or approval of a real life statistician, with no relation to the study.

</comment></comment><comment><USER24> Great resource. For anybody struggling with ANY formula... or even maths class. I'd encourage you to learn how Wolfram Alpha works:

<http://www.wolframalpha.com/>

I used it extensively for the development of different trading bots and algorithms. They say you need to be a real hotshot at maths to make it in that field. Little do they know that this world will soon belong to script-kiddies and hackers! Here's one of my favorites from them, this will rearrange any complex equation and make anything you like the subject:

[http://www.wolframalpha.com/widgets/view.jsp?id=4be4308d0f9d...](http://www.wolframalpha.com/widgets/view.jsp?id=4be4308d0f9d17d1da68eea39de9b2ce)

The one thing you will have to learn is how to represent an equation in text based form, ie to use ^ to signify a power etc...

<comment><USER25> Man, that would have been useful in college.

<comment><USER24> Check this out for a demo of what it was designed to do.

This will solve the following complex equation (Find both X and Y):

x+y=10, x-y=4

[http://www.wolframalpha.com/input/?i=x%2By%3D10%2C+x-y%3D4&#...</a><p>... and thats just scratching the surface. Kids studying maths these days don't know how good they have it. I struggled so much when I was younger.

</comment></comment></comment><comment><USER26> Ugh recipe-book statistics! This might be useful but not to programmers. No- one should be applying any of the more complex formulas on this page without a good basic grounding in the theory, which is something nearly all programmers will lack (and fair enough). The best place for programmers to start is understanding the basics of likelihood functions, maximum likelihood estimation, Bayes rule and likelihood ratio tests. Then look at e.g. the derivation of the chi-squared test statistic as an approximation to a likelihood ratio test of multinomial distributions to get a sense of where all the mysterious formulas of classical statistics come from.

</comment><comment><USER27> Thanks for writing this Evan.

Maybe this solidifies the fact that I'm a programmer and not a statistician, but I got lost after the 2nd hyperbole in the beginning...but I like a challenge, I may have to read it multiple times until your presentation sinks in though :)

</comment><comment><USER28> The link to "how-to-read-an-unlabeled-sales-chart.html" has an extra s after unlabeled.

</comment><comment><USER9> Tangent: Why is your product not a SaaS offering!? (I would pay for it)

</comment><comment><USER3> Great blog! I wish there was a cookbook style code with eac formula. In C or even JavaScript for those of us who have forgotten a lot of math but can think in code.

</comment><comment><USER29> I like the spirit of this article, but I wish it put much more emphasis on explaining why/when you'd need this. Examples would be very helpful.

</comment><comment><USER30> Isn't the plural form of formula called formulae?

<comment><USER4> Either formulae and formulas are pretty common (and my Firefox spellcheck is flagging the first and not the second FWIW).

<comment><USER30> Same here, firefox flags formulae.

</comment></comment></comment><comment><USER31> christ, if your going to post statistical formulas for programmers, post it as an algorithm, not as a math formula.

</comment><comment><USER32> Evan Miller, I love you.</comment>


VLC media player 1.1.10 is out - <AUTHOR> http://www.videolan.org/vlc/releases/1.1.10.html

<comment><USER2> Really? A minor point release is front page news?

<comment><USER3> At least it's better than spamming the front page with the same topic from multiple sources.

</comment></comment><comment><USER4> Although it's a minor point update, it closes several security holes and tweaks some things. The developers have also detailed some of the new features that will roll out in VLC 1.2.0. Story about it here: <http://h-online.com/-1255756>

<comment><AUTHOR> The story is mostly about my blog post here: <http://www.jbkempf.com/blog/post/2011/VLC-1.2.0-part1></comment></comment>