this blog is girtby.net

Posted
22 May 2008 @ 12pm

Tagged
Nerd Factor X, Provocation

Blogging Horror

So you’re watching a new TV show and you’re hooked. It’s clever, the characters are believable, the dialog is witty, the cinematography is inspired, the direction is tight and the plot is engaging. You want to see more. You’re in love. With a TV show.

Jumping The Shark

A few episodes, or a few seasons, later you start to see flaws. The formula of the show is revealing itself to you and you fall out of love. Perhaps you still watch but eventually you’ll give it away. “Jumping the shark” is a tired cliche that is often deployed at times like this, to indicate that the show has run its course and the production team are attempting to wring more content out of an essentially used premise.

But sometimes it’s not the show that has changed. You, as a viewer have just grown a little more insightful, matured a bit maybe, your belief suspenders snap and you’re no longer at home in the show’s fictional world. As when relationships between people break down, there are often reasons on both sides.

For me, Lost is a good example. After an initial flurry of enthusiasm I became frustrated with the glacial pace of the plot, eventually confirming initial fears that yes indeed it did suffer from the X-Files syndrome of the perpetually imminent revelation. But the show hadn’t changed by the time I stopped watching; it was like that from the start. I just expected it to proceed differently to the way it did.

The same disillusionment can of course apply to other media, although it tends to be more apparent in serialised media such as TV shows … and websites.

Coding Horror

Recently I have become disillusioned with Jeff Atwood’s blog called Coding Horror. Now of course this event wouldn’t normally warrant an article on my own blog, and I’m sure you’ll be relieved to hear that I am not planning to write lengthy explanations anytime I hit the Unsubscribe button. However in this case I believe that some detailed criticism needs to made, as I’m sure many of you are also Coding Horror readers.

I was initially attracted to Atwood’s blog for its relatively simple premise and smart delivery. With startling regularity over an extended time he managed to deliver bite-sized morsels relating to the stated domain of programming and human factors. He writes well and generally illustrates his point in a clear and easy to digest style. It’s quite engaging.

As an individual blogger I cannot help but admire the dedication and sheer persistence on display here. Over the years he has managed to churn out many substantive articles, far more than I ever will on girtby.net, for example. And there is a lot of great material there.

So, a dude with a blog, why would I rag on him in public, you might wonder. You would be completely justified in asking whether I am motivated by jealousy or some other malice, perhaps because he is so much more prolific and popular than I. These are good questions and if he were just another average Joe developer trying to better himself through blogging, I certainly should be keeping my opinions to myself.

However, Coding Horror has become so popular that Atwood has quit his day job and struck out on his own. To my mind, this raises the bar somewhat. Professional bloggers deserve more scrutiny than dabblers, just as in many other fields.

Not only has Atwood has gone pro with is blog, but has recently started a venture called stackoverflow to collate accepted wisdom from the software development community. It is early days, but from what I can gather there is still likely to be Atwood’s editorial hand in the output, despite intentions of adopting community generated content.

In other words, Atwood seems to be setting himself up as an authority figure on software development and, well, I have some issues with this.

Blogging Horror

The bite-sized morsels posted to Coding Horror are all very well for bite-sized topics. But things can often go awry if the topic is too complex to be distilled down easily. Oversimplification often ensues, as in the following examples, all recent:

  • An attempted critique of XML makes a case that XML is difficult for humans to read. He gives some dodgy examples — including a SOAP message of all things — but completely misses the point that XML is intended as a good compromise between machine-readable and human-readable. Sure the alternatives may look simpler, but show us the code to parse them. In grudgingly accepting that XML is OK for some tasks, Atwood gives no clue as to what those tasks might be. To me, the entire article reads like someone who has looked at an XML fragment and had an adverse reaction without any understanding as to why it is, and perhaps should be, the way it is. (Norm Walsh on the other hand, understands probably more than anyone, and provides a polite rebuttal.)

  • A similar “it’s-too-hard” reaction seems to be at the heart of an article on humane markup languages such as Markdown, Textile, etc. His conclusion is that he’d “rather rely on a subset of trusty old HTML than expend brain cells trying to remember the fake-HTML way”. The oversimplification here is in not realising that Markdown (and possibly others) accept all HTML tags anyway and it adds value by being more readable and writable. If nothing else, Markdown makes it possible to conduct discussions about HTML without going completely insane. I expect hilarity to ensue on his stackoverflow project once people start contributing code snippets with angle brackets embedded deep within. I wonder how many brain cells will be expended on entity escaping.

  • Admittedly Model-View-Controller is an increasingly vague concept these days, but I just couldn’t buy Atwood’s example of it; HTML = model, CSS = view, and of all things, browser = controller. For starters these things aren’t even of the same kind; HTML and CSS are declarative languages and the browser is a piece of software. If you’re going to apply the MVC concept that broadly, why not make the controller, I dunno, the mouse? Or the user? And surely if anything is the model in this case it is the DOM? On their podcast, Joel Spolsky took Atwood to task a little bit over his application of MVC to the web, and it’s worth a listen.

  • A comment that software forking is “the very embodiment of freedom zero” demonstrates that Atwood has no idea what freedom zero is. Freedom zero is the freedom to run the software in question without modification, and forking is inherently modifying the software, hence doesn’t even enter into consideration of freedom zero.

Common to all of these are a superficial understanding of the topic at hand. In short, Atwood just isn’t credible.

(I have also had cause to disagree with his opinion on many matters, but this is not in itself a good reason to dismiss him. Neither is his seeming obsession with, but never ownership of, recent products from Apple; I’m not sure what to make of that.)

Instant Developer Credibility, Just Add Code

In a recent podcast, Atwood disclosed recently that he had never learned C, one of my developer essentials. To me, this revelation is a profound hit to his credibility; it is like finding out that the chef who cooked your meal is a robot with no sense of taste or smell.

So what language does Atwood use to illustrate his articles on the finer points of programming? Well here’s the really puzzling thing. I can’t remember reading a single article on Coding Horror which actually included any original code, horrible or otherwise. I’ve got a vague recollection of a Coding Horror article which incorporated some third-party code, though I can’t remember the topic now.

To be honest I should have realised this as a problem a lot sooner. Now that I think about it, all of the other coding-related blogs I read regularly are imparted with credibility through the code that is posted to them, or by the projects in which their authors are involved. You’ll note that one of the reasons I decloaked myself on this blog was to take advantage of the accumulated credibility from (mainly) the code posted here.

On a more positive note, I’m sure the stackoverflow project will be a great opportunity to demonstrate Jeff Atwood’s abilities as a software developer and bridge the credibility gap.

It’s Not Me, It’s You. And Me.

So, getting back to the question about leaping over metaphorical aquatic predators. Like I said, there are often reasons on both sides as to why the author and the audience member part ways. Sometimes it’s them, sometimes it’s you, and sometimes it’s both.

Here, I think it’s a bit of both. It seems quite apparent that Jeff Atwood has stepped outside his expertise recently, and that this is something he did comparatively rarely in the past. I haven’t gone groveling through his past posts, but from my recollection I’m pretty sure his hit rate used to be better.

But I’ve changed my attitudes also, having learned to be a better assessor of credibility, and more suspicious of short answers to complex issues. And of those who don’t demonstrate their developer credibility by actually posting code. I always thought that brevity was a good thing for blog articles, but maybe not.

Either way, I’m going to look elsewhere for good writing on software development. What about you? Are you a Coding Horror fan?


87 Comments

Posted by
tonetheman
22 May 2008 @ 12pm
#

I think you have to say Atwood is a smart guy. His blog postings prove that. Past that who knows.

I was surprised also to hear Atwood does not know C and thinks it is a bad idea to learn it. Maybe dismayed really. I guess though when you read his blogs you just assume someone that is this smart and this opinionated on programming should know C. Maybe not.

I do think that his posts are great just because they are language agnostic. It is clear that he has a good understanding of things to do with computers no matter the language.

I will probably keep reading and listening to him.


Posted by
David
22 May 2008 @ 12pm
#

I used to like Coding Horror, but also unsubscribed. What started to bother me was the vaguly page-view bating semi-troll stuff he started to write.

