hacker news with inline top comments    .. more ..    26 Oct 2011 Best
home   ask   best   6 years ago   
Amit Gupta needs you amitguptaneedsyou.com
875 points by mattangriffel  2 days ago   140 comments top 29
oconnore 1 day ago 9 replies      

The concept of donating bone marrow terrifies me. I imagine a doctor drilling into my skeleton and using a large needle to suck out the gooey stuff that makes my blood. It sounds absolutely horrific.

If I were ever to consider doing this, someone would have to educate me to the point where my perceived safety is high. Right now I know that this probably won't kill me, but I don't understand it enough to trust it. I imagine that I am not the only person in this situation.

I also felt terrible writing this. My fear is absolutely petty compared to the fear of being struck down by leukemia. Perhaps that's why I felt obligated to share.

jgrahamc 2 days ago 7 replies      
Who is Amit Gupta? That question doesn't seem to be answered on the site and the name isn't familiar to me.
dholowiski 2 days ago 0 replies      
Wow... unlike most things on the web, thanks for providing a way for non-USA people to get involved! http://amitguptaneedsyou.tumblr.com/help-around-the-world
manish 1 day ago 0 replies      
I have registered for the test kit. I really appreciate the way amit and friends have set up the campaign. This gives maximum chance for him to survive and also helps other victims as well, since they might contact you if some one else needs help. Good luck Amit, I hope you will pull through it.
tonybgoode 1 day ago 0 replies      
Not that it will matter to the trolls, but it's worth noting:

The vast majority of championing for this cause is happening on behalf of Amit, not by Amit himself. He was actually quite reluctant to be public about his condition, and has only stepped forward at the encouragement of people close to him.

While Amit is at the center of this effort, the narrative has quickly widened to address the much larger issue of underrepresented populations in the bone marrow database. The impact of the efforts inspired by Amit's situation will be felt far beyond that of one person.

Even as he fights for his life undergoing intense chemotherapy and all kinds of difficulties most of us have no appreciation for, he continues to do the best he can to help people.

Anyone who does that deserves not just our respect and admiration, but our attention and participation.

If anyone feels like being self righteous, they might do well to channel that energy into doing something that helps the world instead of leaving insidious comments on a thread.

stuntgoat 1 day ago 0 replies      
There have been some great results in the news recently regarding CAR T cells in the treatment of Chronic Lymphocytic Leukemia. I think this one might be a winner.



From what I understand about this treatment, blood is removed from the patient and 'infected' with a harmless HIV virus that has been modified to attach a molecule to T cells. This molecule binds to a receptor (CD19) on the cancer cell, thereby creating T cells that attack the cancer cells. The treated blood is injected back to the patient and the patients body creates more of these cells on it's own- effectively creating an immune response to the cancer cells.

Do you think a subset of HN readers could somehow facilitate a project that could help the labs researching ( or planning on researching ) methods for expanding this method of treating cancer? I would like to ( and inspire people here to ):

1) find the available labs that can best perform the _steps_ required for this treatment _process_. Basically, get a list of labs.

2) help expedite iterative methods for techniques that:
a) speed the development time of the specific _step(s)_, and/or
b) broaden the efficacy of the overall treatment _process_ ( ie. treat other cancers ).
Basically, list the _steps_ in the _process_ and see if there is a way to make them faster, better.

3) create tools that allow the people and labs working on this _process_ to communicate as efficiently as possible. Basically, learn how the different labs work and write tools that streamline their collaborative workflow.

I have a feeling there are many smart people on this site with free time ( ie. visiting this site often ), technical resources, and organizing skills that could make this happen- fast. Shoot me an email with questions/comments/complaints if you don't want to comment on this thread; I want to help.

biot 1 day ago 2 replies      
Does testing from the swab kits match you up with anyone in need of bone marrow? I have a coworker with leukemia too and I'm sure many others here know of similar situations and it'd be great to have a resource that works for everyone. Posting individual stories doesn't scale very well.
danielna 1 day ago 0 replies      
Hi all,

Long time reader but never posted before. If anyone here will be attending, I'll be manning the National Marrow Donor Program booth registering donors this Saturday, October 29 at TEDxMidAtlantic in Washington DC (http://tedxmidatlantic.com/). While the booth is intended to be in Amit's honor, I strongly encourage any minorities to join the registry, as the need is severe across all ethnic groups. I'm an AML survivor myself (though no BMT, chemo-only), and I can't emphasize enough that the decision to join the registry is opening yourself up to the opportunity to literally save someone else's life.

rkudeshi 1 day ago 1 reply      
I applied for a kit when I first heard about this, but the kit's been sitting on my desk for a couple days.

I just went ahead and did the swabbing. It was very simple, took only 2 minutes, and was completely non-invasive. (It was also completely free.)

If you haven't signed up yet, please do so. Even if you don't care about Amit (I have no idea who he is), you might be able to help someone else in need.

tdfx 1 day ago 0 replies      
Call me paranoid, but can you use a slightly different name in the registry to keep the prying hands of the state off your voluntary DNA sample? Has there been any known cases of the police using this registry to obtain evidence for prosecutions?
ajtaylor 9 hours ago 0 replies      
I'm not in the US, and I'm a white Caucasian, so it won't be any help to Amit. But when the Australian Red Cross phoned me up this morning to set an appointment to donate blood I also told them I wanted to get registered as a bone marrow donor. Until yesterday, I had no idea they could now extract bone marrow cells via blood. Excellent timing on both the post and the phone call!
hugh3 1 day ago 1 reply      
If South Asians are severely under-represented in the US bone marrow donor registry, can't we just buy bone marrow from donors in (say) India?
jeremymims 1 day ago 0 replies      
I joined one of the drives a week ago in New York. Swabbing your cheek is easy, filling out the form is easy, and even though the odds are I'm not a match for Amit, I may one day be the match for someone else.

From what I understand, the procedures for donation have gotten simpler and less invasive all the time. Giving up a day for the chance to save someone's life is an absolute no-brainer. Easiest decision I'll ever make.

Go get on the list.

param 1 day ago 1 reply      
Sad! I am south asian and I just tried to register - they refused to sign me up as I have had hepatitis B in the past. In India, this is so common that people don't even know they have had it (I came to know about it 10 years after having it). I just remember having 'jaundice' once.
tibbon 1 day ago 0 replies      
I just registered for a bone marrow match drive tomorrow at OSU. While I'm 100% sure I'm not a match for Amit, I hope that many people show up, and that I'm a match for someone.
inuhj 2 days ago 1 reply      
Hi, im working on a bone marrow drive for Amit in Chicago. If you want to help drop me an email (edit: I put my email in the profile).
rdl 1 day ago 1 reply      
I know some other people on the list, and was looking at signing up, but got really annoyed that all the registries seem to demand a third party or multiple third party contact info in order to submit a sample.
6841iam 20 hours ago 0 replies      
Once someone with AML gets a marrow what does their 1 year prognosis look like? I computed cancer "yield" a year ago based on cancer data from the state of New York, and Leukemia is (unfortunately) a pretty devastating cancer:


spencerfry 1 day ago 0 replies      
Amit is a pal. One of the nicest guys you'll EVER meet. Period.
johnnyjustice 2 days ago 1 reply      
Does anyone have any updates on his search?
jberryman 1 day ago 0 replies      
I'm boring white western European, but signed up and should get my swab kit in 2 weeks. Maybe I can help someone else.
allanscu 2 days ago 0 replies      
There will be a bunch of folks at FailCon in SF today. I encourage everybody to get a test.
mccooscoos 1 day ago 0 replies      
I don't understand why blood, marrow, and organs have to be donated. I agree that the concept is discussing, but in a life and death situation people should be able to pay to "encourage" a donor.

Already there are a lot of people who go to third world countries to buy organs. If it was legal to buy organs people wouldn't have to risk the unsanitary operation condition.

Furthermore, seeing as giving blood or marrow is less dangerous there should be no reason not to allow people to buy them.

AndrewMoffat 2 days ago  replies      
If this works out for him, it would be cool to see him champion other peoples' life-threatening needs as shamelessly as he's doing his own.
justinj 1 day ago 0 replies      
while i think the cause is great, i can't help but feel a little sad that it has taken this event to spur everyone in the community to a more philanthropic direction. many of us here are looking to become rich and successful and forget that in many ways, we are already very wealthy.

honestly, i think it's a good time to think of all the positive things we can do with what we have - including using our technical knowhow to make the world a better place for those less fortunate.

abbasmehdi 1 day ago 0 replies      
Just got the wife's permission and signed up, wish us luck.
srik 1 day ago 0 replies      
Why not go to a good private hospital somewhere in South India.

Amit probably has a better chance of finding a matching donor there and the procedure, I'm assuming, is less expensive than over here.

paolomaffei 1 day ago 0 replies      
Isn't this a bit selfish?
manish_gill 2 days ago 0 replies      
Hope it works out for him.
We now have an effective vaccine for Malaria reuters.com
612 points by sethbannon  7 days ago   137 comments top 21
carbocation 7 days ago 1 reply      
This was a Phase 3 clinical trial published today in the New England Journal of Medicine: http://www.nejm.org/doi/full/10.1056/NEJMoa1102287

Not home yet or I'd likely have more to say.

Home now. Reading the article. First thoughts:

* This is a vaccine for P. falciparum, which is the nasty form that you really don't want. Good.

* Funding comes from GSK and the Bill and Melinda Gates Foundation

* These are interim results, looking at the older kids (5mo and up) in a 2-prong study (the younger kids haven't all hit the 12mo-duration milestone needed per protocol so this largely ignores them so far with more to come later). Caution. (Because there was no clear rationale given for why this is being reported now, in pieces.)

* Treated kids had higher incidence of meningitis. Caution.

* Treated kids had higher risk of febrile seizures. Caution.

* Generally, few deaths, so these kids seem to be well looked-after in this trial. Appropriate.

So far, so good. Interested to see the final Phase 3 results and to see how this holds up in Phase 4/postmarketing.

keecham 7 days ago 3 replies      
As someone who worked in the development world for a year, I can honestly say that if this vaccine pans out, it would be the biggest development in recent history and would change the livelihoods of so many individuals and families.

If this doesn't deserve a Nobel I'm not sure what does. Bravo Joe Cohen.

jfb 7 days ago 1 reply      
I'd like to recommend (without endorsing the opinions therein) this contrarian article I read about malaria, poverty, and Western attitudes towards Africa:


I found it fascinating, as someone with the intent of (eventually) studying disease ecology, in particular, that of malaria in West Africa. It's a thoughtful and well argued essay, but not in the end entirely convincing to me. But it deserves to be more widely distributed, I think.

PS: Thanks to Instapaper, which made retrieving this article a matter of seconds. Interesting how one's expectations of the rate of information retrieval have evolved, speaking as a 40-yr old who well remembers waiting around weeks at times for books or journals to be delivered to the Reg.

Sniffnoy 7 days ago 6 replies      
So can anyone explain just why malaria was so hard to vaccinate against by existing methods in the first place?
dkasper 7 days ago 1 reply      
Amazing dedication to work on something for 24 years.
ajays 7 days ago 4 replies      
This is fantastic news. However, the vaccine won't be in production and available till 2015. Nearly 1 million people die every year from it; which means, about 1.5 million lives could be saved if the vaccine were in production today. I know it can't happen overnight, but still: 4 years?
ck2 7 days ago 0 replies      
No, in 2015 they'll have a vaccine.

And they are only taking 5% profit over "costs" which sounds promising.

grannyg00se 7 days ago 1 reply      
I was actually surprised to see no mention of Bill Gates or his foundation.
jroseattle 7 days ago 0 replies      
As I get older, I think more and more about my work being impactful on the lives of others. Not higher performance, better UI, greater convenience or less cost; rather, something that positively improves the lives of others.

That is really cool for Joe Cohen. Way to go.

sciurus 7 days ago 1 reply      
While this vaccine is an important development, there's still a lot of work to be done. If you'd like to develop free, publicly available tools that help researchers improve treatments for malaria and other parasites, send a resume to jobs AT apidb DOT org. We need not only people with bioinformatics backgrounds but also web developers to help us improve resources like the malaria genome database, http://plasmodb.org/
evjan 6 days ago 0 replies      
As somebody who lives in Africa (Ghana), I cannot overstate how important this could be. I hate malaria on so many levels.

Poor people die from it all the time. Wealthier people mistake it for a cold and die. It is also about as common as a cold here, so a lot of productivity is lost. Not to mention the huge amounts of money being spent on health care.

It is not a coincidence that the worst hit countries are the poorest, people can't afford treatment and the costs for the societies might actually keep many African countries in poverty.

Not to mention how inconvenient it is to not be able to sit outdoors at night, making sure your house is sealed off and spraying with poisonous insect repellants all the time.

alttag 6 days ago 0 replies      
It sounds like this vaccine should be combined with some of the mosquito eradication methods highlighted in a recent HN link [1]. One commenter there ("Ox12") pointed to an article in Nature which argues the reduction in mosquito population would likely not be problematic.

1: http://news.ycombinator.com/item?id=3043065
2: http://www.nature.com/news/2010/100721/full/466432a.html

yaix 7 days ago 4 replies      
This could have adverse effects, similar to medication agains HIV/AIDS. People will get a vaccine and reduce their efforts of protection against Malaria by mosquito nets and other means. I hope that will not happen.
Volpe 7 days ago 3 replies      
effective at reducing malaria incidence by 50%...

Is that what we are calling 'effective vaccine'?

It's a major achievement, but if this is 'effective vaccine' then we already have an 'effective cure' to a number of cancers as well. A bit link baity.

mattangriffel 7 days ago 2 replies      
I hope that the discovery of vaccines like this increase in frequency over time. I'm not sure if that IS the case, but I'd really like it to be so that one day soon AIDS and Cancer are as benign as Polio.
dfriedmn 7 days ago 1 reply      
Hard to believe, but hope this turns out to be true. Would represent meaningful progress for the world.
dpollak2020 7 days ago 0 replies      
made me happy.
chernevik 7 days ago 1 reply      
It sounds great but I don't think Africa needs an autism epidemic right now.
aidenn0 7 days ago 0 replies      
Now we just need there to be a vaccine scare in africa so that malaria mutates and the vaccine is ineffective again
dewiz 7 days ago 0 replies      
Vaccine have dangers (not just risks), I can't welcome this news, I only see a new "product". I would be much happier if a cure was found.


aymeric 7 days ago 8 replies      
I saw this article and I thought: less people who die = more people on the planet.

Isn't overpopulation the biggest challenge we are facing right now?

Who is working on this problem?

(if someone I care about was ill from Malaria, I would be happy to be able to cure that person, but my belief about overpopulation remains)

24 year old student lights match: Europe versus Facebook identityblog.com
569 points by Natsu  7 days ago   214 comments top 26
jritch 7 days ago 3 replies      
I think there's a few points here and although some replies have very valid points others completely stray from the issues that "Europe vs facebook" is making.

1. Facebook has bases, and operates, in Europe. Thus they MUST abide by our data laws. This means that, under our European laws they MUST supply ALL information they have on people. Currently this is not being done and as such they are breaking the law by not providing ALL information they hold on people. If they want to have HQ's in Europe and want Europeans to use their service they must abide by our laws, this is regardless if we as a user decide to sign up or not. These laws cannot at anytime be waived REGARDLESS if it is indeed us as Europeans deciding to use their service.

2. Quite simply, if they offer the option of "deleting" posts/likes/mails, then they should do just that, delete it. Anything other than this and they are quite blatantly misleading users.

3. They SHOULD NOT be gathering information on ANYONE who does not use their service. This is not legal and should not be allowed to happen. The old saying "knowledge is power" comes to mind, but these "big corporations" should not be able to gather data on people who have no connection what-so-ever to their company/services. Britain recently has been rocked by such scandals as phone hack etc aswell as the big argument about Google cars collecting data from wireless networks that they were not authorised to do so from. Is facebook gather information on people who have no connection to them any different from hacking someone's phone and listening to their messages? Or any different from a Google car passing your home and gathering information for your wireless network? My opinion is that it isnt any different. New of the world have had to pay out massive amount of compensation to the people who could prove that their phones were hacked. It is a breach of privacy and more importantly, THE LAW. Google also had to agree to delete all information gathered by its Google cars as this was deemed to be illegally collected.

Facebook should be made to adhere to our laws if they wish to be present in our countries. Thus they should be made to supply ALL information held on people who make subject access requests, they should delete all e mails/post/likes that have been deleted by the original (or any recipicants) and should also delete ALL information they have gained about people who no longer/have never used their service.

I joined facebook when it first came out as would say i was pretty young and naive, I didnt read all the agreements etc and certainly didn't know what I was signing myself up for (alot of which has not came out until recently). If facebook want to use the argument that everyone who signs up agree to their t&c then they should respect the fact that only peoples over the age of 18 should be allowed to join in Europe. (this is currently not the case with children as young as 8 and their pet dogs having profiles)....

Facebook cant have it all their own way and must respect the laws of the land, PERIOD.

count 7 days ago  replies      
Maybe it's my unenlightened American perspective coming out here, but why is this a big deal?

You chose to use the Facebook service, you chose to provide this information to them, and you chose to agree to their terms of service.

Facebook isn't a government agency, it's a private organization that has persuaded people to give it armloads of data about themselves, and uses that for whatever completely legal purposes it so desires. It's not like they are taking out credit card applications or anything on behalf of these users.

What is it about this completely voluntary relationship that is so inherently evil? I really don't get the harsh kickbacks and complaints against things like "Facebook keeps records of pokes even if the user 'removes' them". So what? How is that something that is litigation or 'outcry' worthy?

How much of this data is just persistent in the system because they operate at a scale where data deletion or removal just cannot feasibly be accomplished[1]? Much like google - 'we dont delete anything'. Why should they legally or otherwise be required to verify something is actually deleted, instead of simply ensuring it's inaccessible in their system? Why is nobody complaining about NTFS or ext3/4 not actually zeroing out the file space when you delete something, and instead just 'marking it deleted' or 'removing the pointer in the inode'? How is that fundamentally any different at all?

Please, educate me, because I really don't get it.

0x12 7 days ago 1 reply      
I really hope that nobody here is actually surprised that that is the true purpose of the 'like' button.

After all, the users get just about nothing out of it, if you like something that much an email will do just as well (to the select number of people that you think your liking a particular subject will appeal to).

The main winners are the publishers (they hope for some more traffic) and facebook (by extending your profile, not just by being able to count the 'likes' but also by the lesser value of those sites that you simply visit).

Like buttons and other third party javascript are a huge vector for privacy violations, basically any website that places any kind of third party javascript on their pages is giving full control over the privacy of their users to the party that hosts the javascript component.

If that party also happens to host a service that a large number of people have signed up for at some point in the past, and that they are possibly signed in to right this minute the potential for abuse is staggering.

redthrowaway 7 days ago 0 replies      
In Canada, you should be able to request this information under Section 23 of the Personal Information Protection Act [1](in BC), or PIPEDA elsewhere.

[1] http://www.leg.bc.ca/37th4th/3rd_read/gov38-3.htm#section23

ckinniburgh 7 days ago 1 reply      
There are a few comments here questioning why it's really important to actually delete data. This is a serious issue for a few different reasons. If I believe that I've deleted something, then there should be no way for anyone to retrieve the information -- I no longer have to worry about security breaches at Facebook (internally or externally), Government warrants, or Facebook accidentally reinstating the information.

As for the idea that Facebook is to big to effectively delete information, that's unacceptable. If you're that big and you can't figure out a way of routinely deleting data then you need to find a way of collecting more data or making your data easier to delete, or not giving the user the 'delete' option. There are a number of alternate verbs which describe the process they are going through, none of which are as clear or commonly understood as 'delete', but which are more accurate. 'Hide' and 'make data invisible' come to mind.

I don't have as much of a problem with the saving of messages which others will also read, but on deleting a Facebook account, this could be handled more gracefully if the user wishes. This is a more difficult problem to solve, which would require Facebook itself to store messages with under the covers public key cryptography which sounds like the type of thing they wouldn't do.

nihilocrat 7 days ago 1 reply      
There is a cool German word for companies like Facebook or Google, which collect mounds of information about their users:
Datenkrake : http://de.wikipedia.org/wiki/Datenkrake
VladRussian 7 days ago 3 replies      
"So many people applied for their own CDs that Facebook had to send out an email indicating it was unable to comply with the requirement that it provide the information within a 40 day period."

Has Facebook considered using benefits of modern technology and delivering the requested info electronically by, for example, setting up a web site where users could access/browse/download the requested info and may be even let some other users, like their friends, to access the info as well?


nfm 7 days ago 1 reply      
I wonder what's in place to prevent you requesting a CD of someone else's data.
w1ntermute 7 days ago 1 reply      
> If you use Facebook, records of all these visits are linked, through cookies, to your Facebook profile - even if you never click the “like” button.

Ghostery[0] prevents this, IIRC.

0: http://www.ghostery.com/

Permit 7 days ago 6 replies      
Honest question: Why is Facebook governed, at least in part, by European law? The reason I ask is that the United States has a lot of trouble enforcing its copyright laws abroad (which is good in my opinion), but Facebook and Google seem to bend to European laws regarding privacy and transparency.
vetler 7 days ago 0 replies      
I remember learning about the law that organizations have to provide all information stored about individuals upon request when I was a kid in school.

We even sent out letters requesting information as an assignment. I sent to a bank, I think. Not very interesting back then, but it would certainly be a lot more interesting now!

lukasb 7 days ago 1 reply      
The "excessive processing of data" claim, if valid, would seem to make any social networking service a non-starter:

"Facebook is hosting enormous amounts of personal data and it is processing all data for its own purposes.
It seems Facebook is a prime example of illegal 'excessive processing'."

MikeGrace 7 days ago 0 replies      
Will be really interesting to see what comes of this but I can't help but think back to http://geekandpoke.typepad.com/geekandpoke/2010/12/the-free-...
jhferris3 7 days ago 2 replies      
So, I'm going to make a statement that I think is important for anyone reading anything on the internet.

WHAT IS THE PROOF! (also known as 'consider the author', 'read the article', etc)

Now I can't say with certainty that any of these claims are false or true, but it occurs to me that a lot of these claims are based on what facebook MIGHT be doing with your data. I decided to take a look at the complaint and attachments for the shadow profiles case, I don't see any evidence that these shadow profiles exist, just that there is the possibility that they exist.

And for those that will inevitably say that proof isn't necessary, that means you don't trust facebook. If thats the case, there is nothing they can do to prove to you what they're doing is legitimate short of open sourcing their entire stack (and even then, you must trust that what they're running == the source they give you). So either trust that what they're saying is true, find evidence that they're doing something they aren't supposed to, or stop using the service entirely.

