60 Years Photographing the North American Railroad - <AUTHOR> https://hyperallergic.com/404272/jim-shaughnessy-essential-witness-sixty-years-of-railroad-photography/ <comment><USER2> I had not heard of Shaugnessy before, but I'm glad to learn of his work. Another great rail photographer whose books I love is O. Winston Link. [https://en.wikipedia.org/wiki/O._Winston_Link](https://en.wikipedia.org/wiki/O._Winston_Link)

</comment><comment><USER3> For those who don't know, Shaugnessy is one of the great names in railroad photography. He's an absolute master.

<comment><USER4> Shaugnessy, David P. Morgan, O. Winston Link, Lucius Beebe, among other did an amazing job of recording the end of the piston steam industrial era. Industry, cities, methods of trade were fundamentally 18th century in many ways up until the end of the Second World War, when trucking, cars, and road changed the shape of the country.

[http://railfan.com/new-book-lucius-beebe-and-charles- clegg/](http://railfan.com/new-book-lucius-beebe-and-charles-clegg/)

</comment></comment><comment><USER5> Big machines are cool. Now I want to Google to find what the insides of a big diesel locomotive looks like...

Anybody know where one could find cool pictures of powerful electric motors?

</comment><comment><USER6> I would want to buy this book. Suggestions?

<comment><USER4> [https://www.barnesandnoble.com/p/jim-shaughnessy- essential-w...](https://www.barnesandnoble.com/p/jim-shaughnessy-essential- witness-jim- shaughnessy/1125829630/2660312506348?st=PLA&sid=BNB_DRS_New+Marketplace+Shopping+Books_00000000&2sid=Google_&sourceId=PLGoP211463&gclid=Cj0KCQjw9NbdBRCwARIsAPLsnFaDu3mqDiAKMRwJh-7Tl2brC2qBFiao39R3xKSvjaVwWtagmeo7rRIaAuDUEALw_wcB)

ISBN:9780500544860

</comment></comment><comment><USER7> Stunning photos!</comment>


Bosnians who speak medieval Spanish - <AUTHOR> http://www.bbc.com/travel/story/20181017-the-bosnians-who-speak-medieval-spanish <comment><USER2> Despite all the shit that happened in Bosnia last century, Jews tend to feel safe in Bosnia. One of the oldest Sephardic Haggadahs in the world (~1350) is located in our national museum[0], and our tiny Jewish community feels like this is the safest country for them[1].

In a country where Muslims are a majority (just barely, 50 point something percent), the Synagogue mentioned in the article is in dead center of the capital with absolutely no security needed.

Edited to add: Too bad they don't have basic democratic rights. According to our constitution, the minorities can't run to be one of our three presidents (yes, three)[2].

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

[1] [https://www.haaretz.com/world-news/europe/.premium-why- saraj...](https://www.haaretz.com/world-news/europe/.premium-why-sarajevo-s- jews-believes-it-s-the-safest-place-in-europe-1.5430455) (paywalled original, I've read non-paywalled Bosnian translations).

[2] [https://en.wikipedia.org/wiki/Sejdi%C4%87_and_Finci_v._Bosni...](https://en.wikipedia.org/wiki/Sejdi%C4%87_and_Finci_v._Bosnia_and_Herzegovina)

</comment><comment><USER3> > 'Adonaj es mi pastor. No mankare de nada' (The Lord is my shepherd. I shall > not want)

Mancare in Italian is to miss/need/be lacking, and although mancar in modern Portuguese is to limp, archaic Portuguese used it in the Italian sense.

> I had to listen carefully to understand, hearing words like fazer (to do) > and lavorar (to work) that sounded more like Portuguese and Italian than > modern Spanish. I heard sounds like "dj" [dʒ] in the word, djente (people), > "z" [z] in the word roza (rose) and "sh" [ʃ] in the word pasharo (bird) that > don't exist at all in modern European Spanish.

Other direct matches and similarities: Fazer - To do (Portuguese), lavorare - to work (Italian), djente - people (Brazilian Portuguese pronunciation of gente), pássaro - bird (Portuguese). Even the z in roza, for rose, is typical of Portuguese pronunciation.

____

Not related to the article but something I always found odd: In Italian, 'morbido' means 'soft' (used to describe food, among other things), while the English 'morbid' is translated as 'macabro'. Italian etymological references say this is due to the softness of diseased muscles, and it somehow just became 'soft'. All of the other Romance languages use the term in its original meaning.

<comment><USER4> The etymology for "macabro" goes back to Arabic: "Ma qabr" means "cemetery."

I always wondered how "inshallah" became "ojalá". The 'j' sound in 'ojala' is the same as in 'pájaro' which in Ladino-as the article points out--is "pasharo" thus supplying the explanation.

How do you say "you" in Ladino? Is "usted" (possibly from Arabic "ustaad") used, or do they use an Italian or Portuguese cognate?

<comment><USER5> "usted" in Spanish comes from a contraction of "vuestra merced" (your mercy, your grace), similar to "você" in Portuguese, "vostede" in Galician, and "vostè" in Catalan. It's still abbreviated as "Vd." sometimes in Spanish.

</comment></comment></comment><comment><USER6> If you want to hear how it sounds, Spanish National Radio (RNE) has a podcast in judeoespañol:

[http://www.rtve.es/alacarta/audios/emision-en- sefardi/](http://www.rtve.es/alacarta/audios/emision-en-sefardi/)

</comment><comment><USER7> Ladino, not to be confused with Ladin (also called "Ladino" in Italian), another romance language with few speakers from southern Europe: [https://en.wikipedia.org/wiki/Ladin_language](https://en.wikipedia.org/wiki/Ladin_language)

</comment><comment><USER8> The diaspora of Sefardic jews went even to Trukey and today you can still trace it. I don't know if you access there website:

[http://www.istanbulsephardiccenter.com/](http://www.istanbulsephardiccenter.com/)

But their TW account tweets a word a day and it's awesome:

[https://twitter.com/sefaraditurkey](https://twitter.com/sefaraditurkey)

 _Mos ambezaremos un biervo en Judeo-Espanyol kada dia / Her gün bir Judeo- Espanyol kelime öğrenelim. Let's learn a word in Judeo-Espanyol every day /Aprenderemos una palavra cada día_

</comment><comment><USER9> "[...] the language has maintained the structure of medieval Spanish and sounds more similar to some forms of Latin American Spanish than European Spanish"

I've read some Ladino and the only immediately apparent difference is the spelling and a few foreign words that have entered the language. They _don 't_ speak in formal polite form (as opposed to Latin American speakers of Spanish), so in that regard, it's closer to Castilian Spanish.

<comment><USER10> You might think reading it is enough, but last I looked into this there were some phonetic changes in both Spain and Latin America that Ladino never got.

For example, what happens to orthographic G before I or E? I think Ladino has [ʒ] there.

Does the orthographic X become [x] or is it [ʃ]? eg. How would they say _Quixote_ , with a "sh" sound?

Many years ago I found some recordings on the internet and I think it had both of these "old" features. And maybe some new ones, there was something funky going on with nasal consonants, eg. "muestro" for "nuestro".

<comment><USER11> > Does the orthographic X become [x] or is it [ʃ]? eg. How would they say > Quixote, with a "sh" sound?

Interesting, I once came across the original spelling of Mexico: Mejico. In Brazil today they call it "Meshy-ko."

Similarly in English, many of features that the British like to look down their noses as "Americanisms" were invented in Britain.

<comment><USER10> Yeah, this is a puzzling thing to me. The Spaniards came in and they wrote down a bunch of native Mexican place names with X being a sh sound, as it is today in other Iberian languages like Portuguese. Then that sound morphed in Spain into the kh sound, like in loch. In IPA-speak that is /ʃ/ to /x/. But they brought that sound change to the Americas too. So, both sides of the ocean see that change... But not Ladino elsewhere in Europe, much closer to Spain as the crow flies.

Another similar story I heard about English is non-rhotacism in the northeastern US. The British took north america pronouncing all the Rs. Then they dropped some. Then some northeastern cities did too. At least, this was the simplistic version I heard.

<comment><USER12> Regarding that last bit, it's part of why the Original Pronunciation [1] attempts at Shakespeare are so fascinating. Modern cinema has gotten us so used to hearing Shakespeare pronounced with the contemporary non-rhotic British accents, but to my ears listening to OP versions sounds much closer to contemporary American accents. (Though it is certainly not an American accent either.)

(Another favorite part of the OP works is the discovery of "lost" puns and dirty jokes due to pronunciation shifts.)

Similarly related, there's the interesting belief/possibility that a time travelling Elizabethan-era speaker of English would feel more kinship to the sometimes maligned contemporary US Southern accent than most other contemporary English accents.

[1] [http://originalpronunciation.com/](http://originalpronunciation.com/)

</comment></comment></comment></comment></comment><comment><USER13> Speaking about linguistic minorities, here in Southern Italy there are some small towns speaking ancient Albanian called "Arbëreshë" [1], they have even orthodox churches

[1] [https://en.wikipedia.org/wiki/Arb%C3%ABresh%C3%AB_people](https://en.wikipedia.org/wiki/Arb%C3%ABresh%C3%AB_people)

<comment><USER14> Arbëresh isn't "ancient Albanian". Arbëresh does retain a few early modern Albanian features that have been lost in the dialects spoken within Albania and the literary standard, but Arbëresh has undergone plenty of innovations of its own.

<comment><USER13> Nice correction, thank you

</comment></comment></comment><comment><USER15> Related, but I learned about the Ladino language some years ago searching for music. This group was a side project with lyrics in it: [https://www.youtube.com/watch?v=BOFkIf__zZM](https://www.youtube.com/watch?v=BOFkIf__zZM)

</comment><comment><USER16> > Moorish (Arab)

I thought the Moors were from Morocco / Mauritania (NW Africa), and Arabs are from Arabia (between NE Africa and Asia)?

I've played several games of CK2 starting in 1066 Spain, it's a real race to consolidate both the split northern Christian kingdoms and the smaller Muslim realms in the south. Marrakesh starts out small, but it's pretty good at consolidating too, and ends up being quite a problem to deal with...

</comment><comment><USER17> In Spanish, "ladino" is an adjective, and its main meaning is "shrewd" or "sly". It's what you would call Aladdin's Jafar( [http://disney.wikia.com/wiki/Jafar](http://disney.wikia.com/wiki/Jafar) ). I hope it's just a coincidence, but I would not be surprised to find some racism in the etymology of the word. My language has several of those.

<comment><USER4> Except that prior to 1492, there was no language known as "ladino." It was simply Spanish, and the Jews who were exiled continued to preserve the language. Does the community auto-identify with the term "ladino"? Or was this term imposed after the exile?

<comment><USER18> More accurate to say that at the time, there was no language known as "Spanish" \- there were speakers of Latin dialects (including what became Spanish and Portuguese and Galician and Catalan &c.), speakers of Arabic, and speakers of Basque.

<comment><USER19> We are talking about 1492 here, there was already a established Spanish language

That same year this was written:

[https://en.wikipedia.org/wiki/Gram%C3%A1tica_de_la_lengua_ca...](https://en.wikipedia.org/wiki/Gram%C3%A1tica_de_la_lengua_castellana)

<comment><USER20> The presence of _lengua castellana_ instead of _lengua española_ in the title is exactly GP's point. Remember that Castile and Aragon only _just_ entered personal union at the time! Prior to Spanish unification, Castilian and Aragonese were seen as different from each other as modern people see Spanish and Portuguese (and Aragonese is just as different from Castilian as Portuguese is).

In addition to Castilian and Aragonese, you also had, among others, the Galician language, the Asturian and Leonese languages, and of course in the once-Muslim lands not only Ladino but also Mozarabic (which parallels Ladino in a few ways: Ladino is a close relative of Castilian spoken by Jews in Muslim lands, while Mozarabic is a close relative of Aragonese spoken by Christians in Muslim lands).

<comment><USER21> The Spanish language is still commonly called "castellano" today.

</comment></comment></comment></comment></comment></comment><comment><USER22> Fascinating article. My chorus is doing a Hanukkah piece in Ladino for our Holiday concert. It's the second one we've done in the last few years. I think the text is harder for the native Western Spanish speakers than it is for singers like me who don't know any dialect of Spanish.

</comment><comment><USER23> This is _slightly_ tagential, but bare with me...

Nationalism and nation states. We live in a nationalist world. All places and all people are politically divided into nations. Nationalism is so dominant that we barely think of it as a thing.

Anyway.. ladino & it's speakers are descendants of refugees from the spanish reconquista and inquisition period. It's generally seen though a christian/muslim lens, but this isn't the only way of seeing it. It was also a rise of nationalism.

Muslim spain was part of a multi-ethnic empire. Post reconqista spain was an early form of nation state, with a national ideology. No room for minorities. Jews got the boot first, muslims followed. Refugees of an empire-to-nation- state transition.

In the Ottoman empire (where most refugees went) remained multi-ethnic. That's what empires are. This continued until the empire fell. From that point, the transition to nationalism is stark.

In what became turkey, there was no more room for Greeks or Armenians. Kurds were told to (melting pot) be Turkish. In the (many) other nation states that emerged from the ottoman empire (eg, iraq, syria), jews were effectively exiled in the mid-20th. Christians are now leaving. Cities & regions are dividing into homogenuous ethnic enclaves.

No room for minorities in an ethnic state.

Europe went through the same thing. The two wold wars moved europe from a collection of multiethnic empires to homogenuous national states.

History repeats over and over. When emperise gives way to nations, minorities suffer. Cultures die.

So, i'm suggesting, the reason that ladino (and 6,000 other minority languages) are dying is the absolute victory of nationalism in the 20th century. Nationalism has no room for minorities, their culture or their language. These things wither in nation states. Ladino, with its 600 years of history will die too.

It can't survive in the former ottoman empire because 90% of ladino speaking communities had to integrate or leave (just like the Spanish ultimatum that started it all). Most went to Israel, another national home, another place where ladino can't survive.

<comment><USER24> Muslim Spain was not a peaceful place of convivence. Numerous pogroms and killings happend during that time, e.g. the Granada Massacre of 1066 [https://en.wikipedia.org/wiki/1066_Granada_massacre](https://en.wikipedia.org/wiki/1066_Granada_massacre)

The contribution of Arabs to Spanish culture is enormous but that doesn't hide that in medieval times, almost everybody (including them) had barbaric customs.

<comment><USER23> I never said it was. Neither was the ottoman empire. Both also made formal distinctions between people based on religion. European empires weren't equal or peaceful either.

What I did say was that they were multi-ethnic. Even with all the pogroms, jizra and other forms of discrimination, numerous minorities existed. Empires were multi ethnic, multi-religious, multi-lingual and such.

When those empires gave way to modern nation states (or earlier precusurs, like Spain and Portugal), multiculturalism died. This is the story of the 20th century.

The process is still ongoing, particularly in ex-ottoman states..

There are arguably good and bad things about empires. Multiculturalism^ is a trait of empires. Groups like the spharadim, small communities with their own customs, beliefs and language, exist because empires existed.

Btw... this is not new. King Cyrus, Alexander & Genghis Khan's Empires are notably remembered for their multiculturalism.

^Real multiculturalism. I don't hate melting pot migration, but I don't count it as multiculturalism.

</comment></comment></comment><comment><USER18> Somehow this article managed to discuss the status of a post-Holocaust European Jewish community without once mentioning Israel - where the largest community of Ladino speakers live, and where public radio has regular broadcasts in Ladino.

If Sephardi Jews who take up the Spanish Law of Return don't seem attached to Ladino, it's because they're a self-selected group who have decided not to take up the more famous Law of Return.

<comment><USER14> While there is a bit of Ladino media in Israel, overall among the Ladino community immigration to Israel has been seen as the death of the language, because there is pressure there to assimilate to the Hebrew mainstream. (This is analogous to the death of Yiddish in many contexts that it had prewar, because all those Yiddish speakers switched to Hebrew after migrating to Israel, except for the Haredim who do not use Yiddish outside their own narrow contexts.)

Because Ladino speakers remain an Other in the European diaspora and can therefore draw on more minority-language support, etc., they have a way to maintain their identity that they would not have if they made aliyah.

<comment> man-and-laptop The Haredim _do_ mainly speak Yiddish. They use Hebrew only in prayer and religious study.

<comment><USER14> The Haredim speak Yiddish, but they no longer use Yiddish in the whole range of social contexts that prewar Jews did. There was a vibrant prewar Yiddish film and theatre scene, for example, but the Haredim today aren't interested in that kind of thing, to put it mildly. As a cultural language in Israel, Yiddish is dead, and Hebrew has taken its place.</comment></comment></comment></comment>


Ask HN: Do you bake AMIs for AWS deployments? - <AUTHOR> I am curious how people are doing their staging and production deployments on AWS. Do you bake everything into the AMI and do nothing at boot? Do you boot a vanilla AMI and do all configuration during boot? Something in the middle? If you don't fully bake, is it because it is too hard to manage? <comment><USER2> I make complete AMIs with packer, configure them entirely using environment variables in userdata, configuration data in etcd, and shell scripts, and run all services in docker containers, which I also build using packer. With all services in containers, AMIs are almost never rebuilt and there is no need for configuration management/mutating infrastructure.

Building containers with packer is easier than switching to Dockerfiles for existing builds, but does not support fast, incremental build and deploy or tagging. Even without those features, I see no advantages in traditional CM other than the convenience of familiarity and legacy.

<comment><USER3> What does a typical packer config file look like for building a docker container? I think of it as a useless abstraction on top of docker, but that's probably because I only generate containers and don't need the other packer targets. I only ever need one AMI, GCE image or vbox: the boot2docker base. And even that is exported from a container :)

<comment><USER4> Since building Docker support into Packer, I've heard a few beneficial points from some companies I've helped integrate it into as well as some users. I'm not here to convince you, but just to share what I feel are some valid use cases. Alas, portability is not the only reason, but is one.

* Software installation/configuration knowledge remains solely in existing Chef/Puppet/etc. code-bases. Dockerfiles can add another format for software to be "installed" (or "packaged" if you prefer). Packer + Docker allows you to use your existing expertise, CI process, etc in order to create these containers.

* Common "image" configuration format: again Dockerfiles represent a Docker-specific way of building images. This is all well and good, but it is still very common to have multiple types of images (AMIs, Docker containers, VirtualBox, etc.). In a world where Docker isn't used everywhere, it is a burden to maintain multiple methods of building images. Packer provides a single way to do it that is flexible to multiple platforms. And even if an org decides to transition completely to Docker, Packer helps get them there. Perhaps they want to switch to Dockerfiles after that, but there is still point #1 above.

* Portability: Packer represents a low-risk way to adopt Docker containers, if you use Docker. Dockerfiles are somewhat of an "all-in" approach to Docker. If you don't like Docker, or Docker isn't good for this specific use case (yet, or ever, doesn't matter), then Dockerfiles have to be translated over to another format. As I'm sure you know, big IT is all about minimizing risk when adopting new technologies (actually, a top point to NOT adopt new technologies that we have to fight!). Packer represents a way to say "yes, Docker is new, but Packer provides a pretty low-risk way to get into it. Let's first build vSphere images, like you're used to, and see how those transition to Docker containers. If you don't like it, we still built automation to build vSphere VMs!"

* Extensibility: Packer is very plugin-friendly. You can hook into almost anything. This allows some nice plugins to exist to help augment the process for building images, whether they be containers or not. If Dockerfiles don't support a command to do something, then Packer plugins can very easily do that for you. Maybe it doesn't make sense for this certain feature to be a core feature of Dockerfiles, OR Packer. Either way, it doesn't matter, because the org can just build a plugin for themselves and use it internally. No harm done.

* Process friendliness: In addition to the portability above, centralizing on Packer for image creation is 1..N less processes to adhere to. Docker has a different process for building containers. Aminator has a different process. Every new process is a new special snowflake CI handler to run them, new education for employees, new maintenance. By using Packer, you can use the same CI runners/parsers/steps (Bamboo, Jenkins, etc.) to build any sort of image.

And to answer your question on "what does a Packer config file look like" here is a basic, but fairly typical config file:

        {
          "builders": {{
            "type": "docker",
            "image": "ubuntu",
            "export_path": "image.tar"
          }],

          "provisioners": [{
            "type": "shell",
            "scripts": ["base.sh", "nginx.sh"]
          }]
        }

Pretty simple. Easily human and machine editable/readable. Also, if you happened to want to build an AMI too, it is not much different. And finally, if you use Chef/Puppet/etc, you can just drop that in there, and it works just like you'd expect. Packer even installs Puppet/Chef for you (if you want)!

I hope that clears things up. Packer has been helping with adoption of Docker for many people I've helped! I think its clear from my work on Vagrant and Packer (and some future stuff), that the one thing I try to avoid is lock-in of any sort. I focus instead of human process, rather than technical specifics. You can argue that Packer itself is a lock-in format, but the point is that its a single similar format for many. Its agenda is to be as helpful to as many projects as possible that need images, and not to discriminate in any way.

And to address the grandparent (I'll comment directly on that to): with regards to speed, we're working on what we're calling "snapshotting" functionality in Packer now. With this, Packer will snapshot containers at various points in the build process, just like `docker build`. So when you run a `packer build`, it'll start only from the point it needs to, rather than from scratch. A cool thing is that this feature will extend to all the other builders, too, so if you're building a VirtualBox VM from an ISO, for example, it won't reinstall the OS if it doesn't have to. Cool stuff.

<comment><AUTHOR> So, does this mean I am asking the wrong question? Are AMIs less relevant now that we have containers?

My sense was Docker was the future, but AMIs are the present. Perhaps that is wrong?

</comment></comment></comment></comment><comment><USER5> I create an AMI with a bare minimum OS. Then I use a configuration management tool to install all software packages, libraries and configurations. My new favorite is Ansible (ansibleworks.com) but Chef and Puppet are others.

Updates are easier this way versus having to rebake images.

<comment><AUTHOR> Easier in what sense? Baking, deploying, or managing the AMIs?

Also, are you using AutoScaling Groups with this methodology?

<comment><USER5> I think more flexible is a better word -- it can do more than what you can do when you bake a static image because you also use it to dynamically manage a running system post-boot.

Ansible can deploy all of your dependencies, keep them updated, push out configuration changes, and deploy your main application code.

I don't use AutoScaling, but no reason it couldn't be used with Ansible. The docs have a bit of detail on how to do it. [http://docs.ansible.com/guide_aws.html](http://docs.ansible.com/guide_aws.html)

<comment><AUTHOR> I wrote the EC2 inventory plugin, so yes, I am a big fan of Ansible. I however, now use Ansible almost exclusively to build AMIs. Do your application code deploys require downtime, or do you have a technique to keep the service online while making changes?

I highly recommend you start using ASGs. It is only a matter of time before things go bad if you don't.

</comment></comment></comment></comment><comment><USER6> I use Ansible for all configuration management. Boxes that belong to ASGs use Ansible to create a pre-baked AMI, while the rest are just handled with Ansible on a case-by-case basis.

<comment><AUTHOR> Are you using the Aminator or Packer Ansible provisioners, or do you have another technique for building those AMIs?

<comment><USER6> Right now I'm just using an ansible playbook to provision the box, create the AMI, and destroy the box within a playbook.

In the near future I plan on moving to Packer since it's the perfect tool for the job.</comment></comment></comment>


GDPR and third party risk - <AUTHOR> https://cybelangel.com/en/news/gdpr-and-third-party-risk-facebook/ <comment><USER2> > If only it were that easy to completely rule out third-party risk! For one > thing, some ecosystems are so complex that it is far from clear who is > responsible for what.

Bullshit. Nobody forced you to use sub-sub-subcontractors.

And the idea that some ecosystem is too complex for Facebook is laughable!

If an ecosystem is too complex for you, a smaller company, stay away! I don't do deep-sea diving. So you don't have to engage in ethically problematic deals.</comment>


Introducing the Google Internet Stats site... - <AUTHOR> http://googlebarometer.blogspot.com/2010/05/introducing-google-internet-stats-site.html

<comment><USER2> Clicking on the "Random statistic" link, I got this one: _YouTube is the 2nd largest search engine globally. It is estimated that there were 17 billion search queries on YouTube in August 2009_</comment>


Any more hackathons this year? - <AUTHOR>

Are there any hackathons going on for remainder of the year? <comment><USER2> There's the HackNY hackathon at least:

<http://hackny.org/a/>

That's happening tomorrow, though, so it's a bit short notice.</comment>


Peak Pharma - <AUTHOR> https://undark.org/article/peak-pharma-drug-discovery/ <comment><USER2> Just like "peak oil" was undone by fracking this will be proven to be untrue by the wave of drug discovery startups that will decrease discovery time.

1) [https://www.atomwise.com](https://www.atomwise.com) 2) [https://www.recursionpharma.com](https://www.recursionpharma.com)</comment>


Only for non-hackers: How do you benefit from Hacker News? - <AUTHOR>

I have been using Hacker news since its launch. although i am not a coder i can say that i benefit from it tremendously.  i get to stay up to date and i  try to apply some of the lessons i have learned here to my email startup. the best lessons i have learned come from startups which launched here and asked for feedback. how are you (hackers not allowed) benefiting from HN? you can give one example if you like. <comment><USER2> Finally something I'm qualified to comment on! Like you, I'm not a coder but I read Hacker News frequently. I have started 2 web-based businesses, so I like talking to coders and finding out what they're working on. It's a great source of inspiration for the next idea. I also have to admit that there's a part of me that wishes I would have learned to write code so that I could do more prototyping on my own. I have a lot of respect for a software programmer that designs an elegant solution to a problem that we've identified.

<comment><USER3> Try not calling us coders, I don't know any programmer/developer who likes being called a coder.

<comment><USER4> Yes, I prefer "code ninja".

<comment><USER5> when I see those "code ninja needed", posts, it just makes me laugh. Juvenile at best, idiotic at worse. It is hard to take those companies that do that seriously.

Tell me, what does a code ninja do? Write fast and crappy code, and disapear, so some other poor soul have to maintain it? Crash the whole server with two lines of recurisve calls? Check-in code so stealthy that Subversion doesn't even detect it?

Ps. I noticed the "code ninja" trend, with the raise of Ruby on Rail. It is everytime I have seen, it has been a posting for either Ruby, or Php job.

<comment><USER6> Well...I'm a code pirate. So there.

And I'm fine being called a coder, it doesn't really matter what we're called right? Its more about what we do ;)

</comment></comment></comment></comment></comment><comment><USER7> I get references to lots of great blog posts, online tools, and news items that allow me to stay informed about important issues in the tech and programming worlds. This has saved me countless amounts of time, since I'm able to act as if I know what I'm talking about without ever having to put in any effort/thought of my own. Thanks Hacker News! :)

</comment><comment><USER8> I work in public television and like the thoughtful articles and threads on trends in media and meta-cognition (like the "how do you learn" thread). I don't code, but have have mad respect for the hackers.

<comment><USER6> Well...I'm a programmer, not a hacker. So do I count?

YC is how I get my tech news. Just YC, Slashdot and Engadget for me.

<comment><USER9> i think everyone here assumes hackers means programmers..and also sometime those who build stuff often creatively..the word hacker i guess is much abused by the media to refer to whom most hackers call crackers

</comment></comment></comment><comment><USER10> I don't read any other tech news. This source is generally the stuff that matters.

It also lets me see what are the new trends to spot in the web industry.

Lastly, it teaches me how to think like a hacker, which gets me closer and closer to being useful at our early stage.

</comment><comment><USER11> if you're not a hacker, you have to at least understand technology and be able to hold your own in tech conversations. hacker news is the best resource to do that.</comment>


Ex-Nasdaq CEO warns: Recent IPOs unclear profit path reminds him of tech bubble - <AUTHOR> https://www.cnbc.com/2019/10/07/ex-nasdaq-ceo-bob-greifeld-recent-ipos-remind-him-of-dot-com-bubble.html <comment><USER2> > Greifeld referenced the WeWork IPO, which was pulled last week after a > summer of volatile headlines about slashed valuations, confusing corporate > governance, and a more than $900 million loss for the first six months of > 2019.

IPO costs are always part of the expenses of all listed companies as soon as they announce their first earnings call. The fact that this "tech startup" has a loss of $900 Million+ in 6 months alone even before it has been listed, is really testing the limits of how much the IPO markets can tolerate with chronically unprofitable companies like this.

> "If you can show profitability, you'll be fine ... At the end of the day, > you've got to take away the hype."

Its a definite red-flag for a late investor to foolishly buy an unprofitable tech stock in 2019, even at its IPO price. As there are too many so called "tech startups" with weak portfolios are rapidly floating on the markets now have to return that raised capital back to those early-stage investors. Otherwise, when this IPO bubble bursts, startups who show no signs of profitability are completely toast.

Everyone except, profitable startups and lucky early stage investors will survive.

</comment><comment><USER3> How is this anything like the tech bubble when all of these big IPOs this year have cracked instantly and subsequently remained below their offering price?</comment>


Performance patches in Go 1.11 - <AUTHOR> https://docs.google.com/presentation/d/1tpeJZFObkeick4CF-mx0L3CeCgvT15B96aJeRpxEPcE/edit?usp=sharing <comment><USER2> Cool stuff. It's nice to have a somewhat mainstream language using its own backend instead of llvm. You can in fact get pretty far by tailoring your compiler to your specific needs. You end up with much less code, it's also easier to make it fast.

You do cut yourself of from the more advanced optimizations simply for man- hour reasons. I'm guessing it's a trade off they are willing to make.

I have to say that I really dislike the kind of large pattern matching they added for the hash table clear. C compilers do that as well for e.g. memset/copy or bit rotate instructions.

IME it's really brittle and would be more beneficial as some kind of a lint ("you could replace this bunch of code by a call to clear()").

It makes the code simpler and won't inexplicably slow down next time someone does a tautological refactoring.

<comment><USER3> Go actually doesn't have any other way to clear a map!

<comment><USER4> _Go actually doesn 't have any other way to clear a map!_

Which, actually, is brilliant design! Now, I can find all map clearings with one operation. (I need to implement that syntactic search/rewrite tool I miss from Smalltalk.)

<comment><USER5> How is not having map.clear() a brilliant design?

<comment><USER4> In a large project, you'll have all ways of doing any given thing represented in a code base. Reducing that number down to 1 means that searching for all occurrences is reduced to 1 operation. If you are working on a large project, searching for usages/senders/occurrences is one of the most common tasks that you do. In fact, using escape analysis of the same kind used for "Extract Method" refactorings, you can even catch clearing interspersed with other code in the for-range loop.

A 50%+ reduction in programmer work is nothing to be sneezed at.

</comment></comment></comment></comment></comment><comment><USER6> These are some really cool optimizations. It is nice that they're letting you put these in, and it's always kind of bugged me that they won't do some basic optimization of their util classes - like ReadDir sorting by filenames by default, removing one line of code can speed it up 800% on large directories iirc, but they won't honour the pull requests. The argument being "it's a util class, if you don't like it, don't use it.'. Whilst this is true, IMO the stdlibrary/common functions should be as quick as possible, with anything extra bolted on (within reason - sorting names being an obvious one). I wouldn't expect to have to read the actual source code in order to try and optimize, but i guess i'm wrong here ¯\\_(ツ)_/¯

<comment> grey-area They take the Go 1 promise quite seriously and do try not to change existing behaviour, which is a good thing. I'm quite happy about that, because otherwise we'd see far more breaking changes, and it'd be painful to develop large apps on top of the stdlib. Perhaps in Go 2 they'd be open to changing it or moving ioutil out of the stdlib, but I'm quite sure someone somewhere depends on the ordering, and you're complaining about a 10 line function, you could just copy it out and remove the offending line:

        func ReadDir(dirname string) ([]os.FileInfo, error) {
    	f, err := os.Open(dirname)
    	if err != nil {
    		return nil, err
    	}
    	list, err := f.Readdir(-1)
    	f.Close()
    	if err != nil {
    		return nil, err
    	}
    	return list, nil
        }

I much prefer a language and stdlib that stays stable over years, even at the cost of some nice new features/improvements - the place for code to move fast and break things (if you like that sort of thing) is much higher up the stack.

<comment><USER6> That's exactly what I did. The problem I was trying to address is you shouldn't have to expect to read into the stdlib to optimize the code. Adding a ReadDirNoSort (as suggested in the initial 2012 pull) wouldn't hurt anyone.

<comment><USER7> There are more optimizations than that that you could probably use if you want fast ReadDir.

Golang's ReadDir reads directory entries, stats all files, and sorts the list. If all you want is the directory entries directly, try godirwalk (also much faster for walking!): [https://godoc.org/github.com/karrick/godirwalk#ReadDirents](https://godoc.org/github.com/karrick/godirwalk#ReadDirents)

</comment></comment></comment></comment><comment><USER8> The ModInverse and GCD improvements will be very welcome in a demo I just wrote for trustless card playing[0].

I'm beginning to wonder if there will become more value in "lifting" binaries to LLVM IR, applying all opts to them, and re-compiling them. McSema does this[1] albeit you have to setup IDA and what not. Has anyone applied this to Go programs and measured its benefits for their specific use cases?

0 - [https://github.com/cretz/go-mental-poker](https://github.com/cretz/go- mental-poker) 1 - [https://github.com/trailofbits/mcsema](https://github.com/trailofbits/mcsema)

</comment><comment><USER9> They mention VictoriaMetrics, a time series metric database - is it open source? I couldn't find any reference to it on google

<comment><USER10> It even claims it's the fastest time series db. Is it faster than kdb+? I'm skeptical.

</comment></comment><comment><USER11> Looking at Slide 7: doesn't LLVM do function-inlining, presumably with quite well-tuned heuristics? What's the advantage in having the frontend side of the compiler doing it too?

Or am I wrong, and does LLVM not do inlining?

 _Edit: I 'm a silly person, Go doesn't use LLVM. I've been wrong about that for some time!_

<comment><USER12> LLVM does do inlining (it's the most important optimisation you can implement, at least for native codegen), but the reference Go implementation (gc) does not use LLVM, the entire toolchain is custom.

On the one hand, that allows very fast compilation & codegen, on the other hand the optimisations are fairly limited. It also doesn't benefit from improvements done by other users, but doesn't saddle you with their issues[0].

There's also a Go implementation on top of GCC (gccgo), however while it generates high-quality code historically it wasn't really better than gc due to lacking escape analysis (so it did a ton more heap allocations than the reference) and having a lackluster GC.

[0] Rust has had its own LLVM fork for as long as the project has existed, for both fixing issues it hit which haven't yet been fixed upstream and implementing features it needs which have not been or can not be upstreamed

<comment><USER13> I am always torn in such approaches, in one way it means throwing away decades of code optimization.

On the other hand, in a world that devs only believe in stuff when others actually implement it in production, it is nice to see that their toolchain is self sufficient without the usual C or C++ dependency.

Many language designers opt for implementing their toolchains in C or C++ just for mere convinience, and it is ok so.

However it creates the wrong perception among those without compiler development knowledge, that C and C++ are the only way to implement a toolchain.

<comment><USER12> Seems to me these are orthogonal concerns, LLVM is in C++ but the question I answered was about using LLVM versus implementing a custom toolchain, not implementing a custom toolchain in C++ versus some other language.

<comment><USER13> Agreed, maybe I expressed myself badly, but that was still kind of my point.

</comment></comment></comment></comment></comment><comment><USER14> The newly introduced prove pass is probably the biggest game changer. And it provides a ground work for new optimizations to be done on top of it.

<comment><USER15> Prove was already there, what we did is to improve it to eliminate even more bound checks.

PS: I'm the author of those prove patches.

<comment><USER16> This is what I like about HN :)

How did you prioritize which BCE's to include? (Or were these all that had a ticket?)

<comment><USER15> I wrote a Nintendo DS emulator in Go (see my GitHub) and ended up seeing lots of missing optimizations in generated code. I opened a few tickets and then focused on BCE. I realized that one of the main problems was the missing transitivity of the pass, so I ended up writing a largish piece of code to implement a partial-order set (see the poset data structure) and then picking on a few low hanging fruits that it opened up to be picked (searching for open tickets on GitHub issues). These were my first contributions to the SSA passes btw.

</comment></comment></comment></comment><comment><USER17> This was my favorite part:

>This is fun and is easier than optimizing gcc / llvm, since the majority of the Go compiler, runtime and standard library is written in Go

</comment><comment><USER18> That's great! I'm curious how much these optimizations slow down the compiler, if any? I remember something about Go only adding optimizations if the amount they increased the speed of the binary meant that compilation speed was sped up too (but don't have a source for that right now, and doubt it's generally true).

</comment><comment><USER19> Is there a recording of this presentation by any chance?

<comment><AUTHOR> Unfortunately no. The presentation was shown on the Kyiv Go Meetup - [https://www.meetup.com/uagolang/events/251712321/](https://www.meetup.com/uagolang/events/251712321/) and it was in Russian. I didn't notice any recorders during the presentation.

<comment><USER19> Too bad, thank you regardless :)

</comment></comment></comment><comment><USER20> Is there a good guide to the go compiler anywhere, that outlines all the stages from source code to assembler to binary?

<comment><AUTHOR> See [https://github.com/golang/go/tree/master/src/cmd/compile](https://github.com/golang/go/tree/master/src/cmd/compile) and [https://github.com/golang/go/blob/master/src/cmd/compile/int...](https://github.com/golang/go/blob/master/src/cmd/compile/internal/ssa/README.md)

</comment></comment><comment><USER21> IIRC the mapaccess improvement had to be rolled back. There was a bug in it. Not sure if it will make this release.

<comment><AUTHOR> Not yet. There is a fix for the bug - [https://go- review.googlesource.com/c/go/+/120255](https://go- review.googlesource.com/c/go/+/120255) .

</comment></comment><comment> cup-of-tea Is this really the best format to post this in?

<comment><USER11> Imperfect, but not so bad.

If the slides are available today, and are viewable in a web-browser, I don't mind too much. Presumably it's either this or nothing.

If there's already a finished blog post in conventional format, then sure, no sense linking to a slideshow.

<comment><USER12> > Imperfect, but not so bad.

It's pretty bad. More so because Google Slide has a PDF export, but despite every browser having a built-in PDF viewer they force the download.

<comment><USER11> But what's the problem?

It's JavaScript-heavy and all that, but it works fine, no?

<comment><USER12> That slides are very content-sparse. Being able to display the decks as a single continuous document and with several slides per screen makes what little information it contains much easier to go through (and back to if necessary).</comment></comment></comment></comment></comment>


Go 1.15 Released - <AUTHOR> https://golang.org/dl/ <comment><USER2> I think the link should be changed to the 1.15 release notes (now published): [https://golang.org/doc/go1.15](https://golang.org/doc/go1.15) \-- these are much more interesting and useful.

<comment><USER3> Yes, I agree. No point on linking to the download page, most people use their package manager to update their Go installation.

<comment><USER4> I'm curious which package managers / repositories allow you to update to the latest version of go as soon as it's released * ?

* In any remotely trustable and reliable way; random PPAs relying on somebody's free time don't count, IMHO.

I've noticed Ubuntu, Debian, Centos, and Oracle Enterprise Linux are always trailing by quite a clip. Often years.

The strategy I've been using is to just manually install it on the machines where I need it. The production go versions only get updated as required.

<comment><USER5> > I'm curious which package managers / repositories allow you to update to the > latest version of go as soon as it's released * ?

Arch Linux.

I just saw the release when I was checking for updated versions of packages I maintain, and built it before users started bugging me about outdated go binaries.

[https://www.archlinux.org/packages/community/x86_64/go/](https://www.archlinux.org/packages/community/x86_64/go/)

<comment><USER6> I continue to love how this works out with security updates too. I usually get new browser and kernel versions after particularly bad CVEs within a few hours from the upstream release.

</comment></comment></comment></comment></comment><comment><USER7> Caddy binaries on Linux shrink by ~2.5 MB with Go 1.15! (~33 MB down to ~31 MB)

3 MB savings on Mac, and 2 MB on Windows: [https://github.com/caddyserver/caddy/pull/3642#issuecomment-...](https://github.com/caddyserver/caddy/pull/3642#issuecomment-669929674)

So about 8-10% reduction.

<comment><USER8> I'm so confused by this. Given the context that Go primarily targets, which is daemon services running on server class machines, binary size, so long as it's not totally absurd, is almost completely irrelevant. Is it like a code golf thing? Why do you care?

<comment><USER9> These days, server-class machines are often ephemeral and spun up-and-down based on demand. At work, I operate services that have 2 GB of Java code packages, and others that use a single 10 MB Go binary. Guess which one can scale up much more quickly to handle increased demand?

<comment><USER10> Obviously.

...but the point being made is at 10% reduction, a 9MB and a 10MB binary are indistinguishable.

They scale almost identically.

so... it seems a bit like premature optimisation to devote such a large amount of effort to what appears to be a win that affects virtually no one except those few (FANG) who deploy to thousands of services daily.

</comment></comment></comment></comment><comment><USER11> > _There are no changes to the language._

Are there other mainstream languages that are as conservative as Go when it comes to adding new features?

I don't love Go as a language, but coming from C++ and Python, both of which have non-stop accumulation of features (and complexity), Go's _philosophy_ is a breath of fresh air.

<comment><USER12> The Go 1.x compatibility promise is one of Go's best features.

<comment><USER13> Yes.

Though, I wonder how much more the language could be improved if it weren't tied down to the bad decisions of the past. Those must all continue in perpetuity while the compatibility promise is kept.

<comment><USER12> Not in perpetuity. Go 2 does not promise to be backward compatible.

<comment><USER14> The current Go 2 drafts do.

</comment></comment></comment></comment></comment><comment><USER15> > Changing the -timeout flag now invalidates cached test results. A cached > result for a test run with a long timeout will no longer count as passing > when go test is re-invoked with a short one.

I'm glad this is fixed! That will make life that one bit less annoying.

</comment><comment> ainar-g Announcement E-Mail: [https://groups.google.com/forum/#!topic/golang- announce/Z-cY...](https://groups.google.com/forum/#!topic/golang- announce/Z-cY6ZdGdEU).

Official blog post: [https://blog.golang.org/go1.15](https://blog.golang.org/go1.15).

Some fixes already planned for Go 1.15.1: [https://github.com/golang/go/milestone/162](https://github.com/golang/go/milestone/162).

</comment><comment><USER16> > The compiler's -json optimization logging now reports large (>= 128 byte) > copies and includes explanations of escape analysis decisions.

This sounds interesting.

<comment><USER17> I haven't found any more info about this feature. Anyone have better search skills than me?

<comment><USER18> As far as I understand, it's only about including more information in the compilers json output. But that information was already available in non-json output in previos Go versions.

To get explanations on the optimization decisions by the compiler build your package with:

        go build -gcflags="-m -m"

See also:

        go tool compile -h
        go doc cmd/compile

<comment><USER17> Thanks.

</comment></comment></comment></comment><comment><USER19> Release notes -> [ [https://golang.org/doc/go1.15](https://golang.org/doc/go1.15) ] <-

Blog post -> [ [https://blog.golang.org/go1.15](https://blog.golang.org/go1.15) ] <-

So much good stuff in this release, COVID notwithstanding, including an extremely improved linker and smaller binaries. Definitely the best Go release ever :)

Here's some details on the changes in the corner of it that Katie and I take care of.

The long deprecated Common Name field on X.509 certificates is now ignored, reducing complexity and removing a gnarly conflict with Name constraints. Public CAs are unaffected, the only major service that broke was AWS RDS, and they've been awesome and fixed it in time for the release (but customers need to regenerate certificates). I honestly did not expect this change to make it and I am thrilled about it and what it means for keeping the Go X.509 ecosystem modern and secure. [https://github.com/golang/go/issues/39568#issuecomment-67142...](https://github.com/golang/go/issues/39568#issuecomment-671424481)

crypto/tls Configs now have a spiffy VerifyConnection callback that runs for all connections (which is easier to think about than VerifyPeerCertificate) and that gets passed a ConnectionState. This was Katie's idea to make the callback have access to SCTs and stapled OCSP (which makes it possible to write verifying callbacks for those, although we are working on built-in suppport!) but I also love how it delivers the parsed certificates and makes it trivial to customize verification. [https://golang.org/pkg/crypto/tls/#example_Config_verifyConn...](https://golang.org/pkg/crypto/tls/#example_Config_verifyConnection) [https://golang.org/cl/229122](https://golang.org/cl/229122)

What I should have started with: session ticket keys and session tickets are now rotated automatically without any impact on the application :sparkles:, greatly mitigating the main weak link in the forward security chain of TLS 1.2. :happydance: This is a. big. deal. [https://blog.filippo.io/we-need-to- talk-about-session-ticket...](https://blog.filippo.io/we-need-to-talk-about- session-tickets/) [https://golang.org/cl/231317](https://golang.org/cl/231317) [https://golang.org/cl/230679](https://golang.org/cl/230679)

Besides deprecating Common Name, X.509 verification also now has a consistent story on how to handle invalid hostnames: they are matched case-insensitively 1:1 to certificate fields without wildcard or trailing dot processing. There is no spec that says what to do with them, so we had to come with a policy that is predictable, doesn't break applications, but can be implemented securely. It was amazingly difficult. [https://golang.org/cl/231378](https://golang.org/cl/231378) [https://golang.org/cl/231380](https://golang.org/cl/231380) [https://golang.org/cl/231381](https://golang.org/cl/231381)

crypto/ecdsa now has SignASN1 and VerifyASN1 functions that do what Sign and Verify should have done all along and operate on byte slices instead of big.Ints. [https://golang.org/cl/217940](https://golang.org/cl/217940)

There is now a function to make RFC 5280-compliant X.509 v2 Certificate Revocation Lists. [https://golang.org/cl/217298](https://golang.org/cl/217298)

Public and private key types now have an Equal method that works with go-cmp, and lets you make your own non-empty PublicKey interface. [https://golang.org/cl/231417](https://golang.org/cl/231417)

crypto/elliptic now has functions to marshal and unmarshal compressed elliptic curve points. Too many people had to implement this one! [https://golang.org/cl/202819](https://golang.org/cl/202819)

math/big.Int now has a method that makes me extremely happy. FillBytes takes a fixed size buffer and puts the value in it, which is both more performant, and saves annoying padding steps in most crypto applications. If you ever had a bug that only happened 1/256 of the times because you were not adding the padding zero at the beginning if the value happened to be small, this is for you. You know who you are, remember that the support group this week meets on Wednesday not Thursday. [https://golang.org/cl/230397](https://golang.org/cl/230397)

Finally, Cthulhu. On macOS we now use the system root store even if there's no cgo, by calling straight into Security.framework with... there's assembly involved, that is all. This code is my nemesis, so it was all worth it. [https://golang.org/cl/227037](https://golang.org/cl/227037)

And more! Check out the release notes. I also plan to write in details about the changes on my newsletter, like I did for Go 1.14.

[https://buttondown.email/cryptography- dispatches?tag=hn](https://buttondown.email/cryptography-dispatches?tag=hn)

<comment><USER20> > On macOS we now use the system root store even if there's no cgo, by calling > straight into Security.framework with... there's assembly involved, that is > all.

I feel like I'm developing an addiction to hacks like this. Ever since I started to gain a more intuitive understanding of calling conventions and C/++ ABI I've been doing asm calls into MSVC functions and manually laying out COM vtables in pure Go. It's powerful as long as you have reasonable assurances the ABI rug won't be pulled from under you!

</comment></comment><comment><USER21> > When the flag package sees -h or -help, and those flags are not defined, it > now prints a usage message. If the FlagSet was created with ExitOnError, > FlagSet.Parse would then exit with a status of 2. In this release, the exit > status for -h or -help has been changed to 0.

This is nice. I basically only write small CLIs with Go and don't explicitly define help flags. I always wondered why it returned an exit code of 2.

</comment><comment><USER22> Anyone know why [https://go.dev](https://go.dev) still has a download link for "1.14.6", and there's no mention of it over at golang.org?

<comment> ainar-g That website is updated separately, if I recall correctly. It will probably be updated later today.

</comment></comment><comment><USER23> Where are signatures for these binaries published?

<comment><USER24> I've always been a bit confused as to what the attack vector those protect against is for self-hosted packages (i.e. not torrents, third party hosting services, etc.). If the attacker is able to coerce the web server into sending a compromised package when you `GET [https://dl.google.com/go/go1.15.src.tar.gz`](https://dl.google.com/go/go1.15.src.tar.gz`), couldn't they just as easily send a compromised checksum when you `GET [https://golang.org/dl/`](https://golang.org/dl/`)?

<comment><USER25> With very large, very important downloads, I also appreciate a quick check that no corruption or loss was involved in the download for benign reasons either.

<comment><USER26> Has this actually happened to someone in the last 10 years?

<comment><USER25> Yes, I've had it happen. Not in subtle ways - usually a size check would show that something is very wrong anyway, but I appreciate the peace of mind. I usually like to bake a check into automation and had that catch things like the binary being replaced by a 404 page, etc... When I update the version I pull, I also update the checksum.

</comment></comment></comment></comment></comment><comment><USER27> It seems it hasn't received a blog post/entry in the release history yet

<comment><USER28> Will be similar to what's in the tip: [https://tip.golang.org/doc/go1.15](https://tip.golang.org/doc/go1.15)

<comment><USER27> Thanks, I was not aware of that subdomain

</comment></comment></comment><comment><USER29> "There are no changes to the language."

Rob Pike is the ultimate troll.

<comment> ainar-g What do you mean? Go has been known for its philosophy of "Boring is Good". Lots of releases these days come with either no changes to the language or some very minor ones.

<comment><USER30> > Boring is good.

Until you reach channels and realize that mantra apparently went out the window at some point.

<comment> ainar-g Can you elaborate? I'm asking because I've almost never had any issues with channels.</comment></comment></comment></comment>


Ask HN: How hunter.io, rocketreach.co and neverbounce.com verify emails? - <AUTHOR> These services can verify whether certain emails exist. How do they do it? It cant be that theyre sending emails and wait for them to bounce? <comment><USER2> From [https://hunter.io/email-verifier](https://hunter.io/email-verifier) :-

* Valid format: First, we verify the format of the email address is correct and looks something like "firstname.lastname@example.com".

* Gibberish Email Address: We check to ensure the address doesn't look like a random email address. For example, firstname.lastname@example.com * doesn't pass the test.

* Disposable Email Address: We check if the email address has a domain name used for temporary email addresses.

* Webmail Email Addresses: We verify if the email address uses a webmail like Gmail or Yahoo.

* Presence of MX Records: We check if there are MX records on the domain. If there aren't, the email address can't receive emails.

* Presence of SMTP Server: This check is successful if we are able to connect to the SMTP server (indicated in MX records).

* SMTP Check: We test the email address and see if it bounces or not, without sending an email.

* Accept-all Domain: We check if the server has a catch-all policy which accepts all the email addresses.

For the "SMTP check", they will be doing something like this, programatically: [https://www.labnol.org/software/verify-email- address/18220/](https://www.labnol.org/software/verify-email-address/18220/)

<comment><AUTHOR> So its that simple? Few lines of code?</comment></comment>


How do not disturb day can improve your productivity? - <AUTHOR> https://medium.com/@sathishvista/how-do-not-disturb-day-can-improve-your-productivity-5d5c43c85bf5 <comment><USER2> One of my previous jobs was at this company which was very inefficient with people's time. Everyone had access to everyone elses calendar and they'd keep booking your time in meetings so your calendar ended up like Swiss cheese - lots of 30 minute holes that were absolutely inadequate for getting any work done.

What I started to do was doing what this article mentions, but just for me - blocking out 2hr meetings every other day "with myself" in my calendar weeks in advance just so I can have a dedicated time to work.

<comment><AUTHOR> Blocking 2hr meetings in the calendar is a good idea. Companies should start managing employees time efficiently.</comment></comment>


"You Wouldn't Base64 a Password!" Cryptography Decoded (for Devs) - <AUTHOR> https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-password-cryptography-decoded#resubmit

<comment><AUTHOR> In case anyone didn't catch it, the title is a reference to a meme:

        You wouldn't DOWNLOAD A CAR!</comment>


The Unbearable Accuracy of Stereotypes [pdf] - <AUTHOR> http://www.rci.rutgers.edu/~jussim/unbearable%20accuracy%20of%20stereotypes.pdf <comment><USER2> This is an academic exercise, as it implicitly accepts that there are natural "groups" in which members share the same attributes and as a result individuals within those groups can be expected to either 1) act together or 2) if apart act in a similar way as individuals. In fact there is nothing of the sort, groups are a creation of the social mind and the individual elements may or may not behave similar as individuals.

The brain naturally makes heuristics and clusters items that it finds similar into the same group. "Stereotypes," which may be globally common traits but are attributed with higher weight to certain socially constructed groups, can memetically reinforce those groupings by making them more cognitively "available."

There is no rational solution to this - as it's a biological process. Like Beer, pattern matching and grouping is the cause of and solution to all of our problems.

</comment><comment><USER3> I think the population is a distribution and stereotype is the (estimated) mean of that distribution. So it has its right and wrong.

<comment><USER4> The most innocuous stereotype I can think of, is the 'typical' French stereotype of a man in beret and a black and white striped jumper cycling around with a baguette, an onion garland necklace, smoking gauloisies. Some stereotypes bear no relation to the estimated mean.

<comment><USER5> Except no one actually thinks that stereotype is true or still relevant. And I am certain at least some aspects of that stereotype were rooted in french fashion of the era.

<comment><USER3> yeah, i watch some old french film, wearing beret was a real thing, especially for artists. anyway, fashion comes and goes, that stereotype might have become obsolete.

</comment></comment></comment></comment><comment><USER6> Whilst personally I believe stereotypes can be accurate (mostly as the outcome of self-fulfilling prophecies), I would question this research. Take a look at the studies listed on page 10, each of the studies looks at a different question about stereotypes, with the answer based on the response of a few hundred people (maximum was around 700). Furthermore, the people used for the studies are all college students. I wouldn't trust the scientific accuracy of any data on human opinion that relied on such small data sets, especially when the people being questioned are from a non-representative slice of society.

<comment><USER7> Not trying to be offensive, but did you feel the need to add the statement abut self-fulfilling prophecies because making a bare claim like "I believe in some stereotypes" is so politically sensitive that you're afraid of being judged as a racist or sexist? This is similar to the sort of complains the author has about older research into stereotypes assuming they were inaccurate without testing them - no doubt they made that assumption to protect themselves from allegations of racism/sexism/etc.

The self-fulfilling prophecy argument is a way to say "OK, they might be true, but the blame lies with some other group of oppressors and it's still not an innate quality of the subjects themselves, so it's still not really fundamentally true.". Why shouldn't it be an innate quality? Maybe women really do earn less than men because of something different in how men and women earn money, not because men oppress women with their stereotypes.

Without research, I don't think it's any more reasonable to say "stereotypes are mainly accurate because they're self-fulfilling prophecies" than to say "stereotypes are mainly accurate because groups of people are naturally different.".

<comment><USER6> > "Without research, I don't think it's any more reasonable to say > "stereotypes are mainly accurate because they're self-fulfilling prophecies" > than to say "stereotypes are mainly accurate because groups of people are > naturally different."."

First of all, calm down, I'm not here to argue with you.

I made a statement about what I believe. I assumed that using the word 'believe' would make it clear that I was stating a personal opinion, it seems that wasn't clear enough.

An important difference between my personal opinion and the science in the linked article is that I never attempted to pass off my opinion as scientifically proven. If the linked article had merely stated some compelling evidence to consider, then I wouldn't have bothered replying. My argument against it is that it makes large claims based on very limited evidence. Perhaps that's the best evidence we have so far, but I certainly wouldn't say it's in any way strong enough for the conclusions being pointed to.

As for my own beliefs, I don't think they're controversial, nor am I attempting to hide anything. I believe that stereotypes can (note: not in all cases) be true because they become a self-fulfilling prophecy. How so? By setting expectations on accepted behavior.

Consider the following: It is a common stereotype that men are more prone to have stronger sexual urges, and this is used to excuse many different behaviours. Sexual objectification of women is one such behaviour, we see this as normal because of the stereotype that men are overwhelmed by such stimulus, and so cannot be held as responsible for such behaviour. The more common the stereotype becomes, the more people use the stereotype to set expectations, which influences what becomes normal for the group in question, regardless of whether it was originally true or not.

<comment><USER7> It's OK to argue. That's how we learn to see different viewpoints, rather than pretending to agree for sake of making everyone happy.

I see you're talking about what I would call culture or customs, rather than the broader range of qualities that stereotypes can include - things that might (if they were true) apply to those same groups across different cultures.

There's a kind of moral leap people are making if they say "Men have a harder time controlling their sexual urges, therefore it's OK for men to objectify women." You could still have the same stereotype with a different conclusion by saying "Men have a harder time controlling their sexual urges, so we should be more vigilant about men when we're trying to catch somebody objectifying women." This seems to be how it ended up with blacks and crime. I'd say the outcomes that we don't like don't require the stereotypes, so the stereotypes themselves aren't harmful and it's OK if they turn out to be fundamentally true.

<comment><USER6> > "It's OK to argue. That's how we learn to see different viewpoints, rather > than pretending to agree for sake of making everyone happy."

Discussion is fine, disagreement is fine, but arguing is more than just disagreement. If we can discuss respectfully then we can continue.

> "This seems to be how it ended up with blacks and crime. I'd say the > outcomes that we don't like don't require the stereotypes, so the > stereotypes themselves aren't harmful and it's OK if they turn out to be > fundamentally true."

Regarding blacks and crime, which statistics is this backed up by? I suspect the truth may be more nuanced than a simple correlation, but lets start with the statistics.

</comment></comment></comment></comment></comment><comment><USER8> The authors want to introduce pure binary logical reasoning into social science. Therefore, from a logical point of view, if a statement or belief about a group is accurate, the it must old for all members of the group. Following their pseudo logical reasoning, it follows that a single counter example imply that the belief is not true, and thus inaccurate. Which invalidate any further statistical analysis.

<comment><USER7> They said that in the first couple of pages. I know it's long and wordy, but it gets more practical and down to earth the further into it you go. They have addressed your concern in quite a lot of detail.

<comment><USER8> My point is that they kind of dismiss previous approaches using this only logical argument, which is not applicable anyway. Using such a rigorous logical reasoning in the realm of social science demonstrate either a misunderstanding of logic or a purpose to mislead the reader.

<comment><USER7> I agree that whole argument seemed quite artificial. I took it as a way to complain about other researchers who apparently had assumed that all stereotypes are somehow false, whatever false means. I'm sure they didn't mean it must hold for each individual in the group to be accurate.

<comment><USER9> But the definition that they use is "a stereotype is a set of beliefs about the personal attributes of a social group." How can that be interpreted as anything but something that holds true for each individual of a group?</comment></comment></comment></comment></comment>


Justice Dept. plans to file antitrust charges against Google in coming weeks - <AUTHOR> https://www.nytimes.com/2020/09/03/us/politics/google-antitrust-justice-department.html <comment><USER2> I read this story just now and I found it incredibly frustrating -- it reads like a gossip column. Lots of details about who wants to do what and when and who objects, but incredibly light on actual details.

What laws are they going to claim Google has broken? Vague hand-waves about "advertising" and "Google is involved in your life" doesn't cut it for me.

Does anyone have a source or a hunch of what specific anti-trust laws Google is violating with what specific actions?

<comment><USER3> My guess is there will be multiple lines of attack, but this paper[0] which was also at least implicitly referenced in the recent Congressional hearing seems very likely to be one of them:

 _Approximately 86% of online display advertising space in the U.S. is bought and sold in real-time on electronic trading venues, which the industry calls "advertising exchanges." With intermediaries that route buy and sell orders, the structure of the ad market is similar to the structure of electronically traded financial markets. In advertising, a single company, Alphabet ("Google"), simultaneously operates the leading trading venue, as well as the leading intermediaries that buyers and sellers go through to trade. At the same time, Google itself is one of the largest sellers of ad space globally. This Paper explains how Google dominates advertising markets by engaging in conduct that lawmakers prohibit in other electronic trading markets: Google's exchange shares superior trading information and speed with the Google-owned intermediaries, Google steers buy and sell orders to its exchange and websites (Search & YouTube), and Google abuses its access to inside information. In the market for electronically traded equities, we require exchanges to provide traders with fair access to data and speed, we identify and manage intermediary conflicts of interest, and we require trading disclosures to help police the market. Because ads now trade on electronic trading venues too, should we borrow these three competition principles to protect the integrity of advertising?_

[0]: [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3500919](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3500919)

<comment><USER4> The deep question:

> In the market for electronically traded equities, we require exchanges to > provide traders with fair access to data and speed, we identify and manage > intermediary conflicts of interest, and we require trading disclosures to > help police the market. Because ads now trade on electronic trading venues > too, should we borrow these three competition principles to protect the > integrity of advertising?

It boils down to: should we regulate ad exchanges like we regulate equity exchanges, such that the exchange operator (e.g. Alphabet, NYSE) cannot also be a participant in the traded assets.

If you believe the answer is yes, alphabet's ad exchange should not be in the same parent company as youtube and google.

Unbundling the ad exchange from alphabet's other services sounds like it would be a herculean technical nightmare! Might be easier to start from scratch (:

<comment><USER5> Of all the crazy stuff that has been proposed on HN under the umbrella of "breaking up Google", excising the ad exchange might be the least technically challenging, and also one of the few that are economically practical.

<comment><USER6> I don't see how it's economically practical. How are Chrome, Gmail, Maps, et al going to be able to support themselves without the ad cash cow?

<comment><USER7> > How are Chrome, Gmail, Maps, et al going to be able to support themselves

Start providing value in exchange for cash.

<comment><USER8> G-Suite (Gmail) costs money.

Google Maps for Business use is prohibitively expensive (for me) - we use Azure Maps instead.

Chrome is a weird thing, though.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is so grossly political that it's disgusting. Clearly the administration sees Google through the lens of an adversary, which is astonishing enough.

When reading something like this, _" according to five people briefed on internal department conversations."_ is the first clue. You have mass leakage of internal discussions, with career ending consequences. You can't have any greater signal that something is very wrong, and that people believe the chain of reporting is compromised.

The question of whether Google represents a monopoly is critical for every software professional in this forum, and it is a trillion dollar US company that represents most people's discovery platform for information. It has has nuance, and there are gray areas that are going to have generational impact when they are litigated. It an _important legal question_ and not well served by a thin case served out two months from an election.

<comment><USER10> Hacker news is so bipolar on this. I've seen calls on this site for immediate antitrust law cases against google, and now that the Trump DOJ is doing it, immediately, there's a rush to defend Google. It's getting nauseating really.

Something being 'political' is not bad, especially when it being 'political' enforces the will of the people against those who ought to be subject to the will of the people. In particular, many Americans believe Google to be engaging in anti-competitive practices, so being political by following what the American populace wants cannot and should not be used as an insult.

<comment><USER11> > _I 've seen calls on this site for immediate antitrust law cases against > google, and now that the Trump DOJ is doing it, immediately, there's a rush > to defend Google._

Well, that's my actual position. "The last temptation is the greatest treason: to do the right deed for the wrong reason."

I think it's important to enforce the laws we have fairly. However, going after political opponents because they are political opponents, and retroactively figuring out what laws you can use against them, is very different from enforcing the laws fairly. I think we should be going after many more companies than we do on antitrust grounds (and I think society would be better if we had even more stringent antitrust laws). Going after a single company and saying "Hmmm, antitrust?" does not actually succeed at maintaining the rule of law.

(I do, for what it's worth, agree that "political" is not an insult. It's a descriptor, and it applies to just about anything involving the government or the shape of society. In this case, I think it happens to be a descriptor for something bad. It is entirely good and proper for politics to influence what laws we have; it is improper for politics to influence against whom we choose to enforce them.)

<comment><USER12> This comment ([https://news.ycombinator.com/item?id=24369239](https://news.ycombinator.com/item?id=24369239)) has mentioned that multiple major companies are being investigated, so maybe the investigation into Google just happens to be further along.

<comment><USER11> That's a good point, but also, given that "and Facebook and Amazon" are often Trump's next words after "Google," it doesn't do much to convince me that this isn't politically-motivated selective enforcement. (Though, on the other other hand, I'm not sure what big tech companies Trump isn't mad at, so maybe this is a low-selectivity filter.)

</comment></comment></comment></comment></comment><comment><USER13> I am surprised Google is the highest priority. I would've assumed Amazon or Apple would top the list of antitrust targets.

<comment><USER14> This is a poltical play. All of these _should_ be targets but the WH is looking for a pre-election "win", more symbolic than anything.

Google is ~80% of search in the US. Large percentage of online advertising. Lots of anti-competitive stuff to point to.

Apple is 50% at best of the smartphone market and their major competitors are South Korean and Chinese. Targeting Apple, with no major US competitor, is NOT a win. Not a good thing to be bringing up in an election year.

Amazon would also be a complicated anti-trust target, you need to specifically focus on online retail effects while not allowing Amazon to switch the conversation to talking about general retail and Walmart/Target. So, too complicated for any kind of quick traction.

<comment><USER15> > the WH is looking for a pre-election "win", more symbolic than anything.

The "win" being the announcement of a case and ensuing press coverage or whatnot? I'm assuming it would take years for such a case to be concluded.

<comment><USER16> Pick more fights to distract people from all the existing losing fights! How's that wall looking?

<comment><USER17> Going great!

[https://www.nytimes.com/2020/05/29/us/politics/border- wall-c...](https://www.nytimes.com/2020/05/29/us/politics/border-wall- coronavirus.html)

[https://www.nytimes.com/2020/08/20/nyregion/steve-bannon- arr...](https://www.nytimes.com/2020/08/20/nyregion/steve-bannon-arrested- indicted.html)

</comment></comment></comment></comment></comment><comment><USER18> [https://archive.is/Jlixq](https://archive.is/Jlixq)

</comment><comment><USER19> It's going to make the next Bilderberg meeting a little awkward for a few people after they do this.

</comment><comment><USER20> The DoJ obviously shouldn't rush into a case poorly prepared. At the same time though, antitrust issues with Google have been known for so long, and the DoJ itself has been preparing the case for so long... At some point I'd like to see the actual case filed. After all, after being filed this case will take years to work its way through the courts.

Sure it could be for political reasons but it's also possible that Barr just set the deadline to ensure that the lawyers get a move on already instead of dragging their feet.

</comment><comment><USER21> It seems like most of the article is a hit piece against the government officials, rather than news about Google and the potential suit.

I feel the headline is at least a bit misleading. It's the old bait-and- switch.

</comment><comment><USER22> Other comments have pointed out that he is pushing the timeline against the advice of career lawyers. Everything this Attorney General does should be scrutinized for underlying partisan motivation.

My guess is that he has ulterior political motives linked to the 2020 presidential election, and he wants to build leverage with Google in relation to those motives.

<comment><USER23> Career lawyers can't have underlying partisan motivations either?

This article is scant on real facts, instead it's just more rumor and innuendo from "anonymous sources". Which apparently is just fine even though in the majority of these stories once the bombastic claims are dropped and more facts come out later, revealing thatthe claims are either grossly overstated or outright lies it doesn't matter because everyone has moved on to the next "ooh shiny".

People used to ostracize organizations that take such continual gaslighting to performance art levels, but apparently its the new normal because "orange man bad" or something.

<comment><USER24> Barr is a political appointee who replaced Sessions, who was dismissed by Trump for being "disloyal." Barr plays the public political game well.

Career workers in Federal agencies can be partisan, but it's harder to think they're more influenced by politics than the politician. Secret conspiracies are really hard to believe, because they're really hard to pull off.

I'm more willing to believe investigators always want more time, and this is a case where our hunger for political reasoning colors our interpretation. Not saying this is the case, just my Occam's Razor.

<comment><USER25> Career workers in federal agencies have routinely worked toward anti-Trump ends.

<comment><USER26> A more accurate way to phrase it is that they have aimed to do their jobs and their duty to their country.

This frequently pushes them into conflict with Trump

</comment></comment></comment></comment></comment><comment><USER27> The article reveals the real concern - google has impacted "telecoms and media companies".

These groups are VERY powerful. They don't want things like net neutrality, they want to hoover up broadband subsidies without actually delivering service (and often faking coverage maps etc). And despite all their claims, they are enormous monopoly like groups, now under republican administrations with much GREATER concentrations across both content libraries and internet access (time warner etc).

Under this administration, massive anti-competitive consolidation has been permitted and encouraged in areas with much much greater consumer harm, by companies who IMMEDIATELY go back on their promises.

"How Trump's Department of Justice Just Gave Hollywood Megacorporations Unlimited Power" [https://www.jacobinmag.com/2020/09/hollywood-paramount- decre...](https://www.jacobinmag.com/2020/09/hollywood-paramount-decrees- streaming-netflix-disney)

"On August 7, US district judge Analisa Torres granted the Department of Justice's request to terminate the Paramount Consent Decrees"

The absolute ridiculous irony here is the govt is hand over fist screwing consumers, and now is going after... google!? ... has having ripped folks off?

Do I believe my cable co was both selling my data for profit and jacking up my prices because I had no choice? Sure, even when their service was terrible I was stuck. Any enforcement? Bare minimum (I had to call monthly to get them to remove their modem rental fee - I wasn't using their modem, but a year after I started they added the charge and insisted I had their modem but wouldn't tell me the device ID).

Australia / New Zealand are going to be some good examples here. Very arbitrarily (vs principles based) rulemaking coming.

</comment><comment><USER28> A vaccine and this.. what else needs to make it through before the elections?

<comment><USER10> The Vaccine that has already gone through normal stage 2 trials ensuring safety? All this talk about a vaccine being 'rushed' is so anti-science, it's a joke. The vaccine may certainly be ineffective or undereffective if rushed through phase 3 trials, but the idea it'll be unsafe is hogwash.

<comment><USER29> Stage 1 and 2 trials establish safety in generally healthy people. Stage 3 is primarily to establish efficacy, but is also vital to establish safety in the broader population, including among people with existing diseases.

For their own safety, unhealthy people are not generally admitted into stage 1 and 2 trials.

Curtailing stage 3 testing for political gain is dangerous.

</comment></comment></comment><comment><USER30> "The attorney general is said to have set a deadline over the objections of career lawyers who say they need more time to build the case."

all you need to know

<comment><USER18> All? One would at least like to know how common this is. In a corporate environment, it would hardly be unusual for a manager to insist on a faster schedule than developers would prefer.

<comment><USER31> It isn't at all common for the AG to override his department's attorneys' investigative schedules, let alone for political reasons related to his boss's reelection campaign for reasons and stemming from his crew's inability to Stop Lying All Of The Time.

<comment><USER23> Really? So the AG's position is more of figurehead rather than supervisor?

Fascinating.

<comment><USER31> He is a political appointee in an organization that, for the most part, leaves its civil servants alone once they are emplaced.

Doing otherwise is a historical oddity.

</comment></comment></comment></comment></comment><comment><USER32> I don't like the timing of this, obvious political motivation.

That said, I think it would be a good thing for Google, Apple, Amazon, and maybe Microsoft to go through this process. When the process works well, the companies may make needed adjustments to the way they do business, and get this all over with in a few years.

I am a very happy paying customer of Google, Amazon, Apple, and Microsoft. I would still like them all to be investigated and adjustments made. Capitalism and free markets work very well with the appropriate amount of government oversite - set guardrails for allowed behavior.

</comment><comment><USER33> Funny how the tone of the comments, so far, is negative. I wonder why.

If the exact same investigation were ramping up in 6 months, under a Biden controlled DOJ, I'd imagine it'd be one comment after another praising the decision.

Regardless, this should be an easy case if they want to win. I can't think of a company in modern times which has obtained so much power and has behaved so poorly in the past few years.

<comment><USER34> Name their actual bad behavior then - instead of going with the techlash style vaucous talking point "assertion that something must be done" and then locking up when asked about any details. It is amazing at how propaganda talking points cause humans to fail a Turing test like that by acting indistinguishable from bots.</comment></comment>


The Synthesis of Reliable Organisms from Unreliable Parts (1956) [pdf] - <AUTHOR> http://www.dna.caltech.edu/courses/cs191/paperscs191/VonNeumann56.pdf <comment><USER2> First, I love that this is from over 60 years ago. Here I am in the 21st century, happily thinking that genetic algorithms are relatively new techniques, and along come Von Neumann on HN, reminding me that, no, of course this is foolish, they are if not billions of years old, they are older than old, newer than new, infinitely permanent.

Second, more specifically, error correction is a natural extension of two techniques/mandates:

a) The need for energy: A machine that is not provided plentiful energy will soon cease to operate as a machine unless it can gather it's own, and graduate to organism status.

b) Reproduction: many copies have the opportunity to survive beyond catastrophic errors to a single organism (eg. lightning strikes) and reproduce with mutation to reduce effects of minor but still limiting errors (eg. cold- bloodedness).

Thanks for the link.

</comment><comment><USER3> Can anyone comment on the relevance of this in modern CS or related fields? As a non CS major, whenever I see material from Von Neumann, I can't help but be amazed at it. Yet I get the impression that while many people appreciate his work (he presents very compelling concepts in my opinion), it didn't have the impact on CS or other fields you would expect. Am I right or wrong? Where are these ideas of Von Neumann applied today?

<comment><USER4> I'd have to read and understand the paper to be sure. However, high-level and logic synthesis tools do a job that sounds pretty similar. The Synthagate HLS tool converts [1] an algorithm into automata that are simplified, combined, used to generate data paths, used to generate control paths, integrated, and synthesized into hardware. They have a book [2] on the method that I'm trying to get HW experts to peer review in interest of imitating (or not) the techniques. Further, there's plenty of academics working with neural nets, error correction, and probabilistic systems on FPGA's. So, old as it is, elements of his writings might aid modern researchers or just be an interesting look on prior ideas.

[1] [http://synthezza.com/logic-synthesis-in- synthagate-4/](http://synthezza.com/logic-synthesis-in-synthagate-4/)

[2] [http://synthezza.com/download/AboutUs/Book2011.zip](http://synthezza.com/download/AboutUs/Book2011.zip)

</comment></comment><comment><USER5> Readable text pdf: [http://www.sns.ias.edu/pitp2/2012files/Probabilistic_Logics....](http://www.sns.ias.edu/pitp2/2012files/Probabilistic_Logics.pdf)

And commentary: [https://duckduckgo.com/?t=lm&q=probabilistic+logics+and+the+...](https://duckduckgo.com/?t=lm&q=probabilistic+logics+and+the+synthesis+of+reliable+organisms+neumann)

</comment><comment><USER6> [https://en.wikipedia.org/wiki/Reliability_theory](https://en.wikipedia.org/wiki/Reliability_theory)

[https://dx.doi.org/10.1006%2Fjtbi.2001.2430](https://dx.doi.org/10.1006%2Fjtbi.2001.2430)

"Reliability theory is a general theory about systems failure. It allows researchers to predict the age-related failure kinetics for a system of given architecture (reliability structure) and given reliability of its components. Reliability theory predicts that even those systems that are entirely composed of non-aging elements (with a constant failure rate) will nevertheless deteriorate (fail more often) with age, if these systems are redundant in irreplaceable elements. Aging, therefore, is a direct consequence of systems redundancy. Reliability theory also predicts the late-life mortality deceleration with subsequent leveling-off, as well as the late-life mortality plateaus, as an inevitable consequence of redundancy exhaustion at extreme old ages. The theory explains why mortality rates increase exponentially with age (the Gompertz law) in many species, by taking into account the initial flaws (defects) in newly formed systems. It also explains why organisms "prefer" to die according to the Gompertz law, while technical devices usually fail according to the Weibull (power) law. Theoretical conditions are specified when organisms die according to the Weibull law: organisms should be relatively free of initial flaws and defects. The theory makes it possible to find a general failure law applicable to all adult and extreme old ages, where the Gompertz and the Weibull laws are just special cases of this more general failure law. The theory explains why relative differences in mortality rates of compared populations (within a given species) vanish with age, and mortality convergence is observed due to the exhaustion of initial differences in redundancy levels. Overall, reliability theory has an amazing predictive and explanatory power with a few, very general and realistic assumptions. Therefore, reliability theory seems to be a promising approach for developing a comprehensive theory of aging and longevity integrating mathematical methods with specific biological knowledge."</comment>


FCC Chairman speaks out against AT&T/T-mobile merger - <AUTHOR> http://news.cnet.com/8301-30686_3-57329828-266/fcc-chairman-comes-out-against-at-ts-t-mobile-buy/

<comment><USER2> I fail to see how a merger such as this will create jobs. Wouldn't a merger give the companies an opportunity to reduce redundancy? For example, there are many T-Moblie retail locations within a mile or so of an AT&T location. There is an opportunity for consolidation there. Additionally, they could consolidate customer service and billing operations and reduce redundant positions there as well. Where would they be adding jobs to make up for those losses?</comment>


Oculus VR Founder Taunts Redditors Over Shipping Delays - <AUTHOR> http://www.popsci.com/oculus-vr-founder-reddit <comment><USER2> As a kickstarter backer of oculus, and someone who was recruited heavily by Oculus to build the Oculus store, fuck that company.

They have repeatedly shown disdain for their original backers who try to hold them accountable to their constant lies and backpedaling.

I sold my (free) oculus cv1 the day I received it, completely worthless product.

I had several friends come over that night so that I could show them how terrible the Oculus is at what it is trying to do.

The store is atrocious, the actual device barely works, and the proprietary titles are boring and extremely buggy.

Facebook took a hyped up product, and wrapped it in millions of dollars worth of marketing.

Save your money, and buy an HTC Vive if you are truly interested in VR.

</comment><comment><USER3> Original source: [https://www.reddit.com/r/oculus/comments/4gfpjk/palmer_lucke...](https://www.reddit.com/r/oculus/comments/4gfpjk/palmer_luckey_on_twitter_i_prefer_production_that/d2h7zeb?context=3)</comment>


Knowledge. . . - <AUTHOR>

i wanna learn how to catch on to different web languages but not sure what direction to go in. Can anyone point me to the right direction to obtain this valuable info??? <comment><USER2> The first thing to learn is that when you join a site you should read around for a bit to see what the conventions are, and learn to ask questions in a way that is most likely to elicit an answer. The people here on Hacker News are amazingly helpful, but you usually have to demonstrate that you have the initiative and drive to learn stuff for yourself. Then they'll help you.

Have you done any searches? Have you read any of the submissions and threads? Have you tried learning something and got stuck? Have you got a specific project in mind?

Go, read, search, then come back and ask specific questions. Install Ruby and Rails, or Python and Django, or something else mentioned here. Search for those terms and see what else turns up and gets recommended.

Show that you are willing to put in time and make an effort.

See, I don't know what you want. I don't know what you know. I don't know what you're trying to accomplish. And without that, I certainly don't know what to recommend.</comment>


Ask HN: Tips for success posting non-simple ideas? - <AUTHOR> I've noticed that on the internet ( HN, news sites, Reddit ) what often works the best, gets the most upvotes and comments is something that presents "the simplest version of the idea."
Necessarily this version is incorrect and misses the nuances of the original.
I guess what I'm asking is -- how can you get beyond conveying something so simple as to be almost useless, but still have it "take in the subject's mind" ( i.e, become popular, viewed, read ) ?
This is relevant to marketing which is very relevant to what a lot of people on HN are trying to do with their startups and side projects. So please have a think and contribute your ideas! <comment><USER2> Keep in mind that Hacker News is more than just side projects and startups. Posting something intellectually interesting is probably the way to go. Still requires luck because a lot of stuff gets posted everyday and some fraction is intellectually interesting.

A good approach might be if the author writes something that they find intellectually interesting rather than writing marketing copy from a recipe. I mean, who wants to read something that the author does not care about rather than something that is good?

Good luck.

</comment><comment><USER3> My tip is to stop trying to measure "success" in terms of upvotes and comments... Unless your startup or side project is "1) Disrupt Buzzfeed 2) ??? 3) Profit!!!" \- there's without doubt better metrics to focus on.</comment>


Google 5gram corpus has unreasonable 5grams - <AUTHOR> http://nlpers.blogspot.com/2010/02/google-5gram-corpus-has-unreasonable.html

<comment><USER2> It's funny that the comments on this post have been spammed with the sort of duplicative trash he may be seeing in the corpus. I never imagined that spam comments could actually be relevant.

</comment><comment><USER3> The trolls/dwarfs one is almost certainly due to the works of Terry Pratchett.

<comment><USER4> Most of the weird ones are explained in the comments, you just have to dig through some spam.

* The trolls/dwarf one was part of the blurb repeated in bookstores and reviews for a Terry Pratchett novel

* the poet wicked the woman was part of a list of plays with "Wicked" (about the witch from Oz) being in the middle

* The prince compiled the Mishna is apparently something from Jewish lore.

I'd guess there'd be similar explanations for the others just like "the matrix reloaded the matrix" which he calls out, just not as obvious.

One of the commenters points out that any string of 5 words is already an outlier so you're naturally going to get noise like this mixed in.

If I google the first one it seems to be some standard boilerplate text used in collecting data about chemical exposure. The second is a list of UK reality TV series "Popstars: The Rivals, Shattered, The Farm". So they are widely used on the web, just not in normal speech.

</comment></comment><comment><USER5> I am glad to find out there are some other issues with it. My main disappointment with it however remains its license. It would of been really cool if Google released it with a CC or MIT license but instead its restricted for academic usage only. Better to spend time with other corpus'.

<comment><USER6> What other n-gram corpus' are there? I've been looking, and all I can seem to find is some web spammer trying to sell me one.

I don't particularly care about the license, but I'd rather not have to build my own spider to crawl and generate one for me.

<comment><USER7> Apparently Microsoft has one:

[http://research.microsoft.com/apps/pubs/default.aspx?id=1307...](http://research.microsoft.com/apps/pubs/default.aspx?id=130762)

</comment></comment></comment><comment><USER8> Quite possibly the crawler collecting the corpus hit a crawler trap (intentional or unintentional) -- or perhaps web-based game output (which when visited by a crawler became a de facto trap) -- which multiplied the implausible phrases.</comment>


Amazing graphics from the 1950s New York Times archive - <AUTHOR> https://medium.com/@stuartathompson/amazing-graphics-from-the-1950s-new-york-times-archive-910879e39a73 <comment><USER2> Alongside the obvious choice of Tufte, I can recommend Bertin's "Semiology of Graphics" and "Graphics And Graphics Information Processing" as good reads about this kind of graphical representation of data (I prefer GAGIP, personally.)</comment>