hacker news with inline top comments    .. more ..    7 Nov 2012 Best
home   ask   best   7 years ago   
The Fight dcurt.is
724 points by relation  2 days ago   129 comments top 35
ForrestN 2 days ago 6 replies      
This, as any would be, is certainly a valid way to respond to a brush with death. But implying that this is somehow a lesson to be learned by everyone, suggesting that others should live their life this way, seems misguided to me in context.

Contemplating your mortality shouldn't necessarily convince you to double down on your current priorities (especially if those priorities are centered around banal platitudes like "doing something remarkable with your life," which are probably masks to keep you from thinking about what really motivates you.) It should cause you to reevaluate them.

The fact that you will die, the fact that everyone you know will die, and the fact that eventually the universe might become a field of equidistant neutrinos means that it really, really doesn't matter what you accomplish. All roads, if you stay on them long enough, lead to the same place. There will be no progress. There will be no one remarking.

I would say that the lesson to be learned from thinking about death is just that there's no reason to adhere to anyone else's values, or to feel pressure to do anything in particular. You should do what you want, what makes you happy, even if it's humble.

Existential steps backward can be a tool to remove yourself from things that aren't really helpful, like for example a hyper-competitive capitalist rat-race justified by language like "fight the status quo" or "great visions of the future" that, instead of contributing to humanity, is mostly really about love, insecurity, and fear of death (like so many human pursuits).

"Fighting" here, the battle between the heroic pursuit of accomplishment on the one hand and the "insidious machine called quo" on the other, is just the author reporting his own conflicts about what he wants to do. Part of him wants to expend massive amounts of energy attempting to out-compete the people he sees as his peers. But another part of him doesn't want to do that, which is why he loses motivation and doesn't always end up behaving the way a hero-CEO might. There is not some kind of evil, inherent inertia at work that all people must fight against. Instead, there is only ambivalence and subconscious motives.

In my opinion, if you really internalize death and it's implications, the notion that you can justify prescribing ways of thinking or behaving just starts to look absurd.

jgrahamc 2 days ago 3 replies      
Some time ago I came across an elderly man in some difficulty lying in the street in London. While waiting for an ambulance he 'died' (no heart beat, no respiration, no signs of life at all, blue lips and gums) and I immediately did CPR on him until the ambulance arrived. Months later I learnt that he survived.

Any brush with death makes you seriously think about your own mortality. I know that watching this stranger's eyes go dead was quite life changing for me.

huhtenberg 2 days ago 3 replies      
It's all good, but if you haven't had a close relative or a close friend die or come close to it, then no amount of preaching - Live now! Fight the momentum! Live it to the fullest! - is going to do any good. You have to experience it, unfortunately there's no other way.

My dad died suddenly two years ago. Just like that - here he is, poof, here he is not. I tried to capture the feelings in a written form and then have people relate. It does not work. It is a sort of experience that no one will re-live willingly. It's just too damn dark.

tomhoward 2 days ago 4 replies      
It's a great post, but to me there's another message that Dustin - understandably - hasn't focused on: "perfect health" is often (usually?) an illusion.

Given what I've learned about health in recent years, I can't accept that this guy really was in perfect health; if he was, he wouldn't have suffered a major cardiac arrest while simply jogging on a treadmill.

I think it's mostly a failure of modern medicine and modern attitudes towards health that most of us walk around feeling and looking like we're in "perfect" health, only to find all too late that a severe condition was lurking undetected.

The answers may lie in fields like Quantified Self [1], or PG's suggestion of Ongoing diagnosis [2].

But whatever the case, we're only just starting to scratch the surface of an area that I think this post demonstrates is hugely important.

[1] http://quantifiedself.com/

[2] http://paulgraham.com/ambitious.html

pdx 2 days ago 4 replies      
For those of you who haven't had a CPR refresher in a few years, they now heavily promote the use of AED's [Automated external defibrillator]. The prognosis for recovery after CPR alone is in the single digits and moves well, well into the double digits if supplemented with an AED.

Gyms, schools, and works areas should all have a $1000.00 AED onsite. I was surprised that he had to wait for the ambulance to arrive before being defibrillated, since he was in a gym.

bpatrianakos 2 days ago 0 replies      
Just over a year ago my favorite uncle died suddenly in a freak car accident. Besides his immediate family, my mother and I were the very first ones to make it to the hospital where he was DOA. They took us in to see him one last time before he was sent to the morgue or wherever they take the bodies of those who die in the hospital. Everyone says great things about people who are recently deceased but I must stress that he was an extraordinary man. Really. And I thought that long before he died. Seeing his lifeless body there was shocking. What got to me the most was seeing the lifeless expression on his face. He was a man who was always smiling and more full of life than anyone I've met. The contrast between the live man I knew and the heap of dead flesh I saw will stay with me forever.

From that day on I have thought about death at least once a day since and always remind myself that every fear I have and every psychological block that keeps me from being who I want to be and doing what makes me happy is an illusion. It's not real and it can't hurt me. But it also reminds me that my hopes and dreams are meaningless too. But if I'm going to be alive I might as well live happy regardless, right?

Unfortunately, the problem is that knowing this has not changed my behavior. There's this weird mental barrier between knowing you have a short life and need to really live it and actually doing it. And so despite knowing this truth and coming to realize it in such a traumatic way, I still don't live it nearly as often as I should. I suspect many people are like that. I don't know why that is but I hope someday we can figure out how to go from knowing how we need to live to really doing it in a real way.

edanm 1 day ago 0 replies      
This really reminds me of Paul Graham's post from a while ago, talking about things people in the future will think are weird about our time.

One of the things that struck a chord with me from pg's post: In the future, people will get regular health checkups to prevent problems before they happen. I don't know about this particular case, but it makes a lot of sense to me that many people who seem to be in perfect health, might not be. Today, the extent of checking up on yourself is mostly taking a blood sample, talking to a doctor, etc. And it's not done that often, either.

In pg's future world, people would check themselves out several times a year (maybe more), with machines that catch many of the most basic problems. In fact, I'd wager that one of the most promising avenues for advancing humanity is to develop better, more affordable tests to check for common problems that we can cure with some foresight.

alexkus 2 days ago 0 replies      
Those in the UK (or soccer fans in general) will be more aware of this due to incidents involving Marc-Vivien Foé who collapsed and died during a game, and more recently Fabrice Muamba who survived a cardiac arrest (his heart had stopped for over an hour but was receiving CPR[1] during this time).



After the Foé incident there was a lot of promotion of the Cardiac Risk in the Young charity in the UK http://www.c-r-y.org.uk/ who do ECG and Echocardiogram screening for those between 14 and 35 for a donation to the charity.

I got myself tested a couple of years in a row (until I turned 36!) as I was doing a lot of long distance (>200 miles a day for multiple days) cycling and my HRM showed me that I've got an atypical heart (resting heart rate down to ~40bpm at my fittest but I could regularly see >200bpm on my HRM whilst playing 5-a-side and I could average ~185bpm for an hour without feeling uncomfortable at all). A chat with the cardiologist after the scan(s) put any fears at bay, whilst mildly unusual there's nothing fundamentally wrong with my heart, if anything it's just a little smaller than average (hence the high HRmax).

Thoroughly recommended and you won't be wasting their time as you'll be helping support the charity by donating.

1. From, among other medical staff, a consultant cardiologist who just happened to be at the game, the same cardiologist later treated him throughout his stay at hospital.

rdl 2 days ago 0 replies      
All reasonably-sized gyms should have Automatic External Defibrillators (AEDs). CPR on its own is not incredibly useful on its own (although it does buy you time for paramedics to arrive).

They're only about $1k, which is about 25% of one of the treadmills. I'm surprised it's not mandated by law.

marshallp 2 days ago 0 replies      
He's given the typical FOOLISH response people give after brushes with the death plague - live life to the fullest.

How about instead thinking of ways to fix the problem. That can also be considered - living life to fullest - and also fixing the problem.

In his case, he could have considered how can cardiac arrest be better dealt with. Have drones nearby that automatically go towards the patient and revive them. What's involved in that, collecting the data, manufacturing drones etc. etc.

The entire world is focused with having the latest shiny bullshit from the mall/walmart. Go there and see the masses of consumerist idiots picking up plastic crap and clothes like monkeys. How about they instead spend that time crafting a pitch for a new invention that solves a death-related problem on kickstarter. There are 7 billion people, probably only a few thousand of them are working towards actually worthwhile things.

Living life to the full doesn't have to mean buying or building crap to fulfill child-like urges to see shiny things, it can instead be using the "god given" brain to tackle the most important challenges, of which survival is number 1. Animals probably look at humans and think what retards, they themselves spend all their time trying to survive.

phren0logy 2 days ago 1 reply      
It's only trite because it needs to be repeated so often.
swilson7 2 days ago 0 replies      
In my final year of university, I worked on a project to build a device that induces therapeutic hypothermia. Following graduation, 3 friends and I decided that there was enough need for this device to pursue the venture full time. We won a few business plan competitions, received funding through a small incubator, and set out to improve the outcomes of cardiac arrest patients.

Two months in to full time work, the four of us were walking back to the office from from lunch when one of my colleagues collapsed of a sudden cardiac arrest. Similar to Dustin's friend, mine was immediately treated with bystander CPR and first responders were on the scene within 5 minutes. Unfortunately however, my friend was not as lucky as Dustin's. He is no longer with us today and it's devastating to think that his life was taken at the age of 24 by a cardiac arrest.

As someone who has been extremely close to this topic for the past year, I can't stress enough the importance of basic understanding. People who seem to be "very healthy" can still be impacted by cardiac arrest. A sudden cardiac arrest is not the same as a heart attack. Bystander CPR and the use of automatic external defibrillators can have a significant impact.

"SCA kills more Americans than lung cancer, breast cancer and HIV/AIDS combined." [1] So please spend some time understanding the risk factors that contribute to cardiac arrest, take a CPR course, and educate those around you. I really believe that a single individual can have a significant impact in a situation such as this.


ahoyhere 2 days ago 0 replies      
This is the most sincere and human thing you've ever written, Dustin. Bravo.
shocks 2 days ago 1 reply      
A very close friend was in a car accident that put him in a category 3 (GCS) coma for two weeks. Worst two weeks of my life... Until my girlfriend was electrocuted and hospitalised for two weeks barely able to move her body. Worst two weeks of my life... Until I lost a close friend overnight. Bam. Gone. Forever.

Life is meant to be lived. Unfortunately, that is a lesson you can only learn by yourself.

FireBeyond 1 day ago 0 replies      
As a tangential aside, reading the opening paragraph of this article reminded me - in the US, if you have cardiac arrest, you want to have it either the counties surrounding The Mayo Clinic in Minnesota or Puget Sound:

While cities like Detroit, Chicago and New York have less than 10%, down to 2% survival for /witnessed/, VF/VT (ventricular fibrillation / tachycardia, the rhythms an AED can shock) arrest (i.e. the "best" cardiac event to have), Rochester Minnesota, and the three counties of King, Pierce and Thurston (Seattle, Tacoma and Olympia) have above 40 to nearly 50% survival.

Learn CPR.

-- a paramedic

noonespecial 2 days ago 1 reply      
My grandfather is 96, he's been on dialysis for nearly 2 years now. He has zero kidney function and a tumor that has literally taken the place of one of the kidneys. His mind is sharp and he's totally lucid.

He won't let us sell his cars. He believes that he's going to get better. He talks about it all the time. "As soon as I get better, we'll..."

It doesn't matter if one lives 20 years or until the heat death of the universe, everyone has the same experience. Death is unexpected and unwelcome. And completely inevitable.

barbs 2 days ago 0 replies      
I know the person he's talking about in this article, he's an old friend of mine from primary school, he's only a little bit younger than me. It was a shock to everyone. He was incredibly fit, in the prime of his life and everything.

I'm on the other side of the world from him now, but it was still a bit of a wake-up call. Inspired me to go travelling, something I'd been putting off for ages.

dakrisht 2 days ago 0 replies      
Fantastic. Great start to the week. Everyone go out there and fucking kill it this week.
notlisted 2 days ago 0 replies      
Heart attacks in young people (under 35) are rarely related to smoking or high cholesterol (unless accompanied by morbid obesitas) and more often undiagnosed heart or congenital issues (hypertrophic cardiomyopathy, et al.), related to drug abuse (cocaine, weight loss drugs) and/or eating disorders (bulimia).

Memento mori, carpe diem, but know that your chances of being struck with heart attacks at a young age are very slim. If it runs in your family, get a screening, but other than that, don't worry too much.

dmor 2 days ago 0 replies      
It's not trite. Especially when things aren't working, and it would be so safe and warm and simply to stop wanting to do extraordinary things and sink back into momentum, inertia, the rhythm of everything that has ever been or will be. Not that I wish any of you to have a huge loss, or near loss, but once you do it is galvanizing - if you let it reach you at the core. As others on this thread have said, memento mori.
simplegeek 2 days ago 0 replies      
Why do people get heart attacks in such a young age? Is it life style, something in genes or etc? Are there things one can do to reduce risks?
nate 2 days ago 0 replies      
An interesting bit about Steve Jobs (from the biography) was that he had a foreboding feeling that he'd die early. That also seemed to encourage him to work against the status quo before it was too late.
greghinch 1 day ago 0 replies      
And depending on which country he lived in, this whole episode either cost nothing or has saddled him with crushing debt for the rest of his life
anigbrowl 1 day ago 0 replies      
Fighting is a waste of energy. Find your flow and go with it.
sown 1 day ago 0 replies      
I never really understood what those words meant, "Live life fullest, live like its your last day, etc"

Can anyone tell me what that really means?

galapago 2 days ago 0 replies      
The romans used to say.. "memento mori".
charlieflowers 2 days ago 0 replies      
"I had once again become a cog in the insidious machine called quo." That is a masterful turn of a phrase!
siscia 2 days ago 0 replies      
It was an amazing article, really, it get a tear out of me.

Thank you for sharing so much.

warrentr 2 days ago 1 reply      
Im curious to know the suspected cause. Since he was young, it seems like it was http://en.wikipedia.org/wiki/Hypertrophic_cardiomyopathy
philwelch 2 days ago 0 replies      
Memento mori.
aswath87 2 days ago 0 replies      
Inspired by Steve Jobs' quote mentioned in the article, I built this thing that reminds us about how much time we really have: www.lifing.it
melc 1 day ago 0 replies      
I agree, i believe we should not forget death to help us fight the ordinary vain reality.
Thanks for sharing this.
peterhajas 2 days ago 0 replies      
You know what's really classy? A giant kudos button at the bottom of this page. Awful.
bashzor 2 days ago 0 replies      
I can not +1 this enough
adrianwaj 2 days ago 0 replies      
"Running at the gym" ..so many people do it, but wouldn't the energy be put to better use building something? Running barefoot outside would be my choice.. getting grounded and Vitamin D. Gym running is a weird sensation, and unnatural: it's more a striding exercise. Gyms can also be very dirty. But good that he recovered, he should try and work out the how and why so it doesn't happen again.
Ask HN: Help, HN'er in trouble, we need a laywer in Delhi immediately
570 points by jacquesm  2 days ago   108 comments top 27
jacquesm 2 days ago 5 replies      
Thanks guys & girls it's been wonderful. We have located two lawyers thanks to your help, one of them was willing to take the case warts and all but not currently in Delhi, the other is in Delhi and also willing to take the case. I've put the lawyers in touch with her, Delhi police and each other.

We would not have been able to do this without HN on such short notice, thank you all very much.

swombat 2 days ago 3 replies      
This is no joke. The case is driven by people who are influential with the police/judicial in Delhi. We need to get solid legal help on the ground before this person arrives in Delhi (in about 3 hours).

Please help.

Edit: some answers to common questions:

- It is not a good idea to discuss the details of the case right now. There is a police case, it is completely made up as an excuse to get hold of the person we're talking about (I've seen the case filing). The main charge is kidnapping, and she's the victim - but somehow she still gets arrested. India for the win.

- She's an Indian national.

- We need a professional, influential, trustworthy lawyer and are willing to pay (reasonable fees).

goombastic 2 days ago 2 replies      
Indian police and people with access to political power usually pick people up on saturday or sunday when the courts are closed. This is the usual trick. A day in an Indian police lockup is not something you can stomach easily. If they are looking for you on a friday, it means political power and possible threats, beatings, forced confessions; hide and move away with family immediately until monday! If they are looking for you on other days, relax.
arbuge 2 days ago 1 reply      
Good lawyers don't advertise (always a golden rule) but are often mentioned in searchable online media. A good technique (imho) for lawyer selection in any given major city is to collect a list of the most prominent lawyers in the specialization area of interest, and interview all of them. There will usually be fewer than a dozen candidates if you've done decent research & narrowing down. At some point in the interview ask who they would personally recommend as a lawyer if they couldn't recommend themselves. Then see where the answers converge.

This does take a few days and in a country like India might take even longer. So if you need somebody in a few hours it could be useless advice. If you can find somebody for initial representation and then switch to somebody else later, it might be more applicable.

edanm 2 days ago 0 replies      
For those, like me, who have no connections to India, please let us know if there's something else we can do to help. Including, if you need it, asking us to contribute money - I'm sure many here would help good members of this community.
akshat 2 days ago 1 reply      
Jacques, I had sent these questions in a mail to you. However, the answers should help others in identifying the appropriate lawyer.

1> What area of Criminal law this pertains to.
2> Is she an Indian?
3> Is she looking for professional representation or someone in personal capacity. Based on this we can look up one from a prominent firm or not.

khetarpal 2 days ago 3 replies      
Hi Daniel,

My uncle is an ex MLA (member of legislative assembly) and is lawyer by background. He may be able to help. I have spoken to my dad about this, and he will connect you.

Please call him @ [redacted].

Best of Luck!


nrao123 2 days ago 1 reply      
I have also reached out to a few people - in the human rights/criminal law space - in Delhi. Will update you as soon as I hear back.
mkuhn 2 days ago 1 reply      
I am also working a few contacts but as far as I can remember right now none of them is based in Delhi.

edit: Two guys in Delhi are actively looking.