dhughes 7 days ago 0 replies      
Funny, I had to take a two hour mandatory company privacy training course today and the gist of it was the company could only use personal information customers allowed for the purpose it was intended to be used for.

The personal info can't be used for anything else other than what the customer agreed to. When the information is no longer required or whatever it was used for is finished the information has to be securely destroyed, until that point it has to be stored and guarded as securely as is possible.

Anyway after all that they proudly said we have a TRUSTe rating and showed other sites which also have it one of which is Facebook. Something seems wrong with that picture.

cwe 7 days ago 4 replies      
Man I want a copy of my report. Considering they're supposedly all about eliminating privacy, shouldn't they want to make all this accessible?
namank 7 days ago 0 replies      
I don't understand WHY Facebook chose to not reveal the rest of the data on the first attempt. Let it be a sign of good faith! FB is not alone in this, obviously sites that I visit track usage and what not.

If its a best practices for business thing (do not bend over more than you have too) then C'MONNN! This is the post baby boomers age, bro - the digital age. Get with the show, be good.

Why would they delay sending others the data? In fact, I would use this opportunity to gain the trust that left the building with the long lost battle about privacy (settings)

Of course I presume all the data they collect is within the bounds of legal and ethical lines.

tcarnell 7 days ago 0 replies      
Regarding deleted data: there are clearly two concepts of 'deleted' a). deleted in terms of the application/user interface (ie, it is no longer visible) and b). deleted in terms of physical removal from all permenant storage. Clicking on a button labelled "delete" does not necesarily imply one or the other.

For example, if I "delete" an email in google it is not deleted, it goes to my 'trash/bin' folder - is this also a breach of the law? and are we sure which definition the "Delete Forever" button is using?

...I suppose its up to the terms and conditions to define this.

samirahmed 7 days ago 0 replies      
1200 pages of information? Why does Facebook as a service (omitting privacy) not have the ability to search through comments etc...

they need to get there shit together

poisonbit 6 days ago 0 replies      
In Europe, consumers are persons and have rights.

In some issues, consumer rights have the same importance than big-fat-company.

I don't know if in other continents everybody is pro unscrupulous vendors.


apitaru 7 days ago 0 replies      
If I could drive one thing into the collective minds of FaceBook users, it would be this:

"If you're not paying for something, you're not the customer, you're the product being sold" *Andrew Lewis

01PH 6 days ago 0 replies      
Does anybody know when the story hit Reddit for the first time?
Not quite sure if this wasn't on HN first.
namank 7 days ago 1 reply      
DOWNLOAD a copy of your personal data here:


Click 'Download a Copy'

saturdaysaint 7 days ago 3 replies      
What's the deal with "Europe" vs Facebook? Is anyone else catching a little bit of nationalism?
twodayslate 7 days ago 3 replies      
If you don't like them storing your data, then don't go on the site. They won't have it if you don't give it to them.
modeless 7 days ago 0 replies      
So much outrage, and yet so little actual harm. These people may mean well but they are ushering in an era of government regulation of the internet that will (perversely) entrench incumbents like Facebook.
Steve Yegge: Follow Up to His Accidentally Public Rant google.com
554 points by janzer  5 days ago   171 comments top 42
edw519 5 days ago 8 replies      
Hey Steve, lots of Hacker News readers are just as smart as Jeff Bezos. Some of us may even be smarter. You may remove every third paragraph for him, but you can remove every third word for us and we can fill in the rest with our giant brains. Here goes:

Last week accidentally posted internal rant service platforms my public account. It somehow viral, which nothing short stupefying given it was massive Wall Text. The thing still surreal.

Amazingly, nothing happened to at Google. just laughed me a, all the up to top, for committed what be the of all screwups in history.

But also listened, is super. I probably talk much it, but already figuring how to with some the issues raised. I I shouldn't surprised. When I in my post that “does everything”, I meant. When they're with any at all, it's technical organizational or, they set to solve in a way.

Anyway, whenever goes viral, start wondering it was or staged. accident was. While I no proof, can offer what I is the convincing evidence: the last and a years, I never once on Amazon. Even just months ago, a keynote I gave a conference, was pretty when I about my there. I've skirted any shortcomings and on what do well.

I still a lot friends at. In fact place is of people admire and. And up now I prided myself my professionalism I have about Amazon. on the, even in internal memo, uncharacteristically unprofessional me. So been feeling guilty for past week.

Without retracting I said, like to a more picture for. I'm going try to that picture some true that I've shared publicly. secondhand: it's stuff I myself there. hope you'll the stories, because it's hell of interesting place.

Amazon started Jeff, I'll my stories one about.

Amazon War #1: Jeff

Over years I people give to Jeff and come bruised: emotionally, often career-ily. you came with a or a, you were for joy. to Jeff a gauntlet tends to people back the cave lick their and stay of the for a.

I say and you think PowerPoint, no: he PowerPoint there years ago. not allowed the campus. you present Jeff, you it as.

One day came time me to to Jeff. felt like... don't know, how they around you you're going meet the. People giving last-minute advice, you luck, you past of admins security guards. like you're a movie. gladiator movie.

I'd spent watching Jeff action before turn came, I had in an way. My presentation --, roughly speaking about the skills a engineer ought know -- was resounding success. loved it. everyone was me on back and me like just completed game-winning hail-mary or something. VP told privately: “Presentations Jeff never that well.”

here's the: I had suspected Jeff going to my presentation. see, I noticed two about him, him over years, that had either caught on, or else had not out how make the actionable.

Here how I. Amazon people, note. This will you. I dead serious.

prepare a for Jeff, make damn you know there is know about subject. Then a prose explaining the and solution(s). it exactly way you write it a leading or industry on the.

is: assume already knows about it. he knows than you about it. if you groundbreakingly original in your, just pretend old hat him. Write prose in succinct, direct, way that would write a world-leading on the.

almost done. last step you're ready present to is this: every third.

Now you're to present!

in the there was famous-ish composer/pianist Franz Liszt. is widely to have the greatest who ever. He could anything you him, including stuff not written for, like opera. He was staggeringly good sight-reading that brain was fully engaged the first. After that get bored start embellishing his own.

Bezos is goddamned smart you have turn it a game him or be bored annoyed with. That was first realization him. Who how smart was before became a -- let's just it was “frigging smart”, he did Amazon from. But for he's had of people care of for him. doesn't have do anything all except himself in morning and presentations all long. So really, REALLY at reading. He's like Franz Liszt sight-reading presentations.

you have start tearing whole paragraphs, even pages, make it for him. will fill the gaps without missing beat. And brain will less time get annoyed the slow of your.

I mean, what it be like start off an incredibly person, arguably first-class genius, then somehow up in situation where have a view of industry battlefield ten years. only do have more than anyone, and access more information anyone else, also have long-term eagle-eye that only handful of in the enjoy.

In sense you even be anymore. People Jeff are regarded as aliens with tangential interest human affairs.

how do prepare a for a alien? Well, my second: He will you. Knowing about your is only first-line defense you. It's armor that eat through the first minutes. He going to at least deep insight the subject, there on spot, and going to you look a complete.

me folks, saw this time and, for years. Bezos has these incredibly, experienced domain surrounding him huge meetings, on a basis he of shit they never coming. It's guaranteed facepalm.

So I he was to think something that hadn't. I know what might be, I'd spent trying to of everything. had reviewed material with of people. it didn't. I knew was going blindside me, that's what when you to Jeff.

you assume coming, then not going catch you as off-guard.

of course happened. I Data Mining. in the. He asked point-blank, very: “Why aren't Mining and Learning in list?” And laughed right his face, sent a wave through stone-faced jury VPs who been listening silence, waiting a cue Jeff as whether he going to happy or was headed the salt.

I laughed I was. He'd caught with my down around ankles, right front of, despite all excruciating weeks preparation. I even deleted a third the exposition to keep giant brain, but it matter. He'd it again, I looked a total in front everyone. It was awesome.

So, of course couldn't help. And I: “Yup, you me. I know why not in. It should. I'm a. I'll add.” And he, and we on, and was great. the VPs smiling. It the hell of me they'd had wait for cue, but whatever. was good.

have to: most people scared around because they waaaay too about trying keep their. People in positions sometimes a little much personal invested in success. Can imagine how it must for him be around people all long? But -- well, I I was to get every single. So fuck. Might as aim high go out a ball flame.

That's the “Dread Bezos” line from. I hard and fun, but day I worried they fire me the morning. it was kind of. But it sort of in a. I kept resume up date, and kept my up to, and I worried about something stupid ruining my. Because hey, were most going to me in morning.

Jun8 5 days ago 4 replies      
I hate fear-driven cultures where presentations/meetings/casual talk with the CEO are treated as a gladiator match. In addition to Bezos, of course Jobs and (from what I read) Gates created such cultures. Another interesting, lesser known example was Col. Robert R.MacCormick, the editor for the Chicago Tribune for long years. He was described as "remote, coldly aloof, ruthless aristocrat, living in lonely magnificence, disdaining the common people... an exceptional man, a lone wolf whose strength and courage could be looked up to, but at the same time had to be feared; an eccentric, misanthropic genius whose haughty bearing, cold eye and steely reserve made it impossible to like or trust him." [Interesting anecdote: He had all the walls of his penthouse office at the Tribune covered with dark wood, including the door, so that after your meeting ended, you would have great difficulty finding the door to get back out, suffering under his humiliating gaze.]

That doesn't mean that such draconian cultures are unsuccessful, just the opposite. The problem is, success becomes very much dependent on the quality of the leader(s), e.g. compare Libya and China; the performance becomes very brittle.

The main paradox of humanity, of course, is why people continuously create such fear-driven, hero-worshiping hierarchies, although it causes great personal stress to them. Belief in a strong, super-genius, infallible leader that we can never equal and/or please, may be ingrained in our brains, be it religion or, as in this case, CEO worship.

ot 5 days ago 6 replies      
His description of presentations to Bezos reminds the infamous BillG reviews


ctdonath 4 days ago 3 replies      
The issue of "so smart he needs a challenge so leave something for him to find" may overlap with "so narcissistic he needs something to smack you with so make a deliberate 'mistake' for him to find". I've found this quite effective; some people just need to find _something_ wrong with your idea/presentation/execution, so when they're going to review it, don't polish it to perfection - leave an error somewhere; you know what the mistake is, you know what the solution is, you'll take care of it right after it's noticed, and you'll give him _something_ to criticize so he doesn't have to invent some off-the-wall delusion which you must now accommodate.

I'm not equating smart with narcissistic, just noting similar behavior with similar ways to mitigate damage vectors.

brown9-2 4 days ago 1 reply      
I'm curious how these "Jeff Presentations" go.

Powerpoint presentations are banned, instead you have to write your arguments as an essay.

So is the meeting essentially Bezos reading your writing, with the rest of the room waiting for any indication about the emperor's mood?

Or does the presenter read from the prose as a script?

Can any Amazon-ers give any insight?

bad_user 5 days ago 1 reply      

    The last step before you're ready to present to 
him is this: Delete every third paragraph.

This must have been excruciatingly difficult for Yegge :-)

knowtheory 5 days ago 3 replies      
My apologies for straying near politics but i think Yegge's just defined the best characterization of the 1% :P

> In some sense you wouldn't even be human anymore. People like Jeff are better regarded as hyper-intelligent aliens with a tangential interest in human affairs.

The difference between this description and Yegge's later description of Bezos as being like the Dread Pirate Roberts of Princess Bride fame, is that Roberts is a clever human putting on a very clever show to develop a reputation which does work for Roberts.

Bezos on the other hand, by all accounts, actually does make people walk the plank. Whether he does it because he's a super-human alien intellect, or some other reason, doesn't change the fact that he's built up a climate of fear around him. If anything, describing him as a super-human alien disturbs me more than if he were acting out of the same motivation as the Dread Pirate Roberts.

OoTheNigerian 5 days ago 2 replies      
Although it was a great read, to me it lacked a kind of authenticity.

The first Yegge post felt real, authentic, natural and fully charged. This second one although better formatted and edited, lacked something. It just seemed obigatory and bland.

It is rather amazing that you can feel emotions through words.

Or am I the only one thinking this way?

varelse 4 days ago 1 reply      
I worked at google for a couple months this year. My experience of their so-called open corporate culture was a bizarre mix of elements from William Gibson's _The Belonging Kind_ and Robot Chicken's _Our Newest Member, Calvin_. It was one of the loneliest and depressing experiences of my adult life (but with really good food).

That said, it turned out that way because I was stupid and naive and let myself get flung into the russian roulette of their blind allocation process. This put me on a team doing work for which I had no real relevant experience and working under a manager who promptly forgot I existed for 3 months.

I'd call my experience an outlier, and it all turned out well in the end when I fled the place for a better offer doing work far more relevant to my previous job experience, except that I keep running into others that had almost exactly the same thing happen to them.

Amidst the hooplah of Larry and Sergei's Montessori for overgrown gifted kids, there's something very rotten, elitist, and ineffective going on at the googleplex and the initial frustration in Steve's rant hinted to me that deep down he knows this too. Perhaps I'm wrong. But I had such high hopes for the place and they were utterly dashed on the rocks.

wccrawford 5 days ago 0 replies      
Actually, that is pretty close to how you should talk to -anyone- who likes thinking and does it well. If they have a question, they will ask it. You don't need to fill in every gap. (You need to KNOW it, but you don't need to say it.)

I would leave out the 'delete every third paragraph' bit, though. Or change it to 'delete anything that can be inferred.'

cavalcade 5 days ago 3 replies      
Is it me or does this read like a big ass-kissing of Bezos after he tore him apart in the accidentally leaked memo? Not saying it isnt true but...
ananthrk 5 days ago 1 reply      
Steve, if you are reading this, any chance you can throw some light on the core skills a generalist engineer ought to know?
danmaz74 5 days ago 1 reply      
By the way, the most important part of the post is where he says that Google is following through on the problems he pointed out. I'd be curious to see what (if) will come out of this - if they will expose their internal services to third parties, that will be great news.
linuxhansl 4 days ago 1 reply      
Whatever. Jeff might be super smart, but apparently he is not smart enough to instill some happiness in the people he works with.

I cannot help it, but I have little respect for people who do this, especially if they are super smart.

mun2mun 5 days ago 0 replies      
So he validates the post http://news.ycombinator.com/item?id=465882 posted here 3 years ago.

Snapshot of the blog http://web.archive.org/web/20090211060734/http://blog.layer8...

spicyj 5 days ago 2 replies      
Combined with all the talk of Isaacson's new Steve Jobs biography, makes me want to read an in-depth biography of Bezos's life.
sapphirecat 5 days ago 0 replies      
Contrary to what he wrote here, Steve actually has ragged on Amazon in the past, in particular in "Have You Ever Legalized Marijuana?" -- the imagery of Amazon doing things by burning through people like little tea-lights really stuck in my mind.


tlogan 4 days ago 0 replies      
I agree with this description of Jeff Bezos:; I hear the similar stories.

Actually, majority of successful leaders (founders, etc.) have s very strong "bullshit detector": for kind of bullshit one can use to receive promotions all way up to a director position - even up to VP.

And it also shows that some people are not succeeding because they are paralyzed by fear of poverty.

sajid 5 days ago 0 replies      
Steve left out data mining and machine learning from his presentation and Bezos spotted it. Is that an example of Bezos' smarts or just a silly omission on Steve's part? Steve keeps emphasizing how smart Bezos is but I see no evidence of it in this post. It just seems like Bezos is good at spotting obvious mistakes people make.
skizm 5 days ago 1 reply      
Steve Yegge just might help g+ steal some market share from facebook yet. Every time he releases something like this on g+ I end up spending a few minutes on the site that I would not have otherwise.
scottjad 4 days ago 0 replies      
A hyper-intelligent alien is supposedly in our midst and the only evidence given of his vast intelligence is that once upon a time he asked why two software concepts that have been used prominently for years to great profit in his software business that's been running for years were left off a list? Really?
harryf 5 days ago 2 replies      
I wonder if Steve needs to move to marketing? He's done an awesome job here of highlighting one massive difference between GPlus and Facebook - that you can really publish publicly to the whole world, the way the web was intended.
simondlr 5 days ago 2 replies      
Well written! Is Jeff Bezos really like he paints him to be?
jjm 4 days ago 0 replies      
The one paragraph that hits home to me was the last:

"That's where the “Dread Pirate Bezos” line came from. I worked hard and had fun, but every day I honestly worried they might fire me in the morning. Sure, it was a kind of paranoia. But it was sort of healthy in a way. I kept my resume up to date, and I kept my skills up to date, and I never worried about saying something stupid and ruining my career. Because hey, they were most likely going to fire me in the morning."

How else can you know your on the 'edge' of your own personal abilities? Nice to know that no matter who you are, those feelings don't go away... unless your Bezos (hey there has to be a few people like that around). :-)

reven 5 days ago 0 replies      
nethsix 5 days ago 0 replies      
I think that is a good way to approach anything in life. Prepare hard for it but accept that there'll always be people smarter/better than you. That way, you will worry less about bombing out during presentations, and be more receptive to constructive criticisms.
Maro 5 days ago 2 replies      
> That is: assume he already knows everything about it. Assume he knows more than you do about it. Even if you have groundbreakingly original ideas in your material, just pretend it's old hat for him. Write your prose in the succinct, direct, no-explanations way that you would write for a world-leading expert on the material.

So if he knows everything, why am I writing for him?

juliano_q 5 days ago 2 replies      
Anyone could please paste the follow up here? All social networks blocked at my company.
josscrowcroft 5 days ago 3 replies      
Any copy of the original anywhere?

As an aside: did he just say Franz Liszt was "famous-ish"?!

jroseattle 4 days ago 0 replies      
This post actually is more telling about the absurdity of working at Amazon than the post he took down.
hndl 5 days ago 0 replies      
I feel this is a general perception of a leader at any large enough institution. The sense of what they've accomplished makes us perceive them as extraordinary. By the time we get to interact with them, we've created this larger than life image.

Perhaps, inducing that into your team makes you a good leader. Perhaps not.

espeed 4 days ago 0 replies      
The Bezos-presentation formula would probably work well for Y Combinator applications
barmstrong 4 days ago 0 replies      
I wouldnt be surprised if Steve has a book deal coming.
swah 5 days ago 0 replies      
With a company the size of Google, isn't releasing something for every employee considered almost "making public" ?
barce 4 days ago 0 replies      
Misdirection and inauthentic, that's what I call Steve Yegge's follow up piece.

Internet attention spans suck.

Remember his first post? Amazon is doing everything wrong and Google is doing everything right.

If Bezos is a super intelligent alien, this begs the question, why is Amazon doing everything wrong?

Also, Google didn't fire Steve Yegge because he did what their 6-figured marketing people couldn't: With a single post, Steve Yegge brought millions of uniques to Google+.

krookoo 3 days ago 0 replies      
I doubt it was actually "accidental".
exim 5 days ago 0 replies      
Gee.. This guy loves writing.
adnam 5 days ago 0 replies      
Is Steve trying to win the award for the brownest nose in the tech industry?
sumukh1 5 days ago 0 replies      
Interesting read on Bezos. Did not know that he was like that. I added Yegge to my circles since he seems to tell a story well.
chad_oliver 5 days ago 0 replies      
Steve accidentally made an internal memo public. Oops, but luckily he was just the butt of jokes all week. To make up for telling everyone how bad amazon was, steve talks about Jeff Bezos. Jeff Bezos is super-smart, and giving a presentation to him will either go really well (unlikely) or really terribly (much more likely). Therefore, when presenting: assume Jeff knows the subject really well (because he does) and that your amazing revolutionary idea is obvious to him. Also know everything about your subject, and expect Jeff to notice any tiny mistake you make.
gbog 5 days ago 1 reply      
I still can't believe the first post was not a fake. Gosh, it didn't contain any figures. How in a data-driven company can you propose some analysis without them?
zerostar07 5 days ago 1 reply      
Liszt was "famous-ish"? No wonder nobody knows him today.
Give this company a child's drawing and they'll make it into a stuffed toy childsown.com
524 points by latch  2 days ago   75 comments top 24
plainOldText 2 days ago 5 replies      
This is a cute idea. I'm wondering if they make any money since on their website it says: "Child's Own Studio has custom made over 200 personal softies".
I'm thinking whether a redesign of their website and a more aggressive Facebook campaign (they only have 1000+ fans) would help them sell more. It probably would. No. It definitely would. They could also have a checkbox on the order form to allow other people to order their drawn creatures. And then have a top 10 on the front page with the most popular toys. They could even have a competition: which kid designs the cutest animal. Oh, I could make this a phenomenon.

