--- /dev/null
+
+# some aliases that i don't expect very many people to ever want. they are
+# based on some of the mount configurations available at home or abroad.
+
+# moo and unmoo mount the local folders i use most.
+define_yeti_alias moo='check_mount /z/stuffing ; check_mount /z/walrus ; check_mount /z/chunky ; check_mount /z/fredgrid'
+define_yeti_alias unmoo='sudo umount /z/stuffing ; sudo umount /z/walrus ; sudo umount /z/chunky ; sudo umount /z/fredgrid'
+
+# load in the gffs build scripts.
+source "$FEISTY_MEOW_SCRIPTS/buildor/gffs_builders.sh"
+
--- /dev/null
+
+# these are my personal overrides. --fred.
+
+if [ -z "$USER_CUSTOMIZATIONS_LOADED" ]; then
+ # if we don't see the nethack variable defined, this probably hasn't run yet.
+
+ # The cloud directory is our new repository that's always available. It serves as our
+ # personal cloud for data.
+ export CLOUD_BASE=$HOME/cloud
+
+ # The gruntose web site is expected to reside below, if it exists at all.
+ export WEBBED_SITES=$HOME/web
+ if [ "$(hostname)" = "zooty.koeritz.com" ]; then
+ export WEBBED_SITES=/var/www
+ fi
+
+ # add a bunch of folders to the list for checkin & checkout. these are
+ # definitely personal, and some of them are fairly dated (the yeti and
+ # hoople folders, for example).
+ REPOSITORY_LIST+="cloud ebooks web antique antique/inova_codebase bigdata"
+
+ # point to our local certificate for ssh usage.
+ export SVN_SSH="ssh -i $HOME/.ssh/id_dsa_sourceforge"
+
+ # Error and success noises for CLAM.
+ export CLAM_ERROR_SOUND='/z/walrus/media/sounds/effects/bwaaang.wav /z/walrus/media/sounds/cartoons/doh4.wav'
+ export CLAM_FINISH_SOUND='/z/walrus/media/sounds/cartoons/meepmeep.wav'
+
+ # Setup for nethack adventure.
+ export NETHACKOPTIONS="name:Manjusri-W,dogname:Fred,catname:Zonker"
+
+ # mail setup for home machines.
+# export REPLYTO=fred@gruntose.com
+# export from="Fred T. Hamster <fred@gruntose.com>"
+
+ # set our browser for seti and others that use the variable.
+# export BROWSER=/usr/bin/firefox
+
+ # editor and other mixed settings...
+ export EDITOR="$(which vim)"
+ if [ -z "$EDITOR" ]; then
+ EDITOR="$(which vi)"
+ if [ -z "$EDITOR" ]; then
+ EDITOR="$(which emacs)"
+ if [ -z "$EDITOR" ]; then
+ echo "Cannot find a friendly editor."
+ fi
+ fi
+ fi
+ export VISUAL="$EDITOR"
+ # the editors for revision control must wait while document is edited,
+ # so gvim and others launched to x window are not appropriate.
+ export GIT_EDITOR="$EDITOR"
+ export SVN_EDITOR="$EDITOR"
+
+ # this hideous mess is necessitated by our not having found the source of the
+ # settings yet. we override a few colors that look bad on a dark background.
+ export LS_COLORS='no=00:fi=00:di=01;37:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;35:*.rpm=00;33:*.deb=00;33:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;35:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;35:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
+
+ # options for the lame mp3 encoder.
+ export LAMEOPT="--alt-preset extreme"
+
+ # customization sentinel can be set now.
+ export USER_CUSTOMIZATIONS_LOADED=true
+fi
+
+
--- /dev/null
+#!/bin/bash
+
+# Author: Chris Koeritz
+
+# this script tries to intuit where java is installed on this machine.
+
+############################
+
+source $FEISTY_MEOW_SCRIPTS/core/functions.sh
+
+# this reports when we have totally failed to figure out where a folder
+# is actually located on the machine.
+function intuition_failure()
+{
+ missing="$1"; shift
+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo "Could not intuit '$missing' variable."
+ fi
+ # remove the variable because its value is busted.
+ unset $missing
+}
+
+############################
+
+# set some fairly liberal limits for ant.
+#no. export ANT_OPTS="-Xms512m -Xmx768m -XX:MaxPermSize=768m"
+
+############################
+
+# start guessing some settings...
+
+# this bin portion works for most javas...
+export JAVA_BIN_PIECE=bin
+
+if [ ! -d "$JAVA_HOME" ]; then
+ # try a recent version.
+ export JAVA_HOME=/usr/lib/jvm/java-8-oracle
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+ # or an older version.
+ export JAVA_HOME=/usr/lib/jvm/java-7-oracle
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+ JAVA_HOME="$(ls -d c:/tools/*jdk* 2>/dev/null)"
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+ JAVA_HOME="$(ls -d "c:/Program Files"/*jdk* 2>/dev/null)"
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+ JAVA_HOME="$(ls -d "c:/Program Files (x86)"/*jdk* 2>/dev/null)"
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+ if [ ! -z "$(grep -i 'd:' /proc/mounts 2>/dev/null)" ]; then
+ # try using a windows version.
+ JAVA_HOME="$(ls -d d:/tools/*jdk* 2>/dev/null)"
+ fi
+fi
+# this should go last, since it changes the bin dir.
+if [ ! -d "$JAVA_HOME" ]; then
+ # if that didn't work, try the location for mac os x.
+ JAVA_HOME=/Library/Java/Home
+ JAVA_BIN_PIECE=Commands
+fi
+# last thing is to tell them we couldn't find it.
+if [ ! -d "$JAVA_HOME" ]; then
+ unset JAVA_HOME
+ unset JAVA_BIN_PIECE
+ if [ -z "$(whichable java 2>/dev/null)" ]; then
+ intuition_failure JAVA_HOME
+ fi
+fi
+
+############################
+
+# intuit where we have our local eclipse.
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ export ECLIPSE_DIR=/usr/local/eclipse
+fi
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ ECLIPSE_DIR=$HOME/eclipse
+fi
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ ECLIPSE_DIR=$HOME/apps/eclipse
+fi
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ ECLIPSE_DIR="c:/tools/eclipse"
+fi
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ if [ ! -z "$(grep -i 'd:' /proc/mounts 2>/dev/null)" ]; then
+ ECLIPSE_DIR="d:/tools/eclipse"
+ fi
+fi
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ if [ ! -z "$(grep -i 'e:' /proc/mounts 2>/dev/null)" ]; then
+ ECLIPSE_DIR="e:/tools/eclipse"
+ fi
+fi
+# final option is to whine.
+if [ ! -d "$ECLIPSE_DIR" ]; then
+ unset ECLIPSE_DIR
+else
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ # fix the path for cygwin's bizarre requirement of /cygdrive/X.
+ ECLIPSE_DIR=$(echo $ECLIPSE_DIR | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+ fi
+fi
+if [ -z "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
+ intuition_failure ECLIPSE_DIR
+fi
+
+############################
+
+# use the variables we just set in our path, and try to make them override
+# any other paths to different versions.
+
+if [ ! -z "$JAVA_HOME" ]; then
+ j="$JAVA_HOME"
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ j=$(echo $j | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+ fi
+ export PATH=$j/$JAVA_BIN_PIECE:$PATH
+fi
+if [ ! -z "$ECLIPSE_DIR" ]; then
+ e="$ECLIPSE_DIR"
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ e=$(echo $e | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+ fi
+ export PATH=$e:$PATH
+fi
+
+############################
+
+#echo "java_profile: JAVA_HOME='$JAVA_HOME' ECLIPSE_DIR='$ECLIPSE_DIR'"
+
--- /dev/null
+#!/bin/bash
+
+# cleans up the ownership for all my files.
+function refred()
+{
+ sudo chown -R fred:fred /home/fred /home/games /home/archives /usr/local/fred
+ sudo bash $FEISTY_MEOW_SCRIPTS/files/normal_perm.sh /var/log
+}
+
+# this block should execute when the script is actually run, rather
+# than when it's just being sourced.
+if [[ $0 =~ .*refred\.sh.* ]]; then
+ THISDIR="$( \cd "$(\dirname "$0")" && /bin/pwd )"
+ export LIGHTWEIGHT_INIT=true
+ source "$THISDIR/../../scripts/core/launch_feisty_meow.sh"
+ refred
+fi
+
--- /dev/null
+#!/bin/bash
+
+
+mkdir $HOME/disco
+pushd $HOME/disco &>/dev/null
+mkdir -p burn converted grind rip
+popd &>/dev/null
+
--- /dev/null
+#!/bin/bash
+
+# a helpful script that scrapes any active game saves from wine's storage
+# area into a spooling saves folder for archiving.
+
+source $FEISTY_MEOW_SCRIPTS/core/functions.sh
+
+WINE_SOURCE_DIR="$HOME/wine_goods/My Games"
+SPOOLING_OUTPUT_DIR="$HOME/spooling_saves"
+
+if [ ! -d "$WINE_SOURCE_DIR" ]; then
+ WINE_SOURCE_DIR="c:/users/fred/My Documents/My Games"
+fi
+if [ ! -d "$WINE_SOURCE_DIR" ]; then
+ echo "Failing to find the game save directories."
+ exit 1
+fi
+
+# copies the files for a particular game out to a spooling folder.
+function copyem()
+{
+ game_name="$1"; shift
+ source_dir="$1"; shift
+ out_dir="$1"; shift
+
+ if [ -d "$source_dir" ]; then
+ echo $game_name
+ cp -v -n "$source_dir"/* "$out_dir"/
+ sep 28
+ fi
+}
+
+# make the output folders if they don't exist.
+for i in skyrim fallout_new_vegas fallout_3/Saves oblivion fallout_4/Saves ; do
+ if [ ! -d "$SPOOLING_OUTPUT_DIR/$i" ]; then
+ mkdir -p "$SPOOLING_OUTPUT_DIR/$i"
+ fi
+done
+
+# now run through and copy our save files from the potentially weird locations
+# they reside in.
+
+sep 28
+
+copyem "skyrim" "$WINE_SOURCE_DIR/Skyrim/Saves" "$SPOOLING_OUTPUT_DIR/skyrim"
+
+copyem "fallout new vegas" "$WINE_SOURCE_DIR/FalloutNV/Saves" "$SPOOLING_OUTPUT_DIR/fallout_new_vegas"
+
+copyem "fallout 3" "$WINE_SOURCE_DIR/Fallout3/Saves" "$SPOOLING_OUTPUT_DIR/fallout_3/Saves"
+
+copyem "oblivion" "$WINE_SOURCE_DIR/Oblivion/Saves" "$SPOOLING_OUTPUT_DIR/oblivion/"
+
+copyem "fallout 4" "$WINE_SOURCE_DIR/Fallout4/Saves" "$SPOOLING_OUTPUT_DIR/fallout_4/Saves"
+
+
--- /dev/null
+#!/bin/bash
+
+# musical_wand: distributes music from our primary source to all hosts that are listed
+# as being redundant copies for the music.
+
+# this script is designed to be run on the music host with the super alpha main source of
+# music plugged in as an external drive. that being said, it will still work as long as
+# the music host has its local copy intact; the local copy of the primary is always what
+# is synched onto the other archive hosts. in that sense, the musical host is itself a
+# musix archive, but it is treated "special".
+
+source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
+
+#hmmm: add the goodness around these actions like the "nice" updater so we catch all errors.
+
+# this host is where all the music is supposed to come from.
+MUSICAL_HOST=banshee
+
+#hmmm: this script is currently limited to run ON the music host. it could easily do the backwards thing instead, and copy FROM music host.
+
+# the list of hosts we know of that are holding onto duplicate copies of the musix archive.
+#old list MUSIX_ARCHIVE_SITE_LIST=(surya banshee wildmutt euphrosyne)
+MUSIX_ARCHIVE_SITE_LIST=(euphrosyne)
+#hmmm: list was contracted a lot, since we don't want to step on the updates done by syncthing. euphrosyne is still our reference copy for what the archive states "should" be.
+
+
+if [[ ! ( $(hostname) =~ .*${MUSICAL_HOST}.* ) ]]; then
+ echo "This script is only designed to run on $MUSICAL_HOST with the"
+ echo "primary fred music source (external) disc plugged in."
+ exit 1
+fi
+
+# synch our local copy on the music host with the primary music drive, source of all goodness.
+function get_music_from_alpha_site()
+{
+ sep
+ echo "getting musix and basement from fred music prime device"
+ rsync -av /media/fred/fredmusicprime/musix/* /z/musix/
+ rsync -av /media/fred/fredmusicprime/basement/* /z/basement/
+ sep
+ echo
+}
+
+# updates the music on a remote host to our current local copy on the music host.
+function update_musix_pile()
+{
+ sep
+ local host="$1"; shift
+ echo "$host: synching musix and basement"
+ rsync -avz /z/musix/* ${host}:/z/musix/
+ rsync -avz /z/basement/* ${host}:/z/basement/
+ sep
+ echo
+}
+
+##############
+
+# make sure the local machine, our first-stop musix host, is in good shape.
+get_music_from_alpha_site
+
+# run through the steps of updating all our machines.
+for i in ${MUSIX_ARCHIVE_SITE_LIST[@]}; do
+ update_musix_pile $i
+done
+
+
--- /dev/null
+#!/bin/bash
+
+# chooses the right certificate to use for logging in via ssh.
+
+#hmmm: not the slightest bit general here currently.
+# what about having a main key variable and a sourceforge key variable?
+# better yet, an array of site patterns and keys for those sites.
+
+keyfile="$HOME/.ssh/id_dsa_fred"
+
+if [ ! -z "$(echo $* | grep -i sourceforge)" ]; then
+ keyfile="$HOME/.ssh/id_dsa_sourceforge"
+fi
+
+if [ ! -f "$keyfile" ]; then
+ unset keyfile
+fi
--- /dev/null
+#!/bin/bash
+
+echo "Updating walrus and musix from surya: raw mode without syncthing!"
+rsync -avz surya:/z/walrus/* /z/walrus/
+rsync -avz surya:/z/musix/* /z/musix/
+
--- /dev/null
+#!/bin/bash
+
+source "$FEISTY_MEOW_LOADING_DOCK/custom/scripts/pick_credentials.sh"
+
+# a wrapper for the file transfers using secure shell.
+\sftp -i "$keyfile" $*
+
--- /dev/null
+#!/bin/bash
+
+# wraps calling the secure shell to let us pick our appropriate credentials.
+
+source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh"
+
+#hmmm: is this still used???
+# it seems redundant with the ssh config file that says which creds to use.
+source "$FEISTY_MEOW_LOADING_DOCK/custom/scripts/pick_credentials.sh"
+
+# remember the old title.
+save_terminal_title
+
+# force the TERM variable to a more generic version for other side.
+# we don't want the remote side still thinking it's running xterm.
+export TERM=linux
+
+#hmmm: it would be good to set an interrupt handler here and
+# trap ctrl-c, since otherwise we are getting exited from and losing a chance
+# to reset the terminal title. this actually happens a lot, since some X11
+# or other background process is left running and the ssh never actually quits,
+# forcing one to hit ctrl-c.
+
+if [ ! -z "$keyfile" ]; then
+ \ssh -i "$keyfile" -X -C $*
+else
+ \ssh -X -C $*
+fi
+
+restore_terminal_title
+
--- /dev/null
+
+
+#hmmm: plug in good checking stuff from the updater for soapbox.
+
+rsync -av /z/pooling/archive_backups/* /media/fred/barkuptreedrive/archive_backups/
+rsync -av /z/walrus/* /media/fred/barkuptreedrive/walrus/
+rsync -av /z/musix/* /media/fred/barkuptreedrive/musix/
--- /dev/null
+#!/bin/bash
+
+# updates my little 1 TB "soapbox" style usb drive with items that it should contain.
+
+source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
+
+function get_source()
+{
+ folder="$1"; shift
+ echo getting latest codes in $folder...
+ pushd "$folder"
+ if [ $? -ne 0 ]; then
+ echo Changing to the folder $folder failed.
+ exit 1
+ fi
+ bash "$FEISTY_MEOW_SCRIPTS/rev_control/rev_checkin.sh"
+ if [ $? -ne 0 ]; then
+ echo Checking out the latest codes has failed somehow for $folder.
+ exit 1
+ fi
+ popd
+}
+
+sep
+
+ls /media/fred/soapboxdrive
+if [ $? -ne 0 ]; then
+ echo The soapbox drive is not mounted currently, so cannot be updated.
+ exit 1
+fi
+
+sep
+
+echo synching walrus...
+rsync -av /z/walrus/* /media/fred/soapboxdrive/walrus/
+if [ $? -ne 0 ]; then
+ echo The walrus sync failed.
+ exit 1
+fi
+
+sep
+
+echo synching musix...
+rsync -av /z/musix/* /media/fred/soapboxdrive/musix/
+if [ $? -ne 0 ]; then
+ echo The musix sync failed.
+ exit 1
+fi
+
+sep
+
+echo getting latest fred codes...
+pushd /media/fred/soapboxdrive
+get_source extra_brain
+
+sep
+
+echo getting latest gffs codes...
+get_source gffs
+popd
+
+sep
+
+echo Updated all portions of the soapbox drive successfully.
+
--- /dev/null
+
+this folder has some examples of how various people (or one person right now)
+do their custom scripts.
+
+the folder can have alias files (ending in .alias) that are written in bash,
+and it can also have shell scripts that are sourced into the main-line of
+script initialization (any files ending in .sh).
+
+when you have some custom scripts you want to use, copy them from your own
+folder to the $FEISTY_MEOW_LOADING_DOCK/custom directory.
+
+
+(needs to talk about the scripts directory which is handled specially.
+are there any keyword matched filenames with special functions?)
+
+
--- /dev/null
+
+
+define_yeti_alias lsd='ls -l'
+define_yeti_alias h='history'
+define_yeti_alias dw='du | grep Waves'
+define_yeti_alias rm='rm'
+define_yeti_alias d1='du --max-depth=1'
+define_yeti_alias df='/bin/df'
+
+define_yeti_alias rebob='chowngrp -R bob /home/bob ; chowngrp -R bob /home/games ; chowngrp -R bob /home/archives ; chowngrp -R bob /Data ; chowngrp -R bob /fatty ; chowngrp -R bob /srv/ftp '
+
+define_yeti_alias ipod=gtkpod
+