I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

February 26, 2008

Douchebaggery

David Heinemeier Hansson has a problem with Windows as a programming platform.

While I can certainly understand the reasons why some people go with Linux, I have run all but dry of understanding for programmers that willfully pick Windows as their platform of choice. I know a few that are still stuck in the rut for various reasons -- none of them desire.

I would have a hard time imagining hiring a programmer who was still on Windows for 37signals. If you don't care enough about your tools to get the best, your burden of proof just got a lot heavier.

So if you haven't switched already, stop procrastinating. Get it over with. If you have any desire working for the rising rank of companies building their business on open source technologies, you don't want to carry a liability like that around on you resume. Being labeled a 2005 Switcher is bad enough.

Strong invective indeed, but that's David's style. To be fair, his larger point-- that if you care about open source programming, you'll use a platform friendly to open source software -- is reasonably valid, though I'd expect hard core OSS folks to want Freedom Zero in their operating system as well as the software they build. If I felt that strongly about OSS, I'd actually view people who held on to the platform lockdown of OS X with mild suspicion, myself.

Still, is it necessary to paint with such a broad brush? To imply that programmers using Windows "don't care enough about their tools to get the best"? I have a pretty thick skin based on the psychic scars of the thousands of petty internet religious wars I've participated in, and this one even ruffles my feathers a little. I take issue with David's claim that, when it comes to computers and operating systems, there's any "best" anything. In my considered opinion, they all suck. Sure, there are tradeoffs, pros and cons, strengths and weaknesses. But an objective best? It's all relative.

Before you jump all over David, do read his two followup posts (one, two) on the Ruby mailing list, which explain his position in a more coherent, less incendiary way. The argument that 37Signals wouldn't hire a programmer running Windows has as much to do with culture as anything else. It's like showing up to a job interview with Coca-Cola casually sipping a Pepsi. David, unfortunately, felt the need to turn this job requirement into a statement of taste. He declared Coca-Cola the morally and aesthetically superior choice, instead of the simple preference for one type of sugar water over another that it really is.

That post was written in March 2005, but David expressed the same sentiments in a 2007 technology prediction piece.

Apple will continue to trounce everyone else for the preferred geek platform. The stigma of being a Web programmer still using Windows will increase.

Here's what I don't understand about statements like this. They have exactly the opposite effect that the speaker probably intends. There are two possible reactions:

  1. Wow, David's right. I made the wrong choice in my career. It's high time I looked into OS X and Rails programming. They sound great!
  2. F****************k you.

Guess which reaction is more common? Actually, there's no need to guess, as I can guarantee every Windows programmer reading this is thinking #2 right now. As an evangelist looking to increase adoption of your platform, this is a remarkably poor strategy. When has abusing people into agreeing with you ever worked?

Of course, as David has said many, many times, he doesn't care whether we agree with him or not. Well, not in so many words, but you get the idea:

David Heinemeier Hansson: Fuck You

I actually admire this sentiment, as I've seen too many people get so wrapped up in what other people think of them that they can't bear to have an original opinion about anything. But if you accept the premise that this kind of statement won't change anyone's mind, and is ultimately ineffective-- even counterproductive-- what are we left with? What purpose does the statement "stigma of being a Windows developer" serve? I can only think of one: David gets off on putting other people down.

And that makes him kind of a douchebag.

Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags.

Samurai Shodown 2 character select screen

I used to be an avid Samurai Shodown II player. I played as Earthquake, the impossibly fat, impossibly Texan ninja. I got so good with Earthquake that I could beat all comers in the small Boulder, Colorado arcade I frequented. This led a frustrated player to remark:

You suck! You're kicking our ass with the worst character in the game!

Indeed. There's nothing more satisfying than kicking someone's ass with the worst character in the game. After playing this remarkably well balanced fighting game for a while, I realized that every selectable character had their strengths and weaknesses. Playing well meant understanding your character and maximizing your strengths while exploiting your opponent's weaknesses. If you were clever and patient enough, you could beat any character with any other character. That was skill.

Don't waste time arguing about the character select screen. Results speak loudest. Show the world what you can do in your programming environment of choice.

[advertisement] Don't denormalize your data just to write reports! Data Dynamics Reports can use your existing data relationships when creating reports.

Posted by Jeff Atwood    View blog reactions

Comments

Great post. To be honest, I'm getting pretty sick of all the Mac-touting Rails programmers with their holier-than-thou attitudes preaching about how they're better than everyone else.

In case you're one of them, here's a tip: none of us are listening because we're busy getting things done in our own environments. :P

Bob Somers on February 27, 2008 05:14 PM

Amen..

Brandon on February 27, 2008 05:18 PM

Laugh out loud indeed. This is one of your better posts in recent memory. Keep up the great work...

Brian on February 27, 2008 05:19 PM

Amen.. That and there are some of us in the Windows world who choose to write with Windows (.NET) because they can influence and help other developers. Helping them to find the find joy in object-oriented programming, know of and about patterns, and generally be a benefit to the community as a whole rather than trash-talk there way into elitism.

The things that make a language great are the people sitting behind the screens. If you can get the best .NET developer and the best Ruby developer in the same room, I beat you that both are equally good at developing.

Those that think great developers are an attribute of a genetic gift (or social impairment) and that great developers can not be taught into greatness need to take that same argument and apply it to language elitism.

It doesn't matter I never found the time to play with Ruby, but that certainly doesn't mean I would suck at it. Besides, languages are only a small part of the equation, I'd hate to be labeled 'the .net guru' or the 'ruby guru' because i want to be 'the guru' regardless of language choice.

In the end, all languages die, the program you wrote today will be re-written in a 'better' language tomorrow. To think the lines of code you write today will be around 5 years from now, or even 2 years from now is a naive thought...

So great, program in Ruby on the latest version of Fedora, but let's see what you can do with your 'perfect' language. In the end all someone really cares about is what they interact with, not what language it was written in.

Terrance A. Snyder on February 27, 2008 05:21 PM

Great thoughts there; since when did the tool determine the talent of the artist?

Matt on February 27, 2008 05:23 PM

Heh, once you go Mac, you don't go Back. :)

/touts OS X Rails-Love :)

(Everything just works perfectly together)

On windows, you can't take advantage of a full unix enviornment.

On linux, you can't take advantage of a full commercial, professional enviornment (photoshop, etc)

On OS X you can do both. That's why it's an amazing developer choice.

And don't mention VMware, that shit is not native speed.

Daniel Fischer on February 27, 2008 05:23 PM

Please remember that DHH's famous "fuck you" slide was done at a Rails conference and clearly done as a mid-presentation "rah, rah" for the Rails tribe in the audience. It's also self-evident that "the DHH 'tude" has been wonderfully productive at generating press for Rails & 37Signals.

DHH does come across as an ass, but I'll take a politically incorrect (even arrogant) ass over a spineless sheep anyday. For the record, my development platform of choice is Linux and I care a good deal about Freedom 0.

Keith Williams on February 27, 2008 05:24 PM

No one likes douchebags, even us Mac users (hell, to those of us who are long-time Mac users sometimes the new converts end up the most annoying... a bit like some new, and hence militant, non-smokers that way I suppose).

Anyway, probably all full of valid points save for this one, if I may be so bold:

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

Might I suggest a way that more accurately fits with the point I think you're trying to make in this post would be:

"Which also means when you're using Rails and OS X, you're using the platform of choice for a douchebag"?

Else you're going to hurt my feelings calling me a douchebag without having met me first ;)

Chris Cummer on February 27, 2008 05:26 PM

Hey Now Jeff,
@ David - #2!
Coding Horror Fan,
Catto

Catto on February 27, 2008 05:31 PM

If web development, specifically Ruby On Rails development, is the only "cool" career to be going for, I guess that all of us poor saps that develop fantastic fat client apps where web apps don't fit are totally deluded?

Very pimly-adolescent stuff! My computer is cooler than yours so nah!

Jamie Osborn on February 27, 2008 05:33 PM


From a market-oriented point of view (you know, number of users who will benefit from your work) the topic of which platform is best for development is as relevant as the topic of which motorbike is the best (Harley or Japanese) to a dolphin. The only thing that actually matters in all of this is under which environments are our users most willing to find the greatest benefit in what we do.

Anything else is an exercise in futility.

Louis-Eric on February 27, 2008 05:37 PM

Classic. Absolutely classic. Jeff you must have been giggling the whole time you wrote this.

Man Crush!

Now let's see if DHH posts a response...

Rob Conery on February 27, 2008 05:39 PM

I don't get why people have to get all high-and-mighty about their platform of choice. It's a preference, and its choosing the right tool for the job... if you have a choice.

Personally, I think Visual Studio 2005 rocks. As does Eclipse. I haven't done any Linux programming, but I'm sure lots of their tools are great, too. Does it really matter?

Pick a decent tool and kick some ass with it. Save your religion for church.

ddoctor on February 27, 2008 05:40 PM

Hey Jeff,

Couldn't have said it better myself!

Very well written post :D

Frazell Thomas on February 27, 2008 05:40 PM

Bad day?

Rimantas on February 27, 2008 05:41 PM

No matter what you think about DHH's comments, you have to admit that a large proportion of the Windows platform programmers out there are on the platform ONLY because of the market not because the platform is technically superior in any way.

thunk on February 27, 2008 05:43 PM

Totally with you. I have a couple Mac laptops nowadays and it makes me want to apologize every time I see some one notice. I went to school with a bunch of kids from Europe and for the longest time I tried to tell myself DHH was just expressing himself poorly, that he couldn't possibly be as divisive as he comes across. But I think he is, and I think his attitude is why the Rails community is such a wonderfully friendly place for noobs and non-Rails devotees. It's fun to get talked down to by some 17 year-old with 1/100th the experience of you just because you don't know the framework that he uses as a crutch.

I just started playing with Rails again (http://www.thosecleverkids.com/blog/2008/02/23/getting-started-on-rails-again/) and it's like Groundhog Day. I've come to feel Rails is going to turn into the new VB (no offense, Jeff)/ Powerbuilder, where it's such a robust framework it gets overwhelmed by the noobs. Which would be fine, because it seems like the majority of people using it day-to-day are so wrapped up in working with Rails they can't be bothered to learn how to make useful, usable apps. They seem to be more dismissive of icky users than the average.

Framework of choice for misanthropes since 2004.

Tom Clancy on February 27, 2008 05:48 PM

As a linux convinced user, I do admit I can't stand people not understanding that OS choice is not revelant. Coding as not much to do with OS, but with pleasure. If you like difficulties oops windows, stick with it, it wont prevent you from doing great things.

Anyway, have fun. The rest is bullshit.

jul on February 27, 2008 05:48 PM

Just when Atwood was getting into a rut of ho-hum posts, we get this gem dropped on us. The first time I read DHH's sentiments I got the impression he was saying "I'm a better programmer, and smarter, than the smartest developer who works on the Windows platform." What a douche sentiment. Developers who leverage F/OSS to their advantage are smart. Developers who are religious about F/OSS are hippies.

Rex on February 27, 2008 05:50 PM

Well spoken, Jeff! Amen * 2

Steven Rogers on February 27, 2008 05:51 PM

DHH's statement about the best OSS tools is a little strange. I'm a Python developer and I use Emacs as my editor/IDE. One of the things I love about the combination is it works almost identically on Windows, Mac and Linux.

I switched to OSX about 2 years ago, but not because of the "great OSS tools." I switched because I got tired of Windows and felt OSX had surpassed it for the features I cared about. It's great that it has a strong enough developer community that popular tools get ported nicely to OSX, but it's not like they work _better_ under OSX. Last time I checked C-x C-s still ran save-buffer on all platforms in Emacs.

I find the extremist ramblings of the Ruby/Rails crowd a little tiring. Yeah, Ruby is a cool language and Rails is a nice framework, but it's not like they cured cancer. When I chose Python over Ruby a couple of years ago, one of the big reasons was the community - the Python guys seemed more interested in getting things done and helping others along the way. The admittedly vocal minority in the Ruby/Rails crowd seems to be interested in hearing themselves talk.

David Avraamides on February 27, 2008 05:51 PM

Sorry, but I agree with DHH here. I've been working on Windows-specific projects for a while now, and I have to keep a PowerBook handy just to maintain my sanity. It's not that you can't do cool things on Windows, it's just that there really is a stigma that comes with being a Windows developer, and now I know why.

It was all C# at work for about a year. Then, suddenly, it all changed. For the last 6 months I've been working in a different, less illustrious, decidedly Windows-only language... one that is turing complete and which I know full well can "do anything." But, still, I am downright *embarrassed* to tell people which language I've been working in.

That's right. I'm embarrassed to admit that I work in VB.NET. That's the stigma of being a Windows dev right there. At some point some major project in a bass-ackwards language is going to come along, and you're not going to want to highlight it on your resume.

If I didn't hack Ruby and Scheme and some more bare-metal code on OS X I would have approximately *zero* geek points left at the end of this latest stretch of my career.

John Cromartie on February 27, 2008 05:52 PM

I wish I could give you a standing ovation for this post, and that's not something I say lightly. The one thing that has always upset me about most geeks is their ridiculous attachment to one thing or another. When I was writing simulation software we used QNX because it's a real-time OS, and hardware drivers were written in C. When I was writing a 3D graphic software I used Windows because every video card supports windows, and the code was C++. Now I write web-based internet applications, so I use Ubuntu at work, and work all day in PHP and JavaScript.

You do the best job by using the best tool for that job. Or to put it more bluntly, why the hell would you use a screw driver to bang in a nail when there's a hammer right in front of you?

Chris Nasr on February 27, 2008 05:54 PM

Excelent post.

However, I have to wonder what inspired you to write it.

Eric Haskins on February 27, 2008 05:55 PM

You know you nailed it with this post. Making mincemeat out of DHH is no small feat. But throwing down the 'd-bag' gauntlet? Legendary.

Alan Turing postulating the idea of 'univeral computing'. It doesn't matter if you are using vaccuum tubes, or silicon, or germanium, or qubits or DNA. A bit is a bit is a bit. Your preference of 'developer tools & platforms' matters even less.

Someday we'll get past hardware and software altogether and hack the universe's own capacity for computation. After reaching this 'singularity' we may have genuine reason for this sort of neo-tribalism! But until then we should be working together on solving the big problems at hand.

Nicotine Caffeine on February 27, 2008 05:55 PM

His statement sounds EXACTLY like something IBM would have said in 1985. Only a mindless fool would have cheered such arrogance then and only an utterly braindead one would ever want to sound like IBM circa 1985 now.

The dumbest part about the statement is that what it also means that if you use OS X you have a lower burden of proof. What a great message! "If you use OS X you don't have to be as good as the guy down the street using windows." How terrifically insulting! I can't imagine why I'd want to work somewhere that expects less of me because of the OS I use. Personally I favor results over tools. I don't care if you use a twig and some bubble gum - if your app rocks then it rocks.

Danny on February 27, 2008 06:00 PM

David Heinemeier's comments just prove what I knew already... he's not as smart as he thinks he is. He's just like all the OSS zealots out there... the more they badmouth the alternatives to their choice, the more important and smart they feel. It's just their nerd version of a bomb vest.

Eddie on February 27, 2008 06:01 PM

Being a douchebarge is about elitism, pure and simple. It's no way to discuss the technical merits (or lack thereof) about anything.

You can have a strong opinion and still respect someone else's. Know and respect thine enemy. Calmly explain how and why your viewpoints differ, and you might turn them into a friend.

BSD on February 27, 2008 06:02 PM

Good article, Jeff. By the way, how long have you been using the term "douchebaggery?"

Click my link to see why I ask. ;-)

Jeff O'Connor on February 27, 2008 06:04 PM

Great article! Sometimes I still lose myself finding the best platform for my work, until I realise that they're all probably very similar (with minor differences), and I should just jump in and muck around first. I don't mean this only in a software context, either.

"And that makes him kind of a douchebag.

Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

I really hope you were trying to be ironic/funny here, I laughed so loud when I read that... it would suck if you really mean it =P

kureshii on February 27, 2008 06:04 PM

I thought it was well known that Mac users are douchebags, as so eloquently expressed by Charlie Brooker: http://www.guardian.co.uk/commentisfree/story/0,,2006031,00.html (though he doesn't use that precise term).

