Software tutorials primarily focusing on useful Linux server configurations but also a few older ones on CAD packages like Revit and AutoCAD.

Setting up Awstats in an OpenSUSE 10 Apache vhost

Installing awstats is easy in OpenSUSE through Yast. Unfortunately only half the job is done if you wish to activate it for a certain virtual host.

Firstly in the vhost configuration file add the following parameters:

Alias /awstatsicons /srv/www/icons/awstats
ScriptAlias /usage /srv/www/cgi-bin
<Directory "/srv/www/cgi-bin">
        AllowOverride None
        Options +ExecCGI -Includes   
        Order allow,deny
        Allow from all
<Directory "/srv/www/icons/awstats">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all

Keyword search, a nice Firefox touch

Mozilla have not exactly gone out of their way to promote this feature but it sure is useful. Keyword searching makes performing common searches on websites much faster by enabling you to create a 'keyword' that associates the search url to what you type in the address bar. It is not exactly the best description but it means that rather than visiting a site to perform a search (say for a recipe or book on amazon) you can assign a keyword like 'recipe' and then in the addressbar just type 'recipe roast duck' to have Firefox perform a search in your favourite recipe site.

Sambas Recycle VFS provides Salvage-like functionality

If anyone's used Novell's NSS filesystem they will know how useful the Salvage tool is. All too often a file once thought of as useless is suddenly needed or even worse a useful file accidentally deleted. In a traditional Samba setup this deleted file is lost for good unless a copy exists in backup form. This is fine for some occasions but if you have just spent eight hours working on the file going back to a twelve hour old version is not that appealing.

Samba 3's Recycle VFS (Virtual File System) module solves this problem by providing Salvage like capabilities in a nice Samba container. When a file is deleted on the share it is not deleted from the filesystem but instead its file-pointer moved to the specified recycle directory for later retrieval (just like your standard Recycle Bin).

Backups, the bane of computers

After having my fair share of backup dilemmas and stress Tim Bray's post at least gives hope that I am not alone. It is strange that there really are not that many decent backup products considering how simple the task really is.

The most effective backup system I have used is the one I wrote myself for Linux servers. It is simple, flexible, non-proprietary and most importantly it seems to work without hassle. It comprises of a bash script and some configuration files.

The bash script compresses gzipped tar archives onto a removable hard drive. In most cases I use two removeable drives for redundancy. Typically all user data is stored in the /home directory with a few special directories: media (music/movies), temp and data shared amoungst the users. The /home/data directory holds most of the office data and as such the backup script breaks archiving of this data into smaller pieces in order to facilitate easier restoration.
The backup script stores multiple backups on disk to ensure that a corrupted backup does not lead to significant loss of data. The backup usually runs every night with the removable disks swapped during the day. On completion (or failure) of a backup an automated email is sent out to interested parties.

AutoCAD 2006 Tutorial

The Vontz Center, Frank O. Gehry

This tutorial will teach you essential skills for drawing in AutoCAD.
The building that will be modelled is the Vontz Center designed by Frank Gehry. The building was chosen for its challenging yet fairly simple shape.

Installing RMagic for Ruby on Rails on OSX Tiger

Installing RMagic for Ruby on OSX can be a little tricky especially considering running 'gem install RMagic' usually results in a bunch of error messages. There is a couple of ways to get this installed without too much fuss. One way is to follow the how-to on the RMagic site.

This how-to is a little long and requires installation of many Darwin ports. Fortunately however there is a self contained installer for OSX available called Locomotive. It bundles Ruby, Rails, RMagic and a bunch of other tools into an easy installer.

Rails, Apache2 and SUSE

Getting Rails up and running on Apache2 on SUSE is takes a little work as at the moment Rails is not part of the the SUSE software updates network. This means you must build Rails (and Ruby if using SuSE < 9.3) and the FastCGI development kit from source.

1. First off it you need Ruby 1.8.2 (or greater) to run Rails. If you have a version less than this you will need to compile and install Ruby from source.
Install GCC, make, the C devel, zlib and zlib-devel packages using Yast.
Download the latest version of Ruby from
Untar the source file to /usr/local/src, compile and install (as root or sudo):

Ruby on Rails in OSX Tiger

At the moment I am learning Ruby on Rails (I must say it is very impressive). Unfortunately getting it setup in OSX Tiger was not as straightforward as one would hope.
Although Apple have included Ruby with Tiger there are a few things that do not work right.
For my own future reference (and for anyone else that is interested) this is how I got it working with MySQL correctly on OSX Tiger and MySQL's own OSX binaries.

Follow the install intructions found here:
Rolling with Ruby on Rails on Mac OS X Tiger

Once installed open a Terminal window and enter the following:

sudo sh
(enter the admin password)
curl -O; sh
gem install mysql -- --with-mysql-lib=/usr/local/lib/mysql --with-mysql-include=/usr/local/include

Border Manager Authentication with Linux

Getting a Linux server or workstation to work nicely with Novell's Border Manager can be very difficult. Novell have recently brought out a Linux version of their clntrust.exe application for Linux workstations (available in Border Manager 3.8 SP4) but this requires Gnome and the Novell Linux Client. If you are running a server (or use a non-Novell supported Linux distro) meeting these requirements can be difficult. Fortunately there is cl4others which authenticates to the Border Manager through simple command line instructions in a far more flexible manner. Documentation for cl4others is pretty sparse so I have written this little tutorial on how to get it set up and running.

Recursive Touch Command

Just in case you need to set the last modified date of a whole directory structure to the current time use the following command:

find . -print0 | xargs -r0 touch

Very useful for file synchronisation purposes.