EU Proposes to Ban Plastic Straws, Stirs, and Cotton Buds - <AUTHOR> https://www.nytimes.com/aponline/2018/05/28/world/europe/ap-eu-europe-plastics-.html <comment><USER2> [https://news.ycombinator.com/item?id=17172584](https://news.ycombinator.com/item?id=17172584)

</comment><comment><USER3> Over 90% of ocean plastic waste is from 2 rivers in Africa and 8 rivers in Asia. This is an infrastructure/development problem, banning plastic items in the developed world is myopic.

[https://www.theguardian.com/science/2017/nov/05/terrawatch-t...](https://www.theguardian.com/science/2017/nov/05/terrawatch- the-rivers-taking-plastic-to-the-oceans)

<comment><USER4> I've been so annoyed with all these show politics and people buying into it since forever. It's as if no one ever asked themselves, "but wait a minute, when I throw plastic away in the garbage, how would it end up contributing to the plastic soup?"

</comment></comment><comment><USER5> The justification is complete nonsense. The claimed goal is to reduce the amount of plastic that ends up in the ocean. But I fail to see how the straw used to drink a cold chocolate in a restaurant in Vienna could ever end up in the ocean. So the basic premise does not seem to be very well-reasoned. Maybe I'm cynical, but I cannot get rid of the suspicion that this law is mainly about virtue signalling. It seems to be designed to maximize PR impact: they chose a topic that everyone agrees with (saving the environment), that everyone understands, and that does no serious harm to any politically powerful entity. Well done, micro-managing overlords of the European Commission!

<comment><USER6> Just because your properly-disposed straw in Vienna won't end up in the ocean doesn't mean the bill doesn't accomplish its goal of reducing ocean waste. It just means the bill has wider-reaching impact than its stated goal.

If that wider-reaching impact is, more generally, to reduce plastic waste as a whole... then I'd say this is great.

Given the amount of people who think like you, though, I'm quite glad the EC is micromanaging. Reason is hard to come by.

<comment><USER5> The problem is that by micromanaging, the commission violates the principle of subsidiarity. This is not the first time and I generally don't have much trust in anyone who disregards his own stated principles whenever convenient.

</comment></comment></comment><comment><USER7> I never understood outright bans on stuff like this. Why not tax these products enough to price-in their externalities?

</comment><comment><USER8> I'm all for eliminating plastic cotton buds. They're too flimsy to really do anything of value anyway. The rolled-paper stemmed cotton buds are by far the superior product, and better for the environment, apparently. Better yet are Japanese bamboo ear picks. If you really want to scratch your brain from ear to ear, those are the way to do it.

</comment><comment><USER9> What are cotton buds?

<comment><USER10> Sigh. Its quite depressing to see Americans rely on brand names rather than the original meaning of the word.

It would almost make you want to take an Advil.

<comment><USER11> It's mostly regional variation rather than brand names. American English almost always uses "cotton swab" as the generic term while British English today uses "cotton bud" more often. Overall "cotton swab" appears to be the most common English term.

Given that "cotton bud" appears to be a relatively recent British quirk (gaining popularity in the last couple decades), I would submit that "cotton swab" is the original and proper generic term.

British English: [https://books.google.com/ngrams/graph?content=cotton+swab%2C...](https://books.google.com/ngrams/graph?content=cotton+swab%2Ccotton+bud&year_start=1800&corpus=18)

American English: [https://books.google.com/ngrams/graph?content=cotton+swab%2C...](https://books.google.com/ngrams/graph?content=cotton+swab%2Ccotton+bud&year_start=1800&corpus=17)

English overall: [https://books.google.com/ngrams/graph?content=cotton+swab%2C...](https://books.google.com/ngrams/graph?content=cotton+swab%2Ccotton+bud&year_start=1800&corpus=15)

(Refresh the page if the graph doesn't load at first.)

<comment><USER10> I was referring to the use of the brand name 'Q Tip'.

</comment></comment></comment></comment><comment><USER12> We need to eliminate all the single use plastic objects. This is a good first step.

<comment><USER13> Plastic chopsticks and disposable plastic lunch boxes.</comment></comment>


How Facebook stores its billions of photos - <AUTHOR> http://www.facebook.com/note.php?note_id=76191543919

<comment><USER2> That was much more exhaustive than i was anticipating. I'm curious how this stacks up to sites like flickr.

<comment><USER3> @thehigherlife - I was thinking about the same thing recently (an announcement about FB becoming the biggest photo app on the planet). I found two great sources of information on this..

\- <http://highscalability.com/flickr-architecture>

Very deep analysis of Flickr's arch from a couple of years ago - including a link to a presentation to Cal Henderson's slides. I'm surprised he got canned from Y! yesterday though!

<comment><USER4> i don't know anything about cal's departure, but i can say that any large co like yahoo, google, msft, apple etc is more or less impervious against the loss of one or a few technical individuals. his departure may have symbolic value but the machine that is chugging there will keep chugging, for better or for worse

<comment><USER5> Don't confuse continuing to operate with continuing to innovate.

A few technical individuals can move the needle more than you'd imagine, even at a big co.

</comment></comment></comment></comment><comment><USER6> I wonder if they have some mechanism for rebuilding the raid array periodically to handle the inevitable undetected read errors. With raid6 you can actually do this, by comparing both parity blocks with the actual data.

Hard disks typically have undetected read error rates of 1 bit in 1E15, so assuming they transfer 1PB per day that's about 9 errors per day. Which isn't much I guess, but I wonder if they do anything about it.

<comment><USER7> (Not speaking officially, obviously. I had nothing to do with Haystack anyway).

They're images. So you flip a bit every once in a great while; as long as the bit isn't part of image metadata, no human user will notice. The next time they load the image, (at least, assuming it's been long enough for it to get evicted from the CDN) they see the right data.

</comment></comment><comment><USER8> Here's a Flowgram presentation from last year, "Needle in a Haystack", which covers these updates. <http://www.flowgram.com/f/p.html#2qi3k8eicrfgkv>

</comment><comment><USER6> Why bother putting the haystack in a filesystem? Just use a raw partition.

Haystack effectively IS a filesystem - a log structured filesystem.

<comment><USER7> I think the haystack folks made the right decision, here. A rule of thumb is that it takes 3-5 years for a novel on-disk format to gel. There are always random bugs that rely on particular sequences of allocations/deallocations, races, etc. Using an off-the-shelf filesystem that allocates the blocks and then stays out of the application's way, like XFS, probably saved these guys at least one year of screwing around.

</comment></comment><comment><USER4> raw io? facebook better go ipo soon, they're running out of abstraction layers to code through

<comment><USER9> Even if Facebook end up not making any money, it contribution to the next generation of software engineering will be important. Solving major scaling issues, make Facebook a full scale lab for tomorrow. They will set standards for how to approach some unique problems.</comment></comment>


Ask HN: What are some good topics for undergrad thesis related to Tomography? - <AUTHOR> I am in the final semester of my college and I am looking for a topic for my undergraduate thesis, it should be related to GPU Programming. I would like to work on a problem that involves Tomography. I have looked at several research papers but I would like to work on something which is untouched. <comment><USER2> What do tomography and holograms have in common? That's mostly a joke, but I wonder.</comment>


RBC buys Ally Canada and kills it instantly - <AUTHOR> http://www.rbcroyalbank.com/ally/index.html

<comment><AUTHOR> As a customer of Ally I find this interesting because Ally was the only bank in Canada to offer standard rates of 1.8% (for a standard savings account). Since the acquisition they've dropped to 1.2% (RBC's normal rates). Does RBC simply not like competition?</comment>


Why I'm Going to India - <AUTHOR> http://www.thegatesnotes.com/Topics/Development/Why-Im-Going-to-India <comment><USER2> I'm seeing a lot of "What Mr. Gates is doing is great BUT [insert negatives]".

Timing is everything. IMO, this is the perfect timing to start a mission such as the one Mr. Gates is. Why? Well having just been to India last year, my cousins were complaining about how India is filled with geniuses, yet very few who want to take risks (whether it be to help fix the poverty, the political system, or just start cool companies). A couple months after I got back from India (I live in the States), I was talking to my cousins and they were telling me how some cities in the south are really starting to embrace a tech culture and were trying to resemble that of Silicon Valley. And it's grown magnitudes since then; in fact, in recent months, there have been a lot of posts on HN about India's tech expansion.

So Mr. Gates says it well: _"To make real progress on the problems of the poorest, you need at least two ingredients: a deep understanding of the problems, and the technical ability to solve them."_ He probably is going there to better understand some of the problems that exist, but I bet he also understands there are a lot more people there that can help solve these problems. He's a pretty smart guy, I trust he'll actually do good on his visit and it will be constructive to India and its people.

<comment><USER3> Bill gates can't fix

\- apathy from upper/middle class towards lower classes

\- willingness from normal citizens to live with human feces on the streets, eat in restaurants with huge garbage piles right in front

\- spinelessness/cowardness from the voting public

so what if there are smart people in india? they are spineless/uncompassionate/unfeeling/unprideful.

<comment><USER4> _Update - Just realized I just fed a troll. Moving on!_

Whoa! Hold on there cowboy!

What have we told you about sweeping generalizations??!!

Not every person in India wakes up every morning to fix social issues. They wake up every morning to go to work, feed their families and you know..do what you and I do - when we turn the other way to the glaring poverty and injustice that is visible in our communities.

<comment><USER5> He does look like a troll, always getting top comments on India centric pieces.

</comment></comment></comment></comment><comment><USER6> What's up with HN lately? It seems like being contrary to contrarian is the new thing these days.

Bill Gates is someone I admired at first, because he built something huge from humble beginnings. Then I reviled him for the damage I saw him cause to the industry. Then I admired him again for the global effect he managed. He is a single person trying to do the best he knows how for humanity at large.

If anyone thinks resources would better be spent in, say, LA, please earn huge loads of cash and make it happen. Much to your chagrin it might benefit someone in India as well.

Bill Gates seems genuinely concerned with elevating the level of humanity as a whole, and if you oppose that? Is this a zero sum game? No, it's not.

<comment><USER7> He had a large enough trust fund to never need to work a day in his life, so I don't see where you get humble beginnings.

<comment><USER8> > I don't see where you get humble beginnings

He is the son of a lawyer and a college drop out.

<comment><USER8> I guess the HN reality is he was born with a silver spoon in his mouth and never had any impact on the IT world.

</comment></comment></comment></comment><comment><USER9> Mr.Gates is obviously doing this with good intentions, I'm not sure how much this is going to actually help India though.

Having lived in both places, I think India and Africa pretty much have the same deep-rooted culture/religion problem of ignorance, corruption and generally not giving a shit about others. Throwing tons of aid at them isn't going to solve anything. This sort of culture has been accumulated over centuries and isn't going to go away anytime soon. In India, we could actually start with trying to emulate Scandinavian countries considering the number of educated folks we have, but that probably isn't going to scale.

Mr.Gates is trying to solve a NP-hard problem here.

<comment><AUTHOR> > I think India and Africa pretty much have the same deep-rooted > culture/religion problem of ignorance, corruption and generally not giving a > shit about others.

>This sort of culture has been accumulated over centuries and isn't going to go away anytime soon.

I agree with the overall sentiment in your post. Some more explanation about the culture in India which is accumulated over "centuries" would be nice. Which centuries are we talking about?

<comment><USER10> Caste System(More like Racism. Keeping groups of people away from economic opportunity), Families where people have been desperately poor for generations(poor people create more kids on average and most of them end of poor and desperate)... 100's or millions with no primary education/even literacy...

<comment><USER11> Can you give me examples of this caste system probem?

After actually living in India for some time - my impression has been the opposite - overzealous affirmative action

<comment><USER12> If you're in a position where you even have to submit a resume or deal with an organization that even knows what affirmative action is, you are already in a better caste than the majority of India.

<comment><USER11> The affirmative action is dictated by the government. Not private organizations - especially at the education level

</comment></comment></comment></comment></comment></comment><comment><USER13> Last time I was in Pune Gates arrived in Pune unannounced by a private plane and straight away drove to the red-light area (prostitution business area) to meet the social workers there. A lot of local politicians rushed to the place for photo ops. He had to virtually physically fight his way out from them.

<comment><USER12> If they're anything like our politicians, they didn't have to rush anywhere. They were probably already in the red light.

</comment></comment><comment><USER14> If seeing how the poorest live is the purpose of this trip, I am not quite sure I understand why meeting Aamir Khan, the Bollywood star, is a highlight of it and the only one that has a picture in the beautiful poster. What I do sense there is a little bit heroism - he feels like a superhero(and justly so). It's just interesting that every time I hear about Gate's foundation and the wonderful stuff they did, there were also some other high profile name mentioned, be it Warren Buffet or Mark Zuckerberg. Maybe it feels even better to work with other people who also has super hero power?

PS: I have nothing against that mentality. It's just that now I realized it I am more curious about it.

<comment><USER15> I was startled by the mention of Aamir Khan (who I first learned about by watching the movie Three Idiots) until I did some looking up. I see that Khan is now a social activist, and he has recently been designated a program "ambassador" by UNESCO. Khan apparently cares about his country and its problems, and is using his star power to promote change.

[http://movies.ndtv.com/bollywood/aamir-khan-on-time-cover- as...](http://movies.ndtv.com/bollywood/aamir-khan-on-time-cover-as-india-s- first-superstar-activist-261185)

[http://time100.time.com/2013/04/18/time-100/slide/aamir- khan...](http://time100.time.com/2013/04/18/time-100/slide/aamir-khan/)

[http://www.hindustantimes.com/photos-news/Photos- Lifestyle/a...](http://www.hindustantimes.com/photos-news/Photos- Lifestyle/aamirkhanunicef/Article4.aspx)

</comment></comment><comment><USER16> India has some incredibly promising science in the pipeline that has the potential to change the world such as, for instance, a true male contraceptive:

<http://www.wired.com/magazine/2011/04/ff_vasectomy/>

I love that he highlights that he's going to "Discuss how Indian-made vaccines can save lives in other countries too. . ."

Very cool - I hope that his mission helps bear light on the fact that these emerging world economic powers have much to contribute to the world besides the often reported technology-piracy.

</comment><comment><USER17> I'd really like a picture of Bill G shaking hands with someone who is basically starving in India. It'd be a picture of the richest person in the world standing with the poorest person in the world, and it'd be a cool testament to the inherent complexity of life.

<comment><USER18> I will certainly not call it "cool"

<comment><USER17> It'd be far cooler than the conspiracy theories and assumption of malice that mediate poor and rich relations right now.

</comment></comment></comment><comment><USER19> India would prosper if it is not governed like an empire from Delhi. Each ethnic state must form a republic with full autonomy and power should reach into the hands of citizenry.

</comment><comment><USER20> If you haven't already I urge you to watch the BBC Documentary on India:

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

This is the first part, there are 2 more. It's an incredible journey that helps you understand better the problems they're facing.

</comment><comment><USER21> Gates is finding a sample where (India) it is easy to implement solutions (knowledge of understanding, having a support system to solve the problems) and then take them to the larger audience. It is debatable if food & nutrition issue of India or Polio in India is comparable to problems in Mosambique or Brazil.

It seems like the basic problems of food, shelter, hygiene, health and education are basic needs and can be solved in similar ways across the nations without having to depend on govt policies.

I think this is a very sound approach. He should however pick a smaller geographical region than India.

</comment><comment><USER22> Ranbaxy is an anomaly, right? [http://www.nytimes.com/2013/05/14/business/global/ranbaxy- in...](http://www.nytimes.com/2013/05/14/business/global/ranbaxy- in-500-million-settlement-of-generic-drug-case.html)

</comment><comment><USER13> Bill Gate's work is amazing but yet the same I wonder why is he meeting people like Amir Khan who are nothing but hypocrites. I am pretty sure Gates will figure out this on his own. :P

</comment><comment><USER23> To remove poverty providing good education is the best way which will lead to all other things like population control, erasing corruption etc.

</comment><comment><USER24> While what he's doing is obviously good, I am uneasy with the whole idea that one man accumulates so much wealth in the first place, and then decides as an unelected individual what's best for a country. Having said that, I'm not sure i have a particularly good answer to this conundrum.

<comment><USER25> It took me a while to understand this thinking but deep down I end up agreeing -- this "billionaire with a heart of gold" is far too familiar to the old thought of "I hope the king is just." We far too often end up with billionaires using their money to fund an art museum or ballet for rich people in the name of charity ([http://www.newyorker.com/reporting/2010/08/30/100830fa_fact_...](http://www.newyorker.com/reporting/2010/08/30/100830fa_fact_mayer)).

Living in Seattle, I have several friends who work for the BMGF and there is no doubt they are doing amazing things in the world, but the cynic in me still struggles with the idea that a private citizen is deciding how and where to help. Not like I particularly trust the state to handle these decisions either though, so I am normally left scratching my head and just trying to appreciate the good that Gates is ultimately doing.

<comment><USER26> _We far too often end up with billionaires using their money to fund an art museum or ballet for billionaires in the name of charity_

You seem to imply that there's something wrong with funding art museums or ballet... The world needs beauty in it, and if people choose to support the arts in a way from which we all benefit, that's great.

<comment><USER27> "The world needs beauty in it, and if people choose to support the arts in a way from which we all benefit, that's great."

Try to explain why the world needs beauty to the folks of the slums of Mumbai and how this beauty will benefit them. I would imagine that the only beauty that they could find is a hope that their children will get out of the slums and live a more fortunate life than there are now.

I always find it strange that to raise money for charity, sometimes an event (ball, art auction, concert etc) is needed to generate the donations. Why not just short cut the event and just collect the donations?

<comment><USER26> Art is a pervasive part of all human cultures. To imply that people in the slums of Mumbai somehow can't appreciate beauty is to rob them of their humanity.

There's no reason why you can't support both hunger and arts charities.

</comment></comment></comment></comment></comment><comment><USER28> Because everyone loves butter chicken.

</comment><comment><USER29> Godspeed Bill!

</comment><comment><USER30> If he's like most westerners who go to India the first thing he's going to say is that these people should learn to use toilets and not throw their trash in the street.

<comment><USER31> Do those people have nice strong flush toilets in their houses? Regular sanitation service they can afford? Are there third parties which go around cleaning up? Once these things are in place like in the developed world then you are entitled to blame their personal behavior for the problem.

</comment></comment><comment><USER32> Uh, there's plenty of poor people in America. There are kids at my son's elementary school who don't have enough food. In Los Angeles. In California.

<comment><USER33> If there's a chance to help more lives elsewhere I think he should do it. Why should he limit himself to America? I don't really understand what you're trying to get at with this comment.

<comment><USER32> I just want to point out that there are very poor, desperately poor people in America, and that perhaps his statement "But we don't have everyday experience with the problems of the poorest. We don't see people living in extreme poverty next door or pass by them in a slum down the street. " might lead some to think otherwise.

Yes, there are worse places, and while I've never traveled to Mumbai, I do know people who live there, and there are plenty of people with money there, and it's not all slums.

There are rich everywhere, and there are poor everywhere. The reasons for poverty are diverse. It's not: America is rich and India is poor as he seems to show.

But what do I know...

<comment><USER34> Chris, I've lived all around the world - I literally have not seen worse poverty than Indian slums (and yes, this includes multiple countries in Africa). From a marginal benefit perspective, the gains in India are enormous.

<comment><USER32> Ok, so what can he do? I mean, let's say he spends 10 billion dollars, on 100 million people. That would be $100 each. I don't suppose there is any way to insure that all these people get their $100, because of the problem of distribution, identity verification, etc. You can't mail them a check. You can't mail them cash. You can't trust local delivery men to do the job (they'll pocket it and say they delivered, or they'll get robbed). If you try to provide a service, you'll get knocked down by the bureaucracy. Look at the fiasco around providing identification cards for the poor (see [https://en.wikipedia.org/wiki/Unique_Identification_Authorit...](https://en.wikipedia.org/wiki/Unique_Identification_Authority_of_India)). In my opinion, the best way to help the poor in India is to help India become a more prosperous nation, and as such, help the development of education, industry, public safety, environmental safety, research and development, and cultural identity within diversity. This is something the governments of India (national, state, and local) have generally pursued vigorously since independence more than 60 years ago. That the problem with poverty and illiteracy is still so pronounced only demonstrates the magnitude of the task.

Look what a long letter I write... I would suggest that the only way to help the people of the slums is for the rest of the people of India to want to help the people of the slums. There has to be a mindset that the majority of people in India adhere to, namely, that poverty is not acceptable, and that the factors that enhance poverty are to be remedied, even if this means pushing aside long-held traditions and ways of doing things.

Which is a tall order, even for Bill Gates.

So instead he goes after specific problems, such as polio, and it's all good, don't take me wrong, but, huh, it's not nearly as impressive in the grand scheme of things as it's made out to be.

<comment><USER34> I think this is an absurd standard. For want of perfection, he should do nothing? What he's doing has shown clear impact. I'm a skeptic on much of NGO land, but the Gates foundation is better than most and has hard gains to show for it.

Gates is working in India on education, on environmental safety, on sanitation (seriously - I've heard talk repeatedly that his number one goal right now is a better toilet / sanitary mechanism) - these are things that will directly advantage India in the long run. As for the Indian government... well, the road to hell has been paved with good and not so good intentions - suffice to say that has not always been the goal.

FYI separate topic, but the UID is a success story by any standard (its the world's largest biometric database by some distance) - and enables a reduction in the wastage in the traditional channels you identified (aka, the politician cut).

<comment><USER32> I hear you.

I think he's doing good, true, better than nothing.</comment></comment></comment></comment></comment></comment></comment>


Are Eager Investors Overvaluing Tech Start-Ups? - <AUTHOR> http://bits.blogs.nytimes.com/2013/10/27/are-eager-investors-overvaluing-tech-start-ups/?_r=0

<comment><USER2> Investors regret missed opportunities more than the lost investment in failed companies.</comment>


Hour Jobs Version 2 - <AUTHOR> https://30hourjobs.com/blog/30-hour-jobs-version-2/ <comment><AUTHOR> When I previously posted 30 Hour Jobs, I received quite a response so I thought I would share an update!

I've recently finished rebuilding the site. I went from using hosted solutions like carrd.co and seeker.company to building out my own consistent experience using Django and some Vue.js. Using hosted solutions at the start was a great way to get it off the ground quickly.

Now that I'm building something custom, Django has been a blessing. I'm incredibly productive using the framework.

As always, please let me know if you have any feedback! I don't think a v2 launch is quite "Show HN" material, but by all means let me know what you think!</comment>


Olark launches "Targeted Chat" - <AUTHOR> http://www.olark.com/targeting

<comment><USER3> We at Zapier _love_ Olark. Rarely a day goes by where we don't proclaim to each other our undying love for all that is Olark. Its invaluable. Oddly enough, it is one of the most expensive SaaS apps we pay for, and if they doubled prices, we'd still pay for it.

One humble request: a REST API that just spits out recent conversations. Basically a JSON version of <https://www.olark.com/transcripts>. Lots of Zapier customers want to send their Olark transcripts into service X, Y, or Z but without that endpoint we can't... [1]

Keep it up guys. :-)

[1] Well, they could use your email feature to send it to our inbound address.. but that isn't intuitive at all.

<comment><USER4> If you guys create a tutorial for [1] we'll promote it on our blog and twitter.

To do the json version of <http://www.olark.com/transcripts> we'd need to expose an Oauth endpoint and do a few other things that would probably take a while :-)

(Also have you looked at <http://www.olark.com/help/webhooks> )

<comment><USER3> Wasn't aware of the webhook integration. Very cool! I think we can use that.

</comment></comment></comment><comment><USER5> Olark has, by far, affected our ability to communicate with prospects. Instead of sitting in the dark, passively mulling over Analytics numbers, we can put our finger on the pulse of a potential customer. We have several productive chats per day; if nothing else, they reinforce the decisions we're making, or provide great feedback on what we can do better.

<comment><USER6> It warms my heart to hear that :) Chat has built so many relationships for us too, and you just get much richer feedback (or praise!) from a "real" back- and-forth discussion with a customer.

</comment></comment><comment><USER7> I tried Olark once long, long ago and had multiple problems with it -- if there were more than 10 simultaneous visitors on my sites, which there usually were, the whole thing would get wonky and send me the wrong chat info or overlap conversations from different people... I don't remember the details, except that it didn't work. And that wasn't with trying to talk to more than 10 people at once, just having more than 10 on the site.

I switched to SnapEngage, which also has a proactive chat feature that lets you automatically initiate chats on certain URLs and such. It just worked and, I think, was cheaper too... been using it ever since.

I don't actually spend many hours online available to chat, so most of the time the little widget in the corner of the page says "Live Support Offline" and clicking it pops up a contact form instead of a chat. I get mails from that every day, where almost nobody used the contact form built into the websites. It's worth the $19/month just for that.

I'm assuming Olark has long fixed those issues I ran into, but I've no reason to want to switch back now.

<comment><USER8> Zach from Olark here, sorry to hear you were having issues some time ago! Honestly, I'm not sure what could have been causing issues for you back then, but rest assured we take message delivery _extremely_ seriously - <USER2> you're using Olark if you ever have any issues please let us know so we can dive in to the logs and take a look!

Most of our users routinely have many, many more than 10 simultaneous visitors - I can assure you we work in that case. : )

</comment></comment><comment><USER9> For some reason, Olark tabs really bug me as a user. They seem extremely intrusive and distracting sliding in on every page and invariably blocking content.

<comment><USER10> You are not alone. I hate them with passion, just as those sticky sidebars.

When I need support then I'll go looking for it. For that case, please have a visible link somewhere in the header or footer. There is absolutely no need to stick your 200x400px "SUPPORT!!!"-link into my face permanently. Many of them even perform idiotic gymnastics during scrolling or accidental mouseovers, in order to maximize the distraction.

However, there's one thing even worse than that: Automatic chat popups (Hello Rackspace!).

If you're at the receiving end of such a popup and get some really nasty text from a stranger, then that's probably me.

<comment><USER11> You can hide the widget by default and then show it with javascript when the user clicks a link/image/etc.

</comment></comment></comment><comment><USER12> The surprise and delight that users express when they realize a human is on the other end of that chat window makes Olark worth every penny!

<comment><USER13> Does Olark do something different than other chat providers to indicate that a human is on the other end?

<comment><USER14> No. But if there are no humans available it will ask you to leave a message. I've used olark as a user several times and always been delighted - the person you talk to is usually one of the techies so you can get straight down to the issues.

At my current startup I insisted we use olark and have been very happy.

</comment></comment></comment><comment><USER15> I use Olark for my hobby programming blog - <http://programthis.net> and I love it. Problem is that I don't have my account set up on my work computer, but when I'm home I love chatting with readers.

They've got a neat product, and this is an exciting change to see.

<comment><USER16> Competition lets you chat from the mobile app, you should check it out.

</comment></comment><comment><USER17> Scaling is the issue I have with things like Olark. One-to-one chat is an expensive way to get customers. Does anyone have experiences on the effectiveness and cost of customer acquisition using something like Olark?

[Let me say I love the concept of Olark. I'm just not sure how it plays out in practice.]

<comment><USER18> It depends on your business. I'm not an Olark user, but I've been running some back of the envelope calculations.

One _year_ of the Bronze plan, at $180, is _several orders of magnitude_ lower than my average customer lifetime value, so it's _easily_ worth it, even if it only gains me 1 customer per year. Your mileage may vary.

But right now, most of my customers are coming through my email marketing, so I won't signup now. But I definitely will in a few months.

<comment><USER19> You need to also count the cost of your time spent talking to prospects

<comment><USER20> It can be tricky assigning a cost to something that's so important to a startup (customer development). In almost every startup I've been involved with, the engineers who spent the most time talking to customers ended up being the ones who created the most valuable features.

<comment><USER19> agreed. I think Live Chat is a great idea (I use it for my own product) for the customer development aspect. I was just saying there is an opportunity cost involved as well.

</comment></comment></comment></comment></comment><comment><USER21> I had Olark on my site for a brief period to try it out. I _really_ like the functionality that it provides and I think they are doing a great job.

That said, I ended up removing it after finding that the javascript service was rather unreliable and would cause delays for the loading of my site. I'm sure it was just a brief outage or whatever, but it does me no good if I can't get my pages to load.

I'll probably revisit it in the future as olark definitely had the best product out of all of them. The integration with jabber is key.

<comment><USER6> Matt here: I work on a lot of our JS here at Olark - would love to dig into any loading issues you saw! We spent a lot of time ensuring that our latest stuff loads async ([http://www.olark.com/spw/2011/10/lightningjs-safe-fast- and-a...](http://www.olark.com/spw/2011/10/lightningjs-safe-fast-and- asynchronous-third-party-javascript/)) so it'd be great to ensure that we're actually succeeding there :)

Feel free to come on over and chat, or shoot an email to support[at]olark.com

<comment><USER21> It wasn't the async stuff. It was more like olark##.olark-server.com not responding randomly which would cause my page load to block waiting for the server to respond. Probably just a server down or temporary outage, but it was enough to shake my trust a bit and just remove it since we were just starting out with it.

<comment><USER4> I am not sure how long ago you tried Olark out, but we've made a lot of improvements in how the RPC servers work.

I am still a little concerned about a slow request blocking your page though. What's your URL? Do you know if you are using JSONP?

<comment><USER21> Again, it isn't the async stuff. It is:

<script src="[http://server.not.responding.com></script>](http://server.not.responding.com></script>);

That causes the browser to block waiting for a response.

It was a couple months ago, but I think it was olark19 not responding.

While I appreciate what you guys are doing a lot, I'm not willing to be a beta tester for your networking. Stuff like that absolutely needs to be hosted on an architecture that just doesn't go down. Ever.

<comment><USER22> Many browsers support an async/defer attribute on script tags now, which will cause them to load without blocking.

<comment><USER21> As far as I can tell, the olark js block we are asked to copy into the page doesn't set this on the script element that is pushed into the dom.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Super useful, just trying it out.

Using it inside my web app and so want to pop up a chat when the user is on the settings page. e.g. clientname.app.com/settings, anyway to do this? I tried */settings but no luck.

I also think it would be useful if I can say if the client visits any page 5 times start a chat (not a specific page).

Also is their a way I can exclude all the people that are already users of my app from a rule, as I use the chat both on website and in the app.

<comment><AUTHOR> Nathan from Olark here - make sure you give us the full URL (e.g., "<http://clientname.app.com/settings>). That should fix your issue.

The second rule you wanted to use probably can't happen just yet, but we'll look into adding it!

The third rule you can do if you use our Javascript API: www.olark.com/developer

Thanks for the feedback, and you can always email us at firstname.lastname@example.com if you have any other questions!

<comment><USER23> Thanks, the client name is dynamic, if a wildcard could be used it would help.

btw anyone not using this to get feedback from their app users is missing out!

<comment><USER24> Danielle from Olark here. I'm one of the engineers on this project.

We have a "contains" selector that works like a wildcard. So in order to do what you want, your rule conditions would look like: "Current Url" "contains" "settings".

</comment></comment></comment></comment><comment><USER25> I really love Olark, it has helped me close quite a few sales since I am always on IM. I've had the best customer interactions through their widget, pumped to try this out.

</comment><comment><USER26> Looks great! Somewhat similar to what intercom.io is doing, but I think Olark is further ahead on the chat technology. I'll be interesting to see how this sector plays out!

</comment><comment><USER27> Or, build it yourself _very_ easily (I did so in a weekend) using XMPP + Strophe.js:

<http://strophe.im/>

<comment><USER28> Any interest in sharing the code?

</comment></comment><comment><USER29> Reminds me of LiveZilla's visitor monitoring.

It's a pity I had to give up LiveZilla because of its terrible UX.

</comment><comment><USER30> I visited Olark's site today for the first time and not sure why, but oddly enough, now whenever I read my HN feed in Google Reader, my Ghostry is blocking Olark.

Olark should have nothing to do with Google Reader and HN. I wonder, what kind of cookie mess I am in.

</comment><comment><USER31> Sounds interesting..I have come across " Nudgespot - <http://www.nudgespot.com> " recently. They are focused on "How to nudge window shoppers of your ecommerce site with targeted promotions to increase conversion rate".

</comment><comment><USER32> We use the same feature on livechatinc.com and it works great. Olark has done a great job but I must say livechatinc wins my vote because you can see what people are typing before they hit "send" - its a big help in responding faster to questions.

</comment><comment> bill-nordwall Small bug: the fixed-position "See Plans & Pricing" link that shows up at the bottom of the page when you scroll is partially hidden by the fixed-position "Talk to Us" link when the browser window is narrower than 1245px or so.

<comment><AUTHOR> That'd be my fault :(

Fix is forthcoming - thanks for reporting

</comment></comment><comment><USER33> Is this just proactive chat which snapengage already offers?

<comment><AUTHOR> Good question! We already had a feature called "greeter" that was on par with snapengage's proactive chat. Targeting is something bigger.

Targeted chat lets you take a variety of actions other than just automatically starting conversations (label visitor, hide chatbox, show chatbox, route to operator/group) based on a wider variety of conditions about the user (too many to list here).

Take it for a spin and let me know if you have any more questions! Always happy to help.

<comment><USER33> Anyway to make it so that if a user tries to abandon our shopping cart by clicking back or X out of the page the chat box will popup asking if they need any help?

<comment><USER34> Do you really want to override browser functionality? I could imagine more people being frustrated by that than the additional sales it may generate.

From the demo, they offer a rule based on referring and current URL (you may be able to use this in order to determine if a user has already pressed back). Nothing I can see regarding closing the window, your best bet may be to use the given example: "number of seconds user is on page".

</comment></comment></comment></comment><comment><USER35> As a customer I hate those things. Doesn't everybody?

</comment><comment><USER36> Hmm, I wanted to try this but I don't see the "Seconds spent on current page" filter.

Is it only available w/ certain plans?

</comment><comment><USER37> Now coming to HN... YC company ads are now auto-upvoted to be the top story?

Yes, Olark is neat for some applications, I use it on one of my sites. But I am surprised to see this as the #1 story today.

</comment><comment><USER38> guys I understand this site has a tendency to like all y combinator companies. But all other plyers in the space do already have that feature. so this is bs.</comment>


Declarative Explorations at the Limits of Functional Programming - <AUTHOR> https://www.youtube.com/watch?v=9fhnJpCgtUw <comment><AUTHOR> Meander: transparent data transformation library for Clojure/ClojureScript

[https://github.com/noprompt/meander](https://github.com/noprompt/meander)</comment>


Deep learning AI "autoencodes" Blade Runner, and gets a takedown notice - <AUTHOR> http://boingboing.net/2016/06/02/deep-learning-ai-autoencodes.html <comment><USER2> wouldn't it be easier to just apply a cheesy filter in AfterEffects?</comment>


Challenges of Comparing Human and Machine Perception - <AUTHOR> https://thegradient.pub/challenges-of-comparing-human-and-machine-perception/ <comment><USER2> It also highlights our dataset bias instead of characterization of underlying computational problems and associated algortihms to overcome them. Yet to find a single human who grows up in a city/continent and his perception fails in another city.</comment>


MS Exchange "remote wipe" is a terrible, terrible bug - <AUTHOR> http://code.technically.us/post/1109586140/exchange-remote-wipe-is-a-terrible-terrible-bug <comment><USER2> Actually, this has existed since exchange integration was first added to PocketPC (a _long_ time ago). It allows companies to control the security of _their_ data.

Joining your personal phone to exchange is much like joining your personal computer to the corporate domain. You don't do it unless you want corporate IT to administer it and corporate policy allows it.

Edit: I sympathize with people who lost data, and do agree that the phone should warn you before completing the join. That said, as a business owner, I only allow exchange (and not POP or IMAP) for exactly this reason. I need to be able to wipe the company data if a phone is lost, or someone is fired (and not cooperative), etc. The real world isn't always nice.

Also, the full device wipe is by design, and the feature is called "Remote _Device_ Wipe." The details can be found here:

<http://technet.microsoft.com/en-us/library/bb124591.aspx>

Note that the storage card is also wiped (where attachments and other sensitive data may be saved).

<comment><USER3> Correct. Don't blame the feature. It's designed to protect from lost phones. Not only can IT wipe your phone (presumably at your request), but you can actually wipe your own phone from Outlook Web Access.

What's interesting is this: the ability to hook up a phone via ActiveSync (the protocol in question) can be configured _per account_. If IT did not want him to hook up his phone, they should have not given him those rights. Wiping devices like this is a bad idea.

But don't blame the feature.

(full disclosure: I work on the MS Exchange team)

</comment></comment><comment><USER4> Do folks here not work in a regulated industry? We went through a yearly course on How To Not End Up On Front Page of The Paper For Leaking Customer Information. One core part of that is putting up with a little hassle with regards to managing one's cell phone, such as a) not using it for work if at all possible and b) very carefully regulating what got saved on it if it was used for work.

(Nobody at my office should have more than "P. McKenzie" and my phone number saved on their phone. Including full name, email address, a photo, my address, and the like would give me a cause of action against the company if the phone was ever lost or if that information were misused.)

A smart device capable of downloading an email attachment could cause a multi- million dollar incident if it was lost. All it would take is a bug tracking system report with an attached file showing e.g. the wrong number of lines printed per page of _radioactively sensitive customer data_.

<comment><USER5> > _(Nobody at my office should have more than "P. McKenzie" and my phone > number saved on their phone. Including full name, email address, a photo, my > address, and the like would give me a cause of action against the company if > the phone was ever lost or if that information were misused.)_

That really can give you cause of action against a company?

In a similar matter what if I had all of that information on my personal phone, am I correct in assuming that it shouldn't give you the right to sue if that information were released. (As it assumes you either gave me that information, or it was obtained through you in some way)

And in the case of the email attachment, if you are sending _radioactively sensitive customer data_ in any way through email isn't that the real problem and not that the phone could get out.

<comment><USER6> No, that's not the real problem. The transmission of sensitive information through corporate email is commonplace. Formally-classified protected information like HIPAA PI or payment card data shouldn't, of course, be emailed, but information that can be traced back to PI is sent routinely.

Regardless of whether it should or shouldn't happen, IT controls people have to assume it will. The contract for syncing with a corporate Exchange server, in many places, simply requires you to allow your phone to be wiped.

If you don't like it, don't sync with your company's Exchange server. What's so hard about that?

<comment><USER7> > The contract for syncing with a corporate Exchange server, in many places, > simply requires you to allow your phone to be wiped. > If you don't like it, > don't sync with your company's Exchange server. What's so hard about that?

The problem that the posts points out is that there's no warning about this "contract" whatsoever. No matter what mobile device I've ever used, I have never, ever had a dialog tell me that by syncing my phone with an Exchange server I'm letting my company's IT department hold my personal information by the balls.

Additionally, we're talking about a lack of separation between two entities' data (personal & company-owned data).

If I had a user access clause for my website, "by accessing content on this website I am granted full access to indiscriminately wipe any and all data on your device, belonging to me or not" and was given the capability to do it - that would be ludicrous. The only difference I see is that I'm not in an employer relationship with my users. Even still, an employer-employee relationship with a company does not grant them the right to delete any and all data on any device of mine.

Also, since we're in HN (startup city, what?) who has ever worked for a startup that DISCOURAGED working from home on a personal laptop or having access to email 24x7? I've certainly never worked for one.

<comment><USER6> We simply disallow people working on company projects with personal equipment.

If I drank enough rye to kill the requisite number of brain cells required for me to allow people to sync their personal gear with our IT, I'd definitely tell people "we will be nuking your gear from orbit periodically as a precautionary measure".

</comment></comment></comment></comment></comment><comment><USER8> This is one of the reasons I use a third-party app (NitroDesk TouchDown) for reading Exchange mail on my Android phone. If someone hits "remote wipe" it'll only delete your Exchange data, the rest of your phone remains untouched.

[http://groups.google.com/group/nitrodesk/browse_thread/threa...](http://groups.google.com/group/nitrodesk/browse_thread/thread/231fc50e6337afe7)

The app doesn't have permission to wipe the entire phone even if it wanted to.

<comment><USER9> Can you store email/attachments/other information outside of the application? If so that application is a massive security risk.

<comment><USER10> This is crazy talk.

If it's a major security risk, don't sync it to someone's pocket. By syncing it to someone's pocket... it's out. Especially if it's on their personal phone, you can't control what they (or an attacker) will do.

Either that's an acceptable convenience / risk tradeoff, or it's not. If it's not, you need to focus your efforts on tagging confidential data and keeping it inside the "walls" of your organization... but that's not a technology problem, it's a people problem.

<comment><USER9> syncing to someones pocket is fine if you can remote wipe it

<comment><USER10> But you can't guarantee that you can wipe it. What if it's not connected to the 3G network? What if the data has already been pulled off? What if it's been copied to a memory card on the phone? What if the phone doesn't properly implement this feature?

<comment><USER11> If you're using a Blackberry then you encrypt the entire device. The entire memory is encrypted with the device password and a wipe is triggered from too many incorrect passwords.

I don't know if the Exchange devices do the same thing - our company requires this kind of security, so we still only allow Blackberry.

</comment></comment></comment></comment></comment></comment><comment><USER9> Uhm. Data loss is a huge deal. HUGE.

This isn't an evil feature. It isn't a pointless feature. In fact it's a critical feature in the running of an organisation.

Email. Calendar. Address Book. A gold mine of absurdly sensitive data.

If you want corporate email on your phone, expect to have the possibility of a remote wipe.

It isnt Microsofts fault that people use it maliciously.

If you ask the user "do you wish to allow administrators to remote wipe your phone allow/deny?" what do you think they'll click ???

People don't care about data loss. Educate someone on how to not lose data, then a week later give them a laptop with a password protected screen saver/login - first thing they'll try to do is remove password.

The amount of company phones I see with no passcode lock is astounding - I can pick your phone up, forward emails to myself and have all your information. Bang.

Don't think data loss is a big deal? If you google "PA Consulting" a top link is how they lost a USB drive.

<comment><USER12> > _If you ask the user "do you wish to allow administrators to remote wipe > your phone allow/deny?" what do you think they'll click ???_

They will probably click "deny", and then not be allowed to connect to the server. Problem solved!

<comment><USER13> Exactly. It astounds me how many people are managing to miss this point!

</comment></comment></comment><comment><USER14> I'm confused by all the arguments that this feature should exist. Of course it should exist. Re-read the OP: The bug isn't the remote wipe ability, the bug is leaving it up to the administrators of the server to decide whether to inform users that the feature exists.

Google decided to do an end run around Apple's lack of support for push notifications by making Gmail an Exchange server. Until now, I had no idea that by going along with this I was granting Google remote wipe privileges on my phone.

Sure, Google do not appear at this time to want to wipe my phone for any reason, but how is it that I've been unknowingly trusting them with this power? This privilege is decidedly non-obvious. When I connect to an email server I kind of expect that I'm giving someone, somewhere the ability to read my mail. That's "obvious," and I don't need a warning dialog.

But what is obvious about granting Google the right to erase the pictures I've taken of my father-son Lego Jawa Sand Crawler project? Or my voice memos? Or the extensive notes I've been making of design ideas for my Javascript framework?

Let's stay on topic, folks. The question to be debated isn't whether companies should have remote wipe privileges, it's whether a device should allow a user to grant such privileges without putting up a simple warning dialog.

</comment><comment><USER15> If an IT department did this to me without warning, I'd quit _that day_ , CC'ing my manager and the IT guy's manager telling them exactly why they'll now have to spend months finding and training my replacement.

<comment><USER16> I parked my personal car in the company fleet car garage and they clamped it. I didn't understand what was happening and called the rescue company telling them it had broken down and wasted lots of time.

This was so unfair I quit _that day_ , causing a dramatic fuss pointing out exactly how much they'll suffer. That'll show them.

<comment><USER17> Imagine today one of your employees quits on the spot, tells you he's quitting because his car was clamped.

You have no idea who manages the parking lot, but now you just lost a resource on your project.

How did your manager end up reacting?

<comment><USER16> Not a true story, an attempt to frame the parent post I was replying to in a different light to show how much of a prima Donna overreaction it would be, and as you say, directed at the wrong people too.

</comment></comment></comment></comment><comment><USER18> Not sure about other Android versions, but my 2.2 warned me about this when I set up my Exchange account. It also warns me about this every time it first connects to Exchange after a reboot.

Not much I can do about it. I more or less trust my IT guys not to be dicks so I don't lose any sleep over it. But short of carrying two phones, there's no way for me to separate personal and work devices. I do keep a nandroid backup on my personal netbook though.

<comment><USER19> Vanilla 2.2 on a Nexus One here, no such warning. :-(

</comment></comment><comment><USER20> In defense of this feature, it's very important for when a phone is lost. However, I agree, deleting peoples' data for reasons other than the device was compromised is just a sadistic thing to do.

<comment><USER21> Well, if people are using un-approved personal devices on the corporate network, it seems there is some fault on both sides. Assuming there is policy addressing this issue.

<comment><USER15> Sure, but you send out an Email warning people first. There's no reason to wipe people's devices unless they are willfully defying policy, and even then, you've got a list of the people doing it - just go to their office and talk to them in person (involve their manager if needed).

Wiping a personal device to "send a message" is passive-aggressive and totally destructive to morale.

<comment><USER22> It's also quite likely completely illegal - warning or not.

It's a personal device - the company has no rights to it.

<comment><USER16> Then it has no business being borged into the corporate IT system of a company which demands rigorous enough control of data to use remote device wipe.

</comment></comment></comment></comment></comment><comment><USER23> Bug? No this was done intentionally.

Does anybody know how you disable that "feature"? Preferably in such a way that it causes maximum harm to the organization that uses it.

<comment><USER24> Don't connect personal devices to corporate exchange?

<comment><USER23> Look I have a degree in Computer Science, I wrote software to send the strings necessary to use IPOP, heck I even memorized the RFC number (1939).

And in all this time, never did I once see anything on that protocol that could do anything more than download mail and delete the mail you had in your account.

So I hear about Exchange and figure "oh just another protocol MS came up with, properly has extensions for calendars and stuff".

Now if I don't know this is going on, how can anybody know?

It would be one thing if the device said "by connecting to this system, you allow it to removely wipe this device allow/deny?" but it doesn't.

And that is criminal.

<comment><USER25> No, it is not criminal, it is an essential component of ensuring security in lost devices. It would be completely useless if it asked if it was ok to wipe the device.

If you are unable to understand that Microsoft added a lot of stuff to the exchange protocol, and this is one of them, perhaps you are in the wrong field. This is not top secret information, it has been around since Windows CE, and is requested by all big businesses.

<comment><USER26> It's my phone, my property. Nobody gets to access it without my permission, period. If someone sneaks a back door onto my phone, that is criminal.

If experienced developers don't know about this feature, there is no earthly way that the average user can be considered to have consented to access.

My boss can't kick down my door and ransack my house to find secret documents he gave me. If I violate my NDA, he can seek to remedy that in civil court.

<comment><USER16> _It's my phone, my property. Nobody gets to access it without my permission, period._

And by connecting to ActiveSync you are telling your phone to "do ActiveSync things" and that includes letting it push policies such as "require a PIN/Password" and "be erased when needed". That you didn't know it meant that is not really grounds for saying it's criminal or whatever.

Hey, you know one earthly way you could know about this feature? Asked. "Hey IT people, can I connect my home phone to my work email? What should I know?".

</comment></comment></comment></comment></comment></comment><comment><USER27> So to connect to an Exchange server in iOS, Android or WebOS you have to give the server root on your phone? What sort of crazy security policy is that?

<comment> mike-cardwell Just use IMAP instead. There's no remote wipe protocol in IMAP.

<comment><USER28> That's if the Exchange server hasn't been configured to ONLY allow ActiveSync connections.

</comment></comment></comment><comment><USER29> I had no idea there were so many people unfamiliar with secure networks. Anyone who is anywhere near U.S. govt classified networks knows that if they hook up their device up to one of them, they will be lucky to get their equipment sans storage media--and quite likely delivered with a pink slip.

Corporations may not have national security in mind when they protect their data but _to them_ their data is every bit as important.

What I want to know is, can Google wipe my iPhone if I have Exchange synching? Looks like that's a "yes". How about an option to wipe my device, myself? Wouldn't mind getting that without paying for Mobile Me.

<comment><USER11> I believe that Google Apps now supports remote wipe ([http://www.google.com/support/a/bin/answer.py?hl=en&answ...](http://www.google.com/support/a/bin/answer.py?hl=en&answer=173390)), but you need to pay for a premier account. A better deal than Mobile Me, if that's all that you want.

</comment></comment><comment><USER30> He's blames the remote wipes on the local IT guys. Calls them sadists. But I bet they are just doing what their corporate policies _require_ them to do. The policies are written by the suits in management, not the local IT guys. If you want to bitch, bitch at them.

<comment><USER23> Why not just bitch at them both? And then call the police on the IT guys, since they just hacked your device.

Doing your job isn't an excuse.

<comment><USER25> As far as they new, someone was hacking their servers, downloading unauthorized emails. This is completely what you would expect them to do.

The fact you can't see this, and change your world view to understand what is really going on, suggests that you are very young and being unreasonable.

<comment><USER31> > This is completely what you would expect them to do.

And, sure, they expect evildoers to be using software that honors a remote- wipe command. Yeah, right.

</comment></comment></comment></comment><comment><USER32> Is the "remote wipe" command really supposed to delete all the data on the device? It sounds to me like it's meant to erase just the data associated with the Exchange account, but that the implementors misinterpreted it to mean "erase the whole volume".

<comment><USER33> Yes, because once things hit your exchange account they can leak all over the phone. Attachments stored on it's flash storage/SD card and the like.

</comment></comment><comment><USER34> Maybe it's because I've had a reasonable amount of exposure to the security measures taken by large companies (and the associated unpleasant legal measures that can be taken) but I follow these rules:

\- No corporate data on personal devices (not even email)

\- I expect to be given a work smartphone

\- I use my own phone and iPad for personal stuff

\- Assume that anything you do through a device attached in any way (even a VPN) to a corporate network may have _everything_ you do monitored

Of course, these rules apply mostly when you are working for a large company, but even when you are in a startup you occasionally may have to work at a client site - and often these _are_ large corporates.

</comment><comment><USER35> At first read it seems like a normal, in fact, useful feature, but the key line is this:

"When he turns it back on, it's back to factory defaults. All the settings, apps, and data have been erased. wtf?"

Major case of Exchange over-reaching and wiping more than just Exchange data !?

<comment><USER33> As has been said elsewhere in the comments, it overreaches because once that data hits your phone it can leak in to other applications, the phone can store attachments on it's flash storage or the SD card, etc.

</comment></comment><comment><USER36> This is a feature, not a bug. If you don't want your personal device to fall under your organization's security policy, don't connect it to your organization's Exchange (or any other) servers.

It's saved our bacon in regards to stolen devices a few times.

</comment><comment><USER37> The problem is that right now there aren't granular enough controls of remote devices to allow people to adequately differentiate between approved ones and illicit ones. The fault lies on both the side of the client device software and the server side software.

The same goes for Gmail (Google Apps Premium Edition only) and Android (or anything else using Google Sync). You can enable/disable IMAP & POP for the domain and if you enable it you open the floodgates. You can selectively enable/disable users via API but they can toggle it back on their own. If you setup Google Sync instead of IMAP/POP you can remotely wipe devices but you can't do anything except wipe everything and there is no inbuilt method to notify the user first.

Exchange, as described in the blog post, is equally bad. I'm confident things will improve in 2011 but it's unpleasant right now. The best thing companies can do is to set a clear policy on what's allowed and what isn't based on their data security needs, and never violate the users' trust.

<comment><USER38> So even using a GMail account on my iPhone will allow someone (Google) to remote wipe?

</comment></comment><comment><USER39> One point not being made here is that nearly every wireless carrier requires you to add an Enterprise Data Plan to your service in order to use an Exchange connector. AT&T requires this with the iPhone. Verizon, T-Mobile, etc. all require it for the Blackberry. I haven't heard of a single device/provider that doesn't require an elevated service level to allow for enterprise mail access.

So there's a security by obscurity to start with: the average user doesn't know to ask for the Enterprise plan, let alone what Enterprise even means in context. So the scenario here requires that a) the salesman talked them into it, b) they bought into that service for the extra $15 on top of the data plan, or c) they consulted with the company's IT department or policies and knew they had to get that service. If they didn't, they simply cannot connect to the Exchange account. There's very little "oops, I didn't know what I was doing" here. I hope that most companies have a clear policy against checking your work e-mail from personal devices, and on your own time. There are legal implications for overtime pay. We may look the other way in startups, but this can't always be done.

Most law firms require this, unilaterally. It's part of the deal-- we'll pay your enterprise data plan in exchange for knowing that we may wipe the device, control which apps you can install [this is another can of worms], so on and so forth, per the requirements of malpractice insurance and data security.

In a perfect world this wouldn't be required, but I think we all know this can't possibly be the case in many industries.

<comment><USER40> Ugh--sorry for the inadvertent downvote. My bad.

<comment><USER41> I upvoted to cancel you out.

<comment><USER39> I get the point the guy was making, but it seemed a little dickish. Thanks.

</comment></comment></comment></comment><comment><USER42> I once lost my phone, with work email on it. I used the remote wipe as soon as I knew the phone wasn't coming back.

Someone had gone to the trouble of keeping the phone charged; it got the wipe a good 24 hours after the battery should have died.

I was very, very happy the facility was there.

</comment><comment><USER26> Can someone confirm that the remote wipe actually works as described on each mobile OS? And that it can be done through a Google domain just by using their sync feature with a company account?

<comment><USER16> This is remote wipe as used by Microsoft Activesync and mobile OS's which support Activesync (Windows Mobile, iOS and Nokia with third party extensions). What do Google domains have to do with it?

<comment><USER43> Google for Domains uses Activesync to do push email.

<comment><USER16> Ahh.

</comment></comment></comment></comment><comment><USER44> Seems like we need something like vmware on phones. Then I can run the company's phone on my device. They can wipe, er, administer it any way they must. And I can still have one phone.

<comment><USER45> You appear to be talking about ARM's TrustZone technology.

<comment><USER44> I'm not. I'm just a dumb user waiting for my data to be unexpectedly wiped. Thanks for the pointer. What does it do?

</comment></comment></comment><comment><USER46> So, is there a way to safeguard against this? I assume when I connect to an exchange server at home it doesn't have root access to my laptop, right?

<comment><USER14> Amazed your question doesn't have upmods, it's very original.

Can my personal laptop be remotely wiped if I connect my email client to an exchange server? If not, why not? It seems to me that a laptop is even more likely to leak sensitive information out of email, like spread sheets and word documents.

</comment></comment><comment><USER11> I'm a sysadmin at a place that wants this sort of protection, and historically we've only used Blackberries. Now that lots of people have iPhones, I'm explaining the "remote wipe" situation pretty often.

The best compromise I have at the moment is an iPhone optimised web interface. This lets you get your emails on the device without (much) danger of them ending up saved there.

</comment><comment><USER47> So our company will not let iPhones connect to the Exchange servers from outside the corp firewall. Solution: Set up a separate mailbox on an external web host and use an exchange rule through Outlook to redirect emails to that address, all the while filtering for things like confidential or classified documents, and check the mail from my phone.

</comment><comment><USER48> What is the offending module or piece of software on, for example, Android that does this? If it's an Exchange specific thing and works on many phones, why does it come preinstalled with root access and can I just disable or enable Exchange support to be sure nobody ever nukes my phone?

</comment><comment><USER49> This person seems to have issues.

</comment><comment><USER50> I work in IT and my boss is precisely like this. We don't manage mobiles but wireless. He's talked about scanning the multi-campus network to find unauthorized microwaves that he can have removed.

Because of course, it might cause _some_ interference for 30 seconds at a time right? Yeah.

<comment><USER22> If you are in the US, it's likely illegal for your boss to try to regulate microwave ovens based on causing wifi interference - that's solely the job of the FCC.

The regulations that allow the use of 2.4Ghz ISM band require you to accept that interference....

<comment><USER51> ... Not if the microwaves are in your control. You can certainly police microwaves on your own campus. (Not that this is an intelligent idea.)

<comment><USER52> <grumble>I think it's an intelligent idea if you're providing blanket coverage and idiots are setting up their own linksys's that can't even dhcp on due to mac filtering. </grumble>

<comment><USER51> What does that have to do with hunting down microwave ovens?</comment></comment></comment></comment></comment>


Selling to small businesses- figuring out how to break through the noise. - <AUTHOR>

So many of us have developed technologies targeting small businesses. We need to figure out how to break through the noise. Here are a couple resources I have found on the subject:
http://www.uxbooth.com/blog/selling-ux-to-small-business/
http://www.usatoday.com/money/smallbusiness/columnist/strauss/2008-03-10-selling-to-small-business_N.htm
http://sellingsb.blogspot.com/
My partners and I are trying to find the best methods of selling our $10/month service (http://www.getonsocial.com) to small business owners. We would definitely like to hear from anyone with insight on this matter. <comment><USER2> Two problems, IMO.

One, there are a bloody lot of social media services out there now. Why you? You've got a pretty page, but you don't answer that.

Two, "simply reply to our daily emails" doesn't sound very simple. You should give a more specific understanding of what this entails.

There is a lot of potential for value-add by this sort of service so it's something small business could be interested in, but I think you need to improve the pitch.

That big graphic with the Twitter and Facebook icons isn't really contributing anything proportional to the space it's consuming. Can you put something there that addresses these problems? Perhaps an illustration of the email queries.

<comment><AUTHOR> I completely agree we need to improve the pitch and our goal is to be able to up-sell on more services. We are working on a video right now that will explain the value of having a presence on social media and how our service will prompt them to post on their pages more. That will replace graphic on our homepage. Thanks for your feedback. What are you working on?

</comment></comment><comment><USER3> It's a really tough to sell a one-size-fits-all one-trick pony.

I would highly recommend segmenting your market and really narrowing it down. Pick one niche of SMB and custom-tailor your product to them. The more you can narrow this down, the better (by geography, # of employees, revenue, industry, years in business, age of owners, etc).

The reason for narrowing down the market is so that you can really understand your customer. You need to know their business inside and out. It's those minor nuances between similar market segments where the juicy opportunities are.

For instance, realtors in a primarily tourist areas are quite different from realtors in primarily middle class, white suburban areas. The home buyers are very different, which require different approaches on the realtors' part.

Once you pick your niche (say < 40 room mom-and-pop hotels in summer vacation destinations in the southwest), then figure out what other functionality you can add into your existing functionality that creates some synergy.

For instance, if they use (i.e. pay money for) an email manager (like constant contact), then figure out how to tie your social media manager into an email manager.

This is a much easier sell: 'You already pay $10/mo for Constant Contact. It doesn't allow Social Media management. Our product costs the same, has all the functionality you use in Constant Contact. Plus it manages your social media for you'.

The hook is an existing product they pay money for. Then replace that product with your product by adding some new sizzle.

<comment><AUTHOR> This is great feedback, thank you.

</comment></comment><comment><USER4> In my experience, small business owners are a hard nut to crack - marketing to them feels a whole lot like mass marketing. And mass marketing feels an awful lot like playing roulette.

Something you might want to think about is turning your existing customers into your sales people via an extremely generous affiliate program (though don't call it an affiliate program - the name makes me cringe).

</comment><comment><USER5> Small businesses is too vague a classification. You need to define your target market a bit more specifically.

</comment><comment><USER6> <http://www.getonsocial.com/about>

Some suggestions for your About page:

Rename your example. "Bill the Business Owner" was misread by me. I read "Bill" as a verb (send a bill) rather than a name. Also, put your "solution" anecdote last, not first. And rewrite all three examples. Your "solution" anecdote should be shorter than the other two, not longer. It should be shorter to help convey that this will be a time saver and convenience. The other two should make the reader feel frustrated at having to slog through the effort to read them. Your "solution" anecdote should then be short and sweet and give a sense of relief - like "that's it? I can do that! That would be easy and well worth a measly $10/month to avoid all that frustration." Also, I would suggest you put up a FAQ or something to try to educate potential customers about why social should matter to their small business. You seem to assume your customers already know that. Dumb assumption.

And I am a tad leery of the "cheap solutions for small business!" space. If that line sums up your business model, I suggest you think again. Generally speaking, as a small business, you really can't afford to compete on price. You need to compete on value, on the idea that it is well worth a few extra bucks. Underselling the competition is a good way for a small business to starve.

However, the real reason I worry about this approach is the mentality it implies to me. It sounds kind of like a charity mentality. And that's a really good way to starve. Assuming that people don't really have the money to spare and you are some good guy for trying to help them is really missing the mark (and also a good way to starve -- have I mentioned fail, go bankrupt, and all that?).

I read a _Money_ magazine article some years back about a woman who started two part time seasonal businesses in order to quit her job and be home with her child. One of them was like taxes/accounting services for small businesses. The businesses were bleeding the family dry and they were only surviving at all due to her husband's high income. After working all day, she was too tired to cook so they were spending $20k/year on restaurant meals. Since her actual goal was to be home with her child, the family would have been better off all around if she had given up the silliness of trying to have these two businesses and just did the homemaker thing and, by god, _cooked_. The advisers didn't have the balls to say "Quit this shit and be a homemaker!" Instead, they advised her on how to tweak the business so they weren't bleeding so badly. This article was probably published 15 to 20 years ago. If you can find it, I would highly recommend you read it. Her desire to serve small businesses was misguided (out of "idealism") and helping her fail. Her business model was not really viable at all, no matter how much tweaking happened.

Don't get me wrong, there are more small businesses than large and they are the engine that drives job growth in the U.S., so there is definitely money to be made marketing services to small businesses. But there is something about your remarks and attitude which just screams "we think small businesses are charity cases and we are trying to provide a service out of charitable intentions rather than a real business model". If that is not your actual mindset, you have a lot of work to do to communicate better. If it is your actual mindset, you need to do some soul searching and determine if this is realistic at all and, if it is, figure out what needs to be done seriously differently to give it any hope of success.

Peace and good luck.

</comment><comment><USER7> Double your price. $10 doesn't leave a lot of room for marketing cost.</comment>


"The worst algorithm in the world?" - <AUTHOR> http://bosker.wordpress.com/2011/04/29/the-worst-algorithm-in-the-world/ <comment><USER2> Very good demonstration of subsequent improvements of a naive algorithm. To me that was somewhat depreciated by the fact that you can actually calculate n-the Fibonacci number using Binet's closed form formula ([http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_ex...](http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_expression)). You will need arbitrary precision arithmetic starting with certain 'n' though, as IEEE 754 will not give you correct result.

<comment><USER3> Actually, you need just Z ring enriched (if this is right word) with sqrt(5). So instead of one float, you use pair of integers of arbitrary precision. So

(a,b)+(c,d) = (a+c,b+d)

(a,b)/sqrt(5) = (b,a/5)

(a,b) __(c,d) = (a __c+5 __b __d,a __d+b __c)

2phi = (1,1)

F(n) = (2phi^n - (2-2phi)^n)/(2^n*sqrt(5))

[edit] As ot said, the right word is "extended"

<comment><USER4> And when you calculate this out, you internally wind up doing the same calculation as the matrix method.

<comment><USER5> How do you know that? Have you actually done the math?

Although I agree that this whole stuff looks very similar, I'm not sure whether it really leads to the exact same calculations.

<comment><USER4> Yes, I have actually done the math. On the surface it looks very different, but a lot of the same numbers show up in intermediate calculations.

<comment><USER6> Well, both have computed the Fibonacci terms at a given level, so how different could it be? Here's my implementation:

        def fib_fast2(n):
            assert n >= 0
            a, b = 2, 0 # invariant: a,b are components of 2(phi^n)
            for bit in bits(n):
                a, b = (a*a + 5*b*b)>>1, a*b
                if bit: a, b = (a + 5*b)>>1, (a+b)>>1
            return b

It's almost identical runtime as the one in the article - a hair slower (15.32s vs. 16.17s to compute fib 10M). They're probably related by some well known relation between Fibonacci numbers.

<comment><USER7> That's very nice! And a little rearrangement will bring it from three to two "big multiplications", making it faster than my routine:

      def fib_ring2(n):
        assert n >= 0
        a, b = 2, 0 # invariant: phi^n = (a + b*sqrt(5)) / 2
        for bit in bits(n):
            ab = a*b
            a, b = (a+b)*((a+5*b)//2) - 3*ab, ab
            if bit: a, b = (a + 5*b)//2, (a+b)//2
        return b

<comment><USER6> Oops, I should have found that. I looked and thought there was some reason it wouldn't work. Interesting post, thanks for the fun.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> The title is hyperbole (I'm sure that I've written much, much worse algorithms, many times), but the breakdown of Fibonacci sequence algorithms is really enjoyable.

<comment><USER8> Typical way to gain views and make it look like you know what you are talking about (although the author does seem to know good algorithm development). Hell, comparing it to Bogosort is a stretch. Bogosort is not even a naive algorithm.

<comment><USER9> FWIW, in my Programming Languages Theory class the first sorting algorithm we learned for Prolog was Permutation sort, which is a better version of Bogosort. Instead of trying a random permutation each time, Permutation sort will try each permutation once. In Prolog, this is a (the?) naive sort.

The code below consists of declaring that S is a sorted version of L as long as S is a permutation of L and S is sorted.

      permutation_sort(L,S) :- permutation(L,S), sorted(S).

      sorted([]).
      sorted([_]).
      sorted([X,Y|ZS]) :- X =< Y, sorted([Y|ZS]).

      permutation([],[]).
      permutation([X|XS],YS) :- permutation(XS,ZS),select(X,YS,ZS).

<comment><USER8> permutation([X|XS],YS) :- permutation(XS,ZS),select(X,YS,ZS).

Where is ZS defined? Bear in mind that I only took half a module's worth (6 modules in a year at my university) of Prolog and we really just used it for learning predicate logic.

Nevertheless, using Prolog (especially when my code worked!) blew my mind. In the assignment I had to write a program that mimicked part of an aircraft controller in that each aircraft in it's flightplan had to be separated from all other aircraft. Do you think Prolog will ever become popular (perhaps with the incoming Semantic web) or is it destined for academic work and system proofs only?

<comment><USER10> ZS is defined by select.

I don't believe Prolog will become any more popular than it is. The Japanese had some sort of a government project a few years ago, but I think that fell through. Now we have Erlang, Haskell and Java libraries that replicate most functionality, and then some.

</comment></comment></comment></comment></comment><comment><USER11> > It's not just bad in the way that Bubble sort is a bad sorting algorithm; > it's bad in the way that Bogosort is a bad sorting algorithm.

Nonono, Bogosort is way worse than naive recursive fibonacci - the former doesn't even guarantee termination, recursive fibonacci still does.

If you want to calculate fibonacci numbers not as a misguided exercise in algorithms but actually efficiently, use an algebraic form: [http://en.wikipedia.org/wiki/Fibonacci_number#Computation_by...](http://en.wikipedia.org/wiki/Fibonacci_number#Computation_by_rounding)

<comment><USER7> Bogosort terminates with probability 1. Is it really reasonable to say it doesn't guarantee termination? People often do say that about randomised algorithms, which confuses me a little. Probability 1 is as guaranteed as anything probabilistic can reasonably hope to be, isn't it?

[ _Edited to add_ : thanks for the replies. I think I expressed myself poorly here. It's not that I don't understand the difference between "with probability 1" and "always". What I mean is that I don't understand why people sometimes make a big deal out of it, and say "that algorithm is not even guaranteed to terminate" as though that somehow means the algorithm is untrustworthy or useless. The trouble with the game "roll a die until you get 100 sixes in a row" is that it has an astronomical expected running time – not that it might _never_ end, but that it will almost certainly take a very long time.]

<comment><USER5> _Probability 1 is as guaranteed as anything probabilistic can reasonably hope to be, isn't it?_

Unfortunately, it isn't. This is the reason why in mathematics, we say that "possibility 1" means that an event is "almost sure", which is different from a "sure" event.

For instance, you can play a game where you roll a dice over an over again. You win if you get 100 times a 6 in sequence. If you play this game without any time limit, your possibility to win is exactly 1, which means that you can be "almost sure" you'll win in the end. However, you can't be sure, because there is still the possibility that you don't get 100 times a 6 in an eternity.

Note that this only happens in infinite probability spaces. In finite spaces, "almost sure" and "sure" are equivalent.

Also note that the same holds for "probability 0" which means "almost impossible", not to be confused with "impossible".

<comment><USER12> Your example is misleading, because the same can be said about the game where you roll a dice over and over again, and you win if you get a 6.

The probability that the game ends is 1, but it is not guaranteed to end. Yet no reasonable person will worry about this _in practice_.

Your example with 100 times 6 in a row is conceptually exactly the same, just the expected time until the game terminates is much, much larger.

</comment></comment></comment></comment><comment><USER13> I always find it incredibly difficult to concentrate on comparisons of Fibonacci sequence algorithms when I know for a fact that there is a closed- form expression[1] which gives F(n) in constant time.

[1] [http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_ex...](http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_expression)

<comment><USER14> Raising something to the power of n is not constant time.

</comment></comment><comment><USER15> In a somewhat similar genre, I enjoyed this paper on computing primes, and some of the very-inefficient algorithms that have been used for such purposes (often mislabeled as the "sieve of Eratosthenes"): <http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf>

</comment><comment><USER16> It seems the author hasn't read SICP:

[http://mitpress.mit.edu/sicp/full-text/book/book- Z-H-11.html...](http://mitpress.mit.edu/sicp/full-text/book/book- Z-H-11.html#%_sec_1.2.2)

<comment><USER17> I don't think you've read the article, actually.

The key point is that he is trying to calculate arbitrarily large fibonacci numbers, and so the addition is itself an O(n) operation. This means that even after memoization, the complexity is still O(n^2), and he uses a number of tricks to reduce that.

<comment><USER16> His way around that is to use the matrix recurrence relation, which is also there in SICP as an exercise.

But it's a nice discussion in any case.

</comment></comment></comment><comment><USER17> Ppffftt, I wrote a recursive algorithm that calculates 2^n in O(2^n) time for an exam question.

That's what I call a bad algorithm!

</comment><comment><USER18> If you're writing in JavaScript it's a nice candidate for self memoizing functions. Obviously this is only helpful if you're making numerous requests to the method, a single request still produces a series of recursive calls.

<comment><USER19> But the single request will still be faster. Try it.

</comment></comment><comment><USER20> I always liked the sort where you randomize the elements, check to see if they're sorted, and if not try again.

<comment><USER21> Yeah, I recalled the name as random sort, and was pleasantly surprised when the bogosort link directed to the same algorithm. I particularly enjoyed the "Quantum Bogosort" algorithm on the Wiki page.

<http://en.wikipedia.org/wiki/Bogosort#Quantum_bogosort>

<comment><USER22> If you enjoyed that you might like the novel _Quarantine_ by Greg Egan:

[http://en.wikipedia.org/wiki/Quarantine_%28Greg_Egan_novel%2...](http://en.wikipedia.org/wiki/Quarantine_%28Greg_Egan_novel%29)

</comment></comment></comment><comment><USER23> Dunno. IIRC Every time I have seen the "bad" Fibonacci recursive algorithm has been followed by the "good" recursive one (bottom-up), which is O(1) in size if your language/implementation does tail-call elimination...

</comment><comment><USER24> This started out taking baby steps, then took a huge leap in complexity right here:

 _Since the Fibonacci numbers are defined by a linear recurrence, we can express the recurrence as a matrix, and it's easy to verify that..._

It's been way too long since my math minor for me to understand that.

<comment><USER7> Sorry.

I think it's only the jargon that's confusing you. As long as you can remember (or look up) the definition of matrix multiplication, then it genuinely is easy to verify.

      [ fib(n-1) fib(n)   ] x [0 1]
      [ fib(n)   fib(n+1) ]   [1 1]

      = [ fib(n)   fib(n-1)+fib(n) ]
        [ fib(n+1) fib(n)+fib(n+1) ]

      = [ fib(n)   fib(n+1) ]
        [ fib(n+1) fib(n+2) ]

</comment></comment><comment><USER25> Interesting writeup, thanks. OT: For all its fame, has any of you ever needed to calculate Fibbonacci numbers in real life? I haven't.

<comment><USER26> And neither am I a member of the Fibonacci Association <http://www.mathstat.dal.ca/fibonacci/> <http://www.fq.math.ca/>

[Edit:] But there are some interesting data structures based on them: <http://en.wikipedia.org/wiki/Fibonacci_heap>

<comment><USER22> Thanks - I was struggling to remember where I had heard of a practical application of the Fibonacci sequence in CS. The Fibonacci Heap was it - I'm pretty sure it was mentioned on my CS course and it must have been '87, same year it was published!</comment></comment></comment>


The reason why Blub programmers have such a hard time picking up more powerful languages. - <AUTHOR> http://en.wikipedia.org/wiki/Sapir%E2%80%93Whorf_hypothesis <comment><USER2> Prove it. Sapir-Whorf is fun for sci-fi, but there's no evidence for anything but the most loose variations of it.

No, the reason Blub programmers have a hard time picking up more powerful languages is that they have invested time in their skillsets, so even if they were to program in Lisp syntax, they'd still write Blub-in-Lisp code, not using macros, closures, functional programming, etc. Because they never learned about them and don't see the point.

The same thing comes up all the time in Python communities; people who don't know Python very well write "un-Pythonic" code that doesn't take advantage of the language's best built-in functionality like list comprehensions and generator expressions.

Compare:

# unpythonic way of squaring each element in a list

source_list = [1, 2, 3, 4, 5]

dest_list = []

for x in range(len(source_list)):

        dest_list.append(source_list[x]*source_list[x])

# Pythonic way

[x*x for x in [1, 2, 3, 4, 5]]

<comment><USER3> # unpythonic way of squaring each element in a list

...

# Pythonic way

...

# Correct way (...in any language, and if I see anything else in my co-workers code, you damn well better believe there will be a re-write):

List dest_list = squareEachElementInList(source_list);

The problem with languages like Lisp, Haskell, Erlang, etc, is that the syntax is completely atrocious. It's not just a matter of parenthesis or whatever. It's a matter of eye-straining horribleness. People have little trouble learning and using Javascript, for the simple reason that its syntax is reasonable.

<comment><USER4> I find LISP syntax to be quite easy on the eyes, personally. Of course, since whitespace is unimportant in LISP, it is easy to write unreadable, non- indented code, but it is also easy not to.

Javascript might be easy to learn, but generally people don't do very complex things in Javascript. Actually, if you ignore the syntax, Javascript is closer in some ways to LISP than it is to C/C++/Java.

<comment><USER5> I heard it described as the "soul of lisp in the body of java" ;)

</comment></comment></comment></comment><comment><USER5> I was listening to a podcast (I think) where someone who had recently studied linguistics was saying that Sapir-Whorf has been almost discredited in academic communities for some time, yet it lives on as a "myth" for people outside of the academic communities.

I just can't find any reference of this. This is pretty common thing, ideas from a long time ago tend to stay in the publics collective memory as still being current.

The one that springs to mind is the "breathing" you see pregnant-in-labour women doing in hollywood movies (yet this technique was thrown out decades ago as having no effect at all). Yet it lives on in circles of people who aren't experts and repeat it amongst themselves as if they are.

A quick search didn't yield anything like this for Sapir-Whorf though.

<comment><AUTHOR> I'd be very interested to see some references discrediting it.

<comment><USER6> Steven Pinker's wonderful book "The Language Instinct" claims the the Sapir- Whorf hypothesis is bunk. It's not the strongest part of the book, but still well worth reading.

As a taste, Pinker tracks the evolution of the myth that the eskimos have more words for snow than English-speakers. He explains how this myth was manufactured by anthropologists who wanted to give credibility to Sapir-Whorf, and eventually took on the status of a "fact", appearing in textbooks and so on.

<comment><USER7> The Sapir-Whorf hypothesis, in a nutshell, is "language influences thought." The classic debunking example is the urban legend, "Eskimos have over a hundred words for 'snow.'" This is often overextended to imply, "...and so Eskimos must conceive of snow on a whole 'nother _level_ , dude!"

But our non-Eskimo language doesn't fundamentally limit our capacity to comprehend the nuances of snow. We just add modifiers (e.g., 'wet' and 'fluffy') to "snow", instead of using a different word. And, actually, it turns out the Eskimos use modifiers, too.

 _The Language Instinct_ is a great read. Pinker's got a real talent for popular science writing that's accessible but not dumbed down. Check out his first hit, _How the Mind Works_ , if you're interested in general cognitive science.

<comment><USER8> The Eskimo example isn't a very good one because English has lots of words for snow/frozen things, like glacier, frost, sleet, slush, etc.

</comment></comment></comment></comment></comment><comment><USER9> _"Blub programmers"_ are referenced in "Beating the averages" ~ <http://www.paulgraham.com/avg.html> and describes the "Blub paradox".

       "... As long as our hypothetical Blub programmer
       is looking down the power continuum, he knows
       he's looking down. Languages less powerful than
       Blub are obviously less powerful, because they're
       missing some feature he's used to. But when our
       hypothetical Blub programmer looks in the other
       direction, up the power continuum, he doesn't
       realize he's looking up. What he sees are merely
       weird languages. He probably considers them
       about equivalent in power to Blub, but with all
       this other hairy stuff thrown in as well. Blub is
       good enough for him, because he thinks in Blub ..."

Raganwarld has a good explanation of the "Blub paradox" ~ [http://weblog.raganwald.com/2006/10/are-we-blub- programmers....](http://weblog.raganwald.com/2006/10/are-we-blub- programmers.html)

</comment><comment><USER8> <http://en.wikipedia.org/wiki/Pirah%C3%A3_people>

<comment><USER8> <http://news.ycombinator.com/item?id=61237></comment></comment>


FB replaces Chrome for Opera - <AUTHOR> http://9to5google.com/2012/05/31/facebook-slams-google-chrome-replaces-recommendation-with-opera/

<comment><USER2> Although Opera deserves every bit of attention in the media... too bad it's because of facebook.

Edit, Opera as browser on desktops.</comment>


Ask HN: Help with monetization for programminginterview.com - <AUTHOR>

I have a PageRank 5 website that I made a couple of years ago when I was preparing to interview for tech jobs in Boston. I collected a bunch of programming interview questions and wrote my own answers to them in C++ / Java, and decided to put them online for posterity. www.programminginterview.com
Fast forward to the present - I've quit my job and started working on my own projects full time. I moved to Shanghai to conserve capital (lower cost of living versus Boston), but unfortunately my funds are running low so I'm looking at my old sites to see if I can squeeze some money out of them to expand my runway.
Currently I'm just promoting "Programming Interviews Exposed" and other programming interview books on Amazon but the earnings are literally chump change, maybe $10 / month max. There are also some affiliate links to ThinkGeek.com but they've earned nada. I'm also selling links which I know is bad but it's another $25 / month which is kinda poor for a PR5 site. I used to have a job board but it got little to no traffic so I got rid of it.
Traffic is pretty good, very solid at 6500+ uniques per month, all very targeted and mostly from Google searches.
If the community has any ideas on how to improve the monetization of my site I would be eternally grateful! <comment><USER2> Some ideas:

* write an ebook about programming interviews

* offer consulting services for interview training or revising CVs/covering letters

<comment><AUTHOR> Hm, good suggestions - I thought about packaging up all the content into an ebook, but then I wouldn't have a website...

Consulting services is a great idea as well but I'm hoping for something that's more "set it and forget it".

I appreciate your suggestions though!</comment></comment>


Things Goolge can't do while building new product - <AUTHOR>

This is taken from Robert Scoble's tweets just now<p>--- Talked with a Google exec tonight about why Google can't do something like @instagram.<p>1. Can't keep team small enough. 2. Google can't reduce scope like @instagram did (they cut down feature set). 3. Google, if a product becomes successful, will get tons of resources and people thrown at it. Iteration periodicity goes down with more. 4. Google forces its developers to use its infrastructure, which wasnt developed for small social projects. 5. Google's services need to support every platform and language. Instagram is iPhone only so far. 6. Google's engineers can't use any Facebook integration or dependencies like Instagram does. 7. Google can't iterate in semi public (I, and a lot of others, had Instagram weeks before release, which made it better). --- <comment><USER2> You can read it in more detail by checking out his blog post:

[http://scobleizer.com/2010/11/12/why-google-cant-build- insta...](http://scobleizer.com/2010/11/12/why-google-cant-build-instagram/)</comment>