msgbartop
A cronological documentation test project, nothing serious, really!
msgbarbottom

29 May 2007 mod_rewriting an entire site

Using mod_rewrite to redirect all pages to one central PHP page’.

On my site, I decided to use an all-index structure, as that’s how I prefer to do things – it means that the scripting language is more hidden from the end user than if you linked to pages such as “something-bizarre.jsp” and means that if the scripting language used to create the pages was changed the names of the pages wouldn’t have to be. (more…)

Tags:

Posted by

29 May 2007 mod_rewrite, a beginners guide (with examples)

mod_rewrite is used for rewriting a URL at the server level, giving the user output for that final page. So, for example, a user may ask for http://www.somesite.com/widgets/blue/, but will really be given http://www.somesite.com/widgets.php?colour=blue by the server.
(more…)

Tags:

Posted by

28 May 2007 A EXIF dater script

The script below will take a filename eg: DSCN0001.JPG, extract the “Image Created” metadata and rename the original file to something like 2006-03-23_DSCN00001.JPG and it will do it automatically for you.

#! /bin/shfunction usage() {

if [ $# -ne 1 ]; then
    echo "ExifDater - version 0.1 - March 23 2006"
    echo "El-Lotso ”
    echo “This  is  free  software;  see the source for copying conditions.”
    echo “There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR”
    echo “A PARTICULAR PURPOSE.”
    echo
    echo “ExifDater utilises the exiftags( http://johnst.org/sw/exiftags/)”
    echo “program to sequentially extract the image creation date from”
    echo “JPEG EXIF headers.”
    echo
    echo “Usage:”
    echo “$0 /path/to/jpg/directory”
    exit 0
fi
}

function exiftimexist(){
which exiftime > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo
    echo “Unable to locate exiftime binary”
    echo “Please make sure it is installed and is in your path.”
    echo
    exit 0
fi
}

function gotodir(){
cd $1 > /dev/null 2>&1

if [ $? -ne 0 ]; then
    echo
    echo “Directory does not exists”
    echo “Please try again.”
    echo
    exit 0
fi

}

function jpgexist(){
find . -iname “*.jpg” -type f >/dev/null 2>&1

if [ $? -ne 0 ]; then
    echo
    echo “There are no JPEG pictures in this directory”
    echo “Please try again.”
    echo
    exit 0
fi
}

function myexifdater(){
for i in *.jpg
do
    create_date=`exiftime “$i” 2>&1 | grep -i image created | cut -d” ” -f3 | sed -e ’s/:/-/g’`
    if [ “$create_date” == “” ]; then
        echo -e “SKIPPING IMAGE $i \t\t\t [NO EXIF DATA FOUND]”
        continue
    fi
    echo -n Processing Image $i Created on $create_date
    do_rename=$( echo $i | sed -e ’s/(.*)/mv “&” “‘$create_date’_1″/g’|sh)
    echo -e \t[DONE]

done
}

usage $1
exiftimexist
gotodir $1
jpgexist
myexifdater

Usage: ExifDater /your/picture/path

Download the ExifDater script.

There is also a Windows version of a program that’s called ExifDater for those who need that :)

Source: http://lotso.livejournal.com/2006/03/23/

Tags: , , , ,

Posted by

25 May 2007 Strip comments from config files

This is at short script to strip/remove comments from config files

#!/bin/bash
# Code to cat a config file removing all comments and blank lines.

grep -vh '^[[:space:]]*#' "$@" | grep -v '^$'

Usage: ./confcat.sh /etc/make.conf

Alternativ is to use sed

cat filename | sed -e 's/#.*//;/^\s*$/d' "$@"

This also strips comments at the end of a line, though it looks a little bit ugly

Tags: , ,

Posted by

24 May 2007 Tunneling ports with SSH

Using -L on the command line with SSh will bind a remote port to a local one. For instance, if you wanted to tunnel the port for a remote desktop (usually 5901) to a local machine, you would type the following

ssh -L 5901:localhost:5901 remote_ip

You could then access your remote desktop by connecting your VNC client to port 5901 on the local machine, and the data for the remote desktop would be tunneled through the SSH connection.

Tags: , ,

Posted by