Blog

Source Control Tools

Aug 06, 2008 by:   Tim Stanley

H.O. Studley Tool Chest

The limitations of your tools are your limitations. Choose your tools wisely.

Recently CodeProject published a survey to answer the question What Source Code Control system do you use? I find some of the results interesting and a bit unexpected in 2008.

I consider source control part of the fundamental big three tools of software development.

  1. Source control
  2. Work item or defect item tracking
  3. IDE or development environment or compiler

What I find unusual:

  1. The number of people using no source control seems high.
  2. Given the known problems, issues, and alternatives to SourceSafe, the number of people still using SourceSafe seems extremely high.
  3. Given the high cost of the infrastructure and licensing of Microsoft Visual Studio Team Foundation, I am surprised at how many users report using it.

Useful Source Control Tools

The best source control system today is the one you already have. There is a cost to switch to a better one.  There is a cost to administer the existing one.  There is a cost to administer (and purchase) a new one. Keep in mind the cost of the hardware and the administration to factor in the total cost of a solution.  Free licenses does not equal free hardware or free administration.

If you don't have a source control tool or want to switch to a new one, here are three useful source control systems.  You may find that switching to one of these tools is actually more cost effective and a better solution than what you have in place today.

  1. Sourcegear Vault - free licensing for one user
  2. Subversion and TortoiseSvn - free licenses for all users
  3. Microsoft Team Foundation Server

How I Came to Choose Vault

I used PVCS for years in multiple organizations dating back to the 1980's. It was a good an useful product, simple yet powerful but not too complicated. Somewhere along the way in the shift from company to company (Sage Software, Intersolve, Merant,  Serena Software and now Silver Lake Partners), I believe PVCS lost it's vision and became too cumbersome and complicated and I think it's market share reflects this.  It was a good product. I've even recently used PVCS Dimensions for customer projects.  It works and does it's job of version control, but it's no longer a compelling product.

In 1996, I was trying to do remote source sharing between the United States and the United Kingdom.  None of the tools worked well over the Internet (not even over a T1 line). Both PVCS and VSS failed miserably. The best we could come up with was remote desktop control and file transfers. I think somewhere around that time SourceOffsite came out.  I didn't try it.

In 2001, I switched from PVCS to VSS for projects.  VSS is deceptive.  It appears like a cost effective tool because when you buy the MSDN subscriptions it's included.  It appears simple at first, but it's not very powerful.  What you get for free eventually costs you in lost time, lost files and lost changes (search for "VSS issues"). With the VSS version I used up to 2003, If you tried to work remotely using multiple developer sites, it killed time and bandwidth just trying to get in sync.

In 2003, someone at Callisto Systems suggested I try Vault by Sourcegear.

Vault was everything all the other source systems were not.

  1. It seamlessly imports files and history from existing VSS databases.
  2. Most importantly, it was easy to identify missing files that were not checked in to the source control system.
  3. The smart client worked the way a lot of file operations are supposed to work on the desktop (i.e. there was no cumbersome web only interface for remote access).
  4. The smart client integrated seamlessly  with Visual Studio.
  5. There was a standalone Web Interface if you wanted it, so you could work even if the full client software wasn't installed.
  6. The client would automatically tell you which files were in sync and out of sync which saved time in updates.
  7. The client would pull only the most recent files for updates so it minimized bandwidth.
  8. Vault had a command line tool to support automated builds / gets.
  9. Vault is has a free license for one user (the 10% of the folks that use no source control now have no excuse).

I tried VSS, PVCS, CVS, Subversion and I still think in 2008, Vault is the best overall solution for source control.

In 2005, I tried to test Microsoft Visual Studio Team Foundation Server.  I couldn't put it on any existing workstations I had and I only had two servers in the office that met the hardware performance criteria and they were both Domain Controllers. VSTFS will not install on a Domain Controller (I tried).

Source Control Poll Results

2008 CodeProject Source Code Control Poll Results

image

2006 Vsoft Version Control Systems Poll

image 

References

Related Items

Sidewalk Chalk

Aug 05, 2008 by:   Tim Stanley

Shakespeare may have thought All the world's a stage, but Julian Beever thinks all the world (or at least the sidewalk) is his canvas. Mr. Beever has some interesting artwork he calls pavement drawings.  I don't think he actually digs up the sidewalk (pavement if you live in the UK), but it sure looks like it.

