ctrlsoft is currently certified at Journeyer level.

Name: Jelmer Vernooij
Member since: 2001-11-05 12:35:18
Last Login: 2008-06-04 19:33:40

FOAF RDF Share This

Homepage: http://samba.org/~jelmer/

Notes: At the moment, I'm studying Computer Science at the University of Twente in the Netherlands. During my spare time, I work on Samba and Bitlbee on a regular basis but I also contribute patches to several other open source projects.

Projects

Recent blog entries by ctrlsoft

Syndication: RSS 2.0

7 Aug 2008 »

Because KISS is the way to NIH

I wish SASL was more like GSSAPI. Sure, GSSAPI is horribly overengineered, way too generic and too complex but at least that scares people away from going NIH on it.

The fact that everybody has their own SASL implementation is not really a problem by itself, but most of the implementations only cover a few of the wide range of SASL mechanisms (PLAIN and DIGEST-MD5 usually) that are standardized. There's also tiny bugs that spring up because the implementations differ; for example, inserting whitespace between the elements in a DIGEST-MD5 challenge breaks some clients.

Syndicated 2008-08-07 19:12:53 from Stationary Traveller

16 Jul 2008 »

Oxegen '08

Oxegen was a bit expensive but awesome. Irish people rock.

Syndicated 2008-07-16 13:28:07 from Stationary Traveller

1 Jul 2008 »

bzr-svn push without file properties

Ever since bzr-svn started supporting "true push", people have been complaining about the extra file properties it sets.

The key thing about "true" push is that it preserves the exact revisions that were present in Subversion. This lets bzr behave on Subversion branches transparently using the same UI you also use for "native" Bazaar branches.

In other words, if I push to a Subversion branch from my machine, then that branch in Subversion contains enough information for somebody else to reconstruct the exact bzr branch I had.

Since some Bazaar metadata can not be represented in Subversion, it is stored in Bazaar-specific Subversion properties. Unfortunately, these file properties show up in email commit notifications and trac and so they tend to annoy people.

There are two ways around this:

  • Revision properties