Boy, I can't believe I'm thinking about strategies of how I would improve a toys' business. Eh, just 2AM rant.

noduerme 1 day ago 1 reply      
Her work's amazing. She's taking the intent and smoothing out the rough edges, filling in the undefined aspects. I've worked with a few really great illustrators and designers as either a designer or an art director. I can't name more than three in the last ten years, and all have been women. She has the rare quality they have of being able inernalize an original vision that's not their own, immediately and viscerally grasp the ineffable qualities that give it its unique personality, and turn it into a final product that looks polished while communicating exactly what the original artist intended.
And reading her blog, it's obvious how she does it. She TALKS to the people who she's doing the work for. So how exactly would this scale without losing quality? Clone her? This takes patience, communications, personal integrity and a huge amount of skill and vision.
I think it's the most impressive piece of work I've seen on HN this year. There's no reason at all to look at it through the narrow filter of what you'd do if it were an IT startup. It's just awesome for what it is.
BlazingFrog 1 day ago 3 replies      
HN killed her business (if only temporarily):

Bandwidth Limit Exceeded

The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later.

ck2 2 days ago 5 replies      
It's a fantastic idea - but I would point out what a child sees in their head vs their drawing capabilities are probably very different. Still, I guess they could recognize it as something they created and it might encourage them to keep being creative?
latch 2 days ago 6 replies      
My question would be: assuming you want to, how do you scale it? There's such an individual toy-by-toy creative aspect to it.

Also, the potential for building brands seems pretty spectacular. Stuffed toy is just one step, you could add stories, games, episodes...this could be to disney what 99designs is to graphic designers :)

joshes 1 day ago 1 reply      
This may be a tad tangential, but this reminds me a great deal (in terms of the higher level concept) of Imaginawesome:

tl;dr: give this guy a child's drawing, and he sprinkles "awesome dust" on it.

hopeless 1 day ago 3 replies      
It's cute and it's cool but I'm not convinced.

My daughter's drawings things are her interpretation of real things but I'm not convinced she'd want a real interpretation of her artistic interpretation of a real thing. After all, her drawings are often down to her limited skills rather than an intentional artistic choice.

