Archive

Archive for the ‘Software’ Category

Performance improvements in the upcoming Subversion 1.7 release

September 10th, 2011 No comments

I just tried out a build from the Subversion 1.7.x branch which appears to come close to a final release. Instead of creating .svn directories everywhere, the new working copy layout switches to a central storage using SQLite. You will only see a single .svn at the top most directory of the working copy. Details are outlined in the preliminary release notes.

The following is a totally inaccurate benchmark, but I want to share some numbers. The MacPorts repository used here contains lots of directories with only a few files in each, often only a single file. This makes operations walking the .svn directories in the tree very expensive.

Listing status of files:

~/src/macports/trunk-svn $ time svn st

real	3m39.347s
user	0m1.450s
sys	0m5.900s

~/src/macports/trunk-svn17 $ time svn17 st

real	0m23.788s
user	0m1.914s
sys	0m2.297s

Update without changes (locking the whole working copy against concurrent access):

~/src/macports/trunk-svn $ time svn up
At revision 83750.

real	2m32.855s
user	0m1.202s
sys	0m5.060s

~/src/macports/trunk-svn17 $ time svn17 up
Updating '.':
At revision 83750.

real	0m5.362s
user	0m1.793s
sys	0m1.166s

Impressive results!

Categories: Development, English, Software Tags: ,

Hauppauge WinTV HVR-1300 with Linux kernel 2.6.38

April 6th, 2011 2 comments

After the upgrade to Linux kernel 2.6.38, the boot process for my machine hang quite long while Populating /dev with existing devices through uevents. After investigations it turns out that the cx88 driver used for my Hauppauge WinTV HVR-1300 tv card was not correctly converted to the new mutex system while removing the BKL. This is being tracked in the kernel bugzilla as bug #31962.

Fortunately, there is a patch attached to the mentioned bug report which resolves the problem:

cd /usr/src/linux
wget -O cx88-2.6.38-fix-driver-deadlocks.patch 'https://bugzilla.kernel.org/attachment.cgi?id=53722'
patch -p1 < cx88-2.6.38-fix-driver-deadlocks.patch

[Edited on 2011-04-23: replaced patch 52902 with 53722]

After applying the patch, build and install your kernel as usual. But there are still some more problems with 2.6.38 related to tvtime. See also my next post.

I do not follow kernel development close enough to know in which git tree this has to show up to confirm if it has been merged yet. Hopefully this patch will make it into the next kernel release.

bash: reuse last argument from previous command

January 14th, 2011 1 comment

Reuse the last argument of the previous command with !$:

$ echo abc def
abc def
$ echo !$
def

A common use case would be mkdir and cd:

$ mkdir foo
$ cd !$

You can also insert the last argument of the previous command and continue typing with <ESC>.:

$ echo abc def
abc def
$ echo <ESC>. ghi
def ghi

Oh, the little things… :-)

Categories: English, Software Tags:

Checking expiry dates of SSL certificates

July 3rd, 2010 No comments

Once again I missed the expiry date of one of the SSL certificates on my server. Therefore I am now using a cronjob to warn me early enough that a certificate is about to expire.

This is the script /usr/local/bin/ssl-cert-check which checks the expiry date of the certificate files passed as arguments:

#!/bin/bash

DAYS=30

for file in "$@"; do
    openssl x509 -checkend $(( 86400 * $DAYS )) -in "$file" > /dev/null
    if [ $? != 0 ]; then
        echo "==> Certificate $file is about to expire soon:"
        openssl x509 -enddate -in "$file" -noout
    fi
done

And the corresponding cronjob entry checking SSL certificates once a day:

6       6    * * *   root   /usr/local/bin/ssl-cert-check /etc/apache2/ssl/*.crt /etc/ssl/certs/dovecot.pem

bitlbee over SSL using stunnel

July 2nd, 2010 1 comment

What is this?

I prefer IRC as communication protocol for multi-user chat and instant messaging. To keep in contact with users of other protocols/clients I use BitlBee which is a gateway connecting other chat networks like Jabber/XMPP and ICQ to your own IRC server.

Read more…

Categories: English, Software Tags: , , , , ,