More seriously, I do find it odd that people who view Microsoft as 'teh evil' (these people usually spell it M$, another clear demonstration of douchebaggery) because of their 'closed source' mindset often seem to embrace Apple, despite Apple being the most closed and proprietary of the major platforms. I have a Mac at home (which I don't use much) and several flavours of iPod and while Apple do make nice hardware, their love of DRM and closed platforms does make me a bit uncomfortable with their products.

Matt on February 27, 2008 06:11 PM

Not your best post by a long shot, Jeff. Let's look at all the people applauding you for calling David a douchebag. Right or wrong, do you see how much people enjoy watching you slam someone they don't like?

So, let's think about this for a moment. How is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?

Let me guess: Because you're right and he's wrong? That seems dangerously thin, kind of like arguing that torture is ok provided you're torturing bad guys. Being a Good Guy means being above whatever it is you accuse bad guys of doing. That's called the Moral High Ground, and morality is *orthogonal* to being technically right or wrong.

I expect better from you in that respect.

Now on to Mac vs. Windows. What I often hear from Windows users are statements like "I take issue with David's claim that, when it comes to computers and operating systems, there's any "best" anything. In my considered opinion, they all suck. Sure, there are tradeoffs, pros and cons, strengths and weaknesses. But an objective best? It's all relative."

That's what makes you a windows user: an ambivalence to the merits of one vs. the other, a belief that they are all more-or-less the same, so why not go with the cheaper one or the more popular one or the one they install at work.

That doesn't mean you're wrong, of course, but realize that the people who choose OS X do so because they (we, actually) don't believe they are all more-or-less the same.

Just as we don;t believe (surprise surprise) that all programming languages are more-or-less the same. or that all web frameworks are more-or-less the same.

But guess what? With three billion people on the planet,w e are not all going to have the same perspective. Thank goodness for that.

Reg Braithwaite on February 27, 2008 06:11 PM

> To think the lines of code you write today will be around 5 years from now, or even 2 years from now is a naive thought...

Given the code bases I've seen, that sounds naive to me. Or you've only been exposed to really crappy code.

Oh, and try this on a few systems:
$ ident /usr/bin/* | egrep ' 19[0-9][0-9]/' | sort -u | wc -l
58

Larry on February 27, 2008 06:12 PM

Wow - it is interesting - platform/tool zealots.

Attempting to prove the superiority of RoR by saying the other option brings a stigma doesn't endear RoR as an option, merely that the other option may not be an option to continue with, the difference is subtle - and to do it in a confrontational, possibly offensive, manner only makes the option you're attempting to champion seem less attractive.

And as for the "stigma", dear Lord, I wish I knew ASP.NET, dozens of jobs come across my desk every week that I could go to. More .NET jobs exist here than Java...

Kaos on February 27, 2008 06:16 PM

Honestly, I can get a bash shell on any significant operating system (Cygwin works fine for me), and I can get Emacs for any platform. As far as I know, Vim runs on pretty much everything as well. With those I can develop anything I feel like.

I work just fine with Visual Studio, but I don't really care about it or Eclipse one way or another. All that stuff is just personal preference anyway. And I'm not crazy about the Windows environment, but Gnome on Ubuntu is the only one of those I've ever really liked -- the OS X environment doesn't really float my boat either.

On the other hand, I *love* the combination of languages I can get in .Net. F# is the most productive language I've ever used (for me), and I quite like IronPython as well (among other things, it's a great language to generate). Given this, it makes life easier to develop in Windows. If you prefer Ruby, or Haskell, or Arc, or some other language -- cool for you. Go use whatever tools make sense for you and the language you develop in. And yes, I've tried Rails -- I built out a decent-sized website in it. It's a good environment for some types of things, but it would be pretty useless for what I'm doing now.

DHH isn't an idiot for picking the tools he has -- there are lots of combinations of tools that work for people, and the only way you can really fail is to refuse to ever take stock of the alternatives. But he *is* an idiot for thinking that nobody who uses a set of tools could possibly know what they're doing.

Andrew Norris on February 27, 2008 06:23 PM

Last I checked (personally) there were almost 7 billion people on the planet [http://en.wikipedia.org/wiki/World_population]. Now I'm wondering what Reg knows - are 4 billion of them evil robots? An advance wave army of the Martian federation? The undead?!?!

Jon Galloway on February 27, 2008 06:24 PM

Personally, I think you need to have serious self-esteem issues to be offended by DHH.

Besides, everyone knows that real programmers use butterflies: http://xkcd.com/378/

rich on February 27, 2008 06:26 PM

Ha ha, I'm an old fogie, I haven't been keeping up!

Ok, 3 billion with unique viewpoints and 4 billion (pick your insult) Windows/Mac/RoR/.Net users?

(ducks!!)

Reg Braithwaite on February 27, 2008 06:26 PM

DHH and his ilk are a perfect example of what's wrong with programmers. These are the people that spend more time arguing about platforms than writing code.

If you read the Google Groups posts, it seems that there is a lot of backpeddling on his part. I think he was expecting a rousing cry of agreement from the hordes of Mac/Rails users. Unfortunately for him, there are more windows developers in Massachusetts than Ruby developers world-wide.

Ian Muir on February 27, 2008 06:34 PM

"Still, is it necessary to paint with such a broad brush?"

Wait a second. Just because _one_ douchebag vocally uses this combination, therefore all others who happen to use this combination are lowlifes as well?

And who's painting with a broad brush?

Aaron on February 27, 2008 06:34 PM

Reg,

> How is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?

Because DHH went out of his way to call a whole bunch of people incompetent just for making different technology choices. Is calling someone out for being offensive really equivalent to being offensive?

> That's what makes you a windows user: an ambivalence to the merits of one vs. the other, a belief that they are all more-or-less the same, so why not go with the cheaper one or the more popular one or the one they install at work.

What makes me a Windows user is not believing them all to be more or less the same, but acknowledging that they each have different strengths for different purposes. For me, the tools I use prefer a particular platform. What I *don't* think is that there is a single supreme platform for *all* possible purposes. Personally, if I didn't have a reason to be on Windows, I'd be on Ubuntu. Or maybe I'd eventually switch to ratpoison or XMonad on Debian.

> But guess what? With three billion people on the planet,w e are not all going to have the same perspective. Thank goodness for that.

On that, I heartily agree. :-)

Andrew Norris on February 27, 2008 06:36 PM

Samurai Shodown II !!!
I loved that game - Cham Cham ftw!
I'm totally going to have to find a MAME rom for it now.

Phil on February 27, 2008 06:36 PM

daniel//
how fast is natively fast to you?
Oss running on VMWare certainly should be 'indistinguishably' fast in relatively machines with plenty of ram.

Woong Bin Kang on February 27, 2008 06:48 PM

Andrew:

"Is calling someone out for being offensive really equivalent to being offensive?"

Calling someone out for being offensive is not taking the High Moral Ground. And when calling one person out includes describing Rails and OS X as "the platform of choice for douchebags," I have trouble understanding the fine distinction between whatever David did or didn't say three years ago and what this post is saying today.

Reg Braithwaite on February 27, 2008 06:48 PM

I was looking for a way to say what Reg Braithwaite said first... golden!

Jake Good on February 27, 2008 06:49 PM

As others have pointed out, most Unix tools are available on Windows, so the argument that Unix is a superior development environment because of its toolset falls flat. I think a stronger argument for Unix is what it does *not* have rather than what it has, though Unix advocates seldom take that position.

John on February 27, 2008 06:49 PM

Another great post!
Your on a rush this week, keep em comming

BoredGuyAtWork on February 27, 2008 06:51 PM

Andrew:

And of course, I have difficulty distinguishing between my comment here and Jeff's post--if I wanted to take the High Moral ground, I would have given Jeff my feedback privately!

Reg Braithwaite on February 27, 2008 06:52 PM

*sigh*....yeah, I can see his point...there's no OSS for 'windoze'....except for places like sourceforge, lifehacker, the quickmacros.com forum, all my buddies that code and pass around their code....oh, and i can still play halo on my laptop....*sigh*....i sure wish perl and php ran on windows...oh, wait...THEY DO....*sigh*....douchebag does seem to sum up the troll doesn't it....*sigh*....i guess it really doesn't matter how old the internet gets; it's really a question of how 'old' the people are that are writing on it....Shakespear was wrong; don't start with the lawyers...start with the people....but then i guess if you killed everyone you'd end up with only one guy on the planet and there'd be no OSS by definition cuz he wouldn't be sharing it with anyone cuz he killed them all....*sigh*....why do i even bother...please Lord Jesus come back soon!

keng on February 27, 2008 06:56 PM

I find the idea that "It's all relative." extremely suspicious. I think that people who continue to use Windows surely and objectively have bad taste (http://www.paulgraham.com/taste.html), and those are not people that you want to hire.

jtin on February 27, 2008 06:56 PM

Jeff,
Started great but fucked up at the end, you just made David's own mistake: generalization.

Calling douchebags to all RoR developers on a Mac is as bad as David calling all Windows developers "inferior" for not using the "best tools".

Each developer picks his/her own tools, whatever makes them happy, period.

PS. I had to digg this:
http://digg.com/programming/Douchebaggery_Starring_Jeff_Atwood_vs_David_Heinemeier

Paulo (jasz) on February 27, 2008 06:59 PM

Funnily enough Ruby+Rails - it's for websites, where the browser is the platform. With websites, without looking at the url or telltale signs in the markup, you'd be hard pressed to tell me what the code is running.

I'll bet in Ruby you still have to code ugly workarounds for browser differences.

TheyAllSuck on February 27, 2008 07:01 PM

It takes balls and self assurance to have and state an opinion as baldly as the rails faithful do.

It takes even more self assurance and maturity to realize that you're really not all that and a bag of chips, gracefully admit as much, and move on doing amazing things with whatever platform (cause, field, toolset, os, religion) you've chosen.

Think...oh...maybe Lee Iacocca vs. the Dali Lama?

peace
-aaron

aaron on February 27, 2008 07:02 PM

In the end, simply ask yourself: does it WORK? Because "all that other bullsh**t is here today--and gone tomorrow."

[quoting some song I've long forgotten]

Nicholas Piasecki on February 27, 2008 07:04 PM

The problem here is that people care too much about what other people think of them. So what if somebody thinks you use a shitty development platform? Why do you care what they think? Stop caring!

This blog post makes you look like a whiny little kid. Grow up and stop having a nervous breakdown every time somebody criticizes you.

James Justin Harrell on February 27, 2008 07:07 PM

jeff if i knew you played ss2 i'd gotten together with you for couple rounds back in the day.. my ukyo has been undefeated. cough, hmph.

Jin on February 27, 2008 07:09 PM

After programming on almost everything from mainframes to windows, linux, and other boxes along the way, I have to say one thing: The only thing that really matters is that the code does what the users want it to do.

Jeremy on February 27, 2008 07:09 PM

An extension of the platform wars by proxy. Cool kids use Macs/OSX; Dorks use Windows. Although Jeff's terminology usage at the end of his post may offend some, it brings the point across.

Of course, anyone who are addressed with three names must naturally exude doughbaggery.

JJT on February 27, 2008 07:11 PM

The difference in platforms is no more important than the difference between colas? That's sheer intellectual laziness. You should have stuck with the message that diplomacy is a relevant and useful skill.

Josh on February 27, 2008 07:12 PM

Jeff,

Great posts. I continue to marvel at your command of this writing format and use you as an example of how to do a blog right.

Reg,

I'll concede that there is a sizable portion of the Rubyist/Mac OS community who deeply care about the technology and get pure satisfaction from working on their platform.

In return, please concede that an equal sized group in that community who care nothing about the platform and are just in it for the psychological buzz they get from feeling superior than others. It is the geek version of high fashion.

The trick is figuring out a way to sort out who belogns in which group, because the pure passionate ones enrich us greatly while the egomaniacs suck the life force out of us.

Unfortunately, this is problematic since many people who are truly engrossed in what they are doing don't really enjoy the flame war aspect of geek life. They'd rather just be left alone to practice their art. That leaves a very few who are pure in their passion and are able to communicate it in a way that is not insulting and condescending to others.

I am a huge fan of your blog and believe you are in this small minority of passionate people who can communicate their message in an intelligent and mature way.

Unfortunately, despite the man's brilliance, DHH just seems to be a poster child for the other more obnoxious group. That's why he drives people nuts. Whether it is true or not, he reminds us of all the people we've met who may or may not be intelligent, but definitely have the emotional IQ's of protozoa.

Russell Ball on February 27, 2008 07:14 PM

"If I felt that strongly about OSS, I'd actually view people who held on to the platform lockdown of OS X with mild suspicion, myself."

People like David who talk about "building business on open source technologies" and then use OS X are just Flosstitutes.

yoyoma on February 27, 2008 07:18 PM

Reg,

> And when calling one person out includes describing Rails and OS X as "the platform of choice for douchebags," I have trouble understanding the fine distinction between whatever David did or didn't say three years ago and what this post is saying today.

You're right -- I forgot about that statement. That was certainly as uncalled for as what DHH says.

> And of course, I have difficulty distinguishing between my comment here and Jeff's post--if I wanted to take the High Moral ground, I would have given Jeff my feedback privately!

Well, I think you may be taking scruples a bit far here -- I think it's healthy to disagree in public, though as I said above, I think it went over the line here on the point you called attention to.

Andrew Norris on February 27, 2008 07:49 PM

I've been following your blog for well over a year now, and I think this is my favorite post of yours. I especially enjoyed the Samurai Showdown part.

Mike on February 27, 2008 07:52 PM

I see the 'Amen' replies in the comments...

It is creepy if you group OS fanatics with religious persons.
Both trying to sell something that is pure 'user' preference.
Members from the Church of Linux screaming blasphemy every time someone loads Windows.

Tyro on February 27, 2008 07:57 PM

It doesn't matter what tools you use, your choice is going to piss off *someone*.

Orange on February 27, 2008 08:05 PM

Wow ... I code in Rails and do it from a Mac. That makes me a douchebag?

Real good job of exhibiting exactly what you're supposed to be ranting against, douchebag.

Chris on February 27, 2008 08:06 PM

Wow. This is actually really hard for me to write as due to your over opinionated, banal and simplistic writings in the past I have always considered you a bit of a douchebag.

This article, although is starting to change my mind. I found myself in almost complete agreement with what you have written.

I have to wonder - does that make me a douchebag?

Malcolm Young on February 27, 2008 08:11 PM

@Jeff Atwood

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

Oh give me a break. Dude, I personally dislike using Macs (the internals of that OS are ... a quagmire). I have had ... well... let's call them "interesting" experiences with Rails apps. Despite my displeasure with both systems, to say that it's the platform of choice for a douchebag is just flat out inflammatory.

As I said on your last blog post, you are becoming more and more like a muckraker. I can't exactly pinpoint where you went from blogger to pundit, but I gotta say, the change does not look good on you.

Collin Cusce on February 27, 2008 08:11 PM

"it is a poor craftsman who blames his tools"
Good or bad tools.

Doug on February 27, 2008 08:19 PM

Follow the money. That's what it is all about. Rants like this one are pointless. We work in the environment that pay the bills. The tools aren't important. The results of our efforts are. You must have jumped out of bed on the wrong side. Proving that one operation system or programing language if better than another is pointless.

tacodave on February 27, 2008 08:21 PM

Reg's first comment made this very terrible post worthwhile.

Brett on February 27, 2008 08:22 PM

Programming on Windows using open source technologies is at an objective, technical disadvantage to OS X and Linux. Try to make Git work in windows, or see how screwed up vanilla SVN can get on a Windows box. Try to run apache on windows, when you need to compile modules. Cygwin is a mediocre experience at best. Try to get X11 working in a stable way because you need kcachegrind to do performance metrics. Developing in Unix, especially for web applications, it at such a HUGE advantage because the production environment is Unix, that this whole "it's all personal preference" stuff is total BS. There are huge parts of the production stack that are demonstrably inferior while running on Windows.

Whether OS X is easier to use, or more aesthetically pleasant, or whether there is more innovative shareware running on it (think omnigraffle, omnifocus, quicksilver, etc.) -- this is all subject for debate (although I believe a fair analysis will show it's not equally balanced pros and cons, one is superior). And that's not to say that windows has nothing going for it. I mean, C# and F# are both interesting languages and LINQ is ridiculously awesome. But give me a break - it's "all a matter of personal preference" is the often last resort of someone committed to something inferior.

nick kallen on February 27, 2008 08:23 PM

No Chris, you're misreading.

If you were a douchebag, your platform and programming language of choice would be Rails on a mac. But just because you program in Rails on a mac, doesn't necessarily make you a douchebag.

But it doesn't mean you aren't either.

Douchebag.

Another Chris on February 27, 2008 08:23 PM

He made a good point, just pointing out the common trolling. I own a macbook one windows pc for gaming and another laptop for my linux pleasure. I enjoy all of the different os's. At work I do IT for windows. When I feel like coding and not using a script I use linux. When I want to surf the web and do chat and music I do mac. They are all great for what they are. I don't think one enviroment is better then the other. In this day in age and in any IT center I think you need good experience on all systems. Os X wouldnt be as fun for me if I hadn't develed into linux first.

sifrx on February 27, 2008 08:31 PM

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

Can't anyone take a joke? You all need to quit taking yourself so seriously.

...on second thought, if you took the time to take offense to Jeff's post and comment on it, maybe you are a douchebag afterall...

Scott Stocker on February 27, 2008 08:34 PM

Interesting. In 2005, Dave was clearly a few years behind. This decade has seen such a massive, overwhelming explosion of free and Open software and tools for Windows, and indeed all major platforms, that his standpoint is simply untenable.

A good programmer gets things done no matter what his tools are -- the best programmers get things done in SPITE of their tools.

Mark on February 27, 2008 08:36 PM

Jeff,

In my opinion, the guy expressed the same opinion you expressed in your posting on 11/25/07 "The two types of programmers". This is all about "I am better than you".
Does this make you a hypocrite?

Rami on February 27, 2008 08:36 PM

boring. this is classic dhh, and by classic i mean old. this was ages ago. get with the times...

speaking of the times, it's 2008. the fact that a) the best version of windows around is from 2001 and b) the development tools for it are like having metal spikes on your keys really makes what dhh says hard to argue with.

obviously you need to take his comments in context, he's talking about web development... so that leaves out 'applications' in the traditional sense. and when looking at it that way, well... let's just say that while he wouldn't hire a windows web programmer - i would agree in that i would definitely not take a job for a company that was run by windows people either.

it's no shocker that apple sucked and linux wasn't ready for all of the 90's, but really, it's time to give in here people... gaming is done on consoles, web stuff is platform independent - essentially, if you aren't (as dhh says) stuck doing windows development for some backwards corporation then lets get all these wars over with!

it's nothing like coke vs pepsi, it's like all of the sudden your t-shirts aren't made out of paper anymore, now it's fabric! remember the day you got your first scroll-mouse? yea, like that. you can justifiably say that your scroll-wheel mouse is better than the old non-scroll-wheel mouse... for anything that requires scrolling! and that's exactly what's happening here. _any_ platform is better for web development than windows at this point.

i once tried to update a client site using one of their in-office windows boxes, i fiddled with putty and ie6/some freeware garbage ftp program and other stuff for an hour, told the client i wasnt going to charge them for that and i'd be right back. half an hour later i was doing the work on my laptop in their office with much less of a headache. it's as simple as that... and, yea, yea, what a fanboy, etc... but i only switched, as dhh also mentions, in 2005 - and, believe me, for good reason - and to my benefit.

ryan on February 27, 2008 08:47 PM

If you judge an entire community by it's most brash and vocal 5%, then every platform or text editor or operating system is used only by douchebags.

Beech on February 27, 2008 08:49 PM

1. I totally understand DHH's point
2. I totally disagree with everything in this Post, except the last part - the samurai showdown metaphor
3. I am a very long time windows user

I recently installed Ubuntu and made me comfortable with it's file system and package management system for starters. Everyone who saw both worlds must confess that the windows part is inferior here. Yea it works... MAYBE even faster, but as a programmer transparency and clean design are more important to me. And that's where UNIX shines IMHO. Nearly everything is configurable in a simple text file, stored in mostly logically places. The Windows Registry is binary and only viewable with a GUI tool.

And yea, all programming languages are theoretically equal in power, and propably the best coder in C# is as good as the best coder in Ruby. But at the end of the day, I bet, that the Ruby guy was more productive AND had more fun!

I came from Java, and Ruby is so much better to write (read: cleaner, less code, more self documenting)! Sure every language/OS has it's advantages, but i'll sure stick to Ruby/Unix instead of Java/Windows, if I can!

And last but not least: Why do a lot of people just don't get DHH? I read a lot about him beeing arrogant and stuff. I went through some of the actual posts/interviews/presentations and really can't understand that. Actually that "Fuck you"-thing was really funny.

Soleone on February 27, 2008 08:49 PM

Yeah, I'm getting a bit sick of this shit, too, and I hate doing dev work on Windows.

I'm currently doing RoR work on linux because despite the huge Mac following I'm not actually that interested in switching over.

"It just works" is a decent statement to make about Mac when it comes to average home use, but it has some major shortcomings for serious development work.

Rails devs won't come up against a lot of these due to massive support for the platform from the ruby and rails world, but venturing outside of these can be a real pain in the arse. Although support of unix OSS is touted hugely by many switchers, if you're using anything particularly new it's likely that the darwin ports are going to be well behind the ones available in almost any linux distro's default repository (Haskell, for instance, requires all kinds of dicking around on OSX, but has nice, up to date packages for linux).

If you really care about the tools you use you'll actually evaluate them rather than looking for some sort of panacea. Fuck you DHH.

drinkingbird on February 27, 2008 08:49 PM

On to another topic... What is this Samurai Showdown? And where can I try it??

Reg Braithwaite on February 27, 2008 08:57 PM

Holy War, Holy War nonwithstanding… …some thoughts…

1. Yes you can run *nix tools on Windows. You can scrub the floor with a toothbrush instead of a mop too… …I've used Cygwin and Linux and now OS X and there is simply no comparison to working on a *nix machine and having access to both Apache as it exists on server environment + CLI shell power + proprietary graphics tools (i.e. Adobe). Cygwin is an inelegant hack in which you'll spend frustrating moments hunting down why a given package is not working right or quirky behavior fostered from running a "simulated *nix" experience.

2. If your target server platform is Windows, then working w/Windows is a no-brainer. But if you're going to do LAM(P|R) development, you're depriving yourself of available tools. While no fan of DHH and Rails Kool-Aid quaffers, that is the point of his statement about working for 37Signals. They do Rails applications on F/OSS server platform so Windows really doesn't make sense.

3. And if you are locked into Windows realm for web application development, Windows is going to be your sole focus as your deployment options are limited to Windows. Not so with F/OSS tools — while development is better done with computing machines in the same platform, its customer base is wide open to any platform.

4. While I've read some really good stuff here, this is a low point for the site…

Naum on February 27, 2008 09:08 PM

>>>Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags.

Now, see, as soon as I read this I expected to see some qualifying statement about how absolutely funny and ironic you were being. As it stands this is even worse than DHH's original comment. At the very least he didn't resort to name-calling.

I'll quote you: "is it necessary to paint with such a broad brush?"

Honestly, usually your posts are insightful and interesting. What the hell is this? Just another bloody religious war you claim to hate so much. I'm amazed you could even overlook it. So.. Congratulations, you've sunk to his level. You're my hero. See how stupidly easy it is to drip with sarcasm and disdain?

Andrew on February 27, 2008 09:19 PM

> How is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?

It's different because I am criticizing one person's *specific* behavior that is negative and counterproductive for his OWN PLATFORM. DHH essentially said "if you use Windows, you suck". There's no way I'd touch OS X or Rails based on DHH's "advocacy". If anything I'd double-down on Windows just to prove him wrong.

> Just as we don't believe (surprise surprise) that all programming languages are more-or-less the same. or that all web frameworks are more-or-less the same.

Not really what I said; the end result is the same as Samurai Shodown. Either you win the fight (make money with a product) or you lose the fight. Judge by the results; every playable character is competitive in the right hands. Unless your argument is that Windows and Windows development tools are *so* crippled that they can never produce competitive software products or websites, then we're misunderstanding each other.

> Wow ... I code in Rails and do it from a Mac. That makes me a douchebag?

No, not at all.

When I said "Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags" I meant it only in the sense that DHH is a self-anointed *advocate* of that platform. He's leading the way, blazing a trail, and encouraging like-minded people to come with him.

So no, I don't think all Mac/Rails users are douchebags, only those that emulate DHH. Sorry if this wasn't clear.

Jeff Atwood on February 27, 2008 09:20 PM

In response to the comment that "it's a poor craftsman who blames his tools..."

The choice of tools is critically important. The entire course of human development is marked by the use of tools and the creation of new and better tools. If you've ever tried to change a spark plug with an open-end wrench you'll appreciate a proper spark plug socket. I recently watched a crew building a new deck. They used heavy-duty electric saws and pneumatic nail guns. How much longer would it have taken them to use hand saws and claw hammers? And how many corners do you think they might have cut to save work in the process?

The history of warfare is marked by improvements in the tools of combat. Armies with armour defeated armies without. Armies with gunpowder defeated armies with swords. Despite the occasional extremely clever commander who defeated a better-equipped opponent, the odds of winning are greatly with the group that had the better tools and technology.

The industrial revolution came about because people developed new tools - powered looms and spinning wheels and the means to turn them. These tools made it possible to produce better, more consistent cloth in less time with less labour. The Luddites who got mad about it were the people who didn't know how to use these new tools and were consequently put out of work.

Choosing the best tools for the job doesn't guarantee success but it certainly increases the odds. You may be able to write brilliant code in PDP-11 assembler, but if you're staking your career, earnings, and satisfaction on it, then before you choose that as your tool set you should probably consider developing at least a working familiarity with the tools used by the leaders in your field.

ratsbane on February 27, 2008 09:20 PM

This is an odd post. You read something that offended you and decided to retaliate by calling the offender a douchebag. That's class.

Try thinking this way:
If somebody says something and you get really offended by it; chances are whatever they said was in direct contrast to a belief of yours. Not a well-reasoned idea you've formed over time, but a belief you hold onto religiously. It doesn't even have to be for something you care a lot about.

Outward criticism is the best opportunity to look at yourself and see if there's something worth changing, be it your toolset, your work ethic, or even your approach with relationships.

Perhaps you're right in saying there is no clear-defined best toolset available for programmers. I can definitely say that the tools I've used on Windows don't provide anything close to the seamless work environment provided by the workstation I use.

Question your methods.

Dare to improve.

Aaron on February 27, 2008 09:27 PM

Naum - agreed, but im a linux user :)
My tools of choice for now are python & the cream text editor.
Cross platform and nice to work with. Ruby looks nice and i may use it when its suitable though. Ruby on Rails is not nice.

ka2 on February 27, 2008 09:27 PM

I don't think he was just saying, if you use Windows, you suck. Rather, by using Windows and its widely accepted label of mediocrity, you're approving of that mediocrity and making it a part of your programming. He's almost trying to say that you just don't care about your platform, and that as a software developer, you should. As the vast majority of people that switched to Mac or Linux have never looked back on their Windows days, your lack of willingness to switch exudes apathy. Now, the people that actually like Windows are limited, but existing. I suppose for those people, there would be nothing wrong with using Windows. In the article, he is mostly criticizing those who know about/want a Mac/Linux but don't feel like switching.

glxr on February 27, 2008 09:30 PM

I've had too many careers to give a shit what anyone thinks about what tools/platforms I currently use. Next year I could be doing embeded Logo for all I care- so long as it's fun and challenging.

Rich on February 27, 2008 09:32 PM

Hooray Jeff!

So a solid developer with 15 years of experience (nearly all on Windows) should not apply to 37 Signals??

Hmm . . . but I would be productive on Rails in 6 months, right DHH?

http://www.37signals.com/svn/posts/833-years-of-irrelevance

MattH on February 27, 2008 09:32 PM

I'm so bored of these people that espouse one platform over another simply because of some irrational, unfounded semi-religious nonsense used an an excuse to classify themselves as "superior" to everyone else.

If you listen to these noisy people to much, you could be fooled into thinking their beliefs actually had some foundation in reality. The rest of the world will continue to choose tools based on sound business reasons and these guys can continue to masturbate in the corner.

yawn on February 27, 2008 09:43 PM

the other form of platform evangelism that is guaranteed to piss me off even more than someone blindly slagging me off for using Windoze (I HAVE to coz I am at work, but really, all the stuff I use, e.g. Komodo, is platform independent. I have it on my work PC, my home mac etc etc) is some website that wont even display for me unless it is viewed with firefox. The internet is no place for 'mentalism!!!

benj on February 27, 2008 09:58 PM

Not one of your better posts, Jeff.

I've met in person a bunch of people who develop Rails on a Mac, and I'm not aware of a single person doing it as a fashion statement, or because DHH said so. I'm pretty sure they all chose Rails, or the Mac, or both, because those tools fit their hands better.

Also, your samurai analogy isn't very fitting. Are you saying devs should deliberately hobble themselves with the biggest burden, just so they can school their friends as to how badass they are? DHH would be right to reject an interviewee with that kind of attitude.

Maybe you could kick my ass with the fat Texan guy. That doesn't mean I should choose that character. And it doesn't mean that people who choose, um, some other character (sorry, I don't know the names; I was more of a Tempest kid) are douchebags, even if they vocally proclaim the superiority of, um, other-character-guy.

Anyway, it isn't a zero-sum game. Unless you make handheld instruments, we're not even playing in the same arcade.

meh on February 27, 2008 10:06 PM

So I linked this up on ruby.reddit.com. Apologies in advance for any resultant flamers.

I don't know where I stand on this. I've used unix my entire professional career. Yet, at home I've kept with a Windows box for gaming. I have perl/python/ruby/emacs installed on every Windows machine I ever have to spend a serious amount of time with. That's generally what I like with using OSS dev tools over Microsoft dev tools -- I can use them anywhere.

People port these things to mobile phones. It's ridiculous.

But the other half of it is that I'm pretty clueless with the Microsoft dev tools.

I've actually been tempted at getting a Mac lately because I think it might handle my desire to use a unix OS without having to deal with using linux for day-to-day things like ripping DVDs and playing video games.

engtech on February 27, 2008 10:21 PM

ps: nice anecdote :)

engtech on February 27, 2008 10:23 PM

I get it. Great post.

Nick Waters on February 27, 2008 10:31 PM

I like DHH, Rails, my Mac, this blog, and I don't like Windows. I'm pretty sure I'm some kind of douchebag, but I really don't understand why you decided to write this article.

We all know you're a Windows programmer, Jeff. Let the douchebags rant about which platform is better and don't let them get to you. Post this in the comments of DHH's writings, not as an article on Coding Horror.

Brian on February 27, 2008 10:50 PM

Your best post yet. You managed to capture my thoughts perfectly, and we don't even know each other. ;)

ewb on February 27, 2008 10:51 PM

i don't think this is news to anyone. everyone has known for a long time that the rails/osx contingency is made up of the biggest bunch of douches ever.

the difference is that people can stop being douches.
windows will never stop sucking ass.

jonuts on February 27, 2008 10:52 PM

I thought DHH was pro 80-20 thinking(and FUCK YOU if you aren't).

I'd think that OS/framework choice lies more in the 20% realm.

Sure, I use Rails myself. But I'm sure I could use some other language/framework or even none at all and the important parts: my ideas and creativity would still manage to rear their heads from underneath all the stigma.

I'm developing Rails on Windows, and not really giving a shit about the Windows part. I somehow doubt I'd give a shit about the OSX/Linux part if they were in the equation.

Collin Miller on February 27, 2008 11:03 PM

Do a word count on Amen. I think this has just turned into a religious war. Amen to "I cannot think for myself anymore."

David on February 27, 2008 11:10 PM

Luckily with ruby you dont have to care much about windows linux or macosx. I still hope for a real empowered rubyOS one day. One from humans, for humans.

But at the time being, and even though I dont like DHH at all (people and egos just annoy me...) I must say I whole agree with the statement that windows is suboptimal.
No, lets be honest: Windows just plain sucks.

I am using my own ruby-shell on windows and it helps a lot, but lets face it - windows is so crippled, even using a lot of open source tools, it makes it better... but under the hood it just still sucks.

she on February 27, 2008 11:15 PM

Macs are for noobs and stupid people, all talented IT professionals use PHP and linux.

(great post btw)

Matt on February 27, 2008 11:22 PM

Nice post. If he really cared about "open standards" he would be using Linux not MacOS.

Lets see if the Great D(ictator)HH has anything different to say in 2008.

Sid on February 27, 2008 11:23 PM

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

Great irony, you just did the same thing as David!
Good post.

ChrisVB on February 27, 2008 11:57 PM

@ Reg:
> On to another topic... What is this Samurai Showdown? And where can I try it??

Samurai Shodown (omit the W, it's probably a translation goof just like "VICTOLY") is a game for the Neo Geo system, which back then was the only thing that had hardware equal to what they had in the arcade. Several SNES and Genesis games of that time were arcade ports, but the arcade versions looked better since they had better hardware. You need to get an emulator and the game's ROM to play it.

Since all Neo Geo games of that time are known, the emulator has a list of what's possibly available, and the entire package (all games + emulator) can usually be had by perusing the BitTorrent system.

Rob Janssen on February 27, 2008 11:58 PM

Oh crap, I'm totally screwed. I develop using VxWorks, uItron, InTime, and RTX using such arcane languages as C and C++. The tools royally stink (for VxWorks and uItron anyway); the OSes are not open source and are tied to a strict licensing scheme; the languages are not web-friendly. It's amazing I still have a job.

Kevin on February 28, 2008 12:00 AM

Great post, although it's depressing to have all my worst prejudices that "the other camp" (or the 5% of them that rant and get all the publicity) have zero sense of humour confirmed.

All these ridiculous "shame on you" responses to what was quite clearly a tongue-in-cheek joke about douchebags are too depressing for words.

Ian Smith on February 28, 2008 12:06 AM

> Luckily with ruby you dont have to care much about windows linux or macosx

That's the irony, isn't it? As creator of Rails, DHH should be the last person limiting the audience for his framework by insulting a large proportion of them. Repeatedly.

> And it doesn't mean that people who choose, um, [Hanzo] are douchebags, even if they vocally proclaim the superiority of [Hanzo]

See, that's where you're wrong. In the right hands, *any* of those characters could kick your character's ass. Not realizing that means you don't understand the game at a very fundamental level. Or you're just a douchebag who gets off on telling other people that their character of choice sucks, while theirs rocks.

(Assuming the game isn't fundamentally unbalanced -- this is a whole other topic, of course.)

Jeff Atwood on February 28, 2008 12:26 AM

Excellent post! Made me smile, but I think the story about "Samauri Showdown" incident was brilliant - really says it all!

I've seen crappy software on nearly every platform.. And some freaking awesome software! Good software is good because the people who write it know what they are doing with the tools they have available.. I've had occasions where I have seen some cool stuff that I thought was done with the latest tech available.. Turns out it was made on a crappy computer in a department that resembled the '80s..

Get good at what you do, and the rest will follow...

Get really good and produce such fine work that the douchebags can only say "you suck! your writing excellent software on the worst platform!"

Rob on February 28, 2008 12:27 AM

Great post, especially the analogy at the end! As a (.NET) developer this expresses my sentiments exactly. :-D.

I know a lot of people who downright hate Microsoft. and because of that they hate everything ever created by Microsoft (but still use Microsoft Office on the Mac). Douchebags..

Colin on February 28, 2008 12:40 AM

Great post dude. I totally agree with you. That is the wrong way of proselytizing people. There's no self-respecting developer out there who would agree to abandon the tools he's been using for years, just because someone comes up and tells them they're useless because they're not using the tools that HE thinks are right.

Software developers aren't daft; DHH is, for assuming they are and that an psychological attack on windows developers would actually work in getting them to scrap windows/.net, over os x and ruby. Deciding to go with a particular tool and platform is a person's own choice.

Inform people, and let them decide if they want to use your products.

Work with whatever technology you're comfortable. Sure, windows can be unruly, but I've learned to accept that and just soldier on and get the job done. If it works for me, why should I switch to os x? Just because someone tried to (psychologically) bully me into it?

When you talk about software you should remember that There's ALWAYS a trade off. Every OS and every programming tool has its strengths and its weaknesses. Just like characters in a video game.

There are no silver bullets; every tool has its purpose. So tell this bully to stuff it. Psychological attacks of this kind show exactly how blind this person is.

ramon on February 28, 2008 12:44 AM

I code in VB.NET on Windows XP, and I haven't been struck by lighning yet.

David Heinemeier Hansson bozo bit = 1

Chris on February 28, 2008 12:45 AM

The Apple Mac is like tattoos

People get them because they think they themselves are cool and want to stand out from the crowd. Not realising people from street cleaners to board room directors of boring corporations have them now too.

I remember seeing an advert for a car - Toyota I think - and it's tag line was "stand out from the crowd". Carpark full of black cars, one person has silver car. Now if you go into a car park everyone has a silver car because they want to stand out from the crowd :-)

Really though, an operating system is a tool for a job, it shouldn't be a status symbol or an "exclusive/inclusive" babdge.

Tubs on February 28, 2008 01:02 AM

I use Unix that runs TextMate. Cut that lame provocation.

ff on February 28, 2008 01:34 AM

Ive coded Rails in Windows and it's not too bad. David HH must be too much of an enthuisiast to actually present an opinion in a better way.

michael on February 28, 2008 01:34 AM

I recently switched my main platform from Windows to Linux on all computers and even I though something along the lines of "f******ck you".

Joesten on February 28, 2008 01:52 AM

Got it - open source "you're either with us or against us"

When will these open source zealots get that they're competing with piracy, not with microsoft. Piracy (obviously) is winning heavily, so people start using much stronger words. Crime is what's "keeping open source down", not microsoft.

Good luck (heh), well, since this is never going to fly anyway, perhaps I should simply say enjoy the fight, since you can't win as long as you're against enforcing the law.

Tom on February 28, 2008 01:56 AM

I did enjoy this a lot actually. Nice buildup, awesome climax, and good conclusion :p.

I mean, without delving into all the thoughts you can draw from this, on a pure literary perspective also, this was enjoyable. :)

Vaibhav on February 28, 2008 01:59 AM

You're kidding your self with the relative argument about Windows.

Windows is a fractal failure and no amount of handwaving changes that.

Noah Slater on February 28, 2008 02:13 AM

I would refuse to work for or with a narrow minded person like that. Odds are the douchebaggery doesn't stop at the fanaticism of an operating system and language of choice, but spills over to other aspects.

But it's easier to simply ignore the arrogant web-developers who basically scale up blogging software or CMS tools. They are the teenagers of the developing world, even though many of them older than I am, and stuck thinking they have figured out what the rest of the world is clueless about.

oglethorpe on February 28, 2008 02:14 AM

Blah-blah
Only joy and usefulness for developer and end-users matters.

Vladekk on February 28, 2008 02:19 AM

When I first read that post from DHH I stopped reading his and the 37signals blog and finally turned a critical eye on their products. I have been using basecamp for well over a year now and I think it sucks. These guys aren't the gods of the internet that they presume. Fuck them!

Jay on February 28, 2008 02:26 AM

This was a whole lot confusing post. Of course you can do whatever you need to do in any environment, that's what nerds do all the time. And each of us nerds finds that satisfying, crossing borders of what is thought to be possible.

But really, there ARE tools that are suitable for your particular task, and there are tools that are not. I tried to make a change in my life just a while ago. But believe me or not, I couldn't find anything to replace emacs. Emacs was my weapon of choise before, and it is that now.

There's a reason programmers often feel helpless with Windows. And there's a reason why those programmers pity those who find Windows' internals fascinating, because they know they are looking at a little boy who's found a broken tricycle, and never seen a real bicycle before.

Of course, this whole war of the best operating system is pure madness. Where's that old statement of the continuing mission: to boldly go where no man has ever been before? Why not try something new? Maybe create something new? Of course, then you'd have to leave something behind: that's the price of freedom. I'd advice to leave behind the things you least need.

For me it's this Windows thing.

Sami on February 28, 2008 02:34 AM


This whole argument is a moot point for two reasons -

a) The whole point of any project is satisfying the end needs of the user. If the end needs of the user require a *nix platform, or a windows one, the developer will code for that platform. He/She isn't going to turn round to the user and say, "sorry, but i don't code for that o/s". The same goes with programming languages. A good programmer should be able to write code in whatever language the end-user wants (allowing time for learning of said language, obviously).

b) Programmers by their very nature have preferences - these may change over time, but it is the fact that we have these preferences that make us programmers. If all developers assesed development options (platform, programming language, etc) purely by their pros and cons, we'd be managers, and that would be dire state of affairs indeed.

Kazar on February 28, 2008 02:47 AM

Great post.

I think that either you are a good programmer (with good ideas and skills) or not.
If I were to hire a programmer, unless I need his/her skill on a specific platform, I would find pretty stupid focusing his/her platoform of choice. That would make me a really shallow interviewer (and for that I should fire myself).

Straficchio on February 28, 2008 02:57 AM

I hope DHH is getting paid for that free advertising.

ryan on February 28, 2008 03:00 AM

Windows developers (me included) need to understand, that yes windows is the tool for the widest ranges of jobs. But it is NOT the best tool for all those jobs

Anyway, I can’t personally understand why the words of David upset you so, he and his MacRails camp is colouring this very grey windows world.

Peter Palludan on February 28, 2008 03:13 AM

Another point for not using ruby.

offler on February 28, 2008 03:23 AM

Douchebag is as douchebag does. What a great way to prove that both you and DHH are douchebags.

andrew on February 28, 2008 03:31 AM

I develop on a Mac and it's a great machine. I also use Windows and am starting to use Linux.

I love the Mac, I just hate other people who do.

devolute on February 28, 2008 03:35 AM

even though it means that i'm using the platform of choice for douchebags, i love this post.

but the reasons for my love are more, "jeff atwood calls dhh a douchebag" than "jeff atwood makes some really good points". not that your points aren't good, mind you, it's just that anything added to the mac vs pc war is pissing in an ocean of piss.

ian on February 28, 2008 03:35 AM

even though it means that i'm using the platform of choice for douchebags, i love this post.

but the reasons for my love are more, "jeff atwood calls dhh a douchebag" than "jeff atwood makes some really good points". not that your points aren't good, mind you, it's just that anything added to the mac vs pc war is pissing in an ocean of piss.

ian on February 28, 2008 03:35 AM

I'm gonna go with anser 2 here. Windows XP is pretty sweet, and so is Visual Studio 2008!

Mike on February 28, 2008 03:39 AM

[OT] Why do you think a character with 'Samurai' in his name would be a ninja? ;-p

nx on February 28, 2008 03:51 AM

Excellent post.
Yes, I'm a "Windows programmer"... whatever that is.

The Samurai Showdown II anecdote reminds me of something similar I ran into frequently when I played Medal Of Honor online in deatchmatch mode.

For some reason the shotgun was considered a n00b weapon there. Mainly because it's power can't be beat at point blank range, and therefore it was something n00bs that failed to aim properly ended up using a lot.

In some maps however like the Stalingrad one the shotgun was the über pwnage choice of weaponry. The map was all about small passages and rooms leading from one ruin to another. If you turned around a corner and found yourself standing eye to eye with a nazi holding an Uzi, the shotgun was the only weapon that killed with one click of the mouse.
"OMG!! SHOTGUN N00b!!" was usually the comment I got after that.
I called it tactics though.
It was all about being smart and choosing the right surroundings for your weapon of choice, and on some maps, you pwned with that.

Rocket launchers however, now that's a n00b weapon!

n3wjack on February 28, 2008 03:58 AM

Well, gosh. I'm OK with the BSOD, and the erratic architectural swings, and even the giddy security thrills. I guess it's the demon worship and human infant sacrifice than bothers me about Windows development.

cvs dave on February 28, 2008 04:11 AM

It is fitting that you would compare the platform debate to SS2. Samurai Showdown II was not particularly known as a well balanced game. Yeah, you _could_ win with Nakoruru, but you were probably better off using Ukyo. Any character could win, and if one person knew a weak character really well, and his opponent didn't know his strong character that well, the first player might even be more favored, but there were certainly still some better characters you should use for the job.

Similarly, certain platforms are better than others for their given tasks. You could use C#/windows for web development, but you're probably better off using rails/mac. Yes, you can make some good stuff using C#, but you would be more productive using rails to do so instead.

Ryan on February 28, 2008 04:13 AM

DHH certainly isn't the only prominent person in the software industry with this opinion. Take Paul Graham for example:

"Great hackers also generally insist on using open source software. Not just because it's better, but because it gives them more control. Good hackers insist on control. This is part of what makes them good hackers: when something's broken, they need to fix it. You want them to feel this way about the software they're writing for you. You shouldn't be surprised when they feel the same way about the operating system.

A couple years ago a venture capitalist friend told me about a new startup he was involved with. It sounded promising. But the next time I talked to him, he said they'd decided to build their software on Windows NT, and had just hired a very experienced NT developer to be their chief technical officer. When I heard this, I thought, these guys are doomed. One, the CTO couldn't be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn't imagine a great hacker doing that; and two, even if he was good, he'd have a hard time hiring anyone good to work for him if the project had to be built on NT."

http://www.paulgraham.com/gh.html

Granted Mac OS X isn't entirely open source, but being partially based on FreeBSD it's a HELL of a lot closer than Windows is. It comes wish bash, gcc, an X server, and all the other Unixy goodies. And has a appealing and usable GUI. Best of both worlds, if you ask me.

Tom Robinson on February 28, 2008 04:16 AM

My problem with Windows programmers and users is not that they exist, or are somehow inferior, but that they are so numerous (this is, of course, the near-monopoly argument). Still, I can see how it's easy to get into a "Microsoft users suck" mindset when all we really want is a couple of players to match Microsoft in the market.

Oh, yeah, I used to play as Dhalsim and Zangief in Street Fighter 2 and alpha 3. It's very easy to trounce a Ryu or Ken if you know how it should be done.

dac69 on February 28, 2008 04:22 AM

First off, loved the comparison with Samurai Showdown II. That is one of my favorite 2D fighting games. Lots of style and class in that game.

I tend to agree that the platform one chooses to develop upon can directly reflect on the tools they use. I'm most comfortable sitting behind a UNIX console with vi (actually, vim) running in several gnome-terminal windows. Others in my company prefer (or are forced to use) IRAD or some other IBM Eclipse-based behemoth on their Windows machines. For me, it's absurd the amount of resources these IDE-cum-editor choices take up is absurd, but for them it's a choice that makes their development life simpler.

Honestly, if Windows gets your job done, and you feel happy using it, by all means keep using it. Personally, I can't stomach spending hundreds or thousands of dollars for someone else to tell me what I can't do with their software. If I wanted to take vim and gcc and put it on Windows, I'm freely able to do so, but if I wanted to take certain Windows products and distribute them to a lab, I'd have to get license permission to do that. For me, that's a price I'd rather not pay.

Craig Maloney on February 28, 2008 04:23 AM

I write apps for Windows because:

1) I want other people to actually use them.
2) I don't want to force users to recompile their
OS just to install a webserver.
3) I'm over 19 and I get paid to program.
4) I don't drive a VW Micro-bus.

Kaitain on February 28, 2008 04:26 AM

Linux: Supports DRM in its Kernel. Mac OS X: Does not. Your data is not more open on Linux. The OS doesn't matter, the applications you use do. How hard is that to comprehend? The whole Freedom Zero article reads like one giant misunderstanding of what's really going on.

LKM on February 28, 2008 04:45 AM

(Also, Samurai Shodown II rules. No "w", Craig :-)

LKM on February 28, 2008 04:49 AM

Where web development is concerned, it makes sense to use the same type of OS as the server you're going to deploy on.
I.e. if you're going to deploy on a Windows server, it makes sense to develop under windows (fairly recent version).
If you're going to deploy on Linux, (which is in my opinion vastly better and definitely cheaper) then you should work on a *n*x.
Linux is best, but if you want a laptop, a Mac makes sense because Linux doesn't have a great track record where drivers for recent laptop hardware are concerned.
So i think DHH's opinion could do with a bit of refining.
Given the choice i'd rather work on a *n*x though.

elise on February 28, 2008 04:52 AM

I don't use any of those derogatory terms but you are right.

Mark Wisecarver on February 28, 2008 04:53 AM

Douchebaggery or not, the real issue is what's best for the job. And.. pretty much most computer science and cutting edge development nowadays is done on UNIX-like operating systems. As a progressive developer, you should be on a UNIX-like system, whether that's OpenBSD, Linux, OS X, Solaris, or whatever.

I think DHH wouldn't care too much if you worked using Linux while at 37signals since Linux and OS X, thanks to POSIX-compliance, can work in very similar ways.. it's really just the interface that changes. Windows, however, is the black sheep of operating systems.. it's not a UNIX, and that makes it a weird, fringe system for most developers.

Peter Cooper on February 28, 2008 04:56 AM

If I was applying for a job at 37signals I would, no doubt, be running an open source OS. If I wrote software for the web I would, no doubt, be running an open source OS.

However, for those few of us writing software for Windows, guess which OS is the best tool for the job?

Brent Rockwood on February 28, 2008 05:05 AM

Argh! Keep buying that fur of yours
... never mind the poor little developers uhhh critters that get slaughtered every day making it!

Michiel Trimpe on February 28, 2008 05:09 AM

>> Luckily with ruby you dont have to care much about windows linux or macosx

> That's the irony, isn't it? As creator of Rails, DHH should be the last person limiting the
> audience for his framework by insulting a large proportion of them. Repeatedly.

Wrong assumption. In Ruby, platform does matter, a lot. Mostly due to the current stable implementation being very slow, several important Ruby projects are partially written in C.

Writing cross-platform C wouldn't be too hard, if there was a full POSIX-compatible API for Windows. Alas, there isn't, so Windows versions, when they exist, frequently lag behind the *nix code. I actually wrote some Rails projects in Rails on Windows and I can tell you the experience is similar to writing ASP.Net applications with Mono on Linux. Feasible, but not as smooth.

rubinelli on February 28, 2008 05:11 AM

Mr. Atwood, although you express reason and balance in your post, overall it is almost as bad a swipe as the post you're commenting on. In other words, you've stooped to his level. I certainly understand your desire to express your thoughts on this, but you're lowering rather than raising the discourse by participating in these blog-post flame wars.

John on February 28, 2008 05:22 AM

Mr. Hansson can kiss my Recycle Bin. He's probably critical of programming in a Windows environment BECAUSE HE CAN'T DO IT.

Apple users who criticize PC users ARE NOT SMART ENOUGH TO USE THE PC/WINDOWS ENVIRONMENT and need something a little more "user friendly".

There. I said it.

PaulG. on February 28, 2008 05:26 AM


Really - who cares?

I would say one thing however - unless you've had a significant amount of experience in both environments, you're really not qualified to judge. I expect that excludes 90% of posters to this thread (myself included), as well as 90% of contributors to the original thread.

It's simply too easy to get evangelical about the platform you know, since the platform you don't know seems alien and odd. I guess that there are very very few people who have enough experience on the platforms mentioned above to give a truly impartial review.

Thomi on February 28, 2008 05:30 AM

I'm more a designer than coder but I still read Jeff's writing every week and I was turned onto him (I seem to believe) by a Daring Fireball post. I even bought a CODING HORROR sticker and it now rests happily on my Mac.

Peace and love people, peace and love.

blip on February 28, 2008 05:30 AM

Stupidest. Post. EVAR

fgfg on February 28, 2008 05:36 AM

You hit the nail on the head when you said "results speak loudest". So, when's your new standards-based platform-agnostic web framework coming out, Jeff?

Jesse Newland on February 28, 2008 05:40 AM

dhh is the author of this stupidity too:
"Unlike Christopher, I consider stored procedures and constraints vile and reckless destroyers of coherence. No, Mr. Database, you can not have my business logic. Your procedural ambitions will bear no fruit and you'll have to pry that logic from my dead, cold object-oriented hands."

james on February 28, 2008 05:43 AM

> Apple users who criticize PC users ARE NOT SMART ENOUGH TO USE THE PC/WINDOWS ENVIRONMENT and need something a little more "user friendly"."

I wouldn't say that about every Apple owner, but it's certainly true for me. I absolutely, positively get confused when I use Windows on the desktop.

> All these ridiculous "shame on you" responses to what was quite clearly a tongue-in-cheek joke about douchebags are too depressing for words.

It never occurred to me that Jeff would be joking. Looking at the comments, I'm not alone. However, if you can posit that Windows is an inferior platform for web development despite its popularity, you have to accept that just because you and a few thousand people take "David is a Douchebag" seriously, doesn't mean Jeff meant it seriously :-)

> DHH essentially said "if you use Windows, you suck". There's no way I'd touch OS X or Rails based on DHH's "advocacy". If anything I'd double-down on Windows just to prove him wrong.

I actually interpret his remarks as saying that "if you use Windows, I won't hire you to work in a Ruby shop on OS X." I would never say never about something like that when hiring, but I also wouldn't claim that the choice of OS is completely orthogonal to the likelihood that you will be happy and productive working for 37 Signals.

But be that as it may, where you and I differ is that I am not so quick to demonize an entire platform for something like this. It surprises me greatly to mix a discussion about choosing the right tool for the job based on developer competence and this kind of highly personal clique-ism.

Liek I said, this is not your bets work and that is exactly why: you have built a strong brand based on "pragmatism." Whether I have agreed or disagreed with your perspective on the right music player, the right PC, the right OS, or whatever, I have found you to be consistent in advocating what you believe to be appropriate based on technical merit.

So this perspective, while perfectly valid--and let's face it, perfectly normal for a social animal like Homo Sapiens--dos strike me as being out of character for the Coding Horror blog.


> Judge by the results; every playable character is competitive in the right hands. Unless your argument is that Windows and Windows development tools are *so* crippled that they can never produce competitive software products or websites, then we're misunderstanding each other.

There's a whole blog post to be written about this. Chris Sharma can outclimb me in construction boots. Does that mean I should stop buying specialized climbing shoes? No. But it also doesn't mean I should stop training and put all my trust in the 'superior" tool.

I think there is a grain of something very important in this post, namely about the fact that a good programmer will outperform a poor programmer under almost any circumstances, and that the very bets thing you can do to get better results is to improve yourself.

However, that does not obviate the fact that given two roughly equal programmers, the one with the better tools will outperform the one with the poor tools.

Therefore, it is fair to say that tools *are* important and that tools *matter*. Not more than programmer talent, but not so little that programmers can afford to squander their talent by using poor tools.

Reg Braithwaite on February 28, 2008 05:47 AM

> So a solid developer with 15 years of experience (nearly all on Windows) should not apply to 37 Signals??

> Hmm . . . but I would be productive on Rails in 6 months, right DHH?

You would be productive in Rails within 6 months because working for 37signals you would have had to switch to a solid development platform.

> Apple users who criticize PC users ARE NOT SMART ENOUGH TO USE THE PC/WINDOWS ENVIRONMENT and need something a little more "user friendly".

We aren't talking about users here. We're talking about developers. And that makes your comment completely ass-backwards. Do a little research of the 'user friendliness' of unix vs windows and you'll find that windows is often the one who dumbs things down.

This is a key point. Use an os/platform with a more advanced backend + a more user friendly (easy enough for your computer illiterate grandma to use if necessary) frontend and you have yourself a nice _balanced_ system. Hmm, sounds a lot like Samurai Shodown.

The anecdote in the article is wrong, though, of course. Since in SS2 the characters are all equally powerful when used correctly. But it has become quite clear to those with their eyes open that in the Linux/Windows/OSX fight we do not have characters that are in any way balanced. It's as if 3 different team members on the SS2 game project got to design 3 characters. One was designed by the office slut, one was designed by the seasoned engineer with 40 years of industry experience, and the last was designed by the CEO's retarded daughter. I'll let you figure out which.

thedude on February 28, 2008 05:49 AM

@PaulG: It takes a special kind of person to intentionally use the difficult solution to a given problem, and then think that this somehow makes him the smart guy.

LKM on February 28, 2008 05:53 AM

yes they do color things.. with the low hanging fruits, they get by quickly using the powerful tool ruby/rails really is. The whole web2.0 and ruby/rails hype is not only about really fresh ideas, it's aswell about the tribe of ppl who get's attracted it, partly: arrogant, going after the easy money any web20 thingy gets once you manage to talk long enough about it without stopping to smile...
... on the other hand ruby/rails is cool to prototype quickly those all to fantasic ideas without burning money needed elsewhere...

Pointernil on February 28, 2008 05:55 AM

I consider the geekiest development platform I've used to be RPG II on the BABY/400. It is archaic but incredibly obscure. I can't find any online information whatsoever on the BABY/400. RPG II is a horribly cryptic language and the BABY/400 commands are equally cryptic. But I see the same kind of green screens when I go to the bank so it has a certain allure as mainframe esoterica.

Robert S. Robbins on February 28, 2008 06:01 AM

Seeing the comments of the windows-only-users here, I can totally dig what DHH is saying. When you can't broaden your horizont, you can't really break through in your programming skills. And if you've never used a Unix before, how can you judge, that DHH is wrong? That's right you can't!

And btw. he didn't say, that Windows users suck, he just implied, that they are not concerned with using the best tools for the job, and that's not what his company is looking for.

And the Samurai Showdown analogy is not appliable, because every character is designed to be equally strong. But imagine you have to press "Up, Down, Up, Left, Right, A, B, C" for a single fireball or something. That would be Java or C# then. In Ruby you don't have to press so much buttons and if that's not enough, the buttons you have to press are logically aligned, and make sense for a fireball for example.

Summary: Get to know your world, and question your beliefs daily - it's healthy and called progress.

Soleone on February 28, 2008 06:03 AM

...earthquake sucked! :-)

Anyway, great post.

....geez. You really played with earthquake? ..

geez.

Well, great post.

Toledo on February 28, 2008 06:07 AM

I agree with David. All the fellow programmers I know who use some variant of Linux/BSD at home are the sort of people who live to program. The Windows users more often just program as a job.

The majority of the programs you use on an OSS friendly OS, you can get the source for, see how things are done, and fix things that annoy you. This is a huge benefit for people who are always thinking about programming. Haven't you ever noticed some weird behavior in something you are using and wanted to dig into the source?

If you can't see a clear benefit to an OSS friendly OS, you just aren't a hardcore programmer. There's nothing wrong with that, but don't claim you can compete with someone who spends all day programming then goes home and spends all their free time programming when it comes to being an ideal candidate for a programming position.

a on February 28, 2008 06:20 AM

Why bring this up now? His comments were made almost 3 years ago.

Brandon Peterson on February 28, 2008 06:23 AM

Disclaimer: I run a small website called www.dailyunixtip.com.

I think the reason Windows is looked down upon by developers who work with Web application frameworks is that web application design and coding, like so many things that comprise "the Internet", is inherently Unix-y.

I'm currently developing an as-yet unreleased Rails application on Windows, using Aptana, and it's a joy because so much is abstracted away (the benefits or otherwise of this I'll save for another discussion).

However, a UNIX-like OS (be that DRM infested OS X, Linux, FreeBSD, whatever) leads you to follow certain conventions when working with the OS that, because of the UNIXy roots of the Internet, happen to be good habits for web application development too.

I'm talking about things like paths without spaces, lowercase generally, hierarchical navigation from a common root point (be it a file system or the web server root), regular expressions - I could go on.

Sam on February 28, 2008 06:24 AM

Yah, I was pretty happy with the post right up until then end where he, by "logical reasoning", claimed that you use an OS of douchebag choice. I don't even use those OS'es and I was offended. C'mon, you're better than that.

Pete on February 28, 2008 06:25 AM

Oh, the irony of DHH toting a mac

Noah on February 28, 2008 06:28 AM

Jeff,

Way to call this guy on his douchebaggery. Nice word too, I'll have to use that when I tire of asshattery.

In 25 years of professional software development, I've used a lot of platforms for development. Big Iron (System/370 & kin); nameless, defunct minis (Data General, Contel, Burroughs); all manner of DOS (Atari, Amiga, PC, etc..); Classic Macs; Unices galore (System V 3.2, and up); and all kinds of MS Windows systems.

And yes, they all suck. Some of them spectacularly.

For me the more stable platforms were the Big Iron, the most clever were the minis, best toolsets under Unix, most portable targets were the DOS systems, and most screen-comfortable are the Windows systems.

Big Iron had lousy tools (an Editor?), the minis were never backwards-compatible (Model 6's can't run Model 5 code!), modern Unix administration toolsets are bloating quickly and are poorly thought out (Configuring with "frobnoz"? No, you wanted gleib. Or krurk. Or urwek. Or was that gnatqueeg? Or...), DOS systems the dev tools were additional costs (and often very expensive), and Windows systems have stability issues.

Nobody's perfect, I guess.

Clinton Pierce on February 28, 2008 06:30 AM

I program Rails on a Mac and I am better than you.

Greg on February 28, 2008 06:33 AM

These anti-Windows people need to read, learn and inwardly digest Spolsky's excellent article on the different worlds of software development: http://www.joelonsoftware.com/articles/FiveWorlds.html: my personal feelings towards Windows are *utterly irrelevant* - if my company's clients require that the software we develop for them runs on Windows (as many of them do), then we must use Windows, end of. To suggest that I or my employers are imbeciles for bowing to this economic reality is really too infantile a position to be taken seriously.

tragomaskhalos on February 28, 2008 06:36 AM

Beautifully said. I've worked with all three platforms. Windows, Linux and OSX. I enjoy the OSX environment for developing OSS websites, but never deploy to a OSX server. Too many hardware limitations IMHO.

But at the end of the day I make my $$$ on Windows. Straight Up. It may be a capitalistic view, but it feeds the family and feeds them well.

There are many Mac zealots that can't see beyond the logo, even when it comes to the almighty $$$.

****

If your religion doesn't give anything back at the end of the day, it's called a government.

Gary on February 28, 2008 06:37 AM

This sentiment is indicative of douchebaggery in all aspects of life, not just software development.

I was at a BOY SCOUT camp... we were on the most difficult trip (out of 20 some pre-determined trips you could take), and every evening people would marvel at "how [we] could do such a hard trail". We told them that we were up early, walking not much after, and preferred to spend our time out of camp. Invaribly we'd tell them our wake-up time, they would try to "beat" us out of camp and fail miserably. Did we need to remind them that we "won"? Nope. We just kept our mouths shut and our heads down and did our walking for the day

Same principle here, you only need to crow your superiority if you aren't convinced of it yourself.

Wes on February 28, 2008 06:40 AM

There's a country song here!

"If coding in Windows is wrong, I don't want to be right...." 8^)

Lloyd on February 28, 2008 06:43 AM

>Apple users who criticize PC users ARE NOT SMART ENOUGH TO USE THE
>PC/WINDOWS ENVIRONMENT and need something a little more "user
>friendly".

That made me laugh.

Anyway, I switched over to using a Mac personally about 10 months ago now and ditched my Windows PC recently because I never used it. This was coming from building and working with Windows based machines for many years.

End result is, I will not go back. Not because I was too stupid to use it, far from it, but because for what I want OSX makes sense.

However, calling people who use it stupid, only makes you look one hundred times worse. It's to do with what works for you and your situation.

That's the thing, OSX and textmate seems to a combination which just works for Rails, and certainly for me makes sense.

ps.. I'm a Java developer who uses Windows everyday, is confined to that for various reasons, chooses to use Eclipse and deploys to runs apps on Unix and Solaris servers ;)

Alan on February 28, 2008 06:46 AM

I came for the flammage and the Godwin. Mr. Atwood, I've moved your blog from my computer-advocacy folder to the entertainment folder. :-)

All this talk of "fuck you" makes me think of "Make you his bitch" backfiring advertising that hangs over John Romero.

Still, beating the drums and putting down other people gets you noticed. Remember when Linus Torvalds gave his Git talk at Google (2007/05)? (http://www.youtube.com/watch?v=4XpnKHJAok8) He totally crapped on centralized source control management systems (SCM) like CVS and by extension, Subversion. Witness more and more blogging developers pointing out his video as the catalyst for test driving Git and other decentralized SCMs now. (If you are on Windows, give "Git on Msys" a try).

I think we need more of this "shock" and opinionated attitude. Then again, this post is pretty much "Fuck You" "considered harmful". :-/

piyo on February 28, 2008 06:48 AM

'Don't waste time arguing about the character select screen. Results speak loudest. Show the world what you can do in your programming environment of choice.'

AMEN! You're my hero.

Brian on February 28, 2008 06:48 AM

> my personal feelings towards Windows are *utterly irrelevant* - if my company's clients require that the software we develop for them runs on Windows (as many of them do), then we must use Windows, end of.

No, you're missing the point of the discussion. DHH is talking about web development.

thedude on February 28, 2008 06:52 AM

LOL

';DROP TABLE Users on February 28, 2008 06:56 AM

> There are many Mac zealots that can't see beyond the logo, even when it comes to the almighty $$$.

This is also quite amusing. The fanboy mac users you see on youtube aren't the people in question here.

To put it simply. I used windows when it was the better platform, it was the year 2000. Anti-mac users always use the fanboy argument but it simply doesn't apply to DHH and people like him. If linux made their life easier they would be all for linux, if windows was the superior platform, similarly they would be touting it's superiority.

In short, it has nothing to do with any logos. It's just a better OS. When it wasn't a better OS (in it's early revs in the early 2000's), I didn't use it, because it sucked. What ever happened to using the best tool for the job? Of all the programmers I know, it's the windows ones who are 'fanboys' in the sense that they refuse to even consider changing platforms. And that's DHH's point. If you're too stubborn/blind/whatever to keep up with the times and move to new and improved tools, then we don't want to hire you. And by the looks of it not many people on this blog will ever be considered for 37signals (or other modern software companies) jobs :P

thedude on February 28, 2008 07:01 AM

Metablogging and personal insults. Eww.

J. Stoever on February 28, 2008 07:01 AM

I guess I didn't take it the way everyone else did. He's looking for OSS true believers for his hires. Perhaps he could have phrased it less insultingly for everyone else, but for the people he's trying to hire this will go over better.

But mostly I agree with him. If I had my total choice, I'd probably be using Linux for my software development. Nothing against you guys that prefer Windows, but you clearly don't share my priorities and values. David's either, apparently.

I do agree with Jeff's quibble about the Mac though. If I'm going to go out of my way to free myself from proprietary software platforms, why on earth would I proceed to tie myself to a proprietary hardware platform? Perhaps if it was cheaper I could see the logic, but its not (and never will be).

I liked the video game story, but as an analogy it stinks. Presumably the game designers tried (even if they failed) to balance the characters. Pretty much the opposite happens with computing platforms. Microsoft purposely gimps theirs, so you have to pay them extra for things like compilers, webservers, file server functionality, etc. The Linux folks work hard to give you everything your geeky heart could desire, and then some. So the two platforms are not balanced. I'd be more like playing the arcade game with a faulty controller where only one of the buttons worked and some of the stick directions had a short (we've all been there, right?). Sure, an uber player might still be able to win. But a true gamer would be frustrated by not having all the options available to them.

T.E.D. on February 28, 2008 07:09 AM

>>Pretty much the opposite happens with computing platforms. Microsoft purposely gimps theirs, so you have to pay them extra for things like compilers, webservers, file server functionality, etc. The Linux folks work hard to give you everything your geeky heart could desire, and then some. <<

Huh? It isn't the "Linux folks" who give you that stuff. It is the individual OSS groups. And every single one of the major pieces of development software are also available for Windows. But the opposite is not true (Visual Studio, etc.).

I don't understand you Linux zealots at all. You want to tell us that Linux is great because it has all kinds of free, superior stuff. But all of that same stuff is also typcially available for Windows (and even runs better on Windows). Then you go on to try and blame Microsoft for somehow gimping their OS? Where do you people get off...

Matt on February 28, 2008 07:28 AM

Software is either about MONEY or masturbation.

(Not that there's anything wrong with that...)

Seriously, as a developer, I follow the money. I don't care if it's Linux, windows or OS o'the month.

I'm not a student. I'm not living in my parent's house. I could care less about open source and/or Linux or Windows, per se.

But guys (and gals), where are most of the jobs? Linux and open source, or clunky ugly Windows?


ThatGuyInTheBack on February 28, 2008 07:31 AM

I actually develop on both Windows (for work) and Rails & PHP on OS X for my freelance projects. Jeff is right that there are pros and cons to any development environment. There are things about developing in .NET that absolutely irritate me, but the same can be said for Rails. In my opinion, as long as we're developing software, these issues will always be present.

I admire DHH, but I think its closed minded to basically tell one community in the development world (albeit probably the largest commercial development community) that they suck.

Bill on February 28, 2008 07:33 AM

Unfortunately, naive douches like Dave seem to forget one major industry where open source will never be the platform of choice, and in fact CAN'T be the platform of choice due to regs already written. This is a fairly large industry, you may have even heard of it, its called THE GOVERNMENT. I'm sure that most other software-purchasing governments in the world won't put up with the security compromises of open source, either.

There's another huge industry out there that could make the move to open source, but I don't see the slightest momentum to do so. The gaming industry, which has helped push PC performance standards for years now, is almost totally reliant on DirectX.

So according to dave, I should quite my job out of protest against the fascist Windows regime and go work at..........you know......that one place?

Open source is great, I love it and use several open source programs every day, hell I started programming in PHP/MySQL. However, this fairy world of open-source software companies taking over the computer industry and cotton candy clouds raining Kool-Aid just doesn't exist.

Mattkins on February 28, 2008 07:37 AM

Let's be honest:
* Windows is good for programming ONLY if you are developing using .NET. In fact for .NET work it is the best.
* Windows sucks for non-M$ programming. Non-existent shell support (no DOS prompt is not a full-featured shell - it is a poor-mans shell).
* OS X is mediocre at best for open source programming (the official RubyGems release has been broken for a very long time, not to mention issues with newer MySQL, PostgreSQL and even some Python issues specific to OS X). Many OSS incompatibilities that only get resolved after months of things not working on OS X. Generally that cannot be good for OS X open source development.
* OS X is generally speaking better for open source-based development than Windows.
* OS X provides more eye candy than BSD, Linux or Windows. (So what? I dunno, but thought I would mention it).
* Linux is the best for open source development with latest releases.
* BSD is very good for open source development, but not as current at Linux (generally).
* Linux isn't very good for Mono/.NET development.
* BSD sucks for Mono/.NET development.

If you are deploying server applications (Java/J2EE/JEE, Ruby/Rails/Merb/Camping, Python/Django/TurboGears, etc.) on Linux or BSD (which have stolen the non-.NET server market in reality), then developing the server code on Linux/BSD is the way to go as it removes many platform idiosyncrasies and significantly eases deployment.

This is as objective as anyone is going to get on this front.

SP on February 28, 2008 07:41 AM

Every once in awhile I start thinking about getting a MAC, then I meet people just like DHH and remember why I will never get one. The MAC world is full of pseudo religious types and Steve Jobs is just the minime version of Bill Gates. Not even the Linux zealots are as agravating as the Mac users.

Apache and PHP and FireBird run just great on XP and Linux.
There are free and commercial compilers for Windows, both from MS and others.
Leopard seems to have as many problems as Vista.

I plan to add Linux as a server platform in the future, but that doesn't require me to give up Windows.

jwc on February 28, 2008 07:55 AM

@jwc: no it doesn't *require* you to give up anything, but if being productive is important, it is usually better to develop and deploy on the same OS (no matter what your target OS is and EVEN with "cross-platform" languages like Java, Python, Ruby, etc.). If you aren't productive in Linux, then I would advise sticking to Windows as a target platform for now.

SP on February 28, 2008 08:09 AM

> Huh? It isn't the "Linux folks" who give you that stuff. It is the > individual OSS groups.

Quite true.

> And every single one of the major pieces of
> development software are also available for Windows. But the
> opposite is not true (Visual Studio, etc.).

Essentially true. However, they generally either don't work as well on Windows, or are kinda kludgey to get to work. It happens that just this minute I'm trying to figure out if we can get Git to work well enough on Windows to be usable for our version control needs. I'm finding that it doesn't handle network drives very well at all. There are caveats all over the place that its faster on Unixes, due to the slowness of Microsoft's POSIX file-handling capabilities. Still seems faster than VSS to me though.


> I don't understand you Linux zealots at all. You want to tell us

Heh. I got a good laugh out of this one. I don't use Linux at all. I've played with it, sure. Even ported an old CX/UX app to it once. But my home and work machines are Windows (home box is Vista even). Surely there are much jucier "Linux zealots" out there for you to go after?

T.E.D. on February 28, 2008 08:09 AM

... and I haven't bothered with Ruby on Rails since every time i look at Dice.com for the market where I feed and send my children to school I always get 0 - 0 of 0 jobs returned. Plenty of .NET jobs though.

Supporting Dependents on February 28, 2008 08:12 AM

>> my personal feelings towards Windows are
>> *utterly irrelevant* - if my company's
>> clients require that the software we develop
>> for them runs on Windows (as many of them
>> do), then we must use Windows, end of.

>No, you're missing the point of the discussion.
> DHH is talking about web development.

But doesn't 'web development' cover intranet
applications for clients who use Windows
infrastructure? You certainly want to be
developing on the same kit. This is exactly my
point, it is too easy to generalise from one's
own experience without taking into account the
huge variety of real-world commercial situations.


tragomaskhalos on February 28, 2008 08:14 AM

Great post Jeff!

It's amazing how often you state how I feel about a certain subject in a manner so much more eloquent than I could have put it.

Dennis on February 28, 2008 08:15 AM

I remember when quirky, odd, elitist nerds used to be the norm in technical environments, and their anti-social behaviors were celebrated as "part of their genius". Those that rely on their attitude rather than their performance and open-minded adaptability end up being simply tiresome, sad, quirky people. There is no singular end-all solution for all situations, otherwise the hammer would be the only tool in every handyman's toolbox, and I would be cutting wood with it. Somtimes even what is largely considered "better" does not matter, Beta was considered technically better, but VHS became the reality. Now we have DVD and righteousness is - and was foolish.

KObyrama on February 28, 2008 08:32 AM

wow. congrats on the assembly and test-firing of your internet tard collector.

Bernard Holstein on February 28, 2008 08:33 AM

Forgot the . OOOOPS!

Anyone want to loan me $2500 for a 20 year old Mac?

PaulG. on February 28, 2008 08:34 AM

I develop on Mac, Linux and Windows everyday. Windows is by far my least favourite.

I can only assume people who like Windows development are stubborn or inexperienced with the other platforms.

True, holier-than-thou attitudes are hard to take, but having developed on all three major platforms it is easier to see why people adopt them. The toolset on unix is just so thoroughly good and developer-oriented that Windows real does feel like a toy in comparison. And a frustrating toy at that.

Max Howell on February 28, 2008 08:40 AM

jwc wrote:
>Every once in awhile I start thinking about
>getting a MAC, then I meet people just like
>DHH and remember why I will never get one.

You get me "weirdest comment of the thread" award. You are limiting yourself to a (possibly) inferior platform because there are idiots who use the (possibly) better platform. That's just strange.

LKM on February 28, 2008 08:40 AM

Interesting post. Between DHH and Zed Shaw, I'm starting to wonder if the Ruby community will be stereotyped for hostility the same way the apple community is for elitism.

My first religious war was Nintendo VS Genesis. I had an NES/SNES, my next door neighbor had a genesis. It wasn't a war that I particularly cared about- I'd always subscribed to a "What works for you, works for you. What works for me, works for me. It's probably not the same thing that works for you" philosophy. However, zealotry begets zealotry, and with the constant stream of "Better graphics", "Cooler Controllers", "Sega TV" that he was always rambling on about, I found myself drug into the war by a fervent hope that if I just proved him wrong, the whole thing would some day drop. Every time something interesting was released for Genesis, he'd ask me, "I've proven over and over that Genesis is better. Why do you still like Nintendo?" And I'd answer, "Because the games are more fun." This would earn me a couple days of hostile silence (a welcome respite, to be honest) followed by an onslaught of fresh propoganda.

The point being this. The point of video games is to be fun. The graphics, the soundtracks, the budgets, and the number of buttons on a controller all flavor the experience, but if the game isn't inherently fun, you're basically sprinkling tobasco sauce on dog feces. That's what Sega Genesis was to me. The controllers were hip, the unit was sleek, but the games weren't as fun, so it didn't appeal to me.

The point of a development environment is to increase the speed, quality, convenience, just overall productivity of building the product of your choice. I prefer Windows for this, because I like writing code for the .NET platform. DHH reminds me a lot of the sega kid, "The one I picked is better, but I won't feel validated until you agree with me." I've developed on a mac before, but I never found anything I liked as much as Visual Studio. Acting like he's the authority on windows development is a little like when a vegan tells you "It tastes just like a regular hamburger." There's a confidence that hides the fact they have no frame of reference.

The point of all this isn't "Windows is better, mac sucks." It's, "Windows is better for me. Mac would not be. Claiming otherwise with zero background on me is, well, kind of stupid."

Also-
I played as Nicotine. And I rained down the fury.

-Alex

Alex on February 28, 2008 08:41 AM

Jeff,

Bet I can beat you using Jubei. :)

Wilerson on February 28, 2008 08:44 AM

I use all three on a regular basis (WinXP, OSX 10.5 and Debian Etch). I use Mac hardware because I can run all three. I also happen to like Rails, but I'm also looking at Django and Merb.

There are things I like about all three Operating Systems, and there are things I hate about all three. In the mid to late 80's my main machine was Windows. In 2000 I switched to Linux for about 5 years. Now I'm using a Mac. In 5 years I'll probably be using something else.

I'm glad Microsoft is the dominant player in the market because they're so predictable (better the Devil you know). I hope the Mac never gets above 10% market share because Apple's worse as a monopolist as Microsoft. As much as I'd like to believe otherwise, I don't think Linux will become dominant on the desktop (I *really* hope I'm proven wrong on this, but I'm not holding my breath)

So am I a douchebag Jeff?

Hmm, me thinks the pot is calling the kettle black.


Miles on February 28, 2008 08:47 AM

Jeff said:
"See, that's where you're wrong. In the right hands, *any* of those characters could kick your character's ass. Not realizing that means you don't understand the game at a very fundamental level. Or you're just a douchebag who gets off on telling other people that their character of choice sucks, while theirs rocks.

(Assuming the game isn't fundamentally unbalanced -- this is a whole other topic, of course.)"

This is actually not another topic at all. Rather, it is supreme question-begging to assume that the Windows platform and the *nix platforms are equally balanced and then go ballistic because someone asserts that one is better than the other.

My fighting game of choice was and is Tekken 3. It is an unbalanced game. Fast characters with multiple launches, combos, counters, who do a lot of damage (Law, Paul, Nina, Ogre) have it all over the Gun Jacks and Kumas of the game. You can combo Gun Jack and Kuma when they're on the ground, for God's sake.

In a player's guide I owned, there was a matrix of character A vs. B strength, based on average number of matches won by character A when two players of equal strength played each other. There was a broad distribution of power; all characters were not created equal. You could not button-mash with Eddy and match Heihachi. Let me correct that slightly: above a certain skill plateau, it just could not be done. However, the same was not true below the plateau. When you were better at Tekken, the skill differences were magnified such that a great player on Gun Jack would beat an average player on Paul.

There might be a skill plateau above which a great programmer will always be better than an average programmer, regardless of the platform. That's what you're talking about in the post. Boring. The conversation that would be much more interesting would be whether Windows vs. Unix is more like Samurai Shodown or more like Tekken 3. Will a great programmer on Unix best a great programmer on Windows?

How could we decide between these two things? What metrics could be used? For me, the closed-source nature of Windows is such a misfeature that it seems obvious that we're playing Tekken. But we can go on. The POSIX calls are better on Unix than Windows. Windows frameworks are underdocumented and don't play nicely with others. Windows adds features at the expense of stability. Windows made a mess of access permissions.

If you wanted to say that we're playing Samurai Shodown, I guess you'd say that I've misrepresented these metrics, or that the metrics don't matter. You might come out with your own metrics, which show that every operating system is shiny happy people.

But I'll also add, that as interesting as that discussion would be, that's not really the point DHH was getting at. He said that someone who voluntarily seeks out Windows as the superior platform is not interested in metrics like openness of source, stability, POSIX, open frameworks and the like. In short, they play Samurai Shodown. They might be right for what they're doing, but it turns out that they're wrong for 37signals. 37signals is definitely playing Tekken.

Ron on February 28, 2008 08:53 AM

Internet 'tard collector indeed!

All of you frothing-at-the-mouth platform zealots (Windows or OSX) prove one thing quite well...

http://dogtoe.com/weblog/wp-content/uploads/2007/01/arguing_on_the_internet.jpg

Mike on February 28, 2008 08:55 AM

Jeff, I was also kinda wondering if the idea for this article about negative attitudery came from a recent AdAge article on a study by Mindset Media(or if it is a coincidence)... that found that Apple's ad's personifications of Mac users was dead on (I am a Mac user BTW, as well as Windows and Linux). Their research "mind-set profile" - a psychographic ranking system that scores respondents on 20 different elements of personality - found Mac users to be more assured of their superiority and less modest than the general population.

Linkage:
http://adage.com/article?article_id=123350

KObyrama on February 28, 2008 08:55 AM

Wait. I thought the whole thing was that we are talking about people developing for the WEB. Pretty much, you can write your source files in whatever editor works best on whatever OS you like. It really doesn't matter, since your going to upload these files to your server anyway.

I have never heard anybody say I had to use a Mac (or Linux) to write in Ruby. I certainly don't have to use a Linux to write php, perl, or Python.

.Net programming without windows, is difficult, but not impossible.

Now, if we are talking about which OS makes better servers for those files, then, well—not Apple.

I don't understand how people can get so heated about the OS when the OS doesn't really matter that much anymore.

Jeff Davis on February 28, 2008 08:58 AM

Samurai Shodown II was my favorite game ever. My best character was Jubei (the only true samurai in the game, incidentally). It's a shame he was absent from SSIII, and by the time SSIV came out, the "feel" of the game was too different to hold my attention. Ah, the good old days.

infidel on February 28, 2008 08:59 AM

Jeff's main point is a bulls-eye.

Famous pilot Chuck Yeager, driving obsolete National Guard hand-me-downs in practice dogfights, would invariably "wax the tail" of hot jocks in the latest fighters. Skill is ALWAYS much more important than tools, environment, hardware, or the practitioner's personal preferences. I've observed this truth repeatedly in the programming world, as well as in woodworking, martial arts, engineering, cooking, management -- just about everything.

Thus, as an employer, I always look first for SKILL in prospective programmers and engineers, regardless of particular background in languages, operating systems, and tools. Indeed, many programmers have lots of particular experience, but no skill at all...

Jeff R. on February 28, 2008 09:13 AM

Something to think about: what percentage of developers currently using Mac for their work have experience with Windows?
And what percentage of developers working on Windows have experience with Linux/OS X?
And now who can make a better comparison?

Rimantas on February 28, 2008 09:18 AM

Amusing how on an article about platform douchebags (and that is a fitting term for them) that people continue to proselytize. If you have to justify what platform you run to random people on the Internet, then I suggest you figure out why you need to use it and be content knowing that it fits your needs. Why does everything have to be this gigantic zero-sum game? Why do developers insist on making everything a contentious point of ego? The ego is exactly the problem here.

The Internet as a whole is tiring because the sheer amount of attention that gets poured into these idiotic discussions, where nothing is resolved in a faceless, ego-driven battle of wits. The 'people-driven' Web 2.0 thing is a huge step backwards.

Matt Green on February 28, 2008 09:21 AM

As a comment, though... You just bashed Beautiful Code for not having enough pseudocode last week. The first step towards being platform-blind is being able to operate on all the platforms available. Religious wars are fun, but just saying, "F** you," in response to all suggestion leads to close-mindedness.

I'm a bit close-minded about Windows and OS X, I admit it, but I've earned it. And I know the alternatives.

Dylan Brams on February 28, 2008 09:27 AM

Wow. What a douchebagish article.

If I understand correctly, you are saying that it doesn't matter if I adhere to any standards or follow MVC, because the "it's the results that matter".

Would you respect my work as much if I used Word to write code, making multiple copies of files as my "versioning system"? The resulting web app *could* be the same...

Perhaps if you are a one-man shop. If I expect you to work on my team, you should be knowledgeable, educated, and use the best tools at your disposal.

Tamal White on February 28, 2008 09:30 AM

EARTHQUAKE!!! The BEST player in the game. He was just the one with the longest learning curve. I used to whoop-ass with Earthquake. One guy got so angry with me beating him repeatedly that he actually waited until I left the arcade and tried to hit me with his car.

However, believe it or not, Earthquake was nerfed in SSII compared to SSI. In SSI he was near-unstoppable, you could kill about any character in two or three hits. But it was not as balanced, Gen-An was cheap as hell and Ukyou could throw an energy attack and do a lunge underneath it, effectively attacking low and high at the same time, which was unavoidable to a larger character like Earthquake. The only way to really avoid that was to get in your attacks early and keep them down until dead.

This really has nothing to do with software development, but it's so nice to see a confluence of interests on one of my favorite sites.

Erik Harmon on February 28, 2008 09:30 AM

David's argument is just plain silly.

Can you imagine how it would go over if HR people started asking whether you were a democrat or a republican during the job interview?

"I'm sorry, we know you have the skills for the job -- but republicans just don't really fit into our corporate culture."

When he's writing Ruby on Rails code and he needs to consume a web service, does he shun services written by talentless Windows hacks running their inelegant applications on inefficient Windows servers?

Through my life, I've noticed that the most common attribute among racists is a lack of experience with other cultures and his comments definitely smack of platform-ism.

I can understand him wanting to toot his platform's horn but approaching it in that manner of black/white makes him sound like a tool.

Timothy Lee Russell on February 28, 2008 09:30 AM

Ryan:

>i once tried to update a client site using one of their in-office >windows boxes, i fiddled with putty and ie6/some freeware garbage >ftp program and other stuff for an hour, told the client i wasnt >going to charge them for that and i'd be right back. half an hour >later i was doing the work on my laptop in their office with much >less of a headache. it's as simple as that... and, yea, yea, what a >fanboy, etc... but i only switched, as dhh also mentions, in 2005 - >and, believe me, for good reason - and to my benefit.

You mean you tried using tools you are not familiar with and were unsuccssful, but it's the OSs fault?

Dennis on February 28, 2008 09:33 AM

I've developed for both the Windows and Non-windows world (I'm including Macs in the non-Windows world for a variety of reasons). I simply prefer the non-Windows world because I find it a lot less limiting.

I don't mind proprietary operating systems (Mac OS X is a proprietary OS), but I hate the closeness of Windows. Windows seems to do things just because they can. The most exciting development going on is in the Web programming arena, and Windows is far, far behind.

Microsoft seems to be doing its damn best to make Windows a second class citizen on the web. Almost all the people I know working on projects like Apache, Subversion, or PHP hate Windows because what will work on Linux, Unix, and even Mac OS X will simply fail on Windows without a lot of tweaking. Even web designers hate Windows and Internet Explorer because they work so differently from everything else on the Internet. If it wasn't for Windows super majority market share, most of the developers I talk to would simply ignore Windows.

You complain about Mac OS X being a locked down platform. How is this so different than Windows? With both, you have to learn a proprietary UI and can only run programs compiled to their platforms. But, this is not exactly true. I can easily download almost any Open Source application, modify it, and compile it on Mac OS X. To do the same for Windows takes a lot of tweaking. It's simply easier to load Linux and use that for web development.

I've seen both the Windows and non-Windows world. The Windows world is a big world, but it's closed. A Windows developer can easily get a job at any corporation. Many banks use .NET. Most Windows development use VisualStudio and either Visual Source Safe or Team Foundation. But they can't communicate with anyone else. Source stored in Team Foundation and Visual Source Safe is locked into the Windows world. .NET only runs on Windows server.

I can't blame David Hansson for his comments because he is correct in many ways -- especially for development in his company. Most Windows only developers just don't know what's going on in the world. If it can't be compiled in VisualStudio and it can't run under .NET, they believe it isn't worth doing. The few Windows developers who do see beyond Microsoft's limited vision don't use Windows when they do their web development. Instead, they reboot their Windows machine to their Linux partitions and run their Apache servers, and program away.

David on February 28, 2008 09:33 AM

To add to my previous post about Chuck Yeager and skill:

As an employer, I love it when a programmer comes in proclaiming "XYZ is (insert superlatives here) but PQR is a load of sh-- and those PQR people are a bunch of idiots." I love it because then I know everything I need to know about that programmer, and can quickly show him the door.

In my experience, the best programmers don't get into religious wars, don't flame like that, and always take a balanced, objective look at alternatives. On the other hand, the opinionated bad-mouthers are generally not only skill-less, but completely ignorant of their skill-lessness. That makes them worthless as employees, because they will never improve -- since they don't know how dumb they are to begin with.

Jeff R. on February 28, 2008 09:34 AM

The guy seems like a douche for sure. As a Windows programmer I'm really upset that I'll never get to work on any of the dumbed down crapola 37signals pushes out there with that "haha we are so genius cus we cut down on the feature set" attitude.

David Fauber on February 28, 2008 09:37 AM

>Can you imagine how it would go over if HR people started asking whether you were a democrat or a republican during the job interview?

> "I'm sorry, we know you have the skills for the job -- but republicans just don't really fit into our corporate culture."

Ah, but that is the point. If you are using windows it is either because you are stubborn and refuse to switch, or you genuinely don't care enough about your tools to look into what is the superior platform. That's not the kind of person I want working for me.

I use windows all day long at work because I'm forced to. If I didn't have to have this job I wouldn't, I'd be working for a company that values things like it's toolset instead of just sticking with whatever crap they've been using for 20 years.

thedude on February 28, 2008 09:46 AM

The Ruby community cares about aesthetic more then the windows community. Most windows guys think pluralism is stupid.

After being a .NET developer for 2 years I feel like lighting all my college textbooks and patterns and practice books on fire.

After attending a few Ruby User Groups I think #1. I made a bad choice in windows and .NET. They LIKE their tools. Zomg how many fricken times do i need to delete Class1.cs in a new project in VS.

The DHH FU is along the lines of a punk rocker telling the establishment to f off. The other communities have different values and culture.

They value aesthetics, they value patterns, they value naming... You want to know why we windows developers get a bad name? Just read the comments on the Old New Thing.

"Why does my malformed struct passed to windows api x cause an error on vista!11one It works on xp!1one"

"Zomg uac is suk. The os should know i'm an admin"

Give me a break. Windows programmers, my peers, are so used to draggy droppy, if its got a bug blame the OS, bull crap.

Its like they know that they can always blame Microsoft for any problem they run into. No matter what it isn't their fault it's Vista's or its Microsoft's. Have some integrity.

Tell a windows user that their favorite program isn't going to run on Vista... cry cry cry and blame Microsoft. Tell a Mac user that their favorite program isn't going to run on the new OS X, they complain to the software company that WROTE it, asking why the heck they are so behind the times.

I look around and see that there are only a few windows developers out there that have the same high standards and values as the Rails guys. Per capita the other communities have higher standards. Maybe it's because windows is so good it allows any tool to get started.

Don't confuse Elitism for pretentiousness. Elitism of the Rails guys is a good thing. It means they CARE. It's not pretentious if its true that they are better then you.

brian on February 28, 2008 09:47 AM

its a "I love swords, why isn't everyone using swords?". but sometimes, complaining is the only way to heal your pain when there's nothing else you can do :(

owen on February 28, 2008 09:47 AM

Of course DHH is going to bash Windows programming on the web. He wrote Ruby on Rails for Christ sake. What do you want him to say, Windows is OK but Ruby on Rails is better (politically correct).

Now I have never used Ruby on Rails and I have programmed for Windows for many years using C++, VB, ASP, and C#. Now I respect DHH for creating Ruby on Rails, but if his opinion is that because I use Windows environment to program in therefore I suck, then fuck him.

I'm not going around and saying if you not using Windows you suck, or if your using Ruby on Rails you suck. You use the tools and platforms that your client dictates.

I just don't get this elitism and favoritism among tools and platforms among programmers. Aren't we all in the same boat by providing solutions to users and clients??? Jeff, your guilty of it as well (to some extent) by bashing DHH. It takes 2 to tango. Your better off just ignoring it.

Jon Raynor on February 28, 2008 09:49 AM

Your remark: "Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags." Definitely makes it sound like you are calling all people using rails and OS X douchebags.

You should probably be a little more careful in phrasing the next time you make a similar statement.

Billkamm on February 28, 2008 09:59 AM

> I just don't get this elitism and favoritism among tools and platforms among programmers.

That's because you're one of the ones DHH is talking about. You're completely oblivious to superior platforms and refuse to even consider the idea that you aren't using the best tool for the job.

As programmers we really should be the ones moving our clients to these better platforms, but no, we just sit by and continue to perpetuate the monopoly-of-the-mediocre for as long as we can make a quick buck.

Now THAT'S a fanboy.

thedude on February 28, 2008 10:01 AM

Instead of "douchebaggery", why not "douchebaggotry"?

anonymous on February 28, 2008 10:01 AM

> The few Windows developers who do see beyond Microsoft's limited
> vision don't use Windows when they do their web development.
> Instead, they reboot their Windows machine to their Linux
> partitions and run their Apache servers, and program away.

If you're doing web development, all you need is a good editor. So why would I have to change OS?

BTW, I have 11 years of experience with Linux and Unix systems. I have at least 15 years of programming experience, 8 of them I have worked in the "Internet" industry. It doesn't matter to me what OS I use, but currently my desktop OS is Windows XP so that I don't have to reboot to play games :-)

N on February 28, 2008 10:12 AM

I'd rather be a douchebag than an asshat putting all code behind button click handlers.

brian on February 28, 2008 10:12 AM

Man, this really brought out the 80%-ers on both sides.

Tom Clancy on February 28, 2008 10:14 AM

DHH definately has the zeal of convert. Didn't he used to be a PHP programmer?

Jimmy 2 Times on February 28, 2008 10:15 AM

>If you're doing web development, all you need is a good editor. So why would I have to change OS?

Yeah, I don't get this argument or the "OMG svn is so hard to use on Windows" thread that keeps popping up here. Give Tortoise a shot. I know it's lame and closed-minded to have a GUI front-end to anything, but some of us have other stuff to do.

Tom Clancy on February 28, 2008 10:15 AM

I liked very much your post :)

In other words, it doesn't matter the weapon, but the warrior.

:)

PD. I follow you at twitter, and try to read all the good posts you give us, thank you so much.

Dx on February 28, 2008 10:16 AM

Well put Jeff. I laughed. I totally agree that results is what matters.

You should come over and play Tekken some time.

Andy Visser on February 28, 2008 10:18 AM

Everybody here talks as if you choose the language and platform and your customer or employer just agrees... reality is the other way around

Regards

Jorge Diaz Tambley on February 28, 2008 10:22 AM

Well said. Jeff, just so you know - I greatly appreciate your posts - ever so *insightful*... so thanks for a great blog!

Mike on February 28, 2008 10:23 AM

Overgeneralizers are douchebags! Er, um, wait. No, that's too broad:

Overgeneralization is the tar-and-feathering tool of choice for douchebags. Yeah there we go.

When you're drinking water, you're using the hydration agent of choice for murderers and child molesters, and you're guilty by association. So, off to jail with you!

matt on February 28, 2008 10:23 AM

also: david's post is a year old. enjoy stirring the hornets?

matt on February 28, 2008 10:27 AM

@Jeff R.
As an employer, I love it when a programmer comes in proclaiming "XYZ is (insert superlatives here) but PQR is a load of sh-- and those PQR people are a bunch of idiots." I love it because then I know everything I need to know about that programmer, and can quickly show him the door.

In my experience, the best programmers don't get into religious wars, don't flame like that, and always take a balanced, objective look at alternatives. On the other hand, the opinionated bad-mouthers are generally not only skill-less, but completely ignorant of their skill-lessness. That makes them worthless as employees, because they will never improve -- since they don't know how dumb they are to begin with.


This is the reason Fortune 500 companies still acrete COBOL/VSAM. They ain't no thing better. I bet you're a mid-level manager at o' them. Such folk are very antsy about boundaries; they insist on making them in their 20's and never shifting them. This is also the motivation of the Indian saga: only the very poor and desperate will accede to throwing more dung on the pile.

Change is not always progress, but progress is always change. And, no I wouldn't get within 20 miles of guys like you.

:)

BuggyFunBunny on February 28, 2008 10:30 AM

This post was so much trollbait, but I still had a good laugh. Bravo!

(I'm not saying I agree with everything in it, or disagree, just that it was generally hilarious.)

Aaron G on February 28, 2008 10:32 AM

I like writing code, but I like making money even better. Therefore, since I'm not a fucking idiot, I choose to use whatever platform will make the most money.I'm not making a social statement, I'm not making a political statement, I'm not trying to win brownie points with the cool kids.

I'm looking to make a fucking buck.

If that means writing assembler for an 8080 then that is what I'll do.

Whatever on February 28, 2008 10:32 AM

This is excellent post! Although I do use a Mac (and OS X), but not Rails or Ruby (more of a Python guy) I agree with this post 100%. I don't have anything against people who use Windows or anything else. Use whatever suites you best.

Šime on February 28, 2008 10:35 AM

I have actually talked with DHH in person many times. He is a genuine and nice guy.

What I don't understand is why you have dredged up a post from 3 years ago. His most recent comment (from last year!) was a statement of opinion that doesn't carry nearly the weight that you are attributing to it.

This post just seems atypical of you Jeff.

Jeremy Pinnix on February 28, 2008 10:35 AM

Douchebag or not, I still believe that the only reason people use a Mac is because they are too stupid for PCs or too hip to develop on Windows.

Another good reason to not be a strictly open-source programmer: compensation. This may sound shallow but I think getting paid in "equity or cash if we gain vc, also depending on your level of participation" would get old after awhile. If you don't believe me check your local job search site for "PHP" jobs.

The Samurai Showdown reset was nice! I was the same way with Mortal Kombat and could beat any player using Scorpion or Kitana.

Will Asrari on February 28, 2008 10:43 AM

@Whatever, @BuggyFunBunny.

Amen people. Amen.

The comments on this blog are of typically high caliber that I'd just be repeating what others have said.

Rob S. on February 28, 2008 10:47 AM

"Don't waste time arguing about the character select screen. Results speak loudest. Show the world what you can do in your programming environment of choice."

I don't think DHH is arguing...just loudly expressing a provocative opinion. It sounds more like you are arguing with him??

DHH is showing the world what he can do with his programming environment of choice...he wrote a framework and now has a pretty solid dev community, started a successful company and produced some amazing web apps.

You?

Chris on February 28, 2008 10:48 AM

A bad workman always blames his tools. Indeed.

But most workman have a favoured set of tools.
Whether you like it or not.

And not recognising that by letting that conglomerate push bad tools puts the quality tool making shops out of business is too nonchalant for most. Such that some think you disrepect the craft.

Don't complain one day that the corner shop has disappeared when you only ever shopped at Wal Mart my friend.

Ol' Hairy on February 28, 2008 10:54 AM

I'm still waiting for the platform that is as good as Uyko was in Samurai Showdown 2! Balanced my ass!

Galford was still the coolest though.

Paul C. on February 28, 2008 10:54 AM

> This post just seems atypical of you Jeff.
The quote from this guy is merely a way to talk about the larger culture of elitism and closed-minded "my way is the best for EVERYONE" that pervades among programmers.

I don't think I'd want to work with someone who is like that. You'd be the guy who never shuts up about how great so-and-so technology is, and how it isn't fair we aren't using your pet technology to do everything, and how it would be *much* easier if we did everything with it. (We just have to re-train everyone for several weeks, but then we'd all see the light and it'd be wonderful!) Basically, it is someone who is more about talk and less about developing software that kicks ass with whatever tools they use.

It is hard to feel threatened by such a crowd though. They lock themselves to whatever they're religiously attached to, making those of us who have experience on other platforms look far more flexible.

Matt Green on February 28, 2008 10:56 AM

Thank God. Someone had to say it. This is your best blog in a long time.

Some of us aren't in this business to chase some nirvana pipe-dream perfect electronic society. Some of us are here to make money. I am one of those. Sure, there are other reasons to choose programming as a career, and I do enjoy it, but again, I'm here to make money. I choose the platforms I choose because I'm making money at it. I deliberately chose the thing that would give me the most job prospects and make me the most *money*

This might sound a little greedy, but I learned a long time ago that there is one thing in life that allows you to do the things that really make a difference in this world - feed your kids, support charities, go green, etc... and that's cold hard cash. Personally, the open-source free software movement can take a flying leap - unless they can show me how to make wads of cash with it, they can keep their religious ideals to themselves.

Jasmine on February 28, 2008 11:25 AM

> Douchebag or not, I still believe that the only reason people use a Mac is because they are too stupid for PCs or too hip to develop on Windows.

Believing something doesn't make it true. Also, it shows your ignorance of an entire platform. One that has been a serious contender since 2002 and a front-runner for almost as long.

I believe that the only reason people use windows is because they're too stubborn and oblivious to know there's something better. The difference between us? I used to _be_ one of those stubborn oblivious people and have seen that there's a better way than blindly following the crowd of sheep.

thedude on February 28, 2008 11:32 AM

I think some posters nailed it on the head when they say that they program on windows for money.

That is the main difference I see between Rails guys and Windows programmers.

Rails guys do it for love of the game not the money.

brian on February 28, 2008 12:00 PM

talk about sheeps and conformists...you heard about the joke about that guy who conformed with the rest of the non-conformists?

techy on February 28, 2008 12:05 PM

I follow the teachings of Jesus who taught not to return Douchebaggery for Douchebaggery.
Despite the nice touch of including a picture in a slide presentation, your point would have been *stronger* w/o doing so.

Brad on February 28, 2008 12:20 PM

Hmmm.

So he's saying that running an editor on a Mac is somehow morally superior to running it on CP/M or XP or VMS or OS/360 or Solaris or TRS-Dos?

Kind of a funny notion...he's pretty young, isn't he?

David on February 28, 2008 12:20 PM

PICARD > KIRK.

ramen on February 28, 2008 12:28 PM

>Unfortunately, naive douches like Dave seem to forget one major
>industry where open source will never be the platform of choice, and in
>fact CAN'T be the platform of choice due to regs already written. This
>is a fairly large industry, you may have even heard of it, its called >THE GOVERNMENT. I'm sure that most other software-purchasing >governments in the world won't put up with the security compromises of
>open source, either.


Wow, that must explain why Red Hat, for example, does so little business with the US government. Certainly no agencies as important as the FAA, the DOD, NSA, or NASA would touch Linux with a ten foot pole.

Most certainly no governments outside of the US would touch open source either.

Jon on February 28, 2008 12:33 PM

Meet the new boss, same as the old boss. It's all the same crap, really. Drive a Ford, drive a Chevy. Drink Coke or drink Pepsi. Look, I'll change my tools mostly when I need to, and sometimes when I want to. At the end of the day, you've got a product to make/maintain and it's not the tools that are going to hand you success or failure. It's the people. It's always the people.

Look, maybe the car I drive (vb.net) isn't the cool car out on the street, but it gets me from point A to point B and I like driving it. If you want to call me an idiot for that, go ahead. But who are you and what do you mean to me: the answer is nobody and nothing.

Kenneth on February 28, 2008 12:42 PM

Samurai Showdown is ripe for a reboot these days. I loved that fighter when I played in it the movie theatre arcade. I always played with the Snakeyes-looking ninja. I couldn't stand the fat guy ;) Although I did like the green guy with claws. Then I found DOA2 on PS2 and have never looked back. By far DOA2 (or series) is one of the best fighters around.

Morning Toast on February 28, 2008 12:43 PM

Terrific post and excellent way to tie in the arcade story.. The ball is in your court now David.

Nicholas on February 28, 2008 01:17 PM

I work for a company that writes a windows based application. The application is limited to Windows for a couple of very good reasons, the first and foremost being: it's what 98% of our target customers will run.

I think writing software is all about eating your own dogfood--if the application you're working on runs on *nix, you'd best get your ass off the Redmond crack. If your target application is Windows, you should know Win32 like the back of your hand.

Our application runs on Windows XP, Vista, etc, so the notion of developing on *nix is silly. I have installs of XP, Vista, and Windows Home Server, among other things. Why? Because this is the domain in which my software resides. I did not have the luxury of selecting this software; it is simply the way things are.

Do I like *nix? Oh sure. Love it. Think it's great. I would (and do) happily run a *nix desktop, participate in open source projects, etc. But I'm not here to be an evangelist: I'm here to produce software for a customer, and that customer doesn't have the foggiest idea what a shell is, how to use vi, whether or not rails is the best thing since sliced bread, or what Ubuntu is. They simply don't know, and they definitely don't care.

Eat your own dog food. If that dog food is made by Linus, so be it. If it's made by Bill, super. But be damn sure you're not in the cat food isle if that isn't what your customer wants or needs.

Jeremy Noring on February 28, 2008 01:19 PM

Your syllogism is FAIL!

"DHH" is not the class of douchebags!

Return to logic academy!

Also, you are fail!

.NET is non-free!

Do not collect freedom, instead, money!

Zack on February 28, 2008 01:20 PM

awesome. posts like this is the reason I subscribed.

Trance Henriq on February 28, 2008 01:30 PM

easily one of your best posts. well said!

Gaurav Sharma on February 28, 2008 02:04 PM

I develop web applications better than 90% of other "web developers" out there, and I do it using a windows platform. I don't mind being arrogant in an anonymous setting, my own knowledge of my product speaks for itself, and I do not need to justify with an example, take that as you would like to. If I switched to another platform or language, given a short training period, I would be as effective of a developer. The developer makes the web application, not the platform. The developer also makes the money, not the platform. Last time I checked, where I am in my career, and my target demographic, I can make more money as a windows .NET developer. That may change, and if it does, I will go to that technology. You will never be an effective developer if you are tied to a single OS/Language/Technology. :End arrogant rant:

Alex on February 28, 2008 02:06 PM

Is it really worth posting this. This is what trolls want: attention. Better to let him wait for the year of the Mac/Linux whatever.

Josh on February 28, 2008 02:14 PM

1) Samurai Shodown II is not balanced. Ukyo is overpowered, particularly since his Swallow Slash allows for an extremely powerful mix of aggression and turtling. Sieger, on the other hand, is very weak against any number of tactics. Earthquake was middle of the road, if I recall.

2) Ryu and Ken are extremely popular, thus their tactics can be transparent. But those tactics, perfectly executed, still win repeatedly. At the tournament level, Zangief or Dhalsim tactics are just as well-known: security through obscurity is no security at all. I'm a Zangief guy, though, so I understand about Earthquake.

3) The Super Nintendo had better hardware and better games. But true gamers had both.

4) I use Ruby as a Swiss Army knife to do preprocessing and utility in Flex and AS2 projects. The Japanese side is, to my understand, very charming and polite. Who needs Rails?

Alan on February 28, 2008 02:21 PM

Chris is right - I should definitely wait to meet him before calling him a douchebag. ;-)

Anyway, I hate religious nut jobs, whether they be Bible-thumpers, homicide-bombers or technology koolaid drinkers.

I 'chose' Windows because it has such a large percentage of the market share, and I wanted to build software for a living (read, paycheck) in my hometown.

Two of my first Windows (non-DOS, that is) pieces of software will turn 10 years old this year, and they are still used every day. I would like to think that I would do good work no matter the environment.

Andy on February 28, 2008 02:29 PM

Whatever. As a friend of mine said, if you don't install any software written by dickheads you'll have a very empty hard disk.

Spruce Moose on February 28, 2008 02:35 PM

"Guess which reaction is more common? Actually, there's no need to guess, as I can guarantee every Windows programmer reading this is thinking #2 right now. As an evangelist looking to increase adoption of your platform, this is a remarkably poor strategy. When has abusing people into agreeing with you ever worked?"

"David gets off on putting other people down.
And that makes him kind of a douchebag.
Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

Irony... sense... jangling...
Great post.

Tom on February 28, 2008 02:36 PM

"Heh, once you go Mac, you don't go Back. :)"

Actually, I spent two internships writing software on OSX.

I hope never to touch a Mac again.

Telos on February 28, 2008 02:38 PM

"It's not pretentious if its true that they are better then you."

Then you what?

Pretentious Asshat on February 28, 2008 02:41 PM

Hell, I'm just happy to be programming in ANY environment... and getting paid, that is...

Juris on February 28, 2008 02:55 PM

I use a Mac. The built-in unix underpinnings make me more productive than a Windows user could be out of the box. Visual Studio 100 might be super awesome for editing .NET code, but what happens when you need to automate a deployment or reformat a few text files? For those types of tasks unix provides far better tools.

SSH came standard on my macbook. No need to download putty, cygwin, or whatever else to securely login to other servers (how many windows devs just use telnet and pass things in cleartext around the internet).

Mac OSX and Windows are not at all like balanced characters in some sort of software game. Mac OSX is a better tool all around for most development work.

Normally I like your insights, but I think you are way off base on this one. Macs are just better tools for the job of software development if you have a Unix background.

Nate on February 28, 2008 03:44 PM

Jeff, this is the greatest post you have ever made (IMO). And that's saying alot. An instant classic that I will read again tomorrow (and perhaps the next day). Perfect title, perfect thing to call such a prick, and perfect illustrations.

Josh Stodola on February 28, 2008 03:59 PM

Every OS got its strengths and weaknesses. For those who don't agree Windows has its strengths, perhaps, they overlooked at their favorite platform.

We are flooded with developers who are not an expert in competitor's technologies but love to criticize. Worst of all, most of them just copy points from others without really think about these points. Perhaps, they just want to show off their so-called "knowledge", or, they just want to evangelize their platform but do it in the wrong way.

Good guy learn from his weaknesses, and ugly guy criticize other's weaknesses.

Thanks for the great post!

Compulim on February 28, 2008 04:00 PM

Using OS X because "its unix underpinning" is lame.

Do you really think us Windows dev don't have shells, make, grep, lex, yacc and other unix tools? Or that they run "better" on OS X?

We use Cygwin or Microsoft's own native BSD-based POSIX subsystem, MS Services For Unix (i.e Integrix). Both of which are free.

We have both unix tools AND the windows-based tools

but you knew that..

Ulric on February 28, 2008 04:18 PM

"...not because the platform is technically superior in any way."

Been a long time since I could put 'technical superiority' over 'food on the table'.


DaveE on February 28, 2008 04:35 PM

@Ulric

Yes I am aware of how windows has so many unix tools available to download.

The built-in shell in windows is no comparison to a real shell. Cygwin is cool, but suffers from having to install if and it isn't really as compatible with the rest of your windows system. Sure you could spend a couple hours downloading, installing, and configuring a unix shell on windows - but you get all of that installed as standard on an OSX.

I've used many different systems and the unix that comes with Mac OSX is a lot nicer to use than anything I've had on Windows. Mac OSX is a better Unix than what you can get on Windows.

It's really telling that all the windows people here keep throwing out insults like lame, douchebag, asshat, and prick while trying claim a moral highground to those of use running the superior operating system.

Nate on February 28, 2008 04:54 PM

Storm: Check.
Teacup: Check.

Andrew Russell on February 28, 2008 04:59 PM

"Wow! Look at me, I'm cool because I can build a To Do list using Rails and a Mac"

Seriously, has 37Signals built anything that took more than 1000 lines of code?

Anyways, good post Jeff and thanks for sticking up for us Win programmers. It's already been said a thousand times over but a good programmer will get the job done no matter what. And one more thing...a language like Rails is fun and cool and all the rage these days but we're really comparing apples and oranges here. I mean the family of C/C++ languages have been around for a looooooong time. These languages are proven and versatile...you can write whatever the hell you want with them from embedded apps, to voice recognition to database driven crap...and yes....even a Todo list. Try doing even just a fraction of that with Rails....and..haha a Mac!!??

LAME!

Ralph on February 28, 2008 05:30 PM

"I use a Mac. The built-in unix underpinnings make me more productive than a Windows user could be out of the box. "

That's great. The downloadable free tools and professional development tools will quickly trump your out of the box productivity.

"Visual Studio 100 might be super awesome for editing .NET code, but what happens when you need to automate a deployment or reformat a few text files? For those types of tasks unix provides far better tools."

No it doesn't, it only provides better tools out of the box. Download Powershell and you have a great command shell that allows you to call all the .NET libraries, easily trumping anything I know of in UNIX.


"SSH came standard on my macbook. No need to download putty, cygwin, or whatever else to securely login to other servers (how many windows devs just use telnet and pass things in cleartext around the internet)."

None, we use RDP not telnet.


"Mac OSX and Windows are not at all like balanced characters in some sort of software game. Mac OSX is a better tool all around for most development work."

Out of the box, maybe.


"Normally I like your insights, but I think you are way off base on this one. Macs are just better tools for the job of software development if you have a Unix background."

You've only said it comes with better tools out of the box, that hardly proves it's a better overall dev platform. The professional tools you can get for Windows probably pull it ahead as a dev platform. The solidness of the .NET library, which is so good people are attempting to port it to UNIX, almost certainly pulls it ahead.

Telos on February 28, 2008 05:32 PM

Amen, well said.

OS X/Rails is nice, and windows does blow, and linux will own them both someday, but in the end tools are tools, its what you do with them.

Sam Liu on February 28, 2008 05:40 PM

Who cares about what he thinks... Apples OS is just going to be a Windows bootloader in the near future anyways. Only good product they have is the ipod.

Iron Python + Silverlight is all I have too say...

AppleHater on February 28, 2008 06:15 PM

What about Irix on Silicon Graphics? Now there was a great development environment (for what I was doing at the time, of course).

My biggest problem with Linux has been finding a really good debugger. I haven't seen the tool chain available for OS X.

Matt on February 28, 2008 06:24 PM

I thought this entry title, linked from a news feed would lead me to an article describing real douchebags, like those associated with the site Coding Horror who constantly try to knock down a specific group based on a limited view they hold.

I read the blog entry posted here--though I expected nothing short of more ignorant spouting of the mouth--because of the title. 'Douchebags' is a specifically defined sub-group of the world, and though there might be many douchebags with a mac on hand, or think they kick-ass at RoR, douchebag and douchebaggery is the behavior portrayed by one Mr. Jeff Atwood and his ilk.

Server technology for many a developer/engineer/architect in our industry eventually crosses into the world of unix/linux. You can code day-after-day in .net, Ruby, Python, C++, and eventually you will need an understanding of unix/linux. When a candidate walks in the door with only windows/.Net/C++ for a job open in the IT or Development Industry, they are going to be looked at as unqualified for the job, unless said job is windows-only, or if they actually do have unix/linux experience of some kind.

This has been the case for over a decade, and it's not snobbery on the part of the hiring co., it's just a fact of life. Now to espouse this fact with gusto doesn't make you a douchebag, it makes you keen. Diversity of skills. Mac people might be cultish, whatever, people who only think in the Windows world are too far along to wake up from their cult of thought, it's a shame they lash out and misconstrue the facts of the matter just to feel self-secure with the path they have chosen.

The term, 'Douchebag' should not be used if you are a douchebag, or don't understand who the term should be directed at. This article would probably have more legs, if at least the term wasn't thrown around like a child with an f-bomb.

DouchebagHater on February 28, 2008 06:42 PM

Before I begin I should say:
1) The company I work is not in the software business, it just needs programmers. So for example, saying "download Monad" doesn't quite work, because the IT department likes to lock things down.

2) Most of the people I work with aren't good programmers. Some were promoted from other departments when they showed a programming aptitude, but of course the ones that promoted them can't really identify WTF code*. So, you can't really apply anything I say to the general programming community.

That said, I think people who predominately program for Windows vs. Unix tend to approach problems differently. The phone number problem in that recent Phone-Screening post is a good example. The Windows users I work with wouldn't have any idea what a regular expression is.

The one thing that strikes me is how little they know beyond the programs and processes they commonly use. Only one has really made any attempt to sneak some useful tools past our IT department, and he only knew about most of them because I mentioned them. I can definitely see the possibility of a mac user who for example writes a long complicated script to do something an obscure built-in could do, but for the most part the Unix people I know have stepped at least slightly beyond their comfort zone and even if they don't know how to solve a given problem three or four different ways, they generally know that other solutions exist.

Granted, I don't work with superstars but an example is probably in order: Recently one of my coworkers (an actual CS major) was approached with a list of id's (I think five files of 20,000 or so) and asked to return a list of all of the ones that weren't in a particular database table. I'm still not sure what he was trying to do, but his first instinct was to use Excel, and he wasted about an hour with this before approaching me. My first thought was to copy the files to our Unix server and run cat, diff, and grep. His eyes glazed over. I wanted him to have a solution he could re-use, so doing it myself the easy way was out of the question. Eventually I walked him through a programming (well vbscript) solution that used a hash table (dictionary?) to store the ids from the files lists and compare that against the database list.

*One guy who majored in Economic came to his interview with nearly self-taught VB code. He recently mentioned he's curious to look at it again. Working with me on some projects has taught him some better programming practices, and he now knows he probably just dazzled the hiring manager by just having code.

Greg P on February 28, 2008 06:53 PM

Have you ever wondered why most of the Unix users are advance Windows users and why most of the Windows users ONLY know about Windows?

"Those who don't understand UNIX are condemned to reinvent it, poorly."

In my opinion, people who don't know about Unix and C language. They are not serious about computers. Unix and C had stop being a operative system and a programming language and they became a standard.

If you want to become a programmer without knowing these two things you are going to have a lack of essential background knowledge.

keitaro on February 28, 2008 07:26 PM

Fighting games are a lousy example. Their designers explicitly balance the characters. The writers of OS X/Windows/GNU Linux do not intentionally balance their platform with the others, quite the opposite.

AC on February 28, 2008 07:50 PM

@DouchbagHater

Talking like Noel Coward doesn't give your words any more credence, you know.

Alias user on February 28, 2008 07:57 PM

I've developed in most of the OSS stacks for about 5 years, and I'm currently doing backend/server development in .NET (4 years now).

It's not an either/or proposition unless you're some kind of a one-trick pony. It takes a while to get productive on any platform, but being a smart programmer beats tooling any day, being a one trick pony is kind of stupid. We're spoiled for choices these days.

Personally, I run Mac OS X, Linux & Vista at home. I've hacked Linux kernel code, high traffic *deployed* (aka real) Rails apps, and similar projects in .NET.

It's not what you use, but what you do with it, as Jeff says.

nexusprime on February 28, 2008 08:15 PM

As long as he doesn't try to hit me with his car for being a SharePoint developer. http://twitter.com/codinghorror/statuses/764555487

Eugene Katz on February 28, 2008 08:38 PM

I agree it's all about being the master of your domain.

I work with in a company where the majority in our software development department are Smalltalk programmers who do nothing but dis the rest of the group that use Java and/or C#.NET. They say that with their tools they can write more code faster. Although, whenever they have to deal with technologies such as databases, web services, xml, batch jobs, or web sites, they ask for our help.

Is it because Java is better than Smalltalk? No, it's because we are masters of our domain. While they debate that everything should be an object or method, we move on and use the tools available and try our best to master them.

I think my first mentor said it best as, "True programmers don't call themselves, Java Programmers, or VB Programmers, or C Programmers. They are just Programmers. They can take any language and set of tools and master them."

Jonathan Keel on February 28, 2008 09:03 PM

@Telos

RDP is worthless if you want to manage non-windows servers. And RDP is also extemely annoying to use to copy information between multiple systems.

Powershell seems like it has a nice feature list, but it came out in 2006. Some of us jumped the shark long before that.

My point is that Macs start out better. I can download software to make my Mac more productive too, but that is irrelevant. I've consulted in tons of windows shops that didn't install any extra tools and it is a pain in the ass to set things up EVERY SINGLE TIME.


Nate on February 28, 2008 10:01 PM

"Have you ever wondered why most of the Unix users are advance Windows users and why most of the Windows users ONLY know about Windows?"

Because Windows is used over TWENTY times more.


That's like saying that car drivers aren't real drivers because they don't drive vans. It's not necessarily that they can't, it's that there are lots and lots of cars, and considerably less vans.

Oh, and if they're advanced Windows users, they're not "Unix users". They use both platforms. They might PREFER Unix, but that's because being ADVANCED tends to give you a bit more from Unix than from Windows.
I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

"Yes I said it once and I'll say it again.... FUCK YOU!"
Cogently argued.

Tom on February 29, 2008 12:58 AM

"I think my first mentor said it best as, "True programmers don't call themselves, Java Programmers, or VB Programmers, or C Programmers. They are just Programmers. They can take any language and set of tools and master them.""
Yep, and true politicians don't call themselves "Republicans", "Democrats", "Conservatives" or "Liberals".

Partisanship: A Chronic Waste of Everyone's Time and Energy.

Tom on February 29, 2008 01:00 AM

"You can code day-after-day in .net, Ruby, Python, C++, and eventually you will need an understanding of unix/linux."

Yes, but for most stuff you'll need a knowledge of Windows long, LONG, before that.

Tom on February 29, 2008 01:02 AM

You VB programmers. So far down the food chain, yet so mouthy! :-)

http://lukewelling.com/2006/08/03/java-programmers-are-the-erotic-furries-of-programming/

Diego on February 29, 2008 01:04 AM

YOU RULE.

F**** 37 Signals. Will never use their software, will never recommend them, won't give them credits for their negative marketing stunt they try to pull off.

As a real software developer, you rule everywhere. F*** that b*****. I do c++ in windows and linux. Tools. Technologies. You use them, they don't use you.

Cultural differences? Sure, they exist. But business in the end requires a clear mind.

F**** them, again

LOL on February 29, 2008 02:34 AM

first of all, i don't give a fuck about dave wants people to hire cos i don't give a fuck about 37signals or rails. secondly, if you spend 99.9% of your development time in your IDE, what the fuck difference does it make if you use windows or fucking linux or mac fucking osx? personally i use a laptop that came with windows xp and why should i stuff around configuring it with linux when i don't give a fuck about oss fanboy elitism. so to summarise, fuck off dave and the rest of you oss fucking geeks, no offense

dodger on February 29, 2008 03:18 AM

With such responses, you put yourself even lower than Mr. Hansson.

http://xkcd.com/386/

nick on February 29, 2008 03:57 AM

Nice post. I liked the comparision with character select screen.

Varun on February 29, 2008 05:47 AM

> talk about sheeps and conformists...you heard about the joke about that guy who conformed with the rest of the non-conformists?

I assume you're talking to me. And that would be rediculous. Since I'm not 'conforming to the non-conformists', I chose a platform based on it's merits _instead of_ doing what all my friends/peers were doing.

When I got an iPod for christmas one year I thought, hey, doesn't apple have like new management or whatever these days? And I went and did serious research. I found people who had macs and talked to them, played with their powerbooks. The os was clearly superior even at a cursory glance. So I took a leap and got a machine. Best thing I ever did. How is that me conforming to anyone? Just because I refuse to follow the status quo doesn't mean I'm somehow automatically following someone elses propaganda. I make decisions for myself based on research and fact. You 'sheep' windows users (and i assume you are one...) seem to think in black and white a lot. Newsflash, I just boot up a virtual machine if i need something in windows (rarely, usually to test in that pile of dogshit IE). Can the same be said of windows? I don't see how it's so hard to admit that something better has come along and it's time to switch.

thedude on February 29, 2008 07:29 AM

Zealots of whatever persuasion never seem to get it...

There's no magic bullet.

And what goes on between a person's ears is far more important than if they use brand X or brand Y.

Pascal on February 29, 2008 07:38 AM

Great blog. I really think your conclusion was spot on with regards to the SSII reference. Great software developers are talented regardless of what platform they program on. He really sounds like a typical Apple Fanboy trying to promote his own development platform. I'm sure MacOS is a great OS and Ruby is a fine platform. It's just that neither of them are for me. For one, I can get the functionality and development tools I require from my Windows machine and Linux. It's all in how you use it, not worship it, which I think is part of your point. Thanks for exposing this idiot to me. I didn't know all that much about him before now.

Keith on February 29, 2008 08:04 AM

i love it

andy brudtkuhl on February 29, 2008 08:12 AM

Who the hell is David Heinemeier Hansson? Never heard of him...

Dave Pendleton on February 29, 2008 08:57 AM

Who the hell is Dave Pendleton? Never heard of him...

Anonymous on February 29, 2008 09:48 AM

It's easy to take an idealistic standpoint on something you are passionate about.

BUT:

Windows and .NET is definitely a awesome development environment.

Ben on February 29, 2008 10:57 AM

"I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

Yes I said it once and I'll say it again.... FUCK YOU!
Cogently argued."

I can't agree more, but I wasn't talking about basic users. I was talking about programmers and people who are serious about computers in general.

I could say like you. "FUCK YOU" but I don't like to copy. I think is better to use a quote: "No matter how long you teach a fool, he still knows everything."

"first of all, i don't give a fuck about dave wants people to hire cos i don't give a fuck about 37signals or rails. secondly, if you spend 99.9% of your development time in your IDE, what the fuck difference does it make if you use windows or fucking linux or mac fucking osx? personally i use a laptop that came with windows xp and why should i stuff around configuring it with linux when i don't give a fuck about oss fanboy elitism. so to summarise, fuck off dave and the rest of you oss fucking geeks, no offense"

This guy just kills me. He is so funy!!!!

keitaro on February 29, 2008 11:14 AM

Another great post Jeff. Keep 'em coming!

Mike Strother on February 29, 2008 11:47 AM

Hi Jeff,

I can't take the time to read all of the comments to pile up, but not one of the few I read ever mention your love affair with Samurai Showdown 2. Dude, that game ruled! I am impressed you mastered the fat guy. My personal favorite was the blonde guy with the dog.

I didn't know who DHH was until this post. But I think that I have come to a point in my career where I care more about the process and results, than I do about the tools. I use Windows because it does what I need it to do, run just about any game worth playing and makes for a good career path. Don't get me wrong, I love programming and I would do it in 1's and 0's if I had to, but I don't, and thus far C# makes me happy.

Until the next "best" thing...Thanks for the entertaining post.

Tod Birdsall on February 29, 2008 11:56 AM

So many comments. So I will only add, "Well Said!" and use the tools you and your customers have to create what your customer needs.

Cornie on February 29, 2008 01:05 PM

Well put.

I've never been more proud to be reader of CodingHorror.

Barry P. on February 29, 2008 01:21 PM

Well put.

I've never been more proud to be a reader of CodingHorror.

Barry P. on February 29, 2008 01:22 PM

Hey, I've got it all covered. I work on a system that was ported from unix/informix over to windows/sql server. This beast has all the bad parts from all of those system rolled up into one!

btw, I chose to add enhancements to this mess via c# and .net.

Don Kibbey on February 29, 2008 03:45 PM

The funny thing is wikipedia says DHH received a "bachelor's degree in Computer Science and Business Administration"... from Copenhagen Business School... Just look at the website of Copenhagen Business School (http://uk.cbs.dk/) and search for a BSC in computer science.. You won't find it. I guess its simply just a MBA with mandatory low level cs courses. Ever heard of a hacker genius that only received an MBA and nothing else? Never heard of that...

MyCharWomanDoesRuby on February 29, 2008 04:17 PM

Ditto to Reg Braithwaite's comment above. Jeff's stooping to his level.

Tim on February 29, 2008 04:20 PM

Hi Jeff,

One of the reasons I read this site is I am a coreOS and network hacker on Unix; I sort of see this site as an alternative view (and often a good one).

I agree with the thesis; being a jerk is bad on a lot of levels - especially if you are right: to use a (tag)headline of douchebaggery? I do not write ruby code nor own an osX system - but to me that tag/headline is not cricket and your tone could be better. Calling someone out can be done with grace - sometimes it can just be implied.


Regards,
Jay

Inflamatory Writing on February 29, 2008 05:21 PM

Jeff said:

> See, that's where you're wrong. In the right hands, *any* of those characters could kick your character's ass.

Ah, those magic hands. I'm sure there's someone who could code up a better Website in, say, INTERCAL than I could in Django or Seaside. That doesn't mean that an interviewer has no right to question the judgment of a candidate who waltzes in saying that INTERCAL should be good enough for anybody who wants to write up Web apps.

> Assuming the game isn't fundamentally unbalanced -- this is a whole other topic, of course.

Aaaah, I think you've hit it right there. It all depends on how well-matched the characters or tools are for a competition (and there's a whole other "Turing-equivalent" vs. "Blub paradox" argument waiting to be had).

I'm okay with the fact that you and I disagree on the well-suitedness of one tool or the other. In this I respect and even savor your opinion.

meh on February 29, 2008 06:52 PM

Clearly I'm a better artist than than, because I paint in watercolor and you use oils.

GeekRaver on February 29, 2008 10:50 PM

Hello, it's 2005. I'd like my blog-fight and 320 comments back.

Seriously, you had to go back that far to find flamebait material?

2005 on February 29, 2008 11:33 PM

I agree with many of the posters here. Tools don't matter. VB over CGI-bin is a fine choice for Web development, as is assembly (because you server might saturate its network cards if you go any higher). Both are just as reasonable as using PHP or ASP.NET or J2EE; it's just a matter of personal preference. Nobody should question why you choose to write your first-person shooter in shellscript; that's as valid a choice as C. A series of random-access files is no better or worse than a relational database, just different.

Or, perhaps choosing a platforms/tools does influence the end result in some fashion (quality, schedule, etc.). And maybe some platforms/tools are better for some jobs than others. And suppose that some platforms/tools were the birthplace of the Internet and the Web. Now, if you are building an Internet application, why would you not choose that platform/tool? If you know the age of the Internet, why would you choose the platform that came a decade late to the party?

DHH is a separate issue, but try his argument with something less emotionally charged, like databases. MySQL is free, MS SQL Server costs money. If you choose SQL Server, you have to justify that choice: why spend money if the free product does what you need? Why should the OS be any different?

RG on March 1, 2008 12:48 AM

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

That conclusion only works if you *agree* with DHH's sentiment: that the tools you use say something about your personality. And if you *agree* with him, how does it make him a douchebag to say the same thing you're saying yourself?

If he is *wrong*, then using Rails and OS X says *nothing* about you.

Logical FAIL.

Tomas Jogin on March 1, 2008 01:00 AM

"I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

I can't agree more, but I wasn't talking about basic users. I was talking about programmers and people who are serious about computers in general.

The problem there is that that means you can only program software for about 1% of the *Entire World*. That's why "Unix people" need to use Windows to create even mildly mass-market software, and "Windows people" can get away with just using Windows.

That said, the Chris Rock Theory of Partisanship still applies.
http://my.telegraph.co.uk/david_llewellyn/february_2008/liberals_and_conservatives_why_i_m_with_chris_roc.htm

"I could say like you. "FUCK YOU" but I don't like to copy. I think is better to use a quote: "No matter how long you teach a fool, he still knows everything.""
Ooops. Just realised that the quotation I quoted from a previous comment may have been read as my own words.
I was actually making fun of another poster's concise but douche comment. Which was then removed... Sorry if there was any offence.

Tom on March 1, 2008 01:58 AM

""Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

That conclusion only works if you *agree* with DHH's sentiment: that the tools you use say something about your personality. And if you *agree* with him, how does it make him a douchebag to say the same thing you're saying yourself?

If he is *wrong*, then using Rails and OS X says *nothing* about you.

Logical FAIL."

There's a big hole in your logical setup. You're assuming that !(AttwoodDouchebag) and !(AttwoodIronic) are both always true.

Tom on March 1, 2008 02:09 AM

As a matter of fact. The right OS depends on what are you going to do.

Windows is good for .net, C# and other M$ related frameworks.


I do HATE working with windows dudes.

all that insecurity of viruses, worms, setting up firewall, antivirus updating, all that shit makes me sick.

truly.

Fred on March 1, 2008 02:21 AM









(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.