zem 2 days ago 0 replies      
as an interesting tangent, the [hopkin green frog](http://en.wikipedia.org/wiki/Hopkin_Green_Frog) thing that went viral some years ago, and which people assumed was a kid's typically clumsy attempt to draw his pet frog, turned out to be a pretty accurate drawing of his missing toy frog.
topbanana 2 days ago 0 replies      
Q. Do you take adult's drawings?

R. I personally prefer to work with children's drawings, but occasionally, I have worked with the adult's (inner child's) drawings. The best thing to do is contact me with the drawing and I will let you know what I think.

demoo 2 days ago 1 reply      
Heartwarming :)

Reminds me of My Machine, an organization that takes children drawings of machines and make them come to live.


dools 2 days ago 0 replies      
This is positively magical. I can't wait til my child is old enough to draw something coherent enough :)

Absolutely brilliant.

jberryman 1 day ago 2 replies      
This reminds me of something the artisans working at the Museum of Glass in Tacoma did.


They got school kids to send in drawings of creatures and then these guys actually rendered them in colored glass in front of the kids. They had the pieces and the kids' drawings on display. Very cute and often hilarious.

ndespres 2 days ago 0 replies      
Brings to mind this classic 60's Mad Magazine article "If kids designed their own Xmas toys." http://thatsmyskull.blogspot.com/2005/12/mad-magazine-if-kid...

This is great!

cookiecaper 2 days ago 1 reply      
This is an awesome idea. I'm considering stealing it, I think my wife would really enjoy doing something like this.
sabat 1 day ago 0 replies      
I love the idea -- I wish I could see it! My almost-6-year-old would love to have his drawing turn into a real stuffed animal.

Bandwidth exceeded. Le sigh.

dmg8 1 day ago 0 replies      
Cute. The site's down for me, but I found their flickr stream here, plenty more creatures:


The before and afters are great. I love the ones that were a scribbly mess in the drawing and end up looking nice but still reminscient of what the kid sketched.

josscrowcroft 2 days ago 0 replies      
Hahah, this made my day.

I have some great ideas for toys I want to make, gonna give them a try!

rickdale 2 days ago 1 reply      
Anyone know of something similar but with a pull string capability?
adlep 1 day ago 0 replies      
Awesome idea, now she will have enough orders to last a hundred years.
kgen 1 day ago 0 replies      
Neat! Not only is it a good idea, from the blog posted in other replies, the execution was impressive as well.
tonetheman 1 day ago 0 replies      
effin amazing and great idea. not sure if they can scale it but god that is brilliant
gougify 2 days ago 0 replies      
That is a great idea
tamle 1 day ago 0 replies      
mikeburrelljr 2 days ago 0 replies      
Love it!
printf("goodbye, Dennis"); economist.com
489 points by wahooligan  4 days ago   105 comments top 17
luckydude 4 days ago 2 replies      
As an old dude, been around since uucp was the only way we talked to each other, was on the arpa net when we had the 11th IMP that connected people in real time, I really can't honor Dennis enough.

He was the real deal, very quiet, very passionate about what he did, he wrote, both in code and in papers, in a terse way that just got to the point.

If you have not gotten copies of the Bell Labs Technical Journals that have all the Unix papers in them, you are in for a treat. Get them. Read them. They wrote about what they did and wrote well. If all of us wrote that well the world would be a better place. I've tried. It's not easy.

When you read those you'll grow to like Brian and Ken as well. There is a lot of good there, I wouldn't hire anyone who had not read that stuff.

Bell Labs ought to be getting some loving here and we ought to be trying to bring something like that back. It was home for Dennis and Brian and Ken and Unix.

bitops 4 days ago 0 replies      
"All operating systems know when they were born. Their internal clocks start counting from then, so they can calculate the date and time in the future. It is unclear whether it was Mr Ritchie or Mr Thompson who set the so-called start Unix time at January 1st, 1970. That moment came to be known as the epoch. Mr Ritchie helped bring it about. And with it, he ushered in a new era."

Well said.

jfb 4 days ago  replies      
People who don't regularly read The Economist probably ought to. It wears its biases on its sleeve, and is the only place in the English language press to find quality, in-depth coverage of parts of the world other than the Lower East Side and the Isle of Dogs.
pjscott 4 days ago 6 replies      
I am slightly bothered by the lack of a '\n'.
ced 4 days ago 3 replies      
I'm curious about what a world without Mr. Ritchie would look like. What were the popular alternatives to C and Unix in 1970?
zerostar07 4 days ago 2 replies      
It would be pure class if wasn't for the late Mr. Jobs mention. Surely, one can think of hundreds of more concrete examples that C enabled other than iOS, like, i don't know, the Internet?
abc_lisper 4 days ago 6 replies      
> Babbage used his first Sun Unix workstation at university in the 1980s

It says so in the article. Which Babbage are they talking about?

sometimes 4 days ago 2 replies      
Is it wrong to wonder about Dennis' personal life? Did he marry, have kids, take a lover? Like to garden, travel, read? He is such an important and influential figure in the history of computing, but it feels like we know little about him beyond his professional accomplishments.
6ren 4 days ago 1 reply      
If iOS was derived from Mac OS X, isn't it also a unix? http://en.wikipedia.org/wiki/IOS

EDIT thanks, misread it.

ableal 3 days ago 0 replies      
Went down the wwww rabbit hole, found this current trove of Bell System Technical Journal PDFs


awflick 4 days ago 3 replies      
Its a bit sad but the obituary is often the best article in the economist. In this case it was a very fitting tribute to a tech hero.
rbanffy 3 days ago 0 replies      
I don't feel it's right to use printf where a simple puts would suffice.
zwilliamson 3 days ago 0 replies      
epoch time has a new meaning to me.
johnx123-up 4 days ago 0 replies      
AFAIK, he's against to AT&T split. Can anybody share some info on that?
MKT 3 days ago 0 replies      
RIP. Every time I type printf, I honor you, my friend
ruffdev 4 days ago 0 replies      
Pure class from The Economist
makecheck 4 days ago 1 reply      
Unfortunate that they give Linus Torvalds so much praise for "reinventing Unix" with Linux. It was at least substantially, if not equally, made possible by projects such as GNU. Clearly the kernel was a huge and necessary part, but it was just that: a part.
Jwz: Google's pseudonym support "obvious bullshit" jwz.org
434 points by Uhhrrr  6 days ago   168 comments top 17
nirvana 6 days ago  replies      
I've been using Google pretty regularly for the past 11 years, and have had a gmail account since soon after it was announced. However with the release of Plus and the revelation of their policies on "real names", I've come to realize that I no longer trust google.

Gmail accounts can be effectively anonymous. Yet plus accounts cannot be?

Google does not need anyone's real name in order to track and advertise to them. I'm fine with google tracking and advertising to me. Assign me some arbitrary UID and give me a 20 year cookie you refresh whenever I load a page with adwords or visit plus or login to gmail. I've been fine with that, all along.

But requiring a real name, tells me that google doesn't just want to track me to advertise to me. They want to correlate my online activities with my offline identity.

I consider that a violation of my privacy.

And so, I'm removing myself from google. I'm setting up mail services elsewhere, I'm migrating my Google Apps and App Engine accounts to other services. I've stopped using Plus, and as I move things elsewhere I'm deleting them from google.

For me, they've gone too far, and I no longer trust them.

Hell, even their search results have been in steep decline lately, so DuckDuckGo, here I come!

PS-- I agree with jwz. The only reason that it would take months to implement is because they're using some authoritative method - maybe ISP customer info, or government supplied info- to correlate users to reveal real identity. I don't see this recent change as google actually relenting on the issue.

mindstab 6 days ago 4 replies      
Everyone is also missing the bigger point that Google's idea of a valid real name is incredibly north american and anglo centric. There are plenty of cases of people using their real names, be in European, or African or what ever and google still kicking them off.

Google's policies do not work, and are verging on racist.

I know some people who would be better off using a fake anglo name than their real name to keep using google+.
That is defective.

luckydude 6 days ago 2 replies      
I was the 4th guy at Google and back then they were not evil (duh).

I left to do my own thing but I email Larry and Sergey from time to time and so far they have been pretty cool about listening to me (they have a 747 or whatever it is, I have a Dodge Sprinter, sort of establishes the pecking order, I'm way way down on the list, so the fact that they sometimes listen is cool)

I think that Google wants to not be evil but the whole money thing kinda messes that up.

I also think that they listen. If you want Google to not be evil, it's a lot like wanting our government to not be evil. If you sit back and complain when they get evil, oh, well, that's what you might expect. If you apply pressure that says "hey! don't be evil, we liked that part!" you might be pleasantly surprised.

It's passive or not. If you are passive and unhappy with the results, try being more noisy, I think there are a lot of people that want to do the right thing but if the only noise they hear is from money people who want more money, well, they take care of those people. Make some noise.

jdietrich 6 days ago 4 replies      
Hypothesis: Google data indicates that pseudonymous users make a net-negative contribution to the quality of an online community (c.f. The WELL). They want a real name not for any commercial reason, but to hold users accountable for their behaviour. Google's real names policy for G+ isn't part of some complex conspiracy, but in fact standard Google practice - following the data, even when the data contradicts what users say they want.

Is it evil to put the interests of the entire network above the interests of a small minority? If you can say for sure, you're either an ideologue or you've solved the most fundamental problem of politics.

Personally, I think there's room on the spectrum for a variety of standards of identity. At one end there's 4chan, at the other carefully-vetted private communities. In the middle you've got sites that require a "real" e-mail address, or Something Awful charging $10 to join. Google's real names policy is distinctly flawed in execution, I think largely as a result of scale, but I don't think it's a fundamentally bad idea and certainly not categorically evil.

TomOfTTB 6 days ago 2 replies      
I think he's missing a distinction here.

There's people's right not to have their name associated with stuff in public. Either because they've established a pseudonym they want to be associated with or they want to speak freely without risking harm to their career, family, etc... That's what I consider pseudonymity and that might take a while to implement.

Then there's straight up privacy. That's what he's talking about. The right for you not to be forced to share your name with Google when using a Google sponsored service.

I can understand why a person would be concerned with both but I consider both to be different things

kb101 6 days ago 3 replies      
Wow, what a blast of fresh air, reading this. I miss the old Internet, when Aunt Sally still couldn't figure it out and certainly would be horrified to find her birthday party photos posted on it, much less would she even conceive of going and posting them herself under her real name.

Why does online marketing have to be built around maintenance of a database of people's Real Identities® ? If it's a page full of comments about guitars, stick a Stratocaster ad on it and be done. The Internet was supposed to be about freedom and personal expression. I used to scoff at things like Second Life and people on BBSes with ridiculously fake avatars, but now we have the horrors of everyday life invading and taking over the "virtual" space, which is less and less virtual every day. Even the visual and auditory carnage of MySpace was preferable to the cookie-cutter sameness of Facebook, helpfully tracking your every single move before you even think to make it, and broadcasting the mundane minutiae of everyday existence to all your "friends".

I used to love Google when it first came out, it beat the pants off Alta Vista and it was a fantastic way to extract cool links from the vastness of the 'net. Now people log on to +1 each other on all the right topics and say all the right things and fit themselves into all the right pigeonholes. What if you want to go online not to maintain your identity as it is now, but to explore new ones? What if you need more than one identity? What if the whole notion of "identity" is something you find burdensome and ultimately repugnant? Well then, there must be something wrong with you and you must have something ghastly and awful to hide.

So yeah, fuck those guys.

natrius 6 days ago 1 reply      
Solution: Don't use Google+ to speak out against your authoritarian government. "Fuck those guys" is a pretty strong response to people who've decided their product isn't for you.
joebadmo 6 days ago 2 replies      
I'll bet they still require you to register with your "real" name, but then they'll graciously allow you to have a linked nickname or two,

I agree, and I think this is probably the right thing for them to do. (Well, probably stop kicking people off, too.) And I think they're probably doing this in an attempt to allow people to better represent themselves in the ways that they choose, and more in line with how they can offline. I just wrote this today: http://blog.byjoemoon.com/post/11670022371/intimacy-is-perfo...

meaning they're still fully prepared to roll over on you to authoritarian governments or advertisers at the drop of a hat.

I'm not sure what the suggestion is here. They should be prepared to flout the law? Or just not gather any of the information in the first place? What purpose would this have for them, in that case?

Seems fairly obvious that anyone who's really worried about authoritarian governments or advertisers shouldn't be using google products.

joshma 6 days ago 3 replies      
I'm sick of these posts. What I got out of the article was "I think I know how Google should design its product, and thus I deem decisions not in agreement to be total bullshit."

Personally, I prefer to respect the work they've put into the product and to accept that they may have insights deeper than mine. It's evident from Google's announcement that they see more complex issues around pseudonyms, and I will form an opinion after I see their changes. I do not understand this attitude of "Fuck those guys" - so much anger over a social network!

tlrobinson 6 days ago 0 replies      
While I don't know what their plans are, I think it's reasonable to require you declare whether your the name you use is your real name or a pseudonym, which is a non trivial change.
methodin 6 days ago 4 replies      
Great. Another opinionated post with no substance that reaches number one. What is this garbage? It's not like this person even has any first-hand knowledge of anything with regards to the cited excerpt. Why would anyone upvote such a short, speculative rant?
Tyrannosaurs 6 days ago 0 replies      
I'm shocked that they haven't come down on William James Adams, who seems to have managed to set up a profile under the name "will.i.am".


buff-a 6 days ago 0 replies      
Yeah, I killed my Google+ account today.
ThaddeusQuay2 5 days ago 0 replies      
One of the commenters on that article says: "The idea that anyone should ever need to show ID to use a social network is so fucked up that I find it astonishing that it is a point of discussion." Not really. I recall, in 199x, that a BBS required me to physically mail a copy of my driver's license, along with my payment, before they would give me access. It wasn't an "adult" BBS. I think that the requirement was that I was at least 18, just so that they wouldn't get into trouble over anything that might happen with regard to age minimums. Rather than the exception, the idea of showing ID, to use a social network, used to be considered a normal part of doing business.
loopdoend 6 days ago 1 reply      
If Google still requires you to use your real name to register but allows you to show only a pseudonym, the problem ceases to exist because there is no one able to rat you out.

That is, unless they write an algorithm that checks for "Dear realname" in your emails and compares it to your purported name & pseudonym. Yuck.

kbanman 6 days ago 1 reply      
How did this post get so popular? Google isn't doing any of this behind your back. If you don't want to share your identity with Google, don't use their services. Simple as that.

It is no secret that Google is a corporation. The only thing that matters to a corporation is to make money. Google doesn't spend millions on improving their search engine and developing a fantastic social networking service because of some altruistic motive. Don't be so naive as to expect companies like Google and Facebook to adhere to your idealistic views of privacy and anonymity if that means a reduction in profit.

Direct your energy to keeping the internet free. As long as we have that, we can represent ourselves however we like by being able to choose which services we use.

omnibot 6 days ago 1 reply      
Does anyone else find it silly that Jamie Zawinski uses his real name on Facebook?
Signs that you are a bad programmer yacoset.com
434 points by okal  6 days ago   165 comments top 48
edw519 6 days ago 2 replies      
I found the "Alternative careers" hilarious.

My version:

  Your code sucks.
Alternative careers: "Do you want fries with that?"

OP's version:

  1. Inability to determine the order of program execution
Alternative careers: Electrician, Plumber, Architect, Civil engineer

2. Insufficient ability to think abstractly
Alternative careers: Contract negotiator, Method actor

3. Collyer Brothers syndrome
Alternative careers: Antique dealer, Bag lady

4. Dysfunctional sense of causality
Alternative careers: Playing the slot machines in Vegas

5. Indifference to outcomes
Alternative careers: Debt collection, Telemarketing

So the real test of a good programmer is one who can write a routine that crawls the source code of a bad programmer and tells them what they should really be doing.

rickmb 6 days ago 8 replies      
The opposite approach is much simpler. There's only one sign that you are a great programmer:

Clients and fellow programmers are still happy with your work two years after you've delivered it.

(Of course: "still" implies that they we're happy at delivery, which includes actually shipping working software in a timely fashion.)

mcantor 6 days ago 4 replies      
I wish articles like this would namespace their assertions by telling us what they mean by "good" or "bad", so we could avoid the perennial echo chamber debate that goes like this:


God forbid we agree on what words mean before we talk about them...

skrebbel 6 days ago 3 replies      
What a condescending piece of junk. It serves absolutely no other purpose than to make programmers who do grok everything mentioned feel good about themselves.

Worse yet, programmers who could actually benefit from an article like this (i.e. programmers who shouldn't be programmers) won't understand it. E.g. "(Functional) Creating multiple versions of the same algorithm to handle different types or operators, rather than passing high-level functions to a generic implementation" - a bad programmer won't understand what is meant here, so he will simply skip over it and not get the hint.

Finally, I find the notion that you can't be a good programmer if you've never really used Lisp laughable.

mcknz 6 days ago 0 replies      
"You're not reading this article."

But seriously, it probably never occurs to bad programmers that they should be finding articles like this.

Perhaps a better title/approach would be "A Bad Programmer Taxonomy, And How You Can Help."

substack 6 days ago 2 replies      
I suspect that people who don't "get" pointers (#4 in the article) actually have a much harder time with the pointer declaration and manipulation syntax in C than actually understanding how pointers work and what they let you do.

For instance, in C the * character is used both to declare a pointer and to dereference one and they can be stacked to dereference nested structures. Then & references a variable memory location but is also used in method signatures to change the semantics of calling a function into pass-by-reference. To complicate & further, & is often seen alongside const declarations, which are a whole other thing that people have to keep in their heads.

On top of all of this, * and & have their own operator precedences and associativities that you have to memorize, which is a whole discussion about binary versus unary operators and precedence tables. And I didn't even mention [].

I really don't think that people fail to comprehend pointers because their mental models need updating nearly as often as they just haven't fully internalized all the hoops that C makes you jump through to mess with pointers.

joe_the_user 6 days ago 3 replies      
The problems described by the article are certainly real problems I've seen and seem like an indications of someone who indeed hasn't taken the time to deeply understand the programming process. But the term "bad programmer" and the general attitude of the article seems deeply mean-spirited,

I would rather work with an actual "bad programmer" than with the kind of person who'd spend their time thinking up "alternative careers" for these people.

clawrencewenham 6 days ago 1 reply      
I wrote this years ago to get it out of my system, and after Infogami went to the big web host in the sky I ported it and my other nonsense to Google Sites. The slightly updated version of the same article is now here:


larsberg 6 days ago 1 reply      
Interestingly, his enumerated set in the "Bad Programmer" list is almost exactly what I was grilling for when I asked people to implement stupid algorithms on a whiteboard and then step through them, debug them, etc.

I somewhat disagree with:

> 6. Cannot fathom the Church-Turing Thesis

Truly understanding the Church-Turing thesis probably requires more computability theory than the two-week overview even top CS students and otherwise great programmers get in their ABET-required Discrete Math course. It would be great for more people to have an understanding of what a computable function is and isn't, because it would make it easier to explain why we don't have more fancy-pants type systems around,\footnote{Inference is undecidable for most interesting ones.} but it certainly isn't a requirement for great or even good programmers.

barce 6 days ago 1 reply      
I paused for a bit when I read, "A programmer can't acquire this kind of knowledge without slowing down." It seems that many businesses that rely on programmers are unwilling to give them the time to be better.

I have seen coders with CS degrees from top-tier schools believe that they couldn't code anymore when placed in environments that do not mentor them, that treat them as horses to be run until their backs break.

If you feel this way, take a part-time job and focus on becoming a better coder. If you are a business that does this... no wonder you waste money on recruiters.

jedberg 6 days ago 1 reply      
My first thought was, "wow, infogami is still up?" I guess I left it in a good state. :)
eru 6 days ago 1 reply      
Sounds quite arrogant to me. And didn't get the biggest problem: Not finishing stuff.
onan_barbarian 6 days ago 0 replies      
I suspect that #1 sign is that you go trolling for self-assurance in articles like this, or worse, by writing smug, random articles like this.

The best possible signs either way will be in your career so far.

jwingy 6 days ago 2 replies      
A lot of these make sense, but I would caution against being discouraged if you show any of these symptoms. Like another front page article that says IQ is not static, I think this also definitely applies to programming ability.

I hope this isn't used by some to push the mantra that 'not everybody can code'.

bauchidgw 6 days ago 1 reply      
my ruleset is much more liberal

signs that you are a good coder: you enjoy coding, you enjoy a good piece of code

signs that you are a bad coder: you don't enjoy coding, you can not appreciate beautiful code

if you enjoy coding it jut doesnt matter if anyone else thinks that your code sucks. you will get better. if you hate your job (programming) then you code stinks and will get worse.

in my careere i went from good to great to bad to i dont code anymore to good

bitops 6 days ago 1 reply      
The OP may be being ironic/sarcastic to a certain degree but I'm always wary of these types of articles.

"You are a bad programmer". How would it make you feel to hear that? Probably not open to further suggestions on how to improve.

While I agree that as programmers we should always strive to be getting better, these types of put-downs and belitting don't foster a culture of communication and trust.

Personally, I'm most receptive to hearing that I could improve when it's coming from someone I trust and respect. If a random person or poster on the Internet sent me this article and rubbed it in my face, I'd probably write them off as a major a-hole. And, I might miss out on a great opportunity to learn.

It reminds me of this post: http://news.ycombinator.com/item?id=2322696 - I read it and at the time thought it was great. But, sadly, not much has changed and this post is sad evidence of that fact.

njharman 6 days ago 1 reply      
Why is "Performing atomic operations on the elements of a collection within a for or foreach loop" a symptom of mediocre programmer "inability to think in sets"?

How should one do that if your "thinking is sets"?

ducktype 6 days ago 3 replies      
> "Bulldozer code" that gives the appearance of refactoring by breaking out chunks into subroutines, but that are impossible to reuse in another context (very high cohesion)

I feel like this might give people the wrong idea. Surely some amount of cohesion is desirable. Also, I'm not quite sure how one "gives the appearance of refactoring" without actually refactoring. Whether it's useful or not may enter into it, but I would usually consider the breaking out of chunks into subroutines refactoring.

yaix 6 days ago 0 replies      
> eg: the "Delete Database" button is next to "Save", just as big, has no confirmation step and no undo

That was common practice all over the Web for over a decade, it only stopped recently (on most sites). [Submit] [Reset] Argh!

sliverstorm 6 days ago 1 reply      
How do I know that list is a little off? Using it as a metric, I am mediocre-to-good, when I know for a fact I haven't yet reached mediocre.

For example, I grokk pointers, but I use them so infrequently I make foolish errors and have to stop and block everything out.

krobertson 6 days ago 1 reply      
Hilarious, but some of the alternative careers I don't agree with. Particularly the first example of order of execution.

If you can't grasp that and decide to be an architect, I wouldn't want to drive on your bridge, work in your building, or live in your home. Same for the options!

its_so_on 6 days ago 2 replies      
There is one surefire sign you're a bad programmer: faced with a problem, your reaction is "pshaw, I see how I can solve this..."

Whereas a good programmer has the reaction,
"uh-oh. I see how I can solve this..."
And knows that this is just half the battle, and what he's getting himself into.

pookiesbutt 6 days ago 2 replies      
"You seriously consider malice to be a reason why the compiler rejects your program"

Of course it's malice.

xarien 6 days ago 0 replies      
To me, everything in that article can be addressed with a little experience.

My one indicator that someone is going to be a bad programmer actually has little to do with technical skill sets, but rather personality. As my sanity check, I make sure to examine the open-mindedness (willingness to research and use unfamiliar tools) of programmers. More often than not, you find programmers who are very comfortable in given languages, environments, tools etc, but once you take away their comfort blanket, they keep reaching back for it.

An extreme example would be a scenario such that a programmer who knows C very well decides to do a decent amount of parsing in C instead of researching better languages for the job such as python or perl.

jroseattle 6 days ago 0 replies      
I'm presently repairing a project that violates nearly every one of these principles. Literally, it's like they had a checklist made from this post and went down it to ensure they did everything wrong.
ericdykstra 6 days ago 0 replies      
I don't need an article to tell me I'm a bad programmer.
chris_dcosta 6 days ago 0 replies      
I think this stuff comes from someone who has a colleague with these "symptoms", and is either frustrated because they can't educate them into better techniques, or is a subordinate with no power.

In any case it's pretty unforgiving.

I have had a colleague who fits the bill here, but actually I just let them get on with their work and I got on with mine. Sure, it was hard when he delivered something that was excruciatingly poorly conceived and executed and I had the task of taking it to the the next stage. But you know this isn't a life and death business, he was a really nice guy, and I wasn't going to rock the boat. The next project, I was working with someone else and everyone was happy.

Contrast that with making an issue of it, and you might find yourself being labelled as a trouble maker, even if you did have the best intentions for the development.

If you run the show however, don't stand for it, because it's your business, and it calls for the best at all times.

VBprogrammer 6 days ago 2 replies      
I think one of the biggest errors a bad programmer makes is seeing 'bad' code everywhere. Sure, some code stinks but just because some code doesn't do something the way you would have done it doesn't make it bad.

If you do have to complain about some piece of code then do so in concrete terms:

- Presense of bugs

- Lack of error handling

- Preformance issues (real ones, that cause real problems)

- Security issues

- Poor robustness

- Redundancy

malkia 6 days ago 0 replies      
Whooops... One of the symptoms is:

"(Functional) Manually caching the results of a deterministic function on platforms that do it automatically (such as SQL and Haskell)"

Isn't that what memcached is doing?

Okvivi 6 days ago 2 replies      
A sign that I found missing from the list: you are totally devoted to a particular programming language and believe it's a silver bullet. All good programmers that I know understand that languages are just tools and all have tradeoffs of some sort.
chegra 6 days ago 0 replies      
It's easier to fix the technology than to fix the users. I don't think in my wildest dreams I could walk away from a program I created and say the user of said program is bad. I would find a way of fixing it. Programs should serve users, not the other way around. Likewise, Programming Languages should serve Programmers. Clearly, we aren't properly being serviced if programming makes us constantly look bad.
buckwild 6 days ago 0 replies      
I'll admit, when I was a C programmer, I was victim to "Dysfunctional sense of causality."

I remember taking a C class in my undergrad, nailing the code to perfection, and getting an F because I had written the code in under different architecture and compiled with a different compiler (not specified in the prompt by any means). It ran well on my computer (and I proved it), but since it wouldn't run on my professors computer or TAs computer, I still received an F.

So yes, I still maintain strong malice towards C :-)

LeafStorm 6 days ago 0 replies      
> "Yo-Yo code" that converts a value into a different representation, then converts it back to where it started (eg: converting a decimal into a string and then back into a decimal, or padding a string and then trimming it)

The other day I was at a hack night and some guys were working on something written in Node. They were having all kinds of problems with an object, so they serialized it to JSON and loaded it back, and somehow it magically started working.

Don_Wallace 5 days ago 0 replies      
This article is mean spirited, too serious and not well written.

Bad programmers I have known generally:

- Are oblivious and clueless. They just lack cleverness.

- They lack problem solving abilities and willingness to solve problems.

- They are usually slow witted.

- They are very conventional-minded - external approval means a lot to them.

- They are willing and ready to work too hard at programming for a result.

- They lack abstract reasoning skills.

And most bad programmers don't like Star Trek or science fiction, but I can't figure out why other than simple correlation with the mindset of a programmer.

The first set of six "real" causes pretty much encapsulate 99% of the mediocrity I've witnessed in industry in this field. Bad programmers usually have two or more of these problems. Even one of them is a serious problem if you are looking for a great developer.

All other badness, such as "meal ticket" thinking, usually radiates outward from these things.

I say this because if you lack the quickness and the desire to seek simple and elegant solutions, the work becomes like drudgery and your work reflects the other deficiencies that the article described.

A specific example: if you care too much what non programmers think (including your managers) and if you are a bit of a toady, you will not take the time to learn what is going on in-depth, and you will look for quick solutions. So it's important to strategically ignore your bosses from time to time and if you are trying to be politically popular, software development isn't a good place for this.

Another example: if you "want" to work very, very hard, you will not seek ways to simplify the code. You will instead cope with growing complexity and spaghetti.

I question the article writer's programmer instincts because he did not figure out a much more efficient and concise way of expressing the same things. Above all else, a real programmer figures out how to say it just once - not repeatedly cast in different ways.

Void_ 6 days ago 0 replies      
> (OOP) Writing lots of "xxxxxManager" classes that contain all of the methods for manipulating the fields of objects that have little or no methods of their own

How about writing lots of xxxxController classes that manipulate objects that have little methods of their own.

rwmj 6 days ago 1 reply      
I wonder who wrote this article originally? Google finds about 9 identical copies:


dustinupdyke 6 days ago 3 replies      
Is it odd that any tense of the word "ship" does not appear in this article?
jgn 6 days ago 0 replies      
I'm a student in the third year of my CS degree and I constantly worry about not being a good programmer. There's things on that list I need to work on.
scubaguy 6 days ago 1 reply      
If you are reading this article, you are not a bad programmer; you are a programmer learning to master your craft.
fatalerrorx3 5 days ago 0 replies      
Where does the "gets shit done" programmer fit into all of this though? I'll admit that some of my code is confusing and not always "clean" but it does what it's supposed to do, and I'm able to get more "shit done" when I focus on the end goal vision rather than the cleanliness of my code... which in a prototyping phase of product development is really rather meaningless anyway, since you don't even know yet if there's a market for your product/service offering
bbrizzi 6 days ago 0 replies      
Signs you're a bad writer:

- Your blog post only consisting of lists

- Using only -ing verb forms in your lists

- Not having an introduction in your article

- Not having a conclusion either

- Having only short 2-line paragraphs

- Lack of any style

clu3 5 days ago 0 replies      
Signs that you are a mediocre programmer

Adding columns to tables for tangential data (eg: putting a "# cars owned" column on your address-book table)

I thought this is actually good for performance in different cases? Why is this considered mediocre?

mrt54321 4 days ago 0 replies      
This article is ignorant bullshit.
Speaking as someone who's been a professional programmer for a long time, and for a series of good companies.
What's present may be technically correct (may), but most of the important stuff is absent.
And as for alternative careers for people who are too dumb to progam. Oh please.
buff-a 6 days ago 0 replies      
Another sign: not reading this article because you couldn't possibly be a bad programmer and therefor this article can't have anything to offer.
itsnotvalid 6 days ago 0 replies      
The best part is at the very bottom... if you think it's TL;DR, you could have missed a lot of points.
juanfatas 6 days ago 0 replies      
I think the bad programmer won't see this post as they don't check Hacker News on a daily basis... :P
madrox 6 days ago 0 replies      
There are no bad programmers. Just bad programs.
kno 6 days ago 1 reply      
oh my! I love when you recommend specific career base on specific issues. You made my day! I can't stop laughing. "Bag Lady" seriously looool
Tangle is a JavaScript library for creating reactive documents. worrydream.com
425 points by jsavimbi  5 days ago   62 comments top 27
markbao 4 days ago 3 replies      
Another cool experiment with the graph example given there: http://worrydream.com/ExplorableExplanations/ " go down to the guitar icon (or find "incidentally" on the page).
methodin 4 days ago 2 replies      
My first thought was "this is pretty cool!" but wondering who actually needs it. I then had the realization that this is, in fact, a very different way of data expression. It would force you to think not only about what you are saying, but how you are saying it and how to demonstrate the ideas within the text of the document itself and not simply say "Refer to fig 1.1". This could truly present a new way of displaying data on the web. It could bridge the gap between complex animations and simple text. 99.9% of all sites I see that contain some cool animation are completely independent of the content surrounding them. Having the content and interactions married together in a simple way is really something I've not seen too often. Kudos.
troymc 4 days ago 1 reply      
It's interesting (for me, anyway) to contrast this with Wolfram's Computable Document Format (CDF, see http://www.wolfram.com/cdf/ ).

CDF documents can only be written using Mathematica, are only playable using a special CDF Player (or Mathematica), and you have to license CDF for commercial use. Tangle is free and open source (under an MIT License), JS is "playable" in most web browsers, and JS can be written using any text editor.

mcantelon 4 days ago 2 replies      
What's the difference between "reactive" and "interactive"? Just wondering if we really need a new buzzword...
desigooner 4 days ago 1 reply      
This looks neat. Definitely worth a look for some educational stuff.

It's not clear on the webpage but this was released under a MIT license

andrewflnr 4 days ago 3 replies      
This is one of the ideas I'm working on integrating into my toy data/programming language, Fern. https://github.com/andrewf/fern. It's not apparent from the README, but if you modify a Fern structure in memory, all dependent values will (should) be updated, even with name references pointing back up the hierarchy of data structures. These are mostly lists and maps (which define names for subsidiary structures), which can be generated by constructs like conditionals, functions, and (someday) loops.

Besides the ideas I listed, I see it being used in scenarios where you have formulas based on a few inputs, and want to see what the output looks like when you mess with stuff, like physical dimensions in a design or financial stuff.

It's nice to have a real term for this sort of thing in "reactive document" or "reactive programming" or what have you. Not so nice to realize my idea isn't unique and brilliant. :)

latch 4 days ago 2 replies      
The graph is neat...I worry that the link is a UI paradigm that my mom or dad simply wouldn't grok though...I'm not a particularly good son and I don't talk to them much...so does anyone wanna test my theory out?
gregwebs 4 days ago 0 replies      
This is a specific document use of reactive programming, a paradigm where values are automatically updated when their dependencies change. Flapjax has offered reactive javascript for a long time now: http://www.flapjax-lang.org/

I think Flapjax didn't gain much traction largely because the website is ugly. Of course the the other reason is that regular event binding tends to be a good enough solution.

Some of the new client-side javascript solutions like knockout.js also offer reactive capabilities.

ez77 4 days ago 2 replies      
Take a peek at all of the author's projects [1]. It's amazing, humbling, depressing...

[1] http://worrydream.com/

gcv 4 days ago 0 replies      
Nice, a dependency graph library for JavaScript. I wrote something similar for Clojure: https://github.com/gcv/dgraph
balakk 4 days ago 0 replies      
Similar library from MS : RxJS:


It's available for the CLR as well:


tomlin 4 days ago 0 replies      
I immediately find this useful. An app I am working on for a client allows for the preparation, setup and intake of candidate interviewees. The app has a few tools that help the administrator predict how many stations or interviewers will be required based on other parameters, like time it will take to conduct the interview process.
kragen 4 days ago 0 replies      
If you like explanations like these, maybe you'll like the live explanation of the Burrows-Wheeler Transform that I wrote a few years back: http://canonical.org/~kragen/sw/bwt.html

I keep meaning to put it on the back of a better library so that it doesn't hang up the page if you type a too-long string.

gabriele 4 days ago 2 replies      
have I been missing something or this brakes every accessibility rules? how can I "slide" without a mouse? It seems I can't even tab to the sliding enabled elements.
maxwin 5 days ago 0 replies      
Pretty cool. I will definitely use it in my projects. Thanks for sharing.
ThaddeusQuay2 4 days ago 0 replies      
It seems to me that this would be a good tool to use in an attempt at the following code challenge, where Wikipedia would like to see article changes and trends visualized. I saw their challenge yesterday, and made a note of it, but am too busy on other projects, so I'm just putting the idea out there. Why not make Wikipedia articles visually reactive?


DanielRibeiro 4 days ago 2 replies      
Interesting: HN's duplicated post detection seems to be disabled (this was posted only 9 days ago: http://news.ycombinator.com/item?id=3101618)
radarsat1 4 days ago 1 reply      
This is absolutely brilliant for educational uses. Even the front-page filter example is something I plan to suggest to my prof for the DSP class he teaches.
jQueryIsAwesome 4 days ago 0 replies      
This could be really useful in an app that helps people control their finances (Register a product/service and then slide the quantity and price... and if you integrate it with wallmart products/price -or something like that- i think it would be one hell of an app)

edit: typo

crizCraig 4 days ago 0 replies      
Chrome dev tools should this type of UI in their CSS editor.
fomojola 4 days ago 0 replies      
Impressive. It would be really neat if you could tie a variable to an external input (say, a WebSocket connection retrieving real-time data). Is the only way to adjust values user input, or could I do something more complex where real-time data is coming in and the document reacts to that as well?
tamersalama 4 days ago 0 replies      
Any pointers to how it could be tied to a back-end rules engine?
hanskuder 4 days ago 0 replies      
This wasn't really impressive to me until I started playing around with the dual pole filter. Awesome! Something like this should have been directly embedded in my prof's DSP lecture notes.
hackDaily 5 days ago 0 replies      
Very cool! This makes for some interesting UI ideas. Also, it's not often that you see something this unique in the land of JS plugins. Good work.
zxw 4 days ago 0 replies      
This is pretty cool but it needs to have a more distinctive style. Maybe the same as it is but green.
hollandaise 4 days ago 0 replies      
Awesome, can you output to .pdf?
guyht 4 days ago 0 replies      
This is a really awesome idea
List.js listjs.com
429 points by bloodberet  6 days ago   82 comments top 28
cletus 5 days ago 3 replies      
One note--and this applies to every Javascript plugin or library:

Your examples need to be online. Without exception.

As soon as I have to download and run local examples, honestly I just completely lose interest. That may seem impatient, a snap judgment, arbitrary and irrational. It is in fact all of these but it doesn't matter.

There's no reason you can't have your demos online. It makes it super easy for anyone to check out.

latch 5 days ago 6 replies      
kinda neat...but...you need to read:

and redesign your site...easily the biggest violation of my eyes ever.

rgarcia 5 days ago 3 replies      
I'd like to see something like this for Backbone collections, e.g. it would take a query on model attributes and generate a subset of the original collection. Then any views (not just lists) tied to this subset would update automatically.

In fact I think with _.fiter() you could probably do this in a few lines.

Groxx 5 days ago 1 reply      
Why do so many JS mini-libraries expect an ID or a CSS selector? Why not accept an element too, which lets you augment anything? Seriously, you're just crippling your library, and adding complexity by not accepting elements.
thegorgon 5 days ago 1 reply      
So, one thing I don't quite understand: If I have jQuery on my page (which I imagine now at least 50% of websites do, though that's just a guess) why would I want to add another script that redefines a bunch of jQuery functions? If you had a jQuery compliant version, wouldn't it be smaller, faster, better?
ak217 5 days ago 1 reply      
Thanks, but you really need to change that to 7 KB. I thought to myself "7 MB? What a weird JS library" and was about to close the page.
orblivion 5 days ago 1 reply      
Maybe it's just me, but it took me a second to figure out what I was looking at. "HTML Lists" didn't pop out at me right away as specifically meaning <ul> and <ol> for some reason. You should put the source code by your examples so people see what little they put in for the output they see, and it'll clarify (at least to someone like me) exactly what is going on here.

EDIT: I see now that your front page is an example, with source code. That wasn't obvious to me.

josscrowcroft 5 days ago 1 reply      
What search algorithm are you using for the list searching?

I tried [monkey game] and would have expected Monkey Island to show up.

Also, clicking 'edit' I would expect the table row being edited to be edited inline (it's confusing that the focus jumps down to the input boxes)

Potentially really useful but needs a bit of polishing I think - great work though.

yoda_sl 5 days ago 1 reply      
What is the license behind the script ? Apache ? MIT ? Other?
DanielRibeiro 5 days ago 1 reply      
Looks a lot like quicksand[1] without any of the fancy effects. Or am I missing something?

[1] http://razorjack.net/quicksand/

foresterh 5 days ago 1 reply      
This looks pretty useful. I'm curious why you used class to store the "category". Wouldn't it be cleaner to store it in"data-category" or just Javascript? Or is that less browser compliant?

Overall a great script though.

jpdoctor 5 days ago 0 replies      
Regarding the examples: Does anyone have a quick readout whether the "edit" button could cause edit-in-place behavior?
ayu 5 days ago 0 replies      
Good complement to Chosen, which gives you improved <select> elements.
jroseattle 5 days ago 1 reply      
This is more in the aggregate, but what is considered best practice when loading JS scripts in a page in terms of sum-total size?

This script (looks cool, btw) comes in at 7k. It seems very easy to me to add "7k here, another 7k there" and next thing you know your page needs to go on a diet.

Question is: what's the threshold that everyone follows?

tomelders 5 days ago 1 reply      
perfect, and just in time. I'll be announcing my own project here on HN in a week or two, and List.js will most certainly be taking a very central role.

So nice work, and thanks.

strager 5 days ago 1 reply      
I only realized there were examples on the front page after visiting HN. They're completely below the fold for me (1440x900).

The examples page had a similar problem. The examples (pretty close to the fold) looked like comments. I went to read the comments, seeing if anyone had suggested live examples be put on the site.

The contact list example won't let me add contacts if I click "edit" on one row, then delete that row. The table also seems to degrade if you remove all elements.

"Documentation" and "Source" link to the same (Github) page. At least link to README.md for the documentation. Why is the "Download" link bold?

The front page has no indication of the name of this library above the fold.

andreasklinger 5 days ago 2 replies      
We would use such a JS file for large lists.

Is there a performant way to use this kind of JS files without loading the full database table into the frontend? I couldn't find anything in the documentation.

peterhajas 5 days ago 0 replies      
Thank you for licensing this - when I checked earlier, it was "I'll figure it out", but thank you for putting it under an open source license.

Nice stuff!

rdg 5 days ago 2 replies      
Also... 6.899kb is confusing. In many countries/locales(?) that would mean almost 7MB. Maybe 6.9kb should be used instead, or 6899bytes or something like that.
s00pcan 5 days ago 0 replies      
Seems this has regex support, but I don't see any mention of it anywhere. Try it out.
shyamster 5 days ago 0 replies      
Very cool script. Any support for permalinks?
If you don't need your list to be on your site, you can always use listly for social lists/polling like this example of startup tools - http://list.ly/list/9E-tools-and-services-for-a-lean-startup
aboodman 5 days ago 2 replies      
Put a working example or at least a screenshot on that first page. I don't have time to download a zip file and blah blah blah to see what you made. Make it easy.
atomical 5 days ago 4 replies      
Is there a similar library that can be used with tables? I like the function and this looks easy to use but my site uses tables over lists.
Smudge 5 days ago 0 replies      
An idea for extending this:

-Add pagination. I don't mean dynamic/AJAXed pagination -- The entire list can still be loaded in the background (which would still make the list sorting/filtering possible).

repos 5 days ago 1 reply      
Is there a neat collection of all these javascript libraries out there?

I'm sure there are tons of awesome libraries I don't know about.

ckhoo 5 days ago 0 replies      
Fantastic script. Nice work!
sundar22in 5 days ago 0 replies      
Its neat and useful.
ecommando 5 days ago 0 replies      
Nice work :)
TakeThisLollipop - really clever/creepy use of the Facebook API takethislollipop.com
425 points by wesleyzhao  8 days ago   133 comments top 44
slapshot 8 days ago 4 replies      
Looks like it's connected with the ad agency Evolution Bureau ("EVB") (clients: [1]), the same people who did the Office Depot-braded "Elf Yourself" sensation [2].

Why do I think it's EVB? This is the only other site on the same IP as manipulation.com, and manipulation.com is registered clearly to EVB. The agency's creative work is consistent with this project too.

[1] http://evb.com/work/
[2] http://elf.evb-archive.com/

0x12 8 days ago 6 replies      
Funny, my hosts file seems to interrupt the flow of this prank slightly.

We'll see how my s.o. reacts to it, but on my machine it does absolutely nothing.

In case you're wondering what is in my hosts file: www.facebook.com facebook.com connect.facebook.net facebook.net fbcdn.net www.fbcdn.net badge.facebook.com blog.facebook.com en-gb.facebook.com developers.facebook.com touch.facebook.com de-de.facebook.com stories.facebook.com it-it.facebook.com hu-hu.facebook.com peace.facebook.com et-ee.facebook.com az-az.facebook.com 0.facebook.com apps.facebook.com

A nice side-effect of this seems to be that the web has become a lot more responsive. No more 'like' buttons popping up all over the place.

edit: regarding my s.o. it's been an interesting morning, this app seems to have opened her eyes to facebook in a different way. No more apps.

cubix 8 days ago 0 replies      
I saw a Second City improve last winter, and one of the better sketches exploited Facebook similarly, albeit in a more lighthearted and humorous way.

Prior to the performance they would find an audience member's Facebook page using their credit card or mailing address (presumably), and write a sketch based on the details extracted from his or her page.

They incorporated the lucky patron's inevitable reaction into the sketch under the pretense of reprimanding him for disrupting the show. After letting him squirm a bit under the spotlight, the punchline was projecting his Facebook page on the screen across the stage.

lukejduncan 8 days ago 2 replies      
I don't have facebook. Anyone mind writing a tldr?
driverdan 8 days ago 3 replies      
Why would anyone authorize Facebook access for a random site like this? No privacy policy, no about page, no terms. You have no idea what they're actually doing with your data.
mindstab 7 days ago 2 replies      
One interesting thing about how this was designed, it for some reason doesn't get your location from your facebook profile. It uses your IP address, which led to hilarious results because while my facebook rightly says where I am, I was using a SOCKS proxy to access this in a different city and when it showed him looking at a map it showed the route to my SOCKS proxy instead of me.
I guess I'm safe and the crazy guy won't kill me :)
flexd 8 days ago 4 replies      
This actually just freezes for me/nothing happens after I click "Connect with Facebook". Chromium 12.0.742.112 (90304) Ubuntu 10.10.
SecretofMana 8 days ago 0 replies      
For me, this was rendered hilarious by some of the images people have tagged me in on Facebook that don't actually have me in them. Seeing the serial killer erotically stroke a picture of a T-Pain coffee mug is rather amusing.