nodemaker 2 days ago 1 reply      
I dont know any criminal lawyers but I am currently in Delhi and if there is anything else I can help with please let me know. My email is in my profile info.
harichinnan 2 days ago 2 replies      
Next time you need a lawyer urgently in India urgently, walk upto a court house. There'll be swarms of lawyers coming your way. Talk to a few of them in a group. Pick the one you feel comfortable. Lawyers are under employed in India, except for a select few who graduate to there own offices and staff. The rest ply the court houses looking for work.
prakashk 2 days ago 0 replies      
If you think the situation applies, PUCL (http://pucl.org) might be an option. See the contact page for phone numbers. If nothing else, they should know some good lawyers.
known 2 days ago 1 reply      
Jethmalani,Ram (Sr.) ph: 011-23792287,011-23794651 fax:011-23010944


dutchbrit 2 days ago 1 reply      
Posted on Facebook, I urge the rest of you to do the same. I have a lot of international friends so hopefully I'll be able to help too.
kshatrea 2 days ago 1 reply      
Harish here.
I am calling some people up. In case I find something, will send you an email on the email ID posted on your profile.
Take care.
pseingatl 2 days ago 1 reply      
Khaitan & Co. have an office in Delhi. Here's their Mumbai contact:

anshul.prakash@ khaitanco. com
rabindra.Jhunghunwala@ khaitanco. com

sohamsankaran 2 days ago 1 reply      
Just a suggestion, but you might consider trying to get the news media to cover the case: if the general public are aware of the details, its more difficult for the police/judiciary to push through nonsensical judgements on a bogus case (note the case of Aseem Trivedi, for instance). In essence, they can't make a moderately well known person or case 'disappear', as it were.
deepakprakash 2 days ago 0 replies      
@swombat, @jacquesm : I've mailed you details for a senior criminal lawyer at Delhi. Do check. Let me know if I can help in any other way.
nutanc 2 days ago 0 replies      
You can maybe try http://www.akosha.com/

They are mainly into consumer complaints but should know good lawyers and they are based out of Delhi.

Techasura 2 days ago 1 reply      
wow.. i don't understand what is happening here, what is the case about. at least a brief description.

EDIT: after reading thru the comments, i'm so sorry about the issue. My uncle is supreme court lawyer, but hey,also read that arrangements have been made. Good luck! and any major changes, you can reply to this post, i can strike back in no time with a trusted lawyer.

gawenr 2 days ago 0 replies      
If you're a redditor, please upvote http://www.reddit.com/r/india/comments/12m11h/ask_hn_help_hn... not my post
Surio 2 days ago 2 replies      
Usually, before we get a lawyer to agree to represent anyone, and in this case, a foreigner in India (EDIT: Indian national), the lawyer should be briefed on the skeleton of the case at least before he can take an informed decision, whether to take on the case.

You need to provide some cursory details of the case, before this gains some amount of traction at least.

djt 2 days ago 1 reply      
Have you contacted her family?
She is an Indian national, does she have contacts there?
kirillzubovsky 2 days ago 1 reply      
What you are describing is quite similar to this - http://articles.timesofindia.indiatimes.com/2012-11-01/india... - any thoughts? Is this the same girl we are talking about? Sounds like it is.
atomical 2 days ago 0 replies      
I'm going to guess that this is the person who started Ask HN.
bilalhusain 2 days ago 7 replies      
(The proverbial 'that guy')

Delhi police or CBI (whomsoever) is handling the case is one of the best in the nation. So, let me do my bit (because no one else has raised any voice).

The post portrays Delhi and India in a bad light. I am pretty sure, the case is NOT as dramatic as it is being described (or the victim not as innocent) - An Indian national with very little contacts who is about to land (or is in custody from yesterday?)...

That said (and realizing that I am on the losing side), I appreciate the quick thinking you guys are doing to help the person, and personally I have huge respect for the well known names (Daniel & Jacques - who are often on the front page) and that you are losing your sleep over this!

Downvotes are welcome!

Elon Musk's Mission to Mars wired.com
491 points by sravfeyn  4 days ago   147 comments top 22
mbrubeck 4 days ago 2 replies      
I was at the University of Washington science and engineering career fair last month, recruiting for Mozilla. Our booth was reasonably busy, but the SpaceX booth had a gigantic mob surrounding it at all times. People are seriously excited about space.
flatline 4 days ago 4 replies      
> The problem is that at a lot of big companies, process becomes a substitute for thinking. You're encouraged to behave like a little gear in a complex machine. Frankly, it allows you to keep people who aren't that smart, who aren't that creative.

Sounds like so many complaints about the enterprise software landscape, and has certainly proved to be true in my own experience. Codified processes usually start with the guise of open communications and education, either because someone wasn't thinking or because of a pressing need to get a few people on the same page. They are soon adopted and enforced as dogma by natural-born bureaucrats who crawl out of the woodwork from seemingly nowhere. It must be an incredible challenge to fight in any large organization, looking at it from the top down.

So far, Musk appears to be doing an admirable job. These things tend to last only as long as a real visionary is at the helm. He is young so hopefully can keep at it for a while longer still, hopefully even long enough to get us to Mars. From this article, he didn't actually say to much about such plans. I wonder if it's just a judicious amount of prudence on his part or if even he fears it may not be feasible in his lifetime.

catch23 4 days ago 9 replies      
There's one interesting quote in the article:

Musk: I can't tell you much. We have essentially no patents in SpaceX. Our primary long-term competition is in China"if we published patents, it would be farcical, because the Chinese would just use them as a recipe book.

If your process/ideas are sufficiently complex, it reduces competition if you don't file a patent.

tjmc 3 days ago 1 reply      
I'm an Elon fan, but his comment about the old Russian engines his competitors are using deserves some scrutiny. He's talking about the NK-33 which has a thrust to weight ratio of 137. That's better than any current SpaceX engines though the Merlin 1D under development is apparently aiming for a ratio of 150.

As for the engines being in a warehouse in Siberia since the 60s - that part is basically true. There was an Equinox (UK) documentary called "the engines that came in from the cold" about it. When the cold war was over the Americans finally found out about these engines that were left over from the space race, 20 years old (at the time) and better than anything they'd developed since. Now they're over 40 years old and still the most efficient!

So credit where it's due eh Elon? The NK-33 was and still is a masterpiece.

startupfounder 4 days ago 5 replies      
If you have't already seen it, Kevin Rose interviews Elon Musk: http://www.youtube.com/watch?v=L-s_3b5fRd8

Also, Neil deGrasse Tyson talks about if there was a space race with China the US would be on Mars in 18 months: http://www.youtube.com/watch?feature=player_embedded&v=c...

It would be truly amazing if a private company was the first to set foot on another planet.

bengl3rt 4 days ago 0 replies      
"It's like something out of a movie or my old Tintin books. It's the way space was supposed to be."

Yes! Finally someone gets it!

Motherfucking space! Is aspirational!

We go to space not because it is easy, but because it is hard AND AWESOME.

Osmium 4 days ago 6 replies      
Apologies for being somewhat off-topic, but does anybody know if there are citizenship requirements for working at a place like SpaceX?

I have a solid background in materials science and metallurgy from a world-class university, and find what Musk is doing very inspirational. After I finish my PhD, I'd love to be a part of it, but I'm British and I know with some companies in the industry there're citizenship requirements for security reasons. As he mentions in the interview, they wouldn't want China stealing their ideas, for example. And I know a lot of the job postings on SpaceX list "US citizen or permanent resident" as a requirement, but I didn't know if this was a hard and fast rule, or whether exceptions are possible.

jamesrcole 4 days ago 0 replies      
What I find amazing about this is how they could make such big technical advances leading to such big cost reductions by essentially being unencumbered by bureaucracy and bad incentive structures. (And that's of course not to deny their hard work and smarts - I'm really impressed by what they've done).

I suppose it shouldn't be a surprise, but it's still hard to avoid naively thinking that surely there had been technical challenges holding up the technological progress in those areas for so long.

6ren 3 days ago 1 reply      

  Indeed, psychological investigations have found that entrepreneurs aren't more risk-
tolerant than non-entrepreneurs. They just have an extraordinary ability to believe
in their own visions, so much so that they think what they're embarking on isn't
really that risky. They're wrong, of course...

If you are determined (you keep trying) is it actually that risky? For example, if there's a 1 in 10 chance of success, and you try 10 times, it becomes a 65% chance (1-.9^10). Plus, of course, you will learn a tremendous amount from each attempt; gather more resources; ask others; change your approach; even modify your goal (perhaps to something more audacious).

I think what stops people is aversion to the unfamiliar (whereas some people like it), and the pain of each failure. People like Edison fail a thousand times, and keep going (even if you hate him, you have to admit that takes a certain courage).

After 3 rocket failures, Musk said something similar
http://www.wired.com/science/space/news/2008/08/musk_qa at the end):

  Optimism, pessimism, fuck that; we're going to make it happen.
As God is my bloody witness, I'm hell-bent on making it work.

If you don't give up, success is inevitable.

libraryatnight 4 days ago 0 replies      
I was telling my dad the other day this is a guy I could see my kids or grandkids using as a subject for a school report. Such an interesting person.
jpxxx 4 days ago 8 replies      
The complexity of getting to Mars is nothing compared to the complexity of creating a social unit that can survive and thrive on another planet.

Specifically, an Antarctic planet covered in chlorinated brominated rusty dust with essentially no air pressure or atmospheric water, a dim sun, rotten weather, two ugly little moons, and 57,600,000 millisecond ping times.

No chance to ever feel fresh air on your face, no chance to go swimming, never meeting a stranger until they're suddenly your neighbors for life, no chance to ever get away and start anew, and no chance to go back to Earth.

In a box, on a dead planet, for life.

thinkingthings 4 days ago 1 reply      
Elon Musk is a leader of our generation, with vision that most of us can only dream of.
rnernento 4 days ago 0 replies      
Great read, makes me want to quit my job and start building a rocketship...

I love that this brilliant guy is talking about interplanetary space travel as the obvious future.

easy_rider 4 days ago 0 replies      
Thans it, i'm making a shrine for Elon. He's close to a demi-god as you can get. Officially my new hero. Just think about the shear amount of time he puts into Tesla motors alone. And Elon just says fuck it. Lets go to Mars. Humanity doen't want to live up to their potential? So I will.. god speed Leon.
nikunjk 4 days ago 0 replies      
Elon Musk is boss. He puts every other visionary out there to shame. What a guy!
pwniekins 4 days ago 0 replies      
"Musk: The problem is that at a lot of big companies, process becomes a substitute for thinking. You're encouraged to behave like a little gear in a complex machine. Frankly, it allows you to keep people who aren't that smart, who aren't that creative."

I nearly cried. This is my company, and it is so very disappointing.

knes 4 days ago 0 replies      
Elon Musk is such an inspiration. for him, nothing is impossible and that is what I admire the most in him.
Finster 4 days ago 0 replies      
I've read rumors that the reason Jeff Bezos started Amazon was to fund his dreams of space exploration.
elmusk 3 days ago 0 replies      
I'm open to any additional questions you guys might have; well for another hour or two at least.
themstheones 4 days ago 0 replies      
He reminds me so much of Clive Sinclair.
srlake 4 days ago 0 replies      
Imagine the world when the 10 next Elon Musk's lurking HN see their own successes.
cowo8 4 days ago 0 replies      
very interesting. he also made a clever move on the patents.
"I think you will all appreciate this person's commenting style" jwz.livejournal.com
480 points by ahalan  1 day ago   84 comments top 15
saurik 1 day ago 9 replies      
PSD was never intended to be a data interchange format: it is the serialization format of a single program that has more individual unrelated features that actual people rely on than almost any other piece of software and has maintained striking amounts of backwards compatibility and almost unbroken forwards compatibility during its over two decades of existence. This product's "file format" needs to be critiqued in this context, along with similar mega-programs like Office.

I am thereby having a difficult time fathoming why anyone would think that a PSD file is thereby going to be some well-organized file format that they should easily be able to parse from their own application is just naively wishful thinking: even other products from Adobe have limitations while opening these files; to truly manipulate these files you really need to be highly-compatible with Photoshop's particular editing model (hence the conceptual difference between these two classes of file format).

greggman 21 hours ago 2 replies      
I'm pretty sure the PSD format chucks are based off IFF spec from 1985


Things were padded to 4 byte boundries because the 68000 processor would crash if you read an unaligned 32bit value. So the length of the actual data was what you find in the size field of each chuck but each chunk is padded. That way you didn't have to work around the 68000 quirks and read a byte at a time.

I wrote a psd reader in 93. It wasn't that hard and still works today. Maybe I chose an easy subset. It only reads the original result (merged layers) that gets saved when you chose to save backwards compatible files in photoshop.


gjm11 1 day ago 2 replies      
Has been on HN before (http://news.ycombinator.com/item?id=575122) but it was years ago. I mention this just in case others are having the same feeling of deja vu as me.
runn1ng 20 hours ago 0 replies      
John Nack replied to this 3 years ago on his blog.


hcarvalhoalves 1 day ago 0 replies      
I appreciate the first code comment more after the introduction:

    if(sign!='8BIM') break; // sanity check

"Sanity check" as in "let's make sure it's really a PSD before we go insane".

drivingmenuts 23 hours ago 0 replies      
So, I guess embedding a PSD in a DOC file is like putting a Bag of Holding in a Portable Hole?
bitwize 23 hours ago 0 replies      
And yet to be considered a non-toy image editor, you must support 100% of this format perfectly.
felipc 23 hours ago 0 replies      
One of my favorite blog posts from Joel Spolsky talks about this, basically explaining how these formats come to be. For mega-softwares like those, the source code is the de facto file spec www.joelonsoftware.com/items/2008/02/19.html
simula67 23 hours ago 2 replies      
dschiptsov 17 hours ago 0 replies      
This is much better reason to hire a person than 10 resumes.
brendandahl 23 hours ago 0 replies      
If he thinks PSD is bad he should try PDF which is really about 30 inconsistent formats all packaged into one inconsistent format.
drp4929 1 day ago 3 replies      
Is this a comment or rant ?
flebron 1 day ago 1 reply      
I like the 'sanity check' at the bottom. :)
unix-dude 14 hours ago 0 replies      
lol'd hard.
joshka 1 day ago 4 replies      
Whilst I enjoy jwz's writings, please follow the hacker news guidelines which can be found at http://ycombinator.com/newsguidelines.html

In particular:
Please submit the original source. If a blog post reports on something they found on another site, submit the latter.
The original source is

Please use the original title, unless it is misleading or linkbait.

2013 Automobile of the Year: Tesla Model S automobilemag.com
440 points by chanux  5 days ago   279 comments top 23
cletus 5 days ago 26 replies      
The Tesla Model S is a great-looking car but, unlike some, I still don't see electric cars as being the future. Batteries are still too heavy, take too long to charge, are too expensive and require materials that in widespread use will probably become far more of a problem than fossil fuels in terms of scarcity.

Of course, there can be and no doubt will be technological innovation in this space but (IMHO) the future of personal powered transportation will still be fuel-driven.

What will change is the source of that fuel. It may be some kind of hydrogen-rich fuel (methane or ammonia) or it may be making the necessary hydrocarbons from the air and/or seawater.

Portable fuel supplies are just too convenient. The relative simplicity of the internal combustion engine (or some derivation thereof) is just too advantageous compared to even optimistic long-term alternatives.

EDIT: the amount of cognitive dissonance when it comes to electric cars is mind-boggling eg:

A: the benefits are too numerous to list

B: can you use it in an apartment?

A: no...

Or the amount of infrastructure retro-fitting that needs to happen (power to parking garages being just one). Or ignoring issues or range and recharge times. Even with swappable batteries, even if that were a thing that people would do (there are security, weight and cost issues), the recharge time is still an issue.

Power is not free. An electric vehicle still needs to get power from somewhere and that power requires all the normal transmission infrastructure.

Someone brought up what's happening in NJ but if you had an electric car you'd be even more screwed. At least now you can transport gas to people.

Seriously, out of cost, weight, range and charging time all of them need to get an order of magnitude better to even be on par with fuel-driven vehicles.

How exactly have electric vehicles "already won"?

martythemaniak 5 days ago 2 replies      
Even if Tesla do not survive, ten years from now every new electric car will be a descendant of the Model S in all the major ways - floor-mounted battery pack, lack of physical buttons, etc.
rdl 5 days ago 3 replies      
If they can get to volume production, I think the $50-60k models, leased, could be great sellers. The really interesting thing would be to rip off Better Place's model and lease the cars at a discounted monthly payment plus a per-mile "fuel equivalence" charge. It's just accounting, but you could basically price the Model S at BMW 3-series lease rates (or even Toyota Avalon!), plus a per-mile fuel cost which was 10-20% less than gasoline. Combine that with the quality of the Model S, the environmental/status benefit (90+% of the girls I've polled would be more impressed by a Model S than a 2-3x as expensive Ferrari), and HOV lane access, and it would be great.

The Leaf, which basically sucks by comparison as a car, is essentially free in California ($200/mo lease, $2500 California incentive tax credit covers the first year, fuel, HOV lane, and toll savings vs. a less-efficient gas car pretty much cover lease payments IMO).

I'd have a Leaf as a hold-over until Teslas ship in quantity if I had a second parking space.

patrickgzill 5 days ago 1 reply      
Good for Tesla. I have seen and sat in, the Model S at their showroom in the Park Meadows Mall in Denver (well, south of Denver). It is an impressive looking car and everything just feels right. I have not driven it, however.
rscale 5 days ago 0 replies      
Great to see this. There are exactly three automotive companies that excite me these days: Tesla, Better Place, and Google.

Tesla has done a magnificent job of making electric cool and sexy, and that's almost absurdly important with a purchase as emotional as a car.

jeswin 5 days ago 1 reply      
Now the galleries would look a lot better if they used normal photographs; instead of hideous HDR and heavy photoshopping.
SeanLuke 5 days ago 2 replies      
The Fisker Karma was their 2012 Automobile of the Year. In 2011 it was the Volt.
beau 5 days ago 1 reply      
I've owned an electric car for about two years now. The article missed a few points:

1. The regenerative braking means you do not need to replace your brakes nearly as often. (Tires are a different story.)

2. There are far fewer moving parts than a normal car. This decreases the amount of maintenance you need to do.

3. Since there are no moving parts, it's less damaging to the car when drive it hard. Accelerating quickly with non-electric sports cars wears out very expensive components very quickly. With an electric car, you can get that 0-60 performance every single time you accelerate without wearing anything out. (Except the tires.)

When you're comparing the annual fuel bill to the extra cost of the Tesla, don't forget that you are buying a premium sports car. Something like a BMW M5 gets 14/20 MPG, and expects that you feed it premium fuel.

salimmadjd 5 days ago 3 replies      
Tesla is still a niche luxury car, and I still think they will not remain in business in their current form. Several top-name brands are hot on their heels which will put a lot of pressure in their customer acquisition prospects.

As for the Automobile endorsement, I don't like how they are misleading consumers with their data. The test vs. M5 was designed to take account Tesla's sweet spot of performance, "...drag race to 100 mph with a 560-hp BMW M5". At 0-60 M5 will beat Tesla, and Telsa hits the top speed 130 mph and M5 is limited at 155. So it's really around 100-120 mph where Tesla has the edge. This doesn't even include racing them on a track to include handling aspect of a car. I would have preferred the article stating something like:

in one aspect, Tesla is even faster than the BMW M5, the drag race to 100 mph.

In general I'm seeing a downtrend among publications when it comes to educating consumers, especially educating them on how to think about data. This will have a long-term consequence on how consumers can be duped by faulty advertising, especially with political ads.

dchichkov 5 days ago 0 replies      
One of the things that I really, really like about electric vehicles, is that, with a widespread distribution we are also getting a well-distributed accessible reservoir of electric energy!

See: http://www.nature.com/news/2010/100106/full/463018a.html

kayoone 4 days ago 0 replies      
When cars were introduced gasoline was cheap, today that is very different.
Electricity today seems to be cheap, but how will that be in 100 years ? In Germany i already pay twice what people in the US pay for electricity (about $0.28 per kwH) and its only getting more expensive.

Of course, gasoline is a fossil fuel which will run out some time, but dont forget that most of our electricity is still generated by the same fuels (coal!) and with rapidly rising electricity usage i dont see a complete fossile-fuel free electricity infrastructure anywhere near. Even if thats possible with lots of wind/solar/whatever power, i highly doubt its going to be cheaper as we already pay a premium on "green-energy" today, governments move away from nuclear power etc.

nealabq 5 days ago 3 replies      
When will the Google self-driving fleet include a Tesla?
MatthewPhillips 5 days ago 6 replies      
They need a lot more dealerships. Look at the map of their dealers and there's a huge hole in the middle of the country. A couple in Chicago, one in Denver, and one in Houston. That's it. If you live in say Tennessee you're looking at close to a 10 hour drive to even see one.


rickdale 5 days ago 1 reply      
Dear Elon Musk:

Want to make cars? Need a lot of workers? Space?

How about old car factories in an old car factory town. Come to Flint, Mi man, Change the world.

tocomment 5 days ago 2 replies      
Is that why TSLA stock is up today?
abhimishra 5 days ago 0 replies      
No one is mentioning Hydrogen fuel-cell cars that have been in trials, such as the Honda FCX Clarity (http://en.wikipedia.org/wiki/Honda_FCX_Clarity).

Relative to battery-powered fully-electric vehicles, some advantages are:
- Quick re-fueling (like with a gasoline vehicle)
- No loss of range in cold weather (and seems like earlier freezing issues have been addressed)
- No deterioration of a battery's performance over time

Some disadvantages:
- Hydrogen economy is not here yet and may be difficult to make efficient relative to electricity delivery (http://en.wikipedia.org/wiki/Hydrogen_economy)

kin 5 days ago 0 replies      
This is good news considering I've been hearing Tesla as a company has been having trouble.

Besides it being an EV, what really appeals to me is the maintenance plan. 600$/year covers everything. Having a car hit the 100k mark and having everything break down unless you replace it entirely is such a pain and is expensive.

phildeschaine 5 days ago 0 replies      
That's a pretty sexy car, I'd take one in a second if I had $60k+ to drop, and I'm not even in the market for ANY car (bike commuting ftw). That said, I'm holding out for a Model X. The falcon wing doors are just SO badass.
cvanderlinden 5 days ago 0 replies      
Wow, I hate that top navigation bar following me everywhere. I'm trying to read your article not navigate your site! If I want to change pages, I know where to go, back to the top.
warrenmiller 5 days ago 3 replies      
does anyone else think that screen is a bit too much?
chanux 5 days ago 0 replies      
Did I see user emails in comments there?
hans 5 days ago 1 reply      
Good thing Romney keeps wanting to throw Tesla under the bus, way to support innovation, way to cheer for jobs n0t.
Show HN: Non-Confusing, Visually Correct Slider Toggle UI chrisnorstrom.com
422 points by ChrisNorstrom  1 day ago   79 comments top 31
nnq 1 day ago 8 replies      
...now seriously, what's wrong with good ol' radio buttons and check-boxes? they seem 100x more intuitive and with some effort (yeah, more than it should...) you can make stylish versions of them that will match you design
freditup 1 day ago 1 reply      
The windowed slider panel is a great idea. I couldn't agree more with the author's assessment of how confusing normal switches as shown can be, as I've felt the same confusion in the past, and know others do too. Interesting post and great ideas.
ams6110 1 day ago 0 replies      
To me the whole thing that makes it confusing for me is that real slider switches are labeled externally:


That's much more clear. You could even put a little red "lamp" next to the on which lights up when ths swtich is on and darkens when it is off.

Putting the label under the sliding part of the control is what makes it confusing.

EDIT: just noticed that huhtenberg posted the same suggestion

mistercow 1 day ago 0 replies      
>However, there are a few times when a slider is warranted and even a Better UI choice:
>To switch back and forth between two states that both need to be described, such as a slider in your blog's control panel with “Published | Unpublished” as the choices for the article draft you're working on.

But we already have a UI element for that. In HTML, it's known as a "select" input, and it works very well, is extremely compact, and is already familiar to your users.

In fact, if you set the "size" attribute, then it even has the "window" functionality described in this article. The window typically is shown with no border, and it doesn't look as fancy, but other than that, it is exactly the same concept.

taligent 1 day ago 1 reply      
Wow. After all these decades and countless people we would have seen something like this before.

Reminds me of this little change that Apple made and then quickly reverted:


btipling 1 day ago 1 reply      
His "solution" is just a tab/nav bar with different styling:


Given that a click is simpler and quicker than a drag, I think this suggestion is a worse user experience than a tab bar.

shaunxcode 1 day ago 0 replies      
http://jsfiddle.net/LWFg3/6/ here you go. I call it ouija. Will probably bundle it as a component shortly.
Zak 1 day ago 2 replies      
I don't find the two-position slider switch confusing at all; it looks and behaves like a physical object - one of these: http://cdnsupport.gateway.com/s/POWER/SHARED/q0012508.jpg

The OP's controls are slightly more obvious visibly, but don't look as much like common physical switches and are more visually cluttered. The color-changing version doesn't resemble anything I've seen in the real world, though I'm sure it's possible to do.

mikeknoop 1 day ago 0 replies      
Lockitron also showcases the slider issue in their product video: https://www.youtube.com/watch?feature=player_embedded&v=...
joelthelion 1 day ago 0 replies      
Someone needs to send that link to the Gnome 3 devs :)
saurabhnanda 1 day ago 0 replies      
This seems so obvious in hindsight, yet this isn't what everyone comes up with!
sturmeh 1 day ago 0 replies      
Take a quick look at ICS/JB on Android, which has already solved this problem.

The current state is written on the sliding bit, clicking anywhere will toggle it, but correctly show the current state.

The slider will also glow blue if it is on the ON state, and revert to grey on the OFF position.

See here: http://i45.tinypic.com/263jypz.png

taitems 1 day ago 0 replies      
If you're interested in adding the left/right style example and you're already using jQuery UI, you can use the ones I built here that inherit your slider styles:


duncanwilcox 1 day ago 0 replies      
You have to think of the constraints that informed the original design. There's very little horizontal space on iPhone and iPod touch, 320 points to fit a descriptive label and the control.

So labels on the sides don't work because of space constraints, on iPhone anyway.

The windowed version is also less space efficient than the stock iOS control but I think it has merit because it shows all possible states. What I'd change is reverse the tinting, to make the active state more visible and the other states shaded.

huhtenberg 1 day ago 1 reply      
A simpler option for a binary choice is this -

On | | X | Off

countessa 1 day ago 1 reply      
It is nice, but to my mind, a slider is different to a switch. The classic "on-off" switch that the author takes on is like a light switch - to that end, it does its job pretty well, I think, telling you what state it is in.
troels 1 day ago 0 replies      
I like. The vertical variant looks very similar to a <select> element with the size attribute set. Maybe you could take some clues wrt styling from these elements? Not sure how that would look in a horizontal version though.
radley 1 day ago 0 replies      
It's certainly confusing as is, but a good designer will use other design cues like color and depth to reinforce the state.
denzil_correa 1 day ago 0 replies      
Sweet! This is quite nice. Good job. The best part about the solution is the consistency for different type of options like simple on/off options to ones which require long descriptions.
gpvos 1 day ago 1 reply      
I think this is more elegant than a radio button.
tyre 1 day ago 1 reply      
It certainly was non-confusing to try and slide pictures of sliders.
wangweij 1 day ago 0 replies      
Totally agree. I find it so difficult to tell my parents to switch an iPad slider to ON or OFF, so I simply tell them to make the capsule blue or gray.
znaky 1 day ago 0 replies      
I think the way Apple is doing this is much more elegant. The on state is visualized by a contrast background color and the off state is just a gray background. Much more simple and much more visible. This proposed solution with a slightly lighter color as indicator of selection is not very good, sorry.

Also your solution becomes more of a list than a toggle. There are already a lot of similar designed selectable lists.

nathan_f77 1 day ago 0 replies      
I just gave up on the idea of using a regular slider to toggle between 'Any' & 'All', because I didn't want the selected text to be hidden. This solution would be perfect!
GuiA 1 day ago 0 replies      
Congrats, you can add a paragraph about related work and an Usability section about arbitrary observed metrics on test groups and submit to CHI :)
kalms 1 day ago 1 reply      
Not a bad solution, but I'd still prefer a red or green state (In my experience, color trumps shape).

Of course that doesn't work for more than two options, but I have a hard time finding a decent use case for that anyway.

ieatfood 1 day ago 0 replies      
Wholeheartly agree. I made a mockup of just this issue a few weeks ago: http://dribbble.com/shots/747199-Night-Day-Slider-Switch
kmfrk 1 day ago 0 replies      
Will this work in terms of accessibility?
i_like_robots 1 day ago 0 replies      
Much better, it's obvious in hindsight. Now if you could work some magic on those horrible range inputs…
joeyh 1 day ago 0 replies      
Congrats. You've invented the cursor.
cheeaun 1 day ago 1 reply      
The sliders on the article seems inverted from iOS's sliders.

The article shows: [OFF [ ]]

iOS: [[ ] OFF]

My IQ tanyakhovanova.com
385 points by tokenadult  2 days ago   272 comments top 52
jessedhillon 2 days ago 15 replies      
Great insight.

Regarding Mensa itself, or any claims to intellectual superiority: one of the big lessons of my life has been that being intelligent has no intrinsic value. If you are unable to manifest your intelligence in a way that can substantially (disproportionate to your effort) improve your life or the lives of others, then your mind doesn't matter. It has no impact in the world, and I am not the first person to observe that having a powerful mind is at many times a burden.

You can see that other people may be more stupid than you, forwarding simpler arguments and relying on less rigorous thinking than yours, but if they don't want to be convinced of that, then you are powerless to make them see it. They go off blissfully, and you burn with anguish. Again, if you cannot manifest your intelligence in a way that forwards your agenda, who cares?

To phrase it in a more confrontational way: if nobody is forced to contend with your mind, nobody knows it exists. Or to summarize it in a quote:

"[Intelligence] is like being a lady: if you have to tell people you are, you aren't."
-- Margaret Thatcher

This clicked for me during my final year of college, when a friend of mine was taking an LSAT preparation course. During a break, he was chatting with the instructor about realistic outcomes, and said earnestly that he hoped to get a score of 168 (which IIRC is a very high score.) The instructor, a man of maybe 30, who had been out of school for several years, scoffed and replied, "Good luck, I only got 165 and I'm a genius."

And what did the genius do when not teaching LSAT prep courses? Why, he worked at Target.

Edit: expanded a little on the first couple of paragraphs.

tokenadult 2 days ago 3 replies      
AFTER EDIT: Thanks to all who have replied for the interesting comments. I discovered this link while digesting replies I received on three different email lists to a request to name experts on mathematically precocious young people. (That was for work.) Tanya Khovanova, the author of the blog post submitted here, was one name suggested to me as an expert on precocious mathematics learners. When I saw her personal website,


I remembered that I had seen her blog post "Should You Date a Mathematician?"


posted to Hacker News (and other sites I read) before. I'll read more of her more purely mathematical blog posts over the next few days. I see one I can use right away in the local classes I teach to elementary-age learners.

On the substance of the post, I'm seeing several comments that equate "genius" to "person with a high IQ score." That was indeed the old-fashioned way that Lewis Terman (1877 to 1956) labeled a person with a high IQ score as he developed the Stanford-Binet IQ test. But as Terman gained more experience, especially with the subjects in his own longitudinal study of Americans identified in childhood by high IQ scores, he didn't equate high IQ to genius, and he became more aware of the shortcomings of IQ tests. Terman and his co-author Maude Merrill wrote in 1937,

"There are, however, certain characteristics of age scores with which the reader should be familiar. For one thing, it is necessary to bear in mind that the true mental age as we have used it refers to the mental age on a particular intelligence test. A subject's mental age in this sense may not coincide with the age score he would make in tests of musical ability, mechanical ability, social adjustment, etc. A subject has, strictly speaking, a number of mental ages; we are here concerned only with that which depends on the abilities tested by the new Stanford-Binet scales."

Terman, Lewis & Merrill, Maude (1937). Measuring Intelligence: A Guide to the Administration of the New Revised Stanford-Binet Tests of Intelligence. Boston: Houghton Mifflin. p. 25. That is why the later authors Kenneth Hopkins and Julian Stanley (founder of the Study of Exceptional Talent) suggested that is better to regard IQ tests as tests of "scholastic aptitude" rather than of intelligence. They wrote

"Most authorities feel that current intelligence tests are more aptly described as 'scholastic aptitude' tests because they are so highly related to academic performance, although current use suggests that the term intelligence test is going to be with us for some time. This reservation is based not on the opinion that intelligence tests do not reflect intelligence but on the belief that there are other kinds of intelligence that are not reflected in current tests; the term intelligence is too inclusive."

Hopkins, Kenneth D. & Stanley, Julian C. (1981). Educational and Psychological Measurement and Evaluation. Englewood Cliffs, NJ: Prentice Hall. p. 364.

So on the one hand there is the acknowledged issue among experts on IQ testing that IQ scores don't tell the whole story of a test subject's mental ability. A less well known issue is the degree to which error in estimation increases in IQ scores as IQ scores are found to be above the norming sample mean. Terman and Merrill wrote,

"The reader should not lose sight of the fact that a test with even a high reliability yields scores which have an appreciable probable error. The probable error in terms of mental age is of course larger with older than with young children because of the increasing spread of mental age as we go from younger to older groups. For this reason it has been customary to express the P.E. [probable error] of a Binet score in terms of I.Q., since the spread of Binet I.Q.'s is fairly constant from age to age. However, when our correlation arrays [between Form L and Form M] were plotted for separate age groups they were all discovered to be distinctly fan-shaped. Figure 3 is typical of the arrays at every age level.

"From Figure 3 [not shown here on HN, alas] it becomes clear that the probable error of an I.Q. score is not a constant amount, but a variable which increases as I.Q. increases. It has frequently been noted in the literature that gifted subjects show greater I.Q. fluctuation than do clinical cases with low I.Q.'s . . . . we now see that this trend is inherent in the I.Q. technique itself, and might have been predicted on logical grounds."

Terman, Lewis & Merrill, Maude (1937). Measuring Intelligence: A Guide to the Administration of the New Revised Stanford-Binet Tests of Intelligence. Boston: Houghton Mifflin. p. 44

Readers of this thread who would like to follow the current scientific literature on genius (as it is now defined by mainstream psychologists) may enjoy reading the works of Dean Keith Simonton,


the world's leading researcher on genius and its development. Readers curious about what IQ tests miss may enjoy reading the book What Intelligence Tests Miss: The Psychology of Rational Thought


by Keith R. Stanovich and some of Stanovich's other recent books.

Readers who would like to read a whole lot about current research on human intelligence and related issues can find a lot of curated reading suggestions at a Wikipedia user bibliography


occasionally used for the slow, pains-taking process of updating the many Wikipedia articles on related subjects (most of which are plagued by edit-warring and badly in need of more editing).

DanielBMarkham 2 days ago 2 replies      
Yes, yes, a thousand times yes.

Years ago in our 20s my wife and I took an IQ test. I think she got in the 150s and I scored in the upper 140s.

But I felt I had done much better. When we looked at the scores, for several answers I had results that were clearly consistent with an internal model I could build of the problem, but it just wasn't the model the tester wanted.

So in a geometric progression, I noticed that each figure had an odd number of visible vortices. In a word analogy, I noticed that all of the words except one had an Old English root. And so on. Many times there were multiple patterns of resolution. How could one be better than another?

I could certainly understand her choices, I just thought they were no worse or better than mine. The fact that IQ tests are created by people with high IQs led me to believe that what is really being measured here is some sort of academic cultural cohesion; how much we begin to solve problems in similar ways?

Not necessarily a bad idea, but not what I think of when somebody says "intelligence test"

FaceKicker 2 days ago 4 replies      
> But the biggest problem was that the idea of crossing the odd object out seems very strange to me in general. What is the odd object out in this list?

> Cow, hen, pig, sheep.

> The standard answer is supposed to be hen, as it is the only bird. But that is not the only possible correct answer. For example, pig is the only one whose meat is not kosher. And, look, sheep has five letters while the rest have three.

These types of questions irritate the theoretician in me as well, but to play devil's advocate a bit, are they really illegitimate questions? I would guess that your ability to correctly answer an "ambiguous" question like that measures your ability to effectively communicate with other humans, who regularly speak in ways that require the listener to resolve ambiguities that are at LEAST as severe as the farm animal question. If you think hard enough about it, sure, you can come up with a justification for any of the four answers (trivially, a cow is a cow and the other three choices are non-cows), but I would say that if you truly can't come up with the answer to that question that they "want" (barring any possible cultural reasons for not being able to do so), your intuition for pattern recognition could probably use some work.

This is not to defend IQ tests in general; I'm only arguing that ambiguous questions may measure something meaningful about your ability to learn or process information.

nacker 2 days ago 4 replies      
IQ tests share this property of undervaluing creativity and overvaluing conformity with academic work in general.

Witness my favorite renegade intellectual, Robert Pirsig, from his Wikipedia page:

'While doing laboratory work in biochemistry, Pirsig became greatly troubled by the existence of more than one workable hypothesis to explain a given phenomenon, and, indeed, that the number of hypotheses appeared unlimited. He could not find any way to reduce the number of hypotheses--he became perplexed by the role and source of hypothesis generation within scientific practice. This led him to an awareness of a (to him) previously unarticulated limitation of science, which was something of a revelation to him. The question distracted him to the extent that he lost interest in his studies and failed to maintain good grades; he was finally expelled from the university.'


I score pretty well on IQ tests, but only by suppressing a constant incipient rage at many of the questions, and a constant effort to ask myself "what would be the most boring and conformist interpretation of this?" That is usually the "right" answer.

jalanco 2 days ago 1 reply      
I was raised in an abusive middle class household. My parents were not well educated. When I took the ACT test in 1975, neither my parents nor I even knew what the hell it was. I made a 23. I went to a unremarkable Tier 4 college because my friend was going there. I paid for it working as an "auger boy" on a gravel drilling rig for a concrete company for five years. I failed college algebra twice. I was put on academic suspension, and somehow talked my way back in. I made a C in algebra, a C in trig, and then took calculus from a handicapped polio survivor named Mr. Treese (not a PhD) who could barely walk or speak clearly. He had zero patience for bullshit but for some reason he liked me. After taking three classes from Mr Treese he suggested that I should enter the Math dept's annual calculus contest (I was a geology major). I actually won the contest (and a $60 check!). Afterward, I never made a grade lower than an A, and eventually moved on to earn an MS in CS. Today I think he was probably the single most influential person in my life.

Today we have two daughters who are both completing science PhD's funded with fellowships. I paid for their undergraduate education at Tier 1 schools but they have done the rest on their own without loans. You can bet your life that they knew what an SAT test was when they took it. All their lives we've told them that they were definitely very smart but that it just doesn't matter, that IQ is irrelevant. The only thing that matters is what you do, not how smart you are.

(I remembered this story because Mr Treese didn't care much for the idea that a "number series" problem has a "best" solution.)

jhuckestein 2 days ago 2 replies      
My dad made me take one when I was a kid and I did really well, but even then I thought it was stupid. The first issue is addressed in this blog post. The questions just aren't good enough. This is nobody's fault really, because it is very difficult to come up with a set of hard questions that measure your intellect and don't require lots of domain specific knowledge. It's either within a certain domain. If everyone taking the test was a Mathematician for example, the questions could be more clearly defined.

The second issue is that intelligence is multi-dimensional yet people try to measure it on a one dimensional scale. What's worse, the dimensions of intellect are somewhat elusive as well, so you can't just say something like IQ is the sum of values on each axis. Personally, I think that people that are high achievers in any field (business, arts, athletics, leadership, politics, science) are intelligent in some way. But when you look at all those people, there's no common denominator, no discernable pattern for intelligence.

DanBC 2 days ago 2 replies      
I'm keen to know what the research is about cleverness and overthinking and multiple choice questions.

One of the most intelligent people I know IRL has trouble with the UK driving licence theory questions because she very rapidly provides 6 correct answers, and then has to try to detangle her correct answers from the choices.

I suspect that she'd do better if she tried when she was drunk (not the practical!!) because that would filter out the overthinking.

Of course, maybe this is all post rationalisation and some people just are lousy at some stuff.

pfedor 2 days ago 1 reply      
Many people like to argue for political reasons that IQ tests are meaningless or fundamentally flawed. One of the typical arguments, repeated in the article, is that the questions on a test require some cultural background and a smart person can fail them if they were raised in a different culture.

Following a similar line of reasoning, we could say that the vision test your optometrist administers requires the cultural context, after all if you were raised in a culture that uses cyrillic then you might not recognize some characters, and you would fail the test even if your vision was 20/20! Therefore, all vision tests are flawed, and the very concept of vision acuity is meaningless.

olalonde 2 days ago 3 replies      
In theory, I believe there could be an objective way to determine the "simplest" answer if it is defined as having the lowest Kolmogorov complexity among valid answers (if I read the Wikipedia article correctly) [0]. In the context of an IQ test though, it is not a very practical solution.

[0] http://en.wikipedia.org/wiki/Kolmogorov_complexity

Alex3917 2 days ago 0 replies      
I used to be in the Promethius Society, which is people with an IQ of 148+. I don't actually have an IQ of 148+ as far as I know, they just weren't smart enough to properly password protect thei Ning group. I have to say though after reading through the threads, most of them seemed vastly less intelligent than the smarter HN posters here.
freditup 2 days ago 0 replies      
Another big downside to intelligence tests is they can make you think you are just that intelligent. (More commonly known as pride / arrogance. We all suffer from this, but I digress.) I've had conversations online with people who have scored extremely high on IQ tests. Now interestingly, this person assumed because of their high IQ scores that they were great at deducing patterns and reading people. They ended up coming to simply outrageous conclusions about myself that they were certain were correct no matter what I said.

So, I personally think IQ tests are worthless. I don't see any benefits that come from knowing what your IQ is. The only thing they give is arrogance, and as Albert Einstein (may have) said, "The only thing more Dangerous than Ignorance is Arrogance."

jonnathanson 1 day ago 0 replies      
Great article. I experienced a similar frustration with the Stanford-Binet, and even more so in high school with the good ol' SAT (which Mensa also considers an admissable 'IQ' test).

It seems to me that a true "intelligence" test would also throw some generative problems at you: i.e., test you for as many correct answers to a pattern or sequence problem as you could come up with. I wouldn't advocate for generative problems to the absolute exclusion of deductive problems -- but the reverse is currently the case on most IQ tests, and it shouldn't be.

As for the broader point: there's been a scientific debate, for about as long as IQ tests have existed, over exactly what IQ tests are measuring, and exactly what IQ means. Most standard IQ tests are now regarded as measuring "g" ("general factor," sometimes called "general intelligence"). It may indeed be the most highly significant factor in intelligence, but even if it is (which, again, is debatable), it is just one factor of many. There are other factors, some of which are statistically significant. So simply isolating for the strongest factor is dumbing down the entire equation.

At any rate, "g" ends up being highly correlated with our concept of intelligence, but it is by no means a perfect or complete metric. And it does tend to favor a very specific type of intelligence, given that it is a narrow band on a broader spectrum. And vice versa: it excludes many whose minds we would probably consider genius caliber.

jkimmel 2 days ago 1 reply      
IQ tests have long been criticized by a variety of groups. At the end of the day, it merely measures your ability to perform well on tests that are similar to an IQ test. Traditionally, this set was populated with academic tests, so the IQ could be used to predict your performance in schools (it was actually designed to predict the performance of French schoolchildren.)

However, as the school based subjects have broadened out from traditional liberal arts conceptualizations to include more serious discussion of alternative conceptualizations (CompSci being one example), the IQ test may be decreasing in efficacy of prediction even with regards to academic tests. I have no evidence for this, just an opinion. The issue you ran into seems to be a result of these differing conceptualization paradigms.

At the end of the day, it's an assessment of performance in a very limited subfield of life. I try not to take it too seriously.

Zarkonnen 2 days ago 0 replies      
That was pretty much my experience with the Mensa test too. The straight mathematics section was quite easy. All the pattern-matching ones were maddening because you could construct good chains of reasoning for all the options.
ColinWright 2 days ago 1 reply      

    > But it bugs me that I might not have been
> creative enough to fail their test.

I know Tanya, and she most certainly is creative enough to fail their tests. It's clear she was trying to conform, and did a job that was good enough for its purpose.

But she is certainly creative enough to fail, and way more intelligent (for pretty much any meaning of the term) than the test will have indicated.

gbrindisi 2 days ago 7 replies      
What are the benefits of being a member of Mensa?
elorant 2 days ago 0 replies      
The problem with Mensa tests, or any other generalized test that tries to identify patterns in humans, is that some people are taking themselves far too serious. IMHO Mensa is meant to give you an indication of not how smart you are but how perceptive you are in a particular kind of problem solving. And that's about it.

Now if you score above 115 and then you expect the whole world to treat you like something special you miss the whole freaking point. I've seen people who because they score something like 130 or 140 are intentionally acting like whims or try to say something very profound and they end up speaking BS. They are very hard to work with and constantly expect to be treated differently.

Bottom line if you happen to be supersmart try to do something useful and meaningful for the rest of the society, otherwise nobody gives a flying fuck how smart you think you are.

chiph 2 days ago 1 reply      
> > Cow, hen, pig, sheep.
> The standard answer is supposed to be hen, as it is the only bird.

I thought "It's the only one that goes around on two legs." And then: "It's the only one that reproduces via eggs." Maybe not the right answer for the "right" reason, but works...

But then, as I have gotten older, my IQ is probably half what it was when I was tested as a teen (not a candidate for Mensa, sorry) Probably because I'm more certain now that I don't know all the answers. :)

billforsternz 2 days ago 0 replies      
One way intelligence manifests itself is through the ability to score well in an IQ test. Another way is through the ability to make an impact on the world. But I think another really strong characteristic of intelligent people is their tendency to lead a rich inner life. I get the strong impression most people go about their business without ever really thinking about how incredible it is that the universe not only exists but contains (at extremely low density) sentient beings capable of reasoning about it. Being one of those sentient beings is a remarkable stroke of luck. Intelligent people recognise that and celebrate accordingly.
lubujackson 2 days ago 0 replies      
I've actually written an IQ test that a lot of people have taken. When researching how to put together an IQ test it became clear to me that from the beginning IQ testing was not, and never will be, a valid way to rate intelligence.

The simplest explanation is that "IQ score" is not fundamentally different than "SAT score" or "GMAT score" and is in a lot of ways worse because there are so many different interpretations and scoring methods for IQ. You can score 150 on one test but it might be scored completely differently than a test someone else takes. In other words, there is no agreed upon and copyrighted standard for IQ.

All of this type of testing really just sucks. All we really know is that IQ testing (or SATs, etc.) measures... something. And since people need to be quantified in some way, we use these scores for people-sorting. We TOTALLY overuse these scores without understanding them, and people feel great or feel horrible about their scores because of their usage (which is unavoidable) and for what it seems to say about them (which is very little).

It is hard to not feel good or bad about your score, even knowing all of this. We WANT to be rated, we want to score well and score better than others. That's human nature - just don't forget that your score will never impact what you can and can't achieve in life.

gioele 2 days ago 1 reply      
Ask HN: what is the acceptance/rejection rates for Mensa tests?
Shenglong 2 days ago 12 replies      
|Cow, hen, pig, sheep

The standard answer is supposed to be hen, as it is the only bird.

I believe the standard answer is a "hen" because it's the only one that is gender-specific. In fact, it is distinctly the odd-one out because it doesn't even refer to a specific genus (or even family) of animal.

I'm all for creativity (I have the same complaint often) but there needs to be some sort of standardization in communication and society. A genius who can't communicate any of his/her ideas might as well be no genius at all.

nnq 1 day ago 0 replies      
True creativity as well as true intelligence should INCLUDE THE ABILITY TO INTUITIVELY OR RATIONALLY "UNDERSTAND" WHAT IS THE SIMPLEST SOLUTION - meaning the simplest possible pattern that can be considered to consist of 3 or 6 or 9 shapes, one of which you have to choose in a standard figures based IQ test... "simple" might actually mean "being able to unambiguously explain it in the smallest number of words" for someone with a background in literature and philosophy and something similar for someone used more to the mathematical language... but in 90% of the cases there is an unambiguous "simplest" pattern that can be seen in the figures IQ test (not 100% because it's a statistical measure anyway, but still).

After all, don't we usually think of "smart" people as the ones that can take complicated things and make them simple or explain them in simpler terms (think Feynman, Einstein...).

...now about "cow, hen, pig, sheep" ...this is obviously a biased example by choosing 3 words of 3 letters and one of 5 and can be replaced with something that does not overlap the number of letters pattern on top of the number of legs or animal group one...

giardini 2 days ago 0 replies      
I felt truly intelligent only after ending my membership in Mensa.
JohnLBevan 2 days ago 1 reply      
David Mitchell (British Comedian)'s view of Mensa:
scotty79 23 hours ago 0 replies      
Entry test for MENSA I had about 5 years ago didn't have any words or shapes of any real-world objects. There was only one kind of questions. You had to pick image that would fit in the right bottom corner of (usually) 3x3 image grid. It was all about picking apart those objects and noticing how their elements change as you move from row to row and from column to column. Me being programmer given me some advantage I think because I perceived some transitions as bitwise operations and frame by frame animations.
joelhaus 1 day ago 0 replies      
The English language is terribly ambiguous... even for native speakers. Unfortunately, test creators frequently do not appreciate this fact (a crowd sourced question review service for teachers and exam creators might be an interesting solution). One of my favorite examples is the number of alternate scenarios that this sentence could be describing:

  the boy saw a mouse running in his pajamas

Counter-point: Throughout school, I often pondered whether the ambiguity in test questions was actually intentional. In the real world, you are often given problems to solve that are poorly defined, so perhaps this is good preparation? However, when working on real world problems, you can clearly state any assumptions you've made to arrive at your solution and this is not easily applied to answering questions on a bubble sheet test with very limited context.

gruseom 2 days ago 0 replies      
It would be amusing to have a bunch of people take the same IQ test, then tally all the plausible yet contradictory answers they produced to the same questions. Done well, that could be an effective demolition of the whole charade (though not in the sense that it would get anyone to change their mind about it).

The trouble with such tests is that they like you to be intelligent, but not too intelligent. So what they measure is efficiency of conformance. Is that what we should be optimizing for? I don't think so.

It seems absurd that something so obviously unintelligent would be the key to measuring intelligence.

Edit: oh, I see I'm just repeating what the OP has already brilliantly said. What a great and devastating little article.

Sandman 2 days ago 0 replies      
I'm no fan of Mensa, but there's one thing that I don't understand in this article - if the test was for non-English speakers and it contained pictures of animals, why was one of the possible answers that popped into the author's head "sheep - because it has five letters". That's language-specific, and should not be regarded as a valid answer in a language-neutral test. But the point is, it seems to me that the author is trying to find holes in the test. Of course that "hen" is not the only possible answer. As the author suggested, meat of pigs, for example, is not kosher. We can find things that differentiate any one of those animals from the rest. In any set, you can find some property of any object that will differentiate it from the rest. But that's not the point, is it? The point is to find the most obvious answer. The same goes for sequences of numbers. Yes, you can continue a sequence of numbers with any number that you like, and your answer will be perfectly valid. But the point is to find the most obvious one.
vacri 2 days ago 0 replies      
Note that a proper IQ test must be administered by a trained professional and takes a couple of hours. This is simply because there are so many pitfalls that there is no other way - anything else that calls itself an IQ test is a pale imitation and can't be anything but flawed, for all the usual criticisms. What the author describes may be what Mensa need for admittance, but it's not a proper IQ test.
baddox 2 days ago 0 replies      
Maybe you got a lot of those questions right, despite having reservations about them, and perhaps that's the whole point of the test. Despite there being confusing or ambiguous questions, maybe the test is designed to determine your ability to figure out what the test-makers designated as the correct response.
peterjs 2 days ago 0 replies      
I don't think that "creative" people would fail the test. Creativity has nothing to do with finding smartass solutions to puzzles. It has little to do with even solving puzzles.

Creativity is seeing, connecting and coming up with things other people don't. The main prerequisite is usually grunt work. We only see the results, not the messy process behind James Dyson's vacuum cleaner with thousands of prototypes, or Bob Noyce's integrated circuit. What made him so creative was his knowledge and understanding of the world of semiconductors and the ability to question things.

I strongly believe that any inventor with a similar story would score high on an IQ tests and would not manifest his creativity by making up unlikely theories. Admittedly, its a sign of intelligence to understand the question and the context in which it is being asked. The world is full of opportunities to show ones creativity. Picking one of 4 answers in a test is not one of those.

aaron695 2 days ago 0 replies      
I think the simple fact the writer knew the answer, (Hen) but then went on to explain why it might be other things showed a lack of intelligence if anything.

Anyone who's intelligent would know Kosher is a cultural test so is not valid.

If you don't know how to answer the question correctly it's a lack of intelligence, not you're smarter than the test. Knowledge of the state of mind of others is what is normally defines intelligence in animals. Knowing what answer they want is part of the test. Some people just don't get it...

This is the same as psych tests that ask if you want to commit suicide. If you don't know why this question is there then the test is working. You're not smarter than the test because you think it's a stupid question, you just don't understand the test.

Tooluka 1 day ago 0 replies      
I've seen this task once in one IQ test:
"Continue the row of numbers - 2, 4, 8, 16, 19, ..."

The answer was - 21... "You know, first we multiply by 2 and then we start to add 3" :) . Perfect "creative thinking" test.

The IQ tests, even if they are valid are still inherently broken, just forget about them and carry on.

freework 2 days ago 3 replies      
IQ tests are just like anything else in life: If you practice enough, you will get good. If you are motivated enough to spend 10 hours a day practicing taking IQ tests, you will eventually get a high score. If you are motivated enough to practice the guitar 10 hours a day, you'll eventually become a guitar virtuoso. If you are motivated enough to spend 10 hours a day writing code, you'll eventually become a Rob Pike or Rich Hickey. If all you want in life is to be seen as smart by other people, then in my opinion, you need to re-examine some things in your life. I'd rather spend my time getting better at things that actually matter.
mrlyc 2 days ago 0 replies      
I joined Mensa and left after three meetings. It seemed to me that they mistook being able to think quickly for being able to think clearly, much the same as a teenager who thinks he knows how to drive fast just because he has a car with a powerful engine.
nsxwolf 2 days ago 1 reply      

Not bragging at all: I'm so creative and the IQ test is so culturally unfair that I just barely made it into freakin' Mensa.

onetimeuser50 2 days ago 0 replies      
I am a HN regular but I don't want to sound boastful so using a one time account.

I have a high but not super-high IQ, about 138. I went to a highly IQ-selective school, and as a result have met people who are smarter. Here is the interesting part: while they can do certain kinds of things better than me (puzzles, certain kinds of math, certain kinds of intricate code, analogies etc). Yet, I have gotten far more interesting things in life done than they have.

Even more interesting, I have discovered that I have thought harder and deeper about many problems than some of the exceptional IQ people I have met. As a result, I can simplify problems that they "only" (!) know how to solve. And this simplifying skill has proved to be extremely valuable in the real world. That skill doesn't seem to be directly implied by super-high IQ alone.

kenster07 2 days ago 0 replies      
IQ is worthless in a vacuum -- much like a computer. Though they have magnitudes greater computational power than the smartest human, without humans, they have no purpose.
simulate 2 days ago 0 replies      
David Mitchell has some insightful things to say about Mensa and those that choose to join the organization: http://www.youtube.com/watch?v=qPMKqyaXtHI
Kilimanjaro 2 days ago 0 replies      
A true genius doesn't want fame, fortune, awards, he doesn't want to stretch hands, hell, he doesn't even want to sign autographs. All he want is peace, out of the spotlight, in absolute and maddening silence, to keep doing what he does best.

To think.

cdooh 2 days ago 1 reply      
Never quiet thought of it like this. There some things that would seem obvious to me but reading this realise perhaps not so much. Anyway IQ tests have long fallen out of fashion as they only measure a certain type of intelligence
crikli 2 days ago 0 replies      
Intelligence is like an idea: without execution, nothing.
satyajitsdt 2 days ago 0 replies      
Having given my share of IQ tests, personally I always felt that they lacked in many sense. Once while researching about it I came across theory of multiple intelligence by Howard Gardner (http://en.wikipedia.org/wiki/Theory_of_multiple_intelligence...). Though not completely clear the basic idea behind it seems more logical to me.
jlazer 2 days ago 1 reply      
Joining Mensa was the dumbest thing I ever did.
dschiptsov 2 days ago 0 replies      
For the hen question two answers must be accepted, and second one, based on the number of letters, must be rated higher.) At least if you want to catch a person with Asperger's.
zapt02 2 days ago 0 replies      
I thought she was going to score poorly. "Barely" made it into MENSA, sheesh.
ramgorur 1 day ago 0 replies      
I am quite dumb, but GRE made me dumber and this is a fact.
danieldrehmer 2 days ago 0 replies      
The particular tests she complained about were not aimed at measuring creativity, I believe.

But the animals question was really poorly designed

aaronbasssett 1 day ago 0 replies      
"I don't know what my IQ is. People who gloat about their IQ's are losers" " Stephen Hawking
Show HN: I'm 14, I learned Objective-C, and this is my first iPhone game apple.com
380 points by Omicron3141  4 days ago   173 comments top 74
pooriaazimi 4 days ago 8 replies      
I was writing/learning HTML with FrontPage 2003 and Flash 5 (6? 7? I thankfully don't remember anymore) when I was 14 - while knowing almost no English (thus, not understanding even what the menu items and controls mean!) and without a manual or teacher and just clicking around and seeing what happens to the code :-( Hard, hard times it was. But I enjoyed it nevertheless.

But still, I'm jealous of you.

If you were to seek my advice, I'd tell you to watch some OCW (OpenCourse Ware).

http://cs50.tv <-- great for starting out. I am ready to bet $50,000 that you'll learn soooo much (while not being overwhelmed) that you can't believe it

http://cs75.tv <- great for starting web development (php, mysql, javascript, css, ...)

http://see.stanford.edu/see/courses.aspx CS106A is good for now or a little later, CS106B and CS107 are way more advanced but you might find them very educating in a year or two)

http://ocw.mit.edu/courses/audio-video-courses/#electrical-e... (I've heard good things about 6.00SC)

All in all, I'd suggest you start watching cs50.tv right now (if it's not a whim and you're really interested in programming as a career, or if you at least enjoy programming right now).

Best of luck.

JunkDNA 4 days ago 0 replies      
Man to be your age and feel what you're feeling right now! I had grandiose plans as an 11 year old to write games on the Amiga. But without the Internet and relying only on books learning was a slow process. It ultimately never happened. I hope your parents support and recognize your achievement. 90% of success is just showing up and actually doing something. It's important to do things like this because you just never know where it will lead, who you will meet, what you will learn. Keep it up!
dm8 4 days ago 1 reply      
Congrats!! Keep it up..

Why are so many HNers being dismissive of this young fella? He has done something cool and he is really proud of that. He learnt something that is considered very hard for the majority of population and put his work out there on app store for real test (by real users). Lets applaud him (like some of the posters).

EDIT: Don't forget to contact your users. They will give you feedback and it will help you improve your game and write newer games/apps.

tisme 4 days ago 0 replies      
A very heartfelt congratulations, I would give up a lot to trade with you at the moment, you must be feeling on top of the world.

Games are a great area to work in, you get to learn a lot more about systems level programming from building a game than you'd get from building a web-app. Games are never finished either, you can always improve on them, add levels and so on so they're a great way to grow your skills in managing progressively larger codebases.

Once again, congratulations! And I hope to see much more of what you've made here.

olalonde 3 days ago 0 replies      
Amazing work! I remember when I was about 15 I started selling my first software (a billing web app for shared hosting companies). I developed it in maybe one or two months during the summer, set up a website and started getting payments through Paypal. My English was so-so at that time and there were no Hacker News or StackOverflow. I remember one day suddenly realizing that "if"/"for"/"while" were actually English words.

Sales quickly averaged ~150$/day and despite that, my parents still wanted me to get a summer job (at McDonald's maybe) like "the other kids". I also had a computer usage quota and was often going over at my friend's house just to cheat the quota :). Looking back at those days, I think they just wanted me to spend more time with my peers. Anyways, I turned out fine!

To conclude, I truly hope your parents are supportive and if they are not, feel free to get in touch with me for advice (can't help with game development though, you are way more advanced than me).

PS: You have a bright future in front of you!

j45 4 days ago 0 replies      
You're awesome.

If you aren't, the nicest gift you can give yourself in 10 years is a blog, even if it's private and you write all the crazy stuff you're learning and doing and how scary it felt at first and how great it felt after.

Some things I had someone said to me and I hope you'll say to someone at 14 one day:

As you get older you'll meet so many subtle doubt worshippers that spread their doubts because they can't get over their own self-doubt.

Be a man of action and launching. Haters and doubters are busy doing nothing.

Don't ever let anyone poison this ability to build, and launch.

Don't ever let anyone tell you you can't figure out anything and build something.

Do laugh, while you launch and ship often while everyones busy optimizing their stack.

pacomerh 4 days ago 6 replies      
Sometimes I'm a bit skeptical about these kinds of posts "I'm X age, I made this". I feel like, why would a 14 year old want to make sure his age is on the post title?. It's not that extraordinary I think, I mean it's great that his doing this, but it's not that un-ordinary, sometimes it seems like someone else is driving this for promo.
jetsnoc 4 days ago 0 replies      
Great job. The world is your oyster. Keep learning and don't let anyone ever tell you something is impossible.
rsuttongee 4 days ago 1 reply      
Nice, pretty good for a first game!

Now that you've started writing some code, you can start talking to users!

Here's some quick feedback I've got:

-It's a little hard to tell where on the screen I can touch to move the miner vs. where I can shoot. Perhaps but a line on the bottom demarcating where touches will move instead of shoot?

-Perhaps the game would be more fun if the movement was faster? If you sped it up, it would make it easier to grab 2 pieces of cheese on the same row. It's up to you to decide how to balance control responsiveness vs. difficulty, but it's worth testing it out.

At any rate, good job and congratulations!

dysoco 4 days ago 1 reply      
Hey! Really cool stuff.
I'm 15, and have been programming since I was 9, but I'm more focused in stuff like Systems Programming and Machine Learning, thus I have not really released anything interesting.
SurfScore 4 days ago 1 reply      
When I was 14, I walked uphill to school at 4 AM, in the snow, both ways, while carrying an IBM mainframe in my backpack!
dbh937 4 days ago 0 replies      
As a fellow fourteen-year-old programmer, congrats! The game looks great!
jaf12duke 4 days ago 0 replies      
I'm so unbelievably impressed with you Jonah.
Omicron3141 3 days ago 0 replies      
Hi everyone, thanks for all of the great feedback. Honestly, I feel lucky to have the tools, technology, and support to build games like Cheese Miners. Sorry that I haven't responded to all of your comments yet, I will get caught-up later this weekend. My school has a camping trip and I have been prepping for the trip most of day and walking out the door now and will have no internet access while camping (no phones allowed, and I agree!). Such is the life of a 14 year old at boarding school. When I get back I would love to continue this discussion. Your comments have been very inspiring and there are some really good suggestions I need to follow-up on. Thanks for the great discussion. HN rocks!
mmcnickle 4 days ago 0 replies      
Fantastic, it takes a lot of effort and motivation to get something like this out the door. Hope to see the next one on here soon.

Is it games that you're most interested in, or just programming in general?

lazyjones 2 days ago 0 replies      
Congratulations! A nice slap in the face too for those people who constantly rant about kids/young people being distracted too much and unable to learn much nowdays (by the Web/new technologies/gadgets). It's the adults who get distracted and become unproductive, kids' brains adapt more easily.
ecubed 4 days ago 1 reply      
Congratulations on your first game. Keep up the hard work and you'll have some pretty competitive stuff on your resume for college applications!
dave84 4 days ago 1 reply      
Great stuff. How did you find MakeGamesWithUs? I know a few people your age who want to learn Objective-C etc. would you recommend this route for them?
zobzu 4 days ago 1 reply      
I was doing 68k asm at 14. Kids those days! :)

(now then again anyone who's done 68k asm would know this is extremely easy to code and understand, more than objective-c in fact. But then again, I had Codewarrior [which I won at metrowerks] and powerplant, and those, are hell.)

ianstallings 4 days ago 0 replies      
Anyone that's had to submit an app will be impressed that you went through that process successfully, let alone made a cool little game for the iphone. Good job.
scottchin 4 days ago 1 reply      
Wow! Nice job! I haven't had a chance to download it, but just by looking at App Store page, the app looks fun and makes me want to download it!

How much time did you spend making it?

willholloway 4 days ago 0 replies      
Great job! Parlay those skills into some lucrative consulting gigs. Earn early, and earn often. Compound interest, especially at your age, is the most powerful force in the universe.
tete 3 days ago 0 replies      
Don't stop now. I remember, when I was 11 I was also really nerdy and in many ways much smarter then now. My mistake was that I at some point dropped all this, because I couldn't find stuff that interested and excited me. It's really a flaw. As long as you are a teenager, you are able to find what excites you.

It's really hard to describe, but it is extremely bad to come out of practice and it happens so quickly. If you must find some kind of job or something that will make you practice every day.

P.S: Stuff that looks boring at the beginning usually isn't when you really get into it.

remixz 4 days ago 0 replies      
As a fellow teenager who is also programming, this is great! I'm glad that there are sites like MakeGamesWithUs that are encouraging our generation to do this sort of thing. Really, great job!
scrumper 3 days ago 0 replies      
The premise alone is enough! Brilliant whimsy. Congratulations on shipping!
stewie2 4 days ago 1 reply      
How did you make game graphics?
pclark 4 days ago 0 replies      
I wish I had had this kind of drive to learn to code when I was 14. Amazing job Omicron3141, your parents must be blown away.
TazeTSchnitzel 3 days ago 1 reply      
Well, I'm 16 now, and I'm writing a chatroom/game thing in HTML5 with WebSocket (http://ponyplace.ajf.me/)

But when I was 14, I was programming a TCP Minecraft server. (http://github.com/TazeTSchnitzel/SchnitzelCraft0)

mbenjaminsmith 4 days ago 0 replies      

I'm going to echo the more pleasant half of HN and say don't let anybody dismiss your accomplishment. Shipping is all that really matters and shipping is hard.

ceol 4 days ago 0 replies      
Seriously, congrats on both learning Objective-C and publishing a videogame in a marketplace. I can't wait to see what other awesome stuff you do!
rietta 3 days ago 0 replies      
Excellent job!

Keep your drive, motivation, and by all means keep launching your software! You will go much farther than most people.

I also started teaching myself programming at 14. 16 years later, I cannot imagine doing anything else.

jiggy2011 3 days ago 0 replies      
Good job, I don't have an iDevice to test it but it looks more professional than what I managed at 14!
Jonanin 4 days ago 1 reply      
Good work, I'm jealous; I wish I was doing things like that when I was 14.
napolux 3 days ago 0 replies      
Every now and then here on HN someone is claiming that he's a teenager building an iPhone game. Is just a coincidence that the platform is always the same? MakeSpamWithUs :P
donebizkit 3 days ago 0 replies      
Am I the only one who was playing gameboy and watching cartoons when I was 14.
mani27 3 days ago 0 replies      
Congrats on your first game. This is awesome work for an 14 year old. I have downloaded and played this game for some time. I feel movement needs to be little faster.
BklynJay 4 days ago 0 replies      
Great job! Congratulations. It takes a lot of persistence and drive to see a project through to the end.
chris_wot 4 days ago 0 replies      
Nice! Did you do the artwork yourself?
ThePinion 4 days ago 0 replies      
Looks good, congrats and keep it up.
Zombieball 4 days ago 1 reply      
Did you also do the artwork?
tsieling 3 days ago 0 replies      
Awesome concept, looks great, and you're in the app store. Congratulations, totally impressed.
songgao 4 days ago 0 replies      
Great job!

I was busy with homework and tests when I was 14. Kids in China are not as lucky :-(

I did play a bit with Visual Basic 6.0 at 11. It was a lot of fun for me. I also got a VC 6.0 on my family computer but never managed more than running an MFC window that does nothing. But it turns out not to be important anyway.

dmritard96 2 days ago 1 reply      
legos from the beginning .in elementary school they had a cool program in my neighborhood run by motorola engineers where you could take courses on logic design and build simple cricuits (combination locks, tic tac toe...). when i was 12 i built and electric go kart, 13/14 - a minibike. 15/16/17 - a solar powered car (from scratch http://www.sphssolarknights.org/). Moved into more CE/CS type projects now but once you start building you will never stop! Keep it up. :
tkahn6 4 days ago 1 reply      
Congrats! Would you consider putting the source on github?
socialist_coder 4 days ago 1 reply      
Does it use Cocos2d or another game engine from makegameswithus.com ?
vostrocity 4 days ago 1 reply      
When I was 14, I didn't have $99 to give to Apple. So I made games that no one ever knew about.
jweather 4 days ago 0 replies      
Congrats... my first iPad game is about 14 years old now and still not released yet... sigh. Enjoy the piles of free time while it lasts, and be sure to take some time to explore different areas to find out what you're really interested in.
phatbyte 4 days ago 0 replies      
Impressive, keep it coming ;)
hashpipe 4 days ago 0 replies      
At 14, I was busy playing soccer. I didn't get to computers and coding till I was 17-18, when my brother bought a PC. So jealous of you guys who build such awesome stuff at this age ! Way to go..!
justplay 3 days ago 0 replies      
thanks for sharing . I really didn't even thought about copying unix. Anyhow,i think if you're learning domain specific language then it is not good to implement unix . Consider php,it came up for web . so it would be nice if we solve challenges or do stuff which matters.
I use to check stackoverflow question and try to learn it .
Anyway i will mind your advise .
ovechtrick 4 days ago 0 replies      
Very impressive! Keep at it! You have a great future ahead of you!
jimwalsh 4 days ago 0 replies      
Great job, keep it up! At 14 I didn't even have a computer yet.
allforJesse 4 days ago 0 replies      
Well, now I feel old.

But more importantly, congratulations!

alen 3 days ago 0 replies      
Brilliant work! Where did the sounds/artwork come from? It all fits together very nicely.

I'm looking forward to seeing what you make next!

keyboardP 4 days ago 0 replies      
Congrats! Keep working hard and releasing more games!
sojorn 3 days ago 0 replies      
I started using Internet when I was 10 and started to dabble in HTML and then PHP3 and later 4. Earned a decent amount of money (for a kid), but then I just stopped because of workload in highschool and college.

Man, my skills got rusty I can barely write something these days. So, dont you ever stop doing that because returning to programming can be hard - your brain wont function at this ultraspeed it is functioning now.

jerryjerko 2 days ago 0 replies      
Mh, something seems weird about this... Looked up his profile here at HN and checked out the domain of his email address...


nickporter 3 days ago 0 replies      
The game looks very polished! Did you create the art as well?
ekn 4 days ago 0 replies      
Well done, Congrats!
sonabinu 4 days ago 0 replies      
Fantastic ... You are truly an inspiration.
jnazario 4 days ago 0 replies      
cheese! and ObjC! and app store!

rock on!

viviantan 3 days ago 0 replies      
Great work! Can't wait to try it :)
swiety 4 days ago 0 replies      
Seems good ;)
damniatx 4 days ago 0 replies      
Your father must be proud. /s
marshallp 4 days ago 0 replies      
The last kid getting overambitious with computers is now serving time in federal prison (Aaron Swartz). You might want to peace out on the hackz.
photorized 4 days ago 0 replies      
Nicely done.
toutouastro 3 days ago 0 replies      
when I was 14,I started learning pascal and c I think :p
armenarmen 4 days ago 0 replies      
That is so awesome.
evandrix 3 days ago 0 replies      
pls release source and provide link on github.
cdestroyer 4 days ago 0 replies      
Wow!!! Well done!
filipmares 4 days ago 0 replies      
gdonelli 3 days ago 0 replies      
well done!
capsicum 4 days ago 0 replies      
bradhe 4 days ago 0 replies      
This is the worst thread I've EVER seen on HN.
Why it is Awesome to be a Girl in Tech nerdess.net
363 points by nerdess  5 days ago   248 comments top 30
michaelochurch 4 days ago 6 replies      
I'll make a controversial observation, but it's worthy of discussion.

If you're a woman of average or better looks, you have one under-spoken superpower. Namely, how you interact with other men will have a huge effect on their social status. I'm not talking about overt flirtation (don't do it) or office relationships (avoid, avoid, avoid). I'm talking about more subtle stuff, like who a woman smiles at, who she initiates conversations with, and what her body language is toward various people. This will have huge ripple effects on the male status hierarchy. Much of the reason why men tend to seem "afraid of" women in the office is that they're afraid she'll judge him lowly and send out "loser signals" about him, bringing him down a notch or two. Since everything that happens at most workplaces (especially cliquish startups, so don't give me this "meritocratic" bullshit) is really about social status-- "performance" is a myth made up to justify firings and scare the mediocre-- this is huge.

Overtly flirting with the men in the office will destroy a woman's reputation, for sure. That's not what I'm talking about. I'm talking about the subtle fact that, among groups of people, women have the capability to exert a disproportionate influence on the status ordering. In fact, the best way to use this is to do exactly what a young man would do: be nice to everyone, reach out and try to make allies, seek mentors... but also take a small comfort in the fact that men have an added incentive to be nice to you-- you have a disproportionate effect on their image, and they want to be seen with you.

For example, a 23-year-old with 6 months on the job comes into the office of a powerful person (MD in banking, Partner in a law firm) and says that (s/)he is bored with the work that (s/)he is getting. If male, he's just another entitled fuck looking for an advantage. The response usually is: go away, pay your dues, and come back in 7 years after you've proven yourself (if I haven't fired you before that). That's because humans have a visceral hatred of low-status males, and in the workplace, men in the youngest 15% are almost always of low status (hence, they get the shittiest work).

If the 23-year-old is female, this 45-year-old executive might realize that having a 23-year-old woman come into his office once a week might give him a younger, "cooler" image and prevent him from getting "managed out" (read: fired) for being "resistant to change" (read: old). So he might give her the kind of work that most people have to wait a few years to have a crack at.

Again, she's not flirting with him, or compromising herself in any way. She's doing exactly what a man would do if he had the courage: going into a powerful person's office and asking for better work.

It doesn't always happen this way, but it can. Career advancement is about stringing together a large number of high-impact, low-probability prospects (with enough parallelism that the likelihood of some success becomes high) and waiting for one to hit. The "superpower" that an attractive woman has doesn't turn the low probability into a high one; it makes it slightly less low.

I'm not saying life is fair and, on the whole, women almost certainly have to deal with more bullshit than men. It's wrong that women's looks are taken to matter so much. It's wrong that people are huge dicks to women about aging. Some of the "old lady" comments I heard when Clinton was running for President in 2008 made me want to vomit.

Men have a huge and unfair advantage after 32, which is that they can have children with their careers interrupted, and that their social status (being abysmal, in the workplace, at 22-24) peaks around 40-50. Men can (and are expected to) work through child-rearing, while for it to make sense for a woman to keep working after having children, she has to make about 2.5 times the average income (to hire help, day care, etc.) On the other hand, women have a huge advantage from 22 to 32, which is that they have the subtle but potent ability to determine who's "cool", and if they're aware of how to use it, they can speed up their careers. And given the heaping plate of bullshit that society gives women once they get older (and it starts in the 30s) they pretty much have to use this advantage while it's there.

Jun8 5 days ago 5 replies      
OK, nobody commented this up to now but I think is important: Among the many posts about this subject I've read on HN recently this was absolutely the best: Not only it approached the matter in a no-nonsense, practical matter without preaching from "the height of an unwritten book" or an axe to grind but it also gives excellent advice to young girls who want to venture into the field.

With posts like this I wish there was a mega-upvote option on HN, e.g. for 500 points of karma you upvote 10 points.

atomical 5 days ago 8 replies      
"This is a bit of a delicate topic. Quite often I am the only female person in the team and have to be careful not to take advantage of the perks that come with it. Guys are fascinated and scared by girls who roll up their sleeves and take on a job that society labels as “men's work”. If you've ever drilled a hole, skinned a rabbit, or changed a tyre you know what I mean.

As I mentioned earlier, guys will definitely put you to the test and as a girl it will be hard to get their respect. On the other hand, you can get away with a lot of things just by fluttering your eyelashes and being a bit cheeky, which is a habit that is so easy to get into. I have to confess I've done it myself because if you are surrounded by guys all day you quickly feel powerful. However, with great power comes great responsibility so don't take (too much, hehe) advantage of the nerds treating you like a princess just because they finally get to work with a girl."

Never experienced this. Sounds like an alternate reality. All the so called nerds I worked with had girlfriends or wives and didn't wear pocket protectors and stutter around females when talking to them.

RandallBrown 5 days ago 3 replies      
Articles like this are what are going to get girls into computing. They need to know that there are other normal girls, just like them, that do this for a living.

I got my ex-girlfriend into software development. She comes off as a very stereotypical girly girl. She likes clothes, shopping, and top 40 pop music. I convinced her to take an intro programming class her sophomore year of college. Now she's a software engineer at Amazon.

All it took her was a little convincing that she could do it, and that normal people (I suppose I seemed normal to her) do it too.

physcab 4 days ago 0 replies      
I'd love to use this opportunity to do a little promotion. My sister and I just launched a site to connect women in industry with girls taking math and science called Girls Love Math (http://www.glmclub.org).

It would make my day if women like nerdess became mentors. I have a feeling that lots of girls are looking up to them.

vacri 5 days ago 2 replies      
I (100% female) work as a web developer and are not sure if the lack of female colleagues bothers me or not. Political correctness dictates that it should

Political correctness isn't really about groupthink or how you should feel. It's about not making other people feel shitty because you're too lazy to use inclusive language. It's simply an extension of 'manners', and gets demonised when it shouldn't be.

sandollars 5 days ago 5 replies      
Progress is being made, but there is still a long way to go.

This happened in a talk at a programming/web/tech event two weeks ago: http://i.imgur.com/4hL6X.jpg

victorhn 5 days ago 9 replies      
"If a male and a female developer with a similar skill level apply for a job, I bet that in 99.9% of the cases the girl will get the job."

That looks like sexism to me.

nickporter 5 days ago 5 replies      
Why is it that people group IT and software development together? To me, they are two completely different fields.

For example, I see an IT person as a mail server administrator in a large company, and a developer as the person who would write the mail server software.

I'm not saying that an IT professional never writes code, or a developer won't ever touch a Nginx config file. I just mean they are two different types of work.

It's something I have noticed for a while now, not only with your article.

laumars 4 days ago 2 replies      
"Computer languages and “real” languages are actually very similar."

I really couldn't disagree with that more. Sure, some languages' syntax borrow English words (Python, Pascal, VB, etc), but that's such a minor similarity. Those words are completely arbitrary and the syntax could have been in Klingon for all the difference it would make to the compiler.

Computer languages are a maths language; albeit a very very dumbed down dialect of maths, but maths all the same.

I think the trap many web developers fall in is that PHP teaches some terrible programming practices (no variable declarations nor types, etc) and ANSI SQL isn't Turing complete, so feel that all other languages by extension are equally easy to grasp. However if you look at a number of other languages -particularly the ones with C-derived syntax- then it becomes painfully obvious that any similarities to human languages are just skin deep (which is lucky for me as I majorly suck at writing yet can code proficiently in around a dozen different computer languages).

jessedhillon 5 days ago 0 replies      
Breaking News A man doesn't understand why women do/think something that he doesn't, but still has some thoughts about why those women are wrong!

Here's a tip: if someone says "this is hard for me" don't respond with "no it's not." In fact, even if they get a little presumptive and forget to add the "for me," give them the benefit of the doubt and assume they are describing the world as it exists for them and not necessarily making an empirical claim.

minamea 4 days ago 1 reply      
"This is a bit of a delicate topic. Quite often I am the only female person in the team and have to be careful not to take advantage of the perks that come with it."

"you can get away with a lot of things just by fluttering your eyelashes and being a bit cheeky, which is a habit that is so easy to get into. I have to confess I've done it myself because if you are surrounded by guys all day you quickly feel powerful."

"Technical directors are really keen to hire girls because we boost the morale."

"If a male and a female developer with a similar skill level apply for a job, I bet that in 99.9% of the cases the girl will get the job."

These are all very sexist remarks. If the equivalent has been written from a male's perspective it would have been an outrage.

crusso 4 days ago 0 replies      
I really liked this article. Most blogs about women in Tech these days are centered around the mindset of victimhood.

Having gone to an engineering school, I know full well the power that women can exert in an environment full of socially-hapless geeky guys.

TheCapn 4 days ago 0 replies      
This is a weird subject. I think, as a social group, we're on a hinging point where women will be making equal footing in the tech industry, but haven't yet. Its coming.

Women are going to get disproportionate treatment during this transition in one or two different ways, and it depends on who they're interacting with. Should they land themselves alongside the stereotypical basement dweller they'll be cast aside and thought less of. They'll first need to prove themselves in an uphill battle. This will take great self confidence because there is a lot of misogyny still in the tech workplace. Too many tech gurus grew up being shunned socially and still have those emotional barriers preventing them from being rational and fair.

On the other swing of things though we have the opposite treatment: "A girl? Oooo!" I feel jealous sometimes of my female friends in the industry because of just how easy getting face to face for new jobs comes for them. I fight to keep myself in check because they're damn good professionals who deserve it but the thought remains: what sets them apart from me? Directly out of university I was competing locally with a lot of them for jobs and the treatment of women in the profession was quite apparent. I still see it a bit in my jobs now and its slightly disheartening.

Ultimately I think this problem will solve itself in time. Tech jobs aren't about the basement dweller anymore, they haven't been for years. The natural transition where everyone in the workforce has been part of it for the years where equal woman representation has been around and the awkward or preferential treatment is happening. We need vocal women to encourage more to join. Those classes in university will definitely be unsettling when 20 slobbering unkempt males are trying to wrestle their way to the only female group partner but to push through is going to be tough.

unimpressive 5 days ago 1 reply      
Why doesn't your blog have an RSS feed?

EDIT: That was supposed to be a subtle compliment; I want more.

cbsmith 4 days ago 2 replies      
I'm starting to think it is impossible for someone to write about gender issues in the tech industry without at least one reference to porn.
dschiptsov 4 days ago 2 replies      
My personal favorite example:


She wrote org-mode for Emacs. Now she is at IBM Research.

zandomatter 4 days ago 0 replies      
Am I the only one that thought that while most of the points made in the article were generally true, the follow-up and examples were lackluster.

Comments like these:

"you can get away with a lot of things just by fluttering your eyelashes and being a bit cheeky ... so don't take (too much, hehe) advantage of the nerds treating you like a princess just because they finally get to work with a girl."

are insulting to both genders, as well as being grossly overstated.

whiterabbit2 1 day ago 0 replies      
Except women have a good chance to be turned down before even being seen in person... (unless, their resume clearly indicates they are juniors and they have nice pictures on FB).

And, yeah, the "approval" thing is actually something like "admiration" and implies that this woman is an inferior professional. If she happens to be a strong professional, it's not desirable for a man to be next to this woman, as it will bring down his own value. It would be more desirable to be next to an older superior man.

sebcat 4 days ago 1 reply      
"Guys are fascinated and scared by girls who roll up their sleeves and take on a job that society labels as “men's work”"

Actually, I'm fascinated and scared by all IT people who roll up their sleeves and do manual labour.

gaving 4 days ago 0 replies      

    When I started as a developer in the UK I earned a bit less than £30k a year
and wondered: How can whole families live of this? How can anyone save money
for a mortgage?


It might sound arrogant but since I am an IT contractor I don't have to think
twice about that Halston Heritage dress I fell in love with the other day, I
just buy it.

Yeah, you're right, that does sound arrogant.

talmir 4 days ago 2 replies      
It is a nice article. Interesting read for me as a male programmer. But this line kinda caught my eye under the "Gender-advantage" headline:

"If a male and a female developer with a similar skill level apply for a job, I bet that in 99.9% of the cases the girl will get the job."

This is a problem.

nantes 4 days ago 0 replies      
dmansen 4 days ago 0 replies      
Men of HN: please tell more people what you think is and isn't sexist. It's good, your input on the matter is valuable and important.
gprasanth 4 days ago 2 replies      
"Guys are fascinated and scared by girls who roll up their sleeves and take on a job that society labels as “men's work”"

I always opined that, "women have a lot of emotional strength". You can just imagine how difficult it is to take care of, and raise a toddler. It is so hard. But, somehow women are naturally good at this, and I am just as fascinated by this fact.

yock 4 days ago 1 reply      
Sorry for being off-topic, but why in the world would the net filter here at work have blocked this as "adult content?"
jayc 3 days ago 0 replies      
Can we please stop making generalizations about women in tech and go back to discussing and upvoting articles about technology again?

a female developer

nazgulnarsil 5 days ago 3 replies      
I suspect a big driving factor is that being forced to be around tons of low status guys all the time is literally worse than hitler for women.
wavesounds 3 days ago 1 reply      
Can anyone recommend some of the "tech superstars" to follow on twitter that she mentions?
tete 4 days ago 1 reply      
This is maybe the best article I've ever found on HN.
512 Paths to the White House nytimes.com
360 points by jashkenas  4 days ago   170 comments top 20
cletus 3 days ago 16 replies      
Well I guess it's that time in the cycle again: for people to complain about the electoral college (disclaimer: I'm not American).

Over the years in different elections in different countries I've heard this complaint [1]

> The electoral college is incredibly unfair to voters who live in states that lean opposite their view.


> It's unfair that I don't get my way even though I'm in the minority.

Also, this isn't just an election for president. There are Senate (in 2 out of 3 elections) and Congressional races, probably local races too.

But let me address the common "solution" for this "problem": the popular volte (for president). That is a terrible idea.

The electoral college doesn't only exist for the reasons of state rights (although that's a pretty big part of it). It exists to avoid a deadlock. The delegate almost without exception vote as their state did. The possibility of no decision coming out of the electoral college is practically zero.

For those of you who were paying attention in 2000, just look at what a mess Florida became. Now watch me get downvoted into oblivion (but that doesn't make me any less right) but the optional nature of the US voting system has resulted in:

- the left buying votes (cigarettes to homeless people, that sort of thing); and

- the right trying to disenfranchise groups that tend to vote left with such measures as removing the right of felons to vote (and even people who aren't felons).

HOWEVER, by the rules that were in place at the time of the election Florida was always a Bush win (seriously, please don't downvote siimply because you disagree). Even extensive analysis (by the likes of the New York Times, etc) after the fact supports this.

My point was that Florida turned into a circus of trying to change the rules after the fact (eg what constitutes a vote, the whole dimpled and pregnant chad business). You just can't do that.

Imagine that circus on a national level with an incredibly close popular vote.

On a personal note, as someone who resides in New York, one of the most expensive media markets in a state that is safely blue, I appreciate the minimal amount of election ads.

Anyway, the electoral college is not the problem here. There are however two glaring problems (IMHO):

1. Voting is optional;

2. Elections are first-past-the-post ("FPTP").

The argument for (1) is that mandatory voting leads to uninformed people voting. I assure you that uninformed people are already voting.

Voter turnout nationally is something like 50% (IIRC). Of those 40% always vote Democrat, 40% always vote Republican and the 20% in the middle decide the election. So 10% of the population is deciding the election even key states.

The problem with optional voting is it creates the wrong incentives. Measures like voter ID, removing felons right to votes are a consequence of this. If voting were mandatory (as it is in Australia) then a lot of these problems go away. Also, in many parts of the US it is hard to vote with long lines. It should be moved to a Saturday but this difficulty is, in many places, a natural consequence of voting being optional. Election officials are partisans too so you shouldn't be surprised if a right-leaning official under-resources an area with a lot of poor people.

As for (2) the problem is that this reinforces a two-party system. A vote for a minor party is often a vote for the other side (eg voting for the Greens is a vote that would probably otherwise go to a Democrat so is effectively a vote for the Republicans).

Australia has a preferential voting system. Given a field of 5 candidates you number then 1 to 5. When votes are counted you allocate all the "1"s. The candiate with the least number of "1"s is eliminated and their votes are distributed to the "2"s. This continues until something has more than 50% of the vote.

This means you could vote [1] Green [2] Democrat [3] Republican and protest the Democrat candidate without losing your vote.

One last point, as much as people focus on key states deciding the election, the reality is that the states are on a spectrum based on the popular vote. If a Republican wins the popular vote by 8% or more they'll probably carry California, otherwise they won't. A Democrat will have to win by 5-8% to carry Texas. When the popular vote is close, Ohio, Pennsylvania, Florida and Wisconsin are in play. Were it not close they wouldn't be.

Over time states change their "bias". For example, Florida is becoming more Democratic with retirees from blue states in the Northeast. California used to be a safe red state but is now safely blue. These changes aren't sudden and the variations possible are actually quite small.

Whatever the case, the popular vote at the national level would be a disaster.

[1]: http://news.ycombinator.com/item?id=4736105

mbostock 4 days ago 4 replies      
A couple hidden features: 1. You can option-click on any of the buttons to see the transition in super slo-mo. (This was mainly for debugging, but it's fun to see how the transitions work in more detail.) 2. You can double-click on any part of the tree, and it will zoom in by one level.

Also, we did a variation that used state-level probabilities to weight the tree. This gave a sense not just of the logical possibilities, but of the likelihood of each, which I liked. However, the FiveThirtyEight state-level probabilities are not fully independent, so you can't multiply them together to compute conditional probabilities. Perhaps next election!

nextstep 4 days ago 4 replies      
Damn, I wish I lived in one of the states that gets to choose our president.
Evbn 2 hours ago 0 replies      
Hmm. I wanted to go reqd that page tonight to see you what is left that matters, but it has been replaced by the link be results map. Lame.
robomartin 3 days ago 6 replies      
The electoral college is incredibly unfair to voters who live in states that lean opposite their view.

I fully understand that the popular vote option has its issues (focusing on large population areas, etc.). However, a lot of this can be mitigated through legislation and regulation of the process.

Here's a random set of ideas:

- Candidates are only allowed to visit each state capital once. That's it.

- Candidates are not allowed to trash the other candidates. They are only allowed to discuss their views.

- Candidates are awarded an amount of money to run their campaigns. No external contributions from any source whatsoever. None.

- Candidates must participate in detailed interviews for a period of several weeks. Some of these interviews are aired in national networks and the rest made available online.

- Candidates are obligated to participate in detailed debates

- Television networks are prohibited from endorsing or communicating bias

- The publication of poll data is illegal

- A candidate must post a huge bond. If he or she is found telling lies they end-up in prison and have huge financial consequences.

- Campaign promises are recorded and signed in a document that is publicly available. A politician that does not deliver on promises made is exposed to financial and criminal liability. Don't make promises you can't keep.

- Public endorsement of any candidate is illegal. They have to float and survive on their platform and track record.

- The incumbent is not allowed to campaign in any way at all. His or her opponents cannot trash him/her. The incumbent can only rely on having done a good job and kept promises. People will vote and want to keep someone who is doing a good job. The only thing they are allowed to do is announce their running for office and participate in scheduled debates or interviews.

- Politicians are limited to serving in public office for a certain period of time, perhaps ten years. After that they must return to private life --no connection whatsoever to government and politics-- for five years before they can run for office again. This is to infuse balance and perspective and not have a race of politicians, by politicians and for politicians.

There are probably a number of other interesting ideas out there. What we have it horribly broken in many ways. It'd be nice to see real dialog and actions to change it.

cedrichurst 4 days ago 2 replies      
Thanks Jeremy, Shan and Mike. I'm continually blown away by the data journalism you're doing over at nytimes on the election. It's truly an inspiration.
ck2 4 days ago 1 reply      
The five ways to tie are the most freaky and stressful.

The only problem with this nifty tree is that it must be followed in order to determine the outcome.

Oh wait, I didn't realize the boxes at the top were selectable. I guess that allows out-of-order traversal.

Only thing I'd like to see added to this is using url hash to bookmark the result set so I can share it.

tomasien 4 days ago 2 replies      
I think this is a great way to explain to someone who's not intimately familiar with electoral politics why people think Obama is going to win despite razor thing polls. Predictions mean nothing of course but:

If Obama wins Florida, Romney has exactly 1 path to victory: winning every other swing state. If Obama wins Ohio, Romney has only 11 ways to win. If Obama loses Florida, Virginia, NC, and Ohio he could still potentially win if he wins the rest of the swing states, all of which he's slightly ahead in in recent polling.

Election day will be interesting, but that's what makes it hard to pundits to predict a Romney victory.

protomyth 2 days ago 0 replies      
If you want more campaigning in your area, then start a petition and vote for a change to your state's constitution to allocate electoral votes by house district. This is a change that could happen if your state wants it.

I believe on real problem is the state's voice is not heard in DC and a lot of crap is done that is not in the State's best interest. I wish they would repeal the Seventeenth Amendment so people would concentrate a lot more on the State's politics. Or perhaps, replace the senators with the sitting governor. Then the Senate would think about the state's budget and regulation burden before passing things.

seldo 3 days ago 1 reply      
A really great way to show why Ohio is so important:

1. Give the democrats Wisconsin (I don't know why people are treating it as a swing state)

2. Give the democrats Ohio

3. Give the democrats any other state (except New Hampshire)

Basically, as long as Obama takes Ohio, Obama wins.

cincinnatus12 3 days ago 0 replies      
The argument that the EC is there to the avoid a deadlock situation is quite inaccurate. In fact, given there are only 538 EC votes to distribute, the likelihood of a tie (269-269) is much, much higher than the likelihood of a tie in the popular vote (where in 2008 both candidates received > 50 million votes). Nate Silver's 538 blog estimates the current chances of a EC "deadlock" at 0.2% -- small, yes, but not so small as to ignore the possibility entirely.

The "solution" under this scenario? If the election doesn't produce a candidate with 270 or more electoral college votes, the race gets decided by the House of Representatives. Can you imagine the reaction if Obama won the popular vote, but only received 269 EC votes and then the (Republican) House awarded the election to Romney?

There is precedent for this, of course. The 1824 election saw Andrew Jackson getting a plurality in both the popular vote and the Electoral College, but not a majority in either. Ultimately, a Congress hostile to Jackson would award to the Presidency to his arch-rival, John Quincy Adams. http://en.wikipedia.org/wiki/United_States_presidential_elec...

In terms of worrying about deadlock, a simple popular vote total is far superior than any permutation of the Electoral College.

ianstormtaylor 4 days ago 3 replies      
Does anyone know if I should be as scared as I am that there are 5 paths to tie? Is that the norm in a presidential election? because it sounds crazy.
mistercow 2 days ago 0 replies      
Fascinatingly, 84% of these scenarios are Obama wins, which is surprisingly closeto fivethirtyeight's current projection of 85%.
nhebb 3 days ago 0 replies      
This is interesting, but it leaves out Pennsylvania. Penn is a long shot for Romney, but the Romney campaign's internal polling must indicate that it's in play, otherwise they wouldn't be spending time in the final weekend campaigning there.
tisme 3 days ago 1 reply      
This is all window dressing. Elections do not decide who wins. Funding does. And as long as corporations can outspend private citizens companies decide elections.

If you wanted to reform elections in the USA then you would have to start to curb the direct influence of corporations on the elections, compared to that the electoral college is a minor detail.

ninetax 4 days ago 3 replies      
This is amazing! It's everything a visualization should be: simple, to the point, interactive.
ecmendenhall 3 days ago 2 replies      
If you're sufficiently convinced by this, the 538 model, or your favorite electoral vote map, and you are willing to bet your beliefs (and you are in a jurisdiction that has not regulated prediction markets out of existence), Intrade contracts on an Obama victory were trading around $6.70 today.
trueluk 3 days ago 1 reply      
I'm not sure why Nebraska's second congressional district isn't included. According to FiveThirtyEight, Obama's chance (14%) of winning one vote from Nebraska is higher than Romney's chance (11%) of winning Nevada. As a matter of fact, the last FiveThirtyEight visualization I saw linked here (http://news.ycombinator.com/item?id=4657826) didn't include the one electoral vote Obama won in 2008 from Nebraska either.
marcamillion 3 days ago 0 replies      
I LOVE this. I have always wondered what such a visualization might look like. Now, when the results come in, I can be my very own 'electoral college pundit' and be right :)
theltrj 3 days ago 0 replies      
is there a library out there that mimics this visualization? very powerful stuff
Richard Stallman: Let's Limit the Effect of Software Patents wired.com
349 points by mtgx  5 days ago   97 comments top 19
runningdogx 5 days ago 10 replies      
This makes no sense. Is Stallman so focused on software that he isn't considering the implications of continuing to apply broken software patents to hardware?

FPGAs? Is an algorithm implemented on a FPGA a software or hardware implementation?

Sufficiently popular software algorithms like mpeg4 (including avc) are often implemented in ASICs for speed. Stallman's suggestion does nothing to help in those cases.

What if Intel introduces new instructions that assist with some patented algorithm but do not carry out the complete algorithm? Software completes the algorithm using the chip instruction. Is that covered under Stallman's software patent immunity proposal?

The dichotomy between software implementations and hardware implementations is unhelpful. If you oppose software patents on principle, whether because you think they're harmful or because you think they're math and are not supposed to be patentable in the first place, why let the camel's nose into the tent by campaigning to allow hardware (ASIC?) implementation patents, but not allowing pure-software implementations?

Perhaps this is better framed as an economic argument. If cost were no object, more algorithms would be implemented in ASICs. There's a limit to the total chip area you'd want to fit into a computer, but a lot of algorithms could be implemented in a few custom ASICs. It's likely that some of those algorithms would be covered by patents. Stallman's proposal seems like discrimination against algorithms that are important enough to make faster execution worth a lot of money.

If software patents are not valid, and I don't believe they are valid, then allowing them to apply to hardware implementations is just applying a band-aid and punting on the real issue. Stallman's proposal may be pragmatic, in that it reduces risk to most start-ups and other entities worried about violating patents in software, but it sustains the confusion about what software patents are and whether they can be valid. I think there's more at stake than the money at issue in patent lawsuits every year. I think broad appreciation of the value of open culture, and recognition that algorithms should be part of that, is worth more than any extra value companies might be able to extract from hardware implementations of patented algorithms due to artificial monopolies created by patent protection.

redsymbol 5 days ago 1 reply      
This is really impressive. It's a cogent, insightful articulation of the current situation, including the realistic constraints (e.g. that Supreme Court ruling re: private privileges), and a practical suggested solution that could actually be implemented in the current political environment. Don't always agree with Stallman, but this one's well done.
EGreg 4 days ago 2 replies      
Here are a few reasons why the patent system isn't useful for software:
A) Almost no one in the industry comes up with innovative solutions to problems by reading software patents from the last 20 years. They do it by implementing their own solutions or improving existing solutions.

B) There is already a powerful force that has promoted innovation in software much more than patents, and that is open source. In fact, most of the web sites on the internet are powered by a stack of open source software. Therefore, innovation would take place in this industry even if the government didn't offer a 20 year monopoly to anyone who can disclose a non obvious idea to the public.

C) The purpose of patents is to promote innovation by encouraging the inventor to disclose the details of the intention to the public, in exchange for a 17-20 year monopoly on the implementation of the invention. However, since the industry moves so fast, inventions which are not obvious when patented become extremely obvious "incremental improvements" several years later. This combined with A completely defeats the positive side (to the public) of the compromise, but keeps the negative side of the compromise -- namely the monopoly. The latter costs society in the form of litigations, intimidation of small companies, and injunctions against useful products made by big corporations.

D) Software patents encourage patent trolls to file an invention and lie in wait, or sell the patent to someone who will lie in wait. Meanwhile, they discourage actually implementing technology, because it can infringe on any number of patented inventions. We all realize how much implementation and execution is more important than a mere idea. Thus, it might actually be thwarting the very thing that it's supposed to promote: actual implementation. In the words of Fred Wilson, it is a "tax on innovation".

E) By contrast, open source encourages actual IMPLEMENTORS of software to not only disclose the effect to the public, but release a functional piece of software which actually implements the innovations. Moreover, many Free Software licenses compel those who make use of this software to release their own software in turn. The result is people building on each other's work, promoting implementation and execution over simply disclosing ideas. This aligns much better with the interests of society at large -- and the original purpose for patents.

F) The industry moves too fast for the patent office to keep up not only with the state of the art (they have almost no chance), but even the state of PRIOR ART, leading to many patents being granted that don't satisfy the obviousness or prior art requirements. Sometimes dozens of patents are approved for the exact same thing. As a result, the cost to society is pushed into the legal sector, causing lengthy court proceedings rather than patent office actions.

G) When a small company is sued, even by a patent which can be invalidated, it can often be intimidated into entering a settlement (an unfair situation), or in fact defeated because it didn't have the funds to find the prior art. But even in cases where there was no prior art and the patented invention was in fact not obvious, chances are 99% of the time the "infringing" implementation was developed completely unaware of the patent's existence. See points A, and C. Therefore, the positive side of the compromise (to the public) was completely superfluous, but the negative side hits with full force and effect (see point F).

H) Large companies now spend billions of dollars to acquire patent portfolios for purposes of intimidation, defense against ... patent litigation, and anticompetitive practices -- by which I mean not competing on actual quality and price of the products, but rather trying to artificially reduce the quality and increase the price of the competing products. The costs to the consumer are obvious. Moreover, the costs to shareholders include money that will never be used for actual innovation, but simply the above purposes.

All in all, there are many reasons to abolish software patents in the USA.

sounds 5 days ago 4 replies      
tl;dr: "We should legislate that developing, distributing, or running a program on generally used computing hardware does not constitute patent infringement."

He goes on to say "generally used computing hardware" is the opposite of "special-purpose hardware" but I think that definition needs to be really explicit.

Of course then, would anyone in Congress actually pass such a bill?

growingconcern 5 days ago 2 replies      
Surprisingly realistic suggestion from the "radical" Richard Stallman.
kevingranade 4 days ago 0 replies      
No one seems to have picked up on the strategic impact of the proposal, it neatly excludes many of the more sympathetic pro-patent entities from the picture, in particular the pharmaceutical industry and hardware manufacturers. They needn't bother to oppose it, because it has no effect on them, whereas they may oppose further barriers to granting patents on principle just in case it affects them.

Personally I'm not extremely in favor, as I'm anti-patent/copyright in general, but it makes sense for someone whose primary goal is software freedom.

6ren 5 days ago 0 replies      
rms did a great job with GPL, fighting copyright with copyright - though v3, with patent conditions, has not seen universal adoption (because too late? or a more fundamental problem?)

A distinction with surgeons is their work is not reproducible at near-zero cost; so shielding affects only n surgeons, not all developers and their users (i.e. "most people"). Also, people generally don't die because developers can't code a particular technique. He might get a foothold in software in surgical equipment, but I bet the shield doesn't apply to them.

zmmmmm 5 days ago 1 reply      
I like his suggestion, and it's rare to actually hear a new idea in how to resolve the patent problem.

However I find it odd that in the preamble he points out Apple, but presumably something like an iPhone would easily fall into the class of special purpose computing equipment, so Apple's case would be unaffected by it. In fact, it might even encourage mobile phone platforms to become more locked down and restrictive so as to avoid falling into the definition of a "general purpose" computer. Thus there could be a very dangerous backfiring of this if the definitions were not clear and broad.

pootch 5 days ago 1 reply      
In a recent job interview I was asked to code a doubly linked list as part of the coding part of the interview. Linked lists are patented, did me implementing this break the law?
batgaijin 5 days ago 1 reply      
Personally I think the FSF should go full dystopia: promote and strengthen software patents.

They are so influential right now, and are changing the very fate of the infrastructure of this planet.

It isn't just about money, it's about how the whole ecosystem is poisoned. Either there needs to be massive reform sponsored by the major corps. or small countries will start to break out of treaties to promote "IP freedom" for shell corps.

lumberjack 5 days ago 2 replies      
Perhaps it's because I'm tired and I'm not understanding correctly but what is the practical difference between Stallman's suggestion and simply abolishing software patents?
edouard1234567 4 days ago 1 reply      
I don't agree with Richard. I don't see the case for treating "software" and "hardware" differently.
Patents were invented as a way to protect intellectual property and to derive revenue from it. They are an incentive for innovation. They're just being abused mostly by patent trolls.

Patent trolls acquire a large number of bogus patents, sue companies and in most cases settle confidentially. Most companies don't like risk especially when their core business process is threatened. So they settle even if there's a good chance the patent could be challenged. It's not a fair fight...

To limit this abuse we could make patents non transferable meaning you can sell the right to use the invention but you cannot sell the invention. Some will argue that patent trolls could work on behalf of inventors to help them enforce their patents but I think most inventors are more reasonable than the lawyers specializing in patent trolling. There might also be a way to mitigate this risk with some regulation, ideas?

rumcajz 4 days ago 1 reply      
Nice. If there is a hardware patenet, just re-implement it in software and you are safe.
teyc 5 days ago 3 replies      
I suggest that rather than limiting effects of patents, it is easier to exclude obvious ideas. By this, if two identical ideas are submitted as patents within a designated time frame, then the patent is not novel enough.

This has several advantages:

1. The number of educated people have risen considerably that we are filing more patents in a decade than the past 100 years. Even if there weren't patent protection, ideas will still continue to be created. By getting rid of the first past the post problem, we are effectively saying we will not grant an exclusive patent for something that someone else could have invented.

2. This scheme does not impact on the R&D that requires long term investment. e.g. pharmaceuticals.

3. It makes "idea patents" easy to invalidate. e.g. using a phone to play music.

wheelerwj 5 days ago 1 reply      
I am not very familiar with software patents, just business process work.

If you write a program in say... python which is open source. You can patent that program even though your work is based of something that is publicly available? Or can you only patent additional libraries/new languages?

comex 5 days ago 0 replies      
I don't understand why the comments here are saying this is a "practical", realistic solution. This sort of legal trick might help deal with the law as it stands (personally, I'd much rather see algorithms made unpatentable and wait 20 years), but a vastly greater obstacle is convincing Congress (or a court) that these patents should be eliminated in the first place.
monochromatic 5 days ago 2 replies      
This is about as likely to happen as a law that comes right out and invalidates software patents. Or ends women's suffrage. Or requires everyone to wear blue pants on Thursdays, under penalty of death.

It's an interesting thought experiment, but treating it as more than that is a mistake.

naturalethic 4 days ago 0 replies      
Yo Richard, just get rid of IP and everything fits.
marshallp 4 days ago 1 reply      
Stallman's behind the times, data is where the action is. He shuld be advocating for open data, software is so yesterday.
MongoDB Gotchas and How To Avoid Them rsmith.co
335 points by ukd1  1 day ago   88 comments top 26
Pewpewarrows 1 day ago 4 replies      
Very good summary of what to look out for. Here are a few others that I ran into back when I was still entertaining the idea of using Mongo in production:

1. The keys in Mongo documents get repeated over and over again for every record in your collection (which makes sense when you remember that collections don't have a db-enforced schema). When you have millions of documents this really adds up. Consider adding an abstraction mapping layer of short 1-2 character keys to real keys in your business logic.

2. Mongo lies about being ready after an initial install. If you're trying to automate bringing mongo boxes up and down, you're going to run into the case where the mongo service says that it's ready, but in reality it's still preparing its preallocated journal. During this time, which can take up to 5-10 minutes based on your system specs, all of your connections will just hang and timeout. Either build the preallocated journal yourself and drop it in place before installing mongo, or touch the file locations if you don't mind the slight initial performance hit on that machine. (Note: not all installs will create a preallocated journal. Mongo tries to do a mini performance test on install to determine at runtime whether preallocating is better for your hardware or not. There's no way to force it one way or the other.)

T-R 1 day ago 2 replies      
An excellent and practical article. I do want to emphasize one thing, though, since I feel like the article almost seemed to downplay its significance:

MongoDB does not support joins; If you need to retrieve data from more than one collection you must do more than one query ... you can generally redesign your schema ... you can de-normalize your data easily.

This is a much larger issue than it seems - nested collections aren't first class objects in MongoDB - the $ operator for querying into arrays only goes one level deep, amongst its other issues, meaning that often-times you must break things out into separate collections. This doesn't work either, though, as there are no cross-collection transactions, so if you need to break things into separate collections, you can't guarantee a write to each collection will go through properly. (Though, I suppose if you're using the latest version, you could lock your whole database)

23david 1 day ago 2 replies      
There are some good things here, but on a systems level there are huge oversights that are absolute showstoppers on production systems. Maybe there is a level of Mongo proficiency above MongoDB Master? I hope so.

1) Make sure to permanently increase the hard and soft limits for Linux open files and user processes for the MongoDB/Mongo user. If not, MongoDB will segfault under load and when that happens, the automatic recovery process works incredibly slowly. It's a bit tricky to get this right, depending on your level of sysadmin knowledge. 10gen doesn't emphasize or explain the issue very well in their docs: "Set file descriptor limit and user process limit to 4k+ (see etc/limits and ulimit)" That probably makes sense to just about 0.1% of the people setting up MongoDB: http://www.mongodb.org/display/DOCS/Production+Notes#Product...

2) Make sure to disable NUMA. This 10gen documentation note is a great example of clear documentation: "Linux, NUMA and MongoDB tend not to work well together ... Problems will manifest in strange ways, such as massive slow downs for periods of time or high system cpu time." Massive slowdowns and mysteriously pegged cpu usage on production database systems are definitely 'strange'. I would probably choose stronger and more precise language, but 10gen clearly knows what they're doing: http://www.mongodb.org/display/DOCS/NUMA

