Waxy.org
Waxy.org is the sandbox of Andy Baio, a journalist/programmer living in Portland, Oregon. I'm the CTO of Kickstarter, created Upcoming.org, and some other stuff too.

Contact Me: log@waxy.org or waxpancake on AIM

Knauss on Paul Graham's "Great Hackers"

Posted Jul 29, 2004

Greg Knauss doesn't have a weblog of his own, so I asked if I could post his rebuttal to Paul Graham's Great Hackers essay. Greg writes:

"Hello, my name is Paul Graham. I have a bunch of opinions and prejudices, and I'll now present them as fact: Python is better than Java, Linux is better than Windows, quiet is better than noise, one big problem is better than a thousand tiny ones, hackers are better than normal people. If you disagree with me, then you are obviously not a super hacker, and are instead some sad little monkey, banging on a keyboard."

Jesus. s/hacker/self-satisfied prima donna/g.

You know what a hacker is? It's someone who enjoys solving problems. Great hackers do it elegantly. Good hackers do it at all. How they do it is irrelevant, and it certainly has nothing to do with what language they choose or what OS they run or if they're politically correct or not. To claim otherwise is arrogant, narrow-minded foolishness.

The fact that I'm learning C# and Windows.Forms does not make me any less of a hacker. In fact, it makes me more of one, because I'm able to solve a problem I couldn't with all the Python and Linux in the world. Oh, but I forgot: hackers only solve the problems that interest them, if they're presented in the right way and in the right environment. Because hackers are special.


Joshua pointed out that while it may seem that every smart person I know is using open-source tools, it's a product of observational bias. Open-source programmers hang out with other open-source programmers. I don't know many Windows applications developers, so I've never met a Windows super-genius. But they exist, and to say they don't is a form of technophobic racism.

16 Comments (Add Yours)

Jul 29, 2004
11:33 PM  
Stewart Butterfield wrote:

Whatever. Show me the Lisp-based airline schedule search system Knauss has written lately.


Jul 29, 2004
11:41 PM  
Andy Baio wrote:

He does like Lisp, doesn't he?


Jul 30, 2004
8:07 AM  
Greg Knauss wrote:

So, Stewart, seriously: Is that the standard to be considered a hacker? Or to criticize the thinking of a hacker?

I have no doubt that Paul Graham is better than me. He's smarter, has better ideas, produces more (and more elegant) code, is more successful. Judging from the picture on his site, he's even better looking.

But we're not talking about me. We're talking about the great mass of programmers who use tools different from what Graham favors. I share most of his prejudices -- LAMP, quiet, un-PC -- and it's awfully nice to have someone so smart validate my prejudices. But that doesn't make them any less prejudices or any more facts.

Anybody can take anechdotal evidence from a small, self-selecting sample and find results that comfort them. But that doesn't change the fact that it's bad science, sloppy thinking and poor hackery.

I respect the vast majority of the work that Graham has done. But this essasy is so wrong is in so many fundamental ways, that to call it anything other than crap is to do a disservice to the entire idea of "hacker."


Jul 30, 2004
8:19 AM  
jacob wrote:

I did agree with Graham's opinions on the difficulty of working in noisy cubicle farms, though I have no idea how the situation is in any way unique to hackers.


Jul 30, 2004
8:20 AM  
Robert Occhialini wrote:

Stewart, you've been around, I would have expected you to recognize an ad hominem attack when you write one:-)


Jul 30, 2004
10:37 AM  
Anil Dash wrote:

You're all imbeciles!

The problem is that nobody's defined "hacker" or "great". Yes, yes, Graham is pandering. But as a decidedly non-great coder and someone who doesn't even consider himself a hacker, *I* read his piece and read a very Spolsky-esque "respect your coders" message. The details and trappings are irrelevant, and indeed in the case of the Windows-coder slander, downright inaccurate. But the larger message of a good environment increasing coder productivity is the part that I think resounded with everyone.

I keep thinking of writing a post (on my weblog!) about the schism between LAMP/scripter types and Windows/.NET and Java types, which are two almost entirely distinct development communities. (It shows up in technical distinctions like REST vs. SOAP and in larger cultural issues like contempt vs. respect for users.) Graham has conflated his fixation on the LAMP/scripting community with his larger message of demanding respect for coders, but that doesn't negate the validity of the latter message.


Jul 30, 2004
10:40 AM  
Anil Dash wrote:

Oh, and though you mentioned it on your sidebar, Andy, it probably bears repeating as a link in this conversation: a strong refutation of Graham's essay.


Jul 30, 2004
11:11 AM  
Stewart Butterfield wrote:

Sorry Greg - that was a little oblique (intended as a mock-Graham response).