That being said, is there any way I can be sure besides the disclaimer that this isn't actually saving/using my personal data outside of the video? I guess that's part of the point, that I really can't, though.

Pfiffer 8 days ago 4 replies      
Care to explain for those without Facebook accounts?
toast76 8 days ago 0 replies      
This could be exactly what I need to finally get my wife off Facebook....
stef25 8 days ago 2 replies      
I wonder if it would be possible to for the app to send you an sms (or even call you!) with some creepy "I'm outside, baby" message at the end of the movie.
caryme 7 days ago 0 replies      
It looks like this was made by Jason Zada (https://twitter.com/#!/jasonzada) according to a tweet by the actor (https://twitter.com/#!/billoberstjr/status/12614080094496358...).
steilpass 8 days ago 1 reply      
Revoked access to tons of applications.
VonLipwig 8 days ago 1 reply      
That was amazing. You know its a joke.. but the production value is so high your can't help but be really creeped out by it. I have removed every app which I have signed up to from accessing my Facebook account. I have also bolted my front door.


rane 8 days ago 4 replies      
I gave the guy all those details and pics while authorizing the app!

There's no way too see those things without being my friend.

hiraki9 8 days ago 1 reply      
That was very, very well done.

How did they do video compositing on top of an embedded browser window in Flash?

Perhaps they pre-rendered the webpages server-side using WebKit or some such and sent a screenshot to Flash....

runn1ng 8 days ago 2 replies      
What exactly happens after the one hour on the end? Can't afford to wait right now
codezero 7 days ago 0 replies      
My guess is that this is an advertisement for LCD monitors... the guy went crazy because he's still using a CRT... poor fella.
strickjb9 8 days ago 1 reply      
This is a genius idea. I'm sure it will go viral and everyone (including their mother) will give this site a test drive.

I can only assume that it is designed to do one thing - data mine.

lzell 7 days ago 0 replies      
Google street view would have been a nice addition too, depending on the accuracy of the geo lookup.
tomasienrbc 8 days ago 0 replies      
This is a pretty disruptive use of the Facebook API. Personalized entertainment content, I love it!
paul9290 8 days ago 0 replies      
Here's a similar thing from summer 2010. You and your friends inserted into a horror movie trailer.


robinduckett 8 days ago 0 replies      
It's nice that you can disallow the permissions granularly, for example, I didn't mind it accessing all my data, but posting AS me on facebook? No. Disabled. Happy days.
bteitelb 8 days ago 1 reply      
The production value is very high. FB Open Graph Protocol meta tag found in source:

  <meta property="og:type" content="tv_show"/>

Perhaps it's a viral media stunt to promo a new TV show.

itsnotvalid 8 days ago 0 replies      
If you don't want sites like this to view your stuff, please also set the privacy setting for applications your friends use to a better one. Or else you would be next.

P.S. Since you connect to that application by yourself, that is pretty clear that they can read your friends list, your feed and post as you.

Hitchhiker 8 days ago 0 replies      
Brilliant.. could help people think more clearly. Another play on these issues, http://youropenbook.org
kennywinker 8 days ago 0 replies      
Oooh! Well played. I really want the candy, but I know they're going to do something bad with the information they take from me... I'm still tempted.

Ok, so I did it and now I'm never sleeping again.

Cushman 8 days ago 0 replies      
Mobile Safari: "You need at least Flash Player 10 to view this page."

Apple saves the day again!

jmilloy 8 days ago 2 replies      
I don't think I get it... when I let a facebook app access my facebook, it can... access my facebook and look at my pictures? anyone can look at my pictures, anyways. i'm missing something here
gurraman 8 days ago 0 replies      
A little video that gives you the feeling of this, without the personalization:


sebastianhoitz 8 days ago 0 replies      
There was something similar with "Notruf Deutschland": http://www.notruf-deutschland.com/teaser/

They had a similar "approach" :)

Still, very nicely done!

klausjensen 8 days ago 0 replies      
Would seem like the viral success has overloaded the site... I can't get it to play any longer, and it worked an hour ago.
ben_hall 8 days ago 1 reply      
What happens when the countdown gets to zero?
alanh 7 days ago 0 replies      
Hilarious that the content & domain name could lend this to being classified, in some filters, as a “shock site” ;)
technogeek00 8 days ago 0 replies      
Quality is fantastic, I too am curious as to how they are generating the pages into the movie.
hermannj314 8 days ago 0 replies      
It killed the mood when he searched for ,(null) in Google Maps, but otherwise pretty freaky.
mikeburrelljr 8 days ago 1 reply      
Amazingly well done... Now, I'm going to cry myself to sleep.
snaveint 8 days ago 1 reply      
That is impressively creepy. Wow. Anyone know the background?
omid 8 days ago 0 replies      
My 64bit flash player 11 on Linux crashes right away!
oscardelben 7 days ago 0 replies      
Geoffrey Grosenbach is next. Oops
Axsuul 8 days ago 0 replies      
Doesn't work for me? Do I not have enough info?
chippy 8 days ago 0 replies      
crashes flash
polemic 8 days ago 0 replies      
Keeps cutting out part way through, but VERY well done.
mahen23 8 days ago 0 replies      
Good luck finding me in the middle of the Indian Ocean dork
How to hire an idiot nukemanbill.blogspot.com
401 points by tyn  2 days ago   178 comments top 41
tokenadult 2 days ago 3 replies      
There is an art to checking references. Even if a company has a policy of giving bare minimum information, find out a TELEPHONE NUMBER of someone in that company who knows your candidate and start a conversation. I was given a specific script of questions to ask back in the 1990s when I was a community volunteer for my local public school district, doing reference checks on superintendent candidates. A consultant advised the school district (and through the district, me) on how to do this. If you talk to someone directly by voice, and have a good list of specific questions to ask about the candidate, you will be AMAZED at what people say, policy or no policy. Company policies don't keep people from sharing stories with curious listeners. The key is to learn what questions are legal to ask and reveal the most interesting stories about the person you are thinking of hiring. There are consultants who can advise you about checking references, and, as several comments here say, they are a lot less expensive than making a wrong hiring decision, and once you've learned the questions, you know what to ask.

I've just asked my consultant Google, and he suggests several sets of useful questions to ask when checking references:









jwallaceparker 2 days ago 3 replies      
Wow a similar thing happened to a friend of mine in what he calls the "flying dragon" story.

About 5 years ago my friend Bob (not his real name - real name is Andrew) started an entertainment business to do shows like Cirque du Soleil.

He advertised on websites looking for acts. A man came in saying he was an agent that represented a flying dragon. Bob was incredulous. He asked to see the dragon. The agent told him the dragon would only come out for performances.

Bob paid the agent $1000 up front and spent another $3000 on marketing for the dragon's first performance. On the night of the performance, the agent called Bob and told him the dragon was sick but that he could definitely do a better, bigger show the following week.

Bob paid another $1000 but the dragon didn't show up again. Three weeks later the agent told Bob that the dragon died but had already spent the $2000 on his lair.

Bob now says, "Make them show you the dragon," as advice for almost any situation.

wdrwilson 2 days ago 0 replies      
The hiring process and possibly placing too much trust in a new employee can be dangerous without the proper due diligence. However I think there is something else that has to do with technical people running their businesses that is worth mentioning.

Being a technical person in sales can be bloody scary, I run a software company and at the beginning I was scared to death about both sales and marketing. So much so that I would avoid it, and only do it when absolutely necessary. Which lead to basically working on whatever came along. Not ideal, and I was basically working for myself, with no real growth.

While working at a co-working space I met a fellow entrepreneur who had a sales and marketing company mainly focused on lead generation and online marketing. I hired his company to help with new messaging for our company. However this engagement quickly turned into sales coaching 101: how to build a sales funnel, effective proposal writing, understanding buying signals, targeting ideal customers, the whole works.

The whole time we worked through this process I was learning and understanding, and becoming less and less scared. One of the books that he recommended to me was 'Customer Centric Selling', it's a good read and I think is ideally suited to technical folks finding themselves in sales roles. It talks about sales as a process, and not a "who you know" connections mystical black box. you know.. Like the VP of the 100 million dollar company wanted to do. Connections always help, but the process is there to make sure that the optimism that the sales people will undoubtedly assign to each deal can be measured and verified. I find you don't get into these situations where a sales person feeds you a loaded forecast with nothing to back it up.

As the founder you need to know what works for your business, and don't hire a sales person hoping they will have magical powers and be instantly able to sell your product/service. Learn and create the process yourself, then hire a sales person and have them execute and refine your process. You know your business best. Others can help, but at the end of the day it's on you!

tptacek 2 days ago 2 replies      
The moral of this story, which virtually every startup founder in the history of the universe has heard or told a variant of, is:


lukev 2 days ago  replies      
So he was a highschool dropout. How do you not notice something like that on a resume?

College degrees are always listed on resumes, and while they aren't that important in most cases, it should at least be brought up as an interview conversation point if it's missing entirely (and from there, launch into a discussion of how a person gained their skills, which would have completely unveiled this guy).

jaredsohn 2 days ago 1 reply      
Comments from a previous time this was posted (three years ago): http://news.ycombinator.com/item?id=263599

"How do you find a good salesperson?": http://news.ycombinator.com/item?id=264282

fleitz 2 days ago 1 reply      
The more important lesson to learn is that if you're confident, likable, and remember people's names you can be VP of a $100 million dollar company. Now if you're competent as well, imagine how far you could go...
MaxGabriel 2 days ago 1 reply      
I think you can still do this:
"-- Hire people smarter than myself, who get things done!
-- Trust them to do their job, let them do their job and give them enough resources to do it!
-- Pay them WELL and offer great benefits! Work at home! Sure, why not?
-- Give people second chances! Don't throw out resumes because of lack of buzzwords! Or disjointed writing! Or lack of education! It's all about Smart People who Get Things Done, not interviews or resumes or formalities! Have an open mind!"

You just need a way to check if they can get things done, like looking at past apps they've coded. Nothing like that was done here. Really, if he just did an interview, one thing from that list of things he didn't want to do, this probably wouldn't have happened.

nhebb 2 days ago 0 replies      
The author, Bill, answered questions about this on Joel on Software:


Key comment:

"[..] when you're in your spare bedroom alone slaving away for 5-6 years, then someone comes along with deep connections to the industry (proven from asking around), who everybody in the niche knows, and who was 'part of a team' responsible for booking $100 million in sales in a single year... it is easy to not go through all that due dilligence and just accept someone like that at face value."

freejack 2 days ago 0 replies      
The lesson here is to never rely on someone else's hiring process to do your screening. Big Corps VP can easily become your douchebag if you aren't on the ball.

This is a great startup story - I think the original poster got off easy. For the price of some pens, a dinner and a whole bunch of wasted time (and perhaps a small hit on credibility) the truth was found. I've seen situations much, much worse.

This is exactly why hiring is described as the most important thing a manager/executive/founder can do.

coenhyde 2 days ago 2 replies      
Everyone pay attention, this seems to be one of those lessons everyone learns the hard way.

I'd made a similar mistakes with my first hire. Basically I hired the first guy who said he was awesome at php. Great I said. Do this, this and this. You can do some work from home, set your own hours at the office etc. He stopped coming into the office to work from home instead. I was so over capacity that i didn't check on his work for about 2 months (fool is me). When I finally did I discovered a horrible horrible mess. The app was completely useless and the 'awesome php dude' was completely incompetent. Lessons learned:

1. Do your own investigation into a potential hire to see if they are actually capable.

2. Watch new hires carefully

3. It costs more to fix hiring mistakes than to prevent them from happening.

Actually my second hire was pretty shit too. This time I made sure the dude was technically competent but he didn't fit the company culture I wanted. I don't like egos or office politics.

After those few bad mistakes my subsequent hires were great.

jsavimbi 2 days ago 0 replies      
The author fails to mention how much his own greed played into this.
rphlx 2 days ago 1 reply      
Titles are bullshit. At some companies almost every salesperson is a VP of Sales, Western Antarctica (or whatever) -- it's a free way to make customers feel important.
algoshift 2 days ago 1 reply      
The reason you get head nods when you relate this experience, in my opinion, is that versions of this sort of thing are all too common when hiring sales people. Sorry to be biased, but I'll go as far as saying that there's a certain separate species in the sales world. By now I recognize a lot of the signs, but it cost me hundreds of thousands of dollars and a lot of lost business to get there. Just ask fellow entrepreneurs "What's the secret to hiring a sales person?" and watch as the first reaction is eyes rolling.

If business where easy everyone would be doing it. Don't give up, you'll figure it out.

rdl 2 days ago 0 replies      
A founder should not be delegating sales to a hire, and if you have multiple cofounders, it is moronic to have only one of them aware of sales (with 3 people, you could maybe get away with 2 people knowing about most of the clients, or a different subset of 2 for each client, but even then).
ericflo 2 days ago 0 replies      
What I'm taking away from this is that it really is important to check up on the background and specific accomplishments of new hires, regardless of prior accolade or title.
dangrover 2 days ago 0 replies      
This is exactly what happened to me with Etude and why I ended up selling when I did.
shn 2 days ago 0 replies      
Unfortunately I have encountered those "sales" people quite a few time during my long career (in financial industry.) They sell themselves very well, they're very good at with people, they make a lot of jokes, laugh a lot, they use their own families (dinner parties etc.) for getting closer to people and, dresses very very well for all occasions. They play politics in the office very well as well. When it comes to deliver something, you always see delays, they quickly offload responsibility to those who can actually do it (and they are very good with them as well). They suck up, but when it comes down to it, they kick down hard especially those who helped them in the past. They all disliked me, since I was very blunt to them. It is easy to detect them, since if he is really someone to deliver he will do it very soon, otherwise they play endless delay tactics.
16s 1 day ago 0 replies      
People like this who know a lot of folks and who get along and are likeable can be a huge asset. You may not want them selling for you, but you certainly want them to mingle, talk to potential clients and take them to dinner, etc.

They aren't idiots, they are very valuable employees when used appropriately. He would make an excellent client relations manager.

matdwyer 2 days ago 0 replies      
I don't think anyone gets it right the first time. My first two "hires" were horrific. I ended up learning from the experience and better shaping what I wanted, what I needed to do differently, etc.

Most recent hire has been a much better fit into that mould, but still not perfect. HR isn't at all my specialty, and I know it will be years before I perfect it.

Glad to hear that the company recovered - one of mine didn't.

erikb 2 days ago 0 replies      
It's funny how the boss actually was the idiot for buying that guy. Even his goals in the beginning were stupid. I can only learn from this article that my goals are probably shit, too. At least as long as I don't have some experience as people manager.
iand 2 days ago 4 replies      
Number one rule of hiring: take up references
sarcasmatron 2 days ago 0 replies      
As a hiring manager, I always try to either (a) hire 90 day contract to full-time; or (b) hire under a 90-day trial or probationary period. At the end of the period I ask myself if I would still hire that person. If my instinct is "no", I trust my instinct. It's good for morale when everyone knows that the 90 days is a meaningful evaluation period.

As a job-seeker, I always make sure that I contact my references and give them a heads-up that the call is coming in, along with a copy of the resume I submitted for the job and the job posting. It's out of courtesy to the person I'm asking to provide me with a reference.

steve_cronin 2 days ago 0 replies      
Excellent post. Mirrors my own experience a lot. How many life-savings and great business ideas have been burnt beyond repair by doofus business losers only god can imagine.
3pt14159 2 days ago 2 replies      
Dude was a psychopath. I've been tricked by them before, cost me at least $20k. They lie. Straight to your face. They are often terrible at spelling, grammar, and just general "this document should look right" skills.
xarien 2 days ago 0 replies      
It's a shame OP had to learn the hard way given that he stated he was not going to buy into resume hype and ended up doing so anyways albeit in a less formal fashion.

While stories like this would any employer cringe, the very opposite scenario occurs as well. I've personally been part of the receiving and giving end of that type of scenario.

gautaml 2 days ago 0 replies      
I cringed every time this came up in every paragraph.

But... he was the VP of a $100 million company, after all!

maeon3 2 days ago 0 replies      
The Bozo Explosion, and how to prevent it:
kevinalexbrown 2 days ago 0 replies      
Maybe the rule is "don't be embarrassed about asking questions when your business/reputation is on the line." Kind of easy to get starstruck, I guess.
abbasmehdi 2 days ago 0 replies      
This is one if the things that could happen when you try to compensate for a cofounder with an employee/contractor.
Mordor 2 days ago 0 replies      
No time for any of them - called out the sales director for being a bullshitter and amazingly kept my job for several years. Sold nothing, was like watching a galaxy imploding into a black hole. Stayed for the entertainment. Was well worth it.
biot 2 days ago 0 replies      
I think I've worked with that guy before...
TruthElixirX 2 days ago 0 replies      
"Sadly, I could have found out all of that by simply asking him before offering him the deal."

Wow. Really?

