Home MVC Storefront

Some Thoughts On Blogging

What could be more boring - a blog about blogging :). Usually when I read a post title which suggests "Blog Like Me, Today!" or "I'm a Blog and So Can You!" I skip over it and move on. I'm sure there are some neat thoughts out there that I can learn from, but usually the posts I read are full of platitudes and "you can do it too" kind of thing which all seems so... Self-Helpy.

Today I read a post by Jacob Proffitt whose blog I'd never read before. How had I never read this guy's stuff? Where has he been? How can I stalk him?

As I started to read, I kept thinking to myself "this...THIS is HOW YOU DO IT!" His post moved me so much that it inspired me to write up my weekend Off Topic post, which, it turns out, is sort of on-topic.

 

Rule Number One: Don't Blog About Blogging
Link lists, snotty thoughts about "tricks to get links", etc. can be entertaining at times, but as far as I'm concerned it's like having a beer with a picture of your friend - you're just talking to yourself. There are some good posts out there on the subject, however. One that comes to mind is Jeremy Miller's post (Should I Blog?) just a few weeks back about why it's important to have a blog. I liked what he had to say since I think it's important for everyone to get their thoughts out there - especially useful thoughts:

  • You publish something that helps somebody.  You've used a lot of tutorials, newsgroups, and other people's posts in your career.  Think of your blog as a way to pay it forward.
  • By writing out your position on anything, you'll be forced to crystallize your thoughts on a subject.  I very frequently use my blog as a way to "pre-can" arguments and explanations for later.  I've used my blogging material in consulting roles.  I think that the simple act of expressing yourself is a good way to learn.  What do you think about a subject, and why?  Can you defend that statement?

So for Jeremy I'll make an exception - this was a good read. You might be asking yourself if I'm breaking my rule here - but I'm not since this paragraph is blogging about blogging about blogging. OK I spose that was a bit weak. I broke the rules because I like Rule Number Two a lot better...

Rule Number Two: Break The Rules
Like any group, we invent rules and creeds to live by which change over time as we get bored or technology changes. This isn't new stuff (which makes that sentence boring). What isn't boring is that I think I read the perfect blog post today by Jacob Proffitt (or as close to perfect as possible - it was just a smidge too long).

It was:

  • Well-researched
  • Extremely well-written
  • Entertaining - he knows how to turn a phrase! And
  • Persuasive
  • Rant-free

Despite the title (TDD Proven Effective! Or is it?), the article addresses what is a failing in all of us - searching for confirmation of what we believe in what is supposed to be a critical study (emphasis mine):

One of the things I worry about when I see things supporting the latest and greatest software development practices, however, is a strong tendency towards confirmation bias—of looking for confirmation of current theories and overlooking counter-indicators.

Jacob goes on to dissect a study on TDD ("On the Effectiveness of Test-first Approach to Programming", Hakan Erdogmus, 2005 (?)) and systematically dissects the statistical data that the report produced:

Clever academics have long used abstracts to support the conclusions they desire and this seems to be one such. If you're careful (as these authors are) you can even do it without actually lying...

<snip>

Here are some equally true statements based on the data (pages 9 and 10 of the report if you want to read along with me in your book):

  • The control group (non-TDD or "Test Last") had higher quality in every dimension—they had higher floor, ceiling, mean, and median quality.
  • The control group produced higher quality with consistently fewer tests.
  • Quality was better correlated to number of tests for the TDD group (an interesting point of differentiation that I'm not sure the authors caught).
  • The control group's productivity was highly predictable as a function of number of tests and had a stronger correlation than the TDD group.

So TDD's relationship to quality is problematic at best. Its relationship to productivity is more interesting. I hope there's a follow-up study because the productivity numbers simply don't add up very well to me.

If you want to read more, head on over to Jacob's post and see what he has to say. Note that he isn't necessarily debunking TDD or suggesting that it's not A Good Thing. He's simply calling into question our propensity to embrace the next shiney thing, versus critically thinking about it.

Rule Number Three: Research, Re-ead, And Don't Make Me Think
I love to read CodingHorror, even though I disagree with many of the "Jerry Springer" posts he comes up with. It's not the subject, it's the mechanics - I wish more people could do what Jeff does so simply:

  • Research the tar out of what you're writing about (i.e. Google it 4 or 5 times). As you read more, your opinion might change for better or worse - either way you'll know more about what you're writing.
  • Just say it.I fail at this one consitently. Whatever your point is, get to it.
  • If you have a point, make it. Don't hedge. If you believe it, it's OK to say it (and let me say again I love Jacob for his post, for this reason). If you're not sure and you start to hedge, stop writing and rethink it.
  • Don't listen to people tell you how to write. This is critical.

When you're done writing, make sure to reread your post to make sure you haven't said something dumb. I fail at this a lot too :). Most important of these items, however, is to not listen to lame advice on how to write a blog. You have a voice and it should be your own. There are no rules to writing anything, which brings me to my closing point...