I agree it’s a difficult line because he’s ‘just a guy’ but he did seem to be thinking that he was a bit of an expert on a lot of things. When he writes about an area I know well then it’s pretty obvious he’s just a bit of a generalist, and is more or less just guessing for a lot of stuff – this puts doubts in my mind as to if he’s an authority on anything really. He had some hilariously/embarrassingly wrong stuff on security, and he just did the Scoble bail of ‘my readers help me learn’ crap as an excuse for getting caught out.

A lot of his output now has descended into either Dvorak like ‘please react’ fluff or, more commonly, where he takes a semi-well known topic and just dumbs it down as if he discovered it – I see him like a ‘Readers Digest for Tech SemiMorons’ kinda angle. Entertaining regurgitation , but not really a decent writer by any stretch of the imagination.

I hope he does ok in the new site, but I’ve (and quite a few tech people I know) have flipped the ol ‘Bozo Bit’ on poor Jeff Atwood a long time ago… Shame he gave up the day job really.

It happens, people’s blogs get popular and they buy into their own PR – my rules is that people that don’t write software for a living should STFU – either that or be a great writer/entertainer…


Posted by
Mike
22 May 2008 @ 12pm
#

I’d be lying if I said that I didn’t disagree with him from time to time, but as a Blogger all you can really expect is a viewpoint, not concrete fact.

As a student I use these Blog’s to give me an insight to what I have not experienced before, and to give me advice on what ‘could’ be worth learning.

That being said, I do agree with you when you say that with his own website he could be propping himself up to be recognised, but with the fame his Blog has given him why shouldn’t he? Whilst from what I know of he hasn’t built anything spectacular that I use on my desktop or online (i.e. Newsvine, YouTube, Digg, etc) I still believe him to be a great developer and a very smart man. He does deserve criticism, just like everyone else that places themselves in the public eye. However, I think even he is aware of his placement in the industry now after leaving his job, and with the popularity of his Blog it’s up to him to prove any critics wrong and provide a fantastic resource in stackoverflow.com.


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

I don’t think I’ll be unsubscribing in the short term, but now that you bring it to my attention, I have been reading his articles only cursorily lately, to the point giving them the skim-then-skip treatment as often as not. I just hadn’t consciously noticed. Now that you turned my attention to it, the fact will be rather hard to ignore; we’ll see what I do.

FWIW, what I gleaned from his weblog is that he started as a Visual Basic guy was last doing C# and VB.NET. He has complained bitterly that Microsoft promotes C# over VB.NET, even despite tool support for the latter apparently being better; he has also gone on record that the prejudice against Visual Basic programmers is just that.


Posted by
Giles Bowkett
22 May 2008 @ 12pm
#

I stopped reading him a while ago too, and devoted part of a blog post to it as well, albeit after the fact.

I don’t know what happened with him exactly, but he went from often interesting to occasionally interesting to so boring I felt like he was insulting my intelligence.

I actually initially thought it was me – I was writing a lot more code and getting a lot more done and decided he was just for wasting time, and that the change was that I had become a less time-wasty person. But then there’s this post, and lots of tweets on Twitter.

I wouldn’t be surprised if posts about not reading Atwood any more became its own tiny micro-genre. He was good once.


Posted by
Corey
22 May 2008 @ 12pm
#

Atwood is fun to follow on Twitter. He posts an insane amount of great links and thoughts.


Posted by
Gareth Simpson
22 May 2008 @ 12pm
#

You may not get any code samples, but you will get to judge the quality of his output when stackoverflow.com goes live.


Posted by
Patrick
22 May 2008 @ 12pm
#

Like others here, I was a once enthusiastic reader of his blog and, yeah, I had a “something changed” moment with him as well. Coding Horror has always been based heavily on paraphrasing ideas and topics from other people’s posts, but — to me at least — Atwood used to add something to the other person’s post and expand upon it. Now he just seems to regurgitate it and that, to me, is boring.

Don’t even get me started on the irony of someone who doesn’t know C creating a website/forum/whatever it may be named Stack Overflow. Ugh.


Posted by
dude
22 May 2008 @ 12pm
#

…but you will get to judge the quality of his output when stackoverflow.com goes live.

Do you guys know something I don’t? Why would Jeff write stackoverflow.com when Joel is sitting right there?


Posted by
bopeaslee
22 May 2008 @ 12pm
#

Started reading Jeff’s Blog a few months ago. Seemed like some good stuff for a long time. But just a few weeks ago I started noticing a lot of quotes and very little original content. I’ve been thinking that perhaps it was me, but now I read the comments and….

Like all of you, I respect Jeff a lot. I think he’s one smart dude. However, I think he’s running out of material. I think that you have to stay connected in order to produce an informative blog. Looks like he may be doing just the wrong thing by leaving the source of his material. Reading and writing about programming is not programming.

As for C, well I hate C. I grew up on FORTRAN, Algol, PL1, Pascal, and Ada (Am I dating myself). But as much as I hate C, I program in C. It’s the lingua franca of systems programming languages. I think you have to be a good C programmer to have any cred. I admit to being a little prejudiced against non-C programmers.

My cup to Jeff. I wish him luck. I wonder how much longer I’ll be subscribed.


Posted by
fredrik
22 May 2008 @ 12pm
#

Nice post alastair.

After reading the latest few articles on Coding Horror, I was basically thinking the same thing, but also thinking it must be only me…


Posted by
Jeff Atwood
22 May 2008 @ 12pm
#

Alastair, I certainly appreciate that you care enough to write such a thoughtful, detailed critique. You deserve a response that’s equally so.

1) I have never advertised myself as an expert on anything. I am, quite literally, a guy with a blog. The “cult of the amateur”. Any perceived expertise is, I suppose, inferred from my writing. Whether that is correct or not is up to the reader to judge. I will note that as an audience gets very large it becomes increasingly difficult to satisfy everyone.

2) It is completely fair to call me a generalist. A quick survey of my blog posts, even just the titles, will prove that point. I’m all over the map, because I find every part of the ecosystem fascinating. Hardware, Software, Design, you name it.

3) As I’ve said many times before, I have a lowbrow coding background. I grew up with embedded BASICs, FoxPro, and Visual Basic. If you’re looking for hardcore Knuth style CS proofs, I am absolutely not your huckleberry. There are tons of other blogs that you’ll find much more satisfying. That’s the beauty of the internet: there are so many choices and so many voices.

4) I have always quoted extensively; this is an evergreen criticism. Just browse my 2004 and 2005 posts if you don’t believe me. Nothing has changed on this front, so it’s perplexing to me that this comes up as a “new” issue every few months.

5) I post topics partly to encourage discussion so everyone can learn. I also post these things because I believe them to be true! I feel very strongly that XML is vastly inferior to YAML for 99% of the XML use cases I see in the wild, for example — why perpetuate mistakes? Shouldn’t people know and understand the alternatives to even appreciate how XML works, and its pros and cons? I talked about this at some length in Podcast #5.

I have also had cause to disagree with his opinion on many matters

I worry that this degenerates pretty rapidly into “If I disagree with someone enough, they must not be credible.” Or we could just, y’know, disagree. It happens.

I believe very strongly in the idea of “strong opinons, weakly held.” I’m not sure if you noticed, but based on my Is HTML a Humane Markup Language? post, we are in fact going to use the WMD editor.. exactly like the one on your blog.

… and that outcome is directly related to the post and the resulting discussion.


Posted by
Alastair
22 May 2008 @ 12pm
#

Thanks all for the thoughtful comments.

Extra thanks to Jeff for the personal response and for taking my post in the spirit intended. Certainly I mean no personal insult, and perhaps should have made that clearer.

I am, quite literally, a guy with a blog. The “cult of the amateur”.

I’m not sure what you mean; are you trying to say you should be regarded as an amateur even though you’re doing this professionally? If so, why?

Any perceived expertise is, I suppose, inferred from my writing.

That is certainly true.

I post topics partly to encourage discussion so everyone can learn.

Y’know that’s not the impression I get with a lot of your posts. They are almost always framed as “this is the truth about X” without an invitation to discuss it. They read like someone who has made his mind up about X, rather than someone who is soliciting opinions in order to decide about it.

I’m glad you came around on the subject of humane markup languages, and not just because we happen to agree on implementations. But after re-reading the original post, there’s no indication that you were even thinking about it; it’s HTML, case closed.

