Ask HN: Which programmer do you look up to? - <AUTHOR> Which programmer do you look up to? And why?
Were they a mentor? Someone you didn't even meet, but were inspired by?
What did you learn from them that you can share with us? <comment><USER3> Thousands, too many to name. If you read lots of code and books, you will be humbled at many brilliant folks that are out there.

Peter Norvig - Checkout his page, and his books PPIA, AIMA

Sandi Metz - Watch her talks

Rich Hickey - Watch his talks

Raymond Hettinger - Watch his live coding sections

Brian Kernighan - read "The Pratice of Programming"

Richard O'Keefe - read "The Craft of Prolog"

John Carmack - The master of constraints and doing more by doing less

Jan Weilemaker - maintainer of SWI-Prolog, read the code

Linux Linus - His stubborness and meaniness has kept Linux together, if he was too passive, the kernel would have been a mess. Design by committe rarely works, someone gotta own it. He owns it.

OpenBSD Theo - Unix systems are better secure because of Theo's stubbornness, lots of branches end up incorporating changes that started from OpenBSD.

TJ Holowaychuk - I think he writes 10,000 lines of code a day

PHP Nikita Popov - The kid is brilliant

Anthony Minessale of Freeswitch

Moxie Marlinspike - the guy that brought us signal

Kyle Kingsbury aka Aphyr, checkout Jepsen, checkout his clojure tutorial.

Sergio Moreira, Nagra - famous PSX Hacker

<comment><USER4> I've never heard of Raymond Hettinger before but I'm currently watching one of his videos [1] and it's amazing. Thanks for sharing your list, I'll definitely look up some more of these people.

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

<comment><USER5> All I can say is wow! Any equivalent videos of ruby programmers ? Just found this by Sandi Metz for anyone interested: [https://www.youtube.com/watch?v=PJjHfa5yxlU](https://www.youtube.com/watch?v=PJjHfa5yxlU)

</comment></comment></comment><comment><USER6> Well, Linux Torvalds would be an inspiration, definitely. To start from basically nothing and build Linux into what it's become, is no small feat (of course he had help, but that doesn't detract from the accomplishment).

Other inspirations are a lot of the standard "greats" of the field: Rob Pike, Dennis Ritchie, Bjarne Stroustrupp, Brian Kernighan, Marvin Minsky, John McCarthy, Richard Stevens, Nicholas Wirth, Edsger Dijkstra, Charles Simonyi, etc.

</comment><comment><USER7> Tarn Adams, the creator of Dwarf Fortress.

He hasn't revolutionized programming itself or anything but he works on one project indefinitely and lives off donations. Only works on features he finds interesting.

He lives an ideal life for a programmer in my opinion.

</comment><comment><USER8> A senior dev in a company where I used to work. Helped me break out of architecture astronautism. Always got work done really quickly with simple code, no fancy tricks. 10x developer isn't real but this guy was probably 2 or 3x. Maintained a partial Linux build of our officially Windows only product due to personal ideology. And was really humble and friendly.

</comment><comment><USER9> I see Daniel Bernstein hasn't been mentioned, but looking through his software, not many can match his track record of (seemingly) bug-free C code. In any case, he's a mathematician and it shows.

Since learning about his patricia tree implementation (or rather, crit-bit tree), i've been using it in a lot of projects, and again, very clean and beautiful implementation of an efficient data structure.

So yes, his work (among that of many others) has been a source of inspiration for me.

</comment><comment><USER4> Gary Bernhardt. He does a great job at teaching Vim/Bash/Git workflow in his screencasts, which is typically something that's hard to learn on your own. I remember my mind getting blown when he did this in vim `:nmap ,t :w\|:!clear && ruby %<cr>` (if you don't use vim, this remaps comma-t to run the current ruby file you're editing). I still use that little trick all the time and it always amuses my friends.

</comment><comment><USER10> David Harel[1], the inventor of Statecharts notation.

"If asked about the lessons to be learned from the statecharts story, I would definitely put tool support for executability and experience in real-world use at the top of the list. Too much computer science research on languages, methodologies, and semantics never finds its way into the real world, even in the long term, because these two issues do not get sufficient priority. One of the most interesting aspects of this story is the fact that the work was not done in an academic tower, inventing something and trying to push it down the throats of real-world engineers. It was done by going into the lion's den, working with the people in industry. This is something I would not hesitate to recommend to young researchers; in order to affect the real world, one must go there and roll up one's sleeves. One secret is to try to get a handle on the thought processes of the engineers doing the real work and who will ultimately use these ideas and tools. In my case, they were the avionics engineers, and when I do biological modeling, they are biologists. If what you come up with does not jibe with how they think, they will not use it. It's that simple."[2]

