-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Jun 22, 2008, at 4:07 AM, Jacob Dunphy wrote:

> This is the first "announced release" of KABLAME!
>
> KABLAME! started as a way for me to show my managers that half of the
> development team wasn't writing any tests.  It was a stupid Rails
> plugin that I've now turned into a stupid gem.  It uses scm blame
> commands to determine how many lines project contributors have
> written.  It currently works with git and svn.
>
> The gem installs a pair of binaries, git-kablame and svn-kablame,
> which can be used to KABLAME a project.
>
> Usage example:
>
> git-kablame lib specs  -> Runs git blame on every .rb file in these
> directories and returns a list of contributors and the lines they've
> written.
>
> Example output:
>
> ++++++++++++TOTALS++++++++++++
> **WINNER**  tom  **WINNER**
> tom          ==> 1115
> dick         ==>  750
> harry        ==>  369
> **LOSER**  harry  **LOSER**
>
>
> So give it a try and see if you're the most prolific coder on your  
> team.
>
> gem install kablame
>
> Check out the (very limited) docs at rubyforge:
> http://kablame.rubyforge.org
>
> Check out the source at github:
> git://github.com/jdunphy/kablame-gem.git
>

This scheme is faulty not only because of the assumption that more  
lines make better code (i once worked on a project where creating one  
of [simple]  page pdf took the original coder 4000 LOC - he would be  
the clear winner), but also because it is pretty easy to beat -  
without actively doing something bad.

If my company would use such a scheme, i would go against accepted  
practices and correct every tiny whitespace error (in my/the projects  
fashion of indention and paranthesis). Thats 2 seconds of work and at  
least one line per correction. "Convert Tabs to Spaces" is also a  
command that gets you a long way on you quest of "tagging" lines with  
you name. ("Sorry, my text editor does that by default. Forgot to  
switch it off.")

If you do wish to show that someone doesn't commit on some arbitrary  
subtree (e.g. /trunk/tests, as it seems to be you case) a simple "svn  
log tests | grep ..." would suffice.

There is a reason why I prefer "svn praise" to "svn blame" because it  
should only be used in a constructive sense. (e.g. being able to  
contact the original author)

Regards,
Florian gilcher 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkheKT8ACgkQJA/zY0IIRZZeoACgs+ZAKVtp14UFUM9yhAQfLDbm
T70AmwVU/yBX4M8n0VXBTFRL7HOMkWHp
=C3oe
-----END PGP SIGNATURE-----