I worry that this degenerates pretty rapidly into “If I disagree with someone enough, they must not be credible.” Or we could just, y’know, disagree. It happens.

Absolutely, and I was trying to distinguish the two cases in the original post.

For example, I disagree with your stance on the DRM-free music market. Your position seems to be that it’s OK for companies (or one in particular) to be arbitrarily excluded from this market, and I disagree; for the benefit of consumers, no one should be excluded. Anyway I recognise this as a mere difference of opinion and hence deliberately omitted it from my original post.


Posted by
Jeff Atwood
22 May 2008 @ 12pm
#

I’m not sure what you mean; are you trying to say you should be regarded as an amateur even though you’re doing this professionally? If so, why?

Allow me to respond with a quote:

Now if you ask me — there never was such a thing as a pro blogger. It’s a contradiction in terms. It’s like calling someone a professional amateur. It’s like salty orange juice, a drink whose taste is derived from its acidity. Blogging is an amateur activity. It’s users writing about what they do, not professionals writing about what users do.

I write about what I’m doing, and what I’m learning. Though I get paid to write programs, too, at no point would I represent myself as the ultimate expert on a given programming topic.

Here’s what I did. Here’s what I thought. Here’s what I learned. And then there’s that inviting “comment” textbox directly below what I wrote, where you can point out how horribly misguided I am. Sometimes I even listen.

Y’know that’s not the impression I get with a lot of your posts. They are almost always framed as “this is the truth about X” without an invitation to discuss it. They read like someone who has made his mind up about X, rather than someone who is soliciting opinions in order to decide about it.

Are you familiar with the “Smackdown” Learning Model? I find it extremely effective for exactly the reasons Kathy Sierra outlines.

To me, writing without a strong voice, writing filled with second guessing and disclaimers, is tedious and difficult to slog through.

You can definitely argue it’s an issue of personal style, of course.


Posted by
Chris
22 May 2008 @ 12pm
#

I like his old stuff better than his new stuff.

I think Coding Horror is a reliable survey of things of interest to software developers. However, I find the style of post to be easy to read but hard to take.

I really admire Jeff’s ability to write regular, good quality, widely-sourced posts in this domain area. That really entitles Jeff to an occasional stuff up. He’s a voracious librarian and journalist – taking his knowledge base and finding an interesting angle to write about with unbelievable regularity. The regularity of posts full of information, links and viewpoints has attracted a large community of commenters who are welcomed (by Jeff) to pass judgment on that as they see fit.

Maybe it’s petty jealousy, but I miss a sense of humility in his headline writing. In general it’s left to comments and reading smack-downs like this one to highlight the fallacies or misunderstandings. Most posts contain links to the earlier body of work, but there’s not much narrative around “things I’ve changed my mind about” in new posts.


Posted by
Bob
22 May 2008 @ 12pm
#

Web developers are generally charlatans and bimbos whose blogs are good only for jokes and gossip. They’ll confess to as much.


Posted by
Andy
22 May 2008 @ 12pm
#

A testimonial.

A friend turned me on to Coding Horror about two years ago. I was insta-hooked, read it cover to cover in about 2 weeks, then did it again over time, and have not missed a post since. I think it was the just above-average joe tone and style that made it approachable and made me think, hey I can do that! I can say, for what it’s worth, that site was the primary catalyst to get off my complacent ass, get more interested in studying and care about improving my craft, and move from being a pure Mort (who didnt even know he was a Mort) to at least an aspiring Elvis with an eye to grow. Without a doubt I was in the bottom quartile of all developers, in a very plug-n-chug corporate push the button frank job. I think discovering CodingHorror.com for me was the equivalant of Atwood originally discovering the joy of Code Complete. It was my red pill. You may think that’s pretty sad, but I’ve gone from punchclock cog in wheel to an Indi-consultant actually leading a small team on an important project. I am quite aware that still much to learn I still have, but at least I am awake now, and I think there’s a lot more Mii’s out there.

And while the esteemed Alpha Geeks, Noblemen, and Magistrates may scoff and think “GTFO rtard! ur in my industry wrecking my codez!!1″ to bottom-halfers such as myself, that’s too damn bad cause we’re here to stay. Now given that, shouldn’t we be striving to get better? If so, sites like CodingHorror and all the blogs like it are invaluable, if only as a gateway drug to self improvment, with or without a dally dose of hardcore malloc() wtfs.

So yes, while you may well have graduated CH, and the site doesn’t fit you any more, or ever did. It still serves a highly useful function in the community, even if it’s not the function you think it should.

PS I hesitated to even post this, as a ringing endorsement from some poor shlub/fanboy 50-percenter isn’t exactly the validation you’re all looking for, in fact it may reinforce your highbrow points. But, I personally owe an enormous debt to Mr. Atwood and that’s my story I’m sticking to it, ymmv.


Posted by
Mitch
22 May 2008 @ 12pm
#

Hey Chris, I agree with you. Jeff’s old stuff is better. But, I really do admire Jeff for writing regular blog posts. I don’t care what anyone says – it is really hard and that comes from firsthand experience with my own blog that has been running for a couple of years. I find it very difficult to come up with new, original material to write about.

Ah yes, humility or even humbleness. As a generalization, from someone that has 17 years in this biz, we sure could use some humbleness – http://softwareindustrialization.com/TheHumbleSoftwareEngineer.aspx


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

As for C, well I hate C.

Let’s say that I appreciate C on some level. (As opposed to the teratical outgrowth called C++.) But I don’t think there is anyone who loves or even likes it. In fact, it is probably a perfect example of “familiarity breeds contempt”…


Posted by
Alastair
22 May 2008 @ 12pm
#

Thanks again. Particularly Chris, well put.

Now if you ask me – there never was such a thing as a pro blogger. It’s a contradiction in terms. It’s like calling someone a professional amateur.

Dave Winer says blogger == amateur because, well, it just is. I don’t buy it. OK, so this a difference of opinion and doesn’t really matter much.

Are you familiar with the “Smackdown” Learning Model? I find it extremely effective for exactly the reasons Kathy Sierra outlines.

Wow, I’ve been a Coding Horror reader for a couple of years now, and to be honest I had no idea that’s what you were trying to do!

In retrospect I guess it would have been pointless to undermine each post by putting a disclaimer “this is a strawman, please smack it down” at the bottom. Still, it would have been nice to know somehow.

Andy: I’m very happy that Coding Horror inspires you and helps you to nurture a passion for technology. It’s certainly one of Jeff’s many strengths. Hopefully this reinforces the point that I was trying to make, namely that for me the site was no longer meeting my expectations/requirements/whatever, and part of the reason for me unsubscribing was a change in my attitude towards it.


Posted by
jim
22 May 2008 @ 12pm
#

I must admit that I became rather annoyed after reading the “Understanding Model-View-Controller” post at Coding Horror.

In particular, I felt it was a poor decision to use HTML, CSS, and a browser to explain the concept of MVC.


Posted by
Jeff Atwood
22 May 2008 @ 12pm
#

Dave says blogger == amateur because, well, it just is.

And you’re saying “Jeff Atwood seems to be setting himself up as an authority figure on software development” because, well, he just is.

Am I? How? Where? I write about what I’m doing to understand it and learn more, exactly the same way I always have.

I felt it was a poor decision to use HTML, CSS, and a browser to explain the concept of MVC.

Did you notice that there was a second example directly below it — with code from an ASP.NET MVC project?

The top contains a very broad explanation used as an introduction to the general concepts for non-coders.


Posted by
Alastair
22 May 2008 @ 12pm
#

And you’re saying “Jeff Atwood seems to be setting himself up as an authority figure on software development” because, well, he just is.

Am I? How? Where? I write about what I’m doing to understand it and learn more, exactly the same way I always have.

I gave two reasons for making this statement in the original post. Now we can argue the validity of those reasons, but you can’t say I’m just asserting.


Posted by
jim
22 May 2008 @ 12pm
#

Did you notice that there was a second example directly below it – with code from an ASP.NET MVC project?

Yes, I read the rest of the post.

Maybe I’m wrong, but I can see novice developers (and perhaps highschool c.s. teachers) reading the Understanding MVC post and attempting to use CSS, HTML, and a browser to explain MVC to their friends, students, etc…. it just seems to me to be a poor analogy.