anjc 1 day ago 0 replies      
Alternative title: How to hire like an idiot
evanmoran 1 day ago 0 replies      
Anyone who will work for free may not be worth the price.
yesreally 2 days ago 0 replies      
"business executives are sometimes just full of shit!"

not just business executives.

willpower101 2 days ago 0 replies      
"Every time I relate this experience, I get a lot of head nods."

o.O is what you get from me. Is everyone you relate this story to you a half-wit? Quite simply, who hires without adequate research? (apparently many more people than I realized)

robot 2 days ago 0 replies      
Anyone know who this is, or his company?
bomatson 2 days ago 0 replies      
He should of at least Googled the guy!
chipocabra 2 days ago 0 replies      
As an idiot I take offence
GitHub open sources Hubot (chat bot) github.com
396 points by technoweenie  20 hours ago   49 comments top 19
jashkenas 20 hours ago 1 reply      
Direct link to the source code of the included Hubot Scripts: https://github.com/github/hubot/tree/master/src/hubot/script...

... It's pretty great how short and sweet these are.

llimllib 20 hours ago 1 reply      
Here's our ruby campfire chatbot, developed for our office. Many more plugins! Ruby!


edit: for comparison, our google image plugin: https://github.com/markolson/linkbot/blob/master/plugins/ima...

vs. theirs: https://github.com/github/hubot/blob/master/src/hubot/script...

sudonim 18 hours ago 2 replies      
If you're actually planning to deploy this to heroku, you may need to make one little change to the code. Everything worked great except for this:


Also, you'll probably be restarting a bunch to get hubot up, but seems pretty stable after that.

Nice work Github! Took me about a 1/2 hour to get it up and running.

nosequel 19 hours ago 2 replies      
Okay, sorry ahead of time for being a Debbie downer here, but there are no work-related or useful scripts in the repository. All the great stuff they talk about running builds, deploying code, checking on servers, getting test results are not there. I don't see youtube and google images lookups all that useful as a chatbot IMHO. So, what am I missing? It seems like people think this is cool, but I guess I don't get it.
josephruscio 20 hours ago 0 replies      
Awesome to see this out in the open now :-).

In the spirit of sharing, here's our campfire bot developed in Ruby on top of the Scamp (https://github.com/wjessop/Scamp) framework:

May not have started it if the hubbers hadn't taken so long with hubot ;-).

puls 20 hours ago 0 replies      
I've written internal chat room bots at multiple companies. Making a definitive open-source solution to this is long overdue.
mitchellhislop 19 hours ago 0 replies      
Its really a testament to GitHub how many of us started a project like this when we kept hearing about the greatness of Hubot. I am really pumped to see what the community comes up with as far as scripts go. Pumped to see at least the start of IRC support - I figured it was Campfire only, and would have to hack it myself to make it do IRC
ConstantineXVI 19 hours ago 3 replies      
Yummy. Think I'll try and adapt this to XMPP over the weekend and toss my custom (read: ugly) Python bot for our office.
siong1987 12 hours ago 1 reply      
If you are using HipChat, I already ported part of the code. It should be usable. But, this can be made better.


dustinupdyke 12 hours ago 0 replies      
I first heard of Hubot from Zach Holman here:


He also posts great stuff on his own site FWIW here: http://zachholman.com/

ethank 20 hours ago 2 replies      
/Stops writing his own Hubot in coffeescript/node
willbmoss 19 hours ago 2 replies      
At Bump we tried Campfire, but ended up using IRC (and use an open source IRC bot, https://bitbucket.org/yougov/pmxbot/src). I'm curious why you decided to go with Campfire instead of IRC.
listrophy 18 hours ago 0 replies      
So.... who's gonna be the first to hook this up to a Nest Thermostat?
joshwa 14 hours ago 0 replies      
Funny, just today I was revisiting my decently-widely-used campfire bot:


In the process of gemifying the bot and the plugins separately to make maintenance easier.

jonursenbach 17 hours ago 0 replies      
If anyone is interested in another alternative, check out my node-smores framework. https://github.com/jonursenbach/node-smores

Shameless plug, but I could use some help fleshing out useful plugins.

shykes 12 hours ago 0 replies      
It was already adapted for deployment on dotcloud! https://github.com/miyagawa/hubot-dotcloud
freemarketteddy 19 hours ago 1 reply      
what would be a quick way to deploy hubot on my mac
gbelote 20 hours ago 0 replies      
This is great, thanks GitHub! I've been procrastinating on writing my own Hubot, now I don't have to!
grandalf 20 hours ago 1 reply      
Hubot, meet Siri.
Dropbox: The Inside Story Of Tech's Hottest Startup forbes.com
375 points by blurpin  8 days ago   103 comments top 24
pg 7 days ago 2 replies      
Drew's case shows how hard it is to generalize. We're generally reluctant to fund single founders. And yet the most successful startup we've funded had a single founder at the time he applied:


We strongly encouraged Drew to get a cofounder, and he found Arash before the summer 2007 cycle began. Arash turned out to be the perfect cofounder. So Dropbox is pretty much the best case scenario for a single founder applying to YC. And the variation in startup outcomes is so great that even though we have such a large data set, the best single founder outcome is so far better than any of the multiple founder outcomes.

This is why one of our rules is that we'll break any of our rules.

luigi 8 days ago 5 replies      
Then come Chris, Jason and Joe (who has a Dropbox tattoo on his arm because he feels “Drew is changing the world”), more MIT brothers aiming to live a California dream they all imagined back in Cambridge as “billionaires, bottles and babes.”

Eww, that's offputting.

dr_ 8 days ago 4 replies      
Jobs never changed his interpretation of things. He did in fact feel cloud storage was a feature and not a product, and that's exactly what iCloud is. For Apple it's a feature that will hopefully tie people in to their iOS devices. And with the likelihood that over time they will offer greater amounts of storage for free or a minimum payment, that's not good for Dropbox.
I like Dropbox, I use it almost daily. But so far I've never actually paid for it. Same, so far, with iCloud. To Apple, this would be largely irrelevant, but for Dropbox, that's not so great.
JacobAldridge 8 days ago 1 reply      
"Ferdowsi from the start insisted Dropbox's home page be a simple stick-figure video showing what the product does. No table of features and pricing; instead, a story about a guy who loses stuff and goes on a trip to Africa."

This made me realise I'd never been to the Dropbox homepage. I heard about the company here on HN (Drew's YC Application form is a great read), and I didn't have a need at that time - about 6 months later I took on a global project and one of the first emails I got from the client was asking me to sign up for Dropbox so we could collaborate.

As the article notes, that word of mouth (I've passed it on numerous times since) has driven growth, perhaps more than the homepage. After all - it just works.

physcab 7 days ago 0 replies      
While I love Dropbox and have it installed, I think they are right to fear ICloud. After getting a 4s and being able to simply type my AppleID, I instantly had all my contacts, videos, photos, music, settings, and bookmarks instantly and seamlessly synced. Best part of it all was that I didn't even know I was using ICloud. I didn't have to setup or download anything. It was so simple. Since I'm a mac user, I really don't have much use for Dropbox anymore.
simplekoala 8 days ago 3 replies      
"Jobs had been tracking a young software developer named Drew Houston, who blasted his way onto Apple's radar screen when he reverse-engineered Apple's file system so that his startup's logo, an unfolding box, appeared elegantly tucked inside. Not even an Apple SWAT team had been able to do that."

Can anyone throw more context around this hack. Technical challenges to accomplish this will be bonus.

keithpeter 7 days ago 3 replies      
2 gig free, next step up is 50Gb. Anyone else find the big jump means they use the dropbox just for day to day projects? A 10 or 20 Gig price point at $5 a month would be something I could rationally use.
gr366 8 days ago 5 replies      
Does Forbes.com have a print URL? I couldn't find one (did find a print.css which does almost nothing to optimize for printing), and I'd rather not encourage their splitting the article onto 4 separate pages by clicking through.
marcamillion 7 days ago 0 replies      
$240M Revenue? Holy CRAP!

As I predicted some time ago - http://marcgayle.com/how-dropbox-is-printing-money - I am pretty sure that once Dropbox reveals their profit margins, the world will be stunned.

Mark. My. Words.

staunch 7 days ago 0 replies      
Been amazing watching the entire process, from YC hopeful to Forbes cover. Way to go Drew.
DodgyEggplant 8 days ago 2 replies      
How many people would sit in front of Steve Jobs, refuse to a hundreds of millions acquisition offer, just before Apple enters their market.
You got to admire Houston. He might reach the moon.
joejohnson 7 days ago 0 replies      
I really like Dropbox. I wish they were actually encrypting users' data in a manner like they originally advertised they were. This is my only concern with using their service.

I understand that they wish to save space with deduplication and that this requires them to look at your files a fair bit prior to encryption. I just prefer they let users opt into using their own private keys.

rdp 7 days ago 1 reply      
My biggest issue with Dropbox, and I am probably not alone in this, is still security. After the lapses earlier in the year, I still store most files in a TrueCrypt share in my DropBox folders. Since I can't access the TrueCrypt volume from my phone or other mobile devices, it limits the portability of the data.
algoshift 6 days ago 0 replies      
I think context is important here. I don't think I am wrong in saying that most YC startups consist of 20-somethings, perhaps even in their low 20's. At this age few are truly prepared for the stress, conflict and issues that running a business could bring to the table. And, in this context, it is probably far better to have more founders rather than less.

I've been an entrepreneur ever since I can remember. And, retrospectively, I know that I did a lot of dumb things when I was younger. It takes a while to develop the business smarts, thick skin and, if you will, intestinal fortitude a business requires. I've experienced business issues as I got older that I know would have totally decimated me when I was younger. You are simply not prepared for that sort of thing. Particularly things like impending catastrophic failure, when you need to be mentally and emotionally in your strongest mode.

Barely-out-of-teenage-years entrepreneurs (not meant with disrespect at all, just chronological fact) need a support system in order to stay the course, learn and not derail. That's why I think that in these cases the multiple founder "rule" is probably a very good idea.

I would say that older solo founders with previous skin in the game are probably a good bet (all else being equal). One young founder thrown into the jungle that business can become is probably a formula for almost certain failure.

While, of course, there are always exceptions to every rule, I do think that what I am saying is a reasonable characterization of the problem.

esalazar 7 days ago 0 replies      
I use dropbox everyday for work and my personal life. I have two problems with dropbox though.
1. There is no paid plan between the free 2 gb account and the $100 50 gb account. A nice 10 or 25 gb account would be great. It is hard for me to justify spending the 100 a year when I don't need all that space.
2. There has not been a huge change in dropbox since it's inception. I find myself using it less and less, since it is so easy to share documents with google docs.
kwamenum86 7 days ago 0 replies      
I think one lesson of the Dropbox story is that you can build a company around a feature of minimal product if you have a savvy team and crisp execution.
skadamat 7 days ago 0 replies      
Inspirational story, thanks for that Forbes. I wish I had started programming from an earlier age (I only started 4-5 years ago, I'm a junior at UT Austin) but Drew is still an idol for me for both his crazy development skills and entrepreneurial talent. I use Dropbox on a daily basis and definitely laude him for seeing the idea through and not selling it to a big fish.
hosh 7 days ago 0 replies      
This story sounds like the story of Audion, SoundJam, and iTunes nearly 10 years ago:


hosh 7 days ago 1 reply      
I don't closely follow the changes to Apple developer APIs, so this may be blindingly obvious to others but not to me. Does anyone know if Apple is providing iCloud APIs for iOS/OSX?

I suppose, something similar to the file/db libraries, only these would go let you persist files and settings to iCloud (similar to Valve's SteamCloud for games).

rottendoubt 7 days ago 0 replies      
Just curious if Dropbox had a MVP? If so, what was it? Was it ready and launched by Demo Day? Was it a purely free model, or were they already going with the freemium model at launch?
billtx 7 days ago 1 reply      
Dropbox is written is Python correct? Would it be faster/more efficient/smaller footprint if it was written in C++?

I just have this (likely) wrong perception about Python from the original BitTorrent vs uTorrent.

MikeGrace 7 days ago 0 replies      
See a need, fill a need. Love it!
blurpin 8 days ago 0 replies      
Press release (and TC) says 45+ million users. Forbes says 50 million. I think 50mm is more like it.
mike55 8 days ago 0 replies      
Sorry, I don't read articles divided in pages. Fuck you Forbes.
New HTTP Codes ietf.org
352 points by alcuadrado  6 days ago   80 comments top 18
ck2 6 days ago 1 reply      

  428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
511 Network Authentication Required

I've been using 414 Request-URI Too Long for 431
and 503 Service Temporarily Unavailable for 429

pavpanchekha 6 days ago 2 replies      
These all seem immediately practical status codes that add semantics I've been wanting. Great! In particular I am happy about the 429 Too Many Requests header, as every time I've done rate throttling I've had to quibble over what code to actually send back.
stygianguest 6 days ago 4 replies      
A bit offtopic, but does anybody know what typesetting system was used to produce this document? It looks like troff manpages. Is that what is used for RFC documents as well? I love the oldschool look of it.
antimora 6 days ago 4 replies      
I wish HTTP requests submitted time zone information.
Robin_Message 6 days ago 3 replies      
511 seems a little pointless -- browsers can treat it differently, but if the intermediate gateway intends to be malicious, then it won't return 511 anyway. The only useful thing I can see is avoiding accidents/attacks on the gateway compromising its clients.
aninteger 6 days ago 3 replies      
Isn't this something that the http server handles? I am not in web development except for basic php and cgi scripts. Are people actually writing web app code to dictate what http code comes back on each request?
ericmoritz 6 days ago 0 replies      
afhof 5 days ago 1 reply      
429 looks to me as if it might be addressing aggressive http pipelining, but I was under the impression that most browsers have pipelining turned off.
rwolf 6 days ago 0 replies      
Today I learned about If-Match. 428 Precondition Required looks great!
edoloughlin 6 days ago 1 reply      
One quibble. Perhaps I don't quite get the philosophy behind these, but wouldn't it be more useful to have a uniform structure to the responses. E.g., how useful is it to the average user to get a human-readable response for 428 when it's likely to be consumed by an app (i.e., JS) which would have to parse the suggested <p> tag?
a5seo 6 days ago 0 replies      
428 seems interesting as a way to serialize objects and store them client-side, but assure the version stays consistent with the server. Or am I overthinking it?
billpg 6 days ago 2 replies      
Shouldn't 429 (Too many requests) be a 5xx code?
netghost 6 days ago 0 replies      
429 Too Many Requests is really great for APIs, hopefully http clients start supporting this.
afdssfda 6 days ago 2 replies      
511: 'Unknown clients then have all traffic blocked, except for that on TCP port 80, which is sent to a HTTP server (the "login server") dedicated to "logging in" unknown clients, and of course traffic to the login server itself.'

Ugh. Couldn't this be more generic?

worldimperator 6 days ago 0 replies      
Can't wait to set browser dependent status codes :-D
dochtman 6 days ago 2 replies      
What happened to 430?
textgoeshere 5 days ago 0 replies      
Can I start using any of these codes right now? It looks like this is still a draft. Thanks!
bromagosa 6 days ago 4 replies      
OMG really? Do we want to make HTTP even bigger? Don't we want to dump it for good and look for something more suitable to what the modern web needs instead?
Steve Jobs left designer Jony Ive more power than anyone at Apple appleinsider.com
349 points by ashishgandhi  5 days ago   155 comments top 27
zach 4 days ago 2 replies      
By comparison, John Lasseter has more power than anyone at Pixar. I think the situation could be similar.

Now, sure, he has to commit to budgets and timeframes but if he really wants something you have to figure it's going to happen.

And of course, he's not the top manager, the CEO equivalent in charge of the studio itself " Ed Catmull is. And yes, everything creative gets picked apart by other directors so it's not like he's the only voice.

But you'd have to say John Lasseter has more power than anyone at Pixar, assuming you wanted to look at things that way.

You could also say he's the creative heart of Pixar.

It's sure nice that those two things match up.


Edit: I explored this subject in my Quora answer on Pixar, Valve and Blizzard for those interested.


technoslut 5 days ago 9 replies      
Interestingly enough, there is a quote from the Jobs book, from Ive, that was tweeted by Bianca Bosker, who works at the Huffington Post:


"Jony Ive:'I pay maniacal attention to where an idea comes from...so it hurts when [Jobs] takes credit for one of my designs'"

As much as Jobs considered Ive a 'spiritual partner' there was still a power play that existed between the two.

tomelders 5 days ago  replies      
It staggers me that time and time again Apple lays out the reasons for it's unrivalled success for all to see, yet non of it's rivals seem interested in copying their methods and opt for simply copying their products.

Fortune favours the brave.

blumentopf 5 days ago 0 replies      
To those familiar with car history, there's a striking similarity between the Jobs/Ive duo and the Daimler/Maybach duo:

Gottlieb Daimler and Wilhelm Maybach lead the automobile industry in the late 1800s and early 1900s just as Jobs and Ive lead the computing industry in the late 1900s and early 2000s. Maybach was the engineering genius who pioneered countless innovations in engine design, while Daimler had the intuition to get the right products to market and do the industrial power play.

MarkMc 4 days ago 3 replies      
Well, not THAT much power:

'Ive wants to spend more time in the UK where he wants his sons to go to school, the Times claims, but the Apple board has refused to support his relocation. The story quotes a family friend as saying that "they have told him in no uncertain terms that if he headed back to England he would not be able to sustain his position with them".'

From: http://www.guardian.co.uk/technology/pda/2011/feb/28/apple-j...

Sounds to me like HP-level stupidity from the Apple board.

raheemm 5 days ago 1 reply      
Guess I'm buying this book. It'll be my first time to buy a book during first release. Good marketing by the publishers. This is sort of like Freemium model, no?
nknight 4 days ago 5 replies      
Great, but... Ive only does industrial design, as far as I know.

The other side of the coin is the software, and if that declines, Ive's going to be creating very well-designed paperweights. So who does Apple's software design?

Kliment 5 days ago 3 replies      
Those are some damn nice CNC mills in the background of that photo. Wonder how much use they get.
tormentor 5 days ago 0 replies      
I think he gives Ive more power because of his experience with Paul Rand and the Nextstep logo.


In short Paul Rand tells Steve I will make you one design and I will solve your problem. Since then I believe he has given designers (Jon Ive in this case) their space to design whatever they want. Trust in the designer.

jinushaun 5 days ago 5 replies      
But yet, you never see him up on stage... There's a cult of personality around Ive on the Internet"everyone wants him to replace Jobs as CEO, but is that even realistic? Sure, he can design, but can he run a company?
brown9-2 4 days ago 1 reply      
Of course, any new CEO/board can undo what previous CEOs and boards have set in stone.
sgt 4 days ago 0 replies      
This fact alone left me feeling quite a lot better. Now I know Apple is in good hands at least for the time being. Tim Cook is also brilliant at what he does, and I am sure he trusts Ive as much as Jobs did.
psawaya 4 days ago 2 replies      
I think it's interesting that Jony Ive came to Apple before Steve returned. Jobs didn't have to recruit him, and he fit perfectly into what Apple became.
michaelfeathers 5 days ago 1 reply      
Who did they leave in charge of making sure people listen to him?
markerdmann 4 days ago 0 replies      
This brings to mind a blog post published by Darryl Jonckheere in January that argued for making Jony Ive CEO:


alexwolfe 4 days ago 0 replies      
In some ways because Ive was the head designer he had more power than anyone else regardless of Steve's extra effort. His work would impact every level of the company so immediately regardless of peoples personal opinion.
moizsyed 4 days ago 0 replies      
Right now Ive has the best of both worlds, he has more power than anyone at Apple, and hes not the CEO. The CEO role comes with an extra layer of public scrutiny.

Knowing that Jony Ive has more power than anyone at Apple gives me a certain amount of relief about Apple being on the same trajectory for the next foreseeable future.

gaius 4 days ago 1 reply      
Where did the abbreviation "Jony" come from? It's Jonny.
swah 5 days ago 0 replies      
I suppose Ive is Taste, now that Jobs is gone.
anactofgod 4 days ago 0 replies      
Interesting. And a Bloomberg Businessweek article has Scott Forstall as Jobs' heir-apparent at Apple.


aik 4 days ago 0 replies      
I wonder how Jobs' death affected Ive? I would think Ive must be hugely grateful for what Jobs saw in him.
TechnoFou 3 days ago 0 replies      
It's interesting how the soul of Steve Jobs stays in Apple to control the company even after passing out. A company that functions through the power of will, creativity and beliefs.... it's different from all the corporate VP's and Executives we all see so organized at other companies!
Apocryphon 4 days ago 0 replies      
Jony Ive? Yet another man behind the man.
Bratwurst 4 days ago 1 reply      
Jony Ive is just the Shigeru Miyamoto of Apple.
maranas 4 days ago 0 replies      
I'm not surprised - Ive deserves it. The designs he came up with were the driving factor in Apple's success.
tobylane 5 days ago 0 replies      
I'd fear giving Ive too much power/ego/etc, he needs to be grounded to do what he does. At the other end of the scale, it has been said he wants to be in UK more (duh :P), don't know what has changed there.
DodgyEggplant 5 days ago 0 replies      
There was one Steve Jobs. If only two people can replace him, it's a little miracle. A master manager, and a master designer. They can continue w/o the ego fights.
Like Bill Hewlet and the other guy (JOKING! Please spare my carma).
They will do it, we all need them to do it.
Lead Bullets techcrunch.com
332 points by aaronbrethorst  20 hours ago   40 comments top 10
InclinedPlane 18 hours ago 4 replies      
Famed chef Gordon Ramsay has a show called "Kitchen Nightmares" where he rescues restaurants that are in trouble. There's a fair share of drama and spectacle in every episode but much of what he does is apply the same fundamental changes to every restaurant. And it's not silver bullets, it's just sound execution of basic, common sense practices. Keep the menu simple, make stuff fresh, keep the kitchen clean, keep service timely, keep spending under control, etc.

If you have a product that has traction in the market it's not necessary to try for silver bullet features. It's only necessary to get your ducks in a row and execute well. Execution tends to be multiplicative along every aspect. If you can deliver solid features AND solid usability AND solid performance AND solid reliability AND solid customer service then there's no reason why you shouldn't do well.

Ultimately I think the search for silver bullets comes out of a sense of denial. People like to think that the reason their restaurant is doing poorly is some external problem they have no control over, rather than because they. Don't clean their kitchen and their food is bland.

gamache 18 hours ago 3 replies      
“Yet our best trained, best educated, best equipped, best prepared troops refuse to fight. As a matter of fact, it's safe to say that they would rather switch than fight.”"Public Enemy, Fight the Power

Seriously? Public Enemy sampled it, they clearly didn't say it. Thomas N. Todd did. http://www.njcdlp.org/Thomas_N_Todd.html

dazbradbury 13 hours ago 1 reply      
Comment pulled from techcrunch:

Chris Zaharias · Having worked in sales at Netscape for four years (1995-99) I have to very respectfully disagree with Ben. Netscape did not recover from a better, faster, free IIS by building a better web server (called Netscape Enterprise Server, or NES). That helped to a small extent, but much more important were a) competitive advantages in email servers, proxy servers and directory servers; b) bundling of those solutions into a server suite (SuiteSpot); c) effective management of inbound lead flow (kudos to Todd Rulon-Miller & Bill Kellinger); and d) stellar, massive, but arguably long-term damaging OEM sell-thru by Ram Shriram's team that allowed Netscape to continue to grow overall server revenues.