Visit Julian Beever's site to take a look at his portfolio of interesting chalk drawings.

coke

rembrandt

fountain

Related Items

NASA Visible Earth Pictures

Aug 04, 2008 by:   Tim Stanley

NASA has a list of several (over 100,000) visible earth pictures at NASA Images. Many of these images are quite stunning as is this one titled The Blue Marble.

NASA Earth North America

Related Items

Microsoft Product Support Lifecycle

Jul 30, 2008 by:   Tim Stanley

Did you ever want a reason to upgrade? Before you start a new project on a mature stable Microsoft technology, you might want to check to see if it is still supported.  Microsoft typically provides support five years after the product general availability.

For example, did you know that Microsoft .Net 1.1 mainstream support ends in October 2008?

For more information on currently supported products, refer to the Microsoft Support Lifecycle Index.

.Net 1.1 Support Lifecycle

And it's sad to say those products I worked on back in the 1980's are now obsolete. MS-DOS went obsolete in 2001, and QuickBasic in 1999.  Who knew? Back in the 80's I used to port the MS-DOS and QuickBasic drivers (okay it was actually GW-Basic) for Data General.

Here is a list of more  obsolete Microsoft products.

Related Items

ISP Speed Test

Jul 30, 2008 by:   Tim Stanley

At the Raleigh office, we recently upgraded our Time Warner Road Runner business class plan to 5 Mbps down, 1.5 Mbps up.  If you have to verify a speed test, the best site I've seen is at Speedtest.net.

Speedtest.net provides a very interesting looking graphic interface along with some very interesting comparison statistics.

ISP Speed Test Result

 

image

Related Items

Does Shading On Tables Improve Readability?

Jul 14, 2008 by:   Tim Stanley

Jessica Enders has an interesting article at A List Apart on Zebra Striping: Does it Really Help?

Her main points considered are does it increase accuracy, or speed.  The raw statistics don't show anything statistically significant.  The readers did report a 46% preference for zebra striping, but 36% said they didn't care.

I believe that anything that improves the readability, or visual appeal of information is going to be helpful to users.  I also believe that with wider screens and more space between columns, the striping is more helpful.

An example of zebra striping:


<table class="tableGrid" cellspacing="0">
    <tr>
        <th>Feature</th>
        <th>Importance</th>
        <th>D40x</th>
        <th>D80</th>
        <th>D200</th>
    </tr>
    <tr class="gridItem">
        <td><strong>Viewfinder</strong></td>
        <td style="text-align: center">1</td>
        <td>.8x</td>
        <td>.95x</td>
        <td>.94x</td>
    </tr>
    <tr class="gridItemAlt">
        <td><strong>Aperture Dial</strong></td>
        <td style="text-align: center">1</td>
        <td>No*</td>
        <td>Yes</td>
        <td>Yes</td>
    </tr>
</table>

Stripe Example

References

Three approaches to solving the strip pattern are hand coding tables, using ASP.Net alternate row style sheets on tables, or using JavaScript to modify the tables after they have been loaded.

  1. http://davidwalsh.name/advanced-css-tables-ii-using-mootools-javascript-for-alternate-row-colors
  2. http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=234

Related Items

Visual Communication

Jun 19, 2008 by:   Tim Stanley

It often takes so much effort to gather data in the first place that we rarely take the time to put the data into a visual form. If we take the time to present information visually though, it can have a much greater impact on recognition, retention and comprehension.

I've written about Communication Illusions and where optical illusions can mislead.

John Medina tells us about Brain Rules and vision trumps all other senses.

John Medina Brain Rules

At a talk at TED, Chris Jordan talks about picturing excess.  He not only takes the numbers and data and puts it into a visual form, but it takes on an artistic look and style as well.

Visual excess

 Edward Tufte has long been considered an expert in presenting data in a visual form.  I recently found out that Ben Fry has written some similar information about visualizing data

 Michael Ogawa was inspired by this information visualization to create some stunning video's called code swarm that incorporate music, time, and statistics for the interactions that developers have on open source projects.

Code Swarm

Jonathan Feinberg has created Wordle which can generate word clouds from text.  Below are some images from transcripts of presentations at TED.

Wordle

If your inclined to create your own charts and don't have Excel or a chart rendering control or tool, there's Google charts.

Google charts

Related Items