I still enjoy your blog and related work.


Posted by
steve
22 May 2008 @ 12pm
#

This seems to happen with everyone, sooner or later. These days, you can detect the crappy programmers by the way they love Paul Graham and use words like “Blub”. There was once a time, before the shopping cart, when Paul Graham was slightly better than the average programmer.

As you took pains to point out, it isn’t always the original material that is at fault. Yes, a rising tide floats all boats, and the average programmer is now aware of functional approaches, the benefits of Domain Specific Languages, and other concepts that were previously obscure.

So we end up in the situation that the programmers who used to learn at the feet of the masters have now gone on to exceed their teachers. The problem is the authority complex and institutionalisation of Those Who Write ends up hindering overall progress while still providing a leg-up for beginners.

At least a textbook is quite specifically for those who are learning, yet websites have an implied promise of being currently relevant… and as you have observed, and I agree, that just isn’t the case. I also don’t read “Coding Horror” anymore, other than as a BOFH style chuckle now and then.

I also don’t read Kathy Sierra, I also don’t read Dave Winer (what a tosser), I also don’t read a whole range of other “authorities”, because I’ve seen what they have to say, and they’ve run out of things to say, and I’ve moved on. Thank you, and now no thank you.

I’m still grateful they made the effort, but I do confess to also being a bit annoyed at the continued exposure when their time is past.


Posted by
patorjk
22 May 2008 @ 12pm
#

I don’t follow Atwood that closely, but I’m not sure someone needs to post much code or have a public project on display to have credibility or to write intelligently about something. In fact, I usually skip over the code I see in people’s blogs unless it’s something I want to thoroughly understand.

I only read him every so often, but I haven’t noticed any kind of decline. I thought his article on the middle mouse button was pretty interesting and had some useful info (I didn’t realize it could be used for opening hyperlinks in a new window) and that was pretty recent.

Also – I completely disagree with you about Lost. Season 3 was kind of weak (except for the last 3 episodes), but season 4 has been amazing. I’m not sure where you left off, but if you left in season three, try watching the last 3 episodes of season 3 or the first episode of season 4.


Posted by
Jon Galloway
22 May 2008 @ 12pm
#

I generally agree with your thoughts on posting code – I try to do that regularly on my blog – but it’s pretty difficult to think of how you could post code that’s interesting to 100K+ readers, all of whom have favorite and very un-favorite languages, four times a week. There are plenty of blogs which post code, but there are few who take a step back and talk about why we’re writing that code to begin with.

I both learned and worked with both C and C++ (for instance, I ported a major line of business application which was used for graphic layout from DOS to Windows) and consider C and C++ to be a complete and utter waste of time. It’s important to understand how computers work under the hood, but learning C is an incredibly inefficient way to do that. I firmly belive that it does more harm than good. I’ve read your post on the subject and remain unconvinced. Here are my thoughts on futility of learning C: http://weblogs.asp.net/jgalloway/archive/2005/02/16/374212.aspx


Posted by
John S.
22 May 2008 @ 12pm
#

Spolsky never really posts code either but I don’t think it hurts his credibility.


Posted by
John S.
22 May 2008 @ 12pm
#

“but from what I can gather there is still likely to be Atwood’s editorial hand in the output, despite intentions of adopting community generated content”

I’d like to know where you got that from. I’ve listened to all the podcasts and read all the stackoverflow related posts and I never got the sense that Atwood was going to have his hand in all the content, anymore than any other user.

Jeff, care to elaborate on this?


Posted by
Tristram Brelstaff
22 May 2008 @ 12pm
#

In a recent podcast, Atwood disclosed recently that he had never learned C, one of my developer essentials. To me, this revelation is a profound hit to his credibility; it is like finding out that the chef who cooked your meal is a robot with no sense of taste or smell.

Never having learned C could actually be seen as a sign of good taste.


Posted by
LKM
22 May 2008 @ 12pm
#

This blog post pretty much summarizes my feelings. There were always a few strange posts on codinghorror, but if you’re going to post each day, you’re going to make mistakes, so I never really gave them much thought. However, the recent deluge of questionable content (starting with the freedom zero article, but especially embodied by the confused MVC and XML posts) kinda sealed the deal for me. I’ll keep reading codinghorror, but I’ve moved it from my “programming” folder to the “entertainment” folder.

If any other programmer told you that everything about PHP sucked, Visual Basic was great, and C was too hard to learn, what would you think of him?


Posted by
Jeff Atwood
22 May 2008 @ 12pm
#

still likely to be Atwood’s editorial hand in the output

No more so than Wikipedia. Anyone can edit anything — literally — once they accrue enough trust in the system.

If any other programmer told you that everything about PHP sucked, Visual Basic was great, and C was too hard to learn, what would you think of him?

I’d certainly wonder what programmer you were talking to, as I wrote all the articles on my blog, and I’m reasonably sure I didn’t say any of that. I certainly hope my articles are read and understood as slightly more nuanced than “Everything About PHP Sucks”, “Everything About XML Sucks”, or my personal favorite, “Everything About (your favorite technology) Sucks. Seriously.”


Posted by
Jonas
22 May 2008 @ 12pm
#

Yup, same here. I also followed his musings for a while, but later it became tiresome. I got the feeling that he had run completely dry on his stories, that he had already said everything he knew. Wasn’t it he that wrote some completely clueless you-get-what-you-pay-for dismissal of free software recently? I’m not sure as I had already stopped reading it regularly.


Posted by
Tim
22 May 2008 @ 12pm
#

Jeff… I appreciate you putting yourself out there and offering your ideas.

Taking stances like… php sucks (but will prevail), xml sucks, people who say people who code in windows suck, sucks… etc… are awesome, but… are sure to generate opponents.

congrats on your success, keep writing generalized, simplified, intriguing viewpoints and dont let these haters get to you.


Posted by
coglethorpe
22 May 2008 @ 12pm
#

I see you’ve found the Perez Hilton method of blogging: make fun of something popular to make yourself seem popular. Well done!


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

Wow, coglethorpe, you’ve really pinned Alastair down to to a T!


Posted by
Trevor
22 May 2008 @ 12pm
#

I’m fascinated both by the trollish nature of most of the comments to this post, and by the fact that anyone expects Atwood to declare the obvious—that his opinions are just that: his opinions.

I genuinely believe that it’s a good idea to abandon the notion that anyone can speak authoritatively on anything beyond their own unique creations.


Posted by
Penguin Pete
22 May 2008 @ 12pm
#

Meh! I still follow Atwood, because he sometimes has some interesting things to say, kind of like Joel Spolsky. I just think he’d be so much better if he spent less time squatting in that dark little cage that is the inevitable prison of anybody who tries to become a coder on a Microsoft platform.

If he’d pick up a Linux distro, he’d become familiar with C in a hurry. That being said, I wouldn’t ask Atwood to post his Visual Blah code. Why embarrass him? Asking Visual platform coders to show their work is like going up to women and asking them point-blank how much they weigh.

But so what? Blogistan is chock full of programming pundits who haven’t coughed up a line of source, graphics critics who haven’t shown a pixel of their own images, and for that matter as a freelancer I’ve ghost-written blogs for people who couldn’t compose a sentence for all the poontang in Singapore. You could go on and on.


Posted by
Brendan
22 May 2008 @ 12pm
#

Great post, Alastair. I’m grateful as well for all of the discussion that it provoked — unlike Trevor, I did not see any trolls — and kudos to Jeff Atwood for dropping by to rebut.

I, too, have found Coding Horror less appealing recently. I haven’t really thought that hard about why, but I have noticed that I no longer look for new posts from him first when I open my RSS reader.

My complaints, when I thought about them before reading this post, had more to do with tone and style. It seems to me that Jeff has become more preachy lately, that he takes an attitude of my-way-or-the-highway, and that he uses way too much typographical cruft to emphasize his points. Feels like I’m reading a gossip column or a fund-raising letter.

Now that others have listed some specific criticisms of the content, I find myself agreeing with those, too. It does seem like Jeff is drawing mostly from past experience, and less from learning (and sharing) new things. I’m sure there are counterexamples, but that is my overall sense.