Of those $400M server revenues, very little was NES, and as the graph at the below link shows, NES was always in decline relative competitors.

http://www.securityspace.com/de/s_survey/data/man.200909/htt...? mod=TmV0c2NhcGUtRW50ZXJwcmlzZQ%3D %3D

numeromancer 1 hour ago 0 replies      
On a related note, the Cascade of Attention-Deficit Teenagers: http://www.jwz.org/doc/cadt.html.
mathattack 15 hours ago 0 replies      
Interesting. Focus on the fundamentals and fight in your markets, rather than chasing magic. I hear it a lot. "We should do an ASP", "We need to be a services company" and "We should buy company X."

I wonder if the last point is why buyers tend to do worse than sellers in M&A. Of course buyers chasing silver bullets probably helps HN readers on the margin. :-)

dmk23 16 hours ago 0 replies      
TLDR summary of the article:

"Confront reality and focus on execution of your product/sales plan to get competitive. No pie-in-the-sky strategizing would save your bacon if you fail to get stuff done."

Geee 13 hours ago 0 replies      
At least you have to be very careful where to shoot those lead bullets. You can't just pull through with lots of work without having some fundamental idea or vision of how to beat your competition. I think being lean is all about looking those small silver bullets in everything you do. I'd hate it if someone told me to stop looking for silver bullets.
larrys 18 hours ago 0 replies      
"They did not want to hear that, but it made things clear: we had to build a better product. There was no other way out. No window, no hole, no escape hatch, no backdoor."

This is simply known as "not resting on your laurels".

Or as Andy Grove would say "Only the paranoid survive," ... "Business success contains the seeds of its own destruction," ... "Success breeds complacency. Complacency breeds failure."

(And all of the above also leads to missed opportunity.)

ctdonath 16 hours ago 1 reply      
Methinks this is the core of why Apple is so successful: they do everything RIGHT. By not looking for shortcuts and silver bullets, they minimize things going wrong.
liamk 15 hours ago 1 reply      
Techcrunch looks terrible on my iPad. Divs on top of content and text that goes blurry when I use the iPad's zoom function.
Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video] infoq.com
324 points by puredanger  6 days ago   98 comments top 15
jsmcgd 5 days ago 2 replies      
For me this was the best talk I've seen in a long while. It reminded me of how I felt when I first read PG's essays, someone articulating your own suspicions whilst going further and deeper and bringing you to a place of enlightenment and clarity.

BTW for those of you who haven't watched it, this talk is not Clojure specific.

va_coder 5 days ago 4 replies      
Great presentation, but it got me thinking. Am I wasting my time trying to get software just right? Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for?

How many programmers do you know that are learning all kinds of languages and technologies and methodologies and other things to improve the quality of the software they write and yet will probably sit at a desk writing code for the next 30 years? As opposed to starting a business, getting financial free, etc.

Take the guy from Duck Duck Go. He wrote all of that in Perl; talk about easy, but not always so simple (to maintain). What if he spent his time learning Lisp and Monads instead of writing an app that lots of people use?

gregwebs 5 days ago 3 replies      
A good talk. Leave it to a lisper though to call testing and type-checking "guardrail programming". Hickey says instead you should reason about your programming without acknowledging that testing and type-checking are ways to have executable documentation of your reasoning about your program. Testing does in fact feedback into complexity - if something is hard to test it may be due to complexity that you realize you should get rid of.
falava 5 days ago 1 reply      
You may also want to look at this other great video:

Stuart Halloway: "Simplicity Ain't Easy"


plinkplonk 5 days ago 1 reply      
The interesting thing about this talk is how Hickey's (very valid) distinction between "easy/familiar" and "simple/unentangled" can be applied to argue for powerful type systems like Haskell's or OCaml's. Likewise with the "benefits vs tradeoffs" argument.
spaznode 5 days ago 0 replies      
I can't add anything more to what @jsmcgd said but Rich's strange loop talk really brightened my day and more importantly gave me the tools to express what I sometimes try to share with other developers in the clearest way possible. Thanks man, really awesome talk. Invaluable if more people could start thinking this way. (which it sounds like oracle/java 7,8,.. will also help to do whether they like it or not and that's also awesome for that general clump of dev brethren)
neopanz 5 days ago 0 replies      
I feel smarter having watched this talk: it gives you tools to think about thinking as you come up with new designs.
Also love how Rich manages to find the right metaphors to illustrate abstractions, he's a great communicator.
agentultra 5 days ago 4 replies      
Great talk.

Simplicity is, of course, key; but a few of his applications of these principles are misguided IMO.

Ex: The "Parens are hard!!" slide. He suggests that parens are "overloaded" in CL/Scheme because they are used to wrap functions, data, and structures all the same. However he completely misses the fact that by representing everything with parens, CL/Scheme remove a lot of complexity in software written in those languages.

AFAIK, the only languages that do macros right are homoiconic. Anything else is too complicated. Just look at Perl 6 and Haskell macros. They require learning special syntax and really crazy semantics. Using them will probably just make your program more difficult to understand.

He also "rails" against testing. He misses the virtues of a proper testing infrastructure in producing reliable software: if you don't test it, how do you know if it works? Because you reasoned about it? How do you know you're reasoning is correct?

True, "guard rail" testing isn't a crutch that will automatically produce reliable software. But I think Rich relies too much on this narrow view of testing to make his point. Testing is good and necessary.

And the jab to the Unix philosophy? ("Let's write parsers!"). Isn't that what we do on the web anyway? AFAIK, HTTP is still a text-based protocol. Any server that speaks the protocol has to parse a string at some point. So what was he getting at there? The Unix philosophy is about simplicity and has a lot to offer in terms of how one can design software to be simple.

Overall though, it's a great talk. I just think that if he wants to get pedantic then he could be a little more thorough and less opinionated. Everything he said about designing simple systems I pretty much agree with, but I think he glosses over some finer points with his own bias of what simplicity means.

ironchef 5 days ago 5 replies      
Ugh. Why don't they release the presos as opposed to having to deal with synchronous video?
typicalrunt 5 days ago 1 reply      
Slightly OT: What's the name of the template used in his presentation? It's beautiful and has a nice contrast of colours.
ShardPhoenix 5 days ago 0 replies      
Good talk - reminds me of Yegge's recent rant about the Service Oriented Architecture, but coming from another angle (internal use vs. external).
malkia 4 days ago 0 replies      
I wonder what would Rich think of automake, autoconf and cousins? is it simple, is it easy, or simply esoteric?

It confuses the hell out of me :)

vseloved 5 days ago 0 replies      
Rich is a good philosopher. Although it's often hard to strictly follow your own principles in your real-life work - and Clojure shows that often ;)
nebaneba 5 days ago 1 reply      
At 55:20 he says, if you have A calling B all the time, you should "Stick a queue in there."

What is an example of this?

Sikul 4 days ago 0 replies      
Can anyone explain how pattern matching causes complexity?
Starting is easy. Finishing is hard. Finish something at Finish Weekend. finishweekend.com
304 points by bryckbost  5 days ago   69 comments top 29
armandososa 5 days ago 1 reply      
I had a similar idea. I called it a launchaton (contrast with hackaton) but thought of it more like a virtual event (I'm not in Sillicon Valley) but never got to really execute it.
moizsyed 5 days ago 3 replies      
A product is never finished, only shipped.

It should be called Ship Weekend

seancron 5 days ago 0 replies      
This reminds me of "Launch an App Month" last November (http://news.ycombinator.com/item?id=1773398).

Here's the Facebook group that was formed for those who are interested: https://www.facebook.com/groups/launchinnov/

timjahn 5 days ago 1 reply      
Cool idea. Curious, how will it be different than Startup Weekend? How will you concentrate more on the finishing aspect of projects?

Also, love that you're doing this in Holland! Great little town.

subpixel 5 days ago 1 reply      
I totally love that this is happening in a small midwestern city I've never heard of before and it already has about 100 RSVPs. I'm impressed - and if that sounds condescending it's b/c I've written this poorly. I think it's damn cool.
colinyoung 5 days ago 2 replies      
This is really cool. I'd suggest, though, that the creators of the site give more info about the venue and the people that'll be there- I live in Chicago, so it would be really easy to head there. I could probably drag a bunch of people with me, but I know they'd want more info.

Totally exciting though, and I like the choice of place.

athst 5 days ago 0 replies      
I imagine this would attract a lot better audience than Startup Weekend, because it implies that you actually were able to get something started on your own.
darrennix 5 days ago 0 replies      
I think this is a great concept. I've half-started at least a dozen projects that never made it off localhost. I want to finish some of the better ones if only to stick them up on Github and a Hostgator account as a living portfolio.
skeptical 5 days ago 0 replies      
This is great, I have a couple of projects that would need a push. I get bored when things evolve into something that requires knowledge areas that 1)I do not master and 2) have no proper/comprehensive docs I can resource to.

Hope the idea catches on, would sure love to see something like this in europe.

johns 5 days ago 1 reply      
How do we get in touch to sponsor? Or feel free to get in touch. jsheehan@twilio.com
doorty 5 days ago 0 replies      
It should be called Launch Weekend, and if it was in San Francisco I'd be there.
alecco 5 days ago 0 replies      
Looks cool but who is going to do the work? Is this advice only? Are attendants expected to work on each other's project?
Mizza 5 days ago 0 replies      
I love the idea! But no project is ever finished - only abandoned.
JoshTriplett 5 days ago 4 replies      
I love this idea; I hope to see it spread to other locales as well. Anyone for a Finish Weekend Portland?
nbroyal 5 days ago 1 reply      
Anyone up for organizing one out here in the Bay Area for the same weekend (or the near future, if Nov. 12th is too last minute)?

I have an iPhone app I've been trying to finish for a while now, but real life keeps getting in the way. This would be the perfect final push to get it over the goal line.

adambrochill 5 days ago 0 replies      
I can host one of these in LA the same weekend if people are interested. Email's in profile.
themanr 5 days ago 0 replies      
It would be nice to have an online version somehow. Maybe a HN thread or start a reddit?
sbirarda 5 days ago 1 reply      
Wish this was closer to me (SF). Nice to see Twitter bootstrap in use!
bschlinker 5 days ago 0 replies      
Looks like on the "people" page, someone was attempting to see if the Register input is sanitized? There is one name which appears to include some scripting..?
MikeGrace 5 days ago 0 replies      
Cool! Maybe we can get something like this is Austin. Love the idea of focusing on launching and getting it out there. Too many of my projects die in my head and half way through.
Raphael 5 days ago 0 replies      
Yeah, maybe you can finish load testing your server. (Sorry.)
kqueue 5 days ago 0 replies      
That's why you should start from the finish line and move backwards.
codabrink 5 days ago 0 replies      
Wow, this is right in my area. I'm definitely going!
nedwin 5 days ago 0 replies      
Nice use of Twitter's Bootstrap :)
dkrich 5 days ago 1 reply      
Great idea. Wish I was still in Ann Arbor.
Step 5 days ago 0 replies      
Great idea. Hope you share how it turns out. Now I'd like to do something similar in Atlanta...
marmich 5 days ago 0 replies      
Great idea! I'm going to be with you mentally but do the work at home, Europe.
thomasfl 5 days ago 0 replies      
Hyvää Suomi viikonloppuna.
cfinger 5 days ago 0 replies      
Haha, Awesome. This is great, we need one in SF now.
The Roots of Lisp paulgraham.com
287 points by DanielRibeiro  1 day ago   55 comments top 5
agavin 1 day ago 11 replies      
For nearly two decades I was a diehard LISP advocate. I even forced all my programers to code three Crash Bandicoot and four Jak & Daxter games in custom LISP dialects that I wrote the compilers for (an article on one here http://all-things-andy-gavin.com/2011/03/12/making-crash-ban...).

But by the mid 2000s I started doing the kind of programming I used to do in LISP in Ruby. It's not that Ruby is a better language, but mostly it was the momentum factor and the availability of modern libraries for interfacing with the vast array of services out there. Using the crappy unreliable or outdated LISP libraries -- if they worked at all -- was tedious. Plus the LISP implementations were so outmoded. It was very hard to get other programers (except a couple enthusiasts) to work that way.

Ruby struct a decent compromise. And it's type system and object model are better than CL anyway. The syntax is more inconsistent, and the macro model nowhere near as good. But it turns out. Libraries and implementation matter a lot. Still, you can feel lots and lots of LISP influence in all the new runtime typed languages (Ruby, Python, etc). And 30 years later, listeners still rule!

charlieok 1 day ago 4 replies      
PG: "It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them."

We lost founders of both in the last couple weeks. Ritchie for C, McCarthy for Lisp.

What's cool about the paper Paul is talking about here: if you start with car, cdr, cons, quote, cond, atom, eq, and a notation for functions expressed as lists, you can write an "eval" function reimplementing the language. The rest can be built on top of it.

Graham calls this an "axiomatization of computation". The notion of a Turing machine was already well known before McCarthy's paper, and is its own fundamental description of computation. Then came this high-level language which constitues a new one. It isn't "THE axiomatization of computation", just "AN axiomatization of computation".

PG continues the story in a later essay, "Revenge of the Nerds":

"What happened next was that, some time in late 1958, Steve Russell, one of McCarthy's grad students, looked at this definition of eval and realized that if he translated it into machine language, the result would be a Lisp interpreter."

"This was a big surprise at the time. Here is what McCarthy said about it later in an interview:"

"'Steve Russell said, look, why don't I program this eval..., and I said to him, ho, ho, you're confusing theory with practice, this eval is intended for reading, not for computing. But he went ahead and did it. That is, he compiled the eval in my paper into [IBM] 704 machine code, fixing bugs, and then advertised this as a Lisp interpreter, which it certainly was. So at that point Lisp had essentially the form that it has today....'"

"Suddenly, in a matter of weeks I think, McCarthy found his theoretical exercise transformed into an actual programming language-- and a more powerful one than he had intended."


Pretty cool story :)

mjbellantoni 1 day ago 0 replies      
"As computers have grown more powerful, the new languages being developed have been moving steadily towards the Lisp programming model. A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts from the Lisp model[.]"

Hey! That's what I think, too!

Around 2007 when I'd had quite a bit of exposure to both Python and then Ruby I'd started to think the same thing. Although I didn't have the foresight to say it in a public essay I would tell my friends "In five years Javascript will start to become a popular general (i.e. non-web only) programming language and Lisp in 20."

I now think think the big Lisp (or Scheme) event will happen even sooner--say in 5 to 7 years. (Meaning you will see the kinds of articles you see around Node today on HN about Lisp.)

2D Game Art for Programmers gamasutra.com
279 points by Impossible  5 days ago   38 comments top 12
christkv 5 days ago 8 replies      
For a person without a single artistic bone in his body this pretty much amounts to magic no matter how simple it looks. I'm sticking to programming.
hsmyers 5 days ago 2 replies      
Although I've spent more than 30 years as a programmer, before that I spent 8 years as an art major so I know a little bit about how non-artist types steer away from this kind of thing. That said, there are a few things that might help. One of my favorites is 'I can't draw a straight line...' well, neither can I (nerve damage and age)---when I need one, I use a ruler. Another is the usual comparison to some great artist, Rembrandt or the like. If you actually look at them you usually find out that what they can (or could) do breaks down into two areas---that which can be learned and talent. Can't do a damn thing about talent, you have to be born with that, but learning (which amounts to a bit more than 80% of what most think of as good art), that is a matter of teaching and practice. Best way to get to the goal of decent artwork is to stop telling yourself you can't do it and pick up whatever tool happens to be handy and have a go at it.
Groxx 5 days ago 0 replies      
So, the instructions are the equivalent of this: http://www.applegeeks.com/lite/index.php?aglitecomic=2006-05...

Which, to a non-artist, looks like this: http://www.applegeeks.com/lite/index.php?aglitecomic=2006-05...

Yup. super enlightening.

eliben 5 days ago 1 reply      
For some reason the link points to Part 2 of the article.

Part 1 is: http://www.gamasutra.com/blogs/ChrisHildenbrand/20111015/866...

wrl 5 days ago 2 replies      
Anybody know of tutorials aimed at a similar audience (i.e. programmers with little design background) but for GUI/UI elements/widgets?
fourmii 5 days ago 0 replies      
This is great, I know it's applicable for game graphics, but I've been toiling away with Photoshop, learning painfully all it's powerful features for ages! It's good to learn about some other tools (free no less!)that may simplify art creation.
exogen 5 days ago 0 replies      
I've been using Inkscape forever and I love it. Very easy to learn. It's one of those programs that I never even knew had a settings/preferences window until years later, because the default behavior is just that good.

Even after switching to a Mac, I still use it for everything even though some UI and behavior is terribly out of place.

MetallicCloud 5 days ago 0 replies      

  > You should try and aim for the stars. Making games is all about that. Do the best you can and constantly push your limits and improve your skills... but thinking realistically and adjusting your expectations to your abilities and your budget is a big step towards creating the best game you can create.

This is advice that every aspiring indie game developer needs.

jarsj 4 days ago 0 replies      
I like it. Are there books that go step-by-step like this and cover a much wider range of things.
pacomerh 5 days ago 0 replies      
Oh man, this is the kind of stuff I'm looking for. It's so simple yet I didn't even know how to start it. Now I can put real characters into my javascripts :)
gcb 5 days ago 0 replies      
Upvote because I never knew about the interpolate feature. That's handy
chromejs10 5 days ago 1 reply      
This is really cool. So simple and yet it looks really complicated.
So you think you know C: the Ksplice Pointer Challenge oracle.com
278 points by wdaher  7 days ago   98 comments top 24
matthavener 7 days ago  replies      
They really should be listing these answers in terms of sizeof(int) instead of assuming all 64-bit platforms have sizeof(int) == 4. Pointers are confusing in C, but so is the common assumption that sizeof(int) is always 4.
tptacek 7 days ago 4 replies      
I got the 4th question wrong; my only caveat is, professional C programmers probably all learn to avoid constructions like this in favor of more explicit ones.
IgorPartola 7 days ago 1 reply      
Not to be confused with:

  #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int *x = malloc(sizeof(int) * 5);
memset(x, 0, sizeof(int) * 5);

printf("%d\n", *x);
printf("%d\n", *(x+1));
printf("%p\n", x);
printf("%p\n", x+1);
printf("%p\n", &x);
printf("%p\n", &x+1);

return 0;

jules 7 days ago 0 replies      
These questions just show that C is inconsistent. If you have int x[5]; then sizeof(x) is 20, so x is some data of size 20. Yet if you do int y[5]; and then y=x, C refuses to do this even though the types match. That's because it is inconsistent: x is not really an object of size 20 to C, it is also partly a pointer. But then again it is not really a pointer. Which it is depends on confusing rules. If instead y and x were structs with 5 int fields, y=x would work.
davidbalbert 7 days ago 2 replies      
The Ksplice blog is one of my all time favorite programming blogs. I am very happy it's back. If you haven't seen it before, it's well worth looking at the archive.

In question 2 I got tripped up because I assumed sizeof(int) == 8 on a 64 bit system. I also got question 4 wrong because I didn't know that &x gives a pointer to an array of size 5.

cygx 7 days ago 1 reply      
Just to be an onerous bastard: As the code involves undefined behaviour, it's superfluous to reason about any output.

Only values of type void* are valid arguments in case of the %p conversion specifier as there need not be a uniform pointer representation.

bcantrill 7 days ago 4 replies      
This is a bit of an idiotic question because one is not testing knowledge of computing or software systems, but rather trivial knowledge of an arcane corner of the language. Indeed, this question is an interview anti-pattern that I have historically labelled the "where-is-the-bathroom-in-my-house" question: if someone has not been in your house, they would not know, and if someone were in your house and had to take a leak, I trust they could figure it out. In my experience, these questions are most likely to be asked by intellectual midgets who themselves would not be able to answer an equivalent (but different) question.

