OpenBSD Journal

[c2k8]: Hackathon Summary Part 2

Contributed by mtu on from the DYI dept.

c2k8 General Hackathon (Part 2) - June 7-15, 2008, Edmonton, Alberta, Canada

About three and a half years ago, Jean-Francois Brousseau (jfb@) introduced OpenCVS. Since then, there has been a lot of interest, excitement and anticipation for this more secure BSD-licensed alternative to GNU cvs. It is also getting closer to prime time.

joris and tobias

Read on to understand what is going to happen soon.

tobias and joris

OpenCVS has been progressing along with the help of Niall O'Higgins (niallo@), Joris Vink (joris@), Tobias Stoeckmann (tobias@), Ray Lai (ray@) and others. It is also a good example of the importance of regular hackathons big, small and informal.

In an interview with Joris on BSDTalk , he mentioned that they got more done on OpenCVS during the c2k6 hackathon than the whole two years since it started. Yet what I find more interesting is to hear the passion in Joris' voice as he talks about OpenCVS. There are many things that I have noticed about OpenBSD developers. One thing is that they are passionate about what they do and generally very careful how they do it.

Here is what Joris had to say about his time and work at the c2k8 hackathon.

Well, OpenCVS is way past its development phase really. We are lacking a few minor details, but we're working on that and things will be moving fast for the next weeks.

The fact that we decided to put it as an alternative on anoncvs servers should be a big hint that it's getting ready for prime time usage, and we will be making it the default very soon.

We want people to be using the OpenCVS anoncvs mirrors. We want people to give us feedback on things that seem weird or incorrect.

I know that OpenCVS is being used by some developers for their local repositories and that is exactly what others need to be doing as well.

We are on final approach with OpenCVS, and we will bite the bullet when it's the right time.

At the hackathon, we managed to get great progress on OpenCVS. We added support for CVSROOT/loginfo and CVSROOT/commitinfo (which are the scripts that take care of source-changes@ and ChangeLog and so on).

This was a pretty big step, since they were very important to have supported for obvious reasons.

We also changed anoncvs.shar, to include instructions on how to setup anoncvs using OpenCVS next to GNU cvs. We've had some great feedback from anoncvs admins and users trying out OpenCVS on them and fixed quite a lot of stupid bugs.

Another big thing we managed to change is the fact that checkout no longer requires anything to be written to /tmp - which makes it incredibly fast without stressing the disks on the servers too much.

An important change on the client side was our CVS/Entries rework. We used to open & close CVS/Entries about 4-5 times per file in that directory which obviously was a huge performance hit. We changed this so it only opens it once per directory, this took some stress away from local checkouts.

On the plane back I wrote a general hashing mechanism that we will be using soon for a more painless way to look-up RCS revisions, path file names and so on. (Since we currently do this very very very badly).

On a final note, everybody can rest assured - I'm staying WoW clean.


miette - almost to the top

Hiking has been another tradition at hackathons that I took part in for the first time at c2k8. Anyone who knows Theo, will tell you he's probably the most active hiker of any of the OpenBSD developers. It is a real getaway from computers; no net, just mosquitoes and horse flies. ;-)

At c2k8, there was an easy hike and a hard hike. As a newbie hiker, I took the easy hike which involved a four hour drive from Edmonton to the edge of Jasper National Park to Miette Hot Springs and then a two hour hike up to the top of the mountain and two hours down ending at the hot springs to shower, relax and munch on a buffalo burger.

miette - at the top
At the start, I made a comment to both Art and Bob regarding their walking sticks. It was something along the lines of, "You guys are scaring me with those poles. We're not climbing K2, right?". Not until I got about 200 metres from the top, (where we were ankle deep in snow) did I understand their purpose. In fact, it was painfully evident going down the mountain. My knees barely made it back and they were begging me not to leave the hot springs. Despite not being able to walk for two days thereafter, the discussions with my fellow hikers on the way up and then back down again were memorable and worth the experience. Needless to say, I will have a pair of walking sticks on my next hike. :-)