It could also be that any writer loses his or her appeal after a while. Someone up above said something smart about Jeff being a good place to start, like an introductory text, and then you move on. That could be it.

It could also be that Jeff, like so many other people in any specialized line of work, has become ever more convinced with age that his view is the only correct way to look at things. Or perhaps, as he says, he writes in an assertive, even confrontational, tone on purpose, and maybe this works for some people. For me, not so much.

Whatever the case, I’m glad you took the effort to write a thoughtful critique, Alastair. It’s useful to hold the big dogs to account.


Posted by
Sunny Kalsi
22 May 2008 @ 12pm
#

So, despite all the stuff I said about Jeff (man these links are nasty. Lucky I have that wrestling metaphor to fall back on), I’m going to (sort of) defend him here.

So firstly: Alastair, I find it surprising that despite everything else, you think Jeff’s lost credibility because he doesn’t know C. Programming languages are just programming languages. IMO you learn a lot more about programming from Haskell than C, but at the end of the day it’s really just all about lateral thinking and problem solving. I don’t think code snippets or even knowing a programming language makes you better at writing about programming. Some of the smartest programmers I know are mathematicians, and the things that taught me most about programming were algorithms.

Even with all I’ve said about Jeff, I’ve still got him on my bloglol. Why? Because roughly half the time, he writes good things. To some extent, even making people aware of nice things like OpenID is a good thing.

If you watch MediaWatch you’ll see that there’s a fair bit of chatter about journalism and blogging, and I take the position that no matter what, you’ve still got to have the same sort of integrity as a journalist, even if you sort of call yourself amateur. Unless you’re swearing or clearly taking the piss. However, I do find Jeff’s point about the smackdown a strong one, if only because it’s one I employ. It is abrasive, though, and it’s a bit embarrassing to link the above, and in hindsight I should’ve been more tempered. I find myself listening more to less abrasive people.

Going back to your original post, I don’t think credibility is the problem here, it’s how well the topics are thought out and the conclusions he reaches. I think Jeff could come back with the whole relativism thing here, but relativism is baloney. You’re either right or you’re wrong, and people who believe in relativism probably do so because they’re wrong more often than not, and need some sort of respite as opposed to changing their minds.

Jeff claims he’s just a guy and is free to change his mind on things, yet he rarely comes back with a “I no longer believe this. I was wrong”. It’s more of a lathering of excuses in later blog posts. Contrast with someone who really puts her… balls… on the line!? In fact, if we were talking about credibility, for me, nothing damages Jeff’s cred more than the fact that he never seems to admit he’s wrong. I think he’s got to take one position on this or another — either he’s thought things through or publicly changes his mind every now and then.


Posted by
Jeff Atwood
22 May 2008 @ 12pm
#

This is on my mind at the moment as I’m writing a new blog post.

I am trying to more explicitly tie all future posts to my work on stackoverflow.com, so it’s clear how the post topic relates to the work I am doing.

For example:

  • the PHP post was based on my experience setting up the project blog, at blog.stackoverflow.com.
  • the XML post was based on my experience using Visual Studio as our editor while building stackoverflow.com. VS has an almost comical reliance on XML to store anything and everything, even if it’s wildly inappropriate.
  • the MVC post was based on my experience using ASP.NET MVC to build stackoverflow.com.
  • the HTML/markup post was based on my experience trying to integrate some form of markup language into stackoverflow.com.

I think you’ll find the new blog post reflects this much more literally in the text than I have in the past. Maybe my delivery of the “smackdown learning model” — which I really do enjoy and find much more instructive and engagin — or, if you prefer, “strong opinions weakly held”, are perhaps interfering for some.

he rarely comes back with a “I no longer believe this. I was wrong”.

Don’t actions (and in fact an entire blog post on those actions) speak loudest? As in, “I have chosen Markdown for stackoverflow.com”?

At any rate, I will be much more literal in the future when tying my blog posts to the project I am working on. I don’t know if you’ve heard about it, but it’s at stackoverflow.com :)


Posted by
Alastair
22 May 2008 @ 12pm
#

That’s excellent Jeff. At the risk of sounding patronising, I just want to point out that I am very impressed with your reaction to the criticism expressed here by me and others. You do seem to listen and care.

I think I (finally) understand the style of delivery that you favour, although I have to say it’s not to my taste.

I hear what you’re saying about changing your mind. However, the only way I would have known that is because you told me. The hypothetical web surfer who arrived randomly at your Humane Markup post would not know that you had reconsidered the views there, or even that it was ever considered as “collaborative research”.

I realise it’s a pain to go and update old posts but I would argue this is an unavoidable consequence of choosing the “smackdown learning model”.

Best of luck with stackoverflow, and (as I said in the original article) I’m sure the experience will be extremely valuable.


Posted by
Michael
22 May 2008 @ 12pm
#

A good analogy to CodingHorror, per my experience, is a great college professor who changed your life forever. You do great things now because of him, things the professor hasn’t done. That doesn’t mean he’s become a bad teacher, and it also doesn’t mean you attend his classes for the rest of your life. What you do is recommend his class to undergraduates and solicit his advice as you need it.


Posted by
Attila
22 May 2008 @ 12pm
#

Got here from the Coding Horror blog. Everybody said a lot already so I just will add one note. From time to time, somebody starts to do something for fun (write, create a product/service/program, you name it) and then people like it and pick it up. The creator realizes whatever he created is something people want. So he creates a business on it. Should he now change? I would say no. Whatever made one successful one should continue to do. That is the proven business model. That will work. Change it and you got a new business which might succeed, might not. So, for Atwood I say kudos for creating something what he can base a business on and being able to just keep doing the same. “Raising the bar” as you said you expect him to do might just mean he would lose all his current readership. I am suprised you didn’t get that, it seems obvious to me…


Posted by
JonR
22 May 2008 @ 12pm
#

C? like, from the olden days? whatever….


Posted by
TW Andrews
22 May 2008 @ 12pm
#

I don’t see why him quitting his day job and being supported by his blog should raise the bar at all. Either the content is good, or it’s not, and whether or not he gets paid shouldn’t only be related to our judgment of that. Would you let someone giving flat-ass wrong advice slide just because they were doing it for free?


Posted by
Sue W
22 May 2008 @ 12pm
#

Since when does it have to be all or nothing? Jeff’s writing is interesting, So someone’s wrong on the InnerTubes? It doesn’t have to be the love of your life, fan boy. Y’know…get a sense of proportion


Posted by
Rob O.
22 May 2008 @ 12pm
#

I’m not a coder, so I really never became a regular reader of Coding Horror for the programming aspect, per se. I enjoy Jeff’s writing style, his often-unique perspective, the range of topics that’re covered, and the quality of the reader comments that accompany his posts. None of those factors that drew me to the blog initially have changed and I still enjoy reading his posts.

I really like – and agree with – Michael’s college professor analogy…


Posted by
JohnMcG
22 May 2008 @ 12pm
#

I have to echo Brendan’s point. Coding horror will often have bolded statements and titles like The Coding Horror blog is fundamentally corrupt!!!!

The surrounding text may be more balanced, but the bolded text is an attention-getting ploy, and makes Atwood’s claim that he is making a more nuanced point less credible.


Posted by
JohnMcG
22 May 2008 @ 12pm
#

To expand, in this thread and in the post Atwood seems to be adopting a tone of, “Aw, shucks, I’m not really an authority. What would possibly give you that idea? I’m just a guy posting stuff to a blog, no better than any of you, and hoping we can learn things together.”

That’s fine, but it is at odds with the tone of the blog as stated above.

I guess, like Alistair, I fundamentally disagree with the “strong opinions, weakly held” framework, or at least how it’s applied at Coding Horror. It reminds of when I would get in an argument with my sister growing up where she would insist something wasn’t so, then when I demonstrated it wasn’t, she would respond with, “How was I supposed to know?”

If you think this has no consequences, how would you categorize the opinion that Iraq had weapons of mass destructive. Wouldn’t “You’re with us, or you’re with the terrorists” be an example of the SmackDown learning model?

It’s one thing to be a stopped clock; it’s another to be an alarm clock that is stopped at the wake-up time. Eventually, you get tuned out.


Posted by
Trevor
22 May 2008 @ 12pm
#

