My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement | getting started with cfrails
If you get too smart, you start to think a lot. And when you think a lot, your mind explores the depths of some scary places. If you're not careful, your head could explode.

In The Butterfly Effect, Ashton Kutcher's head could have exploded from the number of choices he could make when exploring the depths of his brain.

So to combat the effects of increasing intelligence due to reading books like The Mythical Man Month and Code Complete, I'm careful about maintaining a subscription to digg/programming in my feed reader. Incidentally, this tactic is also useful in preemptive head explosion. However, this second type of explosion is usually caused by asininity, as opposed to the combinatorial explosion due to choices you gain from reading something useful.

This man's head exploded, and had to be put back together with duct tape.

Reading digg/programming is how I came across Ohloh.

As Matt Marshall writes in VentureBeat,
Ohloh, a company that ranks the nation's top open source coders, is opening its service to let other developers to track and rank their own teams. [Strong emphasis is mine.]

It's the latest move by Ohloh, a Bellevue, WA company that already distributes its coder profiles and related data to about 5,000 open source sites. The Ohloh profiles can serve as advertising for these sites, because the profiles show how active their open source development projects are.

Here's how it works. Ohloh ranks individual coders by tracking their activity. Ohloh can do this because open source projects publish their code, along with a record of updates each coder makes. Ohloh exploits this publicly available information and analyzes which coders are the most active in making key contributions to the most important open source projects. It assigns them a "KudoRank" to each coder between 1 (poor) through 10 (best).


Teams now have access to Ohcount - "a source code line counter" that "identifies source code files in most common programming languages, and prepares total counts of code and comments."

Unfortunately, since Ohcount helps power the normal Ohloh website, I'd bet it can track commits and lines of code by committer.

As is well known to many people, if you want something done, measure it. In this case, presumably you want more lines of code.

O RLY? Are you sure about that?

The trouble is that lines of code is not a relevant indicator of productivity, so tracking it per developer may not tell you what you think it's going to tell you.

And what makes measuring lines of code per developer (and saying more == better) completely stupid is that program size is code's worst enemy. You'll end up doing the opposite of what you intended.

Still, Ohloh has some interesting stats for you to look at. And you know you want to be ranked #1.

Thoughts?

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

absolutely. i've got a buddy that i just helped. he basically had a function in triplicate because a variable changed. we reduced his code to a third of the size.

and then there is the code beautifiers (i like to lump myself in that category). we have various things we do that increase lines. double bars of asterisks noting a major comment. placing each attribute of a tag on a seperate line. each tag on a seperate line... etc...

if i participated in open source, i would probably be considered one of the poorest out there, but i might get a decent rank out of it.... chalk one up for beautification.

Posted by shag on Jun 04, 2008 at 09:44 AM UTC - 5 hrs

I think it might be useful to track lines and commits as they relate specifically to bugs in that section of code. At fist blush it seems useful, maybe not on a per person basis, but as a project.

It seems like there are a lot of metrics that could improve the way a project and individual developers work in this. Things that improve productivity but don't measure it, per se.

Posted by grant on Jun 05, 2008 at 03:30 AM UTC - 5 hrs

To be clear, I do think that tracking lines of code as a project metric can be useful. As you mention, tracking lines of code as a developer metric is what I'm against in this post.

Posted by Sammy Larbi on Jun 05, 2008 at 06:53 AM UTC - 5 hrs

Ohloh was initially conceived from a curiosity about software metrics. While it's evolved significantly since then, I still feel today the same way about metrics as I did when starting Ohloh: relying on them alone is jack-assery yet ignoring them completely is foolish.

Measuring lines of code itself is not wrong: it's the interpreting that's tricky - which is why ohloh tends to stay out of that business.

Lines of code is just one metric we track - and we don't actually use it very much (we tend to stick with the facts - and interpret very little). Other "objective" metrics we track: commit activity, programming languages, comment ratio, active contributors, for example. However, we also integrate "subjective" stats too: kudos and project usage, for example.

-jay (ohloh)

Posted by Jason Allen on Jun 24, 2008 at 12:51 PM UTC - 5 hrs

Hi Jay,

Thanks for clarifying ohloh's intent / purpose. I think you'll find we're in agreement on what you said, and certainly metrics can be valuable to a team and organization.

The post was meant as an indictment of counting lines of code in an attempt to quantify how well a developer measures up to some quantity, not specifically about Ohloh. The posts I referenced that mentioned Ohloh just got me thinking about it.

I guess I could have made that more clear. Sorry about that.

Posted by Sammy Larbi on Jun 24, 2008 at 02:26 PM UTC - 5 hrs

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me

Topics
.NET (24)
AI/Machine Learning (13)
Bioinformatics (2)
C++ (6)
cfrails (22)
ColdFusion (83)
Customer Relations (20)
DRY (19)
DSLs (13)
Future Tech (6)
Games (6)
Groovy/Grails (7)
IDEs (9)
Java (43)
JavaScript (3)
Lisp (1)
Mac OS (1)
Management (3)
Miscellany (61)
OOAD (38)
Programming (123)
Programming Quotables (8)
Rails (19)
Ruby (54)
Save Your Job (62)
scriptaGulous (4)
Software Development Process (26)
TDD (42)
TDDing xorblog (6)
Tools (4)
Web Development (5)
YAGNI (11)

Resources
Agile Manifesto & Principles
Principles Of OOD
ColdFusion
CFUnit
Ruby
Ruby on Rails
JUnit



RSS 2.0: Full Post | Short Blurb
Subscribe by email:

Delivered by FeedBurner