Distributed VCS + Central ACL

Sunday, September 16th, 2007

In the Version Control System (VCS) area there are currently mainly two camps: the centralized ones like the good old CVS, the successor Subversion, etc and the distributed ones like the modern Monotone, Mercurial, Git, Bazaar, etc.

The interesting point is that the central VCS style of working inherently allows strong access control while in the distributed VCS style of working the “share everything between everybody” is the primary mantra. If one wants to combine both distributed version control and central access control, it becomes between interesting and partly impossible.

10 days, 6 languages, …

Sunday, September 16th, 2007

The last two weeks I’ve first coded in my lovely C and the neat Java programming languages for developing the Java JNI-based bindings to my OSSP uuid C library. Then I worked on key management functionality for OSSP ase (a web application) in my preferred web programming languages Perl (backend) and JavaScript (frontend). Finally, the last days I was forced to switch over to programming in C++ (main application) and Lua (run-time hooks and extensions) while hacking on a NETSYNC-based access control functionality for the distributed version control system Monotone.

So, I ended up coding in 6 different programming languages in the short time range of just about 10 man-days. Such speedy switching of the software artist’s tools is not something I like very much, but it at least keeps one trained this way ;-) Now, at the weekend, I’m reflecting this programming expedition and recognize a few experiences which are IMHO worth noting in my BLOG.

thesis creator

Let me share my train of thoughts in the following three BLOG articles about 1. Java Native Interface (JNI), 2. Lua and embedding a scripting language into applications, and 3. distributed version control versus central access control.