Hampton Lintorn Catlin


Wow, so apparently I (drunkenly) posted this to Ruby Inside as a comment:

Bulllllllllllllllshit. The best developers don’t need to test. You test when you hire B level drone-workers under you. KNOW THE SOFTWARE. KNOW WHAT YOU ARE DOING! Testing is not an excuse for under-paid, under-trained workers.

Yish. I think I had just exploded from YAPATS (yet another post about testing software). Like, I see more software written for writing software, than I see other open source libraries that are tested. It seems libraries that do things are out of fashion, but ones that test that things do things are in.

Anyhow, that was obviously a stupid comment on my part. Sorry Peter Cooper! I still love you!

But, yowza! I love the feedback I got from this. Hopefully some of you will enjoy this.

@Hampton:You are bullshit.

Do you ever work for a customer? I doubt that. Can you imagine that requesites change while development? If that happens you can not simply change or add a feature without automated tests..sure if you’re doing simple apps for you family and friends to show how smart you are then you don’t need any technics to avoid mistakes.

But if you have a business then it’s interesting how you can handle systems with uncountable LOC without changing behaviour at the other end. But forgive me I forgot that you know your software..right. You are the only one who will ever read your code..sure. It’s written in stone,that have to be the ultimate truth and will never ever change..sure,sure.

You are that bitch who’s putting the shit together and I’am that guy who have to fix it because it never runs like it should. You use global flags and call it a switch-framework. You are the bitch who I have to convience to use classes,use attributes and not create temporary variables,or to use inheritance to avoid unnecassary control structures.

Sit down and study your odds instead of generalizing everything what you don’t understand, kido !

So, first of all. Obviously a dickish comment is going to get dickish comments back. But, I use my full name in comments for a reason. You could Google me for a half second and find out that I co-ran a development shop with 12 people for 3 years. It was (and is still) highly profitable and while I was there we never employed a sales person or got a gig because we did Ruby. I’ll just repeat those two. We never did sales and we never got a gig because of Ruby. How did we get jobs? Recommendations from past clients to other business people.

I think some of my hate of testing comes from what you can gleam from the bulk of this comment. He details many, many terrible coding practices. These have nothing to do with testing! You can test bad software all you want. The two are unrelated. Testing help you write good software, but it can also help you write bad software. I have definitely seen lots of bad software that was well tested… bad paradigms, bad naming, horrible architecture, everything.

And here comes the best comment I have gotten so far!

“You are just such an arrogant son of a bitch. Also, looking at your picture just fills me with a need to smash your face. You certainly have one of those faces—and your emo mohawk and hipster glasses certainly don’t help matters (oh, but they make you so unique! You and the hundred million other teenagers that lay around masturbating at night while listening to Dashboard Confessional.) Anyhow, enough of the rage fest. Just stumbled upon your comment at http://www.rubyinside.com/turbocharge-your-ruby-testing-with-parallel-specs-2121.html and immediately felt a need to beat your face. Evidently, you’ve never worked in any sort of production coding environment having more than a few developers working on a given project. No. You were too busy masturbating to Chris Carrabba’s lovely voice.”

Oh man. Such great flame-attempt! And once again, he came to my site but apparently didn’t even read the sidebar. “Evidently, you’ve never worked in any sort of production coding environment having more than a few developers working on a given project” Yeah. Uh huh. Wikipedia. Uh huh. Right. Yeah. Ok. You win. 3 billion pages served by my app. Yeah. So right. 20 contributors. Yup. No. I have no idea. You win. I give up.

Anyhow, I know my initial comment was dickish. I don’t even remember writing it. I guess I should stay off blogs when I am drinking. So, apologies for that comment. But, I think these other ones take the cake and I thought you might enjoy them!


Jan 8, 2010
Lorin Tackett said...
Psh. Nobody read blo--- Oh, shit.
Jan 10, 2010
Luis Lavena said...
Hello Hampton, but still don't get your point. You state that test are useless, or the excessive flow / overload of testing utilities are overrated? I wish you meant the second, and not the first. I've built in the past very complicated applications with no testing structure that took me lot of time to catchup again after months of not touching the app. (C++ app) Got bitten by that lot of times when you need to get back to one app and I thank developers that give value to both documentation and testing support of their libraries, specially when dealing with cross-platform support. So again, sorry for not getting your point, which is?....
Jan 30, 2010
Trevor Menagh said...
I am new to the entire concept of TDD/BDD, but I think it might be useful for me and my group. I am not the most awesome coder in the world, and sometimes I write code that breaks code I have written in the past. In fact this happens to me often. Does that mean I should not develop software? Maybe, but I like doing it and I am good enough to make a living doing it. Anything I can do to help me catch my own mistakes seems helpful to me. It isn't a substitute to human quality assurance testing, but it might help someone like me, or at least that is my hope.
Jun 16, 2010
seydar said...
To the two comments above me, it sounds like Mr. Catlin is saying that testing doesn't help you write good code, it helps you write correct code. I firmly believe in testing, even if I'm too lazy to do it sometimes. I won't even bother arguing with your drunken comment because frankly you were drunk when you wrote it, you apologized for it, and there's nothing to argue other than "I need help to write correct code sometimes." tl;dr Testing helps you write correct code, not good code.