Meh…

So Alastair, lets say you were right about everything. Lets even go beyond what you said, and assume Atwood generally sucks at life, programming, and all things tech related…

There. YOU WIN TEH BIG FIGHTZ! phew. Let your chest swell and your head grow fat. Have a beer.

That illustrates my view of your credibility (cough lackof) behind every response, because from this point on, you are just defending your pride.

But now that you have “won”, let your pride be satisfied and lets move on to the bigger picture: So What?

You don’t enjoy Atwood’s posts and no longer feel like you learn from them. That kinda sucks dude. Maybe you should ask for a refund. Tell Jeff to give you your subscription fees back. Then stop reading his posts. And move on or something.

I’ve been coding for over a decade, and almost never learn something brand new from Atwood (except I did learn what bikeshedding means and that is awesome). Why do I keep reading it? It keeps me sharp and makes me think about a wide variety of programming aspects / concerns (I’m not saying it does this 100% of the time) and inspires me to continue learning. Furthermore, it’s a blog, free to anyone who stumbles upon it, and a source of great wisdom (sometimes general, sometimes specific) for beginner-to-intermediate programmers especially. I choose to back him 100% because of what he contributes to the community, not necessarily what it does for me.

The end.


Posted by
Tariq Kamal
22 May 2008 @ 12pm
#

Holy moley, Atwood never learned C?

I didn’t know that. I thought anyone who went through the CS track did at least a course on C and learned its basic structure. Huh.

I read Atwood’s blog on occasion, because I subscribe to his feed. I treat the blogs I subscribe to all pretty much the same: I usually start by reading the title and skimming the text; if it interests me, I read it, and if it doesn’t I skip it. Atwood’s performed relatively well on that regard, so no complaints from me.


Posted by
Dennis Forbes
22 May 2008 @ 12pm
#

Jeff,

As quaint as that quote may be about blogging and going “pro” — Dave Winer apparently lives in a yesterday world (Radio Userland sure does) — it’s laughably silly. It undermines your own argument because you could only possibly accept it at face value, without question, when it served your purpose.

You aren’t simply writing about what you are doing. You are writing to pay the bills. It isn’t a side effect of some other venture, but it is the venture. This completely changes the rules of the game, entirely altering the motivations (and, some would argue, value) or your posts.

I suspect that you thought up stackoverflow primarily to give you something to talk about. The completion or success of that venture isn’t even particularly important, as it gives you material.


Posted by
joe
22 May 2008 @ 12pm
#

I find his blog exceedingly entertaining for a programming blog. That’s mainly because he’s an elegant writer, and because it’s a well-presented blog.

Personally I think Atwood was a little too nice to you, but that’s probably the best practice for a blogger when facing criticism. In particular, calling him out because he doesn’t know C, and doesn’t post code is pretty specious. You would of course be justified in unsubscribing to a blog for those highly individualized criteria, but clearly there are bad programmers who know C, and bad programming blogs that post a ton of code, so throwing that stuff on as a laundry list at the end kind of waters down my perception of your well-reasoned critique of his views on XML or markdown.

PS your commenting interface is outstanding!


Posted by
Jon Schneider
22 May 2008 @ 12pm
#

One note in response to Brendan and others commenting on Jeff’s use of in-text highlighting in his posts: This technique is explicitly recommended by at least one usability expert (Jakob Nielsen), to aid readers who are attempting to quickly skim an article. See: http://www.useit.com/alertbox/9703b.html

Of course, as Jeff himself pointed out himself in his response to Alastair’s post here (http://www.codinghorror.com/blog/archives/001124.html), we’re all to some extent amateurs here in the technology industry, so maybe my appeal to authority above in that first paragraph is even less valid than it would be otherwise. :-)


Posted by
JohnMcG
22 May 2008 @ 12pm
#

I think the problem isn’t so much the use of in-text highlighting, but in what Atwood uses it to emphasize.

Typically, Atwood will use the emphaisis to highlight his own conclusions, not the deliberation that goes into them. The message is that what it really important is Jeff Atwood’s opinion, not the discussion of it, which flies in the face of the “just spitballin’” story we’re getting now.

On reflection, I think my examples about the Iraq War were a bit overblown. My point is that there’s a fine line between taking a strong opinion to provoke discussion and bullying people by shouting your opinion.

To a reader not privy to Atwood’s learning techniques, and who might perceive Atwood as an authority, it can appear he is doing the latter rather than the former, the result being less discussion rather than more.


Posted by
Dennis Forbes
22 May 2008 @ 12pm
#

It really is irrelevant whether Jeff feels himself an authority figure or not (it is debatable either way). What really matters is whether the community, or a loud enough subsection of it, sets him up as an authority figure.

To explain that, few will pay attention to, much less waste time criticizing, a self-proclaimed expert of some niche if they’re ignored and unnoticed. Yet if they’re held up as an authority by others, their words having a real world impact on their spheres, their expertise will naturally be questioned.

They’ll earn critics and derision regardless of any claims (real or not) of humility.

As Jeff’s popularity has grown, the critic ranks have increased in numbers (as has the legitimacy of questions of Jeff’s expertise).

The same curve happened with Spolsky: It’s one thing to admire his work (I’m a fan of Spolsky’s writing over the years. Jeff is also a great writer, and presents information well) and follow it closely, but it’s quite another to work in your domain and constantly have peers declaring Spolsky (or Atwood) Truths: “But Spolsky says that…” The authority of the speaker is what’s used to sell sometimes absurd conclusions, so naturally the response is for those who disagree to question the authority. This shouldn’t surprise or shock anyone.

And regarding C — while it’s viable that a new grad might never have dabbled in C, it’s bizarre that someone in the industry for a long haul could have managed to evade it. It is an absolutely foundational language, still powering a significant percentage of our world.


Posted by
John Rudy
22 May 2008 @ 12pm
#

I’m still a Coding Horror subscriber, and I’m proud to say I read almost everything Jeff writes. Not that I feel he’s a god, or even a guru, but because it makes me think.

That’s the key to a good blog, in my mind. Any of us can have a blog which talks about a certain technology, and how to apply it. (I’m guilty of this myself.) But the language-agnostic approach that Jeff takes is something I find far more useful most of the time. I often want to know about practices, not just a single application. (This is why I’ve been reading more books like Code Craft than raw tech books — I can teach myself a new technology easily, but I’m more interested in appropriate ways to use it.)

Given that, I should note that I discovered this site from Jeff’s reply (and am most likely about to subscribe to it as well) …


Posted by
Gordon
22 May 2008 @ 12pm
#

I too was a long time reader of Coding Horror and used to look forward to a tri-weekly (or whatever) fix, but have to agree that something has happened. Not quite sure what, but it’s gotten boring and I don’t read it much anymore.


Posted by
matt
22 May 2008 @ 12pm
#

I don’t think think the lack of code examples or even lack of experience in C, of all things, is indicative of anything other then reinforcing the fact that most of the points he makes are generalizations – I’m a pretty heavy front-end web developer who hasn’t had any experience in C, Python, or Java, and I think I’d be turned off a bit if he threw out endless code examples in those ‘fundamental’ compiled programming languages, in much the same way that others might be annoyed at AS3 snippets. Everyone has their own favorite languages, but I think the argument could be made that a programmer mindset is what’s really required to be able to discuss programming issues intelligently, and sometimes an outsider’s perspective can be invaluable, to that end.


Posted by
Dave
22 May 2008 @ 12pm
#

Well, your post convinced me to subscribe to your blog.

I’ll still read coding horror though.

I can’t agree enough with the oversimplification statements though. I try to take anything he bolds with a grain of salt.


Posted by
Josh Stodola
22 May 2008 @ 12pm
#

Don’t confuse the title of Jeff’s blog with the experience that is C. A profound hit to his credibility? That statement alone was a profound hit to your credibility.


Posted by
Jake
22 May 2008 @ 12pm
#

I think everyone here is missing the big picture: Jeff’s blog provides an easy to consume medium for all the code monkeys out there to become ever more pluralistic in their careers. Looking back on what I learned in my four years of college as compared to the 70+ hours per week of the daily grind over the last two years, I’ll side with the code monkeys, the “unwashed”. Screw C, algorithms, finite state machinations, the whole g’damn lot. As I spend time producing real software products, I find myself agreeing with Jeff more and more.


Posted by
Arle Nadja
22 May 2008 @ 12pm
#

I still don’t see why Jeff has to defend himself anyway. If he speaks as an authority, well it’s his blog. You can do the same. If you can do better, do that. Easy to tear down. If you don’t like it, don’t have to read it. Hard to demonstrate better.


Posted by
Steven512
22 May 2008 @ 12pm
#

These days, you can detect the crappy programmers by the way they love Paul Graham and use words like “Blub”.

I don’t understand that comment. How does liking Paul Graham mean you’re a crappy programmer? I like Paul Graham, and I’m not a crappy programmer.

There was once a time, before the shopping cart, when Paul Graham was slightly better than the average programmer.

Everyone who’s a programmer is average at some point. The guy is obviously intelligent, just look at his bio, or download the new programming language he created called Arc — how many people can do that?

Paul Graham is a good example of original content. I don’t recall ever seeing links to other web sources in his essays; that’s because they’re original. On the other hand, picture someone googling the crap out of a subject, with a million tabs open in Firefox, copying and pasting quotes into their “original” blog post with plenty of links. Blogs like this are really just distractions.


Posted by
real_aardvark
22 May 2008 @ 12pm
#

Paul Graham is a good example of original content. I don’t recall ever seeing links to other web sources in his essays; that’s because they’re original.

Read them again. I think you’ll find there’s an average of three per article, and they’re unfailingly good links. But read them again, because they’re worth it.

Andy is absolutely correct. A lot of the content of CodingHorror is (at least semi-consciously) aimed at what the rest of us call code-monkeys. He does it rather well. I’d far rather these guys were reading his blog that footling around on slash-dot and the like. He also manages, in the process, to be fairly interesting for 20-year industry veterans like myself. Yup, his MVC post was a ridiculous clanger, but so what? If you post almost every day, you’re going to make the odd mistake — and it was made with the best of intentions, and aimed at the core audience for his blog.

LKM: If any other programmer told you that everything about PHP sucked, Visual Basic was great, and C was too hard to learn, what would you think of him?

Well, one out of three ain’t bad for the average blogger. And I don’t think Jeff’s ever said that “C is too hard to learn,” in any way, shape, or nuanced form. He just doesn’t see the point of it. I think he’s completely wrong, but it’s a valid perspective given his programming environment and target audience.

In ancient times, before the Web, I used to edit a fanzine. It was a monthly cross. I managed fifty or so issues, and my mental health is still suffering.

Jeff has managed this more-or-less daily, and for the best part of eight years.

My hat’s off to him. The fun will burn out eventually, and he’ll do something more interesting like raising ostriches on a farm in Montana, but in the mean time, I don’t see the problem here. Professional or amateur, self-proclaimed industry guru or figure of fun — these are just labels. Enjoy while you can.


Posted by
David Nelson
22 May 2008 @ 12pm
#

The “i’m not a professional, i’m just another amateur writing about my experiences” works just fine, until you start getting paid for writing about your experiences. In every other endeavor, the line between amateur and professional is that amateurs do what they do for the sake of doing it, whereas professionals do it for money. Once you start to derive your primary source of income from blogging, you are by definition a professional blogger. And yes, that does raise the bar.


Posted by
Saleem Basit
22 May 2008 @ 12pm
#

I think he is just a smart guy ranting on his blog. I do read him, and just ignore the posts I do not like :)


