nForce network controller woes

Posted on: Thu, 15 Oct 2009 17:00 By: patrick

The Linux server machine I have been using here at home for the last 6 years or so is equipped with an Asus A7N8X Deluxe motherboard. Although the motherboard was supposed to be "deluxe" with many extra components, using those components frankly has often been a lot of trouble.

Besides the intractable SATA controller, I have been particularly annoyed by the two on-board network controllers manufactured by 3Com and nVidia. A few years after I had bought the Asus motherboard, I managed to get the 3Com controller to work (if I remember correctly by simultaneously doing a BIOS upgrade and compiling a Linux kernel with the proper module), but the nVidia controller remained an elusive beast.

Today has seen my most recent attempt at getting the nVidia NIC to work, and this time I am proud to announce my final triumph! :-)


python-aprmd5 0.1 released

Posted on: Sat, 10 Oct 2009 16:39 By: patrick

This is the initial release 0.1 of python-aprmd5, another little project of mine. As usual, the project page has all the details. Because it's an initial release here is the project blurb:

python-aprmd5 is a Python extension written in C that wraps the MD5 routines of the Apache Portable Runtime (APR) Utility Library (libaprutil) and exposes them to the Python interpreter as the module aprmd5. The main purpose of writing python-aprmd5 in the first place has been to expose the function apr_md5_encode(), which generates salted crypt-style hashes using a version of the MD5 hash algorithm that was modified especially for the APR project.

Software Projects
Article Styles

Linker error "can't map file, errno=22"

Posted on: Fri, 09 Oct 2009 16:21 By: patrick

If you are on Mac OS X and the gcc linker produces the error "can't map file, errno=22", you may want to examine your command line if there is an extraneous space character after the linker's -L argument:

gcc -L /foo/bar [...]   # error, notice the space after -L
gcc -L/foo/bar [...]    # correct, no space after -L

What is additionally annoying is that this seems to be a Mac OS X specific problem. Or maybe it's got something to do with the gcc version. Anyway, I had the problem with gcc 4.0.1 that comes with Apple's devtools, but not with gcc 4.3.2 on my Debian Linux box.

I am posting this article in the hope that Google will pick it up and someone will benefit from it in the future. I just wasted half an hour googling but none of the results I found were really helpful, because they were all questions and/or solutions to much more complicated problems.

Integrating Fink's svn-javahl package and Subclipse

Posted on: Wed, 30 Sep 2009 17:14 By: patrick

I have been fooling around a bit with Eclipse, Subclipse and the Fink package svn-javahl, trying to get Subclipse to work together with svn-javahl. Thanks to a fix by the package maintainer, Daniel Johnson, there is now a really easy solution available.

Note 1: You need svn-javahl-1.6.5-2 or later for the solutions in this article to work. If you use an earlier version of the package, Eclipse is likely to crash at some point. Read the article for more details.

Note 2: The original version of this article was posted on this website for less than 24 hours. It has been completely outdated by Daniel's fix, so what you are reading now is a totally revised version of the article.

Article Styles

AppleScript for auto-mounting Samba shares

Posted on: Mon, 14 Sep 2009 19:55 By: patrick

My LAN consists of a Linux server that, among other things, exports a few Samba shares, and a number of Mac OS X and Windows clients that mount those shares when needed. On Windows it is possible to tell the system that it should automatically re-mount a share on login, but on Mac OS X there is no such option. Because of this, up until now I had to manually mount my shares each time I logged in on any of my Mac OS X clients. Not anymore!

Article Styles

Comment spam found *sigh*

Posted on: Mon, 14 Sep 2009 17:07 By: patrick

Today I was surprised to notice that some blog entries on this website have received a couple of comments. On closer inspection, though, it turned out that the comments were merely comment spam. It is a mystery how the spambot responsible for the comments managed to circumvent my CAPTCHA system, but I guess I should have known that it would happen eventually. After all, the spam bastards of this world are wildly determined to destroy the fun and usefulness of everything, including this little, insignificant website :-(


A plea for greylisting, or: One greylist to rule them all

Posted on: Wed, 09 Sep 2009 03:38 By: patrick

Yesterday I finally had enough! The spam situation had escalated to such a painful level that, even though I had long tried to avoid it, at last I made the decision to configure my system to use greylisting. Using the Debian package greylistd and studying this excellent HOWTO, I was able to whip up a suitable configuration for my MTA (Exim) in a very short time. After a few manual tests I let the experiment go live, and waited...


PGP Episode III - A New Key

Posted on: Wed, 02 Sep 2009 13:13 By: patrick

Today I published a new PGP key (the ID is 0x1319CD4F3FF38573), the third since I started fiddling with PGP in 2002. The first key never made it to any keyserver, and the second key was published to keyservers but I never really used it except for encrypting some private documents.

The third key is what I hope I can stick to. I strongly intend to use it for signing future releases of my software projects (e.g. it is very easy to sign a tag in a Git repository), but I also hope to build a web of trust of my own and get into the strong set. For starters, I have got the CAcert signature... Feel free to contact me if you are interested in getting my signature (cross-signing would be appreciated), but first you might wish to read my PGP Key Signing Policy.

Note: Links to the published version of my key are available at the bottom of every page on this site.


Bye bye Subversion

Posted on: Tue, 01 Sep 2009 03:25 By: patrick

A few months ago, after a brief encounter with svk, I became interested in distributed version control systems (or DSCMs). I soon decided that I wanted to move away from Subversion - not because I didn't like SVN anymore, but because I saw an interesting new technical challenge, and also because I thought (and still think) that knowing how to work with a DSCM is a valuable skill to employers. After a brief comparison of the most prominent open source DSCMs (Bazaar, Git, Mercurial), I decided to go with Git.

Today I finally completed the migration from Subversion to Git repositories. The following links are in operation as of now:

Subscribe to