[1] [http://www.wisdom.weizmann.ac.il/~harel/papers.html](http://www.wisdom.weizmann.ac.il/~harel/papers.html)

[2] [http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.H...](http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.History.CACM.pdf)

</comment><comment><USER11> [https://en.wikipedia.org/wiki/John_Carmack](https://en.wikipedia.org/wiki/John_Carmack)

</comment><comment><USER12> Greenblatt and Gosper and Stallman back when he was competing with Symbolics. Giants of yesteryear. Whenever I get sick of it all, I read Levy's "Hackers" again and come away inspired.

</comment><comment><USER13> For me what's impressive is when someone builds a product that becomes so successful it takes on a life of its own. Examples:

(redis) antirez (redis) - Beautiful product, elegant codebase, thriving ecosystem. Amazing work for one person (obviously many more people are involved now, but just getting a product to the point of creating an ecosystem is impressive)

(docker) shykes, jpetazzo and the rest of the docker team

(react) Pete Hunt, one of the original creators of react (I'm sure others were involved, but I met this guy years back in SF, he probably doesn't remember - but he came off as quite smart)

(ffmpeg, qemu) fabrice bellard - Mentioned elsewhere in this thread, the guy is an absolute beast.

(hashicorp) Mitchell Hasimoto - The best example of a 10x programmer I've ever seen, but also great product sense. Every hashicorp product is well built and it's emerging as a nice ecosystem.

(bitcoin) Satoshi - come on. Obviously.

(ethereum) Vitalik Buterin - I was skeptical of ethereum at first but I've been really impressed by Vitalik and the team's dedication - they did a great job launching a product and building an ecosystem around it (<insert criticisms of solidity>)

(Tor) Roger Dingledine and Paul Syverson - Tor. Visionary, world changing product and a strong community.

(javascript) brandon eich - Original creator of JS

(go) Rob Pike - <USER2>

(other languages): DHH (rails), Yukihiro Matsumoto (ruby), Guido von Rossum (python), Resmus Lerdorf (PHP, believe it or not)

(the obvious): Linus Torvalds (linux, git), John Carmack (doom, quake, oculus)

(the kings): Zuckerberg, Gates

(the graybeards): kernighan, ritchie, thompson, knuth

(games): notch (minecraft), Sid Meier (civ)

</comment><comment><USER14> Fabrice Bellard

<comment><USER15> I came here looking for Fabrice to be mentioned.

[http://www.valleytalk.org/wp- content/uploads/2010/11/Fabrice...](http://www.valleytalk.org/wp- content/uploads/2010/11/FabriceBellard.pdf)

</comment></comment><comment><USER16> Surprisingly, at least for me, i don't see here Robert C. Martin, Kent Beck or Alan Key...

Maybe they are old, and not the bussiness-succesfull-type but they are still Gods for me in the academic side. They can clarify a lot of things most people think they understood, or worst, i tought i understood.

Why? For me? Because the power they have modeling, the experience they accumulated in a lot of areas, how they move checking metrics and not only by what they feel or their instinct. And of course, because of the power of their ideas which made them famous.

You dont have to agree them 100% of the time. Of course not. But when you don't agree, check that twice, and check again after some years of earning knowledge and experience too. They deserve that.

</comment><comment><USER17> Paul Graham - basically I love reading 100% of what he writes. Everything brings unique insights and it's encouraging to see the hacker mindset in someone so experienced.

Joel Spolsky - also a great writer.

Chris Sawyer - anyone who could write a full game in assembly is really badass

</comment><comment><USER18> Aaron Patterson. For the 10+ years I've followed his work, he's always been kind, generous, hard-working, an excellent teacher of the craft and, quite simply, a good person. The same goes for Salvatore Sanfilippo.

</comment><comment><USER19> Jon Bentley, author of Programming Pearls, which is the clearest explanation of solving the actual problem needed; when I say "software engineering", PP is what I mean.

William Kent, author of Data & Reality [https://mdhughes.tech/2017/07/19/data- and-reality-william-ke...](https://mdhughes.tech/2017/07/19/data-and-reality- william-kent/)

Kent Beck, author of Extreme Programming Explained, for making good engineering practices "go to 11".

</comment><comment><USER20> Why the Lucky Stiff

</comment><comment><USER21> There are almost too many to mention, but @antirez, of redis-fame, is definitely one of the more interesting and younger programmers.

</comment><comment><USER22> Tim Sweeney of Epic Games has some very interesting ideas on programming and languages. He inspired me to make a career out of it (for better or worse).

I've met and worked with a lot of inspiring good programmers in my life, so it would be difficult to provide a list of names.

</comment><comment><USER23> Eric S. Raymond. Though he - like Stallman - is a bit of a controversial figure, I learnt a lot about software architecture from his "The Art of Unix Programming". And I admire him for the many key FOSS projects he has been an important part of.

</comment><comment><USER24> My professor of distributed networking. He always pushed for not accepting the status quo and think outside the box. Taught me to look through bullshit and pretense. His use to say TCP is not perfect think of your own protocol

</comment><comment><USER25> I'm impressed with and have been inspired by the work many programmers have produced, but I don't look up to them. As a matter of principle, I think it is unhealthy behaviour to idolise others.

<comment><USER23> There is a big difference between looking up to somebody and idolising him/her.

Looking up to somebody means that you admire them for their character and/or achievements. "Honour to whom honour is due." In a further step, they might become a role model - meaning that you take them as a personal example because you want to achieve similar things in life. This is in line with Newton's "If I have seen far, it is because I have stood on the shoulders of giants." Their example inspires and guides you in your own efforts.

Idolising starts when you admire somebody so much that you fail to see them as human. You refuse to admit to their weaknesses and failures. And instead of seeking inspiration from them for living your own life, you attempt to relive theirs. They have become a god to you - hence the term, "idol".

</comment></comment><comment><USER26> Pierre-Olivier Latour -- he built Quartz Composer & GitUp, two pretty incredible tools. Looking at his portfolio, I'm amazed how much high quality software a single person can build.

</comment><comment><USER27> Seebs — he writes "programs" for his own brain and then runs them fast enough that he frequently picks up on things that people who are naturally talented in that area would miss.

</comment><comment><USER28> The programmers I hire.

</comment><comment><USER29> Programmers who found world changing companies, meaning they have strong business acumen.

</comment><comment><USER30> Joel Spolsky - I especially like the essays about how to treat programmers right.

</comment><comment><USER31> Chuck Moore

</comment><comment><USER32> Chandler Carruth. His talks at cppcon and his work is great.

</comment><comment><USER33> John Resig --- jQuery is a tour de force.

</comment><comment><USER34> @DHH

</comment><comment><USER35> Joe Armstrong

</comment><comment><USER36> Aaron Swartz

</comment><comment><USER37> You

</comment><comment><USER38> * Richard Stallman

* Linus Torvalds

* Satoshi Nakamoto

* Donald Knuth

* Yukihiro Matsumoto

* Terry A. Davis</comment>


Chroot 40th anniversary, added to BSD in 1979 - <AUTHOR> https://twitter.com/Rabieh_Fashwall/status/1130747204312981504 <comment><USER2> Reminder: chroot is nice for separation, but insufficient for security. There are many ways to break out.</comment>


Ask HN: How can I professionally make the most of moving to a big city? - <AUTHOR> Hi HN. I recently moved across the pond from a smallish town in America to Europe (Berlin fwiw). One of the draws for me here (among many others) is the opportunity to further myself professionally. Where I have been living, the tech space is tiny relatively speaking. That said, what are some of the best parts of living in a large city for you? What's worth (or a waste of) your time? What has helped you grow the most or just been interesting? Looking forward to hearing about your experiences. <comment><USER2> I'd jot down what you hope to get out of the experience now while it's fresh in your mind, and remind yourself every now and then. I did a stint in Berlin, it's a great city. Best part of living in a large city is the variety of people and the interesting things they're doing. It's great to scope out the city and see what's happening, try new things but the sooner you find your people and get going on what exactly you wanted to do to further yourself professionally the better! It's definitely very easy to get distracted in Berlin :-)</comment>


IPhone 4 Teardown - <AUTHOR> http://www.ifixit.com/Teardown/iPhone-4-Teardown/3130/1

<comment><AUTHOR> From their press email:

"We went to extreme lengths to acquire the iPhone 4. Kyle flew to Japan, expecting to take advantage of the 16-hour time difference. He had his camping gear all ready to wait in line outside the Ginza Apple Store tonight.

But then, in a last-minute twist that should come as no surprise to anyone familiar with the ongoing iPhone 4 release drama, FedEx delivered some iPhone 4 units to customers two days early.

One of those customers, an engineer at a Silicon Valley startup, provided us his phone. And we are taking it apart. I present to you the first legal teardown of the iPhone 4: <http://www.ifixit.com/Teardown/iPhone-4-Teardown/3130/1>

We have confirmed that the iPhone's A4 processor has 512 MB RAM, unlike the iPad's more limited 256 MB. This decision may have been made fairly late in Apple's development cycle, because early leaked prototype phones only had 256 MB.

The teardown is in progress, and we will send you a summary of our findings once we complete our initial analysis.

Here is a high resolution photo: <http://s1.guide- images.ifixit.net/igi/y1RInG6BsFCuADov.huge>

We will also be performing an ultra in-depth silicon analysis of the A4 and the new gyroscope, but the results will not be available for a few days."

</comment><comment><USER2> So the glass is just Gorilla Glass from Corning, same as the Motorola Droid, Dell Streak etc. I wonder if that's what they're using on the back too?

edit: quick Google suggests maybe not, since someone managed to scrape the back, which is pretty hard to do with Gorilla Glass:

[http://www.engadget.com/2010/06/23/yes-you-can-certainly- scr...](http://www.engadget.com/2010/06/23/yes-you-can-certainly-scratch-the- iphone-4/)

</comment><comment><USER3> They say that they found the gyro here: <http://www.ifixit.com/Teardown/iPhone-4-Teardown/3130/2>

But to me that looks like the motor for vibration. I would assume the gyro to be mems.

</comment><comment><USER4> Nice picture interface on this site.</comment>


Ask HN: How to motivate QA to have more initiative? - <AUTHOR>

We'd like to increase the initiative of our QA team.
Their current workflow is as follows:
1. The dev team creates a JIRA for a new feature with the spec. Once the feature is complete, it is assigned to a TestQueue.
2. The QA team looks at the TestQueue and assigns the JIRAS to themselves to begin testing.
3. They test the new feature to make sure that it meets the specs. If a bug is found, a comment is added and the JIRA is re-assigned to the dev to fix.
The problem is that there isn't any initiative to go beyond making sure the initial spec is met. Only the minimum amount of work is done. They don't really make an effort to see if there are more bugs that could have crept up from implementing the new work.
We're looking for any kind of advice/ideas on how we could improve our management of the QA team. <comment><USER2> They're not doing QA. They're doing QC. QC (quality checking) is making sure that things have been done properly and the spec has been met. And, as you've discovered, the problem with QC is that it's usually limited to checking what the spec says and little more. QA is about defining processes that assure quality _from the beginning_ \- QA people need to be involved during the requirements gathering, writing the specification, during the build process, all from the perspective of making a quality product. Get the QA team involved long before things hit the test queue in focusing on how they can improve the final product from the start, including things like writing unit tests, organising focus groups, sitting in on code reviews, documenting things, and so on.

</comment><comment><USER3> It sounds like your QA team believes their purpose is to test that basic functionality is working as intended. This puts the focus on "checking the boxes" and not exploring edge cases or applying their deep knowledge of your product to try to find shortcomings.

I strongly believe that automating the repetitive and mindless aspects of the QA process is the crucial step to shifting their attitude. Automated UI tests can give everyone confidence within minutes that core functionality has not regressed. This allows the QA team to dive into a product or feature in a creative way and do their best to find the rough edges and help make the product better.

I have a consulting practice exclusively dedicated to helping startups with this very process: [http://structurehq.com](http://structurehq.com)

</comment><comment><USER4> Does your QA team have experience and training in testing? Is the person managing the QA team knowledgeable about testing? If not, maybe you need to spend more time to train them, or spend more money to hire better qualified testers. You get what you pay for.

Also, how do your developers treat your QA team? Do they treat them as respected colleagues or as nuisances? If the testers are treated poorly by the developers, they probably wouldn't be motivated to do great work.

Finally, is your QA team part of your company or are they outsourced contractors? Employees of contracting companies are generally going to care less about doing a good job for your company than your own employees, whose career paths depend on the success of your company.

</comment><comment><USER5> Setup code coverage tools and make them ensure a certain percentage of code coverage.</comment>


Show HN: KickAssSubtitles – browser-based subtitle searcher and converter - <AUTHOR> https://kickasssubtitles.com <comment><AUTHOR> Hi there HN!

i'd like to share with you a side-project i've been working on recently. To describe it shortly - its browser-based subtitle searcher & converter. You can think of it as a really simplistic clone of opensubtitles.org for instance.

The project is open-source :) You can find the repository here:

[https://github.com/kickasssubtitles/kickasssubtitles](https://github.com/kickasssubtitles/kickasssubtitles)

I would greatly appreciate your feedback. I have plans to add more site- translations and expose an API in the future.

Cheers!</comment>


Facebook expected to revise plans for Messenger Bot API as failure rate hits 70% - <AUTHOR> https://www.theregister.co.uk/2017/02/22/facebook_ai_fail/ <comment><USER2> What is the metric actually measuring? Where did 70% come from? The article says that only 30% of requests were automated but I find it hard to believe that the API aims for 100% automated responses for all requests. Heck, if the bot API managed to reduce human resourcing by 30%, I'd say that's more success than not.

Is this an article or an opinion piece? It reads very weirdly but I can't pinpoint it.

<comment><USER3> this article is pretty much vapor. theregister has been hitting the news pretty hard and is becoming one of the more popular non-mainstream sources. So they probably need some filler content?

30% in a year is solid, especially with the proliferation of tools for building bots making it more and more accessible to tinkerers and smaller orgs. ie, use caes where complete automation may not be the primary goal.

<comment><USER4> 30% in a year is "solid"? If Apple released something that failed 70% of the time on launch day they would never hear the end of it. The original Newton's handwriting recognition was _way_ better than that.

<comment><USER3> wow, both of those points are entirely out of context.

First, their BOT api which is the product in question, works 100% of the time. the failure rate mentioned has to so with conversation that require humans as opposed to entirely AI driven. A better Apple analogy would be Siri. if Siri failed to even acknowledge a request 70% of the time, it would indeed be catastrophic. But siri does often fail at providing relevant results and while frustrating, is entirely expected.

We could argue more, but as you and I have both noted, the main substance of the interview is not provided.

<comment><USER5> Still not quite there.

FB's third party access to the messenger platform (aka you and the article calling it the bot api) is supposedly failing 30%.

That number, if I were to guess where it came from, likely came from the fact that a chat bot app has to be submitted to Facebook for approval. That means FB has a running tally of how many chat bot accounts exists within their ecosystem.

Maybe that number is 100k.

Likewise, because messages are passed to FB to then be passed to the user, FB has a runny tally of the sentimental analysis or even the blocking analysis (users have the option to block bot accounts).

From there they can ascertain that 70,000 bot accounts result in negative interactions, discontinued use, or results in the user banning the bot.

This is the equivalent of Apple opening up third party access to the Siri platform and seeing that developers and users don't like the 70% of the ways to interact with Siri. Or Amazon saying that users don't like 70% of the Alexa Skills available.

</comment></comment></comment></comment></comment><comment><USER6> I'm surprised there's so many theregister articles on the front page these days, it's not exactly the most reliable source of information and most of its stuff is clickbait.

I seem to remember certain websites automatically get a lower weight on HN when they get upvoted a lot - shouldn't this be applied to theregister too?

<comment><USER7> [https://hn.algolia.com/?query=theregister&sort=byPopularity&...](https://hn.algolia.com/?query=theregister&sort=byPopularity&prefix&page=0&dateRange=pastWeek&type=story)

Doesn't look like a particularly popular source to me.

</comment></comment><comment><USER8> I'm pleasantly surprised how Facebook openly admits that this project is a complete failure. I hear almost daily whitewashed NLP results from other companies.

<comment><USER9> Have they ever said how they would define success? What would a smashing success look like to Facebook? Is it mostly about revenue?

<comment><USER10> _What would a smashing success look like to Facebook?_

Tinfoil hat on: a smashing success for them is controlling everyones online life.

See: the Whatsapp acquisition - burning a double digit number of billions on a profitable platform just to remove their one source of income and USP so as to get even more juicy metadata and eyeballs.

(Yes, I was a huge fan of Whatsapp. Yes, so much that I expected them to manage to stay true to their ideals after the acquisition.

Yes, I tried to believe Facebook actually just wanted a part in what Whatsapp was about to become.

Fool me once something something )

<comment><USER11> After FB and Oculus, MS and Minecraft it should be clear that these companies only acquire for control.

</comment></comment></comment></comment><comment><USER12> If there is to be another AI winter it will be because of unfulfilled promises in NLP.

As someone who works in NLP I don't think there will be an AI winter. There will be a Gartner "valley of despair", abut no winter.

That doesn't mean NLP is solved though.

<comment><USER13> NLP is a distraction. Computers won't be able to do NLP until they understand the real world. Parsing a sentence about snow without know what snow is will not be useful for a computer or a human.

<comment><USER14> Natural Language Processing is an abstraction? That's quite the statement, considering the recent advances that has been made. I mean, you don't see the value in a computer being able to perceive meaning when you say: "Siri, please dim the lights 40%"?

A computer doesn't need to know how you feel about snow, to tell you that it's snowing outside, and you'll probably want to remember snow chains.

<comment><USER15> You sound like you think you're disagreeing with rand_r, but all your text is in support of rand_r's point. You use one example that is basically solvable with regexes and in your second paragraph you appear to strongly agree that NLP isn't important at all.

<comment><USER16> Yeah I agree! I don't need NLP to be able to fulfil those requests.

</comment></comment></comment></comment></comment><comment><USER17> > Others suggested that whichever superpower lost the AI arms race would > relapse into a state of primitive technology feudalism.

We are already there.

</comment><comment><USER18> I haven't followed up everything, but how is Google leading the AI race vs Facebook? I haven't seen a consumer service by Google run by AI.

There's the hugely popular Tenserflow but it's for developers and Facebook also released nice libraries (e.g for Torch)

<comment><USER19> WHAT? It is exactly opposite, no Google services that accumulate enough data don't use machine learning these days. For god sake, they even use deep learning to save electricity bill for their data center! Search, recommendation, knowledge graph, ads, photos, translate, even youtube thumbnails have some parts powered by ML.

<comment><USER20> As late as 2008 Google said they didn't use any machine learning in Search. They didn't trust it. Instead had an army of people to manually write search heuristics.

<comment><USER21> A lot can happen in 8 years.. :) Google has RankBrain to process search results, and that's only what they've admitted to.

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

<comment><USER22> Interestingly, the general perception I've had for a while now is that Google's search results have been getting slowly, gradually worse over the years. It seems like it works harder now to funnel you into some predefined concept of what it thinks you're looking for, rather than returning the data and letting you filter it yourself.

That's great for very common searches, but makes it much harder to find anything that Google doesn't expect (or want) you to look for.

Granted, I've got no data to back that up. I'm probably in the minority of users here, but I pretty sure I'm not the only one.

<comment><USER23> On the other hand I've found that for 98% of searches Google gives me exactly what I want as the first option and the other 2% Google makes some assumptions about my search and gives me garbage. Overall I'm very happy with it and it's definitely better for me than it was, it's interesting to see how different users can have very different perceptions of the same product

</comment></comment></comment></comment></comment></comment><comment><USER24> I tested FB messenger bots from different companies...They are very intrusive. They need to limit the messages somehow and also make a clear difference between messages from bots and friends, like gmail does with promotional messages.

<comment><USER15> Definitely an incentive problem there. The bot must do "something" to justify its existence and attract attention to the fact it is useful, while simultaneously not being so annoying that it is, well, annoying. I'm not sure even a human could hit that window consistently, especially as it's probably a window of negative width (i.e., outright impossible) for a lot of users.

</comment></comment><comment><USER25> If someone from Facebook is listening, allowing bots in Group Conversations will enable other companies to innovate in this space. For example, you could replicate Slack for a small team with Messenger and Group Chat bots. Right now, there is very little you could do with their Messenger API.

<comment><USER26> Totally agree with this. I'm not sure why Facebook hasn't implemented group chat for bots yet. It _must_ be on their roadmap. Maybe they are choosing to focus on 1-1 interaction right now, because 1-N interaction will require much different UX and code. Some 1-1 features have no obvious corollary in 1-N interaction. For example when a messenger bot sends you a "menu" with options, should the bot send the same menu to everyone in the group? Should only the person who triggered the bot in the group be able to interact with the menu?

These are answerable questions, but there are a lot of them and I can see why Facebook would choose to focus on 1-1 interactions first (especially since those are more likely to become paying interactions).

Personally I would love group bots. They can enable a lot of fun interactions, and it's certainly more fun to "play with" a novel bot with your friends than by yourself.

</comment></comment><comment><USER27> As an end-user, how would I even come in contact with the AI on a daily basis? I have messenger for talking to real-world people I already know. What's the incentive to talk to a bot?

</comment><comment><USER28> On the subscription page for the source article:

"The Information is, for sure, the most thoughtful / smartest tech coverage." SAM ALTMAN PRESIDENT OF Y COMBINATOR

lol</comment>


One programming language to rule them all - <AUTHOR> http://www.wired.com/wiredenterprise/2014/02/julia/?cid=co18025234

<comment><USER2> For a few seconds I thought someone created something better than Rebol/Red.</comment>


Google To Murdoch: Go Ahead & Block Us - <AUTHOR> http://searchengineland.com/google-to-murdoch-go-ahead-block-us-29442 <comment><USER2> fta:

 _To that, Google fired back today, telling the Telegraph that, essentially, they don't care if Murdoch wants to block its sites from being found via search and/or Google News.

A spokesman for the search giant said: "Google News and web search are a tremendous source of promotion for news organisations, sending them about 100,000 clicks every minute.

"Publishers put their content on the web because they want it to be found, so very few choose not to include their material in Google News and web search. But if they tell us not to include it, we don't."_

doesn't sound exactly like firing back or saying that they don't care about Murdoch wanting to block his sites.</comment>


50-Year Anniversary of the World's Greatest Prank - <AUTHOR> http://articles.latimes.com/2010/dec/26/sports/la-sp-crowe-20101227

<comment><USER2> _"World's Greatest Prank"_

Quite a hyperbole for a prank few have heard of and which was fairly limited in scale.

If I had to name one prank that had great impact and that is still famous around the world, it'd be Orson Welles' The War of the Worlds radio broadcast, which at the time had the entire nation riled up, believing that aliens were taking over the world.

<http://www.paleycenter.org/the-greatest-halloween-prank-ever>

<comment><USER3> Quite a hyperbole for a prank which was fairly limited in scale:

<http://bigthink.com/ideas/24685>.

<comment><USER2> Interesting read. From the article:

 _"[Hadley Cantril, a Princeton University psychologist] estimated that at least 6 million people listened to the program that October night. Of those, at least 1.2 million were frightened, disturbed, or excited by what they heard."_

I can't name another prank that had such impact, can you? (OK, perhaps the one about Iraq having WMDs, but that was hardly funny.)

</comment></comment></comment><comment><USER4> As a Caltech alumni I'd like for a Caltech prank to hold the title of World's Greatest, but I'm afraid that should go to the Berner's Street Hoax. Here's the description from Wikipedia:

        The Berners Street Hoax was perpetrated by Theodore Hook in the City
        of Westminster, London, in 1809. Hook had made a bet with his friend,
        Samuel Beazley, that he could transform any house in London into the
        most talked-about address in a week, which he achieved by sending out
        thousands of letters in the name of Mrs Tottenham, who lived at 54
        Berners Street, requesting deliveries, visitors, and assistance.

        On 27 November, at five o'clock in the morning, a sweep arrived to
        sweep the chimneys of Mrs Tottenham's house. The maid who answered
        the door informed him that no sweep had been requested, and that
        his services were not required. A few moments later another sweep
        presented himself, then another, and another, 12 in all. After the
        last of the sweeps had been sent away, a fleet of carts carrying
        large deliveries of coal began to arrive, followed by a series of
        cakemakers delivering large wedding cakes, then doctors, lawyers,
        vicars and priests summoned to minister to someone in the house
        they had been told was dying. Fishmongers, shoemakers, and over
        a dozen pianos were among the next to appear, along with "six stout
        men bearing an organ". Dignitaries, including the Governor of the
        Bank of England, the Duke of York, the Archbishop of Canterbury
        and the Lord Mayor of the City of London also arrived. The narrow
        streets soon became severely congested with tradesmen and onlookers.
        Deliveries and visits continued until the early evening, bringing
        a large part of London to a standstill.

        Hook stationed himself in the house directly opposite 54 Berners
        Street, from where he and his friend spent the day watching the
        chaos unfold.

That would be an impressive prank today. To pull it off in 1809 when it had to be organized by letter, each likely hand written, in a week, is astounding. Note the care in timing, getting similar arrivals to happen around the same time to magnify the absurdity of the situation. Pure genius.

</comment><comment><USER5> Regarding the tastefulness of the prank:

"There's a fine line there but I think we stayed on the right side of it. It could have been obscenities or something in very poor taste, but we didn't do that. So I'm proud of that — that we acted responsibly and nobody got hurt."

It was clever, unexpected, and funny. Caltech lost by 10 points, so I'd say it was well done and all in good fun. I'm glad it could have been that way.

<comment><USER6> Caltech actually doesn't even have a football team. They did this in a game between Washington and Minnesota.

<comment><USER5> Thanks. So it is: <http://en.wikipedia.org/wiki/Great_Rose_Bowl_Hoax>

You know, I actually read it, but still...

</comment></comment></comment><comment><USER7> A less hyperbole-filled write-up:

[http://www.museumofhoaxes.com/hoax/Hoaxipedia/Great_Rose_Bow...](http://www.museumofhoaxes.com/hoax/Hoaxipedia/Great_Rose_Bowl_Hoax/)

This website was mentioned in the LA Times OP without a link.

</comment><comment><USER8> My favourite prank was by College Humor's Streeter, tricking his friend Amir into thinking he'd made a half-court shot for prize money:

<http://www.youtube.com/watch?v=bI7AUgp5fPI>

If by some chance you haven't seen this video before, watch for his reaction after the giant cheque is presented - it's priceless.

<comment><USER9> Really? I thought some of the other pranks in that serious were more impressive than that one. And the stakes seem to keep getting higher...

</comment></comment><comment><USER10> The TV series "Numbers" referenced this prank twice in separate episodes - once, used as one of Charlie's graphic analogies - the display reading "CHARGE" had been hacked to read "RETREAT" - and once at the climax to a show where Peter MacNicol's astronomer character led a cabal of students on a quest to hack the Hollywood sign to read "CALTECH."

People have pulled much bigger hoaxes and pranks, sure; but since they took place outside of the hallowed halls of academia, they can't call them _collegiate_ pranks.

My last point: This is the same Lyndon Hardy who wrote "Master of the Five Magics," "Secret of the Sixth Magic" and "Riddle of the Sven Realms," the "three science fiction novels" referred to in the article, correct? If so, I knew the author had come from Caltech - but I'd no idea he'd headed this ambitious project until today. You learn something new every day.

Kudos to the poster of this link. Thank you.

</comment><comment><USER11> Ok, can someone write that in English again?

<comment><USER12> American college football game. 2,200 people in a section of the crowd each hold a large card, dark on one side, light on the other. each of these people has an instruction sheet that tells them which way to hold the card for each of 14 'stunts' (as they appear to be called). See pic for an example of what this looks like (think b/w pixel art)

The prank was that 3 guys from one team used social engineering to figure out how this was done, and who had the instructions, then replaced the original instructions with 2,232 slightly altered copies.

Game gets played. First 11 stunts are as expected, but the 12th has the cards make up the logo of the opposing team (not the people with the cards), the 13th has the writing reversed, and the 14th says, big and bold, CALTECH

<comment><USER6> Cal Tech wasn't even in the game. They were just located in Pasadena (a suburb of Los Angeles), where the game is played every year.

This is similar to the way MIT has often "hacked" the annual Harvard vs. Yale game, once even planting a weather balloon under the field and inflating it during the game. [http://en.wikipedia.org/wiki/Hacks_at_the_Massachusetts_Inst...](http://en.wikipedia.org/wiki/Hacks_at_the_Massachusetts_Institute_of_Technology#Famous_hacks)</comment></comment></comment>


Ask HN: What do we say? Memorandum of Understanding 170.1Mm2-001 [PRs Welcome] - <AUTHOR> https://github.com/digitalextremist/experience.forever/blob/master/documents/memos/170.1Mm2-001.md <comment><AUTHOR> Yes, there is one key presupposition there, that we actually are going to live forever in some way.

At the absolute minimum, that is an _excellent_ way to think about outcomes we'd actually benefit from.

If we have to be here forever, what do we do?</comment>


Go vs. C#: Compiler, Runtime, Type System, Modules - <AUTHOR> https://medium.com/servicetitan-engineering/go-vs-c-part-3-compiler-runtime-type-system-modules-and-everything-else-faa423dddb34 <comment><USER2> > C# is ~ 4.5x faster on a single-threaded burst allocation test.

It certainly makes sense for Go to trade off allocation performance for latency--Go employs value types and stack allocation more frequently/idiomatically than C# and as a consequence it enjoys low, constant- time STW pauses. It would actually be pretty interesting if C# made the same tradeoff--it might make C# use value types more frequently/idiomatically as well. IIRC, this would probably drive less inheritance and more composition since I believe value types can't be inherited. You might end up with C# code that looks more like Go?

</comment><comment><USER3> Since this article seems to be written from the point of view of someone who primarily knows C#, I'll provide some counterpoints from the Go side, which I'm familiar with. I have some C# experience, but it's a few years out of date.

> The comparison there was done before against .NET Core 2.1, and I plan to > share the update for the most current state (.NET Core 3.1 vs Go 1.13.6) > next week. But preliminarily, the distance became even larger:

For starters, "the current state" is Go 1.14.4. Updating one and not the other seems unkind.

Go 1.14 also introduced this change:

"The page allocator is more efficient and incurs significantly less lock contention at high values of GOMAXPROCS. This is most noticeable as lower latency and higher throughput for large allocations being done in parallel and at a high rate."

Whether it _improved_ single threaded burst allocation performance or not, I don't know, but it seems likely that such an invasive change would have affected it one way or another.

I also don't find it very compelling to talk about single threaded burst allocation performance... aren't most allocations usually being done across multiple threads, and not in a very bursty (not gigabytes all at once) manner?

I think that Go also stack allocates things more frequently than C#, which makes allocation throughput generally less interesting.

> Isn't this per-call "extra" (16 bytes on call stack + two comparisons) a bit > too expensive?

No? I'm not sure why you think it is. Most local comparisons are _extremely_ cheap on modern processors. Values on the call stack do not have any contention from other threads. Contention would lead to caches being evicted, and the instruction pipeline would be more likely to be thrown out and restarted because of a branch prediction failure. Local values on the call stack should be really easy for the branch predictor to guess, especially if you're repeatedly calling a function. I wouldn't go so far as to say prediction and pipelining make such comparisons free... but it really almost does, from everything I've seen over the years.

> btw, pay attention to an unusual "prologue" of every call that checks for > the potential need for stack expansion. That's the price Go pays for > goroutines — most of other static languages don't do this extra check per > every call.

Again, these kinds of checks are rather inexpensive. The cost of growing the stack is amortized over the lifetime of the goroutine, so unless you are constantly creating very short lived goroutines that need large stacks, there really isn't much cost to this. Years ago, Go used to have split stacks, and _those_ were expensive, especially if a hot path was straddling one of the splits between stacks.

> There is seemingly no way to make e.g. a map to rely on your own equality > comparer (sometimes you need this), and honestly, I don't know how to > implement a workaround assuming equality is always structural — e.g. even if > you start substituting the keys with your own wrappers, wrappers still can't > override their own equality/hashing, so…

Depending on exactly what you're looking for, there are some easy solutions. You can have the "key" be embedded into the larger struct, or you can have a function that returns a key struct. This is an example of using embedding for this purpose, which I think would be a reasonable solution: [https://play.golang.org/p/mkHyLZiAYOa](https://play.golang.org/p/mkHyLZiAYOa)

The problem is if you're hoping to later get the key back and have access to the other fields of the struct. In my opinion, that's an antipattern. You should be storing those fields in the value of the map if you want the map to hold them but not use them as part of the key. I've never once (in any programming language) wanted to store an entire key in the key part of a map, but only use part of the key for comparison purposes.

There's no great quote to pull from the article, but there's a strong implication that Go has to compare every field in order to determine equality... but this simply isn't true. Go only has to do this to determine inequality. If you have two pointers, Go will first check whether the pointers are equal. If they are equal, its job is done. Otherwise, it dives into the fields to see whether those are equal or not. Unless you want "reference equality" to mean that you can just cheaply compare the pointers without falling back to structural equality, but... why would you want to do that? You can certainly hack something together with `unsafe`, but I don't recommend worrying about this until you have a benchmark pointing at a specific problematic comparison. (which I've also never seen) Reference equality in the sense that it doesn't fall back to structural (or some other form of) equality is a gigantic footgun that I've seen trip people up in numerous languages. I would rather not have that as a language feature. A lot of people end up accidentally comparing two different pointers that contain the same structural value, and they can't figure out why the two values aren't being treated as equal.

There are a lot of other statements throughout this article that I find questionable, but I feel like I've already written too long of a comment at this point. Yes, "language I know" is a lot easier to like than "language I don't really know", but the conclusion was even more one-sided than I expected, given the level of effort the author seemed to be putting into the article. The absence of generics and sum types are real issues with Go... and even C# doesn't have sum types either, so that's a real problem there too. Almost everything else mentioned in the "C# features missing in Go" section is just completely unnecessary. More is not always better, especially when it comes to language features.

When I google "c# web server", the first thing that pops up is a tutorial for how to write your own from the ground up with sockets. When I do the same thing with Go, I get a practical tutorial for how to use the standard library web server to build an interactive wiki application.

Go's standard library is a huge component of the language's success.

Being able to make an easy-to-deploy binary just by typing "go build" is huge, and the compile times are great. Sure, .NET supports some form of AOT compilation, but it's not the default, and when I google ".net core aot", the first thing that pops up is the CoreRT repo that says "This is an experimental project. We have no plans to productize it in its current form" which is not super encouraging.

There are a lot of things to like about Go, but it is _different_ from many other popular languages, so it's easy for it to make people feel uncomfortable. I'm eager for Go to have generics, because that really is my biggest complaint about it.

If you want a cohesive, awesome type system, Rust is built on a decade or two of research that didn't exist when C# was designed, so C# has to live with a lot of baggage as it expands to include other, newer ideas. Go has avoided most baggage simply by avoiding most features, for better or worse.

<comment><USER4> > Being able to make an easy-to-deploy binary just by typing "go build" is > huge, and the compile times are great. Sure, .NET supports some form of AOT > compilation, but it's not the default, and when I google ".net core aot", > the first thing that pops up is the CoreRT repo that says "This is an > experimental project. We have no plans to productize it in its current form" > which is not super encouraging.

While not the same thing as AOT compilation, `dotnet publish -p:PublishSingleFile=true` achieves the goal of having a self contained executable.

<comment><USER3> Definitely good to know.

Not a critical feature these days with CI being as good as it is, but can you run that command from macOS or Windows and get a Linux binary?

<comment><USER5> Yes, you can cross compile to any supported target using -r flag followed by a RID (e.g. win-x64)

[https://docs.microsoft.com/en-us/dotnet/core/rid- catalog](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog)</comment></comment></comment></comment>


GitHub implementing Erlang git-daemon - <AUTHOR> http://github.com/blog/112-supercharged-git-daemon

<comment><USER2> The two benefits mentioned sound like they have nothing to do with Erlang.

<comment><USER3> I'm the dev at GitHub that's working on egitd. It's true that those two features are not Erlang specific. They could be accomplished in any language. However, Erlang lets me write very robust servers with tiny amounts of code. The automatic SMP support is also a huge plus when dealing with concurrency.

<comment><AUTHOR> Aha. My guess was close.</comment></comment></comment>


Uber Co-Founder Garrett Camp Launches BlackJet, The "Uber For Private Jets" - <AUTHOR> http://techcrunch.com/2012/10/26/blackjet <comment><USER2> NetJets already exists, but it is different. It is more like owning without the headache and they also offer fractional ownership. It is damn near impossible to beat NetJets on pricing because they can finance the aircraft via Berkshire Hathaway's AAA.

This seems like a different market. I am not quite sure I understand it. It looks like it is flying private rather than first class on standard routes. The advantage to charters is that you don't have to go through security, and you can fly from nowhere to nowhere direct. I don't understand this business model. It seems like they are flying standard routes.

New York to LA on a private jet is worse than commercial because you are stuck in a 6 foot diameter pipe for 4.5 hours, rather than a first class seat on a normal airplane.

<comment><USER3> I was thinking the same thing, there are fractional ownership deals [1], charter airline brokers [2], and of course air taxis [3] (which are not often jets but what ever).

I realized this evening when slogging southbound on Highway 101 in the Bay Area what I really want is something that attaches to my car roof with a big NASA approved docking connector on it (aerodynamic though) which when I call up the app schedules a Sikorsky Sky Crane to fly by pick me up out of traffic and take me to my destination.

[1] <http://www.netjets.com>

[2] <http://www.rsvpair.com/>

[3] <http://www.garyair.us/>

<comment><USER4> I want to upvote this ten times just because of the Sikorsky Sky Crane comment, but I also am voting because it's just a good comment.

</comment></comment></comment><comment><USER5> This strikes me as a good idea, on paper.

If I may play the traditional role of first-comment-is-negative however:

1\. NetJets are a fractional ownership company who are probably going to remain more popular at this level of society because they're a full service outfit;

2\. Charter companies already run their planes efficiently, so they may be in a position to match on price on some routes;

3\. I suspect that for a lot of really _really_ rich people, owning a plane is not a purely financial decision. It's a status signal.

All that being said ... it might just work by creating a new market segment -- people who can afford business or first class but can't quite justify private charters.

I think people on HN sometimes underestimate the importance of the middleman in economic life. You don't have to be B2C or B2B with a direct product or service. Often the most profitable position is as the switchboard.

<comment><USER6> _I think people on HN sometimes underestimate the importance of the middleman in economic life. You don't have to be B2C or B2B with a direct product or service. Often the most profitable position is as the switchboard._

www.airbnb.com

www.taskrabbit.com

www.twilio.com

I think we understand _very well_ that running the marketplace is where its at. Remember, we're trying to _be_ the middleman, just much more efficient than the incumbents.

<comment><USER7> Can you elaborate on how market inefficiency is the issue? It seems others have tried similar schemes (Virgin America ran a private jet website with the same intentions), or attempted to open the market through smaller "taxi" planes (Embraer Phenom) or wholly regional airlines (Independence Air), but the cost of fuel and labor prevented increased adoption.

The private jet market is scheduled at the last minute and filling unused seats (or return segments) seems to be quite challenging, even if offered as one way last minute deals to consumers. Is the goal to have a Southwest like "Ding" fare alert for subscribers?

<comment><USER6> Unused capacity is a market inefficiency. If you've got a jet deadheading somewhere empty, or have extra seats when someone hasn't bought out the whole cabin, that's an opportunity to offset your costs or even profit depending on the situation.

If your app knows where people want to go to, knows their location, knows their spend willingness, etc, you can capture that additional revenue you might've never known about.

<comment><USER5> Yep. Selling unused capacity, even at low prices, represents pure profit when your variable costs have already been met.

</comment></comment></comment></comment></comment><comment><USER8> Slightly offtopic:

What I found out the other day is that Jesse Jaymes [1] who sang the song "College Girls are Easy" founded Marquis Jets, a similar-ish service.

He's also married to the billionaire founder of Spanx. Extraordinary career trajectory.

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

</comment><comment><USER9> Uber for private jets? No idea how they're going to land the plane out front of my house, but I'll definitely download the app and give it a try.

<comment><USER10> They'll get a private fleet of black Ospreys

<http://en.wikipedia.org/wiki/Bell_Boeing_V-22_Osprey>

<comment><USER11> "Noise ordinances? Can't you see I'm disrupting here?"

</comment></comment></comment><comment><USER12> I can already see it: funds permitting, we'll take Uber cars to the airport and then catch a BlackJet to our final destination.

</comment><comment><USER13> i thought the point of a private jet, was so that you did not have to share with anyone else

<comment><USER14> I think the point is to ride in a limousine across the tarmac and then step directly onto your jet without any hassles. Direct point-to-point travel to any airport is convenient too. The Citation X can fly coast-to-coast in under four hours.

<comment><USER15> Correct, of course. The key unstated requirement is that it's exactly on your schedule and catered to your tastes.

The issue with this idea, at least as I understand it, is that they're generating higher utilization by sharing and perhaps selling deadhead legs. Any of those things (and anything I can think of that drives utilization meaningfully higher) gives up a lot of the flexibility and precision adaptation to the guy-in-back's ever-changing schedule.

I fly my family in our (piston) airplane for most of our travel east of the Mississippi. Even at piston costs and speeds (both way lower than jets), I can usually beat them door-to-door out to 800 miles and I smoke them door to door for everything under 500 miles. Plus, I'm never waiting for my inbound aircraft, getting the free opt-out feelup by TSA, sweating connections or waiting for my bags.

UberJet can deliver on some of those things, but the closer they drive it to part 121 (air carrier) to make it cheaper, the more they'll give up on the advantage side. I suspect they'll give up a lot of advantages and still not have a cost-competitive product. No one will complain about riding x-country in a Citation X, but they may balk at the $7500/hr operating cost.</comment></comment></comment>


[BETA] Growth Hacking Dashboard with Awesome Features - <AUTHOR> https://anygrowth.com

<comment><USER2> What sort of awesome features? Show me why I should give you my email address.</comment>


100% serverless realtime file transfer - <AUTHOR> http://dropall.stream/ <comment><USER2> This is a pretty interesting resource. Kind of like a pastiebin for quick and relatively candid file sharing</comment>


"Snow Crash" Author Hired by Augmented-Reality Startup Magic Leap - <AUTHOR> http://recode.net/2014/12/16/snow-crash-author-neal-stephenson-hired-by-augmented-reality-startup-magic-leap/

<comment><USER2> My very favorite part of Snow Crash is that Hiro Protagonist was a software consultant.

Like me.

There's one more favorite part but I don't want to post a spoiler.

</comment><comment><USER3> [https://news.ycombinator.com/item?id=8758074](https://news.ycombinator.com/item?id=8758074)</comment>


How Goldman Sachs Created the Food Crisis - <AUTHOR> http://www.foreignpolicy.com/articles/2011/04/27/how_goldman_sachs_created_the_food_crisis?page=0,0

<comment><USER2> Wikipedia here

<http://en.wikipedia.org/wiki/S%26P_GSCI>

quotes this article:

[http://www.economist.com/node/16432870?subjectid=2512631&...](http://www.economist.com/node/16432870?subjectid=2512631&story_id=16432870)

"After analysing data on both prices and individual holdings from America's Commodity Futures Trading Commission, the OECD study found that there was "no convincing evidence that positions held by index traders…impact market returns"; indeed, the OECD reckons that larger positions led to lower market volatility (although data issues mean the finding is more convincing for agricultural products than for energy markets)."

</comment><comment><USER3> Three previous submissions of this April 2011 article:

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

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

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

It has also been submitted in comments.</comment>


Deanonymizing You: I know who you are after 1 click online or a mobile call - <AUTHOR> http://www.networkworld.com/community/blog/deanonymizing-you-i-know-who-you-are-after-1-click-online-or-mobile-call <comment><USER2> Maybe worth reminding in connection with the article: <https://panopticlick.eff.org/> \- how many bits of identifying information your browser leaks from its configuration itself. Even on a fresh profile with none of the privacy-leaking stuff like cookies or cache.

<comment><USER3> "How to disable permission to read 'System Fonts' and 'Browser Plugin Details' in Chrome and Firefox"

[http://superuser.com/questions/292666/how-to-disable- permiss...](http://superuser.com/questions/292666/how-to-disable-permission- to-read-system-fonts-and-browser-plugin-details-in)

<comment><USER4> How well does this work - in other words, how identifying is the _absence_ of such information?

(The third alternative would be to spoof the information on each request, but I don't know how well that would work, and it could cause other problems.)

<comment><USER5> Most fields won't report with javascript disabled. In those fields "no javascript" reveals 1.86 bits about you, and 1 in every 1.33 browsers has it disabled.

</comment></comment></comment></comment><comment><USER6> For those not in the industry, Jeremiah Grossman is a highly respected researcher who does a lot of work in this space.

This is a more useful technical resource to understand how your privacy is being compromised: [http://blog.whitehatsec.com/i-know-series-summary-and- guidan...](http://blog.whitehatsec.com/i-know-series-summary-and-guidance/)

</comment><comment><USER7> I have no background in security, but I've found Disconnect (Chrome plugin) to be invaluable for keeping sites away from my social media cookies / sessions:

[https://chrome.google.com/webstore/detail/disconnect/jeoacaf...](https://chrome.google.com/webstore/detail/disconnect/jeoacafpbcihiomhlakheieifhpjdfeo)

Sometimes it causes problems with Facebook photos embedded on other websites or social integration you actually want, but you can easily see what's being blocked and disable as needed.

</comment><comment><USER8> _Per the video showing the exploit:_ I thought since it was being served through an iFrame, it won't allow you to effect the inner elements with CSS/JS? If that doesn't matter, is there a way that Facebook, Twitter, Google+, etc. can do anything on their end so the front end user (or exploiter, in this case) can't modify the button with CSS to do these types of things?

<comment><USER9> Couldn't you just move the iFrame and not need to have access to its elements?</comment></comment>


Who carried out the NHS hack? Disgruntled Americans with a point to prove - <AUTHOR> http://www.wired.co.uk/article/motivation-nhs-hack <comment><USER2> I don't think things will improve until we get some politicians that have actual hard experience of working with technology. I see politicians trying to seem informed but merely demonstrating their ignorance all the time. How are they supposed to make decisions about this type of thing when they are so obviously clueless? And how bad a job must the civil service be doing in advising them? I suppose we shouldn't be surprised at the latter when it's stuffed full of Oxbridge humanities grads..

<comment><USER3> > And how bad a job must the civil service be doing in advising them?

Hunt was strongly advised last year by Dame Caldicott and the CQC. He chose to ignore the advice.

[https://www.politicshome.com/news/uk/technology/cybersecurit...](https://www.politicshome.com/news/uk/technology/cybersecurity/news/85909/jeremy- hunt-%E2%80%98was-warned-last-year%E2%80%99-nhs-cyber-attack-risk)</comment></comment>


FCC official: "Something's not right" with Wi-Fi at Monday's debate - <AUTHOR> http://arstechnica.com/tech-policy/2016/09/fcc-commissioner-calls-for-investigation-into-debate-wi-fi-debacle/ <comment><USER2> One potentially simple solution is to use the middle of the 5GHz wifi bands. In my experience, android and iphones tend to use the top or bottom band, leaving the middle uncontested.

I'm sure there are exceptions to this, but considering the tradeoffs, it might have avoided the demand that the press disable personal wifi hotspots.</comment>


To make money, study maths or economics at a top university - <AUTHOR> https://www.economist.com/graphic-detail/2019/11/26/to-make-money-study-maths-or-economics-at-a-top-university <comment><AUTHOR> My son is applying to colleges, and we have looked at the earnings data by school and major at [https://ed-public-download.app.cloud.gov/downloads/Most- Rece...](https://ed-public-download.app.cloud.gov/downloads/Most-Recent-Field- Data-Elements.csv) .</comment>


Annotated Version of John McCarthy's Paper on Lisp - <AUTHOR> http://fermatslibrary.com/s/recursive-functions-of-symbolic-expressions-and-their-computation-by-machine <comment><USER2> Herbert Stoyan's historical work on early Lisp [http://www.mcjones.org/dustydecks/archives/2010/07/29/185/](http://www.mcjones.org/dustydecks/archives/2010/07/29/185/) [https://web.archive.org/web/20050617031004/http://www8.infor...](https://web.archive.org/web/20050617031004/http://www8.informatik.uni- erlangen.de/html/lisp-enter.html) is probably worth reading if one is seriously interested. (I haven't read much of it myself yet.) McCarthy praised Stoyan's work as better than his own 1979 HOPL paper ( [http://www- formal.stanford.edu/jmc/history/lisp/lisp.html](http://www- formal.stanford.edu/jmc/history/lisp/lisp.html) ): "Stoyan's reading of the early LISP documents gives a more accurate picture than my own memories turned out to have given." [http://www-formal.stanford.edu/jmc/history/](http://www- formal.stanford.edu/jmc/history/)

(As a side-note, I'm pretty sure that the broken, Wayback-beating link to "Lisp references according to Miller" on McCarthy's page is to this [http://www.ai.sri.com/~delacaze/alu-site/alu/table/Lisp- Hist...](http://www.ai.sri.com/~delacaze/alu-site/alu/table/Lisp-History.html) document by Kent Pitman and Brad Miller (see [http://www.ai.sri.com/~delacaze/alu- site/alu/table/history.h...](http://www.ai.sri.com/~delacaze/alu- site/alu/table/history.htm) ).)

<comment><USER3> Beautiful, I often dig for lisp history but never heard of this.

Also, even though very subjective, I often conflat functional programming and lisp and recently found "some history of functional languages" by D.Turner which list the ml lineage nicely [http://www-fp.cs.st- andrews.ac.uk/tifp/TFP2012/TFP_2012/Turn...](http://www-fp.cs.st- andrews.ac.uk/tifp/TFP2012/TFP_2012/Turner.pdf)

</comment></comment><comment><USER4> Dear fermatslibrary,

Every time I try to read an annotated paper on your site, I spent a full minute clicking the left margin and the paper, back and forth, trying to get a single view that shows all the annotations.

My monitor is huge and I like to read a whole document, top to bottom, by click-holding my scroll bar once and dragging (up and down) until I am done.

<comment><AUTHOR> Hi daveloyall, Thanks for the feedback. We are probably going to release a new version of this interface in a few weeks. We are planning to have the sidebar always visible (once you click in a comment) and then update the comments while the user navigates the paper, so that you don't have to click in every comment.

<comment><USER5> Are the only ways to sign up (in order to contribute) either facebook or google?

</comment></comment></comment><comment><USER6> I get a spam popup ad when I open this link. After closing it, when I click one "annotation" to be able to read it, it opens in a sidebar and all the others disappear. Closing the sidebar doesn't make them reappear. Reloading the page does, but as soon as I click on one inane annotation, all the others disappear again.

All in all, a very frustrating experience.

I recommend just downloading the original PDF instead: [http://www- formal.stanford.edu/jmc/recursive.pdf](http://www- formal.stanford.edu/jmc/recursive.pdf)

Then, you know you have the paper, and can share it with other people in the future, without some fly-by-night startup injecting spam popups or going under and invalidating the URL.

</comment><comment><USER7> I was looking forward to reading insightful comments on this seminal paper. However I was disappointed by overall quality of the current annotations. Many are about how it translates to Clojure syntax (why not Common LISP or Scheme?). Others are trivialities like "apply and eval are the Maxwell's equations of lisp." I think fermatslibrary.com is a great idea, but this particular example does not do it justice.

<comment><USER8> I agree. The Clojure syntax comparisons are probably due to the popularity of that language, compared to Scheme or other Lisp dialects. Perhaps a comment section in addition to the annotations would provide more insightful discussions.

<comment><USER9> Yeah to many of us old timers, it feels strange when new FP afficionados only know about Clojure and Haskell like languages, without realising that we already were doing FP for a few generations even if the languages never became mainstream.

On the other hand, it is great that those people jump in with their new ideas and help the community go forward.

</comment></comment></comment><comment><USER10> I had a chance to add the first few annotations. Happy to answer questions on the paper as best I can.

</comment><comment><USER11> Paul Graham has a great take on this[1]. Someone should make a PDF from the postscript file and upload it somewhere.

[1] [http://paulgraham.com/rootsoflisp.html](http://paulgraham.com/rootsoflisp.html)

<comment><USER12> On a Mac, Safari converts the postscript to a PDF on the fly when you click on the postscript link in the article.

<comment><USER11> That's great!

</comment></comment></comment><comment><USER13> Nice site.Good choices for papers.

The top border kind of smushes down on me sometimes. It would be nice if I could resize. Hm, and it doesn't seem to keep me logged in, so every time I connect it asks me to subscribe again.

</comment><comment><USER14> Any chances that this nice tool will be open-sourced?

It would be really convenient to use it as an intra research group discussion on papers.

<comment><AUTHOR> Hi md11235! We are thinking about allowing Fermat's Library to be used inside research groups as well. Shoot us an email with some more information about the use case you're envisioning so that we can set things up: firstname.lastname@example.com

</comment></comment><comment><USER15> It is a shame this work is relegated to mainly niche. Am i wrong for saying this?

</comment><comment><USER8> Does Fermat's Library offer a printer-friendly version of the paper?

</comment><comment><USER16> The paper is a classic. The annotations are rubbish.</comment>