So in the spirit of performing that experiment and exploring this interview anti-pattern, here's my counter-challenge, which I argue is intellectually equivalent:

  #include <stdio.h>

printf("in foo\n");

void (*func)(void) = foo;


What does that program do? Yeah, exactly: you just ran it. And you're surprised, aren't you? And most importantly: who cares? Certainly not I when I'm interviewing you -- where you can trust I will ask you deeper questions than language arcana...

delinka 7 days ago 0 replies      
"...without the use of a computer."

And in this age, with technology so advanced, and computing resources so inexpensive ... why? Because it's the geek's athletic challenge? Whomever's brain holds the most memorized facts is the smartest brain in the world?

I'd guess someone would answer "because you need to know this stuff to be good at your programming job!" To which I reply: if you ever make the assumption that you know how some bit of code will work in a system, you're well on your way to becoming the infallible coder that no one likes to work with. This is why we have testing methodologies.

Yes, you need to be aware of this particular nuance of C. My answers were more high-level ("the address of the beginning of the array", "the next int in memory, not the next byte", etc) and I have no need to know the precise memory locations when I can ask the computer to tell me.

mikeocool 7 days ago 0 replies      
If you're interested in even more detail and discussion on pointers vs arrays, the book Expert C Programming by Peter van der Linden has several really good chapters on the subject. Plus, the whole book is a really great read.
Hitchhiker 7 days ago 0 replies      
The third answer's explanation could be better than whats given :

" That is, whenever an array appears in an expression, the compiler implicitly generates a pointer to the array's first element, just as if the programmer had written &a[0] "


Also remember that much fun could be had by studying the pre-processor up close .. another source of mind-bending fun.

derleth 7 days ago 2 replies      
I'm pretty sure the code is undefined once you do x+1 (that is, treat an array like a pointer). Arrays are auto-converted to pointers in, for example, function calls, but until that is done doing arithmetic on them is undefined.
zwieback 7 days ago 0 replies      
I got all right except 2 because I thought that sizeof(int)==8 on 64 bit systems.

Array vs. pointer is one of the more advanced interview questions I like to use to probe C knowledge. I don't actually expect any correct answers, just the knowledge that array != pointer.

krelian 7 days ago 1 reply      
I knew all these and I am self tought. Never did too much actual programming but I just enjoyed reading about this things and understanding how they work so over the years I've gained a ton of technical knowledge that (according to what I'm always reading on HN and reddit) the average programmer doesn't know (or care to know).

Can I get a job with the Ksplice team? :)

jheriko 7 days ago 1 reply      
Quite good - I almost got the last one wrong. I did immediately realised my mistake and got it wrong again before nailing it but IRL there is no button to press to tell you you got it wrong (unit test maybe?) - there are much worse gotchas and more useful fringe functionality floating around though. What do these print for example.

int aiFoo[ 5 ] = { 1 }; printf( "%d", aiFoo[ 1 ] );
static int ls_aiFoo[ 5 ]; printf( "%d", ls_aiFoo[ 1 ] );

or how about int i = 5; int aiFoo[ i ]; which is valid C99 but not C89?

At any rate - much more important than learning the minutia of C is learning to get things done. If you are passionate about writing some OS you don't need to be taught - you would already know or be learning. It costs nothing but time...

jrockway 7 days ago 1 reply      
This is the best article I've seen on HN in a year or so. Well done!
malkia 7 days ago 0 replies      
Ignoring the sizeof(int) could be 4, one can code a 64-bit application that uses 32-bit pointers - yes it's rare - but in reality it's a 64-bit application, but just having small pointers - it's called the x32 abi (heh, and I read about it first here from this forum)


For_Iconoclasm 7 days ago 3 replies      
Well, it got me on the pointer arithmetic questions. I remembered that C automatically handles pointer arithmetic (multiplying by sizeof(type)), however:

Question 2: I didn't think that x+1 would be interpreted as a pointer for some reason, so I guessed 0x7fffdfbf7f01. Wrong.

Question 4: I incorrectly thought that what I remembered about pointer arithmetic would apply here. 1 * sizeof(int) = 0x04, so I guessed 0x7fffdfbf7f04. Wrong.

I don't work in C professionally, but I'd like to not forget things. My error in question 2 shows forgetfulness, and my error in question 4 is from not ever completely mastering every nook & cranny in C.

How did the rest of HN do?

Symmetry 7 days ago 0 replies      
I'd seen this on zephyr the last time a SIPB member posted it to their class, but I still didn't remember the correct answer to the last question.
migrantgeek 7 days ago 0 replies      
If we could turn pedantry into electrical power, geeks on the internet could power the planet forever.

The takeaway summed the point up nicely although everyone's arguing over sizeof(int). Sure, there are cases when sizeof(int) is not 4 but that's not the point of the exercise. If you solved believing it was 8, you'd still be correct in my opinion.

I'm reminded of so many great articles with comments like "it's you're and not your"

TheTarquin 7 days ago 0 replies      
I learned a lot from this, thanks for posting. Mostly I learned how rusty my C skills have gotten in the years since I last used them.

Maybe time to bust out my K&R again.

peq 7 days ago 0 replies      
I am a java programmer and got the first and the last answer correct and the last answer only because the explanation of the second and third one were good enough to understand the last one.

Learned something, so thanks for the link.

drudru11 7 days ago 0 replies      
gotta say - they got me, yet I rarely play these tricks.
For example, I usually promote a pointer to an array index vs. using fixed sized arrays.
pandaman 7 days ago 0 replies      
In my humble opinion the only challenge here is guessing what sizeof(int) the author had in mind. A mild challenge would be asking about something that is not a part of the pointer arithmetic basics such as a[i] === i[a] and obfuscating a bit (e.g. "const char* i[] = {"Hello","world"}; char c = (2&*i[1])["Hello world"]; what is c? The guess about character encoding is as good as the guess about sizeof(int)).
pajju 7 days ago 0 replies      
In his machine int size is 32Bit - should have told the same before.
Programming Language Development: The Past 5 Years fogus.me
273 points by jashkenas  7 days ago   53 comments top 14
hammerdr 7 days ago 3 replies      
I spent some time doing several small programming exercises in Ioke. I've also done similar exercises in several programming languages ranging from C to Java to Haskell to Ioke.

Ioke was ridiculously clean in almost every scenario. The only part I missed was that I didn't delve deep enough to really use the macros to their fullest extent. Something that would take 50 lines of idiomatic Ruby took 10 lines of Ioke. Ruby is already a very expressive language and yet Ioke could express the same thing in half the amount of code.

The author of this post is not kidding when he says that Ola designed the language with no regard for performance. The language is slow.

However, Ola is working on a language that learns from the expressiveness of Ioke but is a bit more practical. It's called Seph and is at http://www.seph-lang.org

And, finally, a small story: I was spending a few nights a week writing Ioke and trying it out about a year ago. Ola spoke about Ioke at an internal company presentation (sort of a mini-conference) and afterwards I started to talk about the language with him and Brian Guthrie. We talked about the language constructions and how we solved problems in the language, etc. etc. Finally, I get around to asking the question, "So, after writing Ioke for these past few weeks, I feel like I have no idea if I'm writing idiomatic Ioke!" Both of them look at me as if I'm a crazy person and finally Ola smiles and says, "There need to be more than 10 developers writing in a language for there to be idiomatic anything." Playing with these languages are fun but messy! Don't be afraid to make mistakes and just dive in.

necubi 7 days ago 0 replies      
For anyone interested in AGDA, I found this [0] paper really helpful for getting my head around dependent typing. I sort of doubt that dependently typed languages are ever going to catch on, but they embody some seriously cool ideas about how to verify program correctness.

Also, AGDA has probably the most flexible syntax for defining function fixiness, letting you easily define new "syntax":

   if_then_else_ : {A : Set} -> Bool -> A -> A -> A
if true then x else y = x
if false then x else y = y

[0] http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf

ThaddeusQuay2 7 days ago 1 reply      
Here's my partial list, of what I can remember at the moment, and in no particular order.

1) Opa

"Opa is a concise and elegant language for writing distributed web applications." - http://opalang.org

"Opa is an open source programming language for web applications." - http://en.wikipedia.org/wiki/Opa_(programming_language)

There is much to say about Opa. I recommend going through the references in the Wikipedia article.

2) BaCon

"BaCon is a free BASIC to C converter for Unix-based systems. BaCon intends to be a programming aid in creating tools which can be compiled on different platforms (including 64bit environments). It tries to revive the days of the good old BASIC." - http://basic-converter.org

BaCon is interesting because: 1) all you need is a shell and a C compiler, 2) it was created by Peter van Eerten, who also made GTK-server, and 3) it converts lazily, effectively making a BASIC-like wrapper for C, thereby allowing easy access to some of the more interesting aspects of C, which would not normally be available in BASIC.

3) Spin

"Spin is a multitasking high level computer programming language created by Parallax's Chip Gracey, who also designed the Propeller microcontroller on which it runs, for their line of Propeller microcontrollers." - http://en.wikipedia.org/wiki/Parallax_Propeller#Built_in_SPI...

4) Agena

"Agena provides you with all the means you need to implement your ideas quickly: fast real and complex arithmetics, efficient text processing, graphics, flexible data structures, intelligent procedures, simple package management, plus various configuration facilities in multi-user environments. The syntax resembles very simplified Algol 68 with elements taken from Maple, Lua and SQL. Agena is based on the ANSI C source code of Lua." - http://agena.sourceforge.net

5) Monkey

"Monkey is a brand spanking new programming language that allows you to create apps on multiple platforms with the greatest of ease. Monkey works by translating Monkey code to one of a different number of languages at compile time - including C++, C#, Java, Javascript and Actionscript." - http://monkeycoder.co.nz

"In 2011, BRL released a new cross-platform programming language called Monkey and its first official module called Mojo. Monkey has a very similar syntax to BlitzMax, but instead of compiling direct to assembly code, translates Monkey source files into source for a chosen language, framework or platform." - http://en.wikipedia.org/wiki/Blitz_BASIC#Monkey_and_Mojo


"LOLCODE is an esoteric programming language inspired by the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, researcher at the Computing Department of Lancaster University." - http://en.wikipedia.org/wiki/LOLCODE

7) Neko

"Neko is a high-level dynamicly typed programming language. It can be used as an embedded scripting language. It has been designed to provide a common runtime for several different languages. Learning and using Neko is very easy. You can easily extend the language with C libraries. You can also write generators from your own language to Neko and then use the Neko Runtime to compile, run, and access existing libraries." - http://nekovm.org

"Neko is a high-level dynamically typed programming language developed by Nicolas Cannasse as part of R&D efforts at Motion-Twin." - http://en.wikipedia.org/wiki/Neko_(programming_language)

Neko is one of the targets for haXe, and was created by the same guy. Neko is six years old, but given its importance, I think that's close enough.

8) Piet

"Piet is a programming language in which programs look like abstract paintings. The language is named after Piet Mondrian, who pioneered the field of geometric abstract art." - http://dangermouse.net/esoteric/piet.html

"Piet is an esoteric programming language designed by David Morgan-Mar, whose programs are bitmaps that look like abstract art. The compilation is guided by a "pointer" that moves around the image, from one continuous coloured region to the next. Procedures are carried through when the pointer exits a region. Piet was named after the Dutch painter Piet Mondrian." - http://en.wikipedia.org/wiki/Piet_(programming_language)

I don't know the age of Piet, but the 99 Bottles of Beer example is from just over five years ago.



Before anyone complains, the article says:

"In this post I will provide a list of fairly new languages (let's say 5 years with a little flex) that display interesting features and display higher-order thinking in the way that they tend toward an evolution of past learnings in programming language thinking. Not all of these languages enjoy active development, but the more important point is that they represent in some way "new language thinking". Remember that this goal does not necessarily mean "innovative"."

I think that each of the languages I've specified applies, although, for some, my interpretation of "evolution" may have been a bit loose.

ehsanu1 7 days ago 1 reply      
fogus mentions OMeta, which is amazing in my own humble opinion. You can, extremely concisely, create a parser for a language you dream up. The author of OMeta has an example of parsing JavaScript in 200 lines of OMeta. OMeta can also parse itself in about 40 LOC. This conciseness is the reason Alan Kay's Viewpoints Research Institute is using it for their STEPS project (attempting a full GUI system from "scratch" in 20k LOC). They use it to compile all the languages in the project, and even make use of it in their 200 LOC TCP implementation.

The example gist provided really doesn't do it justice (partly because there's a variant with slightly lighter syntax). Check out the sandbox for OMeta/JS (there are several OMetas, each for its own host language), which has several projects you can check out: http://tinlizzie.org/ometa-js/#Sample_Project

FraaJad 7 days ago 1 reply      
jxcole 7 days ago 2 replies      
So he seems to not like Go or Arc. I like Go a lot but I am always interested to hear other opinions. While I'm sure he has good reasons for this, I wish he would have included them. It seems like he's saying "I don't really like this, here's a link!"
wgrover 7 days ago 0 replies      
Cheers for including Scratch (a graphical programming language aimed at kids). Scratch is worth playing with, if only to witness the potential (and drawbacks) of graphical programming languages. Now back to my LabVIEW code...
jules 7 days ago 0 replies      
Magpie: http://magpie.stuffwithstuff.com/

Had a very interesting approach to its type system, but that has been temporarily disabled because the language was changed to use multiple instead of single dispatch.

fogus 7 days ago 0 replies      
> I'm not sure Go belongs on the list

The parameters of the list were simply: new language, last 5 years, interesting. Go fits like a glove.

mark_l_watson 7 days ago 0 replies      
A good read. Michael is one of the few people who I read just about everything that they write.

Using alternative languages is refreshing, both new and old. After many days of doing Java server side (and some web dev in SmartGWT) for a customer, I cleared out the cobwebs tonight by installing both SBCL and Clozure Common Lisp on a new MBA, configured Quicklisp for both, and started updating some of my old utilities and programs to build and run with the Quicklisp package manager (that I wish I had ten years ago), tried hacking a bit with weblocks and clouchdb (yeah, I spelled that right). I have done a lot of Lisp development since 1980, but not so much this year except for some Clojure for a customer, so I had fun, even if Common Lisp is a lot older than 5 years old!

My favorites on his list of new languages: Clojure and CoffesScript. CoffesScript is a good, practical idea. Although I have never used Scratch, I have sat with my granddaughter while she uses it.

ThaddeusQuay2 7 days ago 0 replies      
In addition to my list of eight, in another comment here, I am throwing in Logtalk. I wouldn't label it as "9", given that it came out in 1998, but it's worth noting, because it is still developed, and because its depth fits with the spirit of the original post.

"Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, it includes support for both prototypes and classes, protocols (interfaces), component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming." - http://logtalk.org

"Logtalk is an object-oriented logic programming language that extends the Prolog language with a feature set suitable for programming in the large. It provides support for encapsulation and data hiding, separation of concerns and enhanced code reuse. Logtalk uses standard Prolog syntax with the addition of a few operators and directives. Logtalk is distributed under an open source license and can run using ISO-compliant Prolog implementations as the back-end compiler." - http://en.wikipedia.org/wiki/Logtalk

jfb 7 days ago 0 replies      
Good stuff. It makes me long for more time in the day and more neurons in the skull.
djhworld 7 days ago 3 replies      
Just reading the Shen example has made me question my choice of learning Clojure, with the simple example of partial application.

I dream for the day when you can just do (map (* 2) [1 2 3]) in Clojure

nathanwdavis 7 days ago 4 replies      
I'm disappointed F# was not on his list. Not surprised though.
Google AI Challenge 2011 aichallenge.org
272 points by philf  7 days ago   68 comments top 25
maqr 7 days ago 2 replies      
From the rules:

> Any attempt to disrupt the normal operation of the contest software or the contest servers will result in the immediate involvement of law enforcement officials. Our policy is to always prosecute.

I get that people shouldn't be intentionally disrupting the servers, but that sounds like an awful policy.

arctangent 6 days ago 3 replies      
See also this previous thread from 212 (!) days ago: http://news.ycombinator.com/item?id=2349826

There are two things worth pointing out:

1) This competition has previously been sponsored by Google but isn't run by them. It's hosted by the University of Waterloo Computer Science Club.

2) Some people have been working on bots for this challenge for months now, so they are likely to have a bit of a head start.

pak 6 days ago 2 replies      
Very cool game spec. One thought: your ants are basically telepathic, so they are able to share information instantly--e.g., the squares they see flow back to your "master bot" which can instantly use this information in the current turn for every other ant. I wonder how much more challenging it would be if you had to build not a "master bot" that controls all ants, but a "bot" that runs for each ant, and they have their own individual inputs and state and can perhaps transmit messages to other ants within a 3 block radius. Maybe they can even lay down pheromones to mark territory... (too much SimAnt as a kid, can you tell?)

Certainly it would be more realistic, and I think even more fun--but maybe a little taxing on the server. But this is run by Google, right? Maybe next year.

jxcole 7 days ago 1 reply      
When is the contest over? Last time I tried to do one of these things I only had about a week which was not enough time for me to come up with a quality program. Otherwise I would like to compete.
danielatc 7 days ago 4 replies      
The one thing that bugs me about the Google AI Challenges is that they do not really encourage using modern AI techniques. It's all about intelligent _developers_ rather than writing intelligent _software_.
I really would like to see a challenge which is all about data: identifying patterns and learning to make predictions " rather than developing yet another heuristic for a minimax algorithm...
twymer 6 days ago 0 replies      
From the Reddit post:

> The contest is not ready till tomorrow.
Everything is still beta today, all accounts so far will be purged tomorrow.
~amstan Contest Organizer

Source: http://www.reddit.com/r/programming/comments/lhlt9/googles_a...

praptak 7 days ago 1 reply      
From a quick look the success of a strategy is very much dependent on the characteristics of a map. It seems that there are maps where you cannot even reach your opponent (maze_2, if I'm not mistaken.) Such maps punish defensive strategies. On the other hand, open maps with anthills not far from each other probably punish greedy strategies.
lukev 7 days ago 1 reply      
It looks like you can only upload code, and you aren't allowed to write any files, which means that your bot can't be self-improving between matches. Which IMHO is half the fun of an AI contest.

Or am I missing something?

janzer 6 days ago 0 replies      
Just so it is clear, we haven't actually launched yet. Although we should be live within the next 48 hours.
levesque 7 days ago 3 replies      
After watching a game or two, I can tell that ants should always travel two by two for warmonging. When two ants (walking together on the same front) encounter a single ant, the one ant is always destroyed.
vyrotek 6 days ago 3 replies      
I still think a webservice-based version of these contests would be much more fun. The idea would be to only give the simulator a URL of where your AI is hosted. There would be an expected set of endpoints for the simulator to call and would invoke your service when it was your turn. Perhaps the AI could call services on the simulator as well.

So, instead of having to write your AI in the simulator's language you could choose whatever you want. Another advantage is that you could run your own database to store and query information so that your AI could become more intelligent.

I've been looking for a new side project. Perhaps I've found it.

pumpmylemma 7 days ago 0 replies      
Has anyone found the contest end date? I have a project I can't put down (unfortunately), but would really like to have time to enter.
peteysd 7 days ago 1 reply      
What? No Clojure starter package yet?! C'mon, Google!
fuzzythinker 6 days ago 0 replies      
Hey Andrew(tectonic), this is right up your alley ;)


dividuum 7 days ago 0 replies      
Great to see a game similar to the one I developed some years ago. My game was a multiplayer realtime programming game. The ants were controlled by a uploadable lua code. If you are interessted, feel free to visit and download the sourcecode on http://infon.dividuum.de/
raheemm 7 days ago 1 reply      
If you can reproduce faster than anyone else you have a big edge. But I'm curious on what the rules of reproduction are.
jongraehl 6 days ago 0 replies      
The ICFP 2004 contest was also about "ants" - https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/task...
sundar22in 6 days ago 0 replies      
There are similar Java games for long http://robocode.sourceforge.net/

You write a robot tank which battles with other tanks.

nchuhoai 6 days ago 0 replies      

Not new, did a similar thing in C# in high school. Definitely a good way to get into programming

sygeek 6 days ago 1 reply      
Account creation is closed.
MikeGrace 7 days ago 0 replies      
Soooooo Cool! Never participated in one of these before. Looks like tons of fun.
asshole 5 days ago 0 replies      
ok well i cant it says account creation closed
dcolish 6 days ago 0 replies      
Third time for the challenge, nice going Waterloo!
natch 6 days ago 2 replies      
My challenge back to Google:

The setup:

* A certain person named Prasand is in my Google contacts, along with his phone number.

* Prasand has recently sent email to me.

* Prasand is a reasonably common name in a certain English-speaking country of well over a billion people.

* A common phrase when calling someone is to say "Hi this is <name>" or "Hey this is <name>"

* Usually this comes near the beginning of the call.

* Prasand probably also has a Google account, and Google probably associates his phone number with his account, and thus can look up interesting things about him, such as his name and various words he is likely to use, by using caller ID when he calls into a Google voice number.

* Google knows my first name. Let's call me Natch.

* Speech recognition can be made more accurate if large quantities of data are available with which to build models of how language is used in context.

* Large data sets are available on the internets. Something tells me Google may even have access to large quantities of data already.

* Google even has the capability, if it wants to, to build user-specific language models.

Google, here is your challenge:

Hire an engineering director for your Google Voice team who can manage to figure out how to do the correct transcription of the following five words at the beginning of a phone call: "Hi Natch, this is Prasand."

Hint 1: you should fire whoever did the one you have right now.

Hint 2: less AI, more common sense.

       cached 26 October 2011 15:11:01 GMT