Books: Karl Fogel, Moshe Bar “Open Source Development with CVS”
Wednesday, March 28th, 2007

TW In terms of sharing files, obviously for developers and to a lesser extent for marketing types, there’s a need to do version control and configuration management. Do you do anything special because it’s distributed, or do you just attach file systems wherever they are in the world and use those for your backups? SH We should distinguish between the source-code management system and a document management system. We put quite a bit of work on the source-code management system. The reason is you have to have developers potentially sharing the same code module for possibly the same project, possibly overlapping projects that intersect within that code. So you need a significant amount of version control, and yet sharing capability, so that you can work on the code, know you have the right version, do your builds, your tests, etc. We used to be a [IBM Rational] ClearCase shop, and it didn’t scale to the thousands of people working on the same code and the number of different sites that we needed. So we have a homegrown distributed replicated source-management system that combines essential repository, which is based on the Oracle database, but then also implements a multi-version file system, replicated out to all the sites, using a much lighter-weight communication protocol and also lighter-weight storage. We actually have done quite a bit of evolving as we learned what communication bandwidth we need to support the level of development we’re doing with this number of developers and locations.Can someone provide more details on that? How is it called internally? Is it still used, three years later? What’s the number of objects (lines of code, files, branches, releases, products) managed? Are there any plans to replace it with something new? Read the complete interview: ACM Queue: “A Conversation with Steve Hagan”. See also: ACM Queue: “Distributed Development Issue”.
The background: When Congress reauthorized the Patriot Act last year, it included little-noticed language that changed the way U.S. attorneys would be appointed if their predecessors were removed in the middle of their term. Under the old regime, interim U.S. attorneys needed to be confirmed by the Senate after 120 days. If they weren’t, federal district judges could select their replacement. The new language removed both judicial and congressional oversight of the interim U.S. attorneys, letting DOJ anoint them indefinitely. This served three important goals: consolidating presidential power, diminishing oversight, and ensuring that “interim” prosecutors had permanent jobs. On Feb. 6, when the Senate held hearings on the issue of prosecutorial independence, former judiciary committee Chairman Sen. Arlen Specter, R-Pa., proudly claimed to have been as clueless as the rest of us. Denying New York Democratic Sen. Charles Schumer’s claim that he or his staff had “slipped the new provision into the Patriot Act in the dead of night,” Specter asserted, “The first I found out about the change in the Patriot Act occurred a few weeks ago when Sen. [Dianne] Feinstein approached me on the floor.”Grepya wonders:
Now, I write software for a large and complex system containing millions of lines of code and I know that nobody could slip a single line of code into my project without my knowledge. This is because everything that goes into the build goes into a source control system, and email notification is generated to interested parties. This is for a body of work that affects perhaps a few hundred thousand people at most (our company and the combined population of all our customer organizations). Shouldn’t the same process be applied to bills being debated in national legislatures that affect potentially hundreds of millions of people?”This is really quite interesting potential application of version control practices. Related observation: in Russian legislation system amendments to the laws are written in a very peculiar language. Wording differences, insertions and deletions are expressed in a minimal possible way, with a string rationing of words. This of course makes the amendments almost unreadable, looking like old-style diff output. Minimal context and almost no rationale is usually provided, except for very vague preliminaries. This brings to memory the worst cases of log messages made by developers lacking attention to documenting changes. There is of course a number of commenting publications which explain the rationale beyond changes and the meaning of new laws, but they are not available immediately, and it’s hard to audit the amendment just by looking. Also, sometimes the law is not available immediately in a new wording, and you have to take the old text and make sure that you understand how several subsequent amendments influenced it. See for example the “Federal law on amending the Federal law “On science”" (in Russian). (via slashdot)
I think the TFS exam is mostly useless as far as certifying knowledge of Team Foundation Server goes. […] Overall impression was that questions were just thrown together, and I did not see clear picture of what the exam was supposed to certify.This exam is going to be published in April 2007, hopefully in more polished state. If you’re planning to take it, see: