Why Caltech Is in a Class by Itself - <AUTHOR> http://www.mindingthecampus.com/originals/2010/12/why_caltech_is_in_a_class_by_i.html <comment><USER3> _Many Caltech freshmen got a perfect 800 on their math SAT, while a near- perfect 1560 combination score placed an incoming freshmen at only the 75th percentile of his entering classmates._

One of the most interesting things I heard in my first day at orientation at Carnegie Mellon was CMU's president talking about all the students they _rejected_ \- xx perfect SAT scores, xxx students with a 4.0, xx valedictorians, etc. In other words, CMU's perspective is that someone purely interested in academics (and nothing else) isn't as strong of an asset. I think it made for a more fulfilling academic atmosphere for the entire student body.

 _What this means is that at Caltech, there are no dumb jocks, dumb legacies, or dumb affirmative action students._

I kind of think that's weird too (besides the offensive nature of those words). Carnegie Mellon has a reputation for being an absurdly nerdy school, but along with Computer Science it also top business schools, drama schools, and art schools. That is a weird-ass cross section of human. There's plenty of areas that CMU may lack compared to other top schools, but I think having a broad, diverse student body is one of its strongest assets.

That said, I'm trying not to translate much to Caltech itself from this article since this cat sounds kind of crazy.

<comment><USER4> There seems to be a confusion with diversity in academic persuits (math/science vs. humanities/arts) and non-academic diversity (racial, socioeconomic, athletic). It so happens that CalTech values _neither_ type of diversity in admissions (focusing on math/science academic merit, and nothing else). But the author is really only arguing that the non-academic diversity is rightfully ignored.

I agree with you that it's a strength of Carnegie Mellon (weakness of CalTech) that it has excellence in a broad (narrow) range of academic subjects. But that's not an argument against the author's thesis: the pursuit of non- academic diversity has a major negative impact on the academic quality of most major research universities in the US.

(Disclosure: I'm a white Princeton Alum who played one of the varsity sports which were not considered in admissions, so I took a bit of umbrage at those athletes who got a boost at the admissions office. Not that I'm a petty person or anything....)

<comment><USER5> Non-academic diversity should never be "rightfully ignored". Universities are a wonderful tapestry of people, and students benefit by being exposed to students from a variety of socio-economic backgrounds.

My undergrad university in the UK (Bristol) was/is widely regarded as an "Oxbridge reject" school, full of those from the upper-classes that were expected to go to Oxbridge but failed. The private schools (called public schools in the UK) were outraged when Bristol announced that they would start offering placements not on academic achievement but on potential, so a straight-A student from Eton would be evaluated about the same as a straight-B student from inner-city comprehensive schools where the teaching was noticeably worse. It was a great idea.

It is wrong, if not _dangerous_ , to evaluate universities by abstract metrics such as research or academic performance. Universities are much, much more. They are the student newspaper, the radio station, the sports teams, the activists, the hackers, the politicians. Students undoubtedly benefit from exposure to all.

(Disclosure: I'm a white middle-class Englishman who went to a Top 10 univerisity in the UK and now I'm a PhD student at the University of Californa, Santa Cruz)

<comment><USER6> If universities are the student newspaper, the radio station and the sports teams, a 1 in 9 chance of sharing a dorm room with an underachieving black guy and the opportunity to go to student protests, then as a taxpayer, I want to stop funding them. It sounds like a huge waste of money.

<comment><USER4> Then you can pull the money from Berkeley, I guess. Other than that, the large majority of the very-top-tier schools are private. Yes, they receive public money for research, but the undergraduate "experience" is funded by tuition, endowment, and donations.

Still, I agree. This seems like a fantastically inefficient way to meet people with different backgrounds.

<comment><USER6> Roughly half the public money for "research" is actually pocketed by the university and spent on education/administration/etc (the university calls it "overhead"). This is a dirty little secret of science funding - a big chunk of it isn't funding science at all, but is merely a subsidy for big research colleges.

Also, even tuitions at private colleges are massively subsidized - <USER2> subsidies just follow the students (e.g., subsidized student loans, need-based aid, etc).

</comment></comment></comment></comment></comment></comment><comment><USER7> I went to Caltech recently, and I feel I should weigh in on this.

The author of the article spends an unfortunate amount of time talking about SAT and AP scores, as if that's all that Tech cares about. Having served on an institute committee to decide the direction of the Admissions office, I can assure you that this simply isn't true. Caltech's sky-high SAT and AP scores aren't an end in and of themselves, they're simply a side-effect. Caltech looks, more than anything else, for a demonstrated passion for math and science. Near-perfect SAT and AP scores are just a check box on the way to demonstrating a true passion and ability for math and science.

And that's really key, because a perfect GPA, SAT & AP scores, and great teacher recommendations isn't enough to get in. There has to be something more. Usually that 'something more' is independent work in a research lab, science competition, personal projects, or somesuch, and so the incoming class at Caltech is never just people who know how to get good grades and do nothing else, but a crowd of voracious achievers, many of whom have spent their lives figuring out how to push themselves harder and faster towards their passions than allotted for by whatever system they were raised in. To characterize them otherwise is a mistake.

<comment><USER8> Would you admit someone with a fascinating and very impressive personal project who also clearly hates school and barely got C- in all subjects including math and science?

<comment><USER9> Why would anyone? If they clearly hate school it seems like a mistake to try to entice them -- and an acceptance to CalTech may place undue pressure on them from family.

I'd reject with a note, "This student may excel, but not in a university setting".

<comment><USER8> _Why would anyone? If they clearly hate school it seems like a mistake to try to entice them_

I think this is an admission that college, and defiantly CalTech is not about knowledge but academics, and the two are not the same. Imho, academics is also not the same as learning.

<comment><USER9> Could you expand? This doesn't compute to me, so maybe I'm missing something. Caltech is a school. It is structered as a school. If you hate school, why go to school? There are other ways to learn, and if I'm a Caltech admissions officer I already reject a full class of students who would love to attend and have great qualifications. So why accept someone who would neither want to attend, and probably shouldn't.

<comment><USER8> Well to me the most valuable things are knowledge, practice and discovery. After all that is how progress is made. And we study hard to be able to make discoveries and do things which will change the world.

And I firmly believe that almost all studying is at its core autodidacty. You get out of college what you put into it.

That is to say, self-motivation is necessary to acquire knowledge in and out of a formal academic setting.

But clearly where you are and who your peers are, is a huge influence on the human social animal. And because you might love learning but hate the rather heavy hand of authority at the pre-college education level, you might still want to co to college.

Specifically, potential to change the world may be intimately related to an almost pathological love of reason and hatred of unreasonable rules, methods, approaches and behavior.

I _believe_ Caltech wants students who will do great things. But I may be wrong? That may not be the goal, actually I am quite certain that is not the _only_ goal.

The way Caltech evaluates students is by using a proxy of academics. There are other proxies but clearly formal schooling is a main component of the evaluation proxy.

I will not go into the proven dangers of optimizing the proxy instead of the thing that the proxy is proxy-ing for.

School prior to college is well known to not just impart knowledge but also things like arbitrary rules and enforced discipline over agreed upon cooperation, etc.

College has some of that as well, although much less so then pre-college education.

Assuming someone has proven both a disdain for formal schooling and also a love of learning, knowledge, and scientific discovery, we could speculate that is a person with an extreme love of logic and hatred of lack of logic, who might to well in an environment with more knowledge and less B.S.

We all know anecdotes about great geniuses and the trouble they got in at school. Beyond that there is a lot of formal work done on "gifted" children and learning environments.

So an argument could be made that exceptional academic success at the pre- college level is a _bad_ predictor of truly exceptional success in changing the world.

But I don't think formal academic success is just a proxy for Caltech. I think Caltech is specifically looking for kids who will _work well within the system_.

Caltech's filter for students proven to do exceptionally well within the academic systems is I suspect a goal in itself.

Actually I find Caltech's laser like focus on proven academic success refreshing. Because it is honest, open and complete.

Other schools make use of the same proxy but don't do it as well as Caltech.

So in my opinion, Caltech is pursuing a low risk/high reward strategy of potential Nobel prize winners who don't make a lot of trouble in school and don't tax their advisor's schedule too much.

There is an alternative slightly higher risk which might have a better chance of picking up real-far outliers.

tl;dr: Does Caltech value academic potential over intellectual potential?

</comment></comment></comment></comment></comment></comment><comment><USER10> It's a common misconception that humanities and social science is second rate at Caltech. It's true you wouldn't go to Caltech to get a degree in political science--but that's not because the political science professors there are weak. It's because there aren't enough of them for a broad program--but most of the professors are first rate in their area.

For instance, when I was a student there, they had a professor, Edwin Munger, who was a professor of Geography. He was one of the world's leading authorities on Africa. He taught a popular class on Africa. The lectures were held in his office, which was big enough to comfortably hold a dozen or so students. Adjoining his office was his personal library of materials on Africa --one of the best collections of African research material in the world.

His classes were particularly interesting because he frequently would have guests speak and take questions. One week, the guest might be his good personal friend, the President or Emperor or Dictator of some African country. Then, a few weeks later, the guest might be his good personal friends, the leader of the revolutionary army trying to overthrow the aforementioned President. Munger knew nearly every important leader in Africa on both sides of most significant conflicts, and was close friends with many of them. When they would visit the US, they would often swing by Pasadena to visit him.

<comment><USER11> In case anyone is keeping track, stuff like this is why it's still worthwhile to go to college, IF you can get into a good one. Not saying that there's no benefit to a middle-tier college, but you'd be hard-pressed to argue that you can replace an experience like the one posted above with a stack of textbooks and an account on a Blackboard site.

</comment></comment><comment><USER12> / _Older readers know how the leading American universities, which had risen to world-class status by the 1930s and 1940s, were upended by the traumatic campus events of the late 1960s and their aftermath. Riots and boycotts by student radicals, the decline in core curriculum requirements, the loss of nerve by university presidents and administrators, galloping grade inflation, together with the influence on research and learning of such radical campus ideological fads as Marxism, deconstructionism, and radical feminism all contributed to the declining quality of America's best institutions from what they had been in the middle years of the 20th century._ /

Er, what? I'm not following any of the author's points here. The introductory paragraphs read as a barely coherent rant against every major event that's occurred on university campuses since the 1950s. While I agree that not everything has been to the benefit of academics, I definitely disagree with the author's point that American universities reached their peak prior to World War 2. Pre-war, there were institutions in Europe and Britain that could match American universities; post-war, American universities were far ahead of the rest.

<comment><USER4> The author clearly has an axe to grind. I suggest just skipping the introductory paragraph and concentrating on the main claim: the pursuit of non-academic diversity has a major negative impact on the academic quality of most major research universities in the US, but CalTech is rare in resisting this.

<comment><USER13> "The pursuit of non-academic diversity has a major negative impact on the academic quality of most major research universities in the US"

I haven't read the book these claims are based on, but a Harvard professor wrote what looks like a pretty thorough debunking here:

[http://www.row2k.com/features/print_feature.cfm?id=82&ty...](http://www.row2k.com/features/print_feature.cfm?id=82&type=Story)

</comment></comment></comment><comment><USER14> I attended Caltech in the 70's, and the article is accurate. I was told by older students that there had been efforts by outsiders to get the students to stage protests, but that the students had ignored them with "but I've got to get to class!"

My SAT scores were lower than those cited in the article, but were average for my freshman class (750/640). I understand that there has been inflation in the SAT scoring system since.

One thing not mentioned was Caltech's attitude towards students who were accepted. Once they were in, they were in. You could flunk and fail repeatedly, and Caltech was always ready to let you have another go, even a decade later. I know students who dropped out and were welcomed back a decade later to finish.

I lucked out in going to Caltech. The way the college was run fit my attitudes completely. The administration always treated the students like sentient, responsible adults (even when we behaved badly) and by and large the students responded by acting like adults. For example, professors were not allowed to take attendance at lecture. The students could show up or not, their choice. Grades were determined by the midterm and final, which of course were given on the honor system.

The students liked the system, and if you broke the honor system you were ostracized. Nobody cheated that I knew of the entire 4 years I was there.

<comment><USER15> Walter, are you in the Bay Area? If so, you should totally check out our alumni happy hours :)

Hear! Hear! to the 'once a Techer, always a Techer' mentality.

The other key thing about the honor code was the lack of proctored exams. I took most of my frosh ones at 3 am in the student SciFi library (SPECTRE, ftw)

<comment><USER14> I'm in the Seattle area. The Caltech alum community here is pretty small :-(

I read with bemusement the various articles and laments about rampant cheating in colleges. And yet this cheating was completely absent at Caltech. Even the failing students did not cheat, it never occurred to them.

Perhaps that's also why I place no value on my piece of paper degree or GPA. I think it's moldering in the basement somewhere. What I value is the experience at Caltech and what I learned there. Reading the catalog of what classes I could take next semester was like picking which dessert you wanted at a banquet; the only regret was my stomach was only so large. Cheating would have gotten me nothing that I wanted.

I also read about students complaining that their college courses aren't "relevant", who wonder what the point is, that they'll never use that knowledge, etc., then graduate and wonder why they can't get a job. It seems pretty obvious to me why they can't.

</comment></comment></comment><comment><USER16> I graduated from Caltech in '08. White, female, 3-sport athlete, SAT scores M 660/V 730. That's not a typo, I scored a 1390 on my SATs

In my application I wrote about my experience in high school athletics and I obviously wasn't put in the reject pile. I also expressed my desire to be at a college where everyone was focused on learning, unlike at the underachieving public school I attended. That's the type of student Caltech is looking for: passionate about learning and STEM. While that usually translates to perfect SAT scores, an 800 in math is not a requirement.

The author stresses numbers because those are measurable and easily comparable, leading to the easy critique that numbers aren't everything. As in my case, Caltech admissions agrees, and the result is an incredibly diverse population considering how focused the school is academically and how small the classes are. A guy in my class designed and built a bridge in his home town. I knew kids who were home-schooled and who were champion ballroom dancers.

BTW My junior year we broke the women's basketball team's 10-year losing streak. One win of that magnitude trumps any winning season in my book.

</comment><comment><USER17> I think it is awesome that Cal Tech is so singularly focused on academics, it shows serious devotion.

However, I think most people would agree that academics are not the only thing that matters for success, either personally or professionally.

<comment><USER18> Why can't school be mostly focused on academics? It's hard to excel without focus.

<comment><USER19> The biggest benefit of going to a public high school in the DC area was being forced to interact with kids from almost every background you could imagine. This includes ethnicity, income bracket, intelligence, and social ability. True diversity is an education in our own human race, specifically the common bonds that unite all of us. Being able to see a wide range of perspectives and experience completely different cultural norms on a daily basis can go a long way to testing your own assumptions about the world.

<comment><USER8> _The biggest benefit of going to a public high school in the DC area was being forced to interact with kids from almost every background you could imagine._

But isn't it a bit odd you had to go to college to do that?

Wouldn't it be better if you had grown up in a neighborhood that would let you do that?

OK, you didn't and you're glad college provided you that opportunity, but isn't it a bit sad how much $ they charge for what is at its core human interaction?

</comment></comment></comment></comment><comment><USER20> The article is biased and full of negative stereotypes and a thinly veiled attack at not the Universities but the practice of Affirmative Action and dare I say, racial, ethnic and sexual minorities themselves.

First of all, SAT scores or grades are hardly any measure of the 'smartness' of academic credibility of the student. For example, as a commenter above pointed out, in computer science, a person who has average grades but more research work and open source experience is probably more motivated to learn than a student with just good grades.

Secondly, the data[1] proves even that though minority students who make it with affirmative action might graduate with average of below average scores but perform as well as their colleagues in their professional life. Come to think of it, isn't this what education is really about. Changing people's lives for good.

Thirdly, contrary to what the author might want us to believe, the politically charged atmosphere in the Universities during the 70s was good for the society. Remember the free speech movement? Universities have been the breeding ground of revolutionary thinking for centuries and it is actually unhealthy for the society if the Universities are too compliant with the dominant thinking.

Fourthly, though I am sometimes critical of exuberant spending on sports by American Universities, they are the primary reason of the USA's sporting excellence. Why should a student who is obsessed with and excels at track-and- field be penalized for his obsession? In addition, These 'dumb-jocks' work harder than most students. Contrary to popular beliefs; in most top ranked Universities these athletes have to finish as many credits as a non-athlete and have to work as hard on their courses.

I think very highly of CalTech and respect them, but the reasons for their excellence is not what the author would want us to believe. The article is nothing but horse manure.

[1] Malcolm Gladwell, Outliers, 2008

<comment><USER4> > The article is biased and full of negative stereotypes and a thinly veiled > attack at ... dare I say, racial, ethnic and sexual minorities themselves.

Could you give an example of how this author could have criticized the practice of affirmative action _without_ attacking racial, ethnic and sexual minorities themselves? I agree that the author clearly has an axe to grind, but I see _nothing_ in the text which attacks a minority. Honestly, it seems like you're accusing him of racism based _only_ off the fact that he opposes affirmative action.

ADDED:

>SAT scores or grades are hardly any measure of the 'smartness' of academic credibility of the student. For example, as a commenter above pointed out, in computer science, a person who has average grades but more research work and open source experience is probably more motivated to learn than a student with just good grades.

The author uses SAT scores because they are the best objective measure we have of academic quality. Most other measures (GPA, high school research experience) are going to be strongly effected by where the student is from. Nowhere does the author suggest that research experience shouldn't be considered. And, in fact, using this measure would benefit the rich, white, and privileged students, as they are much more likely to have such research opportunities than poor minorities.

>Secondly, the data[1] proves even that though minority students who make it with affirmative action might graduate with average of below average scores but perform as well as their colleagues in their professional life.

The data as you describe only confirms that well-known fact that top-tier schools add negligible value to the professional prospect of its students. That is, after controlling for SATs, familiy income, etc., future success doesn't depend on what school you attend. (I can pull the study if you want.) That data says _nothing_ about the how lower admission standards for minorities impact the schools academics. And, as you say, their grades are weak both in high school and college.

>Thirdly, contrary to what the author might want us to believe, the politically charged atmosphere in the Universities during the 70s was good for the society.

This isn't the main thesis of the article; the author is just giving you his perspective on where the situation originated.

>Why should a student who is obsessed with and excels at track-and-field be penalized for his obsession?

No one is suggesting that athlete's be _penalized_. The author is arguing that they shouldn't receive the (massive) boost in admissions.

<comment><USER20> >"Minding the Campus readers probably need little instruction on the corrupting effects of the racial balancing game played by almost all our elite universities"

Racial balancing is somehow corrupting? If I am making a claim like that I would definitely like to back it up with some facts.

>" The typical African- American and Latino student who gets admitted to the most elite colleges and universities in the U.S...."

What is a typical African-American student? Can I meet him? Racial stereotypes are loaded, and the authors throws them around like bad puns.

>"a requirement often interpreted to mean that if there is a male lacrosse, soccer, water polo, volleyball, cross-country, or fencing team there must be a female equivalent"

And this is a problem, why? Why shouldn't there be a female equivalent of a fencing team?

I don't think the author is racist or sexist, I am sure he is a perfectly nice person to meet. However, his deep hatred for programs to achieve social equality leads him to have beliefs that are very very worrisome from a racial and gender equality point of view.

<comment><USER21> > And this is a problem, why? Why shouldn't there be a female equivalent of a > fencing team?

What's the definition of "female equivalent"?

Doesn't the validity of your assumed "should" depend on the definition we're using?

> However, his deep hatred for programs to achieve social equality leads him > to have beliefs that are very very worrisome from a racial and gender > equality point of view.

Are you suggesting that all current programs to achieve social equality are worthwhile, that none of them are bad? Or is it just that any criticism is necessary wrong?

<comment><USER20> >What's the definition of "female equivalent"?

Author's words not mine. I should have put quotes around "female equivalent". I believe that female sports should be given as much attention as male sports.

>Are you suggesting that all current programs to achieve social equality are worthwhile, that none of them are bad? Or is it just that any criticism is necessary wrong?

No. Some of them might have failed spectacularly and deserve criticism. But to criticize the social equality programs in colleges because they get students with lower SAT scores into colleges is a very imprecise argument to make.

<comment><USER21> > I believe that female sports should be given as much attention as male > sports.

Why should they be "given attention" and by whom? What about folks who don't provide said equal attention? (While the majority favor male sports, there are folks who favor female sports. Surely both are in need of correction.)

For example, why shouldn't womens' preference be given some weight?

I note that women are less likely to attend women's sports than men are to attend men's sports. Heck - women are more likely to attend men's sports than they are to attend men's sports.

Be careful - the "provides valuable diversity" argument requires differences (in aggregate). If there are differences, then exact duplicate treatment is inappropriate.

</comment></comment></comment></comment></comment></comment><comment><USER22> I am a "minority" and I 100% agree with the author. If you don't qualify you don't qualify. How is it fair that you get admitted just because you are black or a latina or can throw a football?

I want my kids to go to caltech but only if they qualify and are smart enough.

Like the author said, the Olympic team doesn't take players because of their race but because they can play and win. The same should apply to academic institutions.

Maybe someone should sue the NBA if they don't let him in for being vertically challenged.

<comment><USER9> College isn't an institution of knowledge. It's an institution of learning.

This is why you'll often take disadvantaged students over advantaged students, even when the disadvantaged have poorer numbers. Showing you're passionate about learning and have the capacity to learn is not simply reflected in the output. You also have to look at the input.

The same also goes for football and chess players. If someone excel's at something deemed "valuable" (and people will argue over this), that goes into the equation of passion for learning and produced output.

</comment></comment><comment><USER23> This seems like an incredibly narrow-minded and misinformed article. While it's great that Caltech doesn't bend on its academic standards, it assumes that simple academic meritocracy on paper is all that is important to build a 'good' school. I go to MIT (where we have over 30 varsity NCAA teams, many of which are very successful), and the jocks have just as much academic merit to be here as the nerds who tool away in their dorm room. Same with the blacks, hispanics, legacies, minority x, minority y, etc etc. Not only that, MIT does an incredible job of putting together well-rounded people, and not at the expense of their intellectual capability. I have a friend who is high up in the undergraduate admissions committee and personality and fit are just as important as their academic merit. This means I don't go to the stereotyped MIT with a bunch of nerds who only study all day. Instead, I go to school with a diverse blend of incredible people who are athletes, musicians, and artists who are talented AND smart.

I guess if CalTech's mission is just to breed academic warriors that's fine, but this article's statements on MIT (I can only speak for my own school, but it probably applies to others as well) are ignorant and elitist. They seem to be pushing their own stereotype that CalTech students are simply one- dimensional people. The real world isn't a 'pure meritocracy'.

<comment><USER24> If you want more musicians and artists, then _view student portfolios and listen to student demo tapes_. The idea that MIT making decisions based on parental legacy (tantamount to aristocracy--extremely scary for a publicly funded school in a democracy but unfortunately the norm) is justified by the broader mix of interests, etc. is absurd on its face; just select for those interests within the admissions process itself, or, failing that, institute a random lottery that lowers the admissions threshold by some amount.

</comment></comment><comment><USER25> I applaud a university for standing up for academics, but this author sounds slightly unhinged. Affirmative Action and other such policies have some serious downsides so I respect people who are willing to criticize such a racially touchy subject, however the authors animosity towards the subjects of AA, rather than just AA itself, seemed to leak into his writing.

<comment><USER26> No kidding. My school had D-I athletics and affirmative action but it hasn't slowed us down in terms of (externally granted) academic awards or excellence in engineering and other specialties.

The bigger problem I think is the belief that everyone has to go to college to 'get ahead' and the excesses of credentialism.

</comment></comment><comment><USER27> I don't necessarily agree 100%. I applied to Caltech. I did not have great grades, but I did have published research papers and a few open source projects. If this isn't "love of science and technology" I don't know what is. I got the thin envelope.

I do not really care anymore, but it would have been a cool experience to go to a good school.

<comment><USER12> _I do not really care anymore, but it would have been a cool experience to go to a good school._

Not necessarily. Would you be okay with being the dumbest person in the room, not just for one class or one semester, but for four years? A lot of smart kids go to CalTech, MIT and Harvard, but end up dropping out and finishing their degree somewhere else because they're not accustomed to failing on a regular basis. Unless you're convinced that you'll be able to handle repeated failure (because it'll happen when you're trying to achieve at that level) that sort of school may not be for you.

Then there's the fact that these schools are _expensive_. So not only do you have to be able to deal with failure at an emotional level, but you have to be able to deal with failure financially as well. If you don't have the budget to repeat at least two or three classes - don't bother with a top-ten university.

<comment><USER28> I'd love to be the dumbest person in the room. I've found in my life that my largest leaps in development come when I throw myself in the deep end that is outside my comfort zone. These days it's the primary thing I look for in a company. Are the people I'll be working with as good or better than may on average? If the answer is no then I'm not interested.

this of course assumes I want to be good at whatever the subject of the room is.

<comment><USER15> It was really, intensely frustrating at times. I was almost certainly a bottom 10%, if not 5%, at Caltech. It inspired me and pushed me into moving into a different, non-typical field for the average Caltech student where I could still be the best among the cohort. From another, less charitable perspective, Caltech proved to me that I couldn't be a top--or possibly even a very good-- engineer, so I just gave up rather than struggling to get better.

<comment><USER29> My dad dropped out of Caltech in the 60's... he ended up getting a PhD and becoming a professor of asian history. :)

</comment></comment></comment></comment></comment><comment><USER30> It could also be that since Caltech has no affirmative action, bright students of minorities would find it easier to enter top schools that employ AA. For example, MIT's AA would be "crowding out" the "disadvantaged minority pool" in Caltech, even if those students would be good enough for Caltech's own standards.

</comment><comment><USER31> You could argue against affirmative action on the grounds that it is only about some nebulous notion of diversity.

But it is not --- or at least shouldn't be.

It should be about evaluating people's achievements relative to the opportunities presented to them. MIT, for example, prefers someone who is resilient and will change the world over someone who retook the SAT three times to get a 2400. You could argue about whether places like MIT evaluate these things correctly, but having been at MIT for 3.5 years, I've seen a lot of academically less prepared, but super driven students do astoundingly well.

On a side note, I've seen some of the other side as well. I went to a high school that has a 2% acceptance rate by exam only. It was 60% asian, and about 4% total black and latino. While I was around a lot of smart, motivated people, there were also a lot of smart slackers who couldn't or wouldn't thrive in that environment.

</comment><comment><USER14> Why Caltech rocks:

"Its indifference to athletic performance is well reflected by the fact that its men's basketball team in recent years had a 207-game losing streak, its women's basketball team had a 50-game losing streak, and men's soccer team lost 201 games in a row."

</comment><comment><USER32> _Added to these 60s-era trends (some of which have mercifully waned) came two further developments which are still very much with us today and which moved the elite universities further away from the pursuit of excellence and merit which was their greatest achievement after the Second World War: the competitive sports craze and the affirmative action crusade. To these two anti-meritocratic developments..._

How is being pro-sports being anti-meritocratic? It's anti-academic, but not anti-meritocratic. Getting a sports scholarship requires a tremendous amount of talent, teamwork, dedication, etc. Selecting students based on athletics is every bit as meritocratic as selecting students based on academics.

</comment><comment><USER33> I'm not sure how athletics is such a huge problem. The teams meeting in the BCS championship tonight have about 20 thousand undergraduates each. The football team, the largest surely on campus has something under 100 kids on scholarship, so about one half of one percent. Are there schools where it could be a problem? Perhaps. I've heard the complaint made about the Naval Academy.

<comment><USER4> The OP is focusing on the very-top-tier research Universities in the US. Most of these are private and much smaller than the large public schools which dominate NCAA championships.

For example, Princeton has only 4,500 undergrad so, as the author points out, athletes favored in admission make up an suprising large fraction of the class.

Likewise, legacy admissions has a big impact on the quality of Princeton admits, but probably not as much at the University of Oregon.

</comment></comment><comment><USER34> The Indian IIT's have a similar focus on academics. One key difference is that they still take in students by employing Affirmative Action. AA hasn't hurt the school's reputation one bit.

</comment><comment><USER35> Are USC's 114 national championships any less of an achievement than Caltech's 31 Nobel Prizes?

<comment><USER36> Yes.

<comment><USER35> Haha. That was probably the wrong question to ask. I agree Nobel Prizes have a greater positive effect on our society than National Championships. But, the point I was trying to make was...

Do you believe that USC should "follow a similar path" and begin to emulate Caltech or are they allowed to be happy with the success that they've had in their own respective areas? My take from this article was that Caltech was the one and only true example of a successful college and all others are doing it wrong. Can we not have some schools that aren't focused solely on the hard sciences and welcomes students who may want something else out of their college experience such as a diversity of backgrounds and ideas, a path to professional sports, or a focus on the arts?

</comment></comment></comment><comment><USER37> Seems like link is down. Mirror?