I too have a lot of respect for Graham, and though I am definitely not a hacker in the sense he means, I am more interested in Lisp for his ranting.

However, I agree that this essay was a little silly, especially this part: "... blah blah blah. For example, Microsoft."

(Also, as someone who sits on the other side of the table, the complaints against product managers strike me as quite facile: he obviously has respect for Steve Jobs - does that make Jobs a hacker? Or is he still a products guy? If you left hackers to their own devices, the world would be filled with Perl scripts that difficult things or neato things that didn't actually need doing.)


Jul 30, 2004
2:38 PM  
Seth Thomas Rasmussen wrote:

So, how smart, detail-oriented and generally superior does a hacker like this essay-writing fellow have to be to make a simple print stylesheet to hide his navigation and have the text fill the sheet so as to not waste so much paper?

Just wondering.


Jul 30, 2004
5:24 PM  
Jerry Kindall wrote:

Well, you know, CSS is for designers; you can't expect a real hacker to even deign to notice it.

I work in a primarily Java shop, and the programmers I work with are some of the smartest guys I've ever met. All of them are far more productive than the average programmer. What's more, relatively few of them are stereotypical hacker types. They're all well-rounded individuals with real social skills, families, and so on. None of them works late, because all of them know how to manage their time so they don't have to, and because they have discovered that there are other things in life to enjoy besides coding.

I must also question the wisdom of giving each programmer their own quiet office. People at certain places on the autistic spectrum (see wide-eyed WIRED stories on Asperger's Syndrome) may need this. Others don't. We have an open plan with our six programmers, one manager, our trainer, our IT guy, and me (tech writer) in the same room. There aren't even cubicles, just desks, and they're not even really desks, but Ikea tables. This arrangement is essential to collaboration and to staying informed about what people are doing, and since we can all see each other's screens easily, there's less inclination to goof off.

Nobody here has any real trouble getting "in the zone" or staying there. If you require complete silence to do your work, maybe it is time to learn how to work in other conditions as well, since you won't always be able to work in an environment that precisely accommodates your every quirk. This makes you more employable, which is generally considered to be a good thing. Sometimes things do get distracting here when there are three conversations going on at once, none of which involves me, but when that happens I just put on the headphones, crank up iTunes to drown out the jibber-jabber, and get back to work. As does everybody else.

The company is not stupid. We may have Ikea tables for desks, but we get some nice perks too. They spend the money on the things that really matter. If I could have either my own office or free lunch every day, I'd definitely pick lunch, and I think most people would too. These are things that anyone, not just a stereotypical hacker, can appreciate and enjoy.


Aug 2, 2004
7:30 AM  
Philipp Lenssen wrote:

The essay was good, the attacks on specific programm languages (or more specifically the people using them) wasn't. I use Windows languages like Visual Basic, I use JavaScript in a browser, I use JSP/ Java, I use Python and like it, I use PHP, C, .NET, etc. Whatever tool comes along can be used for something great, and I'm more concerned about what my software is going to achieve then which language I programmed it in. I'd say a hacker will take whatever tool suits the job (and not only Python). Also, I found many non-brilliant people in the LAMP community as well -- people who only care about whether or not the tool is open-source, but they don't care about e.g. good software interface or design. I even heard one say it doesn't matter this tool is bad, it's open-source you can program and recompile it yourself! (Hmm, as opposed to taking a better one in the first place? This was a non-trivial program by the way and nothing to script in a week or so.)


Aug 3, 2004
6:50 PM  
Jim wrote:

I haven't seen much of Graham's code. I do know that I (still) esteem Graham's book "On Lisp" as the best book yet written on any programming topic. This is almost better than code as a demonstration of not only advanced hackishness, but the ability to bridge the gap between the hacker world and that other world which I'm told exists but must take on faith.

Based on that, as soon as I learned of it, I bought and devoured Graham's recent book of essays, half of which I'd already read on-line. Guess what: I found myself diagreeing with him in alot of places. But that's healthy, I think. It's a sort of call-him-up-and-invite-him-out-for-beers sort of disagreement, rather than a tear-him-a-new-asshole-in-a-forum-he'll-never-read sort of disagreement.

For the record: Paul Graham is better looking than me, which definately surprised the hell out of me. He's not better looking than Stewart, though.


Aug 5, 2004
10:00 AM  
John wrote:

Here's some Windows geniuses.


Sep 10, 2004
10:10 PM  
Anonymous User wrote:

Graham has several good points, which I think a lot of people are missing because they disagree with his technological comments.

There are a combination of things that seem to lead Knauss to claim that Graham is describing something other than hackers. One is the noise issue. It's not quiet which is the issue, so much as interruptions. Quiet is good; frequent interruptions are very bad for writing code, as you lose your train of thought. The poster above who mentioned throwing on a pair of headphones when there were too many conversations happening is, I think, a confirmation of this; the important this is to be able to tune out distractions and concentrate, rather than the number of decibels.

Are all python users geniuses, or hackers? Does learning C# make you a non-hacker? No, obviously. However, if you look at the percentage of C# coders vs, say, python or ocaml or lisp ones, who are highly competent, I suspect the results would be interesting.

I've seen Windows programs which strike me as the products of genius; I generally cannot see the code, but I can see when there's a small app which runs quickly and smoothly and generally is pleasent to use; when it also solves a difficult problem and is written by one or very few people, I tend to assume it's the work of hackers.

There are below-average programmers in every significant environment. There are brilliant programmers who only use Windows. However, you find far less people in absolute terms who have no clue whatsoever with the less used technologies, obviously enough; I don't have metrics, but I would expect a lower percentage of users to be below-industry-average or whatever similar metric for tools that are generally less hyped.
Put more bluntly, people who claim to know only the most popular commercial environments tend to be incompetent. They tend to either be beginners, or lack a real interest. I'm sure there are exceptions, and there are very intelligent people who choose to write in these environments. This does not mitigate the fact that the majority of "Java and C/C++ programmers" can barely code.

I fail to see why people take personal insult at this. No one is claiming that all C programmers, or all Java or C# programmers, are incompent; that is an obvious falsity. It's possible to be willing to use Java and also be brilliant; Graham mentions one such person in his article.

It's dangerous to generalise about a group like hackers, but many of them are extremely busy. Not all problems are interesting to all people, and it makes sense to spend at least some of your time on something which interests you. I will further go out on a limb and say that it even makes sense to take environment into account. Knauss takes environment into account when he says that his (unspecified) problem can't be solved on Python and Linux. Some tools are better suited for some applications than others (does anyone seriously disagree on this one?)

A pervasive theme of Graham's essays is that some coders are just far, far more productive than others; he believes in catering to this set, as they get most of the interesting stuff done. Some jobs can be done quite adequately by an average programmer; great. That's generally not the focus of his essays.

Graham never claims that hackers are "better" than "normal people." He merely points out that they're more productive than average programmers, by huge margins, and plays with various aspects of this in his essays, from how to design good tools to how to identify them.

I think the controversy arises in that Graham actually compares the languages themselves, and states that the tools hackers voluntarily choose are likely to be better tools. Obviously, what is a better tool "in general" may not be for a specific application, as Knauss points out. Many people become highly sensitive to anything which might be contrued as criticism of their favorite tools. That does not necessarily make the criticism wrong. If I were to now put in specific examples of places where one tool is better than another, some people would attack this post on the basis of that alone; most likely a great number if I said anything controversial, or a small number of very vocal partisans if I happened to mention their favorite tool.

It's been my impression, reading his essays, that he welcomes disagreement; I have never communicated with him, so I do not know this for a fact. I disagree with some things he says; I also think he generally has several good points, and his essays have changed my mind on some matters.

Most of Knauss' reply to Graham's essay is a barely-incoherent attack which doesn't address a single point he made (with the exception of the second paragraph, on what a hacker is.) I don't understand why Knauss is so upset; as he rightly points out, whether he's using C# has no impact on whether he, personally, is a hacker. I refuse to speculate on his motivations for this rant.


Oct 1, 2004
6:49 AM  
Jonas wrote:

Well... I also disagree with Graham on being a 'Hacker'. But I also tend to not regard asp-dot-net-forms-java-stuff as being just as 'Hacker-ish'.

Let me put it this way: Coding an application in Postscript has higher hack-value than doing it in Visual Basic. You with me?

Hacking for me is all about making things I recognize do things I didn't think was possible, or hadn't thought about. (And making PC clusters do airline booking is pretty close, together with building the largest web search engine on cheap Linux boxes etc.)

The thing with Microsoft end user stuff is that it's more polished surface than substance. They constantly change their products according to the latest marketing fad. And the latest fancy languages, C# and Java, has both been launched with tons of marketing while being pretty boring and nothing new really.


Oct 4, 2004
8:48 AM  
Dat Guy wrote:

Paul Graham is not a hacker, he is a hack. He thinks the only good programmers come from MIT becuase he doesn't know enough of them to realize most good hackers could care less about getting an a PhD in computer science. How many good CS Phd programers have you ever met? Probably none. I am sure there are some, but I have yet to meet one. The ones I have met and worked for, or had work for me, tend to be bogged down in theory instead of execution. Most analyze the structure of their code more then what they are actually building with it. This might explain why Mr Graham wrote a book on Lisp.

To a hacker the language is important, but FAR less so then the program they are writing with it. He thinks he is a god because he built a web store in Lisp, at the right time and theorized about spam filters (his theories were hardly even imaginative). It's the difference between knowing the path and walking the path. Mr Graham, knows it but I have yet to see any evidence he walks it. If he did, he wouldn't be writing essays, or doing speeches, he would be creating something wonderful.

He got rich from a simple program written at the right time. Grats to him (and thousands of others at the time). However, given this opportunity, a true hacker, would have started working on something wonderful and original. What is he doing? Oh right, revamping the only programming language he has ever really learned, Lisp. Just what the world needs. Does the man have no imagination? I would respected him more if he would attempt to solve a real problem. He loves MIT, why not solve one of MIT's pet problems such as AI? Take it a step further or all the way if it can be done. How about invent something entirely new? How about instead of talking about great programming, actually DO SOME.

It might be to late. Its kinda hard to take anything he says after that essay seriously. Insulting Java programmers without even knowing the language (read his other essays)? Geez, He's not a hacker he is a bigot and a zealot. Get educated Mr Graham. For every Lisp hacker you find I am sure 20 exist in Java, who understand the art of programming just as well. Just because there are more Java programmers doesn't mean what they do is any less elegant or sophisticated.

Mr Graham, put brain in gear before engaging mouth. Predjudice is for the intellectually challenged and the uneducated. If you are a dumb ass, then there isn't much you can do, otherwise try educating yourself. In the mean time, put the mouth in park about Java and anything else you feel like insulting without understanding.


 

Leave a comment





Waxy Links
Ads via The Deck
March 17, 2010
Crowdsourced demographic study of Chatroulette — the info was gathered by Hacker News users
March 16, 2010
Progress Wars — countless hours of fun
March 15, 2010
Piano Improvisation on Chat Roulette — amazing how much creativity the site's inspiring (via)
March 12, 2010
8-Bit Austin — I think I'll use this map to get to Datapop 2010
Spritely, jQuery plugin for sprite and background animation — see also: gameQuery
March 11, 2010
Trololololololo Shreds — some context (via)
Preview of Sword & Sworcery EP for the iPhone — looks unlike anything I've ever seen
Sitby.us — essential iPhone-optimized site for SXSWi session planning
Danc on the release of Ribbon Hero — turning Microsoft Office into a game, with competition against your friends (via)
March 10, 2010
"Play" by David Kaplan and Eric Zimmerman — avatars as Russian nested dolls (via)
Chatroulette Map — I think I'd rather not know, thanks (via)
Steamshovel Harry — not sure how I missed this one last year, metagaming with music by Brad Sucks
El Fin Del Mundo by Alberto González Vázquez — there's so much I love about this, I can't quantify it all (via)
March 9, 2010
Wired Reread, blogging the best ads from '90s-era Wired — also, the complete SPIN archives are on Google Books
Academy Award Winning Movie Trailer — related: McSweeney's categories for the meta-awards (via)
Chris Parnell and Andy Samberg perform Lazy Sunday live — for the first time, backed by The Roots
Adam Savage's pursuit of the perfect Blade Runner gun replica — related: his quest for the perfect replica Maltese Falcon and dodo skeleton
The Panic Status Board — the instant feedback made work more game-like
March 8, 2010
Valve ports game library and Steam service to Mac — Portal 2 will be released for Mac simultaneously with PC, along with "all of our future games"
Maciej Ceglowski on the discovery, loss, and rediscovery of the cure for scurvy — fascinating story of bad science and the unintended effects of new information
March 7, 2010
8-Bit NYC, Brett Camper's videogame map of New York — he's using Kickstarter to expand to 15 other cities worldwide
Sleep Is Death, Jason Rohrer's new conversational two-player game — watch the slideshow for details; I just wish it was on the web instead
Obama appoints Edward Tufte to advise on stimulus transparency — "Maybe I'll learn something."
PS22 Chorus sings Phoenix's Lisztomania — I love how expressive they are
Echo Nest and SCHED's guide to SXSW Music — very nicely done, uses Echo Nest's recommendation engine
GameInformer's Portal 2 exclusive cover story — scans, since it's not on GameInformer's site yet; Valve hired the TAG: The Power of Paint team right out of Digipen
March 5, 2010
Cal Henderson on gaming probability in World of Warcraft — he's collected 118 pets, some of which only drop 1 in 10,000 attempts
March 4, 2010
LiveJournal rewrites outbound links with affiliate codes — looks like the regex was a bit greedy
NYT on Chinese "human-flesh search engines" — very similar to the H+ article on the topic from last year
YouTube launches auto-captioning for all videos — a free, automated audio transcription service based on YouTube should be viable now

Andy Baio lives here. Some rights reserved, for your pleasure.