The Rise and Fall of the Gopher Protocol - <AUTHOR> https://www.minnpost.com/business/2016/08/rise-and-fall-gopher-protocol <comment><USER2> This was posted yesterday but looks so good, and spent so little time on the front page, that we've put it into the second-chance pool (described at [https://news.ycombinator.com/item?id=11662380](https://news.ycombinator.com/item?id=11662380) and the links back from there). We wouldn't normally do that for a day-old post with 28 comments, but I think the HN software penalized this submission by mistake, which was bad. Plus also, it's the gopher protocol.

<comment><USER3> Good call, I would have otherwise missed this awesome article.

</comment></comment><comment><USER4> When I got my first shell account in 1993 it was as a student of the University of Minnesota, and I remember that the first time you logged in it didn't dump you directly into tcsh or whatever, there was an easy shell that let you navigate by number. I recall vividly that both Gopher and the World Wide Web were on this list (previously I only had had experience with Usenet and FTP). Initially it seemed like Gopher had all the things, and the WWW was some weird novelty. Of course within a year I had seen Mosaic running, and building web pages became a career long obsession for me. It's hard for me to gauge the politics (I only turned 15 in 1993), but at least from where I sat, the multimedia document with embedded hyperlinks was the secret sauce. It was the same thing that had gotten me obsessed with HyperCard back in the day. The web just felt like this creative playground with unlimited untapped potential, and Gopher felt sort of bureaucratic (again, maybe just from where I sat at the U of M). Ironic that now Gopher is maintained as a labor of love by hobbyists.