</comment><comment><USER38> A good article, but the trend aiming at redefining admissions criteria to steer away from academic merit appears to have started somewhat earlier than mid 20th century. Already in the second decade of the 20th century measures were being put in place to reduce the rising proportion of Jews at top colleges. Of course not everyone wanted to look antisemitic, so various diversifying tactics were invented to somehow deal with the the fact that Jews seemed to be smarter.

</comment><comment><USER39> With high irony, it sounds like in the STEM subjects Cal Tech fails to 'get it' on important reality and, instead, is pursuing something not good.

Uh, Job One at Cal Tech has to be 'research' and NOT "learning". For the article, sorry 'bout that.

Well, from the article, it sounds like most of the Cal Tech freshmen have already wasted a few years getting ready for the SATs, making straight A grades, and taking AP courses. Sorry, guys, but that's a LOT of work, a good recipe for early 'burn out', and indicative of a lack of seeing reality. What Cal Tech is insisting on looks very much like at least simplistic understanding and likely 'obsession', and a big, HUGE, problem with these two is that they overwhelm rationality and ability to see reality clearly and, net, are from harmful down to debilitating.

Uh, it sounds like the Cal Tech freshmen were ready for college 2-3 years before they went and, thus, wasted 2-3 years fooling around with make-work, junk-think nonsense. E.g., when I looked at the AP calculus materials, they were garbage. Instead, just get a good, standard freshman college calculus book. When that book is too easy, then just get a stack of the usual suspects in advanced calculus and then measure theory and functional analysis. Don't try to make a super big deal out of frosh calculus.

For AP calculus, f'get about it: The AP materials were overkill, packed solidly with tiny trees with no good view of the forest, written by people who didn't really understand calculus and were afraid to omit anything, no matter how tangential, and are a great way to kill off any interest in calculus.

Here's the truth: If a high school student wants to race ahead in math and physics, then FINE, but to do this they should just get (1) a good stack of the usual, best respected early college texts in these subjects and (2) some guidance from someone, maybe a college prof, who actually understands the fields. Basically nearly no US high school student should EVER take an AP course in high school because the fraction of US high school teachers competent to teach such material is tiny.

Broadly the AP courses are junk, a waste of time and worse; a student ready for the AP courses should just go to college or at least just study college materials.

The biggest problem with Cal Tech is that the freshmen don't really belong in college: Instead, they should touch up in a few subjects for a few months if necessary and then start on their STEM major at the junior or senior level, rush through that, and then get on with grad school, research, and their Ph.D. Instead, Cal Tech is insisting that in high school these students have gone through some pointless mental torture chamber, of material that is elementary and poorly conceived, and then wants to put them through four more such years. It's sadistic, a 'filter', destructive, and way too common in academics.

Look, guys, Cal Tech 'college' is JUST college, ugrad school, and NOT, and can never be, just one step from a Nobel prize. Instead, their college is to get the students ready for grad school, at Cal Tech or any of the usual suspects. The Cal Tech frosh already wasted 2-3 years on AP, etc. nonsense in high school, and Cal Tech wants them to waste 1/2 to 3/4 of their four years at Cal Tech. Bummer.

Net, what's important for that academic track is the research, just the research. All that nose to the grindstone, shoulder to the wheel, ear to the ground, and then try to work in that position, is from not very good down to a disaster for research.

Buyer beware: Save yourself from nonsense; often you are the only one who can.

The path to research is NOT through AP courses, the last 50 points on the SATs, or even frosh and sophomore college work. Indeed, the best path to research usually starts in, say, the junior year of college. The best part of the path is in grad school, and there the best part is the student being in a good 'environment' and doing a lot of relatively independent learning and, then, even more independent research. E.g., commonly a good Ph.D. program has no official coursework requirement.

With irony, Cal Tech, for all their emphasis on being 'brilliant', is being DUMB on college admissions, running a college, and getting students into research.

I've see FAR too much super narrow minded, simplistic, destructive, obsession in academics and know how destructive it can be. Cal Tech is embracing that nonsense.

<comment><USER14> >it sounds like most of the Cal Tech freshmen have already wasted a few years getting ready for the SATs, making straight A grades, and taking AP courses. Sorry, guys, but that's a LOT of work,

No, it isn't a lot of work. I never studied before going to Caltech. I never studied for the SAT. This was typical for incoming freshmen. The ones who had to study hard for SATs, etc., could not make it at Caltech, and frankly the admissions committee tried to not admit them.

<comment><USER39> Hopefully.

But making an 800 on an SAT has to be tricky stuff: The first-cut explanation is that it is more than 3 standard deviations above the mean in a Gaussian distribution. I can't believe that the test is very accurate much above 700 (in the sense of classic 'reliability'). So, getting above 700 is not so tough; actually getting an 800 has to be partly a craps shoot.

On both shots, I was over 750 on the Math SAT and never studied for it either. I finished early, checked my answers, and still had time. I didn't see any of the questions as very difficult and can't imagine I missed much. With such a short test, it about has to be that one question can mean dozens of points above 700 or so. So, the test 'reliability' can't be very accurate above 700.

In the end, what was valuable for me in college and grad school was interest, talent, 'environment', and some relatively independent work. That nose to the grindstone stuff played no role.

If you didn't burn yourself out in high school cutting through AP nonsense, SAT prep, etc. and still got into Cal Tech, then good for both you and Cal Tech.

But, ugrad school is not supposed to be so challenging that determined students "could not make it". Again, it's just ugrad school and not some one step before a Nobel prize. So, "could not make it" indicates something is wrong as I concluded.

If want to make a big splash in academics and get a Ph.D., etc., fine, but nearly all the big splash part is grad school, not ugrad. So, get a four year ugrad degree with a good background in your interest areas and then pick a good grad school. The ugrad school doesn't have to be Cal Tech. If in grad school the Cal Tech students are way ahead, then that just means that at Cal Tech they really deserved a Master's or Ph.D. but only got a Bachelor's.

<comment><USER14> >But, ugrad school is not supposed to be so challenging that determined students "could not make it".

Some students will never make it there no matter how hard they work. If one had to take a "test prep" course to do well on the SATs, then realistically Caltech is not the right school for him. And I'd never be an olympic athlete, no matter how hard I tried.

<comment><USER39> Well, maybe out of ambition or whatever they took some SAT prep work.

I didn't for three simple reasons: (1) I was so uninformed I didn't have a clue about just what the SAT was! (2) Teachers in grade school had been so critical of me, essentially because I wasn't a student like the girls in the classes!, that I'd largely given up on academics and wasn't trying very hard. (3) I'd never heard about any SAT test prep!

I did try hard in high school math, because I very much liked the subject, but I still thought that pleasing the teachers was hopeless and, thus, didn't try. Maybe that math I studied was responsible for my SAT scores, but I doubt it. Besides the CEEB or whatever wanted to claim that the test measured just 'aptitude'.

Uh, just because someone took some SAT prep material doesn't mean that the prep material was really responsible for their good scores! I'd side with the students who got good scores, however they did it: If they did so well on the SATs, however they did it, then they should be able to "make it" in ugrad school.

Uh, unless they were competing with my wife! She wanted to take a course in history but didn't need the credit so just audited. The lecture hall had 300 students. The prof insisted that even auditing students also take the tests. At the end, the prof told her that she should have taken the course for credit since she had the highest grade in the class! Before I met her socially, I taught her frosh trig. On my tests, some of the questions were difficult for a lot of points. At the end, she had twice as many points as the next best student; she could have walked out after the midterm and still made an A! I tried to compete with her in Scrabble. She was ahead, but as we played I got better. Alas she got better even faster so that her margin grew so much she refused to play with me again!

</comment></comment></comment></comment></comment><comment><USER40> This 'article' is very clearly another instance of trollish, uninformed misleading shit designed to sell copies of <author>'s book. The whole piece is pretty much 'Revenge of the Nerds' tripe, containing the usual, trite anti- jock (and, lol, anti-minority) rhetoric combined with facile AP/SAT test-score elitism (I'd have thought HN would be suspicious of arguments that use test scores as a proxy of education quality).

Caltech is in _some_ class by itself, sure, but not for the reasons he cites, which are plain bullshit, and definitely not a completely 'positive' class--- there are definite, subtle tradeoffs of a Caltech education that are not highlighted by the rather crude level of discourse this article has encouraged.

Already mentioned and debunked here is the asinine assumption that AP/SAT scores are used as proxy for actual academic excellence by the admissions committee.

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

However this next comment, while probably made on the wrong premises (that the admissions committee uses test scores as the sole criteria), is probably the only assessment of Caltech I've seen that has a hope of getting the real issues that show going to Caltech can be a bad decision if there are other respective alternatives available:

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

"Well, from the article, it sounds like most of the Cal Tech freshmen have already wasted a few years getting ready for the SATs, making straight A grades, and taking AP courses. Sorry, guys, but that's a LOT of work, a good recipe for early 'burn out', and indicative of a lack of seeing reality. What Cal Tech is insisting on looks very much like at least simplistic understanding and likely 'obsession', and a big, HUGE, problem with these two is that they overwhelm rationality and ability to see reality clearly and, net, are from harmful down to debilitating."

Indeed, even though the admissions committee emphasizes the fact that test scores do not completely determine admission, preparing for tests and 'burning out early' is exactly what the majority of applicants end up doing _anyway_ to get into this place. Then Caltech has (and misses) a great opportunity to end up educating people the _right_ way, as you say.

What many people who go to Caltech do is end up learning all the right subjects but the wrong lessons. There is hardly room for introspection, broadening one's perspective, and really learning the why and how of research ---there is only the assumption that you are _enthusiastic as hell_ at math/science and you are going to _signal this_ by overloading, taking the hardest classes for no good reason, and trying to impress Head Nerd in <subject of your (their) choice>. This is your _life_ \---this is a social group where your self-worth is measured by your GPA and how many papers you publish. Too many people I knew have been sucked in this way and ended up burning out in one way or another.