tobias lining up for the monster steak
While I was relaxing in the hot springs, I got my first opportunity to talk to Tobias. There was a group of Frenchmen (they referred to themselves as the French Connection -- that's another story) that almost raced to the top of the mountain and Tobias was in that group. So, it wasn't until we started talking that I realized that he was not French but German. Prior to that, I wasn't sure who he was or where he came from but I knew that he was a developer. I asked him about the state of OpenCVS and he carefully explained all the major work that has been done and the few things still left to do. Then, as the sulfur started waking people up, others started getting into the conversation and Bob pointed out that we are running it side-by-side So if people use the following servers instead, they will be using OpenCVS. :-) [IPv6 capable]
I wish that I had more time to talk with Tobias. My first impression after talking to him very briefly in the Miette Hot Springs was that he was very thorough. I also got the feeling that he was a perfectionist, that quality counts and doing it right matters a great deal to him. Now if I got it wrong, then at the very least, I've raised everyone's expectations of him and his work and now I've just challenged him to live up to it. :-)

Here is what Tobias had to say about his work and time at the c2k8 hackathon.

During this hackathon I was working with joris@ on OpenCVS to get in some diffs I was working a few weeks before. As both of us knew we would see each other in Edmonton, we decided we give them a try when we can actually discuss any possible side-effects or implementation details, because some core elements of OpenCVS had to be modified.

Beside of these "old" diffs Jonathan Armani finished his implementation of trigger files (which make it possible to send out mails when a person commits to which we obviously had to get into OpenCVS as well. The rest of the time I was working on missing features like adding new files into a branch or writing entries to history the GNU cvs way as well as fixing some glitches which occur on "not so daily" cvs usage.

As this was my first hackathon, I obviously had to spend some time to figure out who's who and had some fine conversations with other developers -- not just about OpenBSD but also about their general day-to-day life.

The hackathon was a very cool event, with lot of fun and good results for OpenCVS, too. On this note I want to say "Thank you" again to all who have made it possible.

Tobias Stoeckmann

(c2k8 hackathon summary to be continued)

(Comments are closed)

  1. By David T. Harris (KnightBlader) on

    Great article! One question: Who wrote it?

    After reading all the work and performance improvements being done on OpenCVS I want to try it out, and I (even more so) am very interested in what was done to prevent the need of writing to /tmp. If you're not writing to /tmp what is being done?

    As far as the hiking story is concerned, I totally agree developers NEED to get away from their computers and outside every once in a while. Computers are great, but so is nature. Plus I'll be sure to have walking sticks with me if I ever go hiking.

    Great job on the summary and passing on information about the development of OpenBSD! :).

    1. By David T. Harris (KnightBlader) on

      > Great article! One question: Who wrote it? >

      Ahhh - flickr had the answer:

    2. By Sean Cody (sean) on I don't work here.

      > Great article! One question: Who wrote it?
      undeadly's newest editor... Mark Toraki Uemura.
      Welcome Mark!

  2. By Anonymous Coward ( on

    Now we just need SourceForge to switch away from pservers and then I'll no longer need gnu cvs.

  3. By Anonymous Coward ( on

    The OpenCVS guys are very brave, I'm sure they have taken great care to make sure everything is correct, but if it were me I would still get sleepless nights trusting the OpenBSD tree to the a new CVS implementation.

    I am sure it will go without a worrying hitch.

    1. By Anonymous Coward ( on

      > The OpenCVS guys are very brave, I'm sure they have taken great care to make sure everything is correct, but if it were me I would still get sleepless nights trusting the OpenBSD tree to the a new CVS implementation.
      > I am sure it will go without a worrying hitch.

      I wouldn't give long odds on there not having been many sleepless nights already. However, if OpenCVS is being trusted with the OpenBSD tree then I can't think of another group of developers I'd rather have on the case. If they'll trust their own source to it, that's more than good enough for me.

    2. By Anonymous Coward ( on

      > The OpenCVS guys are very brave, I'm sure they have taken great care to make sure everything is correct, but if it were me I would still get sleepless nights trusting the OpenBSD tree to the a new CVS implementation.

      I'd have sleepless nights trusting the OpenBSD tree to any CVS implementation.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]