</comment><comment><USER5> You know how Paul Graham says "build something people want". Well somehow I headed in exactly the opposite direction and designed some strange nondescript beast that mashed up linked data (remember that concept, no? doesn't matter you missed nothing), with JavaScript and the web into some sort of Gopher-ish linked data browser.

Basically with 15 lines of JavaScript you could navigate any http based open data API

I named it NeoGopher (New Gopher) [https://www.youtube.com/watch?v=yuSDU0JiI2c](https://www.youtube.com/watch?v=yuSDU0JiI2c) The madness starts at 1:30 (turn the sound down, the words serve only to confuse)

Essentially it let you browse through linked lists. Each list item could link on to another list or to a web page. Each list was created by about 15 lines of JavaScript which could be loaded from any web server and the data came from any HTTP web API.

Ahhh... so many meaningless words in the demo. Even I, who designed it, found it hard to explain what it was - today I would say "It's a linked list browser.", which is what Gopher was.

Of all the stupid ideas I have had (there have been many), re-inventing Gopher was probably the worst. What was I thinking?

btw this is an edited repost of a comment I made a while back on the Gopher topic.

<comment><USER6> Very interesting ideas.

It reminds me Xanadu (without the entanglement):

[http://xanadu.com/Ping'n'Jeff.png](http://xanadu.com/Ping'n'Jeff.png)

My idea for Gopher is to convert webpages on the fly with a text browser like elinks.

</comment></comment><comment><USER7> "Eventually, though, the U did want some money — for itself. At GopherCon '93, Yen announced that for-profit Gopher users would need to pay the U a licensing fee: hundreds or thousands of dollars, depending on the size and nature of their business."

I wonder how many futures have been destroyed from the desire to profit off the eating of the seeds instead of fruit?

<comment><USER8> The University of Minnesota office of commercialization of technology does this habitually, asking for far too much money from startup entrepreneurs. Many of the academians have no idea how business works, and don't care. 90% of their success has come from one patent. So from the standpoint of this one institution, you could actually answer that question by auditing their performance over the past.

On the other hand, it is a publicly funded institution, funded by taxes and student fees. So one has to also ask if it would be fair for a small few having little to do with the University should be able to profit off of investments made by public dollars and overly high student debt.

<comment><AUTHOR> This is so true. You have to remember that finances were really tight at this time. The University budget was getting cut left and right throughout the history of Gopher's evolution. At one point there were plans to outsource everyone to the Minnesota Supercomputer Institute.

Of course in hindsight obtaining grants or forming a partnership with a non- profit org or an academic department might have been a better choice, especially for all the professional services requests.

edit: Also you have to remember that computing was a LOT more expensive then. I have old quotes for SparcStations and RS/6000s that were in the $20-40k range, even with an educational discount.. The Mac IIci's were not cheap either ~$5k when loaded up with RAM.

<comment><USER7> > The University budget was getting cut left and right throughout the history > of Gopher's evolution.

Was it actually getting cut or were they not getting the increase they wanted? I lived in MN off and on since the 90's and it seems like they call a "cut" every time they don't get the increase they want.

> edit: Also you have to remember that computing was a LOT more expensive > then. I have old quotes for SparcStations and RS/6000s that were in the > $20-40k range, even with an educational discount.. The Mac IIci's were not > cheap either ~$5k when loaded up with RAM.

Looking back, when people see the price of the NeXT cube and freak out, they forget how much a Mac IIfx was. Its amazing the era had basically expensive computers and machines like the Sinclair and Commodores in the very low end.

<comment><AUTHOR> Regarding cuts, yes. We had to do with less year-over-year. From Hasselmo's 1991 State of the U address:

> """We lost at least $25 million to inflation, and $16 million through a base > cut this year. In addition to a potential $25 million loss to inflation next > year again, the Governor's vetoes of IT and systemwide special > appropriations cut another $23 million in funding -- for which we are > aggressively seeking full restoration."""

The mainframe teams had a harder time of things. For Microcomputers we were lucky - our hardware costs decreased and we had a deal with the University Bookstore to support their computer hardware sales.

That stuff was still expensive. Here's some educational pricing for a workstation with substantial education discount in 1994.

                                            list          discount
      IBM model 25T                         $8495         $5400.00
             80Mhz upgrade                  $1500         $ 953.50
             64MB upgrade                   $             $2912.00
             2GB disk upgrade               $             $1463.00
                                                           </comment></comment></comment></comment></comment><comment>-
                                                          10728.50

</comment><comment><USER9> > "I still remember a woman in pumps jumping up and down and shouting, 'You > can't do that!' "

> Among the team's offenses: Gopher didn't use a mainframe computer and its > server-client setup empowered anyone with a PC, not a central authority.

File this under "straw-man responses that happened in their feverish anti- establishment imaginations."

<comment><AUTHOR> Not sure what dmd is implying here. But I will say that the committee was looking at using either X.500 or CSO protocols instead. Thus it would rely on a centralized authority and a publishing model that would not allow for individuals to run their own servers.

Also remember that this was the old internet where we didn't have NAT or really any firewalling. Most of the University of Minnesota's class B was open to the world at the time. In fact I used to send email directly to my workstation instead of the central mail host to avoid delays..

</comment></comment><comment><USER10> A contemporary article about Hyper-G: [http://much.iicm.edu/projects/hyper-g/9.htm/](http://much.iicm.edu/projects/hyper-g/9.htm/)

My impression was that they tried to monetize Hyper-G immediately, with the negative results mentioned in the original article. Having an open source server may have helped avoid that for both; I think Apache was a powerful force for the web.

</comment><comment><USER6> Gopher is still alive :)

[http://gopher.floodgap.com/gopher/gw](http://gopher.floodgap.com/gopher/gw)

Veronica-2 is the gopherspace search engine:

[http://gopher.floodgap.com/gopher/gw?ss=gopher%3A%2F%2Fgophe...](http://gopher.floodgap.com/gopher/gw?ss=gopher%3A%2F%2Fgopher.floodgap.com%3A70%2F7%2Fv2%2Fvs&sq=McCahill)

<comment><USER11> And there are even blogs (known as phlogs) in gopher. After reading one (gopher://sdf.org/1/users/jstg/phlog) I was motivated enough to modify my blogging engine ([https://github.com/spc476/mod_blog](https://github.com/spc476/mod_blog)) to support gopher. The gopher protocol itself is _very_ simple so getting a simple server up and running was rather easy: gopher://gopher.conman.org/

<comment><USER12> The article says there are just over a hundred gopher sites in existence. Yay - mine is one of them! I've got 200 or so articles on my website and one day I decided to make them all available as well over gopher. It's easy to do: install pygopherd on your machine for the server, and run your HTML files through an emacs macro that strips the HTML and outputs 80 column text, and you're in business!

It feels whimsical to have a gopher site up and running, but it costs me nothing and earns me nothing. It's there because I like it and because I feel happy knowing it's there. In a way, that's the sentiment behind the Internet in its earliest days. And that's what i like about it - the philosophical purity of doing something for its own sake. And now, for the simple pleasure of posting a link with that old protocol:

gopher://therandymon.com

How awesome does that look? :)

</comment></comment></comment><comment><USER13> I miss Gopher. I remember when the Gopher sites started to display: "This service has been discontinued. Please use WWW instead". I was completely disappointed.

<comment><USER8> Actually there are still a number of Gopher servers in operation, and you can use Firefox to visit them.

<comment><USER6> "All the gopher servers (that we know of)"

[http://gopher.floodgap.com/gopher/gw?gopher://gopher.floodga...](http://gopher.floodgap.com/gopher/gw?gopher://gopher.floodgap.com:70/1/world)

SDF still provides a gopherspace inside its free shell:

[http://sdf.org/?tutorials/gopher](http://sdf.org/?tutorials/gopher)

</comment></comment></comment><comment><USER14> I remember discovering gopher through the wonderful TurboGopher program. All the fiddling around with FTP was revealed to be pointless and dumb. For a brief period, really until Altavista came along to make Mosaic useful, Gopher was so cool. But at school we all had our public_html directory being published to the world, and you could nag the sysadmin to install cgibins, whereas gopher was an institutional thing and focused on files.

Tangent: NNTP is still better than any web forum, fb or twitter. Too bad solving the spam problem is only via centralised identity platforms.

</comment><comment><USER15> _The most popular protocol, or method of retrieving information from another computer, was FTP (file transfer protocol), the primitive, labor-intensive equivalent of knocking on someone's door and asking if you could carry away his piano._ lol, I wonder what the computing equivalent of ftp today is.

<comment><USER16> Still FTP.

<comment><USER17> Sftp, hopefully.

<comment><USER18> > Sftp, hopefully.

Ha! I've had precisely one vendor ask for an SSH public key to set up file transfer.

The world runs on FTP. It's sad. Even sadder, it's often a Windows FTP server!

<comment><USER16> If there was a sane way to set up an anonymous sftp server, never mind having web browsers actually understand sftp links, things may change.

</comment></comment></comment></comment></comment><comment><USER19> Does anyone have a list of modern alternative (experimental even) protocols out there?

<comment><AUTHOR> The recent Decentralized Web Summit touched on a number of alternates:

[http://www.decentralizedweb.net/](http://www.decentralizedweb.net/)

Interplanetary File System (IPFS) was discussed quite a bit. NameCoin was the most popular DNS replacement. ZeroNet was a really interesting project that does all of the above.

[http://ipfs.io/](http://ipfs.io/) [http://namecoin.info/](http://namecoin.info/) [http://zeronet.io/](http://zeronet.io/)

<comment><USER20> I also collect old models, centralized or not, in case they're useful in modern situations (esp intranet) for reliability or security especially. What do you think of Tannenbaum et al's Globe model as WWW alternative?

[https://cds.cern.ch/record/400321/files/p117.pdf](https://cds.cern.ch/record/400321/files/p117.pdf)

I thought it was an interesting design that provided nice way of reducing abstraction gaps and rework in the various layers/techs. They integrated it with their Amoeba OS that ran on cluster of workstations w/ single, system image.

<comment><AUTHOR> Wasn't familiar with this so I skimmed the IEEE paper:

[http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7...](http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=749137)

Interesting that it references the Legion OS work that Greg Lindahl spoke about at the Summit:

[http://legion.virginia.edu/](http://legion.virginia.edu/)

At first glance Globe feels like a low-level solution for the problem. Mapping objects to binaries via a broker and all that.

The web we have today solved much of the issues in other ways. Anycast DNS and CDNs allow for content distribution. Storing state in cookies allows for Operational transform and other eventually consistent techniques.

Thanks for the reference and connecting a few dots!

</comment></comment></comment></comment><comment><USER21> Interesting! I guess I knew the basic outlines of that story, having been an internet user in 1993... but it's a neat story. Good work, guys!

</comment><comment><USER10> In February, Metafilter brought back their Gopher server, "after fifteen years of downtime:" [https://metatalk.metafilter.com/24019/Direct-your-gopher- cli...](https://metatalk.metafilter.com/24019/Direct-your-gopher-client-to- gopher-gophermetafiltercom)

</comment><comment><USER22> > To the curious who stayed behind, Berners-Lee explained that the Web could > be used to connect all the information on the internet through hyperlinks. > You could click on a word or a phrase in a document and immediately retrieve > a related document, click again on a phrase in that document, and so on. It > acted like a web laid over the internet, so you could spider from one source > of information to another on nearly invisible threads.

One of the saddest things about the modern Internet is how little hypertext is used. As an example, I would have expected, 'Mark McCahill' to link to his personal or academic site[0], 'San Diego' to link to the city government's site[1], 'Hyatt Islandia' to link to that hotel's site [2] (perhaps with a note that its name has changed), and 'Mission Bay' to link to an appropriate page [3] — and that's in the first paragraph alone.

It's also interesting how those slides from 1992 look current as of 2016: flat, bullet-pointed, sans-serif font.

> But the internet was not yet open for business. It had been built on dot-mil > and dot-edu, on public funds. Programmers shared source code; if you needed > something, someone gave it to you. A dot-com address was considered crass. > It was "as though all of TV was PBS," Lindner says. "No commercials."

Those really were the days. I remember the Canter & Siegel spam, and how appalled we all were to see it. The Internet then was more genteel. Honestly, I wish it were still non-commercial: available to be used by companies (as it was even in the 90s), but not as an advertising medium.

> At GopherCon '93, Yen announced that for-profit Gopher users would need to > pay the U a licensing fee: hundreds or thousands of dollars, depending on > the size and nature of their business. Many users felt betrayed. In the > open-source computing spirit of the day, they had contributed code to > Gopher, helping the team keep up with the times. Now they were being asked > to pony up.

As much as it's become fashionable to group-hate esr the last decade or so, I think that it's important to recognise his major contribution: persuading folks the free software (under a different name) can be good for business. Imagine if the university had kept Gopher as GPLed software, rather than demanding money from its users.

> At its peak, the Mother Gopher consisted of 10 Apple IIci computers. But > when it was finally euthanized, who knows what shape it was in. There was no > ceremony. Nothing was carted off to a museum. Gopherspace simply became > emptier, and the world without the Web became harder to imagine.

That's definitely sad. We need to do a better job of honouring our history and marking important events. Even in the late 90s or early 2000s, folks ought to have recognised the historic import of gopher.

[0] [https://fds.duke.edu/db/aas/ISIS/faculty/mark.mccahill](https://fds.duke.edu/db/aas/ISIS/faculty/mark.mccahill)

[1] [https://www.sandiego.gov/](https://www.sandiego.gov/)

[2] [http://missionbay.regency.hyatt.com/en/hotel/home.html](http://missionbay.regency.hyatt.com/en/hotel/home.html)

[3] [https://www.sandiego.gov/park-and- recreation/parks/regional/...](https://www.sandiego.gov/park-and- recreation/parks/regional/missionbay)

<comment><USER23> > One of the saddest things about the modern Internet is how little hypertext > is used.

Right click, search google (Or however FF does it/extension), without the hard to read hypelinking standard (hard to read because it's for important stuff, you should stop there and think)

Wikipedia is a joke in many articles around this hyperlinking irrelevant points.

A hyperlink should reinforce the article, not detract from it in a random manner.

We read linearly not in a hash.

<comment><USER22> > Right click, search google (Or however FF does it/extension)

Which of course relies on a third-party, proprietary service.

> A hyperlink should reinforce the article, not detract from it in a random > manner.

Back in the old days, being able to jump around from article to article was considered a virtue. It made the Web like a piece of interactive fiction, and adventure. It was awesome.

<comment><USER10> I miss Suck, which felt like it started _not_ using links for exposition:

> Cavanaugh pointed out that one particular lasting legacy of Suck's is the > idea of using a link as a rhetorical effect. "People still used italics to > make a point in a sentence back then," he said, explaining that the site was > one of the first to use a link to let readers know what it was writers were > discussing, or to point to a joke. "That was what knocked my socks off about > Suck right away, was the idea that oh, the link is this funny thing."[1]

I enjoyed it when the link was like a footnote at odds with the text.

[1] [https://www.engadget.com/2015/09/16/suck-dot-com-20th- annive...](https://www.engadget.com/2015/09/16/suck-dot-com-20th-anniversary/)

</comment></comment></comment></comment><comment><AUTHOR> Lots of photos and quotes from the original Gopher team on this long form article.</comment>


The Future of Computer Science And Why Every Other Major Sucks - <AUTHOR> http://techtv.mit.edu/videos/6154-savetfp-cpw-professor-talent-show-2010-22

<comment><USER2> I think CS and robotics will become in greater demand in the future but I think the demand for traditional university CS education will decrease. It is still mostly a "results-only" field, and the Internet has made it even easier to self-educate, quickly and cheaply.

</comment><comment><USER3> Does anyone have a transcript? It's a compelling title, but I'd rather not wait for the man in the jester hat to finish speaking before I get access to his point.

<comment><USER4> Here are the slides (the speakers notes have some of the text of the talk): <http://www.scottaaronson.com/talks/futurecs.ppt>

And the blog post (no transcript): <http://scottaaronson.com/blog/?p=442>

<comment><USER5> There are 13 slides with not a lot of information content, but bulky due to graphics (~ 7 MB).

One can avoid running PowerPoint by viewing them through the Google Docs Viewer:

[https://docs.google.com/gview?url=http%3A%2F%2Fwww.scottaaro...](https://docs.google.com/gview?url=http%3A%2F%2Fwww.scottaaronson.com%2Ftalks%2Ffuturecs.ppt)

<comment><USER4> The "Speakers Notes" have the bulk of the information content, but AFAICT don't show up in that Google Docs rendition.

<comment><USER5> Oh, my bad. Thanks for the clarification.

</comment></comment></comment></comment></comment><comment><USER6> It was very nice of them to put this online.

But the audio quality is poor. It seems like when someone high profile (like MIT TechTV) goes to the effort of recording and posting video, they could spend a few more bucks and put a microphone on the speaker (or hook in to whatever audio system that handheld mic was hooked up to).

As a general rule, using the build in mic of a video camera at the back of a room will yield tolerable audio only in very rare conditions (a room that's "dead" acoustically, and a very quiet or nonexistent audience).

</comment><comment><USER7> As someone who was in this audience two months ago, I am incredibly excited to be starting school at MIT this September and studying computer science. Formal study of CS gets a lot of heat around these parts, but I do think it's one of the best subjects to study for the reasons discussed in the video. Computers are the fastest-changing technology that people have ever witnessed, and there's vast potential for the future of computers and their impact on society.

<comment><USER8> Honestly, I'm in two minds about it. If I didn't have the domain knowledge I do (I did a masters in another field before starting cs, and since have performed research in many varied fields of interest) I wouldn't be half as successful or have anywhere near the range of experiences to draw on.

Of the ~50 or so coders I've hired over the years for my co, the best were always ones with domain knowledge from another field. They _weren't_ the best coders from a technical point of view, but _were_ the best at being able to deliver working software to clients faster. More often than not the ones without extra knowledge were unable to grasp the domain problems, and their solutions always needed rejigging.

Edit: By being unable to grasp, I mean that the distance from their solution to the optimal solution was always quite large. More often than not their design, while designed for extensibility was flexible in a dimension that didn't move towards the optimal solution. So the extra engineering time was wasted.

I don't know that I would hire a pure CS grad again, and all the interns I have now I strongly recommend they concurrently study other fields. Computers are a means to an end. I suggest studying both the means and the end.

<comment><USER9> I've probably hired about the same number - the guys who were the absolute best were from CS backgrounds. Probably depends on the kind of systems you are building.

<comment><USER8> I wasn't meaning that they had no CS backgrounds, but had a cross-discipline background. I've never hired someone without a degree in computer science, but the best had a multidisciplinary background (e.g. cs + english, cs + a biological science, cs + psychology etc)

<comment><USER9> The guys (yes, they were all guys) I meant all had pure CS backgrounds. Either 4 year BSc degrees, some with PhDs on top of that (I'm in the UK so PhD is typically research only).

Of course, YMMV. These were core product developers - the folks who did well in customer facing roles did have more varied backgrounds.

</comment></comment></comment></comment></comment><comment><USER10> Great to hear some positive stuff on CompSci.

Seems like recently theres been a lot of news on why its not relevant or unnecessary - which isn't optimistic news for me since thats what I'm going to be studying at University later this year!

<comment><USER11> Just remember that CS is a means, not an end! (Imagine an ancient Mesopotamian scribe telling you writing is the ultimate and all else is subordinate.)

Domain knowledge! Get some!

<comment><USER12> For the typical programmer, maybe. But that is like saying mathematics is a means, not an end. Which is true, but that does not mean there is no value in studying and advancing the field of mathematics!

<comment><USER13> That's going to be true for any technical discipline. The majority of any engineering or maths curriculum is available on Wikipedia and mathworld in great detail.

Why CS is different is due to less of a need of verification of skill. Many don't mind giving an informally taught programmer a job because his/her work can be verified by reading or executing code. That isn't possible in civil engineering, for example.

<comment><USER14> >The majority of any engineering or maths curriculum is available on Wikipedia and mathworld in great detail.

I'd love to believe that someone could do this, but I haven't seen it happen. Most of the course-like learning I've been able to do "online" has been because some professor was nice enough to put a pdf of their textbook on their university page.

That said, I've created a subreddit specifically for people who want to read long articles that teach them something important. <http://www.reddit.com/r/learnit/>

<comment><USER13> Sorry, but which topics in particular do you find lacking on Wikipedia or mathworld, for example?

The math and physics articles are generally pretty good, include derivations, background on the subject, and you can then click to learn about the personalities who discovered the idea. There are no problem sets, however.

<comment><USER14> >There are no problem sets, however.

This is one problem, the other problem is that there isn't a good way to sort the articles by prerequisites. There's also no easy way find out what you don't know you don't know about a subject.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Here's a Slideshare, for those who don't want to download the Powerpoint

[http://www.slideshare.net/mobile/llimllib/the-future-of- comp...](http://www.slideshare.net/mobile/llimllib/the-future-of-computer- science-and-why-every-other-major-sucks-by-comparison-3705322)

</comment><comment><USER15> Finally some good stuff about CS, that also from a highly respected person. Much better than some fizzbuzz programmer thinking how CS and Masters degree suck.</comment>


Forget about the "1%." Top "0.1% pulling ahead more - <AUTHOR> http://www.usatoday.com/story/money/markets/2014/03/31/1-on-percent-rich/7108767/

<comment><USER2> Who are the top 0.1%? More importantly: what is it that they do that is that valuable?

<comment><USER3> From paragraph 4 of the article:

"Nearly a quarter of these uber-weathy work in the financial industry. And 40% are executives, managers and supervisors, Sadoff says. A vast majority of the 0.1% live in New York, Los Angeles, San Francisco, Chicago, Washington D.C. or Houston."

Side note, it is never surprising that the guy with the keys to the pantry is the fattest one of all.</comment></comment>


Musical preferences mainly shaped by a person's cultural upbringing - <AUTHOR> http://www.nature.com/news/poor-musical-taste-blame-your-upbringing-1.20256 <comment><USER2> A couple of red flags here. Do people really understand their own preferences? There's a number of psychological experiments that indicate our self reports of our preferences and why we prefer certain things are quite inaccurate. (There was a famous one involving socks/stockings that were preselected to be equally preferred by the general populace. It turns out, that if the things are pretty much the same, people tend to select things from a particular side of the table, yet they give all sorts of reasons that sound more socially plausible than, "it was the one on the left.")

Unless one is a musician, one probably has a very undifferentiated understanding of intervals and chords in isolation. Also, musical preferences very rarely involve listening to intervals and chords in isolation. They are part of a complex "cocktail" of auditory and other stimuli that go together. (Most often, I meet people who only understand "music" in a context that includes performers and specific recordings/performances and are really unable to discuss pieces of musical composition in the abstract.)

As an analogy, this is like presenting some aromatic compounds to people from different cultures, asking how much they like the compounds, then declaring wine preferences are mainly cultural. The conclusion, that such things are cultural, seems obvious. The construct of the experiment seems legit on the surface. However, there is a pretty poor logical connection between the two on closer examination.

There should be a name for this kind of fallacy. It's a kind of unjustified reductionism. It's virtually a trope in the social sciences.

</comment><comment><USER3> Would be interested to hear from someone more involved in the life sciences the exact point when Nature magazine decided to chase that 'Psychology Today' clickbait money.

<comment><USER4> Forever ago. Science and Nature are in the top 10 rated impact factors for life science journals. Other than NEJM (top rated), the nature derivatives round out most of the top ten as well (nature genetics, nature reviews, etc...).

I think the problem stems from the inability for peer review to adequately test or reproduce papers before they are published. Which gives Nature and Science (which both make a large amount of money from their publishing practices) a lot of leeway to publish 'headline' based science. What bothers me, is that a lot of headline based papers paint a 'either or scenario' \- or attempt to proove positives. When in reality, the scientific method can only disprove hypotheses. Only holistic second source papers (review articles) should make large claims; for instance, no single paper prooves the theory of evolution, but rather a large corpus of papers fail to disprove the theory.

An additional problem is accepting anything peer reviewed as valid because it was peer reviewed. Which is the driving force behind the peer review paywall - that peer reviewed artcles are somehow more valid then other forms of communication mediums. This implies that there exist somewhere, a publication format that is infalliable. And since retractions and fraud occur all the time in peer review, there are plenty of counter arguments to disproove this notion.

While this annoys me some, it will never be fixed. The number of 'scientists' that do not employ sound thinking and reason, will always out weigh the number of brilliant minds. There is a reason why almost all science can be traced back to five individuals (Copernicus, Galileo, Kepler, Newton, Einstein). These people reached a level of analytical thought that was unmatched. Surely we might be able to argue that they reached the low hanging fruits - but it was really their ability to not accept popular thought, and dismiss assumptions, and in most cases show a revered defiance towards establishments (Galileo especially) because they refused to not appeals to the fact (nullius in verba). So rather then spend a large amount of time to rid the world of bad publishing form - we should just accept it; and unfortunately most of us will never 'free our minds from the allegory of the cave'. And probably even more so for the groups that spend a large amount of advertising and headlines to convince others that they have reached this level of thought.

Wow - that comment got away from me fast; I really only intended to write the first two sentences, and just kept typing.

<comment><USER5> What would be better than peer review?

Arxiv lets preprints be published. Would be cool if afterwards they'd have reviews from credentialed users.

<comment><USER4> I agree with the reviews from credentialed users. People should put their names on the arguments for or against a paper, and let others evaluate them in return.

I like pre-print services, and I wish they would go one step further and allow people to comment/critic the paper. This way, when you find a paper, you could see all associated thoughts and join the conversation. The really powerful idea behind pre-prints is that it would speed up academic publishing, by eliminating the ~6 month publication time.

The only problem with pre-prints (currently) is they are not widely accepted for academic tenure. With academic publishing being a multi-billion dollar industry, I'm kind of surprised there are not more tech startups working on this issue.

<comment><USER5> So why not make a service for arxiv papers or any other source of resources and have experts critique them?

Maybe there is already a good source of experts on Quora or something. Or start a new site where experts are invited.

<comment><USER4> > So why not make a service for arxiv papers or any other source of resources > and have experts critique them?

Yeah I think this would be a great idea. If you had the capture ability of sci-hub with the invite ability of quora to get experts to critic papers. Then add on-top of that some simple blog features like top highlight, sharing, subscribe to citation links, and comment/discussion (that matches HN's no counter productive comments/etc).

The large obstacle would be paywalls - like sci-hub; any attractive paper would be illegal to have on the service; if you simply pulled from pre-prints (arxiv; plos pre-print, etc..) you will probably lose academic disciplines that do not value these services (biology primarily comes to mind). On the other hand, CS would probably embrace it as a complement to their conference publishing culture.

<comment><USER5> If someone wants to partner with me on this, I'd be happy to do it. We have the underlying platform for it already.

Find me on [http://qbix.com/about](http://qbix.com/about) (click to email me)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Despite the clickbaity headline about "musical tastes", there is some real information here.

"In their experiments, McDermott and his colleagues investigated aesthetic responses to music by playing combinations of notes to three groups of people: the Tsimane' and two other groups of Bolivians that had experienced increasing levels of exposure to Western music. The researchers recorded whether each group perceived the notes as pleasant or unpleasant to hear. They tested consonant chords, which are common in Western and many other musical cultures, as well as dissonant ones. (In 'do re mi fa so la ti do', for instance, the 'dos' are exactly an octave apart and are an example of consonant notes.)"

The question is whether there is some innate human preference for consonant or dissonant chords. These scientists concluded that preference for consonant or dissonant chords is influenced mainly by culture (not, say, genetics).

<comment><USER7> This neatly debunks the other recent thread which suggested it was possible to reduce harmony to mathematical axioms.

Having said that - the harmonic series is obviously interesting and relevant to some music. But any notion that it's some kind of musical master key that can unlock all of music's mysteries is naive.

</comment></comment><comment><USER8> Shouldn't this article have appeared in Nurture magazine?

<comment><USER9> You, sir, deserve the Mili Vanilli box set.

</comment></comment><comment><USER9> The (jokey) title of the article is somewhat unfortunate as it confers a value to "musical taste". Anyway.

> "This pretty convincingly rules out that the preferences are things we're > born with," McDermott argues.

The word "nurture" may lead some to believe that tastes are fixed. Thankfully, they're not.

Immersion in new forms of music is one of the great pleasures, and given enough time, all forms start making sense. The brain eventually recognizes patterns and finds pleasure.

</comment><comment><USER10> My parents met at a Philip Glass concert and actively encouraged me to listen to Sun Ra. I've known all along that my taste is an extension of theirs. Thanks, mom & dad.

<comment><USER11> Your parents sound like they have quite an eclectic taste in music. I only discovered Philip Glass and Sun Ra ~12-13 years ago (I'm 49). If you are able to you should have a listen to BBC Radio 6's Stuart Maconie's Freak Zone and Freakier Zone programmes. There's probably a lot of stuff you'd like to listen to and discover.

<comment><USER10> Thanks for the suggestion, I'll check it out!

</comment></comment></comment><comment><USER12> A countervailing – and edifying – view from Boethius, who is always worth reading: [http://www.cengage.com/music/book_content/049557273X_wrightS...](http://www.cengage.com/music/book_content/049557273X_wrightSimms_DEMO/assets/ITOW/7273X_01_ITOW_Boethius.pdf)

<comment><USER13> +1 for Boethius reference!

I didn't know about his music work. Thanks for sharing.

<comment><USER12> One of the original quadrivium!

</comment></comment></comment><comment><USER14> I have a 2-year-old son. When his mother's not around we listen to AC/DC, Nirvana, Foo Fighters, Soundgarden, Smashing Pumpkins, Live, Metallica, Pearl Jam and others of similar genre and era.

When I sit down at the computer he runs in repeating, "guitar, guitar, guitar". When I ask him who is the best guitarist, he's conditioned to answer "Angus".

I'm seriously hoping to influence his musical tastes, because when he turns teenager, I don't want to be stuck listening to crap.

<comment><USER15> You should get some musical instruments in the home if you don't already. This goes a long way!

<comment><USER14> We do have lots of musical books, where you push the spot on the page and usually an animal plays some instrument.

At the moment, we feel he is a little too small at 2 for his own instruments, as they will be destroyed in pretty short order. They're high on the list of things to obtain when he's just a little more careful with things.

<comment><USER16> Drums can take a fair amount of abuse (within reason - better than stringed instruments, for example)... though you may not enjoy his early jam sessions. I gave my son a set of tuned handbells when he was 2, they were a hit, and hard to break.

</comment></comment></comment></comment><comment><USER17> "Poor musical taste"? What is an objective measure of that?

<comment><USER18> Interesting question. Would it perhaps make sense to consider good music to be the music that those people like who are knowledgeable about and skilled in music themselves?

<comment><USER9> > ..those people like who are knowledgeable about and skilled in music > themselves?

This is an age-old question and implies that aesthetic judgements can only be made through knowledge. The Pop revolution that started in the 1950s pretty much destroyed the argument (only to have Rock music - as opposed to Pop - make similar elitist arguments). Jazz and Classical music continue to make those claims (and then complain they don't attract bigger audiences).

Good music is that which moves _you_. No more, no less. If it doesn't move you, it doesn't make it bad, it just means you need to find something different to listen to.

<comment><USER18> > The Pop revolution that started in the 1950s pretty much destroyed the > argument

How so?

> Good music is that which moves _you_. No more, no less. If it doesn't move > you, it doesn't make it bad, it just means you need to find something > different to listen to.

Still, there are some things that almost everybody agrees are better than some other things. For example, someone singing out of tune, or a beginner playing the violin. Musicians and non-musicians alike would say that those things sound bad. Doesn't that mean that there is something more to it than individual taste, or, rather, that all our individual tastes agree on some things, which might be thought of as decidedly good or bad, in some sense?

<comment><USER19> > How so?

Because many pop musicians are successful without "knowledge and skill in music" as it was defined at the time. I would push "pop music" even further back to traditional folk music, which has rarely been appreciated by professionals. Though, I guess commercial pop really took off with the invention of the phonograph.

> Still, there are some things that almost everybody agrees are better than > some other things. For example, someone singing out of tune, or a beginner > playing the violin.

Put it into a loop, add some other loops, I can work with that. The main problem with poor music performance is the lack of consistency, not the quality of the sound itself. I remember when rock came out, and the old people all said it sounded horrible, who would want to listen to the screeches and distortions of electric guitars.

We now have simultaneous islands of knowledge and skill of music. Most successful musicians specialize in a particular genre, and nobody has time to be skilled at _all_ the popular genres, both composition and performance.

Then each genre has a tendency to ossify and split, as young people take music in a new direction, and the old practitioners say, that's not our music. Rock music split off from jazz. In the old days, jazz was rebellious music associated with African Americans. Now, the local community college teaches jazz classes. Amusingly, the freeform jazz musicians there are old white men, and the young African American man teaches a rigid formal version of jazz. When the teachers put on the end-of-semester concerts, the old white men let their students play, but the African American hires professionals from out of state to do the solos.

So, no, you can't extract a category of people "who are knowledgeable about and skilled in music themselves" to be an arbiter of taste.

</comment></comment></comment></comment></comment><comment><USER20> I have very little overlap with the musical taste of my mother or father (or my sister for that matter).

When I was 5 or 6, and first heard Scott Joplin's music ("The Sting" was on television), it was a religious experience. Music I had never heard before spoke to me. And it was like this for every new transcendent musical experience afterward; it felt like something external (and was in each moment seemingly unrelated to my upbringing).

</comment><comment><USER21> One of my few childhood memories is of being in a car with a baby sitter, she used to listen to new-wave, it was the 80's. To this day I'm still a fan of that type of music, and even the new music I like tends to have an 80's synth feel to it. I don't really remember my parents listening to much music when I was a kid.

</comment><comment><USER22> My personal experience is rather different. I really do not care for the mainstream radio, as such I didn't know music I cared for until later in my life. It's only when I actively started looking I was able to find music I like. To this day, music I don't care about, just goes straight through me as background noise.

</comment><comment><USER23> So this means that the next time someone says to me "I don't like X genre" or "I only listen to Jazz" I am allowed to murder them in their sleep for being uncultured musical xenophobes....right?

<comment><USER24> > uncultured

Yeah, so, the problem with the headline is that, these days, "musical taste" is mostly a _class_ signifier. A lot of research has been done relating to this[1] (though a lot is either paywalled or clickbaity news site).

If you remove these class associations, most westerners will agree that consonant music sounds good (regardless of genre and context) and dissonant sounds less good. Whether this is due to nature or nurture is what the OP's article is trying to determine.

1: [https://theses.lib.vt.edu/theses/available/etd-09072001-1014...](https://theses.lib.vt.edu/theses/available/etd-09072001-101445/unrestricted/whitethesis.doc.pdf)

</comment></comment><comment><USER25> We can look at a simple counter example to see the trivial findings compared to the title. Siblings can have completely different musical tastes.

<comment><USER26> Your siblings may hate a song you love because they were annoyed by your singing along to it. They may love a song you've never heard because they were with their friends when listening to it.

<comment><USER25> Those aren't even examples of taste though as much as idiosyncratic single- song ratings when the topic is about preferences for different tonal groups (consonance, dissonance, etc.). Unless there's a strong generalization possible for an entire genre based upon novel experiences (whether positively reinforcing or negatively doesn't matter here) I don't understand how taste is shaped so extensively in this manner.

</comment></comment></comment><comment> norea-armozel Well my parents had odd tastes. My dad loved Led Zeppelin but also had plenty of cassettes of Louis Armstrong. But predictably hip-hop was never in my dad's collection (nor mine at least for my teen years). Now I listen to everything from synthwave to Chinese opera. I don't know why but I think it's because the variety of music my parents consumed exposed me to different structures in music even if it's of the same genre. So I think I pick up on that commonality that all music seems to contain. I think it's not so much tastes that matter but how much variety you get in exposure to music to be able to appreciate music you've rarely, if ever, heard.

<comment><USER27> > [...] but also had plenty of cassettes of Louis Armstrong.

Sorry for the stupid association: [http://fma.wikia.com/wiki/Alex_Louis_Armstrong](http://fma.wikia.com/wiki/Alex_Louis_Armstrong)

I just happen to like anime more than music.

<comment> norea-armozel I think Satchmo would approve.

</comment></comment></comment><comment><USER28> Their data also equally supports the exact inverse conclusion: that people do have innate biological musical preferences for certain intervals, but remote and isolated cultures can override these and train people to be indifferent to them.

</comment><comment><USER29> A lot of extrapolation here.

</comment><comment><USER30> Well, I can understand how the principle being asserted would apply to cultural preferences with respect to scales & modes...but beyond that, eh, not so much.

</comment><comment><USER31> Oh, great! Something else my daughter can blame me for.

</comment><comment><USER32> Didn't read the article, but how is this not obvious?

</comment><comment><USER33> So you really can blame baby boomers for nickelback.</comment>


How To Successfully "Neg" Facebook - <AUTHOR> http://techcrunch.com/2014/01/24/facebook-branch-snapchat/

<comment><USER2> "Disclosure: I own FB stock and my significant other works for General Catalyst, a VC investor in Snapchat."

Good thing that was mentioned otherwise one might get the impression that there are conflicts of interest at TechCrunch...

( do I need one of these? - </s> )</comment>


NewEgg cracked in breach, hosted card-stealing code within its own checkout - <AUTHOR> https://arstechnica.com/information-technology/2018/09/newegg-hit-by-credit-card-stealing-code-injected-into-shopping-code/ <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=18024526](https://news.ycombinator.com/item?id=18024526)</comment>


Most read Data Science articles by quarter - <AUTHOR> http://www.datascienceweekly.org/data-science-resources/data-science-newsletter-most-read-articles

<comment><USER2> The last link was the most useful for people wanting to know a course sequence: [http://shanelynn.ie/index.php/online-learning-curriculum- for...](http://shanelynn.ie/index.php/online-learning-curriculum-for-data- scientists/)</comment>


Show HN: 'git inject' – amend commits other than HEAD - <AUTHOR> 'git inject' is a git alias (see code at the bottom). It is similar to 'git commit --amend', but it allows you to 'inject' your changes into commits further back in history (using 'rebase').
If you're as pedantic as I am about the git history you're about to push into master (as far as I can control it, I strive to keep each commit conceptually coherent), you'll often come to a situation where you have a modification that really belongs in an older commit. It takes a few git commands to stash other changes away, commit the modification, then interactively rebase over some previous commit, move your commit into place, change to 'fixup', save, exit, and then unstash whatever else you had lying around. Not fun.
Here's how 'git inject' makes it fun:
>> git inject <commit-ref> <patch-ref>
>> git inject HEAD^^ -a      # inject all work-dir modifications
>> git inject a28kd8 -p      # interactively select patches to inject
>> git inject HEAD~4 file1   # inject the modifications in file1
Just put this into your .gitconfig under 'aliases':
inject = "!f() { set -e; HASH=`git show $1 --pretty=format:\"%H\" -q`; shift; git commit -m \"fixup! $HASH\" $*; [ -n \"$(git diff-files)\" ] && git stash && DIRTY=1; git rebase $HASH^^ -i --autosquash; [ -n \"$DIRTY\" ] && git stash pop;}; f" <comment><USER2> This can be easily solved without aliases by adding a new commit on top, then using `git rebase -i` to re-order and squash the commit on top of another one.

It wasn't immediately obvious to me that you can also re-order patches using `rebase -i`. I've used for squashing and dropping temporary code before but realizing it can also reorder commits was really useful.

<comment><USER3> git rebase is just a mechanized cherry picker. (Agricultural implement, really, when you think about it.)

In fact, you can add arbitrary commits to the list, not only re-order the existing ones!

I sometimes do this:

        $ git log --reverse --oneline here..there > arbitrary-picks

Then we edit the arbitrary-picks file so that it has the interactive rebase syntax: i.e. putting the word "pick" in front of every line. Then:

        $ git rebase -i HEAD   # noop!

In the editor, we delete the "noop" line and read in the arbitrary-picks:

        :r arbitrary-picks

Wee, now we are picking all those commits into this branch, with the interactive rebase workflow.

<comment><USER4> Even cooler is the "exec" directive. I converted a darcs repo to git and then used rebase to separate the huge mass of commits in the dev repo into their own branches. It went something like this:

        exec git branch new_master
        exec git checkout -b branch-a
        pick a
        pick b
        pick c
        exec git checkout new_master
        pick d
        exec git checkout -b branch-b
        pick e
        exec git checkout new_master
        exec git checkout -b branch-c
        pick f
        ...
        exec git checkout new_master

The only trick was that you're doing stuff behind rebase's back, so whatever branch you end the script on gets `git reset` to the last pick. So you have to remember to switch back to master or end on a dummy branch that you can delete. Also, since the branch you are rebasing is not changed until the end, you can't rely on its name (since at the start it's pointing to the current state of things, not the new state), so you have to create your own branch if you want to keep popping back and forth.

It was a neat trick and when it was done all the commits were nicely sorted into feature branches, as if we'd been doing that all along.

</comment></comment></comment><comment><USER5> If you find that this is a regular part of your workflow, then you should consider trying Stacked Git:

[http://procode.org/stgit/](http://procode.org/stgit/)

(That page is actually out of date; it's actually somewhat better maintained than it appears there.) It seems to have fallen out of favour somewhat as Git's own native porcelain has improved over the years, but I know there are still some kernel developers using (and maintaining) it.

Personally, I find it allows me to do things trivially and routinely that others find difficult or impossible. I still prefer it even though I know how to accomplish the same thing using native Git commands (like rebase -i).

One of the things I like most is the lack of global (as opposed to per-branch) state of the kind that Git rebase relies on. So if I want to go switch to another branch in the middle of a rebase, I can. If I have unapplied patches that I haven't deleted, they'll still be there in a month or a year. I never have to worry about whether I am in Git's weird rebase mode or not, or decide whether I have to use "git commit --amend" or "git rebase --continue" (it depends on whether you specifically asked to edit the patch or there was an error applying it, and if you forget and guess badly Git does the Wrong Thing) because the commands are always the same, and the list of applied and unapplied patches is always right there to see.

</comment><comment><USER6> Eh most of the time I just commit blindly as I'm working (WIP #1, #2, etc) so I can see how the code has evolved or revert to an earlier approach if I end up in a blind alley.

When the code is tested and ready I just reset the index but leave the working directory, then commit different hunks to make coherent commits.

During reviews we use fixup commits so it doesn't blast the comment history on github, then the final merge does a rebase -i --autosquash.

</comment><comment><USER7> It's not exactly hard to do by hand:

        git add ...
        git commit --fixup $SHA
        git stash
        git rebase -i --autosquash $SHA~
        git stash pop

<comment><USER8> Or simply:

        git add ...
        git commit --fixup $SHA
        git rebase -i --autosquash --autostash $SHA~

<comment><AUTHOR> It gets more complicated if you have some other modified content that you wanna leave untouched. You then need to stash it or commit it separately.

The point of the alias is to make it all more user-friendly and less error- prone.

<comment><USER8> That's what the `--autostash` is for. It also has the advantage that the stash will be restored at the end of the rebase even if it hits problems and needs to be continued or aborted.

</comment></comment></comment></comment><comment><USER3> Do not expand arguments with unquoted

      $*

Use:

      "$@"

You probably want

      local HASH=...

and

      local DIRTY=

in there.

Also, why mix the old style

       `command ...`

and

       $(command ...)

expansion.

<comment><USER8> `local` is a bash-ism so it's best avoided in this context, and the command is running in its own shell anyway so the variables can't pollute anything else.

The other comments are 100% correct.

<comment><USER3> > _so the variables can 't pollute anything else_

The variables can already exist in the environment. One of them is tested by a statement that is reachable without that variable being initialized in that script.

A fix that keeps the script POSIX would be to initialize the variable.

</comment></comment></comment><comment><USER9> I have a similar function that's a bit simpler:

        gfixup () {
            REVISION=$(git rev-parse $1)
            git commit --fixup=$REVISION && git rebase -i --autosquash $REVISION~
        }

It doesn't handle stashing anything, but other than that it's basically the same.

<comment><USER10> Wouldn't the stash be easily handled with --autostash?

</comment></comment><comment><USER11> This is neat. Let me add that I use `git commit --amend` relatively often. Useful not only for adding "forgotten" files and changes, but also for editing the commit message.

<comment><USER2> Add --reset-author to update the timestamp to avoid getting confused with two versions of the "same" commit. It also updates the author information, which may or may not be what you want.

</comment></comment><comment><USER12> With the mercurial evolve extension this is simply:

hg commit # "stash" away whatever you had lying around

hg update <rev of older commit>

# make your changes

hg amend

hg evolve -a

</comment><comment><USER13> Thanks! I'd use this. Usually for updating previous commits that are up in Gerrit.

</comment><comment><USER14> Does this work when using the fish shell, which is not bash compatible?

<comment><USER15> git aliases aren't run in fish-shell, even if you've set that to be your default shell.

</comment></comment><comment><USER16> you mean under `[alias]`, rather than 'aliases'

</comment><comment><USER17> Imo if you were as pedantic about the history you wouldn't be tampering with it.

<comment><USER18> There's no issue if you haven't pushed to any remotes (origin) yet. I often wish I could amend a few commits back before pushing.

<comment><USER19> Then do a commit and then use rebase interactive (-i) and squash them together.

<comment><USER18> That's what I would do, and that's what "git inject" seems to be after.</comment></comment></comment></comment>


Mozilla spent $15k to remove the term "slave" from Buildbot code and docs - <AUTHOR> https://blog.mozilla.org/blog/2015/12/10/mozilla-open-source-support-first-awards-made/ <comment><USER2> Let's hope they remove "master" while they're at it.

<comment><USER3> That will be another 15k project :)</comment></comment>


Facebook threatens to delete synced photos if users don't download new photo app - <AUTHOR> http://www.theverge.com/2016/6/11/11908500/facebook-moments-auto-sync-notice-deletion <comment><USER2> They seem to go about these things in the wrong way. Take Messenger for example, there was no good reason to remove access to this via a browser on mobile devices. I don't want to have to install an app for something that was previously available in a browser. If you can't provide me with _all_ of the features of messenger in the browser then that's fine. I thought we were meant to be progressing towards a truly open web accessible to all, regardless of device.

This is just another example of Facebook doing whatever they please just because they can. I wonder how long that will last until people start moving away from the platform.

<comment><USER3> > I wonder how long that will last until people start moving away from the > platform.

I think we'll need a solid alternative first. What would people want in the "next Facebook" anyway? Easy contact with every old classmate, friend, and family member? A place for their photos? An easy way to invite anyone to an event? I would wait for that day, but personally my use of FB has majorly changed over the past 10 years on it and now I get more utility out of smaller, more focused services.

I think Facebook is trying to do the Google thing and have a bunch of discrete services under their umbrella, though they don't seem to have a clue how to do that. At least they're smart enough to buy up products that their alienated users will start running to.

<comment><USER4> I hope they won't screw WhatsApp up, since it's pretty minimalistic and nice app.

<comment><USER5> They are the dominant player in this market, I simply can't understand why they didn't crewed it already.

I can only speculate: it's because WhatsApp is giving them an always-updated social graph of a billion people right now (including inferred information on people who, like me, didn't install the application but whose numbers are in the contacts books of people who did it) and crossing this information with FB data brings more revenue than anything they can do with WhatsApp itself.

</comment></comment></comment></comment><comment><USER6> I'm pretty happy with my decision to keep Facebook apps off my phone. I'll check the mobile site once in a while to see the news feed, but that's it.

Of course I have google backing everything up, so maybe that's not much better. Time to write a little script to routinely backup photos from there to my own hard drive.

<comment><USER7> Google Takeout might help: [https://takeout.google.com/settings/takeout](https://takeout.google.com/settings/takeout)

</comment></comment><comment><USER8> I installed Messenger but didn't use it much. When Facebook shut off access to chat via the web app a few days ago I removed Messenger.

There's no way I'm going to install this app. I never installed the Facebook app because of repeated articles about what a battery killer it was.

I installed Google Photos on my iPhone because it provided me with some features I couldn't get otherwise.

</comment><comment><USER9> I read the article before I reacted but this is a bad move for a lot of reasons:

* user hostility & just doing this with messenger app.

* messenger app exists as does instagram and whatsapp. You want your own ecosystem, build a phone or an OS

* overplaying their hand. facebook is successful because it is a defacto standard. However, fragmenting new users by expecting them to have 4 apps (whatsapp, instagram, messenger & moments) as well as a website is a lot to ask. especially on a phone thats core function is messeging and photography, they are either launching an OS or they are insane.

Now, I use facebook occasionally out of convenience but I am not a huge fan of it. I recognize I am a fringe & atypical user concerned with privacy & tech consolidation, but threatening teenagers wasn't a great strategy when I was one not that long ago, so the alternative to "if you live under my house, you fol my rules", is to crash with your mates apple, microsoft, google, twitter, snapchat and whatever else exists

<comment><USER10> > You want your own ecosystem, build a phone or an OS

they tried that and it was a dismal failure.

<comment><USER9> thats my point. executing a hostile takeover of soneones phone could end poorly. im sure they calculated this, but i think they could have over estimated their leverage

</comment></comment></comment><comment><USER11> Okay, so, the obvious question seems to be: if I am an affected user (I'm not, I don't do that Facebook thing personally), then wouldn't uninstalling the app prevent the deletion of photos?

The article is thin on details, does this mean it deletes photos out of your Google Photos and Apple Camera Roll apps? It seems to be written a bit FUDdy, but it _is_ Facebook afterall, they're known to violate the social contract they have with users frequently.

<comment><USER12> They will delete photos synced to their servers, and only the copies _on_ their servers. And only photos that were synced automatically and not posted.

Most users have no reason whatsoever to worry.

<comment><USER11> Oh, that is a much smaller thing to worry about. Still a pointless dick move, but the article didn't actually spell that out.

</comment></comment></comment><comment><USER13> Yeah right. Nothing at Facebook gets deleted.

<comment><USER14> They will hide it from everyone but themselves, and the NSA...

</comment></comment><comment><USER15> Every time I read the latest news at Facebook, the more I'm glad I "deleted" my account there last year.

</comment><comment><USER16> I quit Facebook and never looked back once.

</comment><comment><USER17> This looks like the opposite of "make something people want."

</comment><comment><USER18> They really need a "don't be evil" slogan or something...

</comment><comment><USER19> I still can't figure out why they create more and more apps. What's wrong with a single FB app that supports messaging and photos?

</comment><comment><USER20> And what about platforms they don't actively support a "photo app" on, like Windows 10/10M?

</comment><comment><USER21> Monopoly behavior.

</comment><comment><USER22> Why is Facebook so bullish lately?

</comment><comment><USER23> Even if this wasn't bullshit it would be an empty threat. Facebook/Google never delete anything. Ever.

</comment><comment><USER24> -

<comment><USER25> Can provide any details? Is it right in principle, is the evidence wrong, or is the evidence wrong but conclusion right (or vice versa)

</comment></comment><comment><USER26> Reminds me of recent Apple shenanigans with iTunes.

</comment><comment><USER27> Go ahead! I don't keep anything on Facebook that I don't have locally.

<comment><USER28> That's nice. What about the millions of non-techies who are about to have their stuff deleted because Facebook decided, on a whim, to railroad them into the Moments app?

Everyone on HN knows not to trust Facebook with anything of of value, but as technical people our collective response to a corporation deleting the stuff of people who _don 't_ should not be "I'm okay, I have backups".

<comment><USER29> >What about the millions of non-techies who are about to have their stuff deleted because Facebook decided, on a whim, to railroad them into the Moments app?

They'll have a great opportunity to learn via experience what we've known for years. This is the only way they learn.

<comment><USER30> And they will learn an important lesson about using a free service. If you want functionality, pay money.</comment></comment></comment></comment>


Tell HN: Gmail wont allow to download an old zip with _my_ code - <AUTHOR> Today I was talking about some old code that I wrote like about 8 years ago, and I mentioned that I still keep a copy of all of it.
Then when looking for the zip file that I've sent to myself about 8 years ago .. I've found that Google refuses to give me _my_ code because:

    For security reasons, Gmail does not allow you to use this type of file as it violates Google policy for executables and archives.
 Seems like I can still forward the attachment; or at least it's displayed like it will be.
Lesson learn: Nothing that sits on your gmail is yours. Backup now! <comment><USER2> I create this HN account to help someone with this exact same issue.

[https://news.ycombinator.com/item?id=8701003](https://news.ycombinator.com/item?id=8701003)

tl;dr: 1) create a label; 2) add the message to that label; 3) Go to google.com/settings/takeout and export the single label from gmail.

Good luck!

</comment><comment><USER3> I was just able to download a zip attachment sent to me in 2007. It could have something to do with executables inside the zip file in your case.

</comment><comment><USER4> Why not hook up thunderbird via IMAP and see if you can get it that way.</comment>


John Resig's Secrets of the JavaScript Ninja Released - <AUTHOR> http://ejohn.org/blog/secrets-of-the-javascript-ninja-released/

<comment><USER2> I have expected much more from this book. Afer reading Zakas books any other javascript book looks like complete waste of time.</comment>


Microsoft Previews New JavaScript-Like Programming Language TypeScript - <AUTHOR> http://techcrunch.com/2012/10/01/microsoft-previews-new-javascript-like-programming-language-typescript/ <comment><USER2> I have this strange sort of sinking feeling that HTML5 is going to hit the open Internet in much the same way IE6 did. Every player in the game seems to be working in a different direction and the browser is turning into something much more than a vehicle for content.

I know I'm not the only one who believes this is a bad thing.

<comment><USER3> Right now that can't happen. Market share is dictating a productive environment for HTML5 that forces standard compliant behaviour. Until a browser comes out on top it's unlikely we'll see anything similar to what IE6 did to the web for sometime.

<comment><USER4> Except Google adding whatever they feel like to Chrome and feature hungry devs pushing users to Chrome because MSIE lacks "HTML5 support", when what they mean is that they want to use last week's experimental APIs in production sites today.

And only writing for webkit when doing mobile. Screw Firefox, or Opera or webstandards in general. Weehoo iPhone! (May also not break on Android)

It's already a strong trend. I say the fear is justified.

</comment></comment></comment><comment><USER5> The website itself has a lot more information:

<http://www.typescriptlang.org/>

At a glance, this looks like a rather elegant solution to the problem of adding optional type-markers to JS without completely destroying the nature of the language (as AS3 did, IMO).

</comment><comment><USER6> I find it interesting. Minimal addition, which adds a bit of strong typing to JS.

Weak typing is the thing that annoys me the most in JS, coming from Python.

</comment><comment><USER7> Sublime text, Vi and Emacs syntax files for TypeScript too [http://blogs.msdn.com/b/interoperability/archive/2012/10/01/...](http://blogs.msdn.com/b/interoperability/archive/2012/10/01/sublime- text-vi-emacs-typescript-enabled.aspx)

</comment><comment><USER8> Added it to this long list of languages that compile to JavaScript: [https://github.com/jashkenas/coffee-script/wiki/List-of- lang...](https://github.com/jashkenas/coffee-script/wiki/List-of-languages- that-compile-to-JS)

TypeScript is very similar in spirit to Dart, by Google. (see the 'Static typing' section of the above webpage)

<comment><USER9> See also: <http://altjs.org/>

There are mailing list and IRC channels linked from that page for those who are interested in this stuff.

</comment></comment><comment><USER10> As I posted in the other thread of this story:

What about debug support? I wont be using anything like Coffeescript or TypeScript until they get their Code Mapping down for debugging. Until then its nothing more than a cute novelty.

People claiming that its "not that hard to track down issues" without proper code mapping, just aren't working on a large enough codebase.

</comment><comment><USER11> here is the blog link from MSDN [http://blogs.msdn.com/b/somasegar/archive/2012/10/01/typescr...](http://blogs.msdn.com/b/somasegar/archive/2012/10/01/typescript- javascript-development-at-application-scale.aspx)

</comment><comment><USER12> I really like the Modules feature, it allows you to quickly namespace your classes.

</comment><comment><USER13> Larger discussion on HN over here:

<http://news.ycombinator.com/item?id=4597716>

</comment><comment><USER14> Embrace, extend and extinguish?[1]

[1]: <http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish>

</comment><comment><USER15> Uhhh.. I hope Microsoft understands that JavaScript isn't popular because of language features or syntax, it's popular because of widespread browser support.

<comment><USER16> This compiles to javascript ... whats the problem?

<comment><USER17> The problem is that the main benefit is a misdirection (syntax similar to javascript), on top of that this doesn't add anything different than coffee script or Dart already does.

This is a language without a proposal just to keep microsoft in the game.

Since Google and Mozilla have a javascript alternative we need one too

<comment><USER18> This is very different than my understanding of coffee script and dart in that it is a superset of JS. This means you can incrementally make use of and learn it.

MS came with a different approach. Rather than recreating the language of the web they asked how they van make it better.</comment></comment></comment></comment>


Researchers Used Sonar Signal from Smartphone Speaker to Steal Unlock Passwords - <AUTHOR> https://motherboard.vice.com/en_us/article/kzyd4m/researchers-used-sonar-signal-from-a-smartphone-speaker-to-steal-unlock-passwords <comment><USER2> > "We expect iPhones are similarly vulnerable, but we only tested our attack > on Androids," Peng Cheng, a doctoral student at Lancaster University told me > in an email.

Well, of course not. First of all, iPhones don't have unlock patterns. Which greatly diminishes the usefulness of this approach. Also, I don't believe iOS would allow continuous use of microphone and speaker when the screen is off. And it is incredibly hard to sideload applications on unsuspecting users.

<comment><USER3> I make phone calls from time to time with my iPhone. The screen is off but the microphone and speaker are enabled.

</comment></comment><comment><USER4> >There are nearly 400,000 possible unlock patterns on the 3x3 swipe grid on Android phones, but prior research has demonstrated that 20 percent of people use one of 12 common patterns. While testing SonarSnoop, the researchers only focused on these dozen unlock combinations.

It seems to me that the effectiveness of this exploit comes more from the poor passwords most people use than any truly "earth shattering" security flaw in the technology.

</comment><comment><USER5> Link to the original paper

[https://arxiv.org/abs/1808.10250](https://arxiv.org/abs/1808.10250)

</comment><comment><USER6> I wonder if you could use the accelometers for something similar?

Made some practise runs with my iPhone and at least with this screen size the phone is moving when I try to mimick the unlock patterns with thumb.

</comment><comment><USER7> Far easier is to just look at the smudge patterns on the screen.

<comment><USER8> Or to just record someone putting their code in from afar.</comment></comment>


Ask HN: Do's/don'ts of working with Kubernetes you learned through experience? - <AUTHOR> We are rolling out Kubernetes to production next month and I'm interested to hear from people who made that step already. <comment><USER2> Can I be honest?

As someone who hopped on the K8s bandwagon back in the early days (circa-early 2017), _do not_ go into production with Kubernetes if you're still asking this question.

Just a few of the issues I've run into over the past 2 1/2 years or so:

\- Kubernetes DNS flaking out completely

\- Kubernetes DNS flaking out occasionally (for ~5 percent of queries)

\- Giving out too many permissions, causing pods to be deleted without a clear reason why, often taking down production traffic or logging with it

\- Giving out too few permissions, making our deployment infrastructure depend on a few lynchpins rather than sharing the production burden

\- probably a dozen different logging aggregation systems, none of which strike a balance between speed and CPU cost

\- probably a half-dozen different service meshes, all of which suck (with the exception of linkerd, which is actually quite good)

\- teams with bad santization practices leaking credentials all over the place

\- Running Vault in Kubernetes (really, don't ever do this)

\- Disks becoming unattached from their pods for no discernable reason, only to be re-attached minutes later again with no explanation

\- At least one major production outage on every single Kubernetes-based system I've built that can be directly attributed to Kubernetes

\- Etcd failovers

\- Etcd replication failures

\- Privilege escalation due to an unsecured Jenkins builder causing credential exfiltration (this one was _super_ fun to fix)

Kubernetes is a powerful tool, and I've helped run some massive (1000+ node, 5000+ pod x 3 AZ's) systems based on K8s, but it took me a solid year of experimenting and tinkering to feel even remotely comfortable putting anything based on K8s into production. If you haven't run into any "major" issues, you're going to very soon. I can only wish you good luck.

<comment><USER3> Thanks for describing your experience.

You do suggest not going into production with k8s, but what if the alternative is as difficult to implement or worse?

</comment></comment><comment><USER4> See the excellent collection of Kubernetes incident reviews at [https://k8s.af](https://k8s.af)

<comment><USER5> Wow, there are at least two linked stories where people are running pods without resource limit. Without. Resource. Limit.

At my workplace, I've been whining that we really need resource limit for... well much longer than I'd like... while thinking few other places will be crazy enough to think you can just start jobs without limits. But apparently many people do! Why are we running Kubernetes, again?

</comment></comment><comment><USER6> Do keep a gitops folder / repository to keep your cluster in sync with expectations, do not let adhoc edits become the norm.

Use tools like kustomize to reduce proliferation of duplicate k8s resource files.

Do make sure you are using health and liveness checks.

Definitely take care to specify resource requests and limits.

Do use annotations to control provider resources, rather than manually tweaking provider resources that are auto generated by basic k8s files with no annotations.

Aggregate your logs.

<comment><USER7> Could you comment more on your log aggregation tooling? Did you set up an ELK stack? Self installed or paid? That is the most frustrating part for me — why some of the tooling is not built in.

<comment><USER6> We don't have the most sophisticated setup, we're on AWS so we use a fluentd daemonset to ship logs to cloudWatch.

In many respects kubernetes is just a really nice piece of marble to start with, you still have to carve your statue.

If certain tooling was built-in they would be making stack-specific subjective decisions for you, which is somewhat antithetical to the kubernetes model.

They'll make critical operational decisions for you (e.g. core competencies like scheduling work across a pool of resources), but when it comes to supporting tooling, you still have to make some decisions on your own.

For a lesser burden, there are most likely helm charts or other prepackaged log aggregation tools out there.

</comment></comment></comment><comment><USER8> \- Deleting or bulk changing something? Always use the flag --record. This way, you can refer back to what you changed using kubectl rollout history.

\- If you're planning on using GKE, you'll have to expose your apps using Ingress (this way you can use GCP's L7 Load Balancing with HTTPs). However, this architecture has many limits (e.g. a hard limit of 1000 forwarding rules (FW) per project, each ingress creates an FW and k8s ingress can't refer to another namespace), so make sure you use namespaces wisely.

\- Try to learn and teach people on your team about requests and limits. If you don't use it carefully, you'll end up wasting a lot of resources. Also, make sure you have Prometheus and Grafana set up, to give you some visibility.

\- Setup Heptio's Velero, it's a lifesaver, especially when running in a managed environment where you have no access to etcd. It can be used to backup your whole cluster and migrate workloads between clusters. If, for some reason, you end up deleting a cluster by mistake, it will be easier to recover its workloads using Velero.

<comment><USER9> Minor note: you can have multiple ingress resources for the same hostname. This way you can route some paths to some services in a namespace and other paths to other namespaces.

(Yes, it's confusing. Yes, it can be dangerous)

<comment><USER8> It's really confusing. The PaaS we provide to our devs creates a namespace per app with an ingress (when the app is a web app). We have hit this limit and we were thinking about doing what you mentioned.

After reading this gigantic issue ([https://github.com/kubernetes/kubernetes/issues/17088](https://github.com/kubernetes/kubernetes/issues/17088)), we gave up and just created another GCP project.

</comment></comment></comment><comment><USER10> We're moving away from Kubernetes, to Aptible.

If you're asking these kinds of questions you shouldn't be using kubernetes.

If you are going to use it, be ready to have an engineer on your time be full time devops. Or be ready to hire someone who knows k8. It'll be around 110k to 140k.

But really, don't use it. The gospel you hear is from engineers who already invested their careers in it. Buyer beware.

<comment><USER11> Something I'm struggling to understand about the hype of orchestrating a container architecture for everything you do is, if it's so incredibly nuanced, full of pitfalls, and k8 takes 80 hours of instruction/practice to full grasp how "easy" it makes life (despite there being layers on top of it like openshift that most orgs are gonna use anyway) and takes at least one "devops" person on a six figure salary to make sure it all doesnt crash and burn.. what was the point?

<comment><USER10> After a few weeks of diving into it, the point is that you can scale from tiny 1 pod, to huge enterprise Google-scale infrastructure.

But realistically, you don't need all that bullshit when you're a startup or even a large company making 7 figures.

</comment></comment></comment><comment><USER12> Don't give everybody prod access, but give enough people prod access.

Use namespaces and logically bounded clusters. Get your monitoring, and tracing and a dashboard to visualize this figured out now.

</comment><comment><USER13> Managed or custom deploy? What is the size of the cluster and team that will be using it?

Kubernetes is a hell of a lot configurable, so your environment matters a lot on the must and nice to have.

If not managed, make sure you go through all components flags and configure things like reserved resources, forbid hostpath usage, pod security policies (do not allow root), etc

Also, avoid service meshes until you fully understand how to use "vanilla" Kubernetes, don't add this complexity from day 1 because debugging cluster issues can get a lot harder.

</comment><comment><USER14> We experienced an issue with a validating webhook controller configured to validate (way) more than needed - I wrote it up here: [https://blog.jetstack.io/blog/gke-webhook- outage](https://blog.jetstack.io/blog/gke-webhook-outage). It's on [https://k8s.af](https://k8s.af) \- a great place for k8s related postmortems.

</comment><comment><USER15> Have a very clear business case of why you are using it.

Rolling out K8s should not be the goal. It's a toolset, an expensive a bleeding edge one. It's also very much geared for operators not developers so you likely need to build guide rails on top of it.

There are lots of good reasons to use K8s but make sure you know why you are.

</comment><comment><USER16> If your application requires high availability, make sure you are setting pod disruption budgets and have some special behavior when SIGKILL is sent to an app/pod. For some of our applications, we have some logic to finish all current requests after SIGKILL is sent, so that none are dropped.

<comment><USER17> You mean SIGTERM, right? That's what gets sent to the containers before the grace period expires.

<comment><USER16> Yes, my mistake.

</comment></comment></comment><comment><USER18> Don't use Kubernetes.

</comment><comment><USER19> DON'T: use it.

<comment><USER20> You're gonna get downvoted to hell. But this is probably the sanest advice.

To OP- elaborate on what you're actually trying to accomplish

</comment></comment><comment><USER21> DON'T USE IT !!!!!</comment>


Coming Soon: Fonts from Monotype Imaging - <AUTHOR> http://blog.typekit.com/2012/09/24/coming-soon-fonts-from-monotype-imaging/

<comment><USER2> > Coming Soon: Fonts ...

Great -- another effort to turn something that's until now been free, into a paid product.

Stay tuned for the first effort to claim proprietary ownership over a large class of fonts that have until now been free, or worse, a "Look & Feel" lawsuit about competing fonts that aren't distinguishable to the eye of a trained observer.

This is likely to be like icons all over again -- are icons property? Legally, yes and no. How about square boxes with round corners?

More to the point, will people actually choose to buy fonts when equivalent fonts are available in the public domain? A business like this can only prevail by suing anyone willing to give away products that resemble theirs. Like Apple is doing now. Like Microsoft did years ago.</comment>


Google Holds Out Against 'Do Not Track' Flag - <AUTHOR> http://www.wired.com/epicenter/2011/04/chrome-do-not-track/

<comment><USER2> The 'Do Not Track' proposal is a travesty, because it depends on the participation of the violator. Furthermore, it completely invalidates itself, because the only method of compliance is through tracking!

Privacy control needs to be in the hands of the user, before a tracking site is even resolved via DNS. A combination of extensions like RequestPolicy and BetterPrivacy go a long way towards achieving this (but new tracking techniques are always being developed). Browsers need to have some of this functionality built-in, instead of trying to protect the sheep by supporting a protocol developed by wolves.

</comment><comment><USER3> From what I understand, the do not track header is added to ever single browser request when the option is enabled. With virtually nobody actually obeying the do not track header, all it is for the time being is a waste of bandwidth. Certainly not a lot, but it probably adds up.

Yes, in theory a decentralized system for indicating privacy settings is a great idea, but the large scale offenders, the only people whose networks span a great enough breadth in order to collect useful information on people, happen to be a pretty small number. A quasi centralized system with opt out cookies has less of an overhead, less ambiguity and most importantly of all, already exists and works.

Plus, tracking on the web is not a binary thing. Maybe for a simple blog or ad, it might be less ambiguous. But are you still allowed to be able to know how many visitors you have on a given day? If your on a web app, does do not track mean you can't save any documents because they constitute a digital trail of what you've done?

A system to fight tracking needs to be nuanced. Something like that disconnect extension, where it's not simply on or off.

If you think about it, google doesn't really have any real reason to hinder the adoption of DoNotTrack to preserve it's data mining business. A do not track header standard would hinder competitors equally, whereas the opt out cookies would single out google. If i were in that position, I would choose the option that hinders my competitors as well.

</comment><comment><USER4> From the article itself: "Even if Google adopts it, right now the tool is in some ways toothless."

So, kind of a baiting headline.

</comment><comment><USER5> I am with Google in not supporting this flag. I think it will just bring on a false sense of security.

I feel that the other browsers are just trying to get a tick in the privacy features box.

</comment><comment><USER6> uninformed rant: Do-not-track headers feel like a sham. When you access content and services funded by advertising, you opt in to advertising. I think a service would be fine to ignore the header, because the user has presumably already implied permission to be tracked by accessing the service.

Consumers want 'cheap' far more than they want privacy. They sign up for retail credit cards to save $20 on a single order. They scan their grocery keytag every time they shop. They give their mailing address for a free t-shirt. Maybe you guys don't do this, but I still find myself irrationally hemming and hawing over a small purchase. To fix this, the way we think about money as a culture would have to shift.

Privacy awareness is a good thing coming out of this, and consumers understanding privacy can lead to better choices and more competition, but in the short term I don't see much practical impact.

</comment><comment><USER7> Shouldn't the real question be whether the Google Analytics, google.com and adwords servers listen to the new header?

</comment><comment><USER6> i think its interesting what might happen if this movement gained enough traction to hurt google's adwords revenue. How much is a tracking cookie worth to them? would they require opting-in to tracking to use google services? is no-track enough of a competitive distinction that mainstream consumers will pay money for no-track services? is it enough money for a no-track business to compete, and will they find unexplored ways to make money?</comment>