Archive for October, 2007

Karl Fogel: “Subversion’s Delta Editor: Interface as Ontology”

Saturday, October 27th, 2007

Second chapter in O’Reilly book “Beautiful Code: Leading Programmers Explain How They Think” was written by Karl Fogel, and is called “Subversion’s Delta Editor: Interface as Ontology”. Karl has put this chapter online under the free license.

Read this chapter online: rants.org: “Beautiful Code Chapter Now Online”.

Robin Luckey: “The World’s Oldest Source Code Repositories”

Thursday, October 18th, 2007

Robin Luckey of Ohloh.net gathered information on oldest public source code repositories. Top three are:

  • BRL-CAD, started in April 1983;
  • GNU Emacs, April 1985;
  • GCC, the GNU Complier Collection, November 1988;

Read the article at Ohloh.net: “The World’s Oldest Source Code Repositories”.

Ben Collins-Sussman & Brian W. Fitzpatrick: “Subversion Worst Practices”

Friday, October 12th, 2007

Short talk on Subversion misuse: “Subversion Worst Practices”.

Karl Fogel, Ben Collins-Sussman, on distributed version control

Thursday, October 11th, 2007

Important opinions from Subversion developers:

Karl Fogel: “Subversion, decentralized version control, and the future”

Ben Collins-Sussman: “The Risks of Distributed Version Control”

Tim O’Reilly: Why Congress Needs a Version Control System

Sunday, October 7th, 2007

Tim O’Reilly, together with Karl Fogel, discussed the idea of version control for U. S. Congress.

It turns out that Tasmania seems to have implemented something similar, as described in article by Timothy Arnold-Moore “XML for legislation drafting, management and Web delivery—How structured document representation facilitates automatic processing”, published in Novemeber 1998 (found via Bex Huff).

We have already covered similar topic back in March: Slashdot: Source Control for Bills in Congress.

Mark Shuttleworth on renaming and merging

Sunday, October 7th, 2007

Mark Shuttleworth (of Thawte, Ubuntu, and Canonical fames) wrote four posts on rename tracking feature in version control systems, and its impact on merging as a social process.

Read at his blog:

Those posts caught a lot of attention back in June, but frankly it seems to me the issue is somewhat overrated (but nevertheless a recommended reading). Mark’s Canonical Ltd. supports the development of Bazaar. Bazaar has the discussed feature of merging with renames tracking. Git does not have it, but it has another argument in this discussion: huge merging traffic — Linux kernel development is all about merging, and the codebase is huge. So, I guess this feature is not that crucial: Linus is well-known by his uncompromising approach to tools.

Ian Clatworthy: “The Future Is Adaptive”

Saturday, October 6th, 2007

Ian Clatworthy, one of the primary developers of Bazaar, has posted a series of articles on version control in broad modern context.

His primary thesis is:

Beyond market acceptance, there are 6 main criteria I consider when evaluating collaboration tools:

  1. Reliability
  2. Adaptability
  3. Usability
  4. Extensibility
  5. Integration
  6. Administration (including Total Cost of Ownership)

Read the whole series at:

Couple of memorable quotes:

Likewise, in the field of collaboration, I think there are 5 interesting numbers: 1, 2, 10, 100 and 1000. These numbers represent:

  • an Individual
  • a Partnership
  • a Team
  • a Company
  • a Community

[…]

As a young software engineer back in the early 90s, 10s of thousands of people woke up to cold showers in Sydney one morning because of a corner-case bug in my code controlling the off peak hot water system. That sort of event tends to have a life long impact on how one designs software!

auto_migrations plugin for Rails

Thursday, October 4th, 2007

PJ Hyett has created an impressive plugin for Ruby on Rails, called auto_migrations.

It deduces changes between the db/schema.rb and the current database schema, and executes the appropriate commands to bring the latter in sync with the former. It supports creating tables, adding, changing, and removing fields, adding and removing indexes. It also allows you to create the real migrations based on schema changes.

Read more at author’s blog: Err the Blog: “Automatically”.