Get rid of files where we don't own the copyright or license is unclear
[zsh-lovers.git] / zsh_people / strcat / zshfunctions
diff --git a/zsh_people/strcat/zshfunctions b/zsh_people/strcat/zshfunctions
deleted file mode 100644 (file)
index 71b5ad7..0000000
+++ /dev/null
@@ -1,946 +0,0 @@
-# Globbing is simple? Sure .. See zshexpn(1) /Glob Qualifiers for details and
-# come back ;) 
-function H-Glob()
-{
-echo -e "
-     /      directories
-      .      plain files
-      @      symbolic links
-      =      sockets
-      p      named pipes (FIFOs)
-      *      executable plain files (0100)
-      %      device files (character or block special)
-      %b     block special files
-      %c     character special files
-      r      owner-readable files (0400)
-      w      owner-writable files (0200)
-      x      owner-executable files (0100)
-      A      group-readable files (0040)
-      I      group-writable files (0020)
-      E      group-executable files (0010)
-      R      world-readable files (0004)
-      W      world-writable files (0002)
-      X      world-executable files (0001)
-      s      setuid files (04000)
-      S      setgid files (02000)
-      t      files with the sticky bit (01000)
- print *(m-1)          # Dateien, die vor bis zu einem Tag modifiziert wurden.
- print *(a1)           # Dateien, auf die vor einem Tag zugegriffen wurde.
- print *(@)            # Nur Links
- print *(Lk+50)        # Dateien die ueber 50 Kilobytes grosz sind
- print *(Lk-50)        # Dateien die kleiner als 50 Kilobytes sind
- print **/*.c          # Alle *.c - Dateien unterhalb von \$PWD
- print **/*.c~file.c   # Alle *.c - Dateien, aber nicht 'file.c'
- print (foo|bar).*     # Alle Dateien mit 'foo' und / oder 'bar' am Anfang
- print *~*.*           # Nur Dateien ohne '.' in Namen
- chmod 644 *(.^x)      # make all non-executable files publically readable
- print -l *(.c|.h)     # Nur Dateien mit dem Suffix '.c' und / oder '.h'
- print **/*(g:users:)  # Alle Dateien/Verzeichnisse der Gruppe >users<
- echo /proc/*/cwd(:h:t:s/self//) # Analog zu >ps ax | awk '{print $1}'<"
-}
-
-# colorizing the output of make
-if [[ -x ~/bin/makefilter ]]
-then
-        make() { command make "$@" |& makefilter }
-fi
-
-# check if ~/.errorlogs/ exist (otherwise create it) and create a
-# ``logfile'' e. g. ``makelog-vim-6.3''
-function mmake()
-{
-       [[ ! -d ~/.errorlogs ]] && mkdir ~/.errorlogs
-       =make -n install > ~/.errorlogs/${PWD##*/}-makelog
-}
-
-# Search for the argument in the system libraries
-function lcheck()
-{
-       nm -go /usr/lib/lib*.a /usr/lobal/lib/lib*.a 2>/dev/null | grep ":[[:xdigit:]]\{8\} . .*$1"":[[:xdigit:]]\{8\} . .*$1"
-}
-
-# clean directory
-function purge()
-{
-       FILES=(*~(N) .*~(N) \#*\#(N) *.o(N) a.out(N) *.core(N) *.cmo(N) *.cmi(N) .*.swp(N))
-       NBFILES=${#FILES}
-       if [[ $NBFILES > 0 ]]; then
-               print $FILES
-               local ans
-               echo -n "Remove this files? [y/n] "
-               read -q ans
-               if [[ $ans == "y" ]]
-               then
-                       rm ${FILES}
-                       echo ">> $PWD purged, $NBFILES files removed"
-               else
-                       echo "Ok. .. than not.."
-               fi
-       fi
-}
-
-# display a of possible passwords.
-function makepasswords()
-{
-       perl <<EOPERL
-       my @a = ("a".."z","A".."Z","0".."9",(split //, q{#@,.<>$%&()*^}));
-       for (1..10) { 
-               print join "", map { \$a[rand @a] } (1..rand(3)+7);
-               print qq{\n} 
-       }
-EOPERL
-}
-# AUTOMATIC ls on chpwd *if* directly isn't too big.
-# Not really needed ;o)
-#function chpwd
-#{
-#      integer ls_lines="$(ls -C | wc -l)"
-#      if [ $ls_lines -eq 0 ]; then
-#              echo No files found: Empty Directory 
-#      elif [ $ls_lines -le 18 ]; then
-#              ls
-#              echo "\e[1;32m --[ Items: `ls -l | wc -l` \e[1;32m]--"
-#      else
-#              echo Directory Exceeds Limits.
-#      fi
-#}
-
-# ssh-add -- wrap ssh-add to default to adding all identities in
-# ${HOME}/.ssh
-function ssh-add()
-{
-       local files
-       if [[ $# -eq 0 ]] ; then
-               for i in id_dsa id_rsa identity ; do
-                       if [[ -f $HOME/.ssh/$i ]] ; then
-                               files=($files $HOME/.ssh/$i)
-                       fi
-               done
-       else
-               files=( "$@" )
-       fi
-       command ssh-add $files
-}
-
-# Name (``hash -d'') all the subdirectories in given directory
-# $ mkdir -p foo/{bar,foo,fnord,recursion}
-# $ quick-hash foo
-# $ hash -d
-# bar=foo/bar
-# fnord=foo/fnord
-# foo=foo/foo
-# recursion=foo/recursion
-function quick-hash()
-{
-       for i in $1/*(/)
-       do
-               hash -d ${i##*/}=$i
-       done
-}
-
-# print current settings of LC_*
-function plocale()
-{
-       print LC_ALL=$LC_ALL
-       print LANG=$LANG
-       print LC_CTYPE=$LC_CTYPE
-       print LC_NUMERIC=$LC_NUMERIC
-       print LC_TIME=$LC_TIME
-       print LC_COLLATE=$LC_COLLATE
-       print LC_MONETARY=$LC_MONETARY
-       print LC_MESSAGES=$LC_MESSAGES
-       print LC_PAPER=$LC_PAPER
-       print LC_NAME=$LC_NAME
-       print LC_ADDRESS=$LC_ADDRESS
-       print LC_TELEPHONE=$LC_TELEPHONE
-       print LC_MEASUREMENT=$LC_MEASUREMENT
-       print LC_IDENTIFICATION=$LC_IDENTIFICATION
-}
-# a clock in the prompt. 
-#trap CRON ALRM
-#TMOUT=1
-#CRON() {
-#   local STRING
-#   local COL
-#   local x
-#   STRING=$(date)
-#   COL=$[COLUMNS-5]
-#   COL=$[COL-$#STRING]
-#   x=$(echo $PREBUFFER | wc -l )
-#   x=$[x+1]
-#   echo -n "\e7\e[$x;A\e[$COL;G\e[0;37;44m-- $STRING --\e[0m\e8"
-#}
-
-# invoke this every time when u change .zshrc to recompile it.
-function src()
-{
-        autoload -U zrecompile
-                [ -f ~/.zshrc ] && zrecompile -p ~/.zshrc
-                [ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
-                [ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
-                [ -f ~/.zshrc.zwc.old ] && rm -f ~/.zshrc.zwc.old
-                [ -f ~/.zcompdump.zwc.old ] && rm -f ~/.zcompdump.zwc.old
-                source ~/.zshrc
-}
-
-# Search for links in a directory and format the output
-# Note: '~/.fnord.awk' is a *very* simple script based on >awk<.
-#  ,----
-#  | $ cat ~/bin/fnord.awk
-#  |   BEGIN {
-#  |     regexp = ""
-#  |     regexp = regexp "((http|ftp)://)"
-#  |     regexp = regexp  "[-0-9A-Za-z#%&+./:;?_~]"
-#  |     regexp = regexp "*[-0-9A-Za-z#%&+/:;?_~]"
-#  |   }
-#  |   NF {
-#  |        while (match($0, regexp))
-#  |          {
-#  |            print substr($0, RSTART, RLENGTH)
-#  |             $0 = substr($0, RSTART + RLENGTH)
-#  |          }
-#  |      }
-#  | END {}
-#  `----
-function URL-search()
-{
-        if [[ $# = 0 ]]
-        then
-                echo "Usage   : $0 directory"
-                echo "Example : $0 ~/Mail"
-                echo "Example : $0 directory | \$PAGER"
-                echo "Example : $0 directory > logfile"
-        else
-                egrep -r -h -i '((ftp|https|http|www):.*)' $1 | awk -f ~/bin/fnord.awk | sort | uniq 
-        fi
-}
-
-# Happy CVS'ing
-function cvsd() { cvs diff -N $* |& $PAGER }
-function cvsl() { cvs log $* |& $PAGER }
-function cvsr() { rcs2log $* | $PAGER }
-function cvss() { cvs status -v $* }
-function cvsq() { cvs -nq update }
-function cvsa() { cvs add $* && cvs com -m 'initial checkin' $* }
-
-# Display the permissions in octal from given file. Not really needed.
-# Use http://www.strcat.de/hacks/perm-oktal.pl instead
-# function perm-oktal()
-#{
-#      echo $1 | perl -e 'chomp($s=<>);$p=(stat($s))[2] & 07777;printf "$s -> %04o\n",$p'
-#}
-
-# Translate DE<=>EN
-# *narf* .. 'translate' looks up fot a word in a file with language-to-language
-# translations (field separator should be " : "). A typical wordlist looks
-# like at follows:
-#  | english-word : german-transmission
-# It's also only possible to translate english to german but not reciprocal.
-# Use the following oneliner to turn back the sort order:
-#  $ awk -F ':' '{ print $2" : "$1" "$3 }' \
-#    /usr/local/lib/words/en-de.ISO-8859-1.vok > ~/.translate/de-en.ISO-8859-1.vok
-function trans()
-{
-        case "$1" in
-                -[dD]*) translate -l de-en $2
-                ;;
-                -[eE]*) translate -l en-de $2
-                ;;
-                *)
-                echo "Usage: $0 { -D | -E }"
-                echo "         -D == German to English"
-                echo "         -E == English to German"
-        esac
-}
-
-# Some quick Perl-hacks aka /useful/ oneliner
-function bew() { perl -e 'print unpack "B*","'$1'"' ; perl -e 'print "\n"' }
-function web() { perl -e 'print pack "B*","'$1'"' ; perl -e 'print "\n"' }
-function hew() { perl -e 'print unpack "H*","'$1'"' ; perl -e 'print "\n"' }
-function weh() { perl -e 'print pack "H*","'$1'"' ; perl -e 'print "\n"' }
-function pversion() { perl -M$1 -le "print $1->VERSION" } # i. e."pversion LWP -> 5.79"
-function getlinks () { perl -ne 'while ( m/"((www|ftp|http):\/\/.*?)"/gc ) { print $1, "\n"; }' $* }
-function gethrefs () { perl -ne 'while ( m/href="([^"]*)"/gc ) { print $1, "\n"; }' $* }
-function getanames () { perl -ne 'while ( m/a name="([^"]*)"/gc ) { print $1, "\n"; }' $* }
-function getforms () { perl -ne 'while ( m:(\</?(input|form|select|option).*?\>):gic ) { print $1, "\n"; }' $* }
-function getstrings () { perl -ne 'while ( m/"(.*?)"/gc ) { print $1, "\n"; }' $*}
-function getanchors () { perl -ne 'while ( m/«([^«»\n]+)»/gc ) { print $1, "\n"; }' $* }
-function showINC () { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' }
-function vimpm () { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` }
-function vimhelp () { vim -c "help $1" -c on -c "au! VimEnter *" }
-
-# set the DISPLAY to where i'm logged from or - if an argument is specified -
-# to the value of the argument
-function disp()
-{
-        if [[ $# == 0 ]]
-        then
-                DISPLAY=$(who am i | awk '{print $6}' | tr -d '()'):0
-        else
-                DISPLAY="${*}:0"
-        fi
-        export DISPLAY
-}
-
-# adds a directory to the PATH, without making duplicate entries
-function add_to_path()
-{
-        if [[ "$1" == "" ]]
-        then
-                echo "Usage: $0 directory"
-        else
-                unset SPACEPATH
-                local SPACEPATH
-                for i in  ${(s.:.)PATH}
-        do
-                SPACEPATH=( $SPACEPATH $i )
-        done
-        typeset -U SPACEPATH
-        if [[ -d "$1" ]]; then; SPACEPATH=( $SPACEPATH "$1" ); fi
-        PATH="`echo $SPACEPATH`"
-        PATH=${PATH:gs/ /:/}
-        export PATH
-        rehash
-fi
-}
-
-# Shameless stolen from Sven Guckes (<http://www.guckes.net/setup/zshrc.mine>)
-# _lap foo -- list all programs with prefix "foo":
-function _lap()
-{
-        if [[ $# = 0 ]]
-        then
-                echo "Usage:    $0 program"
-                echo "Example:  $0 zsh"
-                echo "Lists all occurrences of program in the current PATH."
-        else
-               ls -l ${^path}/*$1*(*N)
-       fi
-}
-
-# A life without 'diff'? Unimaginably!!!!11!
-function mdiff() { diff -udrP "$1" "$2" > diff.`date "+%Y-%m-%d"`."$1" }
-function udiff() { diff -urd $* | egrep -v "^Only in |^Binary files " }
-function cdiff() { diff -crd $* | egrep -v "^Only in |^Binary files " }
-
-# List / Search / Browse in a archive without unpack
-function lynxbzgrep() { lynx -force_html -dump =(bzip2 -cd $1) | grep -i $2 }
-function browse-archive() { lynx -force_html <( gzip -cd $1 ) }
-
-# show/search signatures ;-)
-# random-signature.pl can be found at
-# <http://www.strcat.de/hacks/random-signature.pl>
-function sig() 
-{
-        if [[ $# = 0 ]]; then
-                random-signature.pl; < ~/.signature
-        else
-                agrep -d "^-- $" $@ ~/.sigs/own-stuff
-        fi
-}
-
-# mkdir && cd
-function mcd() { mkdir "$1"; cd "$1" } 
-
-# $ ls -l =ls
-# $ -r-xr-xr-x    1 root     bin        167936 Oct  4  2002 /bin/ls
-# $ pls ls
-# $ -r-xr-xr-x    1 root     bin        167936 Oct  4  2002 /bin/ls 
-function pls() { ls -l =$1 }
-
-# cd && ls
-function cl() { cd $1 && ls -a }
-
-# Use vim to convert plaintext to HTML
-function 2html() { vim -n -c ':so $VIMRUNTIME/syntax/2html.vim' -c ':wqa' $1 > /dev/null 2> /dev/null }
-
-# Often needed (if i rape '$LS_COLORS' again *g*)
-function _cols()
-{
-        esc="\033["
-        echo -e "\t 40\t 41\t 42\t 43\t 44\t 45\t 46\t 47"
-        for fore in 30 31 32 33 34 35 36 37; do
-                line1="$fore  "
-                line2="    "
-                for back in 40 41 42 43 44 45 46 47; do
-                        line1="${line1}${esc}${back};${fore}m Normal  ${esc}0m"
-                        line2="${line2}${esc}${back};${fore};1m Bold    ${esc}0m"
-                done
-                echo -e "$line1\n$line2"
-        done
-}
-
-# Usage: simple-extract <file>
-# Description: extracts archived files (maybe)
-simple-extract () 
-{
-        if [[ -f $1 ]]
-        then
-                case $1 in
-                        *.tar.bz2)  bzip2 -v -d $1      ;;
-                        *.tar.gz)   tar -xvzf $1        ;;
-                        *.rar)      unrar $1            ;;
-                        *.deb)      ar -x $1            ;;
-                        *.bz2)      bzip2 -d $1         ;;
-                        *.lzh)      lha x $1            ;;
-                        *.gz)       gunzip -d $1        ;;
-                        *.tar)      tar -xvf $1         ;;
-                        *.tgz)      gunzip -d $1        ;;
-                        *.tbz2)     tar -jxvf $1        ;;
-                        *.zip)      unzip $1            ;;
-                        *.Z)        uncompress $1       ;;
-                        *)          echo "'$1' Error. Please go away" ;;
-                esac
-        else
-                echo "'$1' is not a valid file"
-        fi
-}
-
-# Usage: smartcompress <file> (<type>)
-# Description: compresses files or a directory.  Defaults to tar.gz
-smartcompress()
-{
-       if [ $2 ]; then
-               case $2 in
-                       tgz | tar.gz)   tar -zcvf$1.$2 $1 ;;
-                       tbz2 | tar.bz2) tar -jcvf$1.$2 $1 ;;
-                        tar.Z)          tar -Zcvf$1.$2 $1 ;;
-                        tar)            tar -cvf$1.$2  $1 ;;
-                        gz | gzip)      gzip           $1 ;;
-                        bz2 | bzip2)    bzip2          $1 ;;
-                       *)
-                       echo "Error: $2 is not a valid compression type"
-                        ;;
-               esac
-       else
-               smartcompress $1 tar.gz
-       fi
-}
-
-# Usage: show-archive <archive>
-# Description: view archive without unpack
-show-archive()
-{
-        if [[ -f $1 ]]
-        then
-                case $1 in
-                        *.tar.gz)      gunzip -c $1 | tar -tf - -- ;;
-                        *.tar)         tar -tf $1 ;;
-                        *.tgz)         tar -ztf $1 ;;
-                        *.zip)         unzip -l $1 ;;
-                        *.bz2)         bzless $1 ;;
-                        *)             echo "'$1' Error. Please go away" ;;
-                esac
-        else
-                echo "'$1' is not a valid archive"
-        fi
-}
-
-# find process and kill it
-morons() { reply=(`ps ax | grep -v COMMAND |perl -nle '@a=split(" ",$_,9);$_=$a[4];s/[()]//g;s/.*\///g;print'`) }
-compctl -K morons pskill pkill
-pskill()
-{
-        local signal="HUP"
-        if [[ $1 == "" || $3 != "" ]]; then
-                print "Usage: $0 processname [signal]" && return 1
-        fi
-        [[ $2 != "" ]] && signal=$2
-        set -A pids $(command ps wwaux | grep $1 | grep -v "grep $1" | awk '{ print $2 }')
-        if [[ ${#pids} -lt 1 ]]; then
-                print "No matching processes for »$1«" && return 1
-        fi
-        if [[ ${#pids} -gt 1 ]]; then
-                print "${#pids} processes matched: $pids"
-                read -q "?Kill all? [y/n] " || return 0
-        fi
-        if kill -$signal $pids; then
-                echo "Killed $1 pid $pids with SIG$signal"
-        fi
-}
-
-# Use 'view' to read manpages, if u want colors, regex - search, ...
-# like vi(m).
-# It's shameless stolen from <http://www.vim.org/tips/tip.php?tip_id=167>
-function vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - }
-
-# J-E-H-O-V-A!!!11!!
-#  ,----
-#  |  $ (cd $PORTS_DIR && make print-index ~/.ports)
-#  |  $ grep -i "^Port.*xchat-" -B1 -A8 .ports
-#  |
-#  |    Port:   xchat-1.8.11
-#  |    Path:   net/xchat
-#  |    Info:   X-Chat is an X11 IRC client
-#  |    Maint:  Damien Couderc <couderc@openbsd.org>
-#  |    Index:  net x11
-#  |    L-deps: gdk_pixbuf::graphics/gdk-pixbuf iconv.2::converters/libiconv intl.1:gettext->=0.10.38:devel/gettext
-#  |    B-deps: :devel/gmake bzip2-*:archivers/bzip2 gettext->=0.10.38:devel/gettext
-#  |    R-deps: gettext->=0.10.38:devel/gettext libiconv-*:converters/libiconv
-#  |
-#  `----
-if [ "${OS}" = openbsd ]; then
-        function port() 
-        {
-                case "$1" in
-                        -p) =grep -i "^Port.*$2" -B1 -A8 ~/.ports
-                        ;;
-                        -i) =grep -i "^Info.*$2" -B1 -A5 ~/.ports
-                        ;;
-                        *)
-                        echo "Usage: $0 {-i | -p } string }"
-                        echo "       -i (Info)       Search parse Info:"
-                        echo "       -p (Port)       Search parse Port:"
-                esac
-        }
-fi
-
-# Exchange ' ' for '_' in filenames.
-unspaceit()
-{
-        for _spaced in "${@:+"$@"}"; do
-                if [ ! -f "${_spaced}" ]; then
-                        continue;
-                fi
-                _underscored=$(echo ${_spaced} | tr ' ' '_');
-                if [ "${_underscored}" != "${_spaced}" ]; then
-                        mv "${_spaced}" "${_underscored}";
-                fi
-        done
-}
-
-# summarized google, ggogle, mggogle, agoogle and fm
-function search()
-{
-       case "$1" in
-               -g) ${BROWSER:-lynx} "http://www.google.com/search?q="$2""
-               ;;
-               -u) ${BROWSER:-lynx} "http://groups.google.com/groups?q="$2""
-               ;;
-               -m) ${BROWSER:-lynx} "http://groups.google.com/groups?selm="$2""
-               ;;
-               -a) ${BROWSER:-lynx} "http://groups.google.com/groups?as_uauthors="$2""
-               ;;
-               -c) ${BROWSER:-lynx} "http://search.cpan.org/search?query="$2"&mode=module"
-               ;;
-               -f) ${BROWSER:-lynx} "http://freshmeat.net/search/?q=$2&section=projects"
-               ;;
-               -F) ${BROWSER:-lynx} "http://www.filewatcher.com/?q="$2""
-               ;;
-               -s) ${BROWSER:-lynx} "http://sourceforge.net/search/?type=soft&q="$2""
-               ;;
-               *) 
-                 echo "Usage: $0 {-g | -u | -m | -a | -f | -c | -F}"
-                 echo "        -g: Searching for keyword in google.com"
-                 echo "        -u: Searching for keyword in groups.google.com"
-                 echo "        -m: Searching for message-id in groups.google.com"
-                 echo "        -a: Searching for Authors in groups.google.com"
-                 echo "        -c: Searching for Modules on cpan.org."
-                 echo "        -f: Searching for projects on Freshmeat."
-                 echo "        -F: Searching for packages on FileWatcher."
-                 echo "        -s: Searching for software on Sourceforge."
-       esac
-}
-
-# Quick&dirty hack to read heise-news (<http://www.heise.de/>
-function heise()
-{
-       CURDIR=${pwd};
-        cd /tmp;
-        if [[ -s tmp/heise.rdf ]]
-               then
-                       rm heise.rdf
-               fi
-               wget -q -O - http://heise.de/newsticker/heise.rdf |\
-               sed -e '/title/!d;s, <title>\(.*\)</title>,\1,' -e '/heise online/d' ; 
-               cd $CURDIR
-}
-
-# make screenshot of current desktop (use 'import' from ImageMagic)
-# See man date(1) and man import(1) for details.
-# Note: If you don't have 'import', install ImageMagick and stop
-#       crying.
-function sshot() 
-{ 
-       [[ ! -d ~/shots  ]] && mkdir ~/shots
-       cd ~/shots ; sleep 5 ; import -window root -depth 8 -quality 80 `date "+%Y-%m-%d%--%H:%M:%S"`.png
-#      cd ~/shots && sleep 5; import -window root `date "+%Y-%m-%d%--%H:%M:%S"`.jpg
-
-}
-
-# Needs ImageMagick
-function gif2png() 
-{
-       if [[ $# = 0 ]]
-       then
-               echo "Usage: $0 foo.gif"
-               echo "Purpose: change a GIF file to a PNG file"
-       else
-               output=`basename $1 .gif`.png
-               convert  $1 $output
-               touch -r $1 $output
-               ls -l $1 $output
-       fi
-}
-
-# search for various types or README file in dir and display them in $PAGER
-# function readme() { $PAGER -- (#ia3)readme* }
-function readme()
-{
-        local files
-        files=(./(#i)*(read*me|lue*m(in|)ut)*(ND))
-        if (($#files))
-        then $PAGER $files
-        else
-                print 'No README files. Please lart \$MAINTAINER!'
-        fi
-}
-
-# find all suid files in $PATH
-function suidfind() { ls -latg ${(s.:.)PATH} | grep '^...s' }
-
-# See above but this is /better/ ... anywise ..
-#  Note: Add $USER and 'find' with "NOPASSWD" in your /etc/sudoers or run it
-#        as root (UID == 0)
-function findsuid()
-{
-        sudo find / -type f \( -perm -4000 -o -perm -2000 \) -ls > ~/.suid/suidfiles.`date "+%Y-%m-%d"`.out 2>&1
-        sudo find / -type d \( -perm -4000 -o -perm -2000 \) -ls > ~/.suid/suiddirs.`date "+%Y-%m-%d"`.out 2>&1
-        sudo find / -type f \( -perm -2 -o -perm -20 \) -ls > ~/.suid/writefiles.`date "+%Y-%m-%d"`.out 2>&1
-        sudo find / -type d \( -perm -2 -o -perm -20 \) -ls > ~/.suid/writedirs.`date "+%Y-%m-%d"`.out 2>&1
-}
-
-# csh compatibility
-setenv() { typeset -x "${1}${1:+=}${(@)argv[2,$#]}" }
-
-# if [ Now-Playing == "relaxmusic" ];then .. ;-)
-beer()
-{
-        echo "         _.._..,_,_"
-        echo "        (          )"
-        echo "         ]~,\"-.-~~["
-        echo "       .=])' (;  ([    PANTS OFF!"
-        echo "       | ]:: '    ["
-        echo "       '=]): .)  (["
-        echo "         |:: '    |"
-        echo "          ~~----~~"
-}
-
-# Add directory to a bookmark-list
-# % bmadd       # add directory to bookmark list
-# % bmls        # show list of bookmark list
-# % bmvi        # edit bookmark list
-# % bm $NUMBER  # change directory to $NUMBER bookmark
-BMRC=~/.bmrc
-/usr/bin/touch $BMRC
-bmls() { cat $BMRC | sort -n}
-bmvi() { vi $BMRC }
-bmadd() {
-        local bmdir=`pwd`
-        local newid=$1
-        local bmname=''
-        for bmname in `bm_path_list`
-        do
-                if [ "$bmname" = "$bmdir" ]; then
-                        echo "$bmdir is already in bm list"
-                        return
-                fi
-        done
-        if [ -z $newid ]; then
-                maxid=`cat $BMRC | cut -f 1 | sort -n -r | head -1`
-                if [ "$maxid" -ge 1 ]; then
-                        newid=`expr 0$maxid + 1`
-                else
-                        newid=1
-                fi
-        fi
-        echo "$newid\t$bmdir" >> $BMRC
-}
-bm() {
-        local num=$1
-        local bmdir=`bm_get $num`
-        if [ -z "$bmdir" ]; then
-                bmls     
-                [ -z "$num" ] || echo "$num is not in bm list"
-                return
-        fi
-        cd "$bmdir"
-}
-bm_get() {
-        local bmdir=`cat $BMRC | egrep "^${1}[[:space:]]" | cut -f 2`
-        echo $bmdir
-}
-
-bm_path_list() {
-        cut -f 2 < $BMRC
-}
-
-# Temporary (interactive) removes. Alternative to this u can use
-# http://www.strcat.de/hacks/rm-replacements.shar
-function rf()
-{
-        [[ -z ${SHITDIR} ]] && print "No ${SHITDIR} defined." && return 1
-        [[ ! -d ${SHITDIR} ]] && mkdir ${SHITDIR}
-        mv $* ${SHITDIR}
-}
-
-# Reload functions.
-function refunc()
-{
-        for func in $argv
-        do
-                unfunction $func
-                autoload $func
-        done
-}
-
-# a small check to see which DIR is located on which server/partition.
-# stolen and modified from Sven's zshrc.forall
-function dirspace()
-{
-        for dir in ${(s.:.)PATH};
-        do
-                (cd $dir; echo "-<$dir>"; du -shx .; echo);
-        done
-}
-
-# Create a archive for my homepage (<http://strcat.neessen.net/>)
-function mkz()
-{
-       cd ~/homepage/dotfiles/zsh
-       cp ~/.zlogin ~/homepage/dotfiles/zsh/zlogin
-       cp ~/.zlogout ~/homepage/dotfiles/zsh/zlogout
-       cp ~/.zshrc ~/homepage/dotfiles/zsh/zshrc
-       cp ~/.zsh/z* ~/homepage/dotfiles/zsh/
-       cd ~/homepage/dotfiles/zsh/
-       rm ~/homepage/dotfiles/zsh/zshdevel.old
-       tar cf dot-zsh.tar * 
-       gzip --best ~/homepage/dotfiles/zsh/dot-zsh.tar
-       cd ~1
-}
-
-# FIXME: works not so as i like
-#--------------------------------------------------
-# function verify() {
-#         for i in "$1"
-#         do
-#                 if [ -r "$1" ]
-#                 then
-#                   #cd `dirname $1`
-#                   cd =$1(:h)
-#                 shortname=`basename $1`
-#                   md5 "$shortname" > "~/.checksums/$shortname.md5sum"
-#                   echo "Verified $shortname to $shortname.md5sum"
-#                 else
-#                   echo "Can not find $1"
-#                 fi
-#         done
-# }
-#-------------------------------------------------- 
-
-
-# Find (and print) all symbolic links without a target within the
-# current directorytree (i. e. ll symlinks that dont point to files,
-# directories, sockets, devices, or named pipes).
-# Note: all three functions works but the last is nicer
-# function brlinks() { for i in **/*(D@); [[ -f $i || -d $i ]] || echo $i }
-# function brlinks() { print -l **/*(@-^./=%p) }
-function brlinks() { print -l **/*(-@) }
-
-# *fg*
-# function show_print () {
-#    for argument in "${@}"
-#      do
-#for ((i = 1; i <= ${#1} ;i++)) {
-#    print -n "${argument[i]}"
-#    sleep 0.005
-#}
-#print -n " "
-#      done
-#    print ""
-#}
-
-# display some informations
-function status()
-{
-        print ""
-        print "Date..: "$(date "+%Y-%m-%d %H:%M:%S")""
-        print "Shell.: Zsh $ZSH_VERSION (PID = $$, $SHLVL nests)"
-        print "Term..: $TTY ($TERM), $BAUD bauds, $COLUMNS x $LINES cars"
-        print "Login.: $LOGNAME (UID = $EUID) on $HOST"
-        print "System: $(cat /etc/[A-Za-z]*[_-][rv]e[lr]*)"
-        print "Uptime:$(uptime)"
-        print ""
-}
-
-# a fucking lazy poor man clock..
-# check time every minute
-# PERIOD=60
-# show time every 15 minutes
-#function periodic()
-#{
-#       if [ `date +'%M'` = '00' ] ||
-#               [ `date +'%M'` = '15' ] ||
-#               [ `date +'%M'` = '30' ] ||
-#               [ `date +'%M'` = '45' ]
-#       then
-#               echo Time: `date +'%H:%M'`
-#       fi
-#}
-
-# For my Linux boxes
-if [ ${OS} = linux-gnu ]; then
-function mkernel() 
-{
-       make clean && make dep && make modules && make modules_install && make bzImage
-        cd arch/i386/boot
-}
-
-function getkernel()
-{
-       if [ $# -ne 3 ] ; then
-               echo "Usage:"
-               echo "$0 MAJOR MINOR SUBMINOR"
-                echo ""
-                echo "eg:"
-               echo "   $0 2 6 7"
-               latest=`echo -e "GET /kdist/finger_banner HTTP/1.0\n" | netcat www.kernel.org 80 | sed -ne "/^\r$/,//p"`
-               echo ""
-                echo "current versions: $latest"
-               echo ""
-               echo -n 'Used release is: '
-               uname -r
-       else
-               cd /Source
-               SERVER=http://www.de.kernel.org/pub/linux/kernel/
-               KERNEL=$SERVER/v$1.$2/linux-$1.$2.$3.tar.bz2
-               SIGN=$SERVER/v$1.$2/linux-$1.$2.$3.tar.bz2.sign
-               echo 'starting download'
-               wget -c $KERNEL &&
-               wget -c $SIGN   &&
-               echo 'done'
-               echo 'checking signature:'
-               gpg --verify `basename $SIGN $KERNEL` &&
-               echo 'done'
-       fi
-}
-
-function audiorip()
-{
-        mkdir -p ~/ripps
-        cd ~/ripps
-        cdrdao read-cd --device $DEVICE --driver generic-mmc audiocd.toc
-        cdrdao read-cddb --device $DEVICE --driver generic-mmc audiocd.toc
-        echo " * Would you like to burn the cd now? (yes/no)"
-        read input
-        if
-                [ "$input" = "yes" ]; then
-                echo " ! Burning Audio CD"
-                audioburn
-                echo " * done."
-        else
-                echo " ! Invalid response."
-        fi
-}
-
-function audioburn()
-{
-        cd ~/ripps
-        cdrdao write --device $DEVICE --driver generic-mmc audiocd.toc
-        echo " * Should I remove the temporary files? (yes/no)"
-        read input
-        if [ "$input" = "yes" ]; then
-                echo " ! Removing Temporary Files."
-                cd ~
-                rm -rf ~/ripps
-                echo " * done."
-        else
-                echo " ! Invalid response."
-        fi
-}
-
-function mkaudiocd()
-{
-        cd ~/ripps
-        for i in *.[Mm][Pp]3; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
-        for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done 
-        for i in *.mp3; do mpg123 -w `basename $i .mp3`.wav $i; done 
-        normalize -m *.wav
-        for i in *.wav; do sox $i.wav -r 44100 $i.wav resample; done
-}
-
-function mkiso()
-{
-        echo " * Volume name "
-        read volume
-        echo " * ISO Name (ie. tmp.iso)"
-        read iso
-        echo " * Directory or File"
-        read files
-        mkisofs -o ~/$iso -A $volume -allow-multidot -J -R -iso-level 3 -V $volume -R $files
-}
-
-# rmmodcomplete() looks for modules in memory, for use with "rmmod".
-rmmodcomplete () { reply=(`/sbin/lsmod|cut -f1 -d" "|grep -v Module`) }
-compctl -K rmmodcomplete rmmod
-
-# insmodcomplete() looks for modules to use with "insmod" or
-# "modprobe".
-function insmodcomplete() { reply=(`find /lib/modules/$(uname -r)/* ! -type d -printf "%f\n"|sed "s/\.o$//"`) }
-compctl -K insmodcomplete insmod modprobe
-
-fi
-
-# Complete a howto-filename or FAQ-name (see howto script below).
-# Use like "howto zsh[TAB]".
-function howtocomplete() { reply=(`howto --find "$1"`) }
-compctl -U -K howtocomplete howto
-p0rncomplete() { reply=(`p0rn --find "$1"`) }
-compctl -U -K p0rncomplete p0rn
-
-# a quick hack for GNU Emacs && emacsclient
-function e()
-{
-       if [ "$1" = "" ]; then
-               echo "No file specified you have, think before you must."
-       else
-               if emacsclient -n "$1" >/dev/null 2>&1; then
-                       echo "Alrite, opened $1 in the Holy Emacs."
-               else
-                       echo "There's no Holy Emacs running here.. starting.."
-                       exec emacs "$1" &
-               fi
-       fi
-}
-
-# Show days since given birthday
-function days () 
-{
-       if [ "$*" = "" ]; then
-               echo "Use $0 day month year"
-               echo "Example: $0 "12 aug 1999""
-       else
-               BIRTHDAY="$*"
-               print $(( (`date +%s -d ${2:="now"}` - `date +%s -d ${1:=$BIRTHDAY}` )/60/60/24 ))
-       fi
-}
-
-# generate thumbnails ;)
-function genthumbs ()
-{
-    rm -rf thumb-* index.html
-    echo "
-<html>
-  <head>
-    <title>Images</title>
-  </head>
-  <body>" > index.html
-    for f in *.(gif|jpeg|jpg|png)
-    do
-        convert -size 100x200 "$f" -resize 100x200 thumb-"$f"
-        echo "    <a href=\"$f\"><img src=\"thumb-$f\"></a>" >> index.html
-    done
-    echo "
-  </body>
-</html>" >> index.html
-}