Slack: Other browsers require significant effort so we're focused on Chrome - <AUTHOR> https://twitter.com/SlackHQ/status/958645632620748800 <comment><USER2> I'm getting a little sick of the level of entitlement in tech conversations — every firm must adhere perfectly to some set ideals or else the most vocal members in the community turn the conversation into an end-of-the-internet melodrama.

We laud companies that start by doing something small well, yet the second they don't support our platform of choice, it's time to banish them to the hills. (In this case, clearly there are material differences in video chat performance across browsers, or else why would Slack force Chrome support?)

We preach focus, then act appalled when customization feature X stagnates on the backlog.

We castigate businesses that spend investor dollars frivolously, and are then furious when well-funded companies act frugally and choose to make tradeoffs (like, say, only supporting one browser for a feature that doesn't work the same on all browsers, until they can achieve a certain quality threshold.)

I look forward to the day when we collectively accept that companies are groups of humans generally working in earnest to do their best, not some faceless behemoth that responds only to screaming "you're awful, do my feature or I'm leaving and tweeting about it" like some petulant child. Maybe there are cases where that is a reasonable response, but when the volume is always turned up to 11 it's hard to tell the real crises from distractions.

<comment><USER3> Without the heated tone ("entitlement in tech conversations") there's often no response to a valid complaint.

We only get clear explanations from a company's engineers after a discussion is raised.

> In this case, clearly there are material differences in video chat > performance across browsers, or else why would Slack force Chrome support?

I look forward to a post on [https://slack.engineering](https://slack.engineering) detailing the challenges. I'm not demanding a response, it's just a wish.

My decision to use a product takes certain principles into account; Slack is the kind of product that is often chosen for you by your company/open source project/community. A bit of "entitlement" — not meant as scare quotes, I just don't share the viewpoint – makes sense here, because sometimes you can't just choose not to use it.

<comment><USER4> This exactly!

The error message say "Please switch to chrome"

It is clumsy. They probably ment to say: use Chrome for voice support.

Anyway: if it is entitlement to choose your own browser? Then I say: "switch to Internet Explorer 6"...

</comment></comment></comment><comment><USER5> They raised quarter a billion(!) last summer.

What on earth are they doing with that money. Building web-based chat apps should not be that capital intensive

[https://techcrunch.com/2017/07/26/slack-is- raising-a-250-mil...](https://techcrunch.com/2017/07/26/slack-is- raising-a-250-million-round-at-5-billion-valuation/)

<comment><USER6> I'm curious why more money equals faster or better software engineering. Didn't we collectively learn from the Mythical Man Month and others that throwing people at a software problem doesn't scale? More engineers on a project increases communication and administrative overhead; the additional overhead and context costs quickly exceeds any productivity gained.

Given this: Why would more money scale, when people - presumably the thing the money would pay for - has already been shown not to scale?

<comment><USER7> That applies to a single project and a single team.

With much less than a quarter billion dollars you could spin off new companies, "Slack Calls For Firefox Inc." and "Slack Calls For Edge Inc." each with it's own development team dedicated to supporting a given browser, and still not break the bank.

It's just a business choice. It's not they can't, do just don't feel it's worth it.

</comment></comment></comment><comment><USER8> Another reason to dump this fad. I've been using slack for my jobs for years, and it wastes more time than saves. No real work gets done in a chat room, which is what slack is. It's a shame a private, bad experience is so popular now.

Try search for a conversation with someone in a channel about topic X. You can't do it, because there is no context. Search for the keyword or person? Good luck with that. Even then, if you find it, it just scrolls you to that spot, which is terrible UI.

Ugh.

<comment><USER9> Are there any better (modern) alternatives?

<comment><USER10> twist app, maybe

<comment><USER8> I've heard/seen good things.

</comment></comment></comment></comment><comment><USER11> There's more context if you scroll down in the thread. In my opinion, they should try to support more browsers sooner and build on standards, but I do understand starting with the browser that has the biggest market share to prove out the feature, then expanding from there.

\---

"We're afraid our first response may have come off a little more limiting that we meant it — we're focusing on Chrome for our calls support specifically, but that does not mean we have no plans to expand to other browsers in the future!"

\---

"Apologies — our initial tweet wasn't as clear as it could have been. We didn't mean to imply that future support for other browsers is off the cards, just that it's not on the cards right now."

<comment><AUTHOR> > We didn't mean to imply that future support for other browsers is off the > cards, just that it's not on the cards right now

If something is not on the cards RIGHT NOW then it doesn't mean "we released this feature on Chrome first and the rest is following", it means "we don't believe in cross browser support (=diversity) unless enough people scream loud enough". A very web damaging attitude in my opinion.

<comment><USER12> _" we don't believe in [foo] unless enough people scream loud enough"_

Every piece of advice about how to build products gives this exact advice. Why is it not applicable to Slack? Because of their funding amounts?

Again, this is a genuine question, why is the case of slack different than any other company?

</comment></comment></comment><comment><USER13> I could push for another discussion medium at my company, but the thing is that I'm connected to a lot of FOSS slacks (elixir, elm, postgresql...). I don't want to give more GB of rams to another client that I'll have to run in //.

I still have my irssi in a tmux terminal when I need it, but it's not a UI I can push over to my teammate (not mentioning the lack of voice call).

Slack somehow did a great job at solving "something", I'm not sure if it was the lack of communication or something else. Sadly, it's taking more and more RAM and stance like not supporting non Chrome makes me even less comfortable using it.

<comment><USER14> > I still have my irssi in a tmux terminal when I need it, but it's not a UI I > can push over to my teammate

What about IRCCloud?

<comment><USER15> Love and use IRCCloud everyday. Well worth the $5 or whatever to have a truly great IRC client in browser (and it's by far the best on Android). People still ask me why I pay for IRC because it just sounds crazy given the glut of high-quality free software IRC clients but my answer is always just that it's the best and since I spend a lot of my time in IRC I prefer to just pay for the best software/experience.

</comment></comment></comment><comment><USER16> Reminder: IRC works on literally everything, uses kilobytes rather than gigabytes of RAM, and is a widly supported open protocol with many competing implementations.

<comment><USER17> Does it have push notifications and mobile client with full text search across the public/company wide chat history with access control?

<comment><USER18> There is also email and mailing lists which have those things. IRC can also have public logging and full text search in a universal client called a web browser.

<comment><USER17> Mailing lists on their own do not provide ACLs, and the only way to read existing private topic is for somebody to forward you all the messages. Are there existing nodes, that do that automatically for you?

</comment></comment></comment></comment><comment><USER19> The submitted title, "Slack can't afford to support browsers other than Chrome", broke the HN guidelines by editorializing. The text says nothing about not being able to afford. It may sound the same if you don't look closely, but please do look closely, because even tiny distortions in titles can have large effects on HN discussion.

If you need to paraphrase a title to make it fit, or change it because the original was misleading or linkbait (as [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html) asks), do it by finding the most representative language in the text itself.

<comment><AUTHOR> Thanks for pointing this out to me!

</comment></comment><comment><USER20> Funny thing is I am aware of another product from a better funded company that doesn't support video chat outside of Chrome...

I am not sure if this is a problem with Slack's attitude or if it's that the overhead for creating a voice/video chat app in browsers besides Chrome is much more substantial...

Has anyone tried to implement a web based video chat in Firefox before? Is it really that challenging?

<comment><USER21> meet.jit.si works fine in firefox

</comment></comment><comment><USER22> Folks often ask "what's the problem, why not just have Blink be the only browser engine?"

One important reason is that there's a lot of innovation that happens outside of Blink that will not happen inside Blink. Blink shows no sign of permitting Rust components such as the parallel restyling engine that Gecko uses.

Another issue is that Blink is not designed to be embeddable in other browsers like Safari. The friction of having to maintain multiple "ports" in one codebase was much of the reason for the WebKit/Blink fork to begin with.

<comment><USER3> This is an opportune moment for me to say thank you to everyone at Mozilla for maintaining and improving Gecko.

That there's a browser as good as the current Firefox is another reason to not lock ourselves into a Blink monoculture.

Of course, even if FF was in a bad state we should try to avoid de-facto standardization of Chrome, but with FF improving with each version, there's a practical, sellable argument for diversity.

</comment></comment><comment><USER23> We started using Discord and we really like it. It is targeted towards gaming communities (basically to replace TS3, Ventrilo, Mumble etc) but I think it's comparable to Slack too

</comment><comment><USER24> Our company recently started using Chime [1] it supports Chrome, Firefox and afair Edge, it's quite pleasant to use for video-audio chats in a browser. It uses WSS and WebRTC so it works behind NAT where SIP can't, also it looks like it's a P2P technology so your voice and video traffic doesn't go to central server (I might be wrong about it).

[1] [https://www.justchimein.com/en/](https://www.justchimein.com/en/)

<comment><USER25> At first I thought you were talking about the Amazon service. It turns out that Amazon has a voice chat service called Chime as well, though it's more narrow of focus than the CafeX system that you are using.

</comment></comment><comment><USER18> So how much money did google float them for exclusive features. For me it recalls when skype limited the number of participants in calls if you used an AMD processor or limited the resolution unless you purchased specific webcams from partners.

<comment><USER26> I doubt it. They're built on Electron, they get Chrome support free and probably just don't want to spend any resources on making it work in other browsers because most of their users use the native apps.

</comment></comment><comment><USER27> My takeaway from this is that you can build a billion dollar company by only supporting a single browser.

</comment><comment><USER28> I don't think this is an issue specific to Slack. It seems like the trend with nearly all real-time video/voice software. You either use chrome or get the desktop app.

<comment><USER29> You raise a good point. This conversation would benefit from someone articulating what particular issues are making it hard to support certain features in other browsers.

</comment></comment><comment><USER30> This is literally the exact argument people made when only supporting IE6 (and remember at that point in history IE was arguably the best browser, warts and all)

</comment><comment><USER4> Sigh. Slackers gonna be slacking.

Why are we regressing back to the horrible world of vendor lock in and single browser sites. Chrome is the new IE6?

</comment><comment><USER31> WebRTC is somewhat new and complex, and browser support varies greatly. I don't know what kind of unlimited resources behemoth you imagine Slack to be, but I can definitely see how doing _consistently working_ cross-browser WebRTC would be too much effort to be able to pull off at a given time.

<comment><USER32> $250M sounds pretty behemotish?

<comment><USER31> Maybe not for the operation they're running, of which VoIP is only a small part.

</comment></comment></comment><comment><USER33> I remember similar conversation from long ago times, but instead of chrome we had IE6.

</comment><comment><USER34> Given Slack's desktop app is Electron-based, and the electron renderer is ~chrome [note the tilde!], they may be effectively developing for [web + MacOS + Windows + Linux] without bothering with any other browsers.

</comment><comment><USER35> If Slack is "focusing their efforts" on their battery draining, slow, badly written excuse for a desktop app. I can't tell.

</comment><comment><USER36> But so is Hangouts which is a much larger issue IMO, as it doesn't have a desktop client (does it?)

</comment><comment><USER37> Why is this important? There are standalone clients for Slack available on Mac, Windows, and Linux.

<comment><USER38> Because the standalone client uses Electron and eats up battery life, CPU, and memory like cheap sushi.

</comment></comment><comment><USER39> "It requires significant effort for us to build out support and triage issues on each browser, so we're focused on providing a great experience in Chrome and our desktop apps. "

They are not saying they can't afford it. Money they have, engineering talent tends to be always on short supply. You need to think where you put the effort.

</comment><comment><USER40> More Money != Faster Development

</comment><comment><USER41> Which do i hate more, slack or web apps limited to certain browsers? Now i don't need to choose.

</comment><comment><USER41> Yagni is making the world worse.

</comment><comment><USER42> Why should they support browsers that make dramatic, arbitrary changes on a whim? Chrome is the only browser that remains stable. Who knows what Firefox or Edge will look like next year?

<comment><USER43> Do you have proof that Chrome is the only "stable" browser? Is your standard for stability Chrome, meaning that by definition Chrome is stable and other browsers aren't if they aren't exactly like Chrome?

</comment></comment><comment><USER44> This is a bogus headline. They can't justify the cost of developing video chat for other browsers. The truth is much less interesting than the misleading implications.

NOTE: I posted this comment before the title was corrected by the mods for editorializing.</comment>


Twitter Says People and Publishers Will Suffer From Google's Social Search - <AUTHOR> http://allthingsd.com/20120110/twitter-complains-about-google-giving-preference-to-google-content/

<comment><USER2> This would force twitter and others to open up their APIs to google and other search engines. Google and twitter had the deal before - not sure who pulled the plug when it expired in 2011.

Overall, this is probably good for openness of internet, IMHO,

</comment><comment><USER3> One of the bigger worries is that it's stuff like this that might eventually force the government's hand in creating internet legislation. The issues are becoming incredibly complex, and its clear these companies aren't just going to regulate themselves.

Of course, no clear answer exists, and Washington's 2nd grade understanding of technology certainly won't get us anywhere. I could almost see some kind of collaborative UN style internet body come into existence in the next 20 or 30 years. It would almost have to given our increasingly wired lifestyles.

It just feels like we're in the golden age of internet freedom and things can only get worse. I imagine our grand kids looking back on our time in shock at what we (comparatively) got away with.

<comment><USER4> This brought back memories of the browser wars. Back then it was "Should Microsoft be allowed to use its control of the desktop to bundle Internet Explorer with Windows?" Now it's "Should Google be allowed to use its control of search to bundle Google+ data with search results?"

<comment><USER5> No it doesn't, it's not bundling if both products are free and it's not bundling when you don't actually _own_ any of them. There are important nuances between the two cases that some people choose to overlook.

<comment><USER4> >> it's not bundling when you don't actually own any of them

In legal terms you don't own Windows either - MS gives you a license to use it.

<comment><USER5> Which you pay for. If money doesn't change hands no contract is made thus no contract will be broken.

<comment><USER6> Since when money changing hands is the sine qua non of contracts ?

<comment><USER5> IANAL so I'm just speculating that if you don't pay for a service you can't claim that you're owed anything, in this case those being freely indexed by Google feeling that they are entitled to a placement in search results.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Maybe I'm missing something. Twitter no longer provides Google a firehose feed, though I'm unsure where the breakdown originated. But Google _does_ index Twitter and includes results from it. Google+ results get a higher ranking, and that's the issue, right?

From somebody outside the social media echo chamber (i.e. a user, not a maven), this seems like a tempest in a teapot. I'd welcome some elaboration.

<comment><USER2> If you are logged into google, google knows who you are. It will produce results from _your_ Google+ network even if that information is not public.

It can't do that for twitter. It doesn't know your twitter ID, nor does it have access to your twitter network. It can crawl all the twitter pages just as it crawls the rest of the web but that may not be as relevant as the search results from your network (and hence rightly may be ranked lower).

If twitter wants to appear alongside your Google+ results, they would have to open up their twitter social graph to google (or any other search engine) so that google knows who you are and can produce results accordingly.

As a user I think this is good. I don't like the idea of my data being held hostage by sites.

<comment><USER8> Google knows who you are on Twitter if you tell it:

<https://plus.google.com/connectedaccounts>

And because Twitter is largely public, Google knows who you follow and will show tweets and links in serps. Has done for some time now.

You can tell Google who you are on github, but I haven't noticed any interesting search results.

You right about password protected content though. You can tell Google who you are on Facebook but it can't crawl most of the data.

<comment><USER2> Great. People have all the more reason to link the accounts now. I just did.

</comment></comment></comment></comment><comment><USER9> "Burger King says People and Chefs Will Suffer From McDonald's Big Mac"

<comment><USER10> That just makes me agree more.

</comment></comment><comment><USER11> Pretty flakey reason ... by the time someone is googling a topic the news has already broken.

I can't recall or even imagine any context where a tweet is going to be the best result for something I'm searching for. What could they be relevant results for?

</comment><comment><USER12> Google has a right to promote it's own products and it has no obligation to Twitter or Facebook or anyone else. People will use the product to the extent to which it serves their purpose.

I guess if Google does proceed to neglect data from Twitter, Facebook and other mediums it might be a new opportunity in search. Who said search is a solve problem. In fact, I think the guys at Greplin are working on this very problem: <https://www.greplin.com/>

</comment><comment><USER13> LOL, if Twitter's argument is that "time and time again, news breaks first on Twitter", then I don't se how this applies to crawled results, only their realtime feed. And since they don't have that deal with Google anymore, those results that "break first" are irrelevant to their point.

</comment><comment><USER5> They don't really get to have a say in this. Google doesn't dictate to Twitter how they should conduct their business and Twitter would do well to follow their lead.

If I recall correctly Twitter refused to renew Google's firehose access and forced them to shutter Realtime search: [http://searchengineland.com/google- realtime-search-the-after...](http://searchengineland.com/google-realtime- search-the-aftermath-of-the-google-twitter-split-84794)

<comment><USER14> Twitter is not an effective monopoly though. With great power comes great antitrust regulation.

<comment><USER15> theres plenty of competition. So now we're supporting the government stepping in, when theres plenty of competition but just nothing thats good enough to compete. This is not an America I want to live in.

<comment><USER14> As I don't live in the US, i always found the US black-or-white politics unusual. People seem to argue for more or less government, but not about the _right_ government.</comment></comment></comment></comment>


Marvin Minsky, 1927-2016: the death of a genial skeptic - <AUTHOR> http://blogs.harvard.edu/philg/2016/01/25/marvin-minsky-1927-2016-the-death-of-a-skeptic/ <comment><USER2> The main discussion is at [https://news.ycombinator.com/item?id=10970867](https://news.ycombinator.com/item?id=10970867). We're (slowly) working on a system for aggregating related URLs, which will take care of this problem in the future, but for now maybe I'll post a comment over there linking to this, which is worth reading.

<comment><AUTHOR> In general, I like the idea of aggregating the discussion. I will miss how the front page would fill with links about someone who passed away.</comment></comment>


Ask HN: How to ship a Java web service app as a local desktop app? - <AUTHOR> 	I have a Java web service that I want to ship as a local desktop app. Ideally, the user would interact with the app by starting running the jar and opening localhost:$someport. But I want to provide the ease of use by providing the user with a single click and run app experience like an electron app and not have to ship a separate jar and a separate front-end app. So how can I ideally have: 1. Ideally a single executable app which when clicked, launches like a Chromium app<p>2. If the above is not possible, then what's the suggested way to ship such an app? <comment><USER2> The starting point is accepting that running a Jar file has dependencies on all platforms.

The simplest thing that might work is instructions for each platform. Windows, Linux, and Mac will all have different requirements.

Yes, it is not one click. If the app is useful, some potential users will live with a little complexity and become actual users. If the app isn't useful, then efforts toward making it easy to install are wasted on _premature optimization_.

Once there are repeatable and tested instructions for each platform, then those each of the instructions form the outline of a platform specific shell script.</comment>


Top 250 list of twitter clones sites - <AUTHOR> http://www.honeytechblog.com/top-250-list-of-twitter-clones-sites/# <comment><USER2> I find this somewhat depressing for some reason. Seems like there are 3 tiers of people whose time could have been spent better:

1) the people who made the clones 2) the people who use them 3) the person that compiled that list.

And now a fourth- me for clicking on a few of those links out of curiosity.

<comment><USER3> And the fifth: the team that is currently preparing the definitive comparative review (with its own clone to distribute updates).</comment></comment>


Actual vs Perceived threats (aka People are Crazy) - <AUTHOR> http://tartley.com/?p=284 <comment><USER2> Interesting, but simple to explain because people tend to operate on _unthinkability_ rather than _hazard._

While the odds of dying in a car accident are (much) higher than dying in a plane accident, it's unthinkable that so many people die simultaneously from a method of transportation that intuitively feels less safe than a box rolling on the ground.

The only exception on that chart is the asteroid impact, which can probably be discounted because it's for all intents and purposes impossible in our lifetime.

<comment><USER3> While I think that your description is a bit hard to understand you are on to the right thing.

It is basically all about the relatively new discipline of behavioral economics.

If you have 45 minutes to spare you should watch Daniel Kahneman's nobel prize lecture on the subject here: [http://nobelprize.org/nobel_prizes/economics/laureates/2002/...](http://nobelprize.org/nobel_prizes/economics/laureates/2002/kahneman- lecture.html)

Definitely worth the time...</comment></comment>


Brain's wiring: More like the Internet than a pyramid? - <AUTHOR> http://www.sciencedaily.com/releases/2010/08/100809161234.htm <comment><USER2> I think that this view has been around longer than 2003. Steven Pinker describes how integrated as well as parallel thought is in his book The Blank Slate, which came out in 2002 (see: <http://en.wikipedia.org/wiki/The_Blank_Slate>). Assuming that he took 2-4 years writing it. He must have been working on it in the 1990s.

This is an important thing as it isn't an assumption anymore. This idea of a complex and rich network of networks is now starting to be _seen_ in computer simulations of actual neural networks. The best bit is that people can do deeper experimentation based upon those two facets like the blue brain project.

Although, a lot of questions remain unanswered. A good starting part, I think, would be to see how information itself is transferred and stored at the 'nodes' of the network. For example, recently Dr. Thomas Sudhof (see: [http://neuroscience.stanford.edu/research/laboratories/Sudho...](http://neuroscience.stanford.edu/research/laboratories/SudhofLab.html)) from Stanford won a prize because he decoded the protein that causes synaptic exchange to happen (see: <http://med.stanford.edu/ism/2010/june/sudhof-0603.html>). That's just one piece, but it's a crucial piece.

What I love about the current state of neuro-science is that it's like a scattered jigsaw puzzle waiting to be put together. Almost every month / week (?) some small, but crucial piece is found and it gets added to the box. It's simply beautiful.

Another really interesting thing is that everything that's usually here on HN from map reduce to manipulating huge amounts of data is laying the foundation for creating tools that tackle this problem. It's like everybody is inadvertently working to complete the jigsaw without realizing it, which is really, really mind blowing.

<comment><USER3> When do you think we'll have a very basic understanding of how the brain works? E.g, How are memories stored, how does pattern recognition happen, how does generalization work?

<comment><USER2> Um, I have no clue as I am pretty uneducated. I don't know anything beyond what I read in light books. So, I doubt if I am qualified at all to say anything unsubstantiated in _any_ field.

On the other hand, I also doubt if anyone actually does have a clue about the when.

<comment><USER2> @tocomment

I really can't. I don't even have a day of college education, and I wasn't exactly a stellar student in HS either. So, it's quite likely that you know 10^10^10^10 times more than me.

Also, I am really not as smart as I sound. In fact, I am the most boring and dumbest# person you could possibly ever meet.

#Hence proven.

</comment></comment></comment></comment><comment><USER4> This touches on my area of research. The 'pyramid' idea of brain function is essentially a straw man to jazz up the Science Daily article. It's been known for a long time (a century) that recurrent loops occur throughout the brain. The mystery is what these loops do, given the apparent hierarchical buildups of representation that seem to occur in sensory systems, particularly the visual system. (Also in the hippocampus, e.g. place cells, and other areas in all likelihood.)

I haven't read the paper thoroughly (<http://www.pnas.org/content/early/2010/07/28/1009112107>), but looks like the authors are using a strategy of systematic and tightly circumscribed injections of anterograde & retrograde tracers to map out, with unusually high precision, the inter-areal projections for a particular circuit they're interested in. This mapping of inter-areal connectivity is a little different from what I'm interested in, which is to understand how the many-to-many anatomical wiring diagram between _individual neurons_ in a neuronal network relates to the transformation of information carried out by that network. In other words, they are mapping connections between areas, but I think it's likely that an additional level of resolution -- the mapping of connections at the level of individual neurons -- will likely be necessary (and probably insufficient) to crack brain circuits.

<comment><USER5> The synaptic brain works in cycles, which can be measured with EEG sensors. If the brain is asleep or damaged, the cycles are much slower.

BTW Can't they already map out connections using fMRI or dtMRI?

<comment><USER4> No. These synapses: <http://synapses.clm.utexas.edu/anatomy/chemical/asymh.htm>

EEG sensors measure large aggregates of activity.

</comment></comment></comment><comment><USER6> I doubt its much like either, although a distributed network might be our current best but still poor guess. At any given time period people are always comparing the brain to their most salient piece of current technology. While at each step more of the brain's essence is arguably captured, the metaphors still leave _alot_ to be desired - glossing over gigantic swathes of functionality.

The brain has been compared to spirits, hydraulics, clockwork systems, computers and now the internet. I think it takes hubris to not expect people in the future to think our current theories of the brain to be as quaint as how we now view ideas of the brain as a mechanical system.

<comment> saint-loup >>> At any given time period people are always comparing the brain to their most salient piece of current technology.

Exactly. Guess what ?

[http://scientopia.org/blogs/childsplay/2010/08/a-thinking- ma...](http://scientopia.org/blogs/childsplay/2010/08/a-thinking-machine-on- metaphors-for-mind/)

</comment></comment><comment><USER7> > _Neuroscientists are split between a traditional view that the brain is > organized as a hierarchy, with most regions feeding into the "higher" > centers of conscious thought, and a more recent model of the brain as a flat > network similar to the Internet._

"Higher" centers of consciousness seems to be a predictable bias given our view of humans in relation to the outside world.

What are these ambiguously "higher" centers of conciousness that are most advanced in humans? I think it is succinctly described as the following: analogical reasoning. The capacity for not just associating relations between things, but the capacity for relating relationships.

What makes humans unique is our massive capacity for analogical reasoning. Humans have by far the highest capacity for analogical reasoning in the animal kingdom, with bottle-nose dolphins coming in a more distant second and great apes third.

</comment><comment><USER8> Doesn't this idea go back at least to Marvin Minsky's _Society of Mind?_

<http://en.wikipedia.org/wiki/Society_of_Mind>

</comment><comment><USER9> My thoughts instantly go to Deleuze & Guattari's rhizome Idea in A Thousand Plateaus. Why wouldn't our brain run small connected pieces of software that together emulate how the world works and especially how other people are expected to act/behave. This way the network of networks can run simulations. Also, when new bits of information arrive - see Dawkins' communication-is- influence idea - the software gets updated.

<comment> saint-loup The paper is so broad and vague that it can remind you of many, many ideas and authors.

And, I must add, the concept of rhizome is so broad and vague that many, many things can be called a "rhizome".

</comment></comment><comment><USER10> Neural networks anyone?</comment>


Fast and free static sites on Glitch and new Project Hours – Glimmer - <AUTHOR> https://glitch.com/glimmer/post/fast-free-static-site-hosting-glitch-project-hours <comment><USER2> Interesting, I'm curious the infrastructure behind this. Are static sites being served from a single point or from a CDN?</comment>


Dropbox sets sustainability goals and renewable energy - <AUTHOR> https://blog.dropbox.com/topics/company/dropbox-sets-sustainability-goals-for-2030 <comment><AUTHOR> As a business that delivers our products through a global network of data centers, we are committed to sourcing the energy for our operations from 100% renewable energy sources.</comment>


Angry Birds on Chrome - <AUTHOR> http://chrome.angrybirds.com

<comment><USER2> Doesn't work for me. I get the music, but the game never appears.

<comment><USER3> Force update Chrome.

<comment><USER4> According to Chrome, I'm running the latest stable build (11.0.696.65). I've asked others via Twitter and not everyone is suffering from this problem but some people are [http://blogote.com/2011/gaming/angry-birds-doesnt-work- mac.h...](http://blogote.com/2011/gaming/angry-birds-doesnt-work-mac.html).

<comment><USER4> Sounds like this might be the problem <http://news.ycombinator.com/item?id=2538706>

</comment></comment></comment></comment><comment><USER3> Funnily enough, it runs smoother on Firefox than Chrome on my Mac.

<comment><USER5> same for me :P

</comment></comment><comment><USER6> Very laggy/jumpy for me.

Plus that damn music keeps playing, even though after I closed the tab with it in!

</comment><comment><USER7> Why does the interface seem to half take advantage of gestures and half not take advantage. I was able to swipe right and left to get to the bird but when to enable the blue bird multiple drop I had to click. The port seems sort of rushed.

</comment><comment><USER8> Works great in Chrome and Firefox (both nightlies and q6600/9600gt).

</comment><comment><USER9> Slow and laggy. MB Air with latest Chrome and OpenGL enabled.

<comment><USER10> What's your spec? Works great on my Air.

</comment></comment><comment><USER11> Works fine on Chrome 11.0.696.65 (84435) Ubuntu 10.10. This is on a manky old 2.8GHz single core thing.

</comment><comment><USER12> It's really impressive that all the graphics are done with the canvas.

<comment><USER13> The "SD version" is not all canvas — it's a mix of several small canvases and <div>s with CSS transform applied. Try "Inspect Element" on pieces of wood for example.

</comment></comment><comment><USER14> I wonder how this looks/works on the iPad.

</comment><comment><USER15> I found a Chrome logo on level 16.

<comment><USER16> Did you try hitting it?

<comment><USER15> Indeed, I got 550 points for it.

</comment></comment></comment><comment><USER17> Check about:gpu if it's slow as hell. On my 3.2 GHz iMac the GPU does not enable when Chrome starts up which is probably because I run dev channel.

<comment><USER18> >3.2 GHz iMac

Found your problem.

</comment></comment><comment><USER19> The game works on Firefox 4.0.1 (Ubuntu Natty, from the repos, x86-64). No sound, though. Is there supposed to be sound?

<comment><USER17> The sound is Flash.

<comment><USER20> That really pisses me off.

I played through the whole (mediocre) game without sound.

The sounds MAKE this game! They could have mentioned they only did a half- assed HTML5 implementation and used Flash for audio.

</comment></comment></comment><comment><USER21> boring game

</comment><comment><USER22> superb :)

thanks.

</comment><comment><USER23> Here goes productive hours of time. :| Anyway to keep of the temptation? Some psychiatrist here?

<comment><USER24>
        /etc/hosts</comment></comment>


Neuropsychologist discusses a UK report on irreproducibility in science - <AUTHOR> http://www.nature.com/news/how-to-make-biomedical-research-more-reproducible-1.18684 <comment><USER2> Title is "How to make biomedical research more reproducible"' discussed by a psychologist.

Funding via R01 et al creates an ecosystem of start-up like labs that publish or perish as is said--and perish quickly. For too many PIs feeling crunched by grants running low, skepticism towards borderline results could be a lab killer and so they take the position that their hypotheses are right until proven wrong. Because journals are filled with irreproducible nonsense, scientists seem less and less like the high priests of reality that we want them to be and more like the rest of the world struggling to get by and skirting the edge of honesty as they do so. However, the multiplicity of scrappy labs may be a good model to explore the multiplicity of biological phenomena and time will reveal the winners from the losers, even if a moutain of garbage papers is produced in the meantime.

On a pedantic note, because I can't resist-- biomedical research might be mildly more reproducible if psychology journals, which are notoriously bad on reproducibility, were not considered part of biomedicine.

</comment><comment><USER3> >"In April, a group of influential UK biomedical funding agencies held a meeting to discuss the problem — and have just released their findings."

I checked, there is no data there. The findings are just a summary of whatever they discussed. I am quite interested (pessimistically) to find out what a biomed reproducibility project will uncover.

>"There were scientists talking about the 'reproducibility police' or even 'reproducibility Nazis'."

What in the world is wrong with these people?</comment>


Solo5 Unikernel Tech Talk [video] - <AUTHOR> https://developer.ibm.com/open/videos/solo5-unikernel-tech-talk/ <comment><USER2> Great talk! Unikernels are definitely going to change things from Clould to IoT. Its amazing to know MSR Drawbridge is the thing that brought Bash on Ubuntu on Windows, which is amazing. MirageOS/Solo5 seem to be like a winning combination.

One take away from the talk, is being a single binary, unikernels may end up better for debugging compared to the existing set-ups.

<comment><USER3> checkout project UniK: [https://github.com/emc-advanced- dev/unik](https://github.com/emc-advanced-dev/unik) you might will find it interesting.

<comment><USER4> Thanks ! Now my weekend is booked.</comment></comment></comment>


Noncompete Clauses Increasingly Pop Up in Array of Jobs - <AUTHOR> http://www.nytimes.com/2014/06/09/business/noncompete-clauses-increasingly-pop-up-in-array-of-jobs.html?hpw&rref=business <comment><USER3> Noncompete clauses are bullshit.

We already have an extensive infrastructure in place to protect the intellectual property and trade secrets of companies, including NDAs and those clauses assigning ownership of anything you produce to your employer. But the idea that companies can overstep this bound and place restrictions on how you can use your brain and your general knowledge to produce new, creative work that has only a secondary or tertiary relation to their IP is utterly vile.

If the technology existed to erase memories from brains, would these employers insist in their employment clauses that employees who resign must have any professional knowledge acquired on the job erased from existence? This is almost the same thing. If you are an engineer in a niche field, in particular, being barred from that field for a year or more is tantamount to rendering your professional knowledge obsolete.

<comment><USER4> > If you are an engineer in a niche field, in particular, being barred from > that field for a year or more is tantamount to rendering your professional > knowledge obsolete.

What if it was the employer that taught you the niche field? They hired you, and then sent you through six months of training to learn the field. During this time, you are producing very little of value, but you are being paid.

Then, when you finish the training and are ready to be productive with your new niche knowledge, you get poached by their competitor--a competitor who can pay higher wages because it isn't spending tens of thousands of dollars on training for new employees.

It seems to me that there should be some way for the employer to protect against the above scenario. What would be acceptable instead of a noncompete?

Some ideas:

1\. A noncompete that runs from the START of employment instead of from the END of employment. If training takes six months, the noncompete would say you cannot work for a competitor for 18 months after start of employment.

2\. Charge for training, with payment due in monthly installments starting at the end of training. The company waives payment for each month that the employee continues working for them. The employee can leave for a competitor at any time, but will then be responsible for making the remaining payments for his training.

<comment><USER5> I'd be okay with provisions restricting (or penalizing) quitting early in those kinds of situations _if_ they are approximately symmetric. For example a 2-year minimum employment period in which there are penalties for either side abrogating the contract early (the employee leaving before two years, or the company laying the employee off before two years, maybe with exceptions for serious misconduct on either side).

<comment><USER6> It's not clear to me why the employer investing in training has somehow shouldered some additional obligation to the employee.

<comment><USER5> It's the employer modifying the at-will employment arrangement and attempting to restrict the employee's freedom to choose jobs at will, which should result in a symmetric obligation. The default situation in most U.S. states is at- will employment: either side may terminate the employment relationship at any time, for any or no reason, with any notice they choose to give or none.

If a more durable arrangement is desired, so the employee cannot leave tomorrow with no notice (thereby giving up the normal freedom to work only _willingly_ for employers, and leave when it is no longer willing), then IMO it should be set out in advance and honored by both sides, e.g. by using a fixed-term or minimum-term contract, with penalties for early termination by either side. That way both sides can plan on the stability of the relationship (barring serious misconduct).

For example in my current job, either my employer or myself can terminate the employment with four months notice, after the first six months. This gives us both some guarantee that we will be able to plan for major changes— they will have time to find a replacement if I give notice, and I'll have time to find another job if they give notice.

<comment><USER6> The employer is not "modifying the at-will arrangement". The employer is doing the same thing employers do with signing bonuses: "here is a benefit you can have, but if you leave before 12 months is up, you have to give it back".

Obviously, training benefits can be abused. "Here is a 'benefit' that is not really a 'benefit' but instead a job requirement for which we have assigned a nearly arbitrary value; if you leave within 12 months, you must pay us this random number back." But as long as "training" has some value assigned by the market with a reference price not controlled by the employer, what's the problem?

<comment><USER7> Of course, it is all about consideration. I just can't think of an example where training would be enough consideration for a non-compete.

Employers always have to pay for experience. You either pay more for an experienced employee or pay for training.

With an experienced employee you can include actual benefits, like you mentioned, or you can pay to train someone who will take a lower salary.

<comment><USER6> I'm not suggesting that training should be adequate consideration for a noncompete.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> There's a simple solution, of course (besides outright banning of such clauses): require that the employer continue to pay the employee's salary until they are released from the clause. See how many summer camps continue to ask for or enforce such clauses then.

<comment><USER9> I do agree with the general point that at least they should pay the employee bound by such agreements, so as to eliminate frivolous use. If it's really economically important to a firm, they are more likely to demonstrate that by paying a cost.

But, is there really any reason not to outright ban them? Specifically, are there any strong economic arguments for allowing these?

It seems like everyone is worse off in an economy when talent has to sit on ice because these contracts, even if they still collect a salary they are no longer contributing to the wealth engine of society. It discourages more efficient uses of labor when people are effectively married to a company. It also seems like an inherently unfair practice with at-will employment being the rule.

This sounds like one of those ideas people hold up as protecting small businesses or start-ups from big corporations, but really doesn't end up being an advantage.

<comment><USER10> > Specifically, are there any strong economic arguments for allowing these?

They benefit the employer, since it limits the job prospects of the employee.

</comment></comment></comment><comment><USER11> > "Noncompetes reduce the potential for poaching," said Mr. Hazen, whose > company makes scratch lottery tickets and special packaging. "We consider > them an important way to protect our business. As an entrepreneur who > invests a lot of money in equipment, in intellectual property and in people, > I'm worried about losing these people we've invested in."

Then do everything you can to keep them (pay them well, create a workplace where autonomy, mastery, and purpose are the norm, etc). Spending that $$ on your people instead of lawyering up to take away a former employee's livelihood when they find a better opportunity is a terrible way to run your business.

<comment><USER12> That would be true in an ideal world, with no greed and where every employee loves his company.

But in our world, dealing this way might get nasty with some people. "Pay me $$$ or I am leaving for XYZ tomorrow". Wouldn't call that kind of employees toxic or something. Just everyone has a different number.

It's especially true for niche businesses, like scratch tickets. I guess finding a technologist (or whatever) for such a company is a bit harder than finding a jQuery or Rails guy :)

<comment><USER13> > But in our world, dealing this way might get nasty with some people. "Pay me > $$$ or I am leaving for XYZ tomorrow".

I wouldn't call that greed, I'd call that "the employee demanding their true market value." Employers get the right to fire people and replace them with cheap labor overseas (for example), it's only fair that laborers retain the right to leverage competing employers off of one another.

> finding a technologist (or whatever) for such a company is a bit harder than > finding a jQuery or Rails guy

Then the market demands that they be payed accordingly.

> [Anticipated words I'm putting into your mouth:] "You seem awfully focused > on the market for someone arguing in favor of regulation."

I like markets, but they have many well-known pathologies, and I see nothing wrong with addressing those with regulation. In this case, the issue is that the market can remain irrational longer than someone at the bottom can remain solvent. Sure, in some sense you could say that people who don't read their contracts and demand better terms deserve to be punished. But the market doesn't just punish them, it punishes the people who try to negotiate for better terms. Who would hire a smart worker when a dumb worker can be tricked into doing the same job for less?

This is why we ban contracts involving slavery and indentured servitude. If they were allowed, 1/4 of the population would unwittingly walk into the trap- contracts. Even if they were perfectly rational, the next 1/4 would be forced to sign similar contracts by the fact that they had to compete with the irrational 1/4 on price (otherwise they starve). Regulations against this kind of thing don't just protect people from themselves (which is arguably something government shouldn't do), they protect rational workers from irrational workers. The market needs them to function (for any reasonable definition of "function"), and that makes them a good thing.

</comment></comment></comment><comment><USER14> Honest question: would a union help protect workers here?

I know many people here don't like unions in practice (corruption, stagnation, etc.), but isn't this kind of thing exactly what unions are for? It seems like employers are adding these because the feel they have more negotiating power.

<comment><USER15> I'd prefer if they were just banned like in California. I struggle to believe the fact that California is the only place where non-competes are much harder to enforce isn't a major contributor to the success of the tech (Silicon Valley) & film (Hollywood) industries. Even here in the UK, companies offering zero-hours contracts have started to try and impose non-competes.

<comment><USER16> What is a zero hours contract?

<comment><USER17> An employment relationship with an hourly employee which, unlike more typical employment relationships with hourly employees in the UK, does not guarantee a certain minimum number of hours of work available/assigned per week/month.

</comment></comment></comment></comment><comment><USER18> I generally think that people should be free to make whatever agreements they want.

But noncompetes should be banned for the same reason we have anti-trust laws. They are in effect an agreement between companies to not compete for employees. It's anti-competitive.

<comment><USER19> The agreement is between the employee and the employer, and is a term of negotiation just like salary. The two non-compete agreements I've entered into both include provisions to be paid if the company chooses to enforce it.

When I worked at IBM and received a stock grant, they included non- solicitation of employees and customers as a term of the grant (though no non- compete).

If the non-compete agreement includes reasonable consideration, I think banning them would be wrong.

</comment></comment><comment><USER20> Someone I know recently started a lower level tech support job and he asked me about a non-compete he had to sign. I couldn't believe it! People just starting out in lower level positions have no bargaining power so they have no choice but to sign these or they won't get the job.

These companies are just screwing themselves because once these new non- competes begin to harm lower level employees then the laws will be changed so these agreements are invalid.

</comment><comment><USER21> I am currently in Wisconsin under a non compete clause, I couldn't find many laws that help support inventors or software developers.

</comment><comment><USER22> This seems like an extension of the growing trend towards believing that ideas are property. Given that ideas can be developed independently, ideas are _not_ property in any real sense, and therefore require state support to enforce.

But anyway, this is a bad, bad trend.

<comment><USER23> This has nothing to do with ideas. Some of it is the belief that you've spent time and money training someone, you don't want that person to work for a competitor.

<comment><USER24> Or in other words, you believe you own your employees' experience, implying you partly own your employees.

Turns out capitalism eats even its own "I OWN MYSELF!!!111" axiom.

</comment></comment></comment><comment><USER25> I think they should be enforceable only as long as the company is paying you. So they can either keep paying you and keep you from competitors, or they can waive the non-compete, but they can't keep you out of the job market for free.

</comment><comment><USER26> You'd be surprised how easy it is to negotiate around this, assuming you're in such a position.

In either case, always make sure you review the terms and really think about where you'll be if you're let go or quit in the next 2-3 years.

<comment><USER27> There may be some room to negotiate as an engineer. As a hair stylist or a summer camp counselor, the terms usually tend to be closer to the take it or leave it variety.

<comment><USER26> Absolutely, but if a company is going to hire you, then you have _some_ leverage.

</comment></comment></comment><comment><USER28> I've already had to put my money where my mouth is and quit a job over a noncompete clause once. I am fine signing agreements to never disclose anything imaginable about a job, to return company property and destroy any copies of documents/information that I have, to not solicit the company's clients, etc. But to further agree not to work in the same industry for any period of time? Never, ever will I agree to such a thing.

</comment><comment><USER29> And this is why I would not work in any state except for California.

(Actually one of many reasons - California has a lot of laws to protect the employee)

</comment><comment><USER30> Noncompetes except in the most specific of cases is categorically stupid. And even in those rare cases, still feels nasty. I do understand where its useful in keeping a major dominant player/nigh monopolist from picking up key talent from up and coming competitors, but thats about it.

</comment><comment><USER31> This is interesting because in CA, a non-compete is almost pointless - <USER2> illegal under state law, no matter what your term-sheet says. I think there's an argument that in some cases it may make sense, but those situations are the exceptions, not the rule.

<comment><USER32> They apparently only really apply when 'trade secrets' are in play, and CA has a pretty strict definition of 'trade secrets'.

</comment></comment><comment><USER33> You don't want to sign a non-compete in Georgia. They went the direction of Massachusetts a few years ago. [http://www.noncompetetradesecretslaw.com/?cat=37](http://www.noncompetetradesecretslaw.com/?cat=37)

</comment><comment><USER34> As a developer, what can be done to protect against this if you are already signed to one?

<comment><USER35> I think you can work in California regardless (IANAL, of course):

[http://en.wikipedia.org/wiki/Non- compete_clause#California](http://en.wikipedia.org/wiki/Non- compete_clause#California)

<comment><USER36> Even if you signed one in a different state?

<comment><USER37> You could move to California, as the link says.

</comment></comment></comment></comment><comment><USER38> I strongly believe that basic law and legal issues (i.e. contracts and legal rights) should be a required class and taught in all high schools.

</comment><comment><USER39> Sign the strictest non compete you can - if it's too strict in most states, even the less strict clauses are voided immediately. Research first but that's usually true.

<comment><USER40> Unlikely to be true; non-competes, like most other contracts, include clauses that explicitly allow portions to be invalidated without invalidating the whole. In any case, if you're in a position to have to worry about that, you're likely already in court.

Consult a lawyer, and don't sign anything you're not prepared to abide by.

<comment><USER37> I had one non-compete that said I couldn't work for a competitor 1) within 50 miles, 2) within 100 miles, 3) within the US, 4) within North America, 5) on the Earth, 6) anywhere in the universe. And then was relying on the severability clause to make it just as enforceable as it could be made.

<comment><USER41> > 6) anywhere in the universe.

Unless they were covertly testing your attention to detail and reading comprehension, this last one seems like a prank by a bored intern or paralegal :) Did you have a chance to discuss this, and if so, what did they say?

</comment></comment></comment></comment><comment><USER7> Good luck trying to find a judge that would enforce a non-compete for basically any employee below a C-level title.

You can't sneak a non-compete _clause_ in with no compensation for it and expect it to hold up in court.

<comment><USER42> From the article:

"Daniel McKinnon, who had been a hairstylist in Norwell, Mass., lost a court battle with his former employer who claimed that Mr. McKinnon had violated the terms of his agreement when he went to work at a nearby salon."

<comment><USER7> My assumption was that they left significant details out since there was so little on the case in the article. For instance some payment like severance in exchange for the noncompete.

If there was no compensation then it's truly insane - I can't imagine a judge possibly denying a person the right to work on the basis of a one-way contract. The thought that his options are to learn a new profession or get out of town, that's sort of insane.</comment></comment></comment>


Why PHP really won - <AUTHOR> http://alan.dipert.org/post/70990749/why-php-really-won

<comment><USER2> "why would I use PHP for anything more than toy projects?"

Clearly PHP can, and is, being used for projects that go well beyond being toy projects. I doubt, for example, that anyone would call Flickr, Facebook, etc. 'toy projects.'

"But at my current job, I'm in charge of adding features and debugging a massive functionally-written PHP codebase. It is horrifying."

Ah...there it is. His real complaint is about maintaining bad code and not about a bad programming language. I would argue (and even wager) that equally difficult-to-maintain code could be written in Java, Prolog, C++, Lisp, Forth, and Logo (well, maybe not Logo).

I've written commercial applications in perhaps a dozen programming languages (including Prolog) and I've had love affairs with them all and yet I'm using PHP for my current project. But then again, I'm writing some great code and I love maintaining it! :-)

<comment><USER3> I interned at Facebook, and let me tell you, there weren't many people enthusiastic about being stuck in PHP.

A lot of modern sites are in PHP, because that's what the best choice was when they started (as far as they could tell), and now are stuck with that decision.

<comment><USER4> OK but look at this jobs trend line from indeed: [http://www.indeed.com/jobtrends?q=PHP&l=](http://www.indeed.com/jobtrends?q=PHP&l=)

All those companies just got stuck and see no way out? I'm no devotee of PHP at all, but just getting stuck isn't something that works for long periods of time for so many new projects. These are websites, not core banking systems or OS kernels.

I think the real reason for PHP's success is that PHP doesn't force people to become software engineers when all they want to do is print some database records on a web page. And it doesn't force employers to hire expensive software engineers just to thrust software engineering complexity down their throat when they really don't need any of it.

Believe it or not, there is still a great number of websites that are not web apps and never become web apps. They just show you some pages of content with some dynamic parts on some of them.

There's no reason for MVC, no reason for object orientation, no reason for separation between designers and developers, no reason for ORM, no worries about transactions, no interaction with messaging systems or other integration stuff, no need for unit testing or mock objects, no need for 101 deployment scenarios, no need for REST APIs, no need for maintainability because there simply isn't that much code to maintain. But that's what 90% of RoR, Django, JEE documentation is about.

People complain about atrocious PHP code. That's because some websites "degenerate" into web apps over time. The majority of people who create them are not software engineers and have no interest in becoming software engineers.

And yes some of those "degenerate" websites are getting stuck with PHP. But I think you would be mistaken to assume that all or even most of them go down this route. Most websites just remain websites. Some do a rewrite. Others add more interaction or features by installing one of those clunky CMSs. And the CMSs are written in PHP to let the creators of websites (not web apps) customise the system using little pieces of PHP, again without any need for software engineering practices.

So if you need a taxi today, why would you hire an international logistics specialist? Is it because you might get stuck with Beijing taxi drivers shipping iron ore to your steel factory, or because you may never need iron ore deliveries? I think for most users of PHP it's the second. They never do complex web apps.

And all of that has nothing to do with whether or not PHP is suitable for creating complex web apps using software engineering principles.

<comment><USER5> Great post, though it is hard to follow in some places. For one, the parent's statement that "a lot of modern sites are in PHP, because that's what the best choice was when they started (as far as they could tell), and now are stuck with that decision," is logically sound, while your response that "there are more jobs for PHP developers than ever" isn't mutually exclusive to the parent's idea, so I don't see where he is wrong; as well, I think his post was limited to putting in context the opportunities for coding what we consider to be modern apps of today, back in 2003 and 2004.

<comment><USER4> I'm not saying the parent is entirely wrong. I just expressed my opinion that getting stuck is not the main reason for PHPs success, which is what I think the parent was implying.

</comment></comment></comment></comment></comment><comment><USER6> This article includes the same false assumption of just about every other article on PHP:

        PHP is Easy

I'm not sure how anyone can claim that a language which only exposes the underlying C API of all the included libraries could be considered _easy_. Does no one stop to think that the reason 99% of PHP code is bad is because the language is actually _hard_? It's the C of scripting languages; it doesn't include a lot of fancy constructs or high-level abstractions. And, like C, that's what makes it powerful.

I think confusion exists because PHP is extremely _accessible_. It's intimately connected with the web environment (more so, and less securely, in the past) making it _quick_ to get started. But that has never made it easy.

<comment><USER7> > I'm not sure how anyone can claim that ... could be considered easy.

PHP is Easy, and it's easier than Perl, I'd be surprised if you argue with me on that. PHP has very little to trip you up mentally (or at least that was definitely the case when it started winning). No closures, "arrays" are just hashes etc.

PHP is not hard. Actually the hardest thing about PHP could well be its dynamic variable names, like $$foo.

Neither is PHP powerful, it is extremely un-expressive when compared with just about any other modern programming language.

With PHP you _just_ use the clean wrappers on the C API, and that is also easy to do, no knowledge of C required at all. It's so easy you can pretty much write PHP apps without knowing that "4" is any different from 4.

I don't know if I've convinced you, but honestly, I would have a hard time making a language that was any easier.

<comment><USER6> PHP is a simple language, but that doesn't make it easy. PHP does give you enough rope to hang yourself, and unlike most other languages with a similar property (like C, C++, and Perl) PHP gets too much blame for that.

I think Python is a far easier language. No $'s, much greater consistency, more available abstractions.

You can pretty much handle most of the common complaints of PHP and build very large complex code bases, however, you have to put in the work. Other languages have that work already included.

<comment><USER7> Ah, well this is where we differ, I'd say PHP is easy, not simple, and that Python is simple not easy.

My reason for feeling that way hinges upon Python having more available abstractions.

Scheme is an exagerated example of this. Continuations are a very simple idea, you can describe call/cc to someone without much hassle. But the implications of call/cc can be very difficult to grasp.

The closure is a lesser example of a simple, pure abstraction which allows complex code through this devious form of simplicity.

So that is (pretty much) why it is very easy to reach expert level in PHP but very very hard in Scheme.

At the end of the day, what's easier to learn: closures, or the fact that a callback (in PHP) is supplied by giving its name as a string?

Its easier to not learn something than it is to learn it :)

<comment><USER6> I think I can explain the problem. I taught PHP for a semester at the college level to Web designers. I had 3 months (1 class a week) to get them from no programming experience at all to having a small web application (a contact list). Mostly they all managed to accomplish the task but obviously there's only time to cover the minimum functionality necessary. In that sense, PHP is easy.

Now, here's the problem, absolutely nothing they learned is useful for building a reasonable-sized long-lasting web application. They didn't use any classes. They didn't use a template engine. They didn't use a database abstraction. They learned PHP but they didn't learn to use PHP to build real applications. So all that easiness of PHP is all wrong. If you want to do it right, it's not easy.

<comment><USER8> > They didn't use a template engine.

PHP is a templating engine. Writing a templating language for PHP, like Smarty, is like writing a second templating language running on the first templating language.

<comment><USER6> PHP is a crappy template engine. Inlining code into an HTML document requires a lot of discipline, a lot of code to write, and is error prone. Why not let software handle that task for you? You want to create more work for yourself?

<comment><USER8> Don't want to inline code? Well don't inline code. No second templating engine can reduce complexting any more than using PHP directly as a templating language. PHP was built as a templating engine from day 1.

There is a reason why php scripts start with <? --- ?>

<comment><USER6> "No second templating engine can reduce complexting"

Oh yeah, compare:

<?php echo htmlentities($firstName, ENT_COMPAT, "UTF-8"); ?>

with:

{$firstName}

Isn't that reduced complexity? And that's not even getting into other constructs. In my template language (based on smarty), a single {loop} tag expands to 10 lines of PHP code.

Would you also claim that no programming language can ever reduce complexity over assembly language? Probably not. This is just the same thing. Compiling a higher level language into a lower level language.

<comment><USER8> Well, here is what I would write:

Smarty: {$firstName}

vs

PHP: <?=h($firstName)?>

And, loops?

Your: {loop}

vs

PHP's loop: <?while(loop()){?>

Of course you have to define function h() and loop() somewhere. Just don't do it in your template file and you are fine. Hardly saving you even one line of code. We are down to counting how many charecters each need.

 _Would you also claim that no programming language can ever reduce complexity over assembly language? Probably not. This is just the same thing. Compiling a higher level language into a lower level language._

I woun't.

<comment><USER6> "PHP: <?=h($firstName)?>"

Bzzzt wrong. And this is why having a template engine might be a good thing. <?= isn't 'safe' because it can be disabled in the php.ini file (and is disabled by default). If only you had a template language that keeps you having to know that! Also, the default is that your html escapes -- you can't forget to wrap your variable in the h() function. So it's already less error prone. And this is still just a simple example.

"PHP's loop: <?while(loop()){?>"

It's at least <?php while(list($key, $item) = loop($iterator)){?> to be correct and useful. And the template engine can inline the code (rather than call a loop() function) for better performance.

All those correctly expanded PHP tags intermixed in the HTML makes the template harder to follow. You might want to type twice as much identical code for each output variable, but I don't want to do that. It is an advantage that it's cleaner and clearer.

<comment><USER8> _<?= isn't 'safe'_

This is a web app for God's sake. You have full control on what your php.ini have. Which one is more complex? Install a templating language? or ensure your short-tags=On (or whatever that is) in your php.ini. And if you are talking about hosted service, short tags are by default kept "On" on most hosted services, if not all.

 _<?php while(list($key, $item) = loop($iterator)){?>_

No, I can write any of the following if I want the variables localy.

<?while($r=loop($rs)){?> <\---- this is the version I use most frequently.

<?foreach($rs as $key=>$item){?>

or even

<?while(extract(loop($rs))){?>

Now compare all these with any other language beside PHP. Java, C# or Python.

response.write "<html><head><title>" + myTitle + "</title>";

response.write "<body bgcolor=\"white\">";

while(loop inside iterator){ response.write "<tr><td" + print_var; }

Imagine typing your full page like this! You need to enclose each of your line inside a quote and also escape all quotation marks inside it. Here code and design are mixed in real sense. These are the languages that really need a templating engine.

 _And the template engine can inline the code (rather than call a loop() function) for better performance._

Here is an idea, better performace is gained by not loading the templating engine at all. Whatever number of chars typing saved is more complicated by loading and initializing the whole templating engine. Even that is not enough, which is why Smarty has {if}, {else}, {switch} statements. So long for seperating code and design.

 _You might want to type twice as much identical code for each output variable_

I am not typing identical code even once.

 _If only you had a template language that keeps you having to know that!_

We can continue discussion without making attacks? No?

<comment><USER6> "You have full control on what your php.ini have."

If you're writing, for example, an open source application or an application that is hosted by your customers (I have worked on both) you can't assume you have any control over the php.ini. The recommended php.ini file has short_open_tag disabled and having short_open_tag enabled makes it more difficult to use PHP to template XML files. It's not deprecated yet, but I wouldn't count on it sticking around forever.

All my PHP software works irregardless of the php.ini settings and works across all platforms. If that's not a concern of yours, that's fine. We just have different requirements.

"<?while($r=loop($rs)){?>"

You're making the assumption that my template constructs are just simple 1-to-1 mappings to PHP statements but that's not the case. My {loop} tag gives access the previous entry, whether or not the row is odd or even, whether or not it's the first and last entry, etc. It's a very powerful tag for the kind of common tasks that come up in a web application. But that's just one example, there's also tags for caching template blocks as well as tags for interactive controls. The level of complexity that's hidden behind a few simple tags is enormous -- which is entirely the point. I have lots of code which uses PHP itself for templates so I'm aware of the difference. I didn't start using templates, I started the other way and worked towards using templates because they make the job easier and quicker.

"Here is an idea, better performace is gained by not loading the templating engine at all."

For a compiling template engine, there's the initial cost of compiling the template when it's been changed but then there is very little additional cost. It generates a regular PHP file that's run just any other. Once the app has been running for a few minutes the template engine doesn't need to be loaded at all.

"We can continue discussion without making attacks?"

That wasn't an attack. I was making a point -- the template engine insulates you from all kinds of problems. If you forget to wrap some variable in your h() function, you might never even notice. However you've just opened yourself up to a cross-site scripting attack. And even if you never make mistakes ever, you might not be the only one working on it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> "Did PHP really win?"

Yes, for now. It is probably the most widely used language for web apps right now.

Anyone who calls PHP a toy language is not skilled enough to write anything better than a toy in PHP. It is not really a criticism, just an observation. Until you become skilled enough in any language you are pretty much doing fancy versions of Hello World. With many languages the skill of the programmer matters more. For example, I am still struggling to understand why I would ever use functional language for anything but that is a) because I haven't needed it yet and b) I haven't taken the time to acquire the knowledge and skill needed to write anything more functional than toys.

</comment><comment><USER10> Perl: the language of "geniuses and academics"... Was it ever actually perceived as such? Or was the author simply intimidated by other, more academic languages as well? I'm pretty sure Perl doesn't do tail-call optimization like the article implies.

My impression of Perl was always as a practical, "get-'er-done" language, much like PHP -- and prone to the same legibility/maintainability problems if care was not taken.

</comment><comment><USER11> Mmm... Matt's Script Archive.

Good ole days.

</comment><comment><USER12> I'm still waiting for a post to get frontpaged titled "Why PHP didn't win"

</comment><comment><USER13> I really do not understand people reacting violently on how "PHP sucks/horrifying". PHP is just a tool that people use. Blame the programmer not the tool. I have had encounters with horrifying code with a lot of times BUT most of my complaints were on bad design and how programmers badly handled their code.

"Being mindful of best practices in software development fundamentals can be more effective than adopting every latest technology." - Bill Karwin

</comment><comment><USER14> Did PHP really win? I haven't used it in about 4 years.

</comment><comment><USER15> this is accurate. this is how i felt. php was a statement, and asp and coldfusion at the time perhaps were right there, too, but each had their tie- ins and paradigms, and php seemed to be positioned in opposition to that. and i agree anymore it would be best if it is in java or python or something if at all possible, way more maintainable.

</comment><comment><USER16> I'd submit that PHP is for this generation of programmers what BASIC was to a lot of the older generation (including me).

I started on BASIC on a Trash-80. Actually you can probably substitute some of the terms in this blog post for my journey from BASIC to now.

</comment><comment><USER17> If you want easy, quick and accessible all rolled into one, try WebDNA. Nah, on the other hand I think you 'real' programmers would not be interested in using such a simple tool.</comment>


Sorites paradox - <AUTHOR> http://en.wikipedia.org/wiki/Sorites_paradox <comment><USER2> I am not a philosopher, but in this particular example, what's wrong with saying that a heap of sand does not solely depend on the number of grains, but also their arrangement?

Edit: In fact, other people (hopefully more qualified) also find holes in this wikipedia article: [http://en.wikipedia.org/wiki/Talk:Sorites_paradox#There_is_n...](http://en.wikipedia.org/wiki/Talk:Sorites_paradox#There_is_no_paradox)</comment>


Remember Vladimir Putin's New York Times op-ed? Let's revisit it - <AUTHOR> http://www.washingtonpost.com/blogs/worldviews/wp/2014/03/02/remember-vladimir-putins-new-york-times-op-ed-lets-revisit-it

<comment><USER2> The word of an authoritarian ruler has no merit, not to mention the game of politics.</comment>


What the caves are trying to tell us - <AUTHOR> https://theoutline.com/post/2209/what-the-caves-are-trying-to-tell-us <comment><USER2> I'd rather know what that article was trying to tell us.

Genevieve Von Petzinger has done some ground breaking work on cave art and the geometric symbols found with them ( [https://www.ted.com/talks/genevieve_von_petzinger_why_are_th...](https://www.ted.com/talks/genevieve_von_petzinger_why_are_these_32_symbols_found_in_ancient_caves_all_over_europe) )

And Evolutionary Psychology is a real discipline. They're not mutually exclusive.</comment>


Ask HN: Rate my startup, Nrds - <AUTHOR> http://nrds.co.uk Your feedback is much appreciated.  Thank you!  ~ Jan Paricka <comment><USER2> Looking at your front page for 30 seconds, I have no idea what you're offering, and so I close the page.

Also, is that top-right page-peel really necessary? It makes it look like you're trying to pile gimmicks onto your page to impress newbies, and by default it blocks some of the text on your page. Not cool.

</comment><comment><USER3> The "invest in us" page reads more as a gimmick than a real business opportunity. Private companies rarely, if ever, list valuation amounts or concrete prices at which a share can be bought- this makes your company look amateur.

Also, the line "This is an opportunity that could be big enough to IPO, and will certainly have a number of interesting exit opportunities," sounds more like the daily spam in my inbox than a serious business.

<comment><USER4> This also violates federal securities laws and could earn you a C&D from the SEC.

</comment></comment><comment><USER5> I find this all v. dubious:

"What's important about a NRDS Datacube is that it is given so much written material stated in enormously varied ways, covering enormously varied subjects and such exhaustive explanatory information, that when it is asked to do something — analyze text, lookup a reference, or anything else — it is able to understand language rather than merely sort it."

What do your mean by 'understand'? If the message analysed the statement "It is cold today.", what would its conclusions be? Surely 'understanding' that statement requires understanding the experience cold. Please clarify for me.

</comment><comment><USER6> <http://nrds.co.uk/DemoEngineInput.html> doesn't do anything...

<comment><USER7> No dice for me as well.

Also tldr;

A video showing what it does instead of pages and pages of text would be much more helpful.

 _side note:_ A speech-to-text interface for your engine would be quite badass if it really does understand regular language. Would be like Goog-411... except better.

 _side side note:_ Wolfram-alpha needs a telephone speech interface.

</comment></comment><comment><USER8> Whoever made the logo copied it from this one -

<http://logopond.com/gallery/detail/42366>

</comment><comment><AUTHOR> Thank you to everyone who has given comments and criticism. We do appreciate everything you have to say, and we will be making changes based on your thoughts. Unfortunately, due to a problem with the engine, the demo will not work. We are working on getting it back online as soon as possible. This is unfortunate, as we feel the demo is impressive. Please keep the comments coming - we're taking everything into account.

<comment><USER9> I was going to ask you if you are testing the demand for such a thing without building it first - I'm glad this is not the case.

I work in natural language processing and couldn't figure out what should I expect from the demo. It is all marketing speak to me. I upvoted the submission in hopes someone would summarize it. Would you please try to explain it to a hacker in one paragraph here?

</comment></comment><comment><USER10> You need to seriously rethink your copy. I read a few pages of the site, but still have little idea what benefit your product is to me. It reads like it was written by someone's who has english as their second language. Harsh, but true.

* "Unlocking the mathematics of LANGUAGE" means nothing * Demo doesn't work (at least for me) * Page curl in top right is a waste of your and my time * Who are 6com? Their 90's looking site is linked to from every page, yet is in a foreign language * For a company that appears to generate metadata every page lacks meta tags, or differentiating title tags * Typos - "taxanomies", "DemoEngin"

</comment><comment><USER11> As others have mentioned: it is not clear in 10 seconds what you do. That and your demo is pages of text, nothing I can interact with.

I need to be able experience your product in some way. Reading about your promises of a revolution in looking at data is not enough. It comes across as vaporware.

</comment><comment><USER12> The page appears to be down for me.

<http://downforeveryoneorjustme.com/http://nrds.co.uk/>

</comment><comment><USER13> It looks like you're competing with these guys. <http://www.textwise.com/>

I get the feeling your site may over promise on this a little, I get a lot of "the sky is the limit" but not much on what one would do with this.

I tried using semantic fingerprints (from Textwise) to create features I could feed to a classifier for creating a personalized job ad filter. My results were pretty mixed. Maybe I was trying to get the wrong things out of the technology.

</comment><comment><USER14> The 'Try It Out' and 'Demo NRDS' links don't lead to any demo.

</comment><comment><USER15> I almost get the sense it's a flat out scam from looking at it... especially as someone else mentioned about the links to foreign language sites, etc, and asking for large amounts of money from investors so upfront...

</comment><comment><USER16> Is this an elaborate joke, or part of some "alternate reality game"?

<comment><AUTHOR> This is no joke, we are just unfortunate that the engine went down. Perhaps I asked for a feedback to early?

I am trying to get hold of my colleague to bring the engine up again. I am hoping this will be done shortly.

I agree that the text needs to be looked at - this is the reason why I asked for a feedback.

</comment></comment><comment><USER17> The main issue with the homepage is that it doesn't immediately capture my interest to learn more. Your buttons on the bottom "invest in us" are large -- bigger than the actual body text!

Instead, why not make two or three super important points that describe your product, and have that take up the majority of the body?

You could also A/B split test multiple version of the homepage, and track which versions lead to more people ultimately trying your product, or clicking on more pages.

Hope this helps.

</comment><comment><USER18> I would hire a copywriter; the copy seems to be the weakest part of the site from looking at it briefly.

</comment><comment><USER19> One question I couldn't answer from the front page was whether this is aimed at regular users or is a business-to-business product - I sense the latter, but it's not obvious. Please repost when your demo is functional again.

</comment><comment><USER20> You have the image nailed down. Perfect. You come off as both casually hip (the logo) and very well established. The little tear-down sheet at the upper right corner is a nice surprising touch, but might quickly get old ;-)

My best wishes!

</comment><comment><USER21> "this is a document DNA"

What is this supposed to mean, lack of apostrophe notwithstanding?

Also, the title of your submission sounded at first reading as if you were insulting us.</comment>


Ancient DNA sheds light on what happened to the Taino, the native Caribbeans - <AUTHOR> https://arstechnica.com/science/2018/02/natives-of-the-caribbean-wiped-out-during-colonization-left-dna-behind/ <comment><USER2> > What would the Americas -- the world -- look like today if the Europeans > never came here? Or at least, came and engaged respectfully

One historical scene in particular plays out this idea. It occurred as Cortes marched across today's Mexico towards the city and ruler he had heard so much about. At one point — not yet at the city — Moctezuma sent some emissaries to greet him. They brought two others with them, who were sacrificed in front of the Spaniards.

You can find accounts of this story from both sides: from the chronicles of Cortes and his conquistadors (Bernal Diaz, for example) and from native accounts (as told in The Broken Spears, as another example). And the differing reactions to this event tell you everything. The Spaniards were appalled, some even cried. But the emissaries were totally baffled by their reaction to the gift.

What you see is two cultures separated by an almost unimaginable amount of time, distance, and history. The clash that occurred would have been hard to prevent whenever it happened. As others have pointed out, even basic biology (immunity) was different enough to make an enormous difference without people consciously having to do anything.

Peter Watson's "The Great Divide: History and Human Nature in the Old World and the New" is a pretty fascinating examination of the overall contrasts between Eurasian and New World cultures. It's a story that's hard to tell, and there is a lot of speculation and ambiguity. What is clear, above all else, is that the whole ordeal ended tragically, insomuch as it ever ended at all.

<comment><USER3> I just wanted to add to this that it's not as if the Spaniards were appalled by violence itself, just by the cultural difference in how it was applied. As Montaigne pointed out, early modern Europeans were at least as cruel toward enemies and captives, they just expressed it in different ways: i.e. via public executions of witches and heretics, or the tortures of the Inquisition and secular courts. Admittedly Montaigne is writing here about Tupis from Brazil rather than Aztecs, but his point applies in both cases I think:

"After having treated their prisoners well for a long time, giving them all the provisions that they could one, he who is the chief calls a great assembly of his acquaintances. He ties a rope to one of the arms of the prisoner and on the other end, several feet away, out of harm's way, and gives to his best friend the arm to hold; and the two of them, in the presence of the assembled group, slash him to death with their swords. That done, they roast him and eat him together, sending portions to their absent friends. They do this, not as is supposed, for nourishment as did the ancient Scythians; it represents instead an extreme form of vengeance. The proof of this is that when they saw that the Portuguese, who had allied themselves with their adversaries, executed their captives differently, burying them up to the waist and firing numerous arrows into the remainder of the body, hanging them afterward, [the Tupi] viewed these people from another world, who had spread the knowledge of many vices among their neighbors, and who were much more masterly than they in every sort of evil, must have chosen this sort of revenge for a reason. Thinking that it must be more bitter than their own, they abandoned their ancient way to imitate this one.

I am not so concerned that we should remark on the barbaric horror of such a deed, but that, while we quite rightly judge their faults, we are blind to our own."

[http://www2.fiu.edu/~harveyb/oncannibal.htm](http://www2.fiu.edu/~harveyb/oncannibal.htm)

<comment><USER4> >As Montaigne pointed out, early modern Europeans were at least as cruel toward enemies and captives, they just expressed it in different ways: i.e. via public executions of witches and heretics, or the tortures of the Inquisition and secular courts.

Yes, this was my instant thought. What a naive Eurocentric way to think of history to insinuate that everyone except the Europeans were just barbaric savages who killed and devalued life. As if the Europeans weren't fresh off their own multi-year killing sprees for this and that reason that equally would have baffled Native Americans.

<comment><USER5> I don't think the poster was insinuating that - if he's read Bernal Diaz, he no doubt has few illusions about medieval europeans. They literally did stuff like murdering fat people so they could use their fat to treat the wounds of their horses. Nobody could read 'The Conquest of New Spain' and come away with the impression that Cortez was anything but an absolutely awful, atrociously evil person.

<comment><USER4> Then why would he say things like:

>What you see is two cultures separated by an almost unimaginable amount of time, distance, and history. The clash that occurred would have been hard to prevent whenever it happened.

Because surely there was more they had in common than that made them different.

<comment><USER5> I don't know. Bernal Diaz definitely saw a lot of commonalities between the Aztecs and the Spanish. I think the two differences that stuck out for me were the Spanish were way more fanatical, and also way more likely to go back on agreements if it would benefit them. I don't know what was going on in Spanish politics at the time - but if Cortez is typical, it must have been an absolute nest of vipers.

</comment></comment></comment></comment></comment></comment><comment><USER6> It's sad to me how little is known about the native Caribbean peoples. When I read stories about a thriving island population, the Maya and Mexica empires, and the new discoveries being made with Lidar in the jungles, I just feel a sense of loss.

What would the Americas -- the world -- look like today if the Europeans never came here? Or at least, came and engaged respectfully.

Think about it, much of what is considered traditional european food actually came from the Americas: potatoes, tomatoes, chocolate. Italian cuisine wouldn't exist without the Americas.

And now that the whole world has benefited, where are the people who gave it all to the rest of us? Eradicated from existence.

<comment><USER7> Keep in mind that native American groups were conquering, enslaving, and destroying other cultures as well - but they rarely kept records of it. It is not as if there was universal peace in the pre-Columbus Americas.

<comment><USER8> This is a popular talking point for folks who don't want to talk about the effects of European colonization. It's so absurd that it's kind of hard to unpack; which makes it kind of effective.

Nobody ever in any circumstances is stating or implying that native peoples did not engage in war, murder, etc before and during the arrival and colonization by Europeans. But that's not the point. Native peoples died of natural causes while diseases Europeans introduced wiped them out en masse. The natural causes are not the point of the discussion.

The reality is there is a history of European empires colonizing and wiping out native peoples. If we refuse to look at this critically and learn from it then we have not improved beyond our ancestors. when this topic gets brought up, don't bring up straw men based distractions. Engage in the discussion meaningfully with an open mind.

<comment><USER9> You're conveniently implying that Europeans intentionally brought smallpox and other diseases to North and South America, as if it was a choice, which is ridiculous. That's like blaming the rats or the residents sanitary practices for spreading the black death which devistated European populations as well.

<comment><USER10> "The spread of disease from European contact was not always accidental. Europeans arriving in the Americas had long been exposed to the diseases, attaining a measure of immunity, and thus were not as severely affected by them. Therefore, disease could be an effective biological weapon."

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

The quote is from the section _Disease as a weapon against Native Americans_

<comment><USER9> Just because it was used on a few isolated occasions, but even then it was already well advancing on it's own. It was already a natural phenomenon.

The westerns saw the absolute devastation by their mere presences was causing unintentionally and occasionally decided to use it to their advantage purposefully...but I highly doubt that absent those occasions that we would have seen much different outcomes.

Absent total non-contact for the next two centuries...

</comment></comment></comment></comment></comment></comment><comment><USER11> > _But in Puerto Rico, most people have about 10 to 15 percent Native American > DNA._

In one sense the original native american population of the Caribbean is gone, but in another sense they're not.</comment>