Spam Humor

Think you have a solution to spam? Check out spamsolutions. Its an online spam solution form with pre-selectable failure options. My favorite is

Specifically, your plan fails to account for…
Armies of worm riddled broadband-connected Windows boxes

Version Control Part 2

Just a quick addition the the previous article.  Here is a great rant by Larry McVoy on the Linux Kernel Mailing list talking about the pure difficulty of developing a distributed version control system (aka: dcvs).  Larry is the founder of BitMover, the company that makes BitKeeper (aka: BK). One sentence that really stands out to me is his explanation of how to perceive a dcvs:

To understand why, think of BK as a distributed, replicated, version
controlled user level file system with no limits on any of the file system
events which may happened in parallel. Now put the changes back together,
correctly, no matter how much parallelism there has been.

BitKeeper is possibly the best revision control system ever created (unfortunately it costs money that I don’t have.)  Larry started BitKeeper to help out Linus’s work on the Linux kernel.  There are many people who really don’t like BK because it is not under a GPL license.  Its so good at revision control that its worth it anyway to Linus because of the time it saves him (its not unusual to have Linus merge 3000+ pushes a day into the mainline kernel.) Linux kernel developers get to use BK for free.

Version Control

I have recently been looking very seriously at the issued of software version control.  This is probably the least interesting topic on the face of the earth to anyone but developers, but if you are a software developer, your version control system is almost more important to you than your computer.  I currently use CVS at home and at work.  Like most CVS users I am starting to see how it could be improved.  Reality is that the only serious advantage of CVS is that it works… and it works with just about anything.  There are literally hundreds of scripts, programs, UI’s, and toolkits that work with CVS. 

Here is feature comparison between ten or so of the most popular version control systems.  Another article on CVS and its two main successors can be found here.  One of the biggest debates concerning version control is the use of distributed vs centralized models.  Diagnosing svn is an article by Tom Lord, one of the gnuArch developers (a distributed version control system.) Un-diagnosing svn is a response to the previous article by Greg Hudson, one of the Subversion developers (a centralized version control system.)

I am still working out an opinion and making a decision on which version control system I will be moving too in the future.   At this junction I am leaning toward gnuArch.  I don’t generally like the BSD license (which is what Subversion is distributed under) and it doesn’t seem like more than a minor improvement over CVS.  In addition Subversion feels “overweight” for what it does and really lacks the simplicity of design that is common of Unix type applications.