Thread: Distributed VC with small entry costs

  1. #1
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446

    Distributed VC with small entry costs

    We have finished the application design and data modeling phases of a system to be coded during the next 12 months or so. The programming team will consists of a friend and I, working at separate locations.

    Our initial desire would be to go with Team Foundation Server for both revision control and work item tracking. But we hit an impossible obstacle: The requirements are TFS 2010 and SQL Server 2008 R2. The idea of purchasing a Virtual Private Server where these could be installed and act as our Team Foundation Server would mean a very high initial cost. I'd have to upload to the server well over 2Gb just for installation files (which would actually require me to edit the SQL server installation disk to remove the x86 and itanium setups, otherwise make that 6Gb). With the typical 1Gb monthly bandwidth minimum, you can see the problem with that.

    We may find another way to deal with WIT. Or just ignore it altogether for now and adopt stone age project management strategy. But revision control is essential.

    So I'm considering adopting for the first time a distributed revision control system. I would require something easy to work, with a small entry cost. Frankly I'm in no mood to spend an inordinate amount of time learning a revision control when what I should be doing is coding. Any suggestion in this direction would be great. It's my first time with DRC systems.

    ...
    On a silly note... I actually considered using dropbox with subversion. It actually works great. But how unprofessional (and insecure) would that be. In any case, there's a tip for anyone not doing anything too big or meaningful and not wanting to go with distributed revision control.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    So, your motivation for wanting distributed revision control is that you do not want to purchase/rent/maintain a central server? If that is your only consideration, then what about the use of a revision control hosting provider? Or do you envision synchronisation via email or even thumb drive only?
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    >> So, your motivation for wanting distributed revision control is that you do not want to purchase/rent/maintain a central server?

    Not if that entails paying a premium first month fee over the extra bandwidth required in that period. I haven't looked much into it yet, having only given cursory looks into VPS offerings. I've had very good experiences with Go Daddy web hosting, so I'd rather stick with them. The idea is to use Go Daddy Windows VPS (their current value offering). But with their 1Gb monthly limit I just can't possibly manage that. I could swear I had prior VPS experiences where bandwidth offering where much, much, higher than this. But maybe I'm confused. Been 5 or 6 years since I last used one. In any case the first month alone, when all the setup files need to be uploaded to the server, would kill me.

    Still going with a server though. But something smaller just for merges. and possibly some project management. Distributed revision control lowers bandwidth requirements considerably, so why wanting to go that route.

    As for providers, not sure. This is a closed source commercial project. Other than going to the cloud, I know of no project hosting service that goes with that and offers me enough confidence to use it. But I suppose that's something I could look into.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    I haven't looked much into it yet, having only given cursory looks into VPS offerings. I've had very good experiences with Go Daddy web hosting, so I'd rather stick with them. The idea is to use Go Daddy Windows VPS (their current value offering). But with their 1Gb monthly limit I just can't possibly manage that. I could swear I had prior VPS experiences where bandwidth offering where much, much, higher than this. But maybe I'm confused. Been 5 or 6 years since I last used one.
    Err... the monthly limit listed is 1000 GB, not 1 GB. The comma here is not the notation for a decimal point. There's probably overselling involved, especially since that was left out of the "no overload" guarantee. Personally, I use Slicehost.

    Quote Originally Posted by Mario F.
    Distributed revision control lowers bandwidth requirements considerably, so why wanting to go that route.
    Interesting, but I suspect this depends on the workflow chosen. How did you arrive at this conclusion?

    Quote Originally Posted by Mario F.
    As for providers, not sure. This is a closed source commercial project. Other than going to the cloud, I know of no project hosting service that goes with that and offers me enough confidence to use it. But I suppose that's something I could look into.
    Ironically, the hosting providers that I would suggest for a closed source commercial project are all associated with distributed version control systems: Bitbucket (Mercurial), Github (Git) and Launchpad (Bazaar).
    Last edited by laserlight; 06-20-2011 at 03:11 AM.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #5
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    Not sure what the current windows port of git is like. It was rather poor at one point. Bitbucket & Mercurial seem a good pair though, although I rarely collaborate on my code - just use it for backing up, branching, issue tracking etc...

  6. #6
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    >> Err... the monthly limit listed is 1000 GB, not 1 GB. The comma here is not the notation for a decimal point.[/quote]

    Wow! The comma is used around here as a decimal symbol and I failed to read it appropriately. Thanks for calling my attention. This does change everything though and I'm going to stick to the initial plan. I was very confused as to why VPS plans had so little bandwidth. But it's explained now; they don't.

    >> There's probably overselling involved, especially since that was left out of the "no overload" guarantee.

    Ah, who doesn't, right? I just hope they have a well delineated business plan and keep everything under wraps. The alternative is much more expensive and I'd rather go with good cost/value ratios.

    >> Interesting, but I suspect this depends on the workflow chosen. How did you arrive at this conclusion?

    Well mostly from what I read I got the impression that I could manage my repository locally, only requiring networking when branching with the central repository. I can even have my own local branching, independent of the central repository structure, and all and any operations remain local.

    >> Ironically, the hosting providers that I would suggest for a closed source commercial project are all associated with distributed version control systems: Bitbucket (Mercurial), Github (Git) and Launchpad (Bazaar).

    The question is, would you trust, say Bitbucket, to host your commercial project for an year or two? No trade secrets involved. But something that you hope will be the most significant contributor to your retirement plan, that you wish to be... wealthy.
    Last edited by Mario F.; 06-20-2011 at 04:10 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  7. #7
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    >>The question is, would you trust, say Bitbucket, to host your commercial project for an year or two? No trade secrets involved. But something that you hope will be the most significant contributor to your retirement plan, that you wish to be... wealthy.

    Unless I'm mistaken, you can also setup your own server with minimum effort and overhead to host your code. You certainly can with mercurial and send your revisions using the normal tools via SSH

  8. #8
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    Well mostly from what I read I got the impression that I could manage my repository locally, only requiring networking when branching with the central repository. I can even have my own local branching, independent of the central repository structure, and all and any operations remain local.
    Yes, you can. But besides branching, you will be pushing and pulling changes from the central repository. If your workflow ends up similiar to a typical central VCS workflow, then you might not gain much in the area of saving bandwith.

    Quote Originally Posted by Mario F.
    The question is, would you trust, say Bitbucket, to host your commercial project for an year or two? No trade secrets involved. But something that you hope will be the most significant contributor to your retirement plan, that you wish... wealthy?
    I don't see why not. They are, after all, another hosting company (like Go Daddy and Slicehost) with a vested interest to be responsible or lose customers and face possible lawsuits. Furthermore, due to the nature of distributed version control, even if they do collapse overnight, so long as my code is not released to the public, I'm not finished since I have a complete copy of what is hosted, including the full history. In fact, the company that I work for uses Github.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    >> Unless I'm mistaken, you can also setup your own server with minimum effort and overhead to host your code. You certainly can with mercurial and send your revisions using the normal tools via SSH.

    Yeah. That's something interesting indeed. Although I'd use TFS for that. It wouldn't guarantee a 99% uptime. But since we have the same schedule, that shouldn't be much of a problem.

    Currently we are each doing our own research into how to best collaborate and will meet this weekend to come up with our findings. The plan is to reach a decision then.

    @laserlight,
    I suppose you are right.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Software Development. Other costs.
    By Mario F. in forum General Discussions
    Replies: 5
    Last Post: 10-24-2009, 11:34 PM
  2. small Distributed computing utilies
    By vinit in forum C Programming
    Replies: 2
    Last Post: 04-17-2006, 03:37 AM
  3. costs less to give life sentence than to execute
    By Silvercord in forum A Brief History of Cprogramming.com
    Replies: 21
    Last Post: 09-09-2003, 12:46 PM
  4. A Distributed System
    By Troll_King in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 09-13-2002, 01:01 PM