Posted by
annoyed
22 May 2008 @ 12pm
#

substantial, not substantive


Posted by
Michael A.
22 May 2008 @ 12pm
#

ACK. Thanks. Really. Thank you. I totally agree.

Atwood seems to be a nice guy but he also seems to be pretty much clueless about technology. I don’t get why somebody like Spolsky even talks to him. Sure, Joel is a windows weenie even if he doesn’t want recognize it himself. He probably thinks he’s very critical about Windows|Microsoft but all his FUD articles on Unix and OS X show us otherwise. But I like what he has to say about technology in general. He cares about developers and software engineering. Atwood on the otherhand doesn’t seem to know anything any usual geek hasn’t known for years already. As he started his blog as a way to share the things he has currently stumbled accross on his way to be a decent developer someday I think thats fine enough for most of his readers out there. All the real developers (or even good writers) I can think of don’t have time to blog that often anyway ;-)

I always thought I’m the only person who doesn’t see anything special in Atwood. Thus, thanks for this post.


Posted by
JKH
22 May 2008 @ 12pm
#

I have enjoyed Coding Horror over the last couple of years. Although I may not have always agreed with Jeff, he has been consistantly interesting and has led me in other directions. I have learned much from him and I am very grateful.

I have also learned much from reading the comments, here. I had forgotten how young males can get together and whine like little mice about the cat. How petty and silly can you boys be? Have any of you who are complaining about Coding Horror told Jeff how you feel (to his face) or done anywhere as close to as much as he has done toward advancing the programming discussion.

FYI: I have programmed in C since 1982 and I can assure you that knowing C has not provided me with any special place in the computer universe. Wish it did. Besides, the notation or programming language you use to tell the computer what to do is only a part of the programming process. How can anyone even begin to judge another’s creditibility based on knowing or not knowing C?

From what I understand, Jeff works real hard. Can any of you say the same? Get a life.


Posted by
steve
22 May 2008 @ 12pm
#

Very easily. Computers work in a particular way. C maps that particular way. If you don’t know C, then you don’t know how computers work.

The fanboys coming on to give Big Al a kick are missing an important point. Jeff might be entertaining and a good writer, but all that means is that he writes entertaining posts well.

For the purpose of programming a computer, it doesn’t matter how many shit’n'giggles you get. It matters how well you understand how to program. It matters how well you understand the computer. It matters how well you know C.

So learn C, or watch the Simpsons.


Posted by
Robert C. Barth
22 May 2008 @ 12pm
#

Faulting a guy because he doesn’t know C is like saying someone isn’t smart because they don’t know how to speak Latin. That’s just plain silly. A language is a means to an end. The manner in which the means is constructed is the important part. The end and the tools to get there are of minor consequence.


Posted by
The_Assimilator
22 May 2008 @ 12pm
#

Very easily. Computers work in a particular way. C maps that particular way. If you don’t know C, then you don’t know how computers work.

This is possibly the most ridiculous statement that I have ever read. I know how computers work, I know about registers and pointers and address spaces and so on and so on. Do I need to know about those things to write good code? Hardly.

The whole purpose of high-level languages such as C# and Java (and, to a lesser extent, VB and Object Pascal) is to make it easy for developers to write good code in less time. I don’t want to have to explicitly manage memory every time I need an array; I don’t want to have my program crash because I forget to add a \0 at the end of a string. If Jeff and I don’t want to have to worry about that sort of thing, that’s our business; don’t bash us for it.

Back to the topic at hand – I have only been reading Coding Horror for about a year, but I will continue reading it because, as previous commenters have noted, it makes one think. Jeff has never asserted he’s an authority on anything; he’s never asserted he’s correct. Yes, his MVC example was flawed, but it got people talking – and hence thinking – about MVC.

In my books, a blog like Coding Horror that makes people think, is a hundred times more valuable than one that throws random code snippets out everywhere. The software industry needs more thinkers, not more university graduates who can do little more than write crappy C code.


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

By the same token you are even better off knowing how a) assembler and b) parsers work. Because those are the foundations of C, and if you know those, then knowing the more obscure corners of C doesn’t provide you with any additional insight.

I’ll go out on a further limb here and suggest that studying how to write a Forth would also be useful. It’ll give you an appreciation for how to derive powerful high-level abstractions out of almost no structure at all, and how high-level semantics correlate with the machine level.

You may now go on to tell me that my stipulations are ridiculous. :)


Posted by
sbg
22 May 2008 @ 12pm
#

in the last few month there are only two kind of posts on coding horror:

  • huge quoted content, minimal original content
  • book reviews with amazon advertising

Posted by
marc Grudfest
22 May 2008 @ 12pm
#

Very interesting discussion. I am new to both bloggs and frankly I am so old that I pefer to learn from books.