tl;dr If you have problems with MongoDB, you aren't using it right. Read the documentation more carefully, and then when that doesn't work, hire an expert.

codewright 1 day ago 2 replies      
I'm one of the people that like to make fun of MongoDB from time to time, but that's mostly from proximity producing contempt.

Nevertheless, a rundown of the gotchas and how to avoid them based on experience beyond simply running apt-get install mongodb is one of the most useful pieces on MongoDB I've seen of late.

The only new-news for me was that SSL support isn't compiled in by default. That's pretty irritating. I wonder if that applies just to 10gen's packages or also to distribution provided mongodb packages.

mason55 1 day ago 1 reply      
One of the more useful Mongo articles I've seen here. You might want to clear up "You cannot shard a collection over 256G" however. The limitation is that if you have an unsharded collection that grows over 256GB you cannot make it a sharded collection. The way it's written now makes it sound like sharded collections can't grow over 256GB (at least to me) which isn't true.
etrain 1 day ago 1 reply      
Good to see some constructive advice on how to configure mongo, instead of just bashing it.

Even if it's not your favorite technology, sometimes you end up in a position where the rest of the company is using something, and you need to work within those constraints. It's important to understand the technologies you're building on, their configuration options, and to understand the best practices way of working with them.

This, by the way, is not restricted to mongo.