Rule Number Three: Never Post Rules, For Anything, Ever
It's pretty easy to see things as "it's either this way, or it's wrong" and every time I read a post like that, Obi Wan's words sound in my ears:

"Only the Sith deal in absolutes..."

There are lots of "Hot Or Not" lists out there that dictate what's "cool" and the things you should do. Google is usually unkind to those lists as time goes by (unless you're trying to find places to Frost Grind - thank goodness for WoWWiki). If you're not a blogger and you want to take Jeremy's advice and start a blog (and you should!) - please do me a favor and omit the "Links for today" kind of thing, and "My List Of Must-Have Stuff" (unless you're this guy or SubSonic is on your list :).

P.S.: The irony in this post is intentional - I really do loathe blogging about blogging. But Jacob's post was so well written I wanted to call some attention to it, and him. Absolutely stellar writer.

Jimmy Bogard avatar
Jimmy Bogard says:
Saturday, February 02, 2008
You know, Jeff Atwood blogs about blogging AT LEAST once a year...so you're waaaay below average. http://www.codinghorror.com/blog/archives/000297.html http://www.codinghorror.com/blog/archives/000854.html http://www.codinghorror.com/blog/archives/000893.html http://www.codinghorror.com/blog/archives/000910.html http://www.codinghorror.com/blog/archives/000983.html Plus you don't have to blog just about blogging. How about trackbacks? Pingbacks? Advertising? Comments? Captcha? Anonymous cowards? Moderation? Splogging? There's enough potential material out there to create a meta-blog blog. Enough of those, and you could create a meta-meta-blog blog. Think about it.

Justin Etheredge avatar
Justin Etheredge says:
Sunday, February 03, 2008
I told you blogging about blogging is all the rage. You just don't listen... Besides, it is often fueled by alcohol and self-importance. The two things the developer community seems to have in abundance. :-)

Damien Guard avatar
Damien Guard says:
Sunday, February 03, 2008
I'm with you on this - many times I've been mid-thought about potential blog-post but then remembered that meta-blogging is for people with much more successful blogs. You missed one more rule though... Don't write posts about the lack of posts - there is nothing more annoying than these clogging up your reader and is a top incentive to hit the unsubscribe button. [)amien

Mike avatar
Mike says:
Sunday, February 03, 2008
Very OT but.... Regarding all the passing of strings around in interfaces like INotifyPropertyChanged, and just saw it again in Scott H's MVC video and again I find myself wondering why we are passing around strings of property names in C# 3.0 and .NET 3.5? I contacted Scott GU who refered me to the compiler team about a year ago, and proposed using something like nameof(Class.Property), this simply returns the name of a property as a string, they said they were looking at infoof() somthing similar but does more. Maybe you could poke around and find out why we are still passing around strings of property and method names, some compiler issue or something else, seems like it would allow the compiler to catch many typos if we could break this practice. It also seems like the MVC, DLinq and other teams would be screaming for this capability. Thanks.

Jacob avatar
Jacob says:
Monday, February 04, 2008
Ooo. Damien, good catch. I go through inactive phases and have to almost physically restrain myself from committing promises to post more or apologies for not posting enough. I've gone a month and a half where I simply had nothing to say (like November 2007). It's a total turn-off to read, though, so I refrain.


Search Me
Index Of MVC Screencasts

You can watch all of the MVC Screencasts up at ASP.NET, and even leave comments if you like.

Subscribe

Popular Posts
 
My Tweets
  • @mattberther do you really want to use the words "fair", "balanced" and "Hannity" in the same sentence? :):)
  • @ryanlanciaux McCain is becoming a national embarrasment like Bush before him. Cheapens our political process and makes us look like idiots
  • @ryanlanciaux The basics I spose - the ability to speak in full sentences, details about their plans, no overt smears and lies... like that
  • Time Magazine: "what a desperate empty embarrassment the McCain campaign has become". Have to agree. http://tinyurl.com/3kygnq
  • How does O'Reilly keep his job? http://tinyurl.com/3zw5r4
  About Me



Hi! My name is Rob Conery and I work at Microsoft. I am the Creator of SubSonic and was the Chief Architect of the Commerce Starter Kit (a free, Open Source eCommerce platform for .NET)

I live in Kauai, HI with my family, and when my clients aren't looking, I sometimes write things on my blog (giving away secrets of incalculable value).