Now I will say that when anyone expert or layman make a post or states a possiton they have a special responsiblity to be objective if stating facts, and humble if stating opinion.. If they are trying to stur up controvresy they are free to do so, but it is good to do some research into the subject matter and prehaps even cite a few references– prepapes even primary sources so as to ensure the the reader can do his or her homework.

Now I realise that blogging is very hard work and adding research to the burden would make it worse, but I have to say, with regret that, during some verbal conversations in the past, I having made errors of fact due to faulty memory or understanding, have, with no ill intent, mislead. When this happens I take measures to track down whomever I was speaking with and correct the record, but alais this is not allways possible.

But a blog is closer to a printed paper, than an off the cuff remark, it reaches far more people,and it is far harder to correct the record ,

Therefore I think it best if great efforts were made to ensure that you are correct in what you say and if unsure, explicity flag your comments as such and caution that verification may be required before relying on then– something like “I think I recall reading” or if memory serves. YOu should also explicily invite correction– not eeveryone is cofortable with the blog format even now— as I said I am an old-timer. I still read books


Posted by
steve
22 May 2008 @ 12pm
#

Assimilator writes:

I know how computers work, I know about registers and pointers and address spaces and so on and so on. Do I need to know about those things to write good code?

Yes. You write good code because you know what’s going on behind the scenes, and you can fix code because you know what’s going on behind the scenes.

Aristotle writes:

By the same token you are even better off knowing how a) assembler and b) parsers work.

Assemblers, yes. Parsers, no.

I’ll go out on a further limb here and suggest that studying how to write a Forth would also be useful.

Yes.

I don’t get the controversy here.

If you’ve only programmed in Lisp, you know sod all about what the computer is actually doing in response to your neat little line of code, and you’ll have sod all idea why it’s taking half an hour to run. If you’ve only programmed in C#, Java or Visual Basic, you’ll have sod all idea what the computer is doing, and you won’t know how to fix it when it takes half an hour to run your code.

If you’ve studied how the computer itself works, by whatever means (assembler, C, Forth, other bit-twiddlers), then you’re in a much better position to know what it can do and deal with the limits and edge cases. This is so blindingly obvious I feel like I’m wasting my time typing this.

If it makes you feel better… I fail to qualify by John Resig’s standards of “knowing Javascript”.

Rather than huff and puff about how I don’t need to know some shit-arse obscure corner of Javascript, I simply acknowledge that John Resig is getting some great results from his programming and I’m just not that good at Javascript.

Suck it up, and do the same when it comes to computers and C. You can always do something about it. You can go and LEARN it in the couple of weeks you would have spent whinging and moaning and alpha-asserting your .Net credentials.

Isn’t it really very obvious that you need to know what you’re doing if you want to get good results? It depends how you define “good results”, I guess – if you’re happy with dragging some button into a window and being able to click it… sure, go ahead.


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

The point of having an at least basic conceptual grasp how parsers work is that it gives you a more tangible sense for how something like C (or a higher-level language) is ultimately turned into machine code. Otherwise, if you know assembler and a higher-level language, you’ll have an intuitive understanding of what operations in your high-level language are expensive, but you will only have a hand-wavy understanding of how your high-level code actually appears in the CPU’s view.

This thought of having a clear understanding about how high-level and assembler correlate to each other is what led me to suggest Forth. That particular language manages to compress the entire mapping process into an astonishingly small amount of machinery. (Check out jonesforth, f.ex.; it’s a minimal but complete Forth of which the pure-assembler part is ~800 lines, with 12,000 words’ worth of documentation inline. You can read and understand the entire thing in a few hours. We’re talking about going from bare metal to high-level language in a few hours.)


Posted by
Aaron
22 May 2008 @ 12pm
#

I find it extremely amusing that this blog had absolutely no attention until he basically attacked the credibility of a very popular fellow blogger.

So, Alastair, what gives you any credibility what-so-ever? What made you wake up one morning and say, “I know more than Jeff Atwood and I need to make sure the world knows this!” Or was it simply, “I really need some attention today!” ?

I have had many disagreements with Jeff’s opinions and made them known in his comment section. He has even responded. So has other readers. My disagreements with him has not given me any right to try to discredit him or his opinions in any public fashion… Mainly because I have respect for people like him.

The fact is, he is a good writer and he is great at getting a discussion going.

Quite frankly, it’s a lot more than you have done, my friend.


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

I find it extremely amusing that this blog had absolutely no attention until he basically attacked the credibility of a very popular fellow blogger.

I find it extremely amusing that hordes of people come who would never have heard of this weblog unless Atwood Himself linked to it remark on how this weblog previously had no attention. That’s besides the fact that none of these commenters have the first clue about how much attention this weblog previously had or not.

So, Alastair, what gives you any credibility what-so-ever?

The subject of the post was Jeff Atwood; it was quoted by Jeff Atwood. How’s that for credibility?

What made you wake up one morning and say, “I know more than Jeff Atwood and I need to make sure the world knows this!” Or was it simply, “I really need some attention today!” ?

You seem to have read a different article from me or Jeff Atwood, because the intentions of Alastair seemed quite obvious to me based on the article, and the response Jeff wrote seems to indicate that he inferred the same intent from it as I did.

I have had many disagreements with Jeff’s opinions and made them known in his comment section. […] My disagreements with him has not given me any right to try to discredit him or his opinions in any public fashion…

Wait, so posting your disagreement in Jeff’s comment section, which probably has more readers than your own weblog, and almost certainly has more readers than Alastair’s weblog, is a less public form of criticism?

Someone’s powers of reasoning here aren’t quite adding up.

Quite frankly, it’s a lot more than you have done, my friend.

Who made you the expert on Alastair Rankine’s life, my friend?


Posted by
Who
22 May 2008 @ 12pm
#

I think I (finally) understand the style of delivery that you favour, although I have to say it’s not to my taste.

So don’t read his blog. And we shouldn’t read yours either. Clearly this is the most traffic you’ve received in a long time.

Total comments on this post: 81. Total comments on previous posts: 3, 10, 2, 6, 1


Posted by
Aristotle Pagaltzis
22 May 2008 @ 12pm
#

Clearly this is the most traffic you’ve received in a long time.

All because Atwood himself considered it worthwhile enough to link it. Gosh.

Total comments on this post: 81.

Yes, and considering their content, I’m certain that Alastair loves the attention he has received.


Posted by
Alastair
22 May 2008 @ 12pm
#

Just so that everyone knows, I regularly close comments a month or so after publication, mainly as an anti-spam measure. However I’m tempted to close comments on this article early mainly because this discussion doesn’t seem to be going anywhere. I think that most points of view have been put forward, and there’s not much more that can be added. (Happy for the C discussion to continue on the developer essentials post however.)

If you have something new to say and have for whatever reason been holding back, now is the time. Consider this a last call.

My thanks to those who took the time to write thoughtful comments, and extra thanks to Jeff Atwood for being a good sport about it all.


Posted by
Bill Radis
22 May 2008 @ 12pm
#

To Steve:

Who knows better the internals of a formula 1 car? The engineer or the driver? Now answer me this: Who of the above drives it faster?

By using your way of thinking, you are no better than someone who deosnt know what a computer is, because you are not an expirienced chemistry professor specialising in Piritium physics and diods and triods. Thats how computer work ultimately. So if you dont know that then we can use your rule of deduction and deduct that you cant be a good programmer.


Posted by
tim
4 December 2008 @ 7am
#

Jeff is an idiot. Well, that may be over the top, but he is not that bright. On just about all things he blogs or discusses he has an amazingly simplified view of things and then when Joel corrects him Jeff usually says something about “edge cases” or “I totally agree”.

My god, to listen to him on that podcast about NP complete was hilarious. How can someone who writes web applications even consider setting themselves up as an expert on software development? Whenever I was bold enough to actually read his crap on coding horror, the only reasonable things I read were the quotes he took from other people or the apparent unlimited stealing from Mcconnell. I think Jeff wants to have his babies. really.


Posted by
Amateurs and Credibility « Martin’s Blog
9 January 2009 @ 10am
#

[...] Posted June 1, 2008 Filed under: twitter | Jeff Atwood has openly responded to some criticism of his blog Coding Horror by Alastair Rankine. I get where Alastair is coming from. But I really enjoy Jeff’s posts and [...]