Four Short Links: 24 August 2009

Making Sense of Revision Control Systems (ACM Queue) — good introduction to the subject from Bryan O’Sullivan, author of Mercurial: The Definitive Guide (aka Distributed Revision Control with Mercurial) that covers Subversion, Mercurial, and git. Under the distributed view of revision control, every commit is potentially a branch of its own. If Bob and Alice start from the exact same view of history, and each one makes a commit, they have already created a tiny anonymous fork in the history of the project. Neither will know about this until one pulls the other’s changes in, at which point they will have to merge with them. These tiny branches and merges are so frequent with Mercurial and Git that users of these tools look at branching and merging in a very different way from Subversion users. The parallel and branchy nature of a project’s development is clearly visible in its history, making it obvious who made which changes when, and exactly which other changes theirs were based upon.

OO Concepts Survey Result — There were 3785 people who completed the survey. These charts show the proportion who gave the different possible responses for each question. If you’re an OO programmer, use this to determine how aberrant your practices are (hint: most people are neither zealous nor consistent).

Bokode — a new camera based interaction solution where an ordinary camera can detect small optical tags from a relatively large distance. Current optical tags, such as barcodes, must be read within a short range and the codes occupy valuable physical space on products. We present a new low-cost optical design so that the tags can be shrunk to 3mm visible diameter, and unmodified ordinary cameras several meters away can be set up to decode the identity plus the relative distance and angle. The design exploits the bokeh effect of ordinary cameras lenses, which maps rays exiting from an out of focus scene point into a disk like blur on the camera sensor. (via waxy)