The end result is that there are no 'jocks' at Caltech in the usual sense--- what you have is a similarly wretched, caveman-like hierarchy, but with 'sports' replaced by 'academic achievement.' Surely a different and perhaps more productive contest than what goes on at other colleges, but no less of a harmful environment. Unless you are at or near the top of the hierarchy, the environment has the structural effect (as in, may not be intentionally designed) to beat any previous interest you had in math or science out of you. Could this be an explanation for the high suicide rate at Caltech (and other elite institutions like it)?

Basically: Where was the _education_? For being a fairly good student who clearly could learn subjects straight from books: how to learn what to learn? To educate _yourself_ in the _right way_? To see the world for what it is and make independent, informed choices? To be rational?

Hell, this shouldn't be exclusive to Caltech---with the availability of information these days it seems to be a much better payoff to educate people in this alternative way instead.

So, go to Caltech only if you really understand it as just one small step in a longer research career, you know how to be rational and not get taken in by the social hierarchy there, and you are in contact with helpful faculty with whom you know you will have a productive relationship. Or, if you estimate P(Head Nerd) as being really high, so you can start your own little fiefdom.

Full disclosure: I went to Caltech (class of 08) and thankfully am in a good Ph. D program right now where I can 'pick up the pieces,' as it were, and reignite my interests.

I am constantly in conflict about this---would I have done 'better' (for some definition of better) overall if I hadn't gone there, and instead gone to an easier school?

Or do I just remain grateful about my current situation and just stop thinking when I think about this? I am forever indebted to my parents for their sacrifice in paying my Caltech tuition, and I really think there could not be a better place for learning engaging subjects with the brightest people around. All my career opportunities were made possible because I networked in the Caltech community.

But I just think there could have been a much more principled, less psychically costly way of doing it.

</comment><comment><USER41> I felt there was a sense of arrogance from the author while reading this article. We get it, Russel, Cal Tech is a difficult school to matriculate in. No need to hype the academic credentials required by your Alma mater for acceptance.

</comment><comment><USER42> One major difference between Caltech and many other schools is that Caltech is a technical school, and doesn't provide a liberal arts education. An underlying assumption of the article is the superiority of the technical education vs. liberal arts, but the evidence he provides that this is actually the case is rather thin: the author seems to expect the reader to accept this point of view by default. It would have been better if the author could have made this argument explicitly.

<comment><USER43> Although Caltech isn't a liberal arts school, undergrads are required to take one humanities or social science class every term (for a total of 12). You occasionally see Caltech alumni with a BS in Literature...

</comment></comment><comment> flip-flop Comparing Caltech to any other college is plain unfair. They have one of the biggest endowments in the country because they are affiliated with JPL. I'm pretty sure just about any college could rise to that level of prominence given resources like that.

<comment><USER15> This is factually incorrect. The endowment is separate from the operating budget, which is where JPL comes in as a factor. The endowment is large because of several 'home runs,' in the fundraising parlance, specifically Gordon Moore's $600M donation in 2003, the largest donation to higher education ever and hundreds of millions in smaller donations by the Moore Foundation, as well as other large ticket donations by successful Caltech alumni and LA notables, like Eli Broad. The JPL budget is separated out from the Caltech general operating budget, which you can learn more about here: <http://annual-report.caltech.edu/>

We were actually offered Los Alamos, too, after several security breaches under their UCLA managers, but our faculty board turned it down, resulting in UCLA getting the contract again. Amusingly, the result of UCLA management's security failings was that they got paid a higher rate for the same duties. Gotta love the government sometimes, heh.</comment></comment>


Linux Supercomputer is a Contestant on Jeopardy - I'll Take Linux for $1,000 - <AUTHOR> http://www.linuxplanet.com/linuxplanet/newss/7294/1/

<comment><USER2> Well I'll be damned -- I sorta assumed it would have been AIX. Feather in SuSE's cap!</comment>


Ask HN: I had a successful Product Hunt launch. What do I do now? - <AUTHOR> I released NameQL (a better domain name generator) on Product Hunt last weekend and had a great response: 1000 upvotes and lots of positive feedback. People seem to be genuinely excited about the product.
Now, five days on, I'm feeling high and dry. The initial traffic spike was great (8000 new users in the first two days), but it quickly decayed and I'm left with a trickle. NameQL is a bit of a one-time-use product, so those initial users aren't sticking around, and its just me and the crickets now. I guess I was expecting that a successful launch on Product Hunt would be enough to generate some sustained interest...
So my question to you is: What should I do now? Does the success on Product Hunt validate the product, or does the fact that interest died so quickly mean that I should move on? With the initial hype gone, is Product Hunt a dead channel for me now, or is there a way to leverage the success I had there? I'd like to be able to focus on making product improvements and release features requested on PH, but right now it feels like no one would care...
Thanks in advance for your wisdom!
---
Background: I built NameQL as a weekend project. I am the sole developer, designer, marketer, etc. For reference, you can check it out here: https://nameql.com , or on Product Hunt: https://www.producthunt.com/posts/nameql . <comment><USER2> Thanks for sharing this, it's a good, realistic look at what a PH launch means (even a successful one at it). It matches what my opinion is on the subject roughly. As a post-mortem, I think an ideal product for PH (that can take advantage of a successful PH launch) should include a signup step or at least some sort of email-subscribe step. The idea is that the PH spike gives you the burst of signups that establish a connection between you and your users, which you can then email/outreach later. In your case, it's a "one use" product without signups, so best case scenario is people will bookmark you, but may or may not remember to use you when they have a need for it in the future.

I don't know if this helps you at all right now, that you're past the point of the PH launch. At least, it'll be a good lesson for future PH launches. Do you have a long term plan for NameQL? The site doesn't suggest there's any sort of signup or premium service.

<comment><AUTHOR> Thanks a lot for your thoughts!

You're right. I would recommend the same thing to others launching on PH from now on. I didn't have any system in place to engage with users after they try it out. My product was easy to get started with, but also easy to forget.

Glad my mistakes can be lessons for others ;-).

My short term goal for NameQL is to make a really great free offering: support more TLDs, smarter suggestions, and to check for related trademarks, etc. For profitability, I was hoping that affiliate links would be enough to generate a decent revenue. It doesn't seem to be very effective, though. I'm considering adding value-added features for a small price, but I haven't planned out what those will be.

</comment></comment><comment><USER3> If you want to capitalize on your Product Hunt launch, I've seen people have success blogging about their launch experience and then getting a second bump in traffic from sharing that post on Hacker News, Indie Hackers, and Reddit.

In the long term, though, you're in the same boat as everyone else: you have to find sustainable marketing channels that work for your business. I highly recommend Traction[0] by Gabriel Weinberg to learn more about growth and marketing.

[0] [https://medium.com/@yegg/the-19-channels-you-can-use-to- get-...](https://medium.com/@yegg/the-19-channels-you-can-use-to-get- traction-93c762d19339)

<comment><AUTHOR> Thanks for your suggestions simantel! Writing about what did and didn't work for the Product Hunt launch to help others is a good idea. I really enjoyed Traction, but I should probably re-read it. Thanks for the reminder!

<comment><USER4> Good email to reach out to you?

<comment><AUTHOR> firstname.lastname@example.com should do the trick.

</comment></comment></comment></comment><comment><USER5> Ideas for featuresz:

\- add an option to subscribe to updates or newsletter - auto-generate 10 interesting domains and send them out.

\- add an option to watch domains based on a combination of words, subscribe by email

\- add an option to search domains based on an industry: Health, Security, Consumer, Photo, etc... - I can share more how it can be done

\- add an option to support a project - donate button.

\- I would probably a/b test for moving save|buy buttons next to domain, it was not clear for me that I can buy

\- would be nice to have some help with synonyms and meanings of the words, should help to non-english speaking users.

Overall, I love the project, so far it has best UX compared to others I used. The challenge with your business model - people don't need to buy domain right away, but they might put your service in a bookmark and return after a while, so:

1) first marketing it a couple of more months, to grow the total number of such users.

2) I'll probably not use namecheap, and go with another registrator - can you add more options here and make money on other referral program?

3) you can add a referal link to more services, such as Launch a Landing Page

Except Product Hunt - there is beta list, indie hackers and many forums, quora and etc - and as some said, you can capitalize on blogging, twitting about successful Launch on Product Hunt, as well as do 2nd launch with major upgrades.

<comment><AUTHOR> Wow! This is super helpful. Thank you so much for to ideas, genbit.

Loved your feature suggestions. Definitely some things to move to the top of my list there. I'm curious about what exactly you meant about "search domains based on an industry". Could you elaborate on that?

Great tips on improving the business model, too. This is super valuable for me. Thanks!

<comment><USER5> Idea is to prebuild lists of domains that will likely to be sold - for this you can create categories, like industry or product hunt topics, and for each topic have list of words and synonyms and then use it to offer domains. User can click on topic, ex Photography, and see list of suggestions. If I want to build startup in photography, I have hard time to come up with words from which I can create domains.

Also, one more suggestion, try to market it in non-tech related websites and for not tech people - they might not know how to buy domains cheaper or have preference for registrator.

</comment></comment></comment><comment><USER6> I clicked through via PH. I did a few searches and left.

How about an option to send me updates on my query? That way, you can capture my email and notify me when the query results have changed.

Maybe that's not useful but I'm wondering if there are ways to engage your visitors more long term.

Also it's not quite clear -- is it .com only? That's fine if it is but it might be nice to add .com to the results (but fainter or something).

<comment><AUTHOR> Yes! You're absolutely right. Probably my biggest mistake was not thinking about retention _before_ launching on Product Hunt. I suspect that your experience matches that of most visitors through Product Hunt. Your suggestion about query updates may be a good one to try, and I will brainstorm other ways to make the product give more long-term value.

And yes, it is .com only for now (plans to add other TLDs soon). Thanks for the feedback that this could be clearer.

<comment><USER6> Well supporting more TLDs would be great. I know we just had that big discussion about the downsides to .io domains on HN (but I actually am reliant on a .io domain -- domain squatter is on my .com and not sure when I can afford, if ever, to buy it).

So more TLDs would be great. Although really, it does seem like .com is the most important. I'd just make it clearer it's .com only as now I'm going to go back and do some more searches as that is useful actually that is only .com.

Sorry, that is like pro and con feedback on more TLDs.

<comment><AUTHOR> Yeah. I agree on both counts, though. I think .com is still far more important, and adding other TLDs shouldn't take away from its prominence. For the short term, making this super clear is a good way to go.

</comment></comment></comment></comment><comment><USER7> I might use the product once a month. So, 1000/30 = 33 users per day based on likes.

add a login so I can view saved words on different computers(optional) and you have a way to email users on updates.

<comment><AUTHOR> This is really useful to know. You're right, I think an engaged user might use a product once a month or so. The challenge is to stay at the top of their minds the next time they look for a new name. Having a login with value-added features may help with that.

</comment></comment><comment><USER8> honest feedback: the only thing with this, and most things like it is that it's not actually accurate.

type in best -> see it's "available" -> go to namecheap -> see it is not unavailable.

Once this happens _once_ , you realize there's no point of going to the middleperson.

<comment><AUTHOR> I always value critical feedback. Thank you.

I think you mean that you found a name that was suggested that was not actually available. Unfortunately, this does happen, but in my experience it is less than 1% of the time. The zone files for TLDs are missing some domains which are actually unavailable.

Sorry that you had a frustrating experience.

<comment><USER8> It's not really frustrating, but just feedback. It's way more than 1% of the time. Type in best and try out the first 5 examples -- 40% of them are inaccurately reported. FWIW every service akin to this has the same issue.

<comment><AUTHOR> I had 1/10 be inaccurate when I did that, which is still not good enough. Its definitely something that can be addressed. Not easy, but fixable. Thanks for bringing this particular query to my attention.

</comment></comment></comment></comment><comment><USER9> Contact few registras, tell them your success story and propose them to sell domain names.

<comment><AUTHOR> Thanks. That's an interesting suggestion. Might be a good option for revenue.</comment></comment>


Ask HN: Importance of a good .com domain? - <AUTHOR> Hey all, I'd love some marketing / growth people to comment on this:<p>I can't seem to get any one of the .com domain that I want, mostly because of squatters. The .co domains seem to be available. How much of a disadvantage is it to not own the .com domain? <comment><USER2> IMHO you're at a disadvantage if you spend too much time on non-core elements of a product.