sjtgraham 1 day ago 0 replies      
OP knows his stuff. I met him at a hackday and learnt an insane amount from talking to him at dinner. I'm keeping this post bookmarked for reference. Great stuff.
dschiptsov 1 day ago 2 replies      
Any one else noticed a striking similarity to PHP - every feature is broken somehow?)

I thing this will be a good slogan - 'We are PHP of storage engines.'

bitdiffusion 1 day ago 1 reply      
Here is one to add to the list - if you delete records and/or entire collections, you won't reclaim the associated disk space automatically. Once the space is allocated, it remains allocated and will be reused when more data is added later. If you want to reclaim the "empty space", you need to run a repairDatabase() which will lock the entire database while it's busy.
whitej 1 day ago 1 reply      
I see the "32-bit vs. 64-bit" issue appear in many rants about MongoDB. There are two types of people that fall off the 2GB cliff.
a) People who say "what just happened... oh, I get it... 32-bits, memmapped files... I'll switch to 64-bit"
b) People who say "WTF.. #MongoHate.. going to blog about how @#$#%! a DB this is"

Some people understand the tools they work with. Some people know just barely enough to throw things together and don't tolerate it when something doesn't work out of the box. Worst of all, this second group tends to be very vocal on the interwebs.

I'd almost like to see 10gen not publish the 32-bit package at all. Source is still there. If you want 32-bit, cool, compile it. But forcing the user to compile the 32-bit version assures at least a minimum bound of technical proficiency (an "I understand what I'm doing, why it's not the default and what the limitations are").

ukd1 1 day ago 4 replies      
If I've missed anything from the article, feel free to let me know! :-)
rgarcia 1 day ago 2 replies      
The solution is simple; use a tool to keep an eye on MongoDB, make a best guess of your capacity (flush time, queue lengths, lock percentages and faults are good gauges) and shard before you get to 80% of your estimated capacity.

Any recommendations for such a tool?

fredsters_s 1 day ago 1 reply      
It's interesting to get a rundown of Mongo's limitations from someone who clearly knows what they're talking about. Thanks.
paulsutter 23 hours ago 0 replies      
Also worth mentioning that performance is much more predictable when the data fits into memory (or the working set, but that may be harder to convey).
netvarun 23 hours ago 0 replies      
Thanks for the great article.
A gotcha I have come across:
Document keys can't contain the dot character. If you are storing a complex document (hash-of-hash-of-hash-etc..), you would need to recursively clean up and ensure that none of the keys contain any '.' char.
ianrose 1 day ago 1 reply      
"However due to the way voting works with MongoDB, you must use an odd number of replica set members."

So what happens if I have 2 sequential failures? Suppose I have a replica set of size 5 and the master fails? The remaining 4 would elect a new master from amongst themselves, right? But then what if this next master also fails? The remaining 3 nodes are still a quorum (3 > 5/2) and thus (theoretically) should be able to elect a master. But am I to understand that they won't be able to do so?

gianpaj 11 hours ago 0 replies      
I believe you mean 'sharding' not 'sharing':
"Unique indexes and sharing"


"Process Limits in Linux"
If you experience segfaults under load with MongoDB, you may find it's beacuse of low or default open files / process limits

fideloper 1 day ago 1 reply      
I have a suspicion that this seemingly popular sentiment about so many people hating MongoDB is untrue.

Or people are careless about what systems they put into production?

Also, awesome article!

cjc1083 1 day ago 2 replies      
On the same token, albiet a bit off of the trail. Does anyone have any suggestions for effectively storing fields which can contain BIG5 (IE non utf-8) chars in them, but usually do not? IE Email subject lines or senders.

JSON is picky in this regard, and I don't want to convert the whole string to B64 etc encode/decode it going in and out, as I would like to retain regex search capability for the 99% of email titles and names which are not Chinese within mongo from my php application which lives on the front.

vertis 1 day ago 0 replies      
Really great list of gotchas.

I have been using MongoDB for a long time, unfortunately mostly this has been small applications, so you don't really get to test how MongoDB scales.

On that same note, I would love to see a list of gotchas for Riak (assuming some exist). I keep hearing recommendations for Riak, it would be nice to know how it fares in a large production environment.

aledalgrande 1 day ago 1 reply      
SSL support is not so easy to set up if you are on Suse Linux Enterprise. There is basically no support for it. And for some reason it doesn't work for me.

But the thing I don't understand is, if people use replicasets, how comes they're not using encryption? It would be easy to sniff data off the instances. But yet, when I search on stackoverflow/serverfault, there are close to no people using SSL with Mongo.

alexmic 1 day ago 2 replies      
Here's two:

(1) There's no need to add a "created" field on your documents. You can extract it from the _id field by just taking the first 4 bytes.

(2) If you are storing hashes (md5 for example), you might want to consider storing them as BinData instead of strings. Mongo uses UTF-8 so every character will be at least 8 bits whereas you can get away with 4 bits per character.