Bazaar-specific metadata can be stored in in custom Subversion revision properties (these don't show up in commit notifications). Unfortunately, this requires Subversion 1.5 or newer to run on the server.

I hope to start setting revision properties instead of file properties when possible as of the next bzr-svn release.

  • less strict push

It's also possible to throw away any data that can not be represented in Subversion. Since this means that the remote branch won't end up an exact same copy of the local revisions, this isn't true push. The two branches will have diverged (no matter how slightly) after such a push so it is necessary to rebase on the remote branch after pushing.

This is similar to the way git-svn pushes data into Subversion - it calls it "dcommit".

Since this uses rebase it has the usual disadvantages of rebases, which I won't get into right now.

As of a couple of days ago, bzr-svn now also supports this mode of pushing using the "dpush" command, by popular demand.

Syndicated 2008-06-30 23:30:40 from Stationary Traveller

1 Jul 2008 »

bzr-svn push without file properties

Ever since bzr-svn started supporting "true push", people have been complaining about the extra file properties it sets.

The key thing about "true" push is that it preserves the exact revisions that were present in Subversion. This lets bzr behave on Subversion branches transparently using the same UI you also use for "native" Bazaar branches.

In other words, if I push to a Subversion branch from my machine, then that branch in Subversion contains enough information for somebody else to reconstruct the exact bzr branch I had.

Since some Bazaar metadata can not be represented in Subversion, it is stored in Bazaar-specific Subversion properties. Unfortunately, these file properties show up in email commit notifications and trac and so they tend to annoy people.

There are two ways around this:

  • Revision properties

Bazaar-specific metadata can be stored in in custom Subversion revision properties (these don't show up in commit notifications). Unfortunately, this requires Subversion 1.5 or newer to run on the server.

I hope to start setting revision properties instead of file properties when possible as of the next bzr-svn release.

  • less strict push

It's also possible to throw away any data that can not be represented in Subversion. Since this means that the remote branch won't end up an exact same copy of the local revisions, this isn't true push. The two branches will have diverged (no matter how slightly) after such a push so it is necessary to rebase on the remote branch after pushing.

This is similar to the way git-svn pushes data into Subversion - it calls it "dcommit".

Since this uses rebase it has the usual disadvantages of rebases, which I won't get into right now.

As of a couple of days ago, bzr-svn now also supports this mode of pushing using the "dpush" command, by popular demand.

cp: Brandi Carlile - The Story

Syndicated 2008-06-30 23:30:40 from Stationary Traveller

22 Jun 2008 »

bzr-svn: now with its own Subversion Python bindings

bzr-svn has always been using the standard Python bindings that were provided with Subversion itself. Unfortunately, I had to fix some issues in these bindings since they were incomplete or broken and thus bzr-svn has always depended on a development snapshot of Subversion.

As of today, bzr-svn is using its own Python bindings for Subversion.

There were several reasons for switching to our own bindings:

  • There are no requirements for backwards compatibility within bzr-svn. This means the API can be made sane without worrying about the mess it was in the past and users who still rely on that.
  • Deployment. It took 2 years for my fixes to the Subversion Python bindings to be part of a release. It'll be even longer before Subversion 1.5 makes it into most available distributions. That makes it very hard to just download and install bzr-svn.
  • They're in plain C, not SWIG. SWIG has a big advantage for the Subversion folks since it can generate python, ruby, java or tcl bindings all at once without a lot of overhead per language. However, it has issues as well that make it a bad choice for bzr-svn.
    • It generates inefficient code - it generates proxy classes that
    • Bindings tend to be very much like the C API rather than "Pythonic". To make them more Pythonic, you need tons of typemaps. For example, the Python bindings in bzr-svn provide an iterator when browsing the revision history rather than a callback as C and the SWIG bindings do.
    • Hard to write - personally at least, I write bindings in C faster than in SWIG
    • Adds an extra dependency to the build process. Several people had trouble building Subversion on their Mac machines because they didn't have the right version of SWIG available.

Since all of the patches that bzr-svn depended on previously were in the Python bindings for Subversion, it is now possible to use bzr-svn with any version of Subversion newer than 1.4.0. Of course, you do need to have the development headers installed as well.

cp: Kathleen Edwards - Independent Thief

Syndicated 2008-06-22 18:17:42 from Stationary Traveller

56 older entries...

 

ctrlsoft certified others as follows:

  • ctrlsoft certified tpot as Master
  • ctrlsoft certified bas as Journeyer
  • ctrlsoft certified jht as Journeyer
  • ctrlsoft certified mbp as Master
  • ctrlsoft certified lkcl as Journeyer
  • ctrlsoft certified lukeh as Master
  • ctrlsoft certified xf as Journeyer
  • ctrlsoft certified vorlon as Master
  • ctrlsoft certified ctrlsoft as Journeyer
  • ctrlsoft certified poelzi as Journeyer
  • ctrlsoft certified striker as Master
  • ctrlsoft certified wilmer as Journeyer
  • ctrlsoft certified meebey as Journeyer
  • ctrlsoft certified dajobe as Master
  • ctrlsoft certified jorn as Journeyer
  • ctrlsoft certified kristian as Journeyer
  • ctrlsoft certified synap as Apprentice
  • ctrlsoft certified hp as Master
  • ctrlsoft certified riel as Master
  • ctrlsoft certified mikehearn as Journeyer
  • ctrlsoft certified mikem as Journeyer
  • ctrlsoft certified robertc as Master
  • ctrlsoft certified jblack as Journeyer
  • ctrlsoft certified miguel as Master
  • ctrlsoft certified jdub as Master

Others have certified ctrlsoft as follows:

  • xf certified ctrlsoft as Journeyer
  • ctrlsoft certified ctrlsoft as Journeyer
  • lerdsuwa certified ctrlsoft as Journeyer
  • wilmer certified ctrlsoft as Journeyer
  • meebey certified ctrlsoft as Journeyer
  • wvholst certified ctrlsoft as Journeyer
  • dsowen certified ctrlsoft as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page