So, if the name/domain/brand is crucial to the success of the company (if it's a clothing line for example), then maybe it's worth spending a lot of time brainstorming until you find a .com that works.

But, if the core value-proposition of your product has little to do with the public-facing branding, then your time is probably best spent elsewhere, and you should just buy whatever domain is available ASAP and move on to other things.

</comment><comment><USER3> I depends. But as others have said I would try to get creative with the name to find a .com for it. PG recently wrote a post on changing your name but I don't agree with it 100%. [http://www.paulgraham.com/name.html](http://www.paulgraham.com/name.html)

However if your product is a mainly accessible via a mobile app then I would use the .co or other clean TLDs. For example, Vine is still using .co and it's a massive success.

</comment><comment><USER4> I would look at alternative names that you can get the .com for. A .com is like the "The" badge on Amazon or a "Verified" check on Twitter: it also gives you much better odds of not having to deal with trademark disputes.

For some tips on naming, see my Trello board of notes on naming and domains: [https://trello.com/b/TekvQe5x/naming-and- domains](https://trello.com/b/TekvQe5x/naming-and-domains)

<comment><USER5> As someone who's very bad at looking for names, I also wanted to thank you :) .

A marketing expert acquaintance recommends one-word names over the two-names approach you advocate there, though.

From your trello: "Even internationally, two English words is usually considered fine. This works for a number of sites, Facebook being one of the most notable examples" (I also thought of SnapChat, InstaGram, etc.)

However, the marketing expert wrote this advice to me "No future company is called (bad two-word names), they're called google, oracle, hulu or oculus. Go clean and easy to remember & pronounce""

</comment></comment><comment><USER6> Unless you own a super common word or group of words as .com; it doesn't make too much of a difference. Only enthusiasts will use a smaller service, regardless of its usefulness and will be ok googling for a domain or entering a less common TLD. Wait to see if it develops and if it does, use your profits to buy the right domain for more casual consumers.

I'd say best you can do is make your site https and responsive and make sure you have all relevant SEO data to increase its indexing performance.

<comment><AUTHOR> Got it. Yeah, I figured. I suppose the _only_ time this could be an issue is through word-of-mouth. I tell someone its 'awesomedomain.co" and they'll type in "awesomedomain.com" after a couple of days - but hopefully they'll just type it into google anyway.

</comment></comment><comment><USER7> Just avoid the TLD that are marked as spam by most filters and you'll be fine.

<comment><AUTHOR> Oh, wow. I hadn't thought about that. Thanks!

<comment><USER7> Yeah.

[http://www.cradlecloud.com/top-level-domains-tlds-that- you-m...](http://www.cradlecloud.com/top-level-domains-tlds-that-you-must- avoid/)

Interestingly .biz and .co which were designed for businesses are heavily blacklisted.

<comment><USER8> .co is a country code domain belonging to Colombia. It was never "designed" for businesses, simply allowed to be registered by anyone outside of the country.

<comment><USER7> My bad. Then it's a de factor usage by businesses. As per the wikipedia page "Actual use: .CO top level domain has become the leading global alternative to .com for innovators, entrepreneurs and startups"

But you're right, that was not the first intent.

</comment></comment></comment></comment></comment><comment><USER9> Get creative with domain name as much as you're creative with your product.

You need .com</comment>


What is Gradual Typing - <AUTHOR> http://wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/ <comment><USER2> Gradual typing is not the same as optional type annotations. In a gradual type system, the type system is complete. That means if you provide all type annotations, the program cannot fail with static type errors. If you provide partial type annotations, the program can only fail in dynamic code, or at the boundary of static and dynamic code. Systems with optional type annotations do not provide these guarantees.

One of the areas where this really shows up is with higher-order functions. One way of ensuring that statically typed code can't fail is to do dynamic type checks at the transitions between dynamic and statically typed code. That way, the statically typed code can always assume that type declarations are correct, and type errors can always be traced back to dynamically typed code. But what happens when dynamically typed code passes a function, the type of which it does not know, into code that expects, say, a (fixnum -> fixnum)? You can't in general type check the domain and range of an arbitrary function.

One of the key differences between optional type annotations and gradual typing is what happens in that case. In Dylan or Common Lisp, any call to a function where the target is not statically known will pollute the type information.[1] I.e. the type-checker cannot trust that a function annotated (fixnum -> fixnum) will in fact always return a fixnum. It will insert a dynamic type check on the return value. In a gradually-typed system, the compiler can make that assumption, and not insert the type check. In purely statically typed code, the type checker can ensure the type of the function when its identity is taken as a value. If the function comes through dynamically typed code, the compiler will wrap the value in a thunk at the transition point. The thunk will do the type check, and if it fails, you can trace the error not to the statically typed code where the function was called, but back to the dynamically typed code that passed in a function of incorrect type.

[1] In Dylan, you cannot even give a type for a function more specific than 'function'.

<comment><USER3> > In a gradual type system, the type system is complete

Exactly!

Edit: Also, the gradual typing theory as described by Siek in a language with a Hindley-Milner like static type system supports type inference, so it will automatically use as much type information as possible.

More on this, including how to smartly compile gradually typed languages so that functions don't explode in size when they are being passed between statically and dynamically typed code, in the paper:

 _Blame, coercions, and threesomes, precisely_ Jeremy Siek, Peter Thiemann, and Philip Wadler. Draft, March 2014.

[http://homepages.inf.ed.ac.uk/wadler/topics/recent.html#coer...](http://homepages.inf.ed.ac.uk/wadler/topics/recent.html#coercions)

</comment></comment><comment><USER4> Optional type annotations do exist for ages in Common Lisp, and the optimizations are implementation specific. All good implementations do not only check the types, they are mostly used to optimize the data types (raw vs boxed) and reduce unneeded run-time type checks and unneeded generic methods. See e.g. the python compiler for SBCL, formerly knows as CMUCL.

Perl5 also has optional types since 15 years, just the implementations (checkers and optimizers) were broken in the last big refactoring around 5.10, and there's no interest in enabling it again. The optimizing perl5 compiler B::CC honors optional types (besides doing type inference for core types, IV, NV and PV) and gets a typical 2-5x speedup. [http://act.yapc.eu/ye2013/talk/4637](http://act.yapc.eu/ye2013/talk/4637)

BTW: This is a very old article, and was posted here some months ago already.

<comment><USER5> Erlang has also had a gradual type system (and a fairly interesting one at that[0]) for a long time: [http://learnyousomeerlang.com/dialyzer](http://learnyousomeerlang.com/dialyzer)

AFAIK there's no optimisation based on that, just typechecking.

[0] it's interesting in that where most typecheckers restrict language semantics as they require a form of correctness proof, dialyzer is optimistic and only errors out if types are clearly inconsistent

</comment></comment><comment><USER6> I really like this idea. Dynamic typing (especially truthy / falsy) gives you a lot of easy flexibility and conciseness, but static typing gives you a lot of "free" documentation and confidence.

So when I use Scala I'm frustrated that I have to dance for the type system to make the damn thing do what I want, and when I use Clojure I occasionally get lost down long holes of confusion only to realise that the map with params I passed to some function somewhere had an element misspelt slightly (an hour lost because I used :url instead of :uri once, no joke).

I've heard good things about core.typed, but have yet to find the time to try it out.

Edit: I've also found that in all the static languages I've tried (Scala being the one with the most comprehensive type system) you get to a point where you can't describe what you want with your type system because it's too conceptually complex, and then all your assumptions about what the type system gives you falls away.

<comment><USER7> Your experience with Scala sounds unusual. What is an example of something you wanted it to do, but could not easily?

<comment><USER8> Not so unusual, if you come at it from a developer who's experience is in mostly dynamic languages perspective. It can feel like you're fighting the type checker at times, however I found that the reason that's the case is because I'm trying to write dynamic code in a statically typed language. Once I got over that impedance mismatch, Scala became a lot nicer for me.

Funnily, that is one of the problems I've experienced with gradually typed (and optionally typed) systems; you need to have strong discipline to get the most of out them. My personal way of tackling it (in Hack these days) is to strictly type _everything_ , and only rely on dynamic typing where it's absolutely needed.

</comment></comment></comment><comment><USER9> Another interesting approach is 'success typing' in Erlang, as described in this elegant paper:

[http://user.it.uu.se/~tobiasl/publications/contracts.pdf](http://user.it.uu.se/~tobiasl/publications/contracts.pdf)

Success typing is optionally refined through typespecs in the code and checked by the Dialyzer tool:

[http://www.erlang.org/doc/reference_manual/typespec.html](http://www.erlang.org/doc/reference_manual/typespec.html)

[http://learnyousomeerlang.com/dialyzer](http://learnyousomeerlang.com/dialyzer)

Success typing is open to gradual typing of legacy code, as more typespecs are added, constraints gradually tighten, and Dialyzer finds the inconsistencies.

</comment><comment><USER10> This is the biggest feature (for me) of Perl 6. Default to the normal dynamic typing, but add type annotations later on, as needed and/or desired.

The Perl 6 compiler will not only shift various warnings/errors from run time to compile time, it will also emit more efficient code!

</comment><comment><USER5> > It would have been nice if the above error message was more specific and > said the instance was of class 'A' instead of saying that it is an > 'instance' of any old class.

It would if you used Python 3 or a new-style class.

</comment><comment><USER11> Check opendylan [1], which blends dynamic typing with optional type annotations [2]. There's a paper [3] and a "dead" branch in github [4] with an actual implementation of gradual typing.

[1]: [http://opendylan.org/](http://opendylan.org/)

[2]: [http://dylanfoundry.org/2014/08/28/type-system- overview/](http://dylanfoundry.org/2014/08/28/type-system-overview/)

[3]: [http://www.itu.dk/~hame/ilc2010.pdf](http://www.itu.dk/~hame/ilc2010.pdf)

[4]: [https://github.com/hannesm/opendylan/tree/typed- opendylan](https://github.com/hannesm/opendylan/tree/typed-opendylan)

</comment><comment><USER12> I want more than this. This article talks about adding type annotations, and if the variable has an annotation, then the type is checked. That is, you have to change the source code to use it.

I want a knob I can turn at compile time. "Compile this dynamically, so I can run it and play with the algorithm. OK, now I think I've iterated the algorithm enough times that I'm fairly confident in it, now turn on type errors as warnings. Now that I've cleaned up all of that, let's go back to the default, which is to compile with type issues being errors."

</comment><comment><USER13> TypeScript is gradually typed then? You have types but also the "any" type.

</comment><comment><USER14> I love this idea! I want to combine this with git commit checks so I can get through logical flow without types but be forced to do it the right way before I commit.

</comment><comment><USER15> Sounds like it combines the worst features of each rather than the best. But I'll reserve judgement for using it in anger.

<comment><USER16> Actually, for a large codebase written in a dynamic language, introducing gradual typing to slowly convert all the dynamic code, into more stable statically type code, can be a quite nice approach (compared to rewriting the whole codebase).

Take for example Facebook and their HHVM[0]. They can run the existing code, and then slowly update the code with types, and write new code with types. The alternative would be years and years of rewriting the whole codebase.

Personally though, I'm more a fan of the type-checking done in languages like Haskell, F# and ML.

[0] [http://hhvm.com](http://hhvm.com)

<comment><USER17> HHVM is a rather odd example, I think.

Firstly, PHP and HHVM have three "levels" of types:

From a type-theory perspective, these languages are "unityped", ie. all values have the same type. We might write this as:

        Any = Bool + Int + Float + Resource + String + List ((String + Int) * Any) + (Any -> Any) + ...

From a procedural or functional perspective, the types are bool, int, float, resource, string, object, function, etc.

From an OO perspective, the types are the classes.

PHP already allows a very limited form of type annotation: function/method arguments can be annotated as arrays or as objects of a particular class/subclass/interface-implementation. These are non-nullable, unless null is set as a default value.

These are checked dynamically rather than statically, and a failing check triggers a fatal error. This makes them path-dependent, requiring an extensive test suite to minimise the number of fatal errors in production, and overall makes them feel more like a very limited form of assertion rather than type- checking.

As far as I understand it, the typing features offered by HHVM over PHP are the ability to use "non-OO types" like int, string, etc. in annotations; annotate more things (like object properties); use generics in classes (a poor man's parametric polymorphism); and for annotations to be nullable without requiring a null default value.

Overall, I wouldn't say that HHVM adds gradual typing to PHP. If we're charitable and say that HHVM has gradual typing, then really it's just slightly better gradual typing than what PHP already has.

<comment><USER16> While I couldn't find any specific info, concerning compiling applications with HHVM (it seems to just perform JIT), this seems to suggest you can type check without having to go into the runtime, "Hack provides instantaneous type checking via a local server that watches the filesystem."[0]

>If we're charitable and say that HHVM has gradual typing, then really it's just slightly better gradual typing than what PHP already has.

Isn't a mix of dynamic typing and static typing, being optional which you use, the definition of gradual typing? Wiki also seems to agree with this[1][2].

I'd say HHVM greatly improves on PHPs type hinting[3], which is rather basic, unless you want to recreate every basic type as an object. Also, with PHP type hinting, you can't specify types of Object attributes/variables, which you can in Hack/HHVM.

[0] [http://hacklang.org](http://hacklang.org)

[1] [http://en.wikipedia.org/wiki/Gradual_typing](http://en.wikipedia.org/wiki/Gradual_typing)

[2] [http://en.wikipedia.org/wiki/Hack_(programming_language)](http://en.wikipedia.org/wiki/Hack_\(programming_language\))

[3] [http://php.net/manual/en/language.oop5.typehinting.php](http://php.net/manual/en/language.oop5.typehinting.php)

</comment></comment></comment></comment><comment><USER18> I like this as an idea, and I've been meaning to try it out for ages now. Excited to use it in Python.

</comment><comment><USER19> I remember vaguely something similar was in the work for Ruby, but i cant find it again.

</comment><comment><USER20> C# dynamic? [http://msdn.microsoft.com/en- us/library/dd264736.aspx](http://msdn.microsoft.com/en- us/library/dd264736.aspx)

<comment><USER21> C# added type dynamic in 2008. The gradual typing paper by Siek and Taha is 2006.

</comment></comment><comment><USER22> Here is how you do it in D: [http://dlang.org/phobos/std_variant.html](http://dlang.org/phobos/std_variant.html)

<comment><USER23> D looks interesting.

I wonder why it's not more popular,it seems it has been around for years.Maybe it needs to be embraced by a big company first.I heard its creator works at Facebook though.

<comment><USER22> Facebook uses it a little behind the scenes.

[http://wiki.dlang.org/Current_D_Use](http://wiki.dlang.org/Current_D_Use)

Not the original creator Walter Bright, but "second in command" Andrei Alexandrescu works at Facebook.

</comment></comment></comment><comment><USER24> It's rather odd that Dart isn't mentioned. Although its types are actually assertions in disguise, they serve a similar purpose.

</comment><comment><USER25> The `add1` method should be declared static

<comment><USER17> `add1` isn't a method, it's a function.

Besides, "static methods" are a hack:

If it's a behaviour of the class rather than its instances, then make it a method of the class. You'd only need static methods for this if your language doesn't treat classes as objects (ie. it's not a particularly OO language). The example is in Python, where classes are objects, so no statics are needed.

Alternatively, it may be a completely standalone piece of code, in which case it has no business being inside a class. Just make it a standalone function, and stick it in a module to avoid name clashes. You'd only need static methods for this if your language doesn't allow standalone functions, or doesn't have a module system. Since Python has both, there's no need to abuse classes like that.

<comment><USER25> Please read the article. I was referring to the _method_ in the Java example. You cannot access `add1` from main since main is _static_

<comment><USER17> Ah yes, I replied too soon :)

Still, it's just a Java quirk that's irrelevant to the article.

</comment></comment></comment></comment><comment><USER17> It's unfortunate that the only statically-typed languages mentioned are Java, C#, C and C++, which are verbose, unsound and very limited. In fact, one of the criticisms given in the good/bad list is "Type checkers only check fairly simple properties of your program.", which is true for those languages, but not for better type systems (eg. those of Idris or ATS).

There seems to be a lot of wooly-thinking going on throughout the article, which unfortunately seems typical of many pro-dynamic-typing pieces (I used to be guilty of this too, although I've since switched sides). For example, we can compare this gradually-typed Python implementation to Haskell's Data.Dynamic module (where the article's "?" is equivalent to Haskell's "Dynamic").

For example:

> the argument bound to x will be checked at run-time to make sure it is an > integer before the addition is performed.

How can we "make sure" the argument bound to x is an integer? It's not specified.

We _could_ treat the value as a blob of arbitrary bits, representing some integer in binary; however, that's not really "checking to make sure", that's "forcing it to be". It's equivalent to coercing a void* to an int* in C.

The other way, which is _actually_ the case, is that values of type "?" don't _just_ contain data of some unknown type, they _also_ contain a 'tag' which indicates the type. When we "make sure it is an integer", what he really means is that we check whether the tag stored in x matches the tag we're using for integers.

This has two important consequences:

Firstly, the types in "dynamically typed" programs never change; they're always (tag, data) tuples. They are, in fact, static. We can write them easily in a statically-typed language like Idris:

        data Tag : Type where
          int : Tag
          bool : Tag
          function : Tag -> Tag -> Tag
          string : Tag
          error : Tag
          void : Tag

        -- We can compare Tags for equality
        instance Eq Tag where
          int == int = True
          bool == bool = True
          -- ...and so on
          _ == _ = False

        typeOf : Tag -> Type
        typeOf int = Int
        typeOf bool = Bool
        typeOf (function x, y) = (typeOf x) -> (typeOf y)
        typeOf string = String
        typeOf error = String
        typeOf void = ()

        Dynamic : Type
        Dynamic = (t : Tag, val : typeOf t)

        null : Dynamic
        null = (void, ())

        true : Dynamic
        true = (bool, True)

        false : Dynamic
        false = (bool, False)

        someDynamicValues : List Dynamic
        someDynamicValues = [true,  false, (int, -123), (function int int, (+))]

        -- Function application
        applyDynamic : Dynamic -> Dynamic -> Dynamic
        applyDynamic (function i o, f) (t, x) | t == i = (o, f x)

All of these (tag, data) pairs will be statically checked, so `(int, True)` is a type error. It's not difficult to wrap this up in a nicer syntax to avoid the explicit annotations.

Secondly, what happens when the tags _don 't_ match? All the article says is this:

> Allowing the implicit converson[sic] from ? to int is unsafe, > and is what > gives gradual typing the flavor of dynamic typing.

Being unsafe is a bit crap, considering that (with a bit of squinting) we can do all of this statically. In fact, does that mean we've managed to break the type system of Idris?

No; the reason this is unsafe has nothing to do with types, it's a matter of totality.

If we look at the definition of `applyDynamic`, we see it's only defined in the case where the first argument is a function (from `i` to `o`) and the second argument is a valid input to that function (`t == i`). In all other cases, the result is undefined. Hence "dynamic type errors" are actually _unhandled cases_ (in Haskell-speak "non-exhaustive patterns"). Note that it's trivial to catch these errors statically (eg. the Glasgow Haskell Compiler gives warnings for them).

This the crucial realisation for me: dynamic typing turns ill-typed functions into a well-typed, partial functions. It lets us trade-off between rich types and expressive code, while remaining well- (statically-) typed.

With this in mind, it's clear that dynamic languages don't actually implement dynamic types very well: how do we specify what to do for unhandled cases? There are various approaches, most of which seem to be hard-coded into the language and require new, special features to be added to the interpreters. For example Python throws "TypeError" exceptions; PHP will sometimes convert values of one type to another, and other times trigger a notice/warning/error. SmallTalk's "doesNotUnderstand" approach is quite nice, but it still requires special-case handling and comes associated with a whole load of OO baggage.

In a static language, unhandled cases are trivial to fix: just wrap the result in a `Maybe` and return `Nothing` from all the unhandled cases!

        applyDynamic : Dynamic -> Dynamic -> Maybe Dynamic
        applyDynamic (function i o, f) (t, x) | t == i = Just (o, f x)
        applyDynamic _ _ = Nothing

This is the approach taken by Haskell's Data.Dynamic module, which defines the polymorphic function `fromDyn :: Dynamic -> Maybe a` to extract data out of Dynamic values. The nice thing about this approach is that Maybe forms a monad, so error-handling is performed automatically:

        dynamicMaths df dx dy = do f <- fromDyn df
                                   x <- fromDyn dx
                                   y <- fromDyn dy
                                   return (f x + f y)

This will be `Nothing` if `df` doesn't contain a function, if `dx` or `dy` don't contain appropriate arguments for that function, or the results of that function aren't numeric. Otherwise it will be `Just n` for some number `n = f x + f y`. Since the result is also a Maybe, this will compose nicely with any other code using `fromDyn`.

So really, dynamic typing is just a design pattern for statically typed programming. If we look at the virtues of dynamic typing listed in the article we see:

> Dynamic type checking doesn't get in your way: you can immediately run your > program > without first having to change your program into a form that the > type checker will accept.

As we've seen, programming with dynamic types _is_ writing your program in a form that the type checker will accept! Specifically, we end up with `Maybe` types all over the place, which are trivially satisfied by `Nothing` (the monad takes care of that for us).

> Dynamic type checking makes it easy to deal with situations where the type > of a value depends > on runtime information.

This is another wooly statement, since it conflates static types with dynamic types. As we've seen, the static types _never_ depend on runtime information; they're all just `Dynamic` (AKA "?"). Since the type-checker only cares about the static types, it can all be inferred and checked without any effort from the programmer.

The dynamic types (the Tags) are just data, which we can handle just like anything else. Those 'situations where the [dynamic] type of a value depends on runtime information' are just situations where one element of a tuple depends on another.

Since dynamic languages don't let us access these tags directly, they force us to go through special-purpose reflection APIs like "typeof", "instanceof", etc. which I would argue is harder.

What about the drawback of static types that's mentioned?

> Static type checking makes you think more seriously about your program > > which helps to further reduce bugs.

That's a bit of a misnomer; static type checking _allows_ you to think more seriously about your program, if you want to. You might decide that rich types aren't worth using and follow a dynamic typing pattern instead, but at least you get to choose. Of course, that's a false dichotomy anyway; we can have some parts of our program use weak, dynamic types and others use strong, rich types. It's all still static.

The point is, in statically-typed languages, dynamic typing (and gradual typing) is just a design pattern. Not only is the expressiveness problem a strawman (we can write dynamic code in a static language, or trivially parse a dynamic "front end" language into an equivalent static form), but static languages give us _more_ expressiveness (dynamic types are just regular data, "dynamic type errors" are just regular branches), more safety (by limiting which parts are dynamic, checking (static) types and totality automatically, etc.) and require no special language features. We can do this right now with existing languages.

<comment><USER12> > What about the drawback of static types that's mentioned?

> > Static type checking makes you think more seriously about your program > > which helps to further reduce bugs.

That wasn't mentioned as a _drawback_ ; it was mentioned as an argument for static types that people give that the author thought was an invalid argument.

> The point is, in statically-typed languages, dynamic typing (and gradual > typing) is just a design pattern. Not only is the expressiveness problem a > strawman (we can write dynamic code in a static language, or trivially parse > a dynamic "front end" language into an equivalent static form), but static > languages give us more expressiveness (dynamic types are just regular data, > "dynamic type errors" are just regular branches), more safety (by limiting > which parts are dynamic, checking (static) types and totality automatically, > etc.) and require no special language features. We can do this right now > with existing languages.

Yes and no. Yes, all the things you said are formally equivalent. In practice, though, they are very different. Sure, you could make them equivalent, but who actually writes programs that way? And if you don't actually write that way, then the practical difference _really matters_.

</comment></comment><comment><USER26> It seems dishonest to claim to "invent" something that already exists, and is as trivially simple as "ignore errors". Haskell already has this for example in GHC: -fdefer-type-errors. Notice how it is only used for ignoring errors in known broken code, not for actually trying to leave out type checking permanently. That's because the premise that static types get in the way and it is better to not have them sometimes is false.

<comment><USER27> I think you are confused about what is being claimed.

Jeremy Siek (the author) published two papers last decade: "Gradual Typing for Functional Languages" ([http://www.cs.colorado.edu/~siek/pubs/pubs/2006/siek06:_grad...](http://www.cs.colorado.edu/~siek/pubs/pubs/2006/siek06:_gradual.pdf)) in 2006 and "Gradual Typing for Objects" ([http://ecee.colorado.edu/~siek/gradual- obj.pdf](http://ecee.colorado.edu/~siek/gradual-obj.pdf)) in 2007.

Those papers are not saying "we're the first to combine static and dynamic typing." Those papers _are_ saying "we're the first to _formalize_ the combination of static and dynamic typing into an overall sound type system."</comment></comment>


Building Skills in Python [Version 2.4] (free book) - <AUTHOR> http://homepage.mac.com/s_lott/books/python.html <comment><USER2> Thanks for the link. Looks fairly well written. The author sure seems like he's given quite a bit back. I will check it out.

Now for the really stupid question from a php programmer...

In one or two sentences (no language wars please), WHY should I consider Python over php?

<comment><USER3> Everything, the names/code/look of the final program is natural and easy on the eyes. Plus there are a LOT of useful libraries available.

PG calls it the Python Paradox, ESR says that it was so natural that he was able to make a useful GUI while still learning the language, IIRC Spolsky called it part of the 2.5 languages that are safe to use in the business environment.

<comment><USER4> > Other than the fact Linux has a cool name, could someone explain why I > should use Linux over BSD?

No. That's it. The cool name, that is. We worked very hard on creating a name that would appeal to the majority of people, and it certainly paid off: thousands of people are using linux just to be able to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the mistake of putting a lot of numbers and weird abbreviations into the name, and is scaring away a lot of people just because it sounds too technical.

<comment><USER5> Hardware support is added to Linux sooner than BSD. More pre-compiled binaries are available for Linux. Also, it can be a bit harder to get applications up and running on BSD.

<comment><USER4> Sure. I should have added the source of my citation. It's a joke answer from Linus.</comment></comment></comment></comment></comment>