ndepoel 1 day ago 1 reply      
Bottom line: MongoDB is not an RDBMS and you shouldn't try to use it as an RDBMS. Something with trying to fit a square peg into a round hole. MongoDB requires a different mindset and if you're unable to adapt, then you should simply stay away.
stbrody 1 day ago 1 reply      
"For setups that are sharded, you can use 32-bit builds for mongod" - I don't think this is accurate. Whether or not you are sharded has no effect on the limitations of a 32-bit mongod. Did you mean to say that you can use 32-bit builds for the mongos?
CliffFarr 14 hours ago 0 replies      
I have recently wrote a similar blog post (same idea but different set of "gotchas" here: http://blog.trackerbird.com/content/mongodb-performance-pitf...
pjd7 23 hours ago 0 replies      
I stopped reading when you said up to 1tb of data like that was a large number.
Not one Microsoft product on Kaspersky's top 10 vulnerabilities list thenextweb.com
323 points by tarekayna  4 days ago   134 comments top 29
sriramk 4 days ago 7 replies      
This is the result of nearly a decade of work from MSFT, across the board. They built better tools, drilled security into every new hire all the way to the execs, made it a part of every engineering and product process imaginable. Happy that is finally being acknowledged on the outside.
nostromo 4 days ago 3 replies      
Interesting to note that both Apple vulnerabilities listed exist only for their Windows software. (QuickTime: http://lists.apple.com/archives/security-announce/2012/May/m... iTunes: http://support.apple.com/kb/HT5485)

I wonder if these are lower priority for Apple or if they perhaps just aren't as good when developing for Windows.

boyter 4 days ago 1 reply      
I usually get shouted down when I say this but Microsoft's focus on secure code over the last 10 years has paid off. Not only is the OS too hard a target hence the increase in Java, adobe product exploits, but their software running on their OS has fallen in line too.

I know the saying many eyes make bugs shallow, but so does billions of dollars and years of concentrated effort. Kudos to Microsoft for getting their act together.

ajross 4 days ago 5 replies      
It's actually this bit from farther down that surprised me the most:

> 56 percent of exploits blocked in Q3 use Java vulnerabilities.

So much for the idea of a managed language runtime being inherently more secure...

UnoriginalGuy 4 days ago 2 replies      
If you're running Chrome please for the love of all that is holy enable Click-To-Play for all plugins. With it disabled it is like running without a pop-up blocker.

You can do so in Settings -> Advanced Settings -> Content Settings -> Plug-Ins -> Click To Play.

When you visit a site which has a plug-in you'll get a UI control similar to the pop-up blocker which allows you to add it to the exceptions list and or to allow it just this one time. You should add YouTube to the exceptions list.

Someone 4 days ago 2 replies      
Reading http://www.securelist.com/en/analysis/204792250/IT_Threat_Ev..., I find it surprising that the Netherlands manages to be the best malware exporter in the world (third in 'production', close behind Russia and the USA (both with a much larger population), but also in the top 10 for 'least consumption', a list that neither Russia nor the USA made).

Does anybody have any idea how that comes about? The only reason I can think of is that Amsterdam is a huge node in the Internet backbone (http://en.wikipedia.org/wiki/Amsterdam_Internet_Exchange). Malware authors might want to host their stuff close to such nodes, so that they can distribute their wares efficiently.

romland 4 days ago 0 replies      
And to think that a free (as in it didn't cost me a cent unless I want to pay for it) piece of software protected me from most of this. The phenomenon known as NoScript is quite marvelous in doing its job without eating much of my CPU cycles :-)

Of course, when you get down to the bottom line you know it's not a huge technical feat, but really, neither is anti-virus software. It's a matter of foresight and hard work. Donate today :)

(Disclaimer, I am in no way connected with NoScript other than being a happy user)

Edit: After posting this I realize it comes across as a bit of advertising and not contributing much to the conversation, I was about to delete it, but I stopped myself and wanted to add: I am -truly- happy not having to (even though I do) worry about what links I can click.

cdibona 4 days ago 1 reply      
This reminds me of the bear joke: They only had to outrun oracle and adobe...
pooriaazimi 4 days ago 2 replies      
Haha. Great to see iTunes and QuickTime (Windows versions, probably?) on the list... Apple should really either update them (I'm not sure iTunes 11 will be released for windows too), or just abandon them (and ask customers to use iCloud for backup). A few days ago I opened a .mov on a Windows machine with QuickTime - it was horrible. I can't imagine how dreadful iTunes probably is. No wonder all PC guys hate iTunes...
lifeguard 4 days ago 1 reply      
Let's take a look at CERT, shall we?

17 Sep 2012 VU#480095 Microsoft Internet Explorer 6/7/8/9 contain a use-after-free vulnerability

17 Sep 2012 VU#389795 Windows Phone 7 does not check certificate Common Names when sending or receive

Hmm. OK, how about #1 service being remotely attacked right now:

MS Terminal Services

Lagged2Death 4 days ago 0 replies      
I figured there would be a lot of Adobe stuff on the top 10, but that is a lot of Adobe stuff.
martinced 3 days ago 0 replies      
I'm a long time Java dev and lately it's been terrible, totally terrible, for Java from a security point of view. A gigantic fiasco. Flash's track record is very poor too. Saying that something is "less vulnerable" than these two really doesn't mean much.

We're talking about hundreds of millions of zombie PCs due to Java applets + Flash exploits. So being "less vulnerable" than these technologies doesn't mean much.

So no Microsoft product in the top 10? You mean Word is not as big as an attack vector as Java applets and Excel is not as big as an entry point as Flash? Is there any surprise in here!?

That's not the interesting thing: what concerns most people is the browser they use to surf the Web. Is Safari + Java applet plugin more vulnerable then IE + Java applet? Is Chrome + Flash more vulnerable then IE + Flash?

That's what counts.

And also: how do you install Java on your system if you really need it (e.g. because you're a Java dev) and yet make sure it's not available from your browser? Or from another user account? This kind of stuff is trivial to do on Linux: it's been a long time since I'm using a throwaway user account that has no Java installed to "surf the Web" (using Chrome but whatever). It's trivial to do because on Linux you can install Java from a regular user account (no need to be root).

On Windows this is not possible: installing Java requires the admin password and opens a whole can of worms ; )

I can tell you: I'm surfing from Linux using Chrome which has Flash. I also have Java installed in a separate (developer) user account. And I'm pretty sure this is more secure than surfing from a Windows machine, no matter where Microsoft stands in that report from their "friend in bed" Kaspersky...

Also, for a little touch of irony regaring the article, Kaspersky's revenues are virtually entirely coming from sales of anti-virus protecting Windows OSes. Why aren't they succesful on the Linux servers powering the Internet?

stcredzero 3 days ago 0 replies      
For security reasons, I've stopped using PDF readers based on Apple and Adobe code. I'm now using XPDF through an Automator app as my default PDF program, with Google Chrome as an alternate.
pserwylo 4 days ago 1 reply      
Ah Shockwave, good to see you again my old friend.

I can't believe it's still around and kicking, given the last release of Director seems to be about two years ago.

I don't play any online games, but can somebody vouch for whether it is still used to develop browser games anymore?

rgbrenner 4 days ago 1 reply      
Oracle took the top 2, but Adobe had 5 runners up. Too bad Adobe couldn't overtake Oracle, they clearly put in a lot of effort at it. And Microsoft.. not even being listed? Are they even trying anymore?
ecounysis 4 days ago 1 reply      
Glancing at the list, I see there are only four companies in the world who cannot claim they don't have a single product on Kapersky's top 10 vulnerabilities list.
experiment0 4 days ago 2 replies      
Sorry for going off topic but, I hadn't seen the nextweb new design before. I found it quite disorientating, there is so much orange "stuff". I just didn't know where to look.
ben0x539 4 days ago 0 replies      
All those _s functions must be paying off!
artichokeheart 4 days ago 1 reply      
Not one Microsoft product on top 10 vulnerabilities affecting Microsoft operating system.
bprater 4 days ago 2 replies      
Is it getting safer to say that antivirus software may soon be a thing of the past?
hmart 3 days ago 0 replies      
The fact hat Adobe still ships expensive, crappy, heavy, memory consuming, battery drain and insecure products is not news. 5 of them in the Top 10.
VeejayRampay 4 days ago 1 reply      
Adobe have been embarrassing themselves for a solid decade now as far as security is involved. Might be time for them to step up.
shocks 3 days ago 0 replies      
Now is as good a time as any to disable Flash and Java in my browser. Not sure why I haven't done this earlier.

Props to Microsoft though. Nice! :)

dschiptsov 3 days ago 0 replies      
Sure, the same way there is no danger to heath in fast-food, every advertiser will tell you for sure.)
Create 3 days ago 0 replies      
...they are so valuable, that they are traded on the black market.


tuananh 3 days ago 0 replies      
This is because Adobe is doing a too good job putting its products on the list : )
buster 3 days ago 0 replies      
And yet a friend of mine has to reinstall her shiny new netbook because apparently there is some nasty rootkit/trojan that cannot be removed (so easily).
taylorbuley 4 days ago 0 replies      
Declining marginal vulnerabilities
drivebyacct2 4 days ago 1 reply      
Beat by Oracle and Adobe. Something to truly be proud of. Aw, no one else finds this to be a strange brag? Should we make a list of all of the companies that aren't up there?
Linus Torvalds: Is Engadget really that stupid? Just corrupt? Trolling us all? plus.google.com
310 points by cramforce  3 days ago   149 comments top 24
mdasen 3 days ago 14 replies      
I think there's a real issue here and that's one of sustainable pricing. There are times when companies or countries are willing to dump goods at cost or even below cost for a certain period of time in order to gain market power. That's a bad thing for consumers.

What we want is vibrant competition with many players offering low prices. However, if companies dump their products at or below cost, we may find we're left with fewer players as some companies exit the industry. Apple and Samsung are both doing wonderfully, but others including HTC, LG, and Motorola Mobility aren't in such a sunny position.

Amazon hasn't said this, but some have justified Amazon's high P/E ratio by saying that Amazon is going to be the future of retail and once they've killed off some of their competition, they'll be able to raise their margins. That may or may not be true, but such a situation would be bad for consumers. We want low prices (that's a great thing), but we also don't want to lose options and competition in the future (that's a bad thing). Amazon is running razor thin on its profits to be popular. I'm not suggesting that Amazon is evil. Rather, it seems to just be Jeff Bezos' attitude towards margins: they should be low so that people can buy more stuff. However, that attitude may not always prevail, especially if competition dies out.

It's good to make things cheaper and more accessible (as Linus has said). However, sometimes you can make something too cheap to be really sustainable. Often times large players will sacrifice profits to gain marketshare and that can sometimes be justified. Still, it's important to recognize as the play for market power that it may be and the temporary situation that it may be. A company does not intend to lose money forever. If they're able to eliminate competition in their industry, that gives them power in the future to raise margins.

It can be hard to judge an industry sometimes. Apple and Samsung are clearly going to be sticking around: they're making products people want and raking in money. However, other players just haven't been so profitable. Having to compete with a device like the Kindle Fire being sold at cost is hard to do and may drive them out of the industry. You can say, "well, they weren't able to compete" and that's somewhat true.

However, it hides the fact that Amazon may not be playing "fair" (for some definition of fair that I'll explain). Let's say (hypothetically) that Amazon is actually Evil, Inc. They have a war chest of money and are willing to lose money over the short term to become monopolistic. So, they price the Kindle Fire even below cost - $50 maybe. Some competitors will just fold. Others might try to continue competing for a short time, but their war chests are empty before Evil, Inc.'s. So, we end up with only Evil, Inc. selling us tablets. Nice for Evil, Inc. They can now charge a healthy $300 as well as up the margins on content purchases - charging higher prices to consumers as well as negotiating harder against content providers. "Ah, but if they did that, someone else would come in with a $250 tablet to compete!" Probably not without government intervention. Why? Because they know Evil, Inc. will temporarily drop the price on their Kindle Fires until the new company goes bust.

That's an exaggeration, but dumping products like this isn't unheard of. The more people that get Kindles, the better Amazon's market power is over content providers and consumers. Similarly, if the margins become so low that many companies can't create devices, we end up with them exiting the market and competition is reduced. The fewer competitors in the tablet market, the better it is for Amazon long term.

Basically, we want competition today AND competition tomorrow - sustainable competition rather than one or a few companies winning. We want prices at a point where they're low, consumer friendly, and encourage wide adoption while making sure that 5 years from now, we're benefitting from similar low, consumer friendly prices. If we're left with only Apple, Samsung, and Amazon, we'll be worse off.

It can be hard to think about. In some ways, we might see a company like Amazon as winning by providing things cheaper in a way that's good for consumers. However, we don't want Amazon to win - we want others to be able to match Amazon so that Amazon will have to keep innovating and competing in the future. At the same time, we want the lowest price. It's a balance similar to investing in the future (or taking on debt). We don't want to starve ourselves now (we want to enjoy our lives). At the same time, we know that we shouldn't just rack up debt in the present having fun because we want a strong future. We don't want to pay high prices for devices now, but at the same time we don't want one or two companies to come out as the survivors of the "tablet price wars" who can then charge us more money now that the competition has been vanquished.

* I know I picked on Amazon a bit here and that's just because the Kindle Fire is being sold at cost below the competition. I'm not saying that Amazon is evil, but even in the absence of evil, we wouldn't want Amazon to win because competition brings innovation and discourages slacking off. Even if you're a good company trying to do positive things, seeing what others are doing makes you better. As such, even a purely altruistic company is bad as a monopoly.

beloch 2 days ago 0 replies      
The Engadget piece seems to argue that Amazon and Google are engaging in predatory pricing when it really boils down to the fact that Apple and Google are trying to fight the iPad's market incumbency.

Let's look back a decade for a moment. i.e. The iPod.

Apple made the iPod good. Then they made the iPod cheap. Nobody could compete. Could companies like Diamond or iRiver have made better devices if they didn't have to compete with cheap iPod's? Almost certainly. Once Apple diversified the iPod line into the extremophile niches other mp3 player manufacturers were clinging to it was game over. Complete and utter dominance. Now almost nobody buys iPod's because everybody's phone can do the same job.

Apple knew that the key to maintaining dominance was to drive down prices faster than the competition without compromising quality. By offering premium devices at prices that are just barely above that of inferior devices Apple made the iPod a no-brainer purchase for consumers. They did this so well that it was only Apple themselves who finally obsoleted the iPod with the iPhone. They've tried to do the same thing with the tablet and have arguably built up some degree of incumbency with the iPad. Low-margin pricing on the Nexus 7 and Kindle's can be seen as attempts by Google and Amazon to fight Apple's tablet incumbency before they're locked out of the market completely.

Let's face it, if Amazon or Google tried to sell their tablets at the same price as Apple's offerings they'd never catch up. Even if they were of exactly equal quality, Apple's is the proven product because it's been around longer. If Google and Amazon made poorer quality tablets and sold them cheap, but with decent profit margins, they'd wind up like Diamond and iRiver. Only their ability to sell at low-margin and profit from ads/media sales gives Google and Amazon the edge they need to compete with Apple and have any hope of catching up.

The end result of this is a three-way battle for tablet superiority where there would have only been one choice: the iPad. Oh, and now Microsoft is throwing their hat into the ring too... Quite frankly, I think the next few years are going to be very kind to tablet-fans, and that's partly in thanks to "predatory" pricing.

ericHosick 3 days ago 7 replies      
The entire "cell phone thing" in Vietnam (and I am sure other Asian countries) is far superior to the USA (in my opinion). I can go to practically any corner and get a SIM card for 5 USD and put it in a phone. I don't have to give my name or an ID or join some plan. I just give them the phone, they put a sim in and it works.

I can get a cell phone within a few blocks of basically anywhere I am.

The carriers make money selling calls and data: not phones.

And while I'm talking about this kind of thing... I can go anywhere and get "free" wifi: even at Circle K. Ya. They have free wi-fi at the Circle K. I can sit at a coffee shop, get a 3 dollar coffee, and work all day. Restaurants are the same.

Admittedly, the internet speeds to the USA are not that great. However, internal to Vietnam, they are really good.

programminggeek 3 days ago 1 reply      
This is one part of Apple's model that I swear people just don't get at all. Apple, as a company, refuses to operate in unprofitable hardware markets. So, they make a $329 7" tablet instead of $199. They make a $400 tablet with "outdated" hardware, they make a $500 tablet that is top of the line. They won't sell a sub $999 laptop.

Apple then focuses on selling as much of those products as they can irrespective of market share. They don't deep discount just to gain "mindshare" or "marketshare".

Engadget and others could moan that it isn't fair, but to be fair the only company that has been able to build and sell even remotely comparable hardware at comparable margins is Samsung, and frankly that is largely because Samsung supplies the same parts to Apple, so Apple is effectively subsidizing Samsung's overhead.

Other companies could play Apple's game, there certainly is room to do so, but it is a low volume/high margin strategy traditionally. The anomaly is Apple's been able to take low volume/high margin to very high volumes while leaving the high volume/low margin business to everyone else as prices fall downward.

I don't feel bad for Acer, LG, ASUS, Sony, Dell, or HP because they've all become so bad at designing, building, and selling a premium product that they really don't deserve to be competing. Ironically, much of iPhone's design was inspired by Sony's design heritage, and yet, Sony is still yet to truly match it.

To put it another way, you know it's kind of a sad state of affairs when Microsoft can put their own team together and ship a legitimate competitor to the iPad in a very short period of time and Microsoft isn't even a hardware company.

CountSessine 3 days ago 2 replies      
Isn't this the same Linus Torvalds who just last week complained about how PC laptops, commoditized and cut down to their marginal cost of production for years now, weren't the target of innovation and how they were stuck using low resolution screens?
jordanthoms 3 days ago 1 reply      
Engadget has really gone downhill recently, AOL screwed up bad and everyone left for The Verge. Just compare the quality of their Nexus coverage...
forgotusername 3 days ago 7 replies      
Torvalds must be on drugs or also trolling hard to be talking about an absence of carrier lock-in and Android in the same sentence - an OS rendered practically unusable should you elect not to associate your device with a Google account, and all that such entails.
sosuke 3 days ago 2 replies      
You could take the Engadget article as a defense for the iPad Mini pricing, or you could say it illustrates that it is tough to compete with companies who can sell devices at cost. I took it as the latter before reading Linus's opinion.

In case you missed the HN comments on the original article: http://news.ycombinator.com/item?id=4737154

jsz0 3 days ago 1 reply      
I'm guessing most of Engadget's traffic comes from the US where unsubsidized/unlocked phones are not popular at all. That should explain it. No need for conspiracy theories.
doctorpangloss 3 days ago 0 replies      
Linus misses two key points. First, Engadget focuses on tablet pricing moreso than cellphone pricing. Second, all Engadget is inelegantly saying that the lowest price for something isn't necessarily its most efficient one.

Efficient prices versus low prices will play out spectacularly poorly in U.S. v. Apple and publishers, the book price fixing case. Like with tablets, Amazon undercut the true price of books, which harms authors and publishers. Hilariously Apple and publishers did a legal "corrective action" that is precisely described in the DoJ's own guidance on anti-trust. But I digress.

I would agree with Engadget that Amazon and Google selling tablets at or below cost is unequivocally bad for the tablet industry. I'd prefer efficient prices. Otherwise, Amazon undercuts everyone, all the other tablet manufacturers cease to exist, and then they let the product stagnate.

shinratdr 3 days ago 0 replies      
All I learned from that article is that Linus Torvalds is as uninformed as your average Engadget commenter. I thought that was one of the most spot on and original pieces to come out of Engadget in months if not years.
mycodebreaks 2 days ago 0 replies      
Linus is right. I agree with him. Engadget is stupid, corrupt and trolling in this case.

Lower prices aren't hurting consumers. Good quality Nexus devices around $200-400 ranges aren't hurting consumers. In fact, it encourages a fair competition. As a result, Apple/Samsung have to work hard to make their $600 & up devices feature-rich to justify higher price. Consumer wins!

brisance 3 days ago 4 replies      
That g+ post is particularly bad because it shows that Linus is opinionated (we knew that already), that he doesn't understand business (predatory pricing) and that he doesn't read very well (the Engadget article clearly explains that in the short-term, lower prices work in favor of the customer). In fact his own post can be considered a trolling piece since at the end he suddenly switches tack and justifies his choice of Nexus phones. Which is due to his own preference of the UI, but similarly ignoring others who may instead prefer iOS.
larrybolt 3 days ago 0 replies      
I like Torvalds posts/articles. Most important people that blog/post/comment about stuff in their field of "expertise" (I'm assuming in this case that would be technology in general) try to do research on the topic, give advantages and disadvantages. Which isn't bad! But Linus just seems to post his own opinion on things, just the way he sees it.
shimon_e 3 days ago 0 replies      
Yes because it really costs $600 per phone to make a quality one.... so 600 billion would be the cost for 1 billion people to have quality phones.

These phones should be dropping to $150 already... but there isn't enough competition for that yet.

rbn 3 days ago 0 replies      
Engadget stopped being Engadget when everyone moved to the Verge.
alpeb 3 days ago 0 replies      
The editorial raises some valid concerns, namely how unfair competition can destroy an industry. Not surprised at Linus' again calling people stupid, and his cortege blindingly cheering him up.
dewiz 3 days ago 0 replies      
my 2 cents: complaining that underpriced hw kills competition, is like saying that a free Linux will kill Apple and Microsoft. I can see where Linus is coming from here :)
Well, that is apparently not happening yet after how many years of free software? Welcome then to free hardware, however free hw won't happen thanks to volunteering, there are paid ads, content, services, is that bad? good ?
did free Skype, Gmail, Github, Youtube, Zip compression kill the market, or was the market itself creating the conditions for them to be free?
ricardobeat 3 days ago 1 reply      
The post is cut off at the third paragraph, is there a way to read this on mobile?
TechNewb 3 days ago 0 replies      
I agree with what his argument is with cell phones, but if it were not for Apple's higher margin tablets and laptops we would probably be using crapy netbooks today with a crappy OS. Both Engadget and Torvalds have a good point.
b1daly 2 days ago 0 replies      
Aside from the technical argument about whether predatory pricing really exists there is another aspect of "race to the bottom" that is at least worth a thought.

Ironically, Torvald's post and the Engadget article both have an assumption that whatever provides better quality(innovation) and product choice at lower prices to consumers is an unequivocal good. While seems likely to me that this is true, I don't quite get the conflation in popular culture between "consumers" and the public good.

I recently picked up a Nexus 7 and I was a bit stunned at the level of technology I could get for $200. If the margin is getting squeezed, that means entities on the other side of the transaction are too, including labor.

At what cost to humans (and the environment) is this rock bottom technology being created? Is there a connection between ultra competition and increasing income inequality in the US, if not the world. It seems at least intuitively plausible.

drivebyacct2 3 days ago 0 replies      
So what happens if Desktop Linux ever takes off? What's going to happen when there isn't one organization to target and attack and villanize?
Ramonaxvh 2 days ago 0 replies      
Linus is a socialist, and has always hated big corporations and profiteering too much off technology.

Thats why I think he's awesome.

gaving 3 days ago 1 reply      
oh look another Linus Torvalds Google Plus link
Meet the new Light Table chris-granger.com
299 points by bergie  13 hours ago   78 comments top 27
Sidnicious 9 hours ago 1 reply      
It looks awesome but the new user experience was a little rough for me. Here's what I did:

1. Click in the command bar. The autocomplete menu popped up.

2. Click "new". The menu disappeared and the command bar loses focus.

3. Click in the command bar again and type "new", hit enter (it's pretty common to be able to create new, unnamed files in editors). This message shows up in the upper right hand corner of the window:

    Uncaught Error: Doesn't support name: (file:///Users/sidney/.lighttable/js/bootstrap.js:10616)

4. Click in the command bar again and type new, then hit space. Ah, OK, I'm supposed to pick a filename. Type one ("foo.clj") and hit return. A tab opens up with the file.

5. Type some code. Nothing's happening on the right. Isn't that supposed to be the big thing about Light Table? (Also, the error message from the beginning is still hanging around. Huh.

6. I go to the command bar again, find the `connect` command. "Connect to a project", sounds right. I type "connect" and hit return. "Connecting" shows up in the bottom right of the window for a few seconds, and then this message pops up over on the left:

    Could not find project.clj file at ""

7. Okay. I run "connect" again with my filename. Similar message.

8. I go back to the welcome page and notice the command+shift+enter command, ah, OK. I hit it and a dialog shows up.

9. I don't have a project so I click "start a local client". The "connecting" message shows up for a few seconds, followed by "Connected to Light Table server". Awesome!

10. …nothing's showing up on the right side of the window, the "connected…" message disappears. Huh. I type command+shift+enter again, and get the same "You're not connected" dialog as before.

11. I relaunch and try again, same result. I'm stuck. I look at the screencast again and try the instarepl command. Everything works, nice!

aoe 12 hours ago 7 replies      
Looks like a good concept, but I really cannot see how this would work for functions with side effects? What if I write `File.rm("something")` and press enter?

And how would this work with, say, Ruby on Rails development?

Can anyone throw some light?

joakin 11 hours ago 3 replies      
I'm really curious about the architecture and stack of lighttable. Please Chris if you could answer some questions it would be great.

How does it work internally?

What are the 'under the hood' differences between 0.2 and 0.1 and why?

Could you share some of those things learnt through all this time building this interactive platform?

How are you doing to get a cross platform desktop app with web tech? (I guess you still use cljs for it)

I'm really curious, and I wonder myself why nobody asks this kind of questions

why-el 12 hours ago 2 replies      
I love what Chris is doing, but I have yet to understand what Light Table does differently from say Emacs's own lisp evaluation mechanism.
RKearney 10 hours ago 1 reply      
Chrome alerted me that this file is not commonly downloaded and may be dangerous. Might want to look into why Chrome is flagging your Windows download as potentially hazardous.
kami8845 13 hours ago 3 replies      
Any idea when we can expect first traces of python support?
NathanKP 12 hours ago 1 reply      
I like the idea of Light Table but what is a deal breaker for me is that it feels like there is an ever so slight lag between pressing a key on my keyboard and the character appearing in the Light Table editing area.

I am very picky about the way typing feels in an editor, and if it feels slightly laggy or slow then that editor is not an option for me, even if it does have all sorts of other awesome features.

Does anyone else feel this or is it just a problem with the app on my MacBook?

sergiotapia 12 hours ago 0 replies      
Competition is good and benefits the consumer (us developers) greatly! While I cannot see how this would work and be useful for languages like Ruby/Python/PHP, maybe the Light Table creator does - and I'm excited to see what's coming.

I can't wait to try the finished product!

squidsoup 8 hours ago 1 reply      
First of all, I love this project and await vim keybindings with bated breath. Light Table + Clojure make me feel like I'm programming in the future.

One issue in this new build, the stacktrace/error widget feels a bit awkward e.g. http://i.imgur.com/RVYHU.png
Is this likely to become 'dockable' at some point?

martinced 11 hours ago 0 replies      
Could Light Table, from the start, think about a "server mode"? Eclipse can be run in server mode (even headless if you want) and you can then connect to Eclipse using, say, vim + eclim or emacs + emacs-eclim.

This would be great because I don't doubt there are going to be features from Light Table that I'm going to love and that I'm going to want.

But I also don't doubt that there's no way that the "text editor" part of Light Table will come anywhere close to what vim and/or Emacs do provide.

gary4gar 11 hours ago 3 replies      
I get the following error:

  $ ./LightTable: error while loading shared libraries: libsmime3.so: cannot open shared object file: No such file or directory

Instruction in how build/install LightTable on Linux? What the the dependencies or configuration directives?

samspot 10 hours ago 0 replies      
I've been using the instarepl to learn clojure and I'm liking it a lot so far for that purpose. However I still can't grasp how to use the project features. I'd like to humbly suggest you do some hallway usability testing and work on the learnability of the UI.
yuchi 12 hours ago 1 reply      
Perfect, now edit that T in the lettering to match the reversed L in the logo ;)

EDIT: name -> lettering

MatthewPhillips 12 hours ago 1 reply      
Looks good, one suggestion: the 3 circles in the top left corner need icons. It is non-obvious to me what they do, even after testing them out.
agentultra 10 hours ago 0 replies      
I liked the post "All ideas are old ideas." Looking forward to seeing how you've been inspired and what the result will be in Light Table.

Happy hacking.

nagnatron 11 hours ago 0 replies      
How can I buy the shirt?
filipncs 11 hours ago 1 reply      
How do I open files in a project after connecting to it?

Nothing seems to happen after I get the pop-up that the connection succeeded, and if I open the files manually I still get an error when I try to evaluate them (missing connection).

This is on Windows 8, I'll try from a mac later.

Btw, drag-and-dropping a file into the window breaks the program.

geuis 11 hours ago 0 replies      
Please consider increasing the brightness of your text. It's dark grey on light grey background is very straining to read.
AYBABTME 5 hours ago 0 replies      
My I dare asking where we can get those awesome tshirts?
ckluis 12 hours ago 0 replies      
This project makes me happy. Can't wait for it to be extended to other languages.
jared314 9 hours ago 0 replies      
Is a plugin API available yet?
After using SublimeText 2, I want the fuzzy search, the ST2 "Goto Anything" search box, in every IDE I use.
Cowen 10 hours ago 0 replies      
That's convenient. I was just looking up Light Table last night when seeking a decent IDE for my Chromebook.

I see that it's moved to a native app now, which makes it Chromebook-incompatible. Is there still a way to access the browser prototype that it started as?

dmvaldman 10 hours ago 1 reply      
Crashes on open for my Mac OS 10.7.2 Anyone else?
nathell 12 hours ago 1 reply      
On Windows 7, I'm getting:

CreateProcessW: The system cannot find the file specified.

after C-k instarepl -> Start a local client.

rodrigoavie 12 hours ago 0 replies      
Thank you Chris!
eckzow 12 hours ago 1 reply      
vim keybinding support?
icholy 12 hours ago 0 replies      
Fine, eBay. Here's your $2. I hope you choke on it. danhulton.com
288 points by DanHulton  5 days ago   122 comments top 36
jkubicek 5 days ago 4 replies      
Scammers, confusing auction settings, limited integration with paypal despite owning them, terrible invoice generation, image uploads that don't work without Flash, etc. I despise eBay.

That being said, I'm surprised nobody mentioned selling on Amazon. Blindingly easy to setup your sale, if you choose the lowest price on a popular good someone will buy it within the hour. Amazon will generate an invoice and mailing label for you, plus deduct shipping charges from your payout. Scammers are mildly annoying, but they waste very little of your time and don't cost you any money.

I've sold a few iPhones and an iPad on Amazon and it has been great. I'll never sell items anywhere else if I can possibly help it.

Edit: in addition to the iPhones/iPad, I've sold a few games and other electronics on Amazon. Out of maybe 10 sales, two were "bought" by scammers. Amazon sends me an email saying that someone purchased my item, but they may be a fraudulent account. Do not send anything until Amazon confirms that they are valid. It's such an easy, friendly process.

jeffyee 5 days ago 3 replies      
A big problem with casual selling on ebay is you don't know what you don't know until you've already been screwed. I sold some iTunes gift cards and provided the redemption code from the card after I received payment. We both left positive feedback for each other (he already had 18 feedback).

A month or so later, the buyer put a chargeback on their credit card, got their money back from paypal, and I had no recourse. Worse still, Paypal charged ME $50 more because of the chargeback! Despite my sending them the code (which they requested, and through ebays messaging system), I had to have delivery confirmation from a shipper to prove I sent it. Even though they have the messages proving the delivery/receipt, too bad for me. I tried calling paypal, and that got nowhere. They said something like "sorry, it will cost $200 to investigate the chargeback further, so it's probably not worth it". I told them I'd write it off to my not understanding their policy on "seller protection", but at least do something about the scammers account. Of course they said they couldn't, nor could the refund any of the fees.

So now I'm out the $30 for my item, $50 more because paypal incurred a chargeback, plus ebay fees, plus the guy got positive feedback and went on to do this to other people! Totally incredulous.

Instead of blogging about it though, I've decided to build a company to compete with ebay. Wish me luck =)

luke_s 5 days ago 2 replies      
I wanted to provide somewhat of a counterpoint " I have been using e-bay (Australia) for about 7 years. I sell all kinds of stuff ranging from a broken bookcase for $1, which I didn't want to haul to the tip, all the way up to a boat for $950. I also run a small business selling items via a website and my e-bay account [1][2].

Overall I've found my e-bay experience to be very positive. I've only had one person who I suspected of scamming me, when they claimed they didn't receive the item I posted. The vast majority of users are just normal people looking to pick up a bargain. It helps that some of my items are pick up only and that I am not selling electronics.

Every few years an article like this pops up and I get concerned and start looking at other places to sell my products. What I inevitably find is that no other auction site has the users base that e-bay does, so my items inevitably don't sell, or the price is significantly lower than what I would get on e-bay. It's possible to build a better experience than e-bay, but up until now nobody has managed to do it.

Finally, I think what the writer of the article was looking for was an ‘unpaid item dispute'. He needed to open once against the original bidder, and if they didn't don't pay within a certain time limit, and then I believe e-bay will refund the fees. E-bay also records unpaid item disputes against buyers and will limit what they can do. [3]

[1] - http://myworld.ebay.com.au/sleemancorp

[2] - http://www.grafting-tool.com/magento/index.php/

[3] - http://pages.ebay.com/help/sell/unpaid-items.html

soult 5 days ago 0 replies      
The fact that you can't leave negative feedback as a seller caught me off guard too. I understand that there are scammers on Ebay, that's just the way it is. But Ebay cares so little bit about its sellers, that it takes away their only defense. This just makes me just mad, especially since you have to pay all kinds of fees to list an auction.

Story time: I sold some eletronics to a guy in Italy. After it arrived, he accused me (in a Google Translate-based English message since he didn't speak German, despite bidding on an article with German description) that I sent a defective item and requested part of his money back. I explained to him that I tested it before sending, and that I would (despite not being required to) offer a full refund, but only if he sent the item back. If it turned out to be really defective, I even offered to pay all shipping costs.

The buyer then messaged me again, saying that it miracously worked after he "repaired" it, and since I did not send him a refund, he left me negative feedback. I tried to contact him twice, asking why he decided to keep the item but still give negative feedback, but he never responded. Only then I tried to give him negative feedback too, but to my surprise Ebay does not allow that. Had I known that before, I would have never ever even used Ebay.

Anyway, I contacted Ebay support, but they said that they do not want to remove the feedback, even though their FAQ states they can remove feedback in situations like this.

ck2 5 days ago 1 reply      
I hate ebay/paypal just as much as most people but:


Solved, done. Your $2 will return to you.

If your buyer agreed to cancel your transaction or didn't respond, you'll receive a credit to your seller's account for the final value fee within 7-10 business days of closing the case.

If you want a refund for your credit, see Requesting a refund of your eBay credit balance.



Granted it's buried in their help system, but it's there.

xoail 5 days ago 0 replies      
I tried selling my car on ebay motors and was a victim of spammers bidding on my car. I would get bids but within 2 days ebay would delete it automatically and email me saying bid was invalid. The whole bidding cycle went in vain so I re-listed again. This time I din't get any bids but I still ended up paying eBay $49 listing fees after numerous emails. eBay has become insane.
danek 5 days ago 2 replies      
eBay is a great place for scammers to get free stuff!
every few years, my girlfriend gives eBay another chance and tries selling something. Every single time, she gets scammed. Each time, the buyer claims he didn't receive the goods or received the wrong thing. eBay automatically sides with the buyer and immediately refunds their money. In cases where the buyer claims they received the wrong thing, they either fail to return it or return something different.
Furthermore, sellers cannot give negative feedback to buyers so there is no concept of buyer reputation. On top of this, you will still be charged for the listing.

Basically never use ebay.

DanHulton 4 days ago 0 replies      
As an update, eBay reached out to me and returned my money as a site credit, with a long personally-written letter.

Which is, ultimately, not all that cool honestly. I'll be writing a follow-up about it, but the tl;dr is that it shouldn't take a popular internet rant to get things like this resolved.

srik 5 days ago 0 replies      
A valid (but unchecked) point made in the comments from that post -

>... if you had actually sold it there, you'd have to pay the Ebay final value fee of like 5%. Then the Paypal transaction fee of like 7%. Then if you want the money the Paypal withdrawal fee of another like 6%. Wait, why am I paying the same company 3 times for 1 transaction?

tlb 5 days ago 0 replies      
Coming into a market as a new seller is always hard. The established merchants have already figured out who the thieves are, so the thieves generally target the new sellers. The established merchants don't want new sellers there, so they elbow them out in various ways.

Your experience would also be bad the first few times selling at a flea market or a street corner. Only with a fair bit of experience can you get your profit margin above zero.

jamesu 5 days ago 0 replies      
I tried selling a Mac on eBay once. First attempt I got a time waster, second attempt I got a con artist, third attempt my account got suspended.

eBay is great for buyers, a horrific minefield for sellers.

purge 5 days ago 0 replies      
Same experience here. Once I found the 'block other countries and people with zero feedback' option I sold a few phones successfully at a good price (don't even try selling without setting that option).
A few weeks ago I attempted to sell an iPhone 4S. The first buyer pulled out with some pathetic excuse about his amplifier breaking. I re-listed and the second buyer didn't pay with some equally unlikely excuse about his daughter accidentally buying it.

eBay doesn't penalise non-paying buyers anywhere near enough, It's a huge waste of everybody's time, especially with time-sensitive sales.

benguild 5 days ago 1 reply      
Yup, I've been writing about how eBay's gone to shit on my blog. Furthermore, between PayPal and eBay's fees, it's like 10% of your sale price now!

… Better just to sell via Amazon and use their fulfillment service.

kenperkins 5 days ago 4 replies      
Using eBay these days feels like playing World of Warcraft.

If you're a high level eBay user, it's a fantastic place to move goods, but god forbid someone new signs up to buy or sell something. Just like what it must be like to sign up and play World of Warcraft for the first time.

admiralpumpkin 5 days ago 2 replies      

Only use Buy It Now ever.
Require Immediate Payment.

Not only are the fees lower for Buy It Now than for auctions, but there's no way for buyers to game you. The listing will sit until someone actually pays you.

CJefferson 5 days ago 0 replies      
I recently tried to sell a Samsung Galaxy Tab on eBay, and had a similar experience. The second chance buyer, on the second listing, was the first person who was actually willing to buy the product and at that point the procedure went smoothly.

However, it should not take until the second buyer of the second listing, and if it is going to take that long ebay should indeed make it easier to get to someone who will actually buy my item.

vitiell0 5 days ago 0 replies      
This is so true I used to deal with selling on eBay for my business an every time I got off the phone with them I had to restrain from punching myself in the face.

Their customer support will literally only read from their script an no matter how much you reason and try to explain logic to them they just give a scripted answer back. Never doing business with them someone please invent something better.

GigabyteCoin 4 days ago 1 reply      
As for all of the second chance auctions being "ignored", I think it's common practice for 99% of ebayers to completely abandon the idea of winning a particular item (and moving on to another) the very second that they notice they have been outbid.

"Oh, well!" is what most of them say.

ShabbyDoo 5 days ago 0 replies      
Why doesn't eBay provide better ways for buyers to increase the belief of sellers that they will follow-thru on their obligations? I'm thinking of something along the lines of "earnest money" requirements common for real estate transactions. Could eBay require buyers to put 10% of their maximum bid in escrow via Paypal? If a buyer flaked out, he would lose his 10% to the seller as compensation for the time wasted. To implement such a scheme, eBay could at first offer sellers the opportunity to discount items won by buyers who made escrow deposits. Those buyers who didn't want to play along could bid as they do today albeit at an economic disadvantage. Eventually, eBay could allow sellers to require escrow. Even as a buyer, I would be happier if escrow was required because I would be less worried about shill bidders and others who run-up prices with no intention of paying. Of course, this scheme requires that all parties trust eBay/Paypal to act responsibly -- something the comments in this thread suggest is far from a given.
cleer 5 days ago 0 replies      
I had a surprisingly similar experience from the other side. I purchased an iPhone 4 off of eBay and realized after receiving it that it was locked to the wrong carrier. I reviewed the auction and confirmed that the seller had listed an unconditional return policy (which I had specifically looked for while scanning auctions just in case ). The seller ended up refusing to honor the return policy and taunted me to contact eBay with it, who then simply refused to enforce the return policy. I was thankful in this situation that sellers can't leave negative feedback because I was able to leave negative feedback without anxiety over possible retaliation, but I can see how it'd be really annoying if I were a seller dealing with a dishonest buyer.
zakshay 4 days ago 0 replies      
This is a timely thread for me. I've been working on an idea called Auctionful - http://www.auctionful.com . Its still in an early stage - but you can signup and use it if you want.

* It lets people run auctions on their website.

* It ensures that the seller gets paid for the winning bid. The payment details are stored in a credit card vault when the bid is made.

* It uses the seller's account Stripe account to manage all payments.

* It verifies the seller's phone and email. And in cause of disputes, both parties are expected to resolve it themselves.

I've been incorporating feedback I've gotten so far to change the product, so feel free to comment on it.

latchkey 5 days ago 0 replies      
The author mentions Kijiji ... which eBay owns.
troels 4 days ago 0 replies      
You could always sell through specialised phone recyclers, such as gazelle.com. You won't get the same price for it, but you won't get the hassle either.
clarky07 5 days ago 0 replies      
This is ridiculous. They tell you ahead of time it cost money to list the item. Then they charge a % of the sale. He still had an auction. Surely he knew it was at least possible to have an auction fail. I just sold my 4s when I got my 5 for 350 and had no problems at all. He got a bit unlucky, they refunded everything but the listing fee, and he gets really pissed at them over 2 bucks?

eBay has to balance buyer vs. seller needs and that is not easy. Without the buyers you wouldn't have the market to sell it. Take the refund and try again or sell it on Craigslist. I bet you have more scammers there. (I tried Craigslist first and then settled for eBay after being asked to mail the phone to an overseas cousin 5 times)

sbierwagen 5 days ago 0 replies      
I just sold a variable autotransformer on ebay. "Just", as in, two hours ago.

Went fairly well, but my god ebay's integration with UPS is a complete clusterfuck. It was far, far easier to manually create a shipment on ups.com than trying to get ebay and UPS to communicate.

ameen 5 days ago 0 replies      
I had a similar, yet worse experience compared to this, and had my account suspended (an account from 2006!!) for not paying (after listing) when I didn't get a proper payment page. The UX is totally confusing as well, and I paid $6 with hopes that my account would be reinstated, but to no avail.

Ebay is a dinosaur and deserves to die a horrible death, it doesn't do what it says - make it easier to sell & buy. Gumroad and others in this space are the future.

mindslight 5 days ago 1 reply      
I don't get why the default action of most people is to feel compelled by whatever a company's accounting system tells them to do. Both this and that also-popular cable box story. There are two autonomous sides to every relationship. If you don't value your ability to use ebay again in the future at more than $2, give their customer service department a good-faith 15 minutes of your time to fulfill their elective processes. If you can't come to an agreement with that reasonable time expenditure, tell them to go screw.
jser 5 days ago 0 replies      
Same experience. I've also heard from many that after the sale, the buyer complains about an issue to PayPal and is able to get their money back.
kghose 5 days ago 0 replies      
In real auctions, when you bid you can not renege (otherwise the whole thing would fall apart). So why does eBay allow a bidder to bid and then not buy? That's ridiculous.
FPSDavid 5 days ago 0 replies      
I was pretty frustrated when I sold my iPhone 4 when the 4S launched, had a winning bidder, who then never paid or contacted me. Couldn't leave negative feedback on them at all, and they continue to bid on stuff they don't intend on actually paying for, with sellers none the wiser that the bidder is a shitty person.
sarah2079 5 days ago 1 reply      
So a big part of the problem seems to be that sellers can no longer give buyers bad feedback when it is appropriate. Does anyone know the motivation for this rule change? I can't think of a type of fraud that this would prevent, but it seems like they must have been targeting something when making this change.
guynamedloren 4 days ago 0 replies      
Way to go, adsense: http://grab.by/hdEo
susanhi 5 days ago 0 replies      
I've had better success with eBay after using their buyer requirements option. It lets you ban users who do not meet your requirements from bidding.

As a result, my last batch of sales (3 computers and a few other items) had all of the bidders paying immediately upon completion of auction. Whereas my previous batch of sales when I did not know about this option, I had 3 time wasters who never posted payment.

xm1994 5 days ago 0 replies      
I've been a long time eBay user and have also had issues over the past year with a couple of unpaid items and having to relist. The annoying part was not being able to give the buyer negative feedback, allowing him/her to waste someone else's time.

What about them linking your ID to Facebook for new users without let's say 10 feedback?

robryan 5 days ago 2 replies      
eBay has listing fees, of course you are going to be up for them regardless. Personally I would just set a reasonable price buy it now with immediate PayPal payment required, no need to waste your time then with anyone who hasn't already sent money your way.
marban 4 days ago 0 replies      
I launched http://www.flipso.com together with Idealab the other week, mostly because of experiences like these.
A Slower Speed of Light mit.edu
272 points by po  4 days ago   105 comments top 28
tjic 4 days ago 2 replies      
I remember reading a science fiction novel based on a similar idea perhaps 20 years ago. It was pretty good.


adaml_623 4 days ago 2 replies      
I'm quite curious as to whether the speed of light across the game space decreases instantaneously when you pick up an orb or whether the change in the speed of light propagates at the speed of... umm light.

Also they definitely need to have a black hole or 2 chucked in and maybe some miniature binary stars orbiting at relativistic speeds

bluedanieru 4 days ago 0 replies      
This needs to go up on Steam yesterday. Or tomorrow, depending on your frame of reference.
bluedanieru 4 days ago 3 replies      
I may be off-base here, but isn't the length contraction backward? Things should appear closer as you approach the speed of light, not farther away. And, it should not matter if you move backward or forward to observe that effect, yet it does (try moving backwards).

Also, relativistic motion doesn't appear to affect the movements of the other actors, though it's kind of hard to tell for certain.

Ari_Rahikkala 4 days ago 3 replies      
It's Motion Sickness Simulator 2012! No, seriously, I've never had motion sickness from FPS games but this one made me feel pretty uncomfortable. Those who do get motion sickness should consider themselves warned.

That aside... it's not the first game/toy about illustrating relativistic effects that I've seen before, for instance there's http://lightspeed.sourceforge.net/ and a funny little Flash game that I've tried: http://www.testtubegames.com/velocityraptor.html . Neither of them were very much fun.

This game was not very much fun either, but there was some promise, because at the end once I'd gathered all the orbs by moving slowly and methodically, I enjoyed skating around the level and trying to go as fast as possible without bumping into things. Hopefully someone will use the engine (they say they're releasing it next year) to do something really good.

shocks 4 days ago 0 replies      
Very interesting, although I dislike the "ice rink" feel. It makes the game very difficult to control. I'm unsure if this is intentional.

A sandbox approach might be good. I found myself wanting to experiment and change the speed of time myself.

damncabbage 4 days ago 1 reply      
The site seems to be suffering a bit. Here's the cache: http://webcache.googleusercontent.com/search?q=cache%3Ahttp%...
Eliezer 4 days ago 1 reply      
Doesn't run on Intel HD 3000 graphics, apparently. Alas.
kzahel 4 days ago 1 reply      
Once you get all 100 orbs and you get close to the speed of light you're in for a treat. It gets rid of the funny color saturation effects and you only see the Lorentz transformation.
I'd like to know the secret incantations to be able to modify the speed of light manually. (Once you walk fast as light, the game abruptly ends)
tgb 4 days ago 1 reply      
Also of interest: Velocity Raptor http://www.testtubegames.com/srel101.html
fungi 4 days ago 2 replies      
any one get it running in wine? i get through all the menus and story slides but then boom.
m_darkTemplar 4 days ago 2 replies      
I(Ryan Cheu) was on the team that made this if anyone has questions!

Most of my work was on implementing the actual calculations for relativistic effects.

It was coded in Unity Game engine in C# mostly. The hard calculations are actually all calculated in a shader written in Cg (mostly just C) so they're on the graphics card.

gradschool 3 days ago 1 reply      
The Lorentz transformation (as I understand it) pertains only to inertial reference frames moving at constant velocities relative to one another, hence the "special" rather than the "general" theory. However, the player seems to be able to stop, start, or change course at will. Wouldn't those actions cause lots of effects (e.g., gravitational waves, etc.) that are not accurately modeled in this simulation?
aristidb 4 days ago 2 replies      
It's _barely_ playable on my 2011 MBA. Seems like the limitation is on the CPU side though. Either it's fairly unoptimized, or this relativistic stuff is just really demanding.

It's quite awesome anyways. Funnily if you change direction, that alone triggers no relativistic effects.

codeboost 4 days ago 1 reply      
Looks very psychedelic. It's interesting how simulating a variable speed of light creates the same visual effect as that produced by ingesting psychedelic mushrooms or LSD. Not just the color spectrum, but also the distance/space distortions one reports while tripping. I guess those mushrooms in the game are not a coincidence.
Wonder what the connection is there then.
lucian1900 4 days ago 1 reply      
This is both very interesting and a little painful for me. It's one of those ideas that I've always wanted to try, but never got around to. In a way it's nice that someone tried it anyway.
ck2 4 days ago 0 replies      
Shouldn't mass be increasing as light slows down?
aidos 4 days ago 0 replies      
Really cool concept! It takes a little while to wrap your head around what's going on but as you get deeper into it things start to make sense. The faster you move backwards the more light you lose which is rather disconcerting.

It's totally worth getting to the end (took me about 10 minutes) so you can play around for a moment without the colour shift affects. Would be really cool to have a version where you could do that.

Well done to the creators.

arjunbajaj 4 days ago 2 replies      
Not available for Linux! :(
undershirt 4 days ago 2 replies      
I don't understand why the colors are changing. Shouldn't the doppler effect not apply if the speed of light is the same for all observers?
memming 4 days ago 1 reply      
Someone should do the same with quantum mechanics by increasing the Plank constant.
ricardobeat 4 days ago 0 replies      
That video is kind of annoying. More gameplay, less talk.
louischatriot 4 days ago 0 replies      
What a great idea. The "rainbow colors everywhere" effect if kinda annoying, but the concept is awesome. As they say, that's what I would expect from the MIT Games Lab.
qiller 3 days ago 0 replies      
Also there was http://realtimerelativity.org/ a while ago, which simulates motion pretty close to C. Don't know which one is more "realistic", but it shows much more pronounced effects
zokier 4 days ago 0 replies      
I immediately thought 'space (combat) sim!' when I heard that the engine was open.
bitwize 4 days ago 1 reply      
Ladies and gentlemen, I think we found the Portal 3 game mechanic.
bobylito 4 days ago 2 replies      
Is it even a game? It seems to me like a very interesting simulation but I don't see game design there...
smithzvk 4 days ago 1 reply      
They say it is open source but I can't seem to find the repository. Anyone else see it?
Learn a Programming Language Faster by Copying Unix rodrigoalvesvieira.com
255 points by rodrigoavie  3 days ago   106 comments top 42
bane 2 days ago 2 replies      
tl;dr - this does work to a point, but won't necessarily teach you idiomatic and community practices that come with experience, but it is surprisingly sticky

I had the great pleasure, year ago in my undergrad Operating Systems class, for the class assignment to be "write an OS in Java"...which of course was handed out to a group of students who had never seen Java. By the end of the semester we had written the core guts of a multi-tasking OS, a couple shells and the display systems to handle even displaying things like a unix-like console, a sane piping system, all the major user land utilities (sans some of the compiler things, but things like ls, cat, ps, etc.) a simple text editor and intra-system messaging system, etc. etc. etc.

It was a great curriculum and really was the first time we, as CS students, had the chance to really spend time understanding the subject matter without spending time focusing on stupid language tricks like we had in our various C and C++. The code we wrote was fairly straight forward (we were learning the language as we went, so kept to the KISS method) and focused instead of the material. It was probably among the hardest, and best class I've ever had on any subject.

Did I know Java at the end of it?

To a point -- I knew the pidgin dialect we wrote the OS in. A few semesters later I took a fluff software engineering course and had to hack out some various java server bits and had a roughshod time of it as I ran head first into the now common overengineeringitis that plagues modern Java development. I found the syntax and most of the standard library familiar, but the idiomatic ways of writing the code, community practices, the shibboleths, nearly impenetrable without years buried in an enterprise software house.

I swore off Java and never looked back...moving on to Perl and Python for a spell (incidentally my standard "learn a new language" project is to write a simple non-lexical phrase extractor, it touches I/O, data structures, database connectivity, program flow, and if I get daring, multi-threading and a few other odds and ends and usually gives me a pretty good idea how a language works.

Now years later, taking a look at Android dev, I'm finding that writing code for the platform, even though it's Java, to be like writing code for our old OS. It's pretty simple, there's great library support, and I don't have to wrap simple method calls in hundreds of lines of framework boilerplate nonsense. It's actually pretty fun.

But I've definitely been drawing heavily on that pidgin dialect of Java that I learned way back when -- it's kinda like riding a bicycle, except a few bits have changed here and there. So yeah, I think I did "learn" the language, and it's been amazing how much of it I can recall since it's been a decade since I did any coding in it.

(this method also handily solves the "I need a project, a goal, to learn the language, otherwise I'm just twiddling bits" problem).

neverm0re 3 days ago 1 reply      
For those who want a very clear, concise set of userland code to try translating for practice, consider using 9base: http://tools.suckless.org/9base

It's not quite Unix, but it's still quite lovely and it's rather succinct:

"It also contains the Plan 9 libc, libbio, libregexp, libfmt and libutf. The overall SLOC is about 66kSLOC, so this userland + all libs is much smaller than, e.g. bash (duh!)."

michaelfeathers 3 days ago 3 replies      
I write a unit testing framework in every new language I learn. I find it's a great workout because making it usable for yourself is immediately assessable, and it often forces you into deeper areas of the language, including reflection and meta-programming.
Jare 3 days ago 1 reply      
My favourite way to learn new languages & platforms was implementing a du-like ('disk usage') tool. It was also the exercise I proposed to my students. It doesn't require complex algorithms but touches a lot of the basics: recursion, filesystems, command line parsing, output formatting, etc.
MaxGabriel 3 days ago 1 reply      
Rodrigo, I thought you should know that when browsing your site on an iPhone 4, the header overlapped the index. That wasn't a great description, so here is a screenshot: http://db.tt/7grTPHsL

You also cannot zoom in, which made it very hard to read.

utopkara 3 days ago 0 replies      
This works well as a learning method, most probably because UNIX tools are well documented, and there are readily available binaries. Many introductory programming courses I took and taught back in the day were using UNIX tools as programming assignments.

I believe, any well documented coding problem accompanied with a sample binary implementation should have the effective educational value.

Sites like interviewstreet.com should take this as a guide, even though their audience is not beginners. If you look at sample problems there, they are usually poorly described, and sample outputs are trivial and don't contribute to the textual description.

Aardwolf 3 days ago 1 reply      
I learned programming in QBasic by experimenting with graphics, games and fractals.

I honestly think that plotting per-pixel graphics is a much more fun and rewarding way to learn programming, than a cat program.

It's only a shame Linux has no "mode 13h" screen and a PSET function in the C language :)

noonespecial 3 days ago 0 replies      
I learned both perl and python by using them to replace my sysinit scripts on a Centos box. If you can get through this, I'd say you're "conversational" in a language.

You'll also know Linux better than most ever will.

Zenst 3 days ago 2 replies      
It is a good approach and back say 20 years ago the favorite was to redo the du command and add a conversion to MB (now handled by the -h option for human in the du and ls command).

Cat is also a good example and not just to learn a programming language but the OS. Ask somebody to come up with 20 ways to display a file, you can do it with not just the cat command. Now I'm not saying there are twenty ways, but it is one area which some delving and approach will allow people to try and find them.

Examples are for me the best way to learn a programming language and again with the simple Unix commands you have a common base which people are more likely to ifnd an example. Can't recall but great site on the net which has "Hello World" in about every programming language around.

After a while, you will start to add option to your redeveloped commands, then add entirely new commands and from there you can think about writting your own shell. No graphics or the like to distract you too much. Graphics as a rule in programming languages I have found to be like learning an after thought and also you are more controlled in the mentality behind the API. So I do advise not even looking at graphics for a while until you have learned how to flex the language without the distractions graphics and the way they are handled add a overhead to your code. I'm sure somebody will list a programming language that is easier to do graphicly as apposed to text output, though its a safe rule. SO just because you have windows, don't mean you have to jump into GUI's from day one, if even at all.

nirvana 3 days ago 0 replies      
I disagree. I think writing code to solve whatever small problem you're having right now is better. No point in recreating the wheel ,which is boring, and will result in something you'll never actually use because, well, cat already exists on your system.

But if you use it to start something new, or to add to your repretoire of utilities, then that is something you're more motivated to complete and more useful expenditure of time to boot.

d0m 3 days ago 0 replies      
When learning a new language, my first project is usually an IRC bot. It gives me a good feel of the language and I need to learn most core structures.
nikcub 3 days ago 3 replies      
Your ruby version of cat implements none of the command line switches.

I learned C by going through the FreeBSD code and helping with POSIX compliance. For fun I would implement a lot of the commands in Python. You get the most out of learning both the language and UNIX by implementing all the command line options.

abecedarius 3 days ago 0 replies      
Here's mine: https://github.com/darius/ung

It can be fun if you try to put your own spin on things, though with diminishing returns.

Edit: also https://github.com/darius/sketchbook/blob/master/regex/grep....

arocks 3 days ago 4 replies      
For a purely functional language like Haskell, this would not be a very good advice. Any kind of I/O would involve monads and other imperative constructs. Better implement an algorithm involving trees or graphs to better appreciate a functional language.
mahmud 2 days ago 0 replies      
Unix, as an environment, uses a handful of primitive paradigms. You will not learn much if you're using an advanced language.

If you were to learn Oz[1] in this manner, none of the its powerful features will be called for to implement simple filter programs, transforming text, and crashing when confused by unexpected input.

For languages that support advanced features, you're better off modeling "advanced" systems. Say, in the case of Oz, you might be better off modeling a secure microkernel or a VM; not dumb text processors.


[1] http://www.mozart-oz.org/

pdog 3 days ago 1 reply      
For learning functional programming languages, Project Euler[1] is a really great resource.

[1] - http://projecteuler.net/

minhajuddin 3 days ago 1 reply      
On a side note, a more concise version of cat in ruby is:

    puts ARGF.read

I know it's besides the point, However I couldn't resist :)

davidxc 3 days ago 0 replies      
I feel like this approach might get boring after a couple of languages.

I think most people here could skim through the language intro, and then just start working on a new project in that language (picking up more of the language as they go).

This is the approach I usually use, and it seems more fun than porting the same tools. Just my opinion though :)

pixelbeat 3 days ago 1 reply      
I had this idea to demo basic python concepts.
Here's an implementation of ls with links to further info:


nathan_f77 3 days ago 1 reply      
Great advice. I've written a simple version of the `column` tool as an entry to the International Obfuscated Ruby Code Contest: https://github.com/saizai/iorcc/pull/1

Just a bit of fun, the contest doesn't seem to be very 'official'.

intellegacy 3 days ago 5 replies      
Can someone give a non-expert way of going about this learning method?

For instance, what are your options on Windows or Mac?
And are the languages you can do this with limited to Ruby, Python, or Javascript?

stevekemp 3 days ago 1 reply      
A few years back I remember submitting the implementation of a couple of Unix tools in Perl. The idea was to implement as many of the standard tools as possible, in perl.

The project seems to be sleeping, although there are many contributions:


bediger4000 3 days ago 0 replies      
He's right. I have versions of "cat" in Java, Perl, Python, and C, all source. Reading from stdin and writing to stdout is the skeleton of a lot of tools, so starting from "cat" source is often the best way to get going on a new tool.
leoh 3 days ago 0 replies      
I think this advice only really makes sense if you understand and have an appreciation for UNIX tools. Otherwise, I think it would be rather burdensome to come to understand how seemingly abstruse UNIX tools function.
djhworld 3 days ago 0 replies      
I always implement "cat" as a first toy application when learning a new langauge - it's a great introduction tool as it deals with dealing with files, dealing with streams (stdin) and so on.
ajwinn 3 days ago 1 reply      
The advantage and disadvantage of this approach: you have to already know Unix commands. Inevitably all programmers learn Unix commands - but probably a rough approach for beginners. Although, I'm guessing this advice isn't really aimed at beginners anyway.
guruparan18 3 days ago 1 reply      
Another good thing about learning UNIX (or using Linux) is the ability to write code snippets that could automate daily chores (you can do in Windows too, but I am not going to speak about it here).

Some of the code I enjoyed writing and using is, code to remember directory paths I visited (I visit lot of them, and it is a pain to type lengthy ones). A wrapper for "ssh" to remember hosts and list them (again I had to visit bunch of them daily, and pain to type fully qualified host names), just like PuTTy-saved sessions.

These tools really boost the productivity and joy to use.

arjn 3 days ago 0 replies      
I agree with this and have done it in the past myself. Its a great learning exercise for new languages. The problems are easily defined and its apparent when you've successfully completed. Once you've done with the easier ones try implementing grep and then diff.
draegtun 3 days ago 0 replies      
Also see this HN post from a few months ago about a Linux/Unix distribution written in Perl - http://news.ycombinator.com/item?id=4395076
beering 3 days ago 1 reply      
The example code for cat is only half of cat, which reminds me of Rob Pike's criticism of "cat -v"---Unix programs are often more complicated than they arguably should be, are "reimplementing" Unix programs often means implementing a small subset of the features.

Or, look up the manpage for your locally installed "tree" and see how many non-standard options and features have been bolted on.

I think it would be helpful when reimplementing Unix to try to work in more core features of the language, like its object or module system, which are more important than parsing argv or touching the filesystem.

manish_gill 3 days ago 1 reply      
Heh. I've been doing something similar. In my free time, I've been actually re-implementing the `tree` command (with most of the switches as well) in Python.

I'll also be writing some other utilities! :)

jfaucett 3 days ago 0 replies      
This is kind of funny since I taught myself a lot of go by porting a bunch of the coreutils. It still amazes me how much there is to learn from unix. Many many times I find myself going back to some programs src (cron, find, etc.) when I need the design/algorithm/feature in my own programs.
opminion 3 days ago 0 replies      
Knuth and Lamport used a "literate" implementation Unix' wc as example in the manual for Literate Programming tool cweb.
poopicus 3 days ago 1 reply      
This is a brilliant idea, and may I suggest that one takes it slightly further than just implementing the core functionality, and aiming for a complete clone (optional parameters and all) with a few enhancements.

Indeed, for a further ego boost, why not also benchmark the performance of your versions against the performance of the native utilities? You never know, your new clone might end up being the new 'less' to the old 'more'!

pilsetnieks 3 days ago 0 replies      
It reminds me of the suggestion of learning foreign languages by reading Harry Potter in that translation.
denzil_correa 3 days ago 0 replies      
Very interesting and unique idea. I will suggest this to everyone. Thanks for sharing!
BrianPetro 3 days ago 1 reply      
Congrats for being 18 and making it to the top of hacker news. You have proven that simple and concise advice can be greater in value than the most complex systems (or technically advanced articles that frequent HN).
bjoe_lewis 2 days ago 0 replies      
My first usable program in python was an implementation of 'wget' and seriously, implementation of such unix based commands do teach you an awesome lot.
eisbaw 2 days ago 0 replies      
Blog post is flawed: Try to recreate sed.
gdg92989 3 days ago 0 replies      
What an awesome Idea! I wish I had thought of this when I was teaching intro to java!
devniel 3 days ago 0 replies      
Great advice Rodrigo.
A life less posted elezea.com
250 points by marban  4 days ago   89 comments top 27
moxie 4 days ago 6 replies      
The problem with wanting not-facebook is that we don't really have a choice anymore. The social systems that were in place before facebook and mobile devices became so prevalent have all been destroyed, so there's no going back to the way you lived in 2002.

People don't make plans anymore, make fliers for their parties, etc. So if you decide that you don't want to participate in social networks online, it essentially means that you're opting out of society offline as well: you simply won't be included in those social plans.

And even if you managed to stay a part of society, you find yourself standing in the metaphorical elevator where everyone else is looking down at their phones.

If you manage to make it out to dinner with people, they'll all inexplicably be taking photos of their food, posting them on facebook, and then only relating to each-other at the table to explain who has commented or liked or whatever'd the things that are happening right there. And that's pretty uninteresting if you are not also invested in the likes, replies, etc.

Basically, it's a network effect, and we're in it. To characterize it as a choice only legitimizes this thing as something we have control over and have opted into, rather than something that has happened to us.

mratzloff 4 days ago 3 replies      
I agree with the broader message. Especially on vacation, disconnecting is important; it lets you take in life and experience it untethered, away from work email or other daily concerns. And if Facebook and other social networks make you feel that way, you certainly should disconnect from them.

But I wanted to call out a couple of things:

I woke up yesterday morning to a few Facebook status updates from people who don't like Halloween, and who would never let their kids participate in the evils of trick-or-treating. I was immediately filled with guilt because I allowed my daughter to enjoy herself so much the previous night by letting her dress up in her self-chosen mermaid/fairy combination.

Why on earth would you feel guilty because you let your daughter go trick or treating and she had a great time?

And then I realized that I feel like that all the time on Facebook. Guilt, anger, envy… Those are the emotions that fuel all social networks, but perhaps Facebook more than the others. They're the emotions that make us share/like/comment on things.

I don't really use Facebook that often, but when I do it's to look at photos someone uploaded or read a funny comment someone left.

So I guess I disagree that guilt, anger, and envy fuel all social networks (exclusively, which is what this seems to imply). It's a really strange worldview to me.

Really, it sounds like you just know a lot of unpleasant people.

csallen 4 days ago 4 replies      
Am I the only person for whom snapping a photo of an experience and uploading it to Facebook doesn't ruin said experience? Am I the only person with the capacity to engage in social media at-will, without feeling compelled to do so because otherwise my experiences "didn't happen"?

I don't understand either of these sentiments.

Humans are social creatures. We always have been, and always will be. Engaging with people face-to-face is great. But when we're separated from others we care about, we'll resort to whatever means possible to share our experiences with them. In the past, that meant writing letters, talking on the phone, having film developed, etc. Today, it means whipping out your phone, snapping a photo, and touching your screen a few times.

Has the nature of how we experience life really changed that much? I can't help but feel that complaints of this nature are really just nostalgia in disguise.

c0riander 4 days ago 1 reply      
This reminds me a great deal of the insights of Susan Sontag in her essay On Photography. To wit:

"A way of certifying experience, taking photographs is also a way of refusing it -- by limiting experience to a search for the photogenic, by converting experience into an image, a souvenir. Travel becomes a strategy for accumulating photographs... Most tourists feel compelled to put the camera between themselves and whatever is remarkable they encounter. Unsure of other responses, they take a picture."

The whole essay is really worth reading - looking specifically at photography, you could make an argument that our other tools like Facebook are growing to fill a similar aggressive, certifying role in our culture...

You can find it on Amazon: http://www.amazon.com/On-Photography-Susan-Sontag/dp/0312420...

markbao 4 days ago 2 replies      
This article represents a much-needed big-picture view of how social networks have affected how we live. It seems like those with smartphones in their pockets, and social networks with connections, have the always-on ability to make an impression on others"and they are expected to. That manifests itself as a nagging feeling to always share and make an impression.

I'm backpacking through Europe right now as well, and not having cellular service and being more disconnected allows me to live with the intention to live. Whereas before, living in NYC and constantly being connected always allowed me to ask questions like: Should I check in here? Should I Instagram this? Am I expected to be active on social networks, lest I be forgotten?

trafficlight 4 days ago 1 reply      
This all hinges on our personality.

I go on Facebook, like what I like, ignore what I don't, and refuse to dwell on things.

lignuist 4 days ago 1 reply      
All I can say: delete your Facebook account and travel to whatever country you want.

Not using Facebook doesn't mean you cannot share your photos (emotions, experiences, ...) these days. I traveled Central Asia and some other countries and uploaded photos and videos to a password protected folder on my webserver where my family and friends could watch them. Sending physical copies still would also work.

I never had a Facebook account and every time I read articles about FB, I'm thankful that I'm not addicted to this company, like so many people seem to be.

swang 4 days ago 3 replies      
Post like these assumes no one has enough willpower to take pictures and then upload them when they get back from the vacation. To boot he seems to be romanticizing 2003 as a much simpler time... what?

The statement, "I used film so all my pictures really counted" is really annoying because it's as though he believes people nowadays just hold down the shutter button.

If we're talking about phone shots that people post to Facebook and Instagram; I think people spend way more time than they ever would have with film to setup the best shot (because it's going onto Facebook/Instagram!).

On the SLR front, just as there's a cost with using film (not enough exposures so you can't make mistakes) there is a cost with going digital: having to sort through a large amount of photos that are time consuming to look through, process, and edit. And these photos are actually quite large so there's also a much larger time cost.

So believe it or not, digital photographers have to be choosy as well lest they spend another 30 minutes trying to delete the pictures that were unnecessary.

meaty 4 days ago 1 reply      
I find that the social networks are the modern version of being forced by an aquaintance to stare at mind-numbing out of focus holiday slides for 2 hours, except it pokes you every time that someone wants to force some more upon you.

I live a private life and don't want all the social crap bound to it.

As a point with regards to photography, I still use a mid-80's Praktica 35mm SLR and develop my own film and print by hand.

I want to remain attached to the memory, not where I exhibit it.

irishcoffee 4 days ago 4 replies      
I liked and agreed with the thesis of the article.. until I saw the tweet graphic at the bottom.

I "got" facebook in 2005 as a freshman in college, and deleted (not deactivated) my account in early 2009, as an experiment, and have been off ever since. I wanted to see if it would have a positive or negative effect on my social life.

1000% positive.

Now, if I want to know about one of my friends, I call them, text them, email them, or hang out with them. If someone wants to communicate with me, they do the same. I get texts all the time that start similar to "hey, facebook-challenged friend, theres X going on next weekend, come hang" or a phonecall/email saying the same, which leads into actual personal communication.

People might call it selfish, but my response would be: why am I obligated to use facebook to organize my social interactions? I don't make anyone contact me, and if they don't want to, they won't.

Also, I became really sick of baby pictures.

ovatsug25 4 days ago 0 replies      
You feel guilty, angry and envy because of what you see on Facebook? That problem is with you. I have never felt more in touch with more people through social services of this kind.

These services enhance my capability of keeping in touch with people. I didn't know how to use them correctly at first, and probably ODed on Facebook and made fun of how much people use them, but once you master yourself"or at least become better at it"you can live a much richer, fuller life by staying in touch with people you never could have before. My great-grandmother left Spain after the Civil War and did not have contact with her sisters for over 50 years. Personally, this alternative of being connected is much better than the other.

Learn about yourself. Learn how to use them for your benefit. When you get distracted, don't blame the technology, blame yourself for not knowing that you need to disconnect. It's hard. But it's doable. A life less posted is a choice we want to have sometimes, but being connected is something that I think we want more.

jusben1369 4 days ago 0 replies      
I traveled for nearly two years right out of college - pre email. Central/South America/Turkey etc. I went through an incredible array of emotions relating to not seeing or speaking to friends and family for weeks on end. Yet I also felt this incredible sense of adventure - being truly disconnected from all I had known. Those lessons in independence have paid dividends over and over again during tough times - knowing that I've faced a lot of challenges on my own and come through. Within a year of settling down I had my first dial up modem and the rest is history.

I'm incredibly thankful now in hindsight that I got to do it when I did. You could still do it today but you'd have to very actively decide not to be connected to people. That in itself would open up awkward questions/dialogues "Dude, you couldn't check your email/FB like even once a week?"

I certainly am not alone in having done something like this. I wonder what it means though for post College kids doing it now. We're never not connected to our larger ecosystem anymore. It's almost moved from the notion of "I'll be totally separated from friends and family' to "Everyone will be following my every move as I do one exciting post after another"

danboarder 4 days ago 0 replies      
I agree that many people "overshare" and misuse social media as he describes. This is a very subjective area where some people prefer to share more and others prefer privacy. If sharing is compulsive/addictive it can be a lot of fun but perhaps also a problem.

I use hootsuite to share via social media (twitter/facebook/linkedIN etc) as channels for sharing interesting news, and perhaps 10% of my posts are vaguely personal (sunset photo I took that evening for example).

In my experience online and social media (including HN here) are like a flowing river - the conversation is always flowing... it's nice to take a swim once in a while, just don't get swept away.

eli_awry 4 days ago 0 replies      
I feel like many of these posts present a false dichotomy. I hiked over 600 miles of the appalachian trail this summer, and I did use social media - a little. I posted about one photo to instagram a day - a faun a few days old, a chimney in the middle of the trail, a view of two side by side mountains, one drenched in sun and the other in a thunderstorm. This helped my notice the most beautiful moments of my day each day, and now I can look back at a gloriously curated story - ~35 pictures from 30 days.
I put those photos up for my friends and family, and now I am so happy to have them. And they were happy to take a moment while flipping through their instagram feeds to see them. I guess I don't understand the fear, hatred, and jealousy people feel when confronted with moments from other people's lives.
artursapek 4 days ago 0 replies      
I don't share anything personal I do online. I haven't had a Facebook account for 8 months. Best decision I've made this year.
pirateking 4 days ago 0 replies      
I agree with this post. It confronts a big problem with the Internet, and the whole cheap-and-easy-creation, mass-consumption, turbo charged information vortex it spins.

People (and companies) are too busy crafting the meta-perception of themselves and their products, rather than spending serious time crafting themselves and their products. And who can blame them for such short sighted thinking - it is such an easy option and provides real short term benefits. For companies, ad-revenue and growth potential (growth is very important you see, because once you grow big you can...?). For people, self-validation and attention (a real chance to sway people your way! - until a few seconds later when someone else lures them away with a new post).

The future is now, tomorrow is gone forever.

wylie 4 days ago 0 replies      
When I used film, this is exactly how I felt. Like each moment was precious and worth saving. Now that I use my phone and DSLR more, it's much easier to share, and therefore I do it more. There's a lot to be said for adding a barrier to sharing. Shameless plug: my startup, Backspaces, is doing exactly that.
ricardobeat 4 days ago 0 replies      
I've done both. Me and my wife did a very similar trip in 2007 - 19 cities in 45 days, carrying DLSRs. I spent a huge amount of time taking pictures (~2500) which I still haven't managed to tag and organize 6 years later.

Just last month I went to LXJS and extended my stay into a month-long trip, carrying a DSLR and and iPhone. I rarely took the camera out of my bag, and shot maybe 500 pictures total, most of those using the iPhone.

Aside the fact that the phone actually takes better pictures in low light than my professional 3-year-old DSLR, I couldn't bother to use the camera for a couple reasons: 1) more hand work 2) a bit more difficult to share; taking SD card out, importing to the iPad 3) 90% of the time someone has already taken a nicer picture of whatever I'm looking at.

I had 3G for almost the whole trip, used Foursquare, Facebook, Path, Twitter and Skype a lot, and don't feel that this has taken out anything from the experience. In fact I believe I spent less time overall messing with tech than when I was intent on doing photography, and being able to effortlessly keep in touch both with my family at home and people I met along the way was really nice.

fudged71 4 days ago 0 replies      
I had a similar experience.

At the beginning of summer I was in Ireland for 7 days with my girlfriend on a Contiki tour. The first time I've ever been in Europe. I didn't bring my phone, on purpose.

Everyone around me was sharing, emailing, texting, and whatever else. I was relaxing, enjoying, and living the experience. I refused to nap, because I wanted to see everything, hear everything, experience everything.

Of course, when we got back home, I saw all the 'likes' that people had amassed on their trips. It was a weird feeling, that I could have updated my friends during the trip or whatever. But after the trip now, whenever I see people check-in when in big trips to europe it just seems like rubbing it in the face of your friends who might be stressed out, grieving, or whatever else.

rglover 3 days ago 0 replies      
Here's an idea: moment quota. Set up a social network similar to those that exist, but implement a cap. You then have to choose what really matters.

A good example is Dribbble. To prevent excessive posting you have a cap (per month) that you can use. At the end of the month, you're topped off with more posts (or "shots" in their language).

This would make people not only enjoy networks more (and be conscious of what they share), but make the experience of taking in other people's content actually exiting.

jamesrcole 3 days ago 0 replies      
I've skimmed through the comments and I (at least from that) haven't seen anyone mention what I think's the most interesting question:

Is there a way we can improve social media tools (or replace them with something different) that helps minimize their negative effects and maximise their potential?

In the scheme of things, computers are a very new technology and Facebook and the like even newer still. I wouldn't be surprised if there's still a lot of room left for improvement.

marban 4 days ago 0 replies      
Another root cause:

"I started to compare my life to others, hating people based off of their status. All it brought me was anger and a lower self-confidence. Almost immediately after deleting it, I felt better. I'm mostly ok with how I live my life and I don't need to compare my life to that of others."

via http://www.reddit.com/r/AskReddit/comments/11wm5w/to_those_w...

villagefool 4 days ago 0 replies      
Putting aside the issue of posting about oneself, I wonder if there is research data whether not keeping track of others/society makes one less achieving or more...
victorantos 4 days ago 1 reply      
Facebook can improve your social life, you need to put some effort into it
forgetcolor 4 days ago 0 replies      
perhaps try facebook w/o the metrics? no likes might make you less envious. http://bengrosser.com/projects/facebook-demetricator/
par 3 days ago 0 replies      
You can't stop progress! ;)
cdestroyer 4 days ago 0 replies      
".....and got this idea that the value of a moment is directly proportional to the number of likes it receives."

LOL I cannot agree more to this.

Perfectum Dashboard wrapbootstrap.com
242 points by mrholek  1 day ago   44 comments top 24
therealarmen 1 day ago 0 replies      
Really nice to see all the bells and whistles in operation. This author understands the importance of "theme marketing." I feel like a lot of theme creators spend hours and hours building cool shit into their themes and then skimp on filling it out with demo data. IMO being able to visually play with all of the elements is just as important as creating them in the first place.
sylvinus 20 hours ago 1 reply      
It's incredibly annoying to have the loading screen on each page, no matter how much it takes to load. It should appear only on the content (don't cover the nav!) after a 100ms or so timeout.

Apart from that, beautiful theme

mattmanser 19 hours ago 0 replies      
It looks fantastic, I'm not really sure it's phone ready though. It's very slow on my phone (3GS). And there are lots & lots of js includes. Also the 1 dial per window seems a bit excessive.

HTML's pretty good though, only a bit of div/span nesting, I've seen a lot worse. Also watch out for the custom jQuery UI include in there, I still don't get why the jQuery UI team thought that was a good idea bundling a custom package so you have to start picking apart a min file just to see what was used.

Personally I'll probably purchase this at some point for something.

ricardobeat 1 day ago 0 replies      
I'm not a fan of the "windowed" modular design that is very common in admin interfaces; it wastes a lot of space and adds clutter. I believe a flatter design (like this http://dribbble.com/shots/564078-Minimal-Dashboard) or at least with lighter chrome (e.g. Ducksboard) would work much better.
ineedtosleep 1 day ago 6 replies      
Honest question here (and I hate how I feel compelled to preface with that): In what situations are the "circle stats"/circular representation of a bar graph useful? Aside from its aesthetic appeal, it doesn't seem very functional.
creatio 22 hours ago 1 reply      
Nice looking theme, but kinda looks like an imitation of another looking theme released 2 months ago: http://wrapbootstrap.com/preview/WB0F35928
durzagott 18 hours ago 1 reply      
Forgive me for criticising, but I'm not all that enamoured with the design. I find it too chunky, too slow, and somewhat adolescent.

I appreciate that the designer has put a huge amount of effort into the template, and has populated it with some excellent demo data, but I would never use this theme in a business application.

I prefer a cleaner, more subtle design (some might say a tad boring?). Here is an example of what I mean: http://envato.stammtec.de/themeforest/peach/login.html

atldev 1 day ago 1 reply      
Using a template to prototype a project has always been helpful for me. Otherwise, I'm cobbling together an 'ugly' MVP or showing someone mockups. Either can work, but using a clean template early on eliminates noise. It allows your audience to think about feature/function vs. "it's kinda ugly, is it going to look like this?" I can customize and make it my own, or start from scratch later.

Here are plenty more to look at for a quick start:

kposehn 1 day ago 0 replies      
Nice. I definitely like the way it has been presented as a demo; well done.
gabyar 1 day ago 0 replies      
This is beautiful. Well done. This is the first comment I've made in a year - it's that cool looking.
mnicole 13 hours ago 0 replies      
Thin white text on light-colored backgrounds? Color and element weight/hierarchy are some of the most important aspects of a dashboard's design. If you're expecting people to spend a lot of time on these screens, you shouldn't force them to strain their eyes to get the data they need.
kfk 19 hours ago 1 reply      
Nice (not so on ie8 although).

But I am still waiting for a template that works on ie7 (some of us are targeting business users here), on tablets and on phones. On top of that, it should load fast and it should be practical (to be fair, this is rather practical, I would put an accordion on the sidebar although).

At the moment, I am designing this myself, but I would really rather buy it.

For that I would pay double the ammount of this one.

moe 1 day ago 0 replies      
That loading screen, albeit fancy, is really jarring.

The drag & drop also seems buggy here (shuffles the div's pretty randomly).

Other than that this looks really nice.

JacksonGariety 1 day ago 0 replies      
This is honestly brilliantly designed. Incredible work to whomever did this, really.
littlesparkvt 15 hours ago 0 replies      
I've been watching this guys template sales grow and grow. Congrats on another great template!
mase 1 day ago 0 replies      
This is super nice. I love it. Sometimes feels over the top, but nicely themed.
streblo 1 day ago 0 replies      
This is really fantastic. Amazing work.
habosa 1 day ago 1 reply      
This is fantastic. How did you make those circle widgets?
lousy_sysadmin 21 hours ago 1 reply      
Total noob question here

how do you use admin template like this..say for a PHP website on a VPS? How do you "connect" the templates with the data?
Been googling for a while but to no avail. I would really like to have something like this as traffic monitoring and customer support interface

instakill 19 hours ago 0 replies      
It's very slow on FF 16.0.2 but it really is so pretty.
enigmabomb 1 day ago 0 replies      
Impressed at how good this looks on mobile.
sloyan 23 hours ago 0 replies      
that would be PERFECT to have a dashboard like this on wordpress :)
obisw4n 22 hours ago 0 replies      
Breaks when you don't have enough content in the body, footer gets all messed up, reproduce by just removing a few rows from the content area.
eungyu 1 day ago 0 replies      
This is good, but Ratchet kinda stole the thunder today
Escape from Callback Hell: Callbacks are the modern goto elm-lang.org
240 points by wheatBread  4 days ago   147 comments top 45
tikhonj 4 days ago 3 replies      
If you don't want to use another language and compile down to JavaScript--which is what Elm offers--there are some interesting options that are just JavaScript libraries.

The one I've personally played with is called Arrowlets[1], which introduces a control structure called an arrow that lets you abstract over callbacks and event handling (among other things). Using that style of programming can significantly simplify some fairly common tasks in JavaScript; the drag-and-drop demo on their site is a good motivating example. However, unless you are already familiar with functional programming and arrows, you should probably read some background before diving into the examples.

[1]: http://www.cs.umd.edu/projects/PL/arrowlets/

Another interesting option I've toyed with is RX.js[2]. This is a JavaScript version of C#'s Reactive Extentions (RX). If you are familiar with Linq, then this library's style should seem natural immediately. The core idea here is to abstract over events as streams that can be composed and manipulated conveniently.

[2]: http://rxjs.wikidot.com/

If you don't mind using a different language, but want something that mostly looks like JavaScript, another option is FlapJax[3]. I haven't tried it myself, but I've certainly heard good things about it.

[3]: http://www.flapjax-lang.org/

There are probably more options in the same vein that I forgot or don't know about. However, I think these three are a good starting point and could help clean up much of your event-driven JavaScript code in the short term.

Of course, if you are willing to use a language radically different from JavaScript, then Elm is a great option. Once you get used to functional languages with good type systems, there is really no going back ;). The syntax is also simpler and more minimalistic than JavaScript's, which leads to more readable code.

magicalist 4 days ago 0 replies      
Callback hell is certainly a real thing, but that Javascript snippet is a poor example for a goto comparison, since it's pretty much as linear as you can get.

The problems with Javascript and callbacks are usually (in reverse importance): noisy verbosity (all those "function()"s), the deeper and deeper indentations, and then ensuring execution order on interdependent async steps while keeping it readable. In the blog post's example, you pretty much of a serial chain of dependent steps, and the only thing really wrong with it is that it's just ugly and approaching unreadable (syntax highlighting will help quite a bit, though).

I think most people heavily involved with Javascript recognize those problems, though. Promises/deferreds have entered mainstream js usage. They can be somewhat confusing for newcomers, but several libraries can help, as others have pointed out. Language support is evolving: "let" as an option for more control over scoping, the arrow syntax for simpler function expressions, yield for shallow continuations, etc. These will in turn feed back into making libraries smaller and easier to use (I'm really looking forward to when I can use http://taskjs.org/ for all my async needs. Combined with the arrow syntax, I feel like I can pretty much always avoid a callback mess and retain clarity of (high-level) flow at a glance).

This isn't a knock on elm (this article is the extent of my knowledge of it), and it isn't a dismissal of the problem, but it isn't clear to me from this article what is broken in JS that is fixed in elm. In other words, this could be another tutorial on promises in Javascript and make the same points about excessive callbacks being poor coding style and bad news for readability and maintainability.

Syntax that makes clear code the lowest energy state is a feature, but (if we limit our discussion to callbacks) in JS it's partly solved, partly being worked on, and it's not clear to me yet what the energy differential is in typical elm usage between this code and the nasty spaghetti code you can always write if you try.

martinced 4 days ago 6 replies      
Why is it that nearly everytime some coding blog writes about something interesting you've got lots and lots of people criticizing the entry and saying, basically, that "the old way of doing thing is just fine, it's just you that are too stupid to understand it".

I'm sorry but that's not how it works. I've been coding for 20 years or so and I'm always open to new things. The first time I heard about using immutable objects in Java nearly everybody was laughing at the idea, making fun of it. Nowadays it's the contrary that is true. Same thing for using composition instead of concrete inheritance: everybody was there, ten years ago, saying that there was no problem with Java's concrete (implementation) inheritance. Or checked exceptions. Etc.

It's nearly always the same thing: a concept that is not mainstream but that looks very promising is explained in great details and yet people come here, bragging: "You're too stupid to understand ${common way of doing things}, there's no need for ${less commonly used technology}".

This really saddens me.

ender7 4 days ago 3 replies      
Personally, any solution to callback hell will also need to be a language that supports returning multiple values. The following convention is simply too useful to me:

  foo.doSomethingAsync(function(err, result) {
if (err) {

You can obviously accomplish this with exceptions, but then you have a million try/catch blocks floating around all over the place and the code becomes even harder to read (and more verbose to boot).

wyuenho 3 days ago 0 replies      
The problem is not callback, the problem is that callbacks exists in Javascript.

Callbacks themselves, when used wisely, can often enhance code readability, hell LISP has had function references since forever, but I think the most complain about callbacks are actually complains about callbacks in noisy languages, mostly likely languages with noisy syntaxes like Javascript and Java. When read that way, the disgust towards callbacks do seem to have merits. As the author has pointed out, the 2 getPhoto() functions at the end express and do exactly the same things, but obviously the CoffeeScript version reads better.

Callbacks have been around a long time and I've never heard of people complain as much about them as people have for Javascript and I conjecture the reasons are as follows:

1) There's no named parameters (keyword arguments) in Javascript, so people pass around objects literals into functions to emulate them.
2) Making lambdas in JS is too easy, but the syntax is too noisy.
3) Oh so many aliasing of this;
4) Self-chainable JS libraries like jQuery makes the style of calling multiple functions too easy. But lines can only go to long before becoming unwieldy, so people tend to indent chained method calls multiple times.
5) No modules and global namespace pollution is frown upon, so people are hesitant to flatten deeply nested callback chains.
6) There are a dozen ways to make a JS class and/or object depending on frameworks, and they are not at all compatible.

All of these "features" coagulate in JS into giant blobs of snot like this:

$(document).ready(function() {
var $main = $("#main");
click(function(e) {
type: "POST",
dataType: "json",
contentType: "application/json",
success: function(data, textStatus, jqXHR) {
data['rows'].forEach(function(line) {
$main.append($("<p>", {
className: "row"

Words for the wise, when you see a shiny new jQuery plugin, stop, think for 3 minutes, and then put it inside a Backbone View or whatever your favorite framework is other than jQuery*. If you don't know anything other than jQuery, now is probably the best time to learn a few.

ambrop7 3 days ago 1 reply      
I think the author is missing the obvious and natural solution: let the programmer write code in a completely synchronous (blocking) style, but have the programming language execute it an an asynchronous and concurrent fashion. Something like that:

  # this appears very synchronous
function getPhoto(tag) {
var photoList = syncGet(requestTag(tag));
var photoSizes = syncGet(requestOneFrom(photoList));
return sizesToPhoto(photoSizes);

# Two getPhoto() "processes" are spawned. After this,
# the language multiplexes between them via the (single) event loop,
# in a single OS thread.
job1 = spawn getPhoto('tokyo');
job2 = spawn getPhoto('tokyo');

# Wait for both of them to finish. This too happens in an asynchronous
# fashion, i.e. calling job1.join() does not prevent the two jobs from
# running. In effect at this point we have three "processes" running
# (the main process doing the joins, the job1 process and the job2 process).
photo1 = job1.join();
photo2 = job2.join();

Yes, I know this may be very hard to implement in Javascript/Node, because it fundamentally changes the way the JS engine needs to work.

NOTE: It seems this approach is not new; "green theads" seems to be the right term, and there seem to be a lot of Python-based implementations. Go's goroutines also appear similar (but you can have them run truly in parallel).

BUT note a crucial difference from the "green threads" approach - in my suggested design, there would be no real scheduling. If you perform sequence of operations and they are all guaranteed not to block, this sequence is automatically atomic, and cannot be interrupted by another "process".

I should also mention this programming language I'm developing, called NCD [1], which employs the same idea. See the in-browser demo [2], click on the Spawn example.

Note that NCD implements a unique extension of imperative programming. Statements in general persist even after they have "returned", and they get the chance to do stuff when they are about to be "deinitialized" (see what happens when you click "Request termination" in the Spawn example). Plus, any statement can trigger "backtracking" to its point within the process, causing automatic deinitialization of any statements that follow (try Count example).

Also, IMO promises [3] are just a hack around the fact that the language is not inherently asynchronous. Seriously, who would prefer:

.then(function (foo) {
return doBar(foo);
.then(function (bar) {
return doBaz(bar);
.then(function(baz) {

Over this?

  function myWork () {
foo = doFoo();
bar = doBar(foo);
baz = doBaz(bar);
spawn myWork();

[1] http://code.google.com/p/badvpn/wiki/NCD
[2] http://badvpn.googlecode.com/svn/wiki/emncd.html
[3] https://gist.github.com/3889970

webjprgm 4 days ago 3 replies      
The "callback hell" example is a rather tame one, since the code is readable in a single location just with some nesting. So when I see the FRP solution which is the same amount of code I'm not certain that in a complex example this actually solves the problem. You can still have lift statements scattered around a program just like you can have callbacks to various functions scattered around.

The solution to GOTO was to remove it and replace it with a few control structure forms that enforced locality. I remember converting someone's GOTO-laced code once and basically everything could be re-written with some clever use of do-while with break statements and an occasional flag variable. do-while, while, for, etc. replace GOTO in 99% of cases and enforce the desired code locality for readability.

So what syntactical structure could enforce locality of time-connected variables?

E.g. some idea like this:

    data, err <- $.ajax(requestUrl1)
if( err ) {
data2, err <- $.ajax(makeRequestUrl2(data))

Where the <- syntax could be like an = statement but say that the assignment and all following statements are placed in a callback.

Sephr 4 days ago 1 reply      
One way to escape callback hell is to use a async.js (https://github.com/eligrey/async.js), which uses yield to abstract away callbacks. It's Firefox-only (JS 1.7+) though, but that can probably be resolved by using a JS parser and replacing every yield with JS 1.5 callbacks.

Full disclosure: I wrote async.js.

debacle 4 days ago 4 replies      
Callbacks are different than gotos in that they are aren't even remotely close to gotos.

With a callback, you can get into 'callback hell,' however the root cause of that is that you probably don't understand the nuances of properly architecting a solution that involves the power of first-class functions.

JavaScript is nice because the scoping of the callback is easily controllable through your invocation method, and if you've created a good object model then it's relatively easy to maintain an understandable state.

When you explicitly define callbacks like in the examples, you're tightly coupling the response handlers to their requests, which is a relatively poor implementation and will bite you in the ass later on.

herge 4 days ago 1 reply      
This reminds me of the pain of dealing with python's twisted library, albeit before inline callbacks were implemented.

Inline callbacks as implemented in python can make asynchronous code a lot easier to read:

jawns 4 days ago 2 replies      
So, this Functional Reactive Programming stuff compiles to Javascript, right?

Is the resultant Javascript just a bunch of nested callbacks, as in the example the blog post uses to illustrate spaghetti code?

wglb 4 days ago 0 replies      
This kind of confuses two important ideas, both discussed by Dijkstra.

The most popular was his article about gotos.

Another idea in his writings was that time-dependent programming was dangerous. He was talking about interrupt based programming specifically, and also addressed the common practice of some hardware to have asynchronous IO. You would start an IO operation, and go on and do other things, come back later and see the values there.

So these two things are not alike. They both cause confusion about what the program is doing, but they are not "like" each other.

To be a better programmer, it is good to read Dijkstra. It is really all about avoiding errors in programming.

peterbe 4 days ago 1 reply      
Isn't `yield` the solution to all the problems? It makes things responsive and avoids the callbacks entirely.

For example: http://www.tornadoweb.org/documentation/gen.html

jblow 4 days ago 4 replies      
Callback Hell is certainly a real thing. I decided 12 years ago that I would never use callbacks if I could avoid it (the only wai you can't avoid it is if an API forces you to use them); I have never looked back. Regular, simple, straightforward imperative flow control is a very powerful thing, and any time you give it up or make it more squishy and indirect, you had better be getting something big in return. Usually you aren't.

That said, what the article proposes as a solution is bananas. You don't need to do crazy functional acronym things; just don't use callbacks. Good C/C++ programmers in the field where I work (video games) do this all the time. It's not hard except that it requires a little bit of discipline toward simplicity (which is not something exhibited by this article!)

darwinGod 4 days ago 0 replies      
As someone who writes C code for a distributed system that uses event-driven callbacks ( Zscaler) (yes,the binding is at compile time), I was aghast when I saw goto's in the codebase. I mean,I believed programmers were indoctrinated with " using goto = goto hell". I have realized that if used smartly,goto's cause no problem-say in error handling. I can confidently say I have not seen a single bug because of improper usage of goto in the last 1.7 years. And we do a lot of interesting things in C,including talking to a Postgres database,having a messaging protocol layer,doing shared memory manipulation etc.
jcampbell1 4 days ago 0 replies      
@mpolun - It appears your account has been hell-banned. You need to create a new account so I can upvote your comments:

mpolun> I agree that raw callbacks can get out of hand, but the typical solution in js is to use an event emitter (http://nodejs.org/api/events.html) or promises (like https://github.com/kriskowal/q), the latter of which seems to be pretty close to what this article is talking about. Is there a fundamental difference, or are promises an example of functional reactive programming in a language without direct support for it?

chubbard 4 days ago 1 reply      
Two observations. First, great how do we debug it? How can we see our signals between each step? How about beyond simple print/logging?

And two, I like his contrast between async vs synchronous flows, and recognizing synchronous style programming has many benefits that CPS doesn't. However, I think even this style still hasn't solved the bigger problem with asynchronous style programming. The ability to reuse it easily. In synchronous style programming I can reuse code and add to that block by calling the method, then after that method is done add my code.

   ... my code before ...
var result = someMethod()
... my code after ...

It's just that simple with synchronous style. With async style the author has to provide you a hook to hook onto the end or beginning of this flow (adding a callback param, returning a promise, etc). I think even with using signals you have the same issue. Without explicit hooks you can't hook more code onto it like you can with good old fashion synchronous programming. Not to mention error control flow is turned upside down too.

I'm intrigued by the ideas of signals over callbacks, but I don't know if they fix enough problems with callbacks yet.

aurelianito 4 days ago 0 replies      
Actually, callbacks are the Intercal's COME_FROM instruction (http://en.wikipedia.org/wiki/COME_FROM).

So, it is even worst!

grimtrigger 4 days ago 1 reply      
One thing I'd like to see from languages that compile to js: Some kind of evidence that output readability is a concern. You can make some beautiful abstractions, but if I can't debug it when things go wrong, then there's no way I would use it.

Not making any comments about Elm's output, but the author clearly doesn't consider it a priority in the post.

Jacob4u2 4 days ago 3 replies      
The author offers an alternative that would require a change to the language. Callbacks and their use in "callback hell" are a little different than use of "goto"; "goto" appears to have an obvious alternative that was more logical to use already implemented in the language. For javascript, there is none of the nice syntactic sugar (reminds me a lot of C# recent async changes) that the author suggests and is not even being proposed for ECMA 6.

I agree it would be nice to have that stuff, and that callbacks can get a little hairy, but they are the best solution available at present. Shall we stop developing applications in the mean time while the language catches up, or even worse, browsers actually consistently implement the changes?

halayli 4 days ago 0 replies      
Agreed. It's one of the reasons why I wrote lthread. Implementing any non-trivial protocol over a socket for example will lead to callback hell. There are plenty of states to transition from/to and it's very easy to get it wrong no matter how good the code is structured.

Forget Javascript for a second, and take a look at a typical http proxy written in C using callbacks to see what a callback hell looks like. If 5 developers are working on such a project, it will require a lot of mental effort from each developer to keep the callback flow up-to-date in their head.

ccleve 4 days ago 0 replies      
You've got to ask, why is async programming used at all? The reason is twofold: first, the C10K problem, where too many threads kill performance, and second, sometimes you want to have multiple tasks run in parallel.

There are fairly simple syntactical solutions to both problems.

  result = doSomeAsyncTask()
result.yield() // drops the thread, picks it up on response
// do stuff with result here

This magic yield() doesn't exist (to my knowledge), but if it did, it would preserve linear code and also solve the C10K problem.

You could have similar code to solve the multiple task problem:

  result0 = doSomeAsyncTask0();
result1 = doSomeAsyncTask1();

while (result = getNextCompletedTask(result0, result1)) {
// do something to result

A Future in Java does something like this, but it doesn't drop threads.

cbsmith 4 days ago 0 replies      
Voting up just for not using a "...Considered Harmful" headline, particularly since the author obviously is familiar with the idea.
absconditus 4 days ago 0 replies      
Here are the slides from Evan's talk at Strange Loop:


zimbatm 4 days ago 0 replies      
I'm not convinced.

I'm not familiar with the last approach but it seems to me that with a couple of higher-order functions in JavaScript, the code will quickly become more manageable.

  function getPhoto(tag, handlerCallback) {
asyncChain(requestTag, requestOneFrom)(tag, function(photoSizes) {

getPhoto('tokyo', drawOnScreen);

whatgoodisaroad 4 days ago 1 reply      
This seems like a bad analogy. Dijkstra's paper was in favor of "structured programming",and the problem was that goto was too-unstructured. If anything, callbacks are excessively structured.

Also, why is nonlinear code a bad thing? If the program behavior should be nonlinear, then neither should the code.

grogs 4 days ago 1 reply      
Another approach to async IO is CPS (continuations passing style), in which you write imperative style code. This imperative style code is then compiled such that the blocking IO operations are called with callbacks, which are the remainder of that block of code (the continuation) - allowing the calling thread to be re-used while blocking for IO. Relies on the continuation having access to the outer/parent/previous-part function via closures.

It'll be interesting to see if people start doing this. Requires people to understand continuations and closures (which more people have exposure to now via JavaScript), and library support.

bunderbunder 4 days ago 3 replies      
The number of languages that compile to JavaScript is starting to become disconcerting.

How long until we get tired of adding epicycles and just specify a VM and bytecode standard that all the browsers can implement and all the client-side languages can compile to?

vvpan 4 days ago 1 reply      
I've been a JS (which is the land of callbacks) programmer for only a few months now, and I would disagree. Yes you can write deeply nested callback chains, but you don't have to most of the time. There are a couple of ways to avoid it.

* The async library mentioned by other posters helps a lot.

* Libraries like backbone make writing event-driven software easier.

But to sum it up: it's like anywhere else, bad programmers write "callback hell" code, and good programmers don't.

ams6110 4 days ago 1 reply      
It [synchronous call] basically dodges the issue of time-dependence by just freezing if it is waiting for a value. This blocks everything in the program. Mouse and keyboard input just piles up, waiting to be processed, presenting the user with an unresponsive app. This is not an acceptable user experience.

It depends on what else your user can realistically do before the call completes. In many cases the answer is "nothing." He needs the result of the call before he can proceed in his task. In simple web apps this happens a lot. In those cases I will often just make a synchronous call and avoid all the callback complexity.

apeace 4 days ago 0 replies      
Having programmed in many languages, but most recently Node.js for the last two years, I don't think "callback hell" is as big a problem as the OP makes it out to be.

Debugging huge, complicated, and even poorly written Node applications doesn't feel much different to me than debugging huge, complicated, or poorly written Java applications. Sometimes it's a pain, that's unavoidable. You can prevent it to an extent by writing clean, tested code.

I don't see a strong resemblance between goto and callbacks. The resemblance is just as strong between goto and any function, or class

vinayan3 4 days ago 1 reply      
Callbacks do lead to hell. The back traces half the lead you now-where. I have been writing a scrapy crawler and sometimes when an exception happens it takes some grepping around to figure out where the value that is wrong actually was generated.

Has anyone touched the Google Chrome code base? It is quite difficult to start debugging problems because of the sheer volume of callbacks. Add to that the stack-traces are massive because of the use of templates and other C++ language features.

Async coding needs to be an abstraction within the language. I am curious how languages manage the shared memory. What about the risk of dead locks?

grannyg00se 4 days ago 2 replies      
"It is pretty much the same as using goto to structure your programs."

I don't see how a self contained block of code can be equated to goto where the flow can bounce around all over the place.

The example callback "hell" code doesn't look any more complicated than the solution Elm code to me. Maybe the improvement is going over my head and I need to read it again. I just don't see it. Then again, I feel the same way about Coffeescript. These javascript helper languages just seem like an unnecessary added level of complication and cognitive load.

nextstep 4 days ago 2 replies      
Can anybody recommend a way to avoid Callback Hell in Objective-C?
Evbn 3 days ago 0 replies      
I don't get it. His example just uses "let ... in" syntax instead of putting the next func as an argument to the first. It seemed to be exactly the same thing "deeply nested functions". He just chose not to indent after the "in", and he has a nicer syntax for nested functions.
sses 4 days ago 1 reply      
I used a functional-reactive-language-that-compiles-to-javascript for a web app, in a project that lasted about 3 years. It solved callback hell, and solved some UI problems, but created some hard UI problems as well. I'm not sure how this would translate to a server, but some examples anyway.

It seemed impossible to completely escape imperative programming. Mouse click handlers for example were much more natural to write imperatively; changes made in the imperative code would propagate as signals in a reactive way.

Reasoning about what happened around the boundaries of imperative and reactive code was hard, especially as the application grew in complexity. If I have a UI element that depends on two other signals - think spreadsheet cell with a formula that depends on two other calculations - do I want to update it as soon as one signal changes? do I wait for both to change? Do I want different behaviors in different circumstances? It often led excessive layout changes as values passed through intermediate states, or code being executed multiple times unnecessarily.

jberryman 4 days ago 0 replies      
Marginally related but IYI, I recently wrote a JS lib for writing loops with a delay, to avoid one instance of callback hell:


padobson 4 days ago 1 reply      
Link seems broken, page fails to load.
rgbrgb 4 days ago 1 reply      
An alternative method of decoupling callbacks is to make heavy use of events within your program. However, perhaps an event is even more like a goto because it doesn't encapsulate state.
jschrf 4 days ago 1 reply      
The solution to all of this is incredibly simple but for some reason very few people seem to utilize it: State machines.
krob 4 days ago 0 replies      
Amen brotha! I totally agree. Callbacks, especially nested callbacks are a nightmare to debug, and especially to refactor.
schd 3 days ago 0 replies      
Does anyone recall the article a few months back that sort of dealt with callback hell? It was a concept from a different language (which one, I don't recall) that worked basically with returning 2 values and formatting your functions according to a general model.

Yes, that's a bit vague, but that's all I've got to go on. :)

exabrial 4 days ago 1 reply      
So essentially, everything about node.js is wrong? Hmm. Didn't see that coming!
tjholowaychuk 2 days ago 0 replies      
goto is sweet
US Government: You Don't Own Your Cloud Data So We Can Access It At Any Time slashdot.org
239 points by Sander_Marechal  3 days ago   121 comments top 24
nirvana 3 days ago 2 replies      
Hear me now, believe me later: If you keep your customer data on your servers, it behooves you to host your servers outside the USA.

If you do this now, while you're a startup, you'll have a lot less hassle in the future when you're losing customers because of jurisdictional problems.

Right now, people are only barely aware of the growing surveillance state in the USA. They're all aware of it, of course, but they think that only terrorists have to worry. In the last couple years, increasingly the government has gone after regular people, like hip hop blog authors, and people using megaupload to avoid emails file size limits.

I'm sure for many of you, you don't care cause you're hosting cat pictures or whatnot. But if you've got customer confidential data, especially financial data, it would be a good idea to find a jurisdiction that still respects privacy.

I'm not a lawyer and this isn't legal advice, but my casual explorations indicate that Iceland might be a good jurisdiction.

sologoub 3 days ago 3 replies      
What I don't really get here, is how is storing data in a cloud service any different, from the legal perspective, from a safety deposit box at a bank or a storage locker in a public storage location?

The paradigm seems very similar - I go to a service provider, pay them money to give me certain amount of private space, put my stuff there, lock it with a key and go on my merry way. When I want to get my stuff out, I go to the location, unlock, get the stuff, re-lock and go.

US laws seem to have very strong protection against someone going and taking my stuff from there. Even if the bank or the storage place go bankrupt, I'm fairly sure no one is legally entitled to go through the stuff that is being stored.

Further, if one of the bank's or storage place customers happens to store something illegal, law enforcement typically needs a warrant to seize it. However, in no way are they entitled to take or destroy property of others, not relating to the warrant.

The ONLY meaningful difference seems to be that they can't easily just access the "storage box" associated with the warrant, and servers are much more portable, so they feel entitled to just take the entire thing. I guess that if your bank had no way of opening the lockbox, law enforcement might feel entitled to take the entire vault...

gbog 3 days ago 3 replies      
This resonates well: I just finished a first proto install of a local personal cloud with a Raspberry and a USB drive. I've always been reluctant to putting my files in a 3rd party cloud except for backup. I have pics of my kid and feel I have the duty to ensure these will still exist in 30 years, and in 30 years most likely none of Amazon or Apple or Google or Dropbox services will be the same as they are now, if they are not simply discontinued.

I live and work in China, and often advoces the same lines to my colleagues, most of whom are trusting Apple with all their files. They don't see the danger, but even if you leave politics aside, moral values and taboos change much faster than we think. For instance, the "loli" thing in China is not taken as seriously (litote) as it is in the West, and many pics/drawings that would send you to jail in US are deemed most innocent here. But in 20 years it can be different.

The electronical devices I buy are my property, I have root access. I can change the software running them.

My files belong to me and no-one else. I am responsible of them, if some are lost it is my fault.


mtgx 3 days ago 1 reply      
And yet they keep saying Europeans have nothing to worry about and they shouldn't fear the Patriot Act if they keep their data on the servers of US companies. Yeah, right.
DanBC 3 days ago 1 reply      
Some elements of US seem determined to destroy any advantage that the US has for some tech companies.

Some tiddly micro-nation will get some decent bandwidth, implement strict privacy laws, and become Switzerland for data.

patio11 3 days ago 8 replies      
How quickly we rediscover property rights in bits when they're our bits, as opposed to the RIAA's bits.
hastur_immortal 3 days ago 1 reply      
Of course, US Govt is not the biggest of our problems. Others include:

- Rogue (or just bored) employees of web companies accessing customer data for fun or profit. (Happens much more often than you think, also in govt agencies.)

- Internet criminals breaking into cloud accounts and stealing data.

- Companies using their knowledge of their customers against those customers in disputes and legal challenges.

- Companies trying to extract the most financial value from customer data by selling it to questionable outfits.

- Foreign intelligence services and outright criminal organizations getting access (through 'hacking', bribery or threats) to any information hosted by any web service and many government institutions.

[I mean, for Christ sakes, if a news publication (NoTW and other tabloids) can buy some very private data of celebrities from UK police, how hard would it be for an organization with bigger resources and no fear of legal retribution to access any electronically stored data - especially by companies?]

* * *

And yet the trend in our merry startup world is to put everything in the cloud. Try asking any web company for a self-hosted version of their service.

For instance, can I get a Evernote server software to roll my own Evernote server? (Compiled and obfuscated, encapsulated in a VM appliance, I don't care.) Even if I was willing to pay for it like for any other software? No. Actually, Phil Libin was asked about it on the Triangulation show on TWiT. His answer? (paraphrasing) "Well, um.. It would be hard, um... The real question is: how do we make you trust us." Well, if that's your answer, you've already lost me. I mean, go ahead, keep my recipes and random silly photos. But if you expect me to trust you with my private documents or my schedule or anything of any IP value from my work, then you have a much bigger problem than communicating.

And so does your company, dear HN reader.

(Well, unless you're doing something frivolous, of course. If you're into the next FartingApp™ or photo-sharing-with-a-twist website, then I guess you're safe, for the most part.)

Osmium 3 days ago 2 replies      
I continue to be disappointed the US doesn't have data protection laws (in the style of the EU), because that addresses precisely this issue: you own your data.

Furthermore, I continue to be irritated that non-EU companies don't comply with these laws while still offering their services in the EU. You can't have it both ways. The physical location of the server or the legal entity behind it shouldn't matter: if you want to offer your services to a country, you should have to abide by local laws.

It's issues like this that really emphasise just how young the Internet is, in that the law still hasn't caught up. I find it sad that a lot of these issues are being resolved "accidentally" (i.e. when it comes up in court and laws that predate the digital world are used to set bad or misguided precedents) rather than proactively, by trying to make new laws that take the nature of the Internet into account. Surely that's what the EFF should be campaigning for. Why not require, by law, all cloud providers to offer an API to let users access, modify or delete any and all of their data?

furyg3 3 days ago 3 replies      
Is there anything currently in the "let me access my files from anywhere" (aka Dropbox) space that supports private key encryption while maintaining some level of convenience?

I'm happy to give up some features (collaboration, web access) for the peace of mind that comes from random governments not being able to read my data whenever they like...

Or do I have to roll my own?

lambada 3 days ago 0 replies      
Link to the actual article, rather than a slashdot summary:
With a PDF of the Gov's filing here:
mikehotel 3 days ago 1 reply      
From the Government filing:
"Any ownership interest by Mr. Goodwin in that data would be limited by at least two separate agreements: (1) the contract between Carpathia and Megaupload regarding Megaupload's use of Carpathia servers; and, more specifically, (2) the written agreement between Megaupload and Mr. Goodwin regarding use of Megaupload's service. Those contracts not only bind Mr. Goodwin's use of Megaupload's service and Carpathia's servers, they also likely limit any property interest he may have in the data stored on Carpathia's property. Thus, the Court should limit the breadth of the initial hearing to whether Mr. Goodwin has a prima facie case, i.e. whether he retains any ownership interest in copies of files which he uploaded pursuant to agreements which may have severely limited any ownership rights."
grecy 3 days ago 0 replies      
A little while back the Australian government officially recommended Australian business don't use the cloud for this very reason.

How long will it be before every country goes to extreme lengths to avoid the American legal jungle?

pi18n 3 days ago 2 replies      
My opinion is that if you put anything sensitive into the cloud without encrypting it, you are not doing it right. If you don't want the government reading whatever it is, why on Earth would you trust the cloud providers?
leke 3 days ago 1 reply      
Imagine if the government had private data in the cloud and somebody accessed it. Do you think that person would be able to say in court, "The government doesn't own its cloud data, so I accessed it."?
SODaniel 3 days ago 0 replies      
Like beating a dead horse: Client side encryption key creation and encryption!

Zero knowledge is the answer. We need to become accustomed to securing our data BEFORE we make it 'cloud available'.

azernik 3 days ago 0 replies      
Meta-point - I much prefer links to original content e.g. the EFF statement over links to the Slashdot (or other link aggregator/discussion forum) discussion thread.
rayiner 3 days ago 2 replies      
What "property rights" do you have in data files in the first place?
tsahyt 2 days ago 0 replies      
For me, personally this isn't much of a problem, since I've got exactly no data at all hosted on cloud services. All the data I want to use on the go, as well as from home, I host on my own server. Therefore the data is, as far as I know, my property.

However, anybody running a business on customer data might want to think about the implications of this. The real question is where to put the servers. The EU isn't much better about this than the US (since they've spent most of the last few years with their heads up in America's bottom anyway).

jaimefjorge 3 days ago 0 replies      
I wonder what this means for services like github?
smogzer 3 days ago 1 reply      
It should be quite the contrary. The government(that represents the public) data should be open, like in a stream, where anybody can see what's "flowing", gov emails should be shouted to the stream. Then the public or some algorithm should analyse the stream to maximize global happiness, resources, prosperity.
tsotha 3 days ago 0 replies      
Seems like a problem tailor made for encryption.
cientifico 3 days ago 1 reply      
Nice !!! So all the fimls are free as noone owns the data. That means that films on the cloud, have no ownner, and no responsable. So if I host a film in a server in amazon, I can also say that I am not the owner.
known 2 days ago 0 replies      
Petition to Obama Administration http://wh.gov/bl2
peterknego 3 days ago 0 replies      
Hmm, does this apply if I use leased server in a leased space.
‘Creepy Cameraman' pushes limits of public surveillance geekwire.com
235 points by turoczy  2 days ago   154 comments top 41
graue 2 days ago 9 replies      
This is nothing like public surveillance, just as Google's use of tracking cookies is nothing like having a random stranger look over your shoulder and stare as you search the web.

This cameraman walks up to and harasses specific people. When you are in public, and there's a surveillance camera, you aren't being targeted specifically. You're no more interesting than anyone else in the frame. Moreover, it's highly unlikely that anyone's full-time job consists solely of watching the one camera that happens to point towards you. Maybe there is a guard watching an array of a dozen cameras. The unit of human attention directed towards you is much, much less.

Furthermore, a creepy guy holding a camera is a very different type of potential threat than a camera mounted on a wall. The people filmed don't know that he's just going to film them. He could begin mumbling erratically, ask them for money, or even physically attack them. All of these possibilities are especially likely considering he already violated social norms by wordlessly coming up to them with a camera.

I don't think this demonstrates anything about surveillance. The guy is a jerk and I found myself empathizing with his victims. I don't buy the point he's supposedly trying to prove.

Permit 2 days ago 5 replies      
This experiment would have been equally disturbing to people had he done everything the same but not held a camera. The camera is not what is creeping people out.

If I was in a classroom and someone came and stood five feet away and just told me they were watching me, I would be on edge as well.

lordlarm 2 days ago 2 replies      
In Europe (and we see this all over the world now) we also have what I would call network surveillance, for example the "Data Retention Directive" in EU[0].

The philosophy is: «We are observing you and saving the data, but if you do not do anything illegal no one would ever see what we have recorded. So, you can't really call it surveillance."

These are actual arguments made in this debate, and it reminds me that we are not only under surveillance by cameras, but also online.

What this guy is doing in the videos is (probably) not illegal, just really offensive and obtrusive.
Equally disrespectful are the surveillance cameras, only they are hidden away. Out of sight, out of mind.

[0]: http://en.wikipedia.org/wiki/Data_Retention_Directive

gioele 2 days ago 0 replies      
Beware of the gargoyles: http://www.cyberartsweb.org/cpace/cyborg/kawstretch.html

«Gargoyles represent the embarrassing side of the Central Intelligence Corporation. Instead of using laptops, they wear their computers on their bodies, broken up into separate modules that hang on the waist, on the back, on the headset. They serve as human surveillance devices, recording everything that happens around them. Nothing looks stupider; there getups are the modern-day equivalent of the slide-rule scabbard or the calculater pouch on the belt, marking the user as belonging to a class that is at once above and far below human society. They are a boon to Hiro because they embody the worst stereotype of the CIC stringer. They draw all of the attention. The payoff for this self-imposed ostracism is that you can be in the Metaverse all the time, and gather intelligence all the time. [Snowcrash 123-124]»

karpathy 2 days ago 2 replies      
Can someone comment on whether or not he is actually breaking any laws? Especially when simply recording on public streets?

At least based on this article "Know Your Rights: Photographers" (http://www.aclu.org/free-speech/know-your-rights-photographe...) what he is doing is perfectly legal: video-taping while standing on public property. On private property it is not ok and you have to leave when asked, which he does.

The situation only gets tricky because of the audio, and in this case it matters what state you're in. Still, it seems like the legality hinges on "reasonable expectation of privacy", which someone casually sitting at a Starbucks probably does not, or at least should not have. Also, in all cases the subject is clearly aware of being recorded.

On the other hand, in one of the clips two guys call the police and he runs away trying to avoid confrontation. That seems odd.

wilfra 2 days ago 3 replies      
The camera is not what bugs these people, it is him. If it were a cute little kid or a super model - or just somebody with a much better attitude - there would have been a much different response.
shanelja 2 days ago 2 replies      
Here's my $0.02.

Firstly, with regards to his actions outside of private properties, how are his actions any different to say, a journalist stood with a camera with a long range lense taking pictures from the highway to the office? The invasion of privacy is still clear, the only real difference is the knowledge of the situation.

After having security cameras follow around our every move (I live in the most widely covered town in England) we have become numb to it, it has just become a part of every day life to expect to be stalked by the police and other entities. I believe the uncomfortable feelings these people experienced were due mainly to the fact that he was also though, but that alone would not make them uncomfortable, if say, for instance he was stood in the street taking a video of nothing in particular, say, the other side of the road, people would happily walk by him with little or no discomfort.

The point where he started "invading privacy"[1] by following people round is where they began to feel uneasy, being followed by a camera man is unnatural, but I beg the question, how is this any different to paparazzi? How is this any less legal, say, they the topless photos of Kate Middleton, following Lady Gaga in to a hotel to get some exclusive shots or taking a photo of Madeleine McCann's parents while they are in their home?

The legality of this is in question by a few of the posters, but I feel this is totally wrong, it should not be the legality of whether or not to record audio, or whether the video can persistently track you, it should be a question of free speech versus privacy.

On the one hand you have an annoying man who isn't doing any genuine harm, on the other hand you have a person who clearly believes their privacy is being infringed, the question is, to whom do the majority of the rights fall.

I'm no expert on American laws, but from what I know, freedom of speech is protected by the first amendment, and you could argue that if he is trying to change peoples views and mentality with this video, it is in fact a form of speech and should be afforded the same rights, though a general exclusion is invasion of privacy, according to the Wikipedia page regarding the first [2], but if so, why is a security camera not an invasion of privacy?

I would be willing to bet a significant portion of this months wages that even if he followed suit with the security cameras and removed the sound from his recording, almost every person would still have felt uncomfortable, especially in the UK, where legally, unless you are suspected of having committed an illegal activity, a hand operated security camera can not track you for more than 5 seconds. [3]

[1] - If indeed, the right to not be on video while in public should be regardless as privacy, can you truly have privacy while in public?

[2] - http://en.wikipedia.org/wiki/Time,_Inc._v._Hill

[3] - This number was given to me by an operator of the Blackburn with Darwen CCTV unit several years ago when I took part in a visit for high school and as such I have no proof, so take this point as opinion.

prostoalex 2 days ago 1 reply      
Couple of trends I've noticed:

1) Recording and Web streaming technology has reached the point where it's cheaper and easier to buy and install a bunch of 802.11n cameras and configure them to stream to Web than to buy a configure a home security system and fiddle with installation, DVR, hard drives, etc.

2) People manage their privacy expectations. I live in a complex that's next to a public park, and our HOA forum erupted when it turned out one of the neighbors was surreptitiously recording the view of the park, and posted a video of an unleashed dog, which is a violation of park rules. After much huffing and puffing from the dog owners who thought their privacy was being invaded, they learned the practice is in the clear, and is perfectly legal.

3) I wish companies would stop posting the "This are is under surveillance" signs. I understand the intent is to reduce crime, but this creates the false impression that a private business owner or government entity is required to post such sign on their property.

To rephrase famous Eric Schmidt quote, if you don't want something to show up on YouTube, don't perform it in public space.

motters 2 days ago 1 reply      
I think the point here is that the notion of privacy is actually quite a complicated one. If you asked people in a cafe or a supermarket if they knew they were being videoed then they'd probably say "yes" and be able to point to one of several nearby surveillance cameras, but if you dismount the surveillance camera and hold it manually close to someone then the reaction according to these videos is usually one of surprise shortly followed by hostility.

If the creepy cameraman keeps up his antics then sooner or later he's going to get arrested for stalking, and yet this kind of constant and very intrusive surveillance is going on online all the time, and with new laws it's probably going to become still more intrusive.

Why don't people react the same way to surveillance cameras in supermarkets, streets, offices, etc or to the even more extensive surveillance online (think "warrantless wiretapping" or mobile phone geolocation data)? I think this is primarily due to anthropomorphic factors, plus habituation. The online and CCTV surveillance isn't "in your face" and invading your personal space in quite the same manner as someone holding a security camera. Plus, in the early days of CCTV introduction in the 1980s and 1990s there were some people who reacted badly to seeing cameras watching them in stores, but gradually over time society has just become habituated to that being the normative situation.

geuis 2 days ago 0 replies      
With the exception of @comice, I think almost everyone here is missing the point of what this project is about.

It's not about legality of having the right to film in public. It's an act of art to point out the discrepancies in our perceptions of how we are surveilled.

When the camera is on a wall, it just becomes an object in the environment. When the camera is attached to a person walking around, it gets pulled out of the environment and into our perceived personal space. The end result is the same, video being captured of your actions at very close range and you don't know where it's going or what's being done with it.

The only difference is what the device is attached to. This is an animal instinct at play, and is why most people totally miss the point. We don't start responding at an emotional level until it feels like another creature has locked its eyes on us.

The last part to remember is how difficult it must have been for the guy. If you have ever done street photography, you'll immediately recall the gut-level discomfort that sometimes shows up when taking photos of strangers. When your subject looks back at you with those "why are you photographing me" eyes, you shirk. It takes a lot of repeat practice doing this until you learn to ignore that discomfort. This fellow was getting up close and personal with his subjects and it must have been 10 times worse. I can imagine he really had to psyche himself up to do it before he got over the discomfort.

aes256 2 days ago 0 replies      
I'm going to go out on a limb here and say this is a brilliant, fascinating, and (from the one clip I've seen) well executed social experiment.

This is similar to a strategy often employed by Scientology against their critics. Just go out and film them whenever they are in a public place.

Don't answer questions, don't give reasons, just film them. You don't need a reason; you are in a public place, you can film whoever or whatever you want.

Truly fascinating. It's very interesting how quick many of these subjects are to anger.

comice 2 days ago 2 replies      
Imagine if everyone got this angry whenever they noticed a CCTV camera. Imagine putting up CCTV in your store and all your customers started ranting about privacy and left, or called the police. It'd be amazing. There would be no CCTV.

Wondering how we can get people this fired up about privacy in other contexts.

biturd 2 days ago 1 reply      
My opinion is that this guy is very illustrative of how screwed we are with regard to privacy, yet I'm having trouble deciding which side to be on, since I can't have it both ways.

If we could, for arguments sake, ignore the issue of different states having different laws on the audio aspect of recording. I believe the audio law I am referring to was designed to protect the public from being secretly recorded on the telephone. Unfortunately, it has been misappropriated with regards to changes in technology.

It is my understanding that you have the right to photograph/video ( again, gloss over audio issues for a moment ) anything you desire as long as you are on public property. You can even peer into private areas while being located on public property. This all comes down to what is referred to as a "reasonable expectation of privacy". Someone has already linked to explanations if these laws.

It's the very premise that allows the paparazzi to exist and be profitable at what they do. That and despite what the famous may say, it's a relationship that need exist or they would not be famous. If you are sitting inside an all glass Apple store and someone films you from outside, you had no expectation of privacy before you walked in, every passerby is seeing you with their own eyes just not recording it permanently.

I'm actually in support of this. I believe it's part of freedom of speech to be able to record or photograph things while in public.

Yet oddly, I'm very much against the rise in CCTV in every store I go into. I think perhaps this comes down to one key word for me. "Surveillance". I don't like automated surveillance becoming more and more commonplace. But a photographer or videographer is not performing such an act.

There's also part of me that feels all law enforcement should be recording everything all the time. For their protection as well as the publics.

I think the guy brings up some interesting points, as before thinking about this I was pro public ability to record, even into private spaces, asking as from a public location. But a CCTV is doing the same in many cases. I think most of you understand the internal debate in having with myself.

I think one interesting point is how the majority of people got immediately angry. Some felt they had a right to privacy while in public, for which they are wrong. And others, I believe mostly "security" took it as far as assault and either touched, shoved, or pushed the guy with a few hitting his camera.

He may be more effective if just before he left, he handed them a small flyer that brings to their attention all these issues. It's nice to see people have an opinion about something, and they very clearly have strong and loud opinions as these videos show. But they are very quiet as another 100 cameras are installed in their local pumpkin patch.

asdfaoeu 2 days ago 8 replies      
I don't really understand his point, it's obviously quite different to passive surveillance cameras which: don't follow you around (are avoidable); don't generally record sound with enough fidelity to discern conversations; and are operated by more reputable entities than some random creep. It wouldn't surprise me if his behaviour in the videos wasn't already illegal.
scotty79 2 days ago 0 replies      
I'd probably react same way if this guy had no camera and just stood and looked at me and listened to what I say.
grannyg00se 2 days ago 0 replies      
This would have gotten very interesting if he had tried his experiment on the sidewalk outside of a schoolyard or daycare playground.

Unfortunately his experiment has a confusing methodology because he is introducing himself as a variable in the testing. And barging into closed rooms completely complicates the point.

Then again, maybe his objective is simply to stir up some discussion.

I'd like to see this tried with some less irritating filming method. Perhaps a small camera mounted to a moveable remote control device with a sign on it indicating that it is conducting random anonymous surveillance.

donpark 2 days ago 2 replies      
Creepy Cameraman is a Paparazzi, meaning that what he is doing to common folks on video is no different from what famous people are being subjected to everyday.

Question is why is it acceptable to us when Paparazzis do it to Hollywood stars but not when same is done to us?

lazyjones 2 days ago 0 replies      
Nice trolling, shows how violent and ignorant of surveillance (both the CCTV kind and from whatever existing and new gadgets bring us) society is...

Do you ever wonder how many times your "private conversation" was listened in on or recorded by some stranger (with his mobile phone e.g.), accidentally or on purpose?

The point about celebrities having to endure these things every day is excellent too ...

BryanB55 2 days ago 3 replies      
What a terrible idea. This guy is going to get himself killed. I think there are two issues here, one that he is filming but also that he is invading personal space and picking out specific people and essentially staring at them. Tactically, if a stranger begins staring at me or targeting me in some odd way I consider them a threat to my life.
pirateking 2 days ago 0 replies      
An interesting situation would be where the one being recorded by C. Cameraman, pulls out their cellphone and starts recording him back. Surveillance stalemate.
confluence 2 days ago 0 replies      
The people are reacting to the threat that he represents, and not really to the camera he's holding. He sounds like a young adult male and acts like he is either delusional or insane. Humans perceive others acting specifically oddly to themselves as a danger and tell him to back away - they don't know that he is trying to make a point, and to them he could be a pervert, a stalker or any other bad thing. He'd get the same reaction if he stared at them or stalked them.

Stare/stalk situation:

> Threatened person: "Why are you staring/following me?"

> Perceived threat: "I'm just looking/walking."

> Threatened person: "Stop doing it or I'll call the cops."

Surveillance cameras don't get the same immediate reaction because there is no human behind it who could be an immediate danger. Also they aren't literally in your face nor as physically intimidating as an adult male would be.

The only point he proves is that perceived stalkers of unstable mental state freak people out.

capred 2 days ago 1 reply      
I find it interesting that he records everyone else and puts them up on youtube but doesn't reveal his own identity.

More of his approach is about antagonizing people and seeing how they react rather than highlighting the ubiquity of surveillance equipment.

I wonder how he would react if he was the one being antagonized.

vijayr 2 days ago 0 replies      
This is super annoying. Why didn't one of the people recorded pull out their cell phone and record this guy recording others, just to annoy him? And make a "point" if that is what he is trying to do? (May be somebody did, I didn't watch all the videos, just one to see what it is about)
ojosilva 2 days ago 0 replies      
This reminded me of an interesting episode ("The Entire History of You", s01e03) of the UK's Channel 4 series Black Mirror that touches the subject of recording our lives with a "Google Glass" type of device.


Highly recommended if you want to take a fictional look into the subject of public surveillance.

pd: in case the Channel 4 video is not available in your country: http://www.tubeplus.me/player/1968872/Black_Mirror/season_1/...

EGreg 2 days ago 0 replies      
This reminds me of something in the philosophy of ethics:


The more remote something distasteful is from us, the more we can tolerate it. Sometimes moral decisions come down to this. It's interesting to note how this experiment is related to that.

andr 2 days ago 1 reply      
Already the case with British cops: http://news.bbc.co.uk/2/hi/uk_news/england/7510715.stm
dhughes 2 days ago 0 replies      
I work with a few hundred cameras over my head each day I'm used to it and I know the people who control the cameras, maybe that's what bugs people the most; not knowing who controls the cameras?

The equipment, from Pelco, is pretty advances for being almost ten years old. Supposedly you can see the date on a dime from a camera 30 feet away. They can also view the digits on gas pumps from a kilometre away on the other side of a river.

mochizuki 2 days ago 0 replies      
This is very interesting. Though I think everything is defunct because of the presentation of the whole thing. If he made the slightest change, i.e was holding a microphone, people would not only stop what they were doing and allow themselves to be recorded, but they'd let him ask them questions. I think there's enough evidence of this in other YouTube videos where one person calls a random person, puts on their best over zealous voice, tells them they're from a radio station and asks them embarrassing questions that the call-ey couldn't be happier to answer. As outlined in many books it's just a very basic principle of social engineering. People want to give their information out, it's just a matter of asking for it politely. If he had gone into one of those classes and asked to sit in and record it for 2 minutes, even without a purpose, I'm sure they would have been much more open to the idea. A surveillance camera is on the opposite side but the same in many ways, it's not asking anything from you and it's far enough away that people don't feel threatened by it. There is fault in both the creepy camera mans and the people he's recording's logic. The cameraman thinks that they have a problem being filmed at all, and the people think that they're less safe because they can see that they're being filmed. You can bring to their attention the fact that they're being filmed every day all you want but that doesn't change anything because it's so out of site and out of mind that they don't (and won't) see it as a threat.
mvkel 1 day ago 0 replies      
If this camera man acted like a real surveillance camera and held the camera in one position vs. panning it to follow their movement, nobody would care. Nor should they.
ryanstewart 2 days ago 4 replies      
I think this is an interesting project, but by recording sound, isn't he breaking the law? If I'm recalling correctly, the security cameras he's talking about are legal because they don't record sound, only picture.

Or does the fact that it's in public (or at least the ones that are video taped in public) make it legal?

NIL8 1 day ago 0 replies      
I don't know what this person's motives are, but these stunts have provoked thought and discussion about what's happening to us all and where this "surveillance society" is headed.

Actually seeing the individual filming us can be frightening. It makes us want to know who is filming us and why. It arouses suspicion and concern.

The unobtrusive cameras are not just to catch the bad guys, but to allow us to move around our lives without being startled by the fact that someone somewhere is watching us.

pirateking 2 days ago 1 reply      
What if your phone could detect the lens of nearby cameras (because those cameras are detecting you), and flood it with directed light to render it useless?

In every movie and show I have seen, surveillance cameras have always been a joke to bypass. What is the actual state of anti-camera technology right now? Duct tape? Laser pointer? Ski mask?

What consumer grade cloaking technology is on the horizon?

ripperdoc 2 days ago 0 replies      
What people are reacting to is the posed threat, or creepiness, of something. And what we should ascertain is whether being filmed is creepy. Being followed by a man not behaving according to social rules is an obvious possible threat that hardly needs to be proven, but how creepy it is to be surveillanced is another and more interesting point to prove.

So the experiment should be redone to factor out the creepy man. That means, either have a trusted and passive person do the filming (police, reflex-vest, etc) or to set up a tripod with a camera. Even if it was made clear that the video would be streamed to public, I think very few people would react as they did above, simply because a film camera is a lot less threatening than an unknown, weird person.

Dressing up the cameraman in different clothes and behavioural patterns would emphasize this point further. If he seem to be a tourist, a store employee, etc he would be judged less of a threat.

It's not double standard to judge creepy cameraman differently than CCTV, it's simply a rational conclusion that the cases are different.

AliAdams 2 days ago 0 replies      
The trajectory of present technology seems to be towards a constantly greater state of communal knowledge and awareness and I can't see a way to avoid that. Once one person knows something these days, it is easier and easier every day for that knowledge to be made known to others.

I don't think the interesting debate is about whether or not we should fight the seeming inevitability of this, but rather what we can do in response to it.

EGreg 2 days ago 1 reply      
What would I say if this guy came up to me and sat at my table as I was talking?

I'd say "hey, what are you doing?"

"I'm just taking a video"

"Ok, well can you go take a video from over there?"


He would move to another table, keep taking a video of me.

Then I would continue eating.

I am guessing movie stars have to deal with paparazzi all the time.

What if I was on some phonecall or saying something private?

Then I'd say "well can you go take a video of someone else?"

"I'm just taking a video man."

"Yeah, but you want to hear everything we're saying?"

"No, I'm just taking a video"

"And I'm just trying to have a private conversation."

"I'm just taking a video man"

(I tell the person on the phone -- hold on a sec brb, and
put phone on mute)

"What are you going to do with that video?"

"Nothing, just taking a video"

"Are you trying out that camera?"

"No, just taking a video"

"So how long are you going to be taking that video?"

"You seem confused"

"Do what you want" -- and I would move somewhere else, he
would follow me

"Why are you following me?"

"I'm just taking a video man"

"Okay but why are you following me?"

"I'm just taking a video."

"Of me?"

"No, just in general."

"But you're following me."

"Well, I--"

"Um, yeah. I think you've proved your point. Can you try it
with someone else now?"

"I'm just taking --"

"Yeah, I know, a video."


"I guess I must be famous. You're not going to stop?"

"I'm just taking a video."

(I turn to someone who works at the store -- "This guy keeps
following me with the camera")

They turn to the guy: "Sir, I'm gonna have to ask you to
stop filming"

"I'm just taking a video"

"Well you can take a video outside."

"But I'm just taking a video..."

"Sir, please leave now."

(they escort him out)

(I resume the conversation and have a good laugh at what
just happened, still not sure what the guy's point was.)

shredfvz 2 days ago 0 replies      
__The Five Stages of Coping With Surveillance__

1. Denial: This man isn't going to constantly video tape me for an uncomfortable amount of time.

2. Anger: I can't believe this man is constantly video taping me for an uncomfortable amount of time!

3. Bargaining: Maybe this man can be reasonable?

4. Depression: There is no reasoning with this man.

5. Acceptance: Constant surveillance is good for me. If I am uncomfortable, it is because I have something to hide.

goldenchrome 2 days ago 1 reply      
There seems to be quite a bit of controversy in this thread. I think it would be interesting to ask why people have an issue with being recorded in the first place. A lot of HNers are strong on privacy but I have never really understood why.
antonwinter 2 days ago 0 replies      
He needs to do the same experiment, but instead of putting it in their face, attach the camera to the wall and point it at them and walk off. see if they accept the filming then
kgc 2 days ago 0 replies      
I think he would get similar reactions even without a camera. Imagine a stranger just sitting at your table or standing there staring at you.
codepopacy 2 days ago 0 replies      
What I find intriguing is that apparently, in this age of ubiquitous camera-phones, no-one pulled out their phone and started filming him.
suryamp 1 day ago 0 replies      
His message is clear. What should we do? Just wait for Skynet to turn on?
       cached 7 November 2012 05:11:01 GMT