<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8762054589817832831</id><updated>2011-08-01T20:20:11.523-04:00</updated><category term='linux'/><category term='commercials'/><category term='virtualization'/><category term='gtd'/><category term='hack'/><category term='fly'/><category term='organize'/><category term='podcast'/><category term='tools'/><category term='data input'/><category term='diy'/><category term='sysadmin'/><category term='vmware'/><category term='security'/><category term='serial printer cable pinout'/><category term='measure'/><category term='freeware'/><category term='osx'/><category term='dvd'/><category term='links'/><category term='rpm'/><category term='scan'/><category term='tivo'/><category term='make'/><category term='audio'/><category term='storage cheap'/><category term='tape'/><category term='storage backup archive rant'/><category term='videoredo'/><category term='clutter'/><category term='linux sysadmin storage'/><category term='software'/><category term='monitor'/><category term='mac'/><category term='video'/><category term='windows'/><category term='qemu'/><category term='performance'/><category term='network'/><category term='ocr'/><category term='scsi'/><category term='solaris'/><category term='backup'/><title type='text'>Ranting Datastore</title><subtitle type='html'>System Administration. Home Automation. Gardening. Solaris. Linux. MacOSX</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-1526790590600254257</id><published>2009-07-29T10:17:00.001-04:00</published><updated>2009-07-29T10:17:44.462-04:00</updated><title type='text'>bak2disc-tpb</title><content type='html'>#!/bin/bash &lt;br /&gt;################################################################################&lt;br /&gt;#&lt;br /&gt;# bak2disc - backup to disc volumes while maintaining original data structure&lt;br /&gt;# Copyright (C) 2005-2006 dorphell &amp;lt;dorphell [AT] gmail [DOT] com&amp;gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;&amp;nbsp; This program is free software; you can redistribute it and/or modify&lt;br /&gt;#&amp;nbsp;&amp;nbsp; it under the terms of the GNU General Public License as published by&lt;br /&gt;#&amp;nbsp;&amp;nbsp; the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;#&amp;nbsp;&amp;nbsp; (at your option) any later version.&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;&amp;nbsp; This program is distributed in the hope that it will be useful,&lt;br /&gt;#&amp;nbsp;&amp;nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;#&amp;nbsp;&amp;nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&amp;nbsp; See the&lt;br /&gt;#&amp;nbsp;&amp;nbsp; GNU General Public License for more details.&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;&amp;nbsp; You should have received a copy of the GNU General Public License&lt;br /&gt;#&amp;nbsp;&amp;nbsp; along with this program; if not, write to the Free Software&lt;br /&gt;#&amp;nbsp;&amp;nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&amp;nbsp; 02110-1301&amp;nbsp; USA&lt;br /&gt;#&lt;br /&gt;################################################################################&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;# PUBLIC CONSTANTS [Default Parameters]&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;## Dir used for meta-data (a few MBs of ASCII files) ##&lt;br /&gt;TMP_DIR=&amp;quot;${TEMP:-/tmp/bak2disc}&amp;quot;&lt;br /&gt;mkdir -p $TMP_DIR&lt;br /&gt;&lt;br /&gt;## Disc type (valid types: CD74, CD80, DVD5, DVD9, DLT7, LTO2, LTO3) ##&lt;br /&gt;MEDIA_TYPE=&amp;quot;DVD5&amp;quot;&lt;br /&gt;&lt;br /&gt;## Space allocated for index metadata (MiB)##&lt;br /&gt;INDEX_SIZE=4&lt;br /&gt;&lt;br /&gt;## mkisofs options used by growisofs ##&lt;br /&gt;MKISOFS_OPTS=&amp;quot; -r -J &amp;quot;&lt;br /&gt;&lt;br /&gt;## Limit for the volume-filling search in the element array ##&lt;br /&gt;SEARCH_RANGE=150&lt;br /&gt;&lt;br /&gt;Label=&amp;quot;Volume&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;# PRIVATE CONSTANTS [Do not Modify]&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;VERSION=&amp;quot;0.7-tpb&amp;quot;&lt;br /&gt;PROG_NAME=&amp;quot;bak2disc&amp;quot;&lt;br /&gt;GB=1073741824&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 1024^3&lt;br /&gt;MB=1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 1024^2&lt;br /&gt;&lt;br /&gt;## ANSI Color modifiers ##&lt;br /&gt;C_BOLD=&amp;quot;\e[1m&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Bold&lt;br /&gt;C_NORM=&amp;quot;\e[m\e[0;39m&amp;quot; # Normal&lt;br /&gt;C_BLUE=&amp;quot;\e[1;34m&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Blue&lt;br /&gt;C_RED=&amp;quot;\e[1;31m&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Red&lt;br /&gt;&lt;br /&gt;## Only use newlines for field separation ##&lt;br /&gt;IFS=$&amp;#39;\n&amp;#39;&lt;br /&gt;&lt;br /&gt;## Error Messages ##&lt;br /&gt;ErrorMsgs=(&lt;br /&gt;&amp;quot;00: No error&amp;quot;&lt;br /&gt;&amp;quot;01: Unknown error&amp;quot;&lt;br /&gt;&amp;quot;02: Program \&amp;#39;\$2\&amp;#39; not in \\\$PATH&amp;quot;&lt;br /&gt;&amp;quot;03: Working directory \&amp;#39;\$2\&amp;#39; already exists&amp;quot;&lt;br /&gt;&amp;quot;04: Permission denied or file/directory does not exist: \$2&amp;quot;&lt;br /&gt;&amp;quot;05: File[s] too big, choose a higher-capacity disc or suppress oversized file[s]&amp;quot;&lt;br /&gt;&amp;quot;06: Temporary directory \&amp;#39;\$2\&amp;#39; exists&amp;quot;&lt;br /&gt;&amp;quot;07: Could not create temporary directory \&amp;#39;\$2\&amp;#39;&amp;quot;&lt;br /&gt;&amp;quot;08: User reported failed burn for disc volume \$2, --resume to try again&amp;quot;&lt;br /&gt;&amp;quot;09: Option \&amp;#39;\$2\&amp;#39; requires an argument&amp;quot;&lt;br /&gt;&amp;quot;10: Invalid option: \$2&amp;quot;&lt;br /&gt;&amp;quot;11: Previous session metadata not found. Incorrect --temp parameter?&amp;quot;&lt;br /&gt;&amp;quot;12: No options given, what do you want to do?&amp;quot;&lt;br /&gt;&amp;quot;13: No \&amp;#39;--include\&amp;#39; files/directories defined&amp;quot;&lt;br /&gt;&amp;quot;14: Disc \$2 index larger than allocated space, increase --index size&amp;quot;&lt;br /&gt;&amp;quot;15: Please provide a single valid operating mode&amp;quot;&lt;br /&gt;&amp;quot;16: Unknown disc type \&amp;#39;\$2\&amp;#39;. Valid types: cD74, CD80, DVD5, DVD9, DLT7, LTO2, LTO3&amp;quot;&lt;br /&gt;&amp;quot;17: SIGINT caught&amp;quot;&lt;br /&gt;&amp;quot;18: Invalid --speed argument, value must be an integer&amp;quot;&lt;br /&gt;&amp;quot;19: mkisofs is really genisoimage which will not work&amp;quot;)&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;# FUNCTIONS&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Help() {&lt;br /&gt;cat &amp;lt;&amp;lt; EOF&lt;br /&gt;$PROG_NAME v$VERSION (c) 2006 dorphell&lt;br /&gt;Usage: $PROG_NAME &amp;lt;mode&amp;gt; [options]&lt;br /&gt;Backup to disc volumes while maintaining original data structure&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Informative flags:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -h, --help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Print help screen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -v, --version&amp;nbsp;&amp;nbsp; Print version information&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Operating mode flags: (one required)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -f, --fresh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start a new backup session&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -n, --noburn&amp;nbsp;&amp;nbsp;&amp;nbsp; Generate backup volume information but don&amp;#39;t burn to disc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -r, --resume&amp;nbsp;&amp;nbsp;&amp;nbsp; Resume the burn phase of a previous backup session (relies&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on original metadata)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -w, --wipe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Clean up temporary directory and exit&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Accessibility flags:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -j, --eject&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open drive tray for disc loading/unloading and skip the&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; verification prompt.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -l, --exlarge&amp;nbsp;&amp;nbsp; Automatically exclude files too large for backup media&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -c, --nocolor&amp;nbsp;&amp;nbsp; Turn off all text color/highlighting&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configuration options: (every option requires an argument)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -i, --include&amp;nbsp;&amp;nbsp; Colon-separated file/directory paths to include (multiple&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; definitions and bash globbing wildcards are also vallid)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -e, --exclude&amp;nbsp;&amp;nbsp; File/directory paths to exclude (same syntax as --include)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -t, --temp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Temporary directory [default: $TMP_DIR]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -o, --mkisofs&amp;nbsp;&amp;nbsp; Burning options passed onto mkisofs/growisofs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [default: $MKISOFS_OPTS]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -m, --mtype&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disc type (CD74, CD80, DVD5, DVD9, DLT7, LTO2, LTO3) [default: $MEDIA_TYPE]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -x, --index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Space allocated for index metadata out of disc capacity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [default: $INDEX_SIZE]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -g, --range&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Number of files/directories to poll when filling slack&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; space on volumes [default: $SEARCH_RANGE]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -s, --speed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Speed factor of the writing process (integer value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [default: Maximum supported by the drive]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --label&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Label the .iso and volume name&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Examples:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $PROG_NAME --fresh --include &amp;quot;/etc:/mnt/HD*:/opt&amp;quot; -d /dev/hdc --mtype DVD5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $PROG_NAME -n -i /usr -i /var -e /var/log --temp /tmp --range 10 -m DVD5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $PROG_NAME --resume --temp /var/tmp&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GNUtar:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gtar cf &amp;lt;tape&amp;gt; -T $TMP_DIR/Volume_1&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Version() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$PROG_NAME $VERSION&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## ErrorExit &amp;quot;int error_code&amp;quot; &amp;quot;string reference_name&amp;quot; ##&lt;br /&gt;ErrorExit() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_BLUE&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;&amp;gt;&amp;gt; &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_RED&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; eval echo -n &amp;quot;ERROR ${ErrorMsgs[$1]}&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_NORM&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp; exit $1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## PrintBold &amp;quot;string message&amp;quot; ##&lt;br /&gt;PrintBold() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_BOLD&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_NORM&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## PrintStatus &amp;quot;string message&amp;quot; ##&lt;br /&gt;PrintStatus() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_BLUE&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;&amp;gt;&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_NORM$C_BOLD &amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -ne &amp;quot;$C_NORM&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## YesNo &amp;quot;string question&amp;quot; &amp;quot;boolean default&amp;quot; [y/n] ##&lt;br /&gt;YesNo() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; OPTIONS=&amp;quot;[y/n]&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ &amp;quot;$2&amp;quot; == &amp;quot;y&amp;quot; ] &amp;amp;&amp;amp; OPTIONS=&amp;quot;[Y/n] &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ &amp;quot;$2&amp;quot; == &amp;quot;n&amp;quot; ] &amp;amp;&amp;amp; OPTIONS=&amp;quot;[y/N] &amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; PrintBold &amp;quot;$1 $OPTIONS&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; IFS=$&amp;#39; \t\n&amp;#39; read ANSWER&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$ANSWER&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ANSWER=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; while [ &amp;quot;$ANSWER&amp;quot; != &amp;#39;y&amp;#39; ] &amp;amp;&amp;amp; [ &amp;quot;$ANSWER&amp;quot; != &amp;#39;n&amp;#39; ] &amp;amp;&amp;amp; [ &amp;quot;$ANSWER&amp;quot; != &amp;#39;Y&amp;#39; ] &amp;amp;&amp;amp; [ &amp;quot;$ANSWER&amp;quot; != &amp;#39;N&amp;#39; ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PrintBold &amp;quot;Invalid response, please answer &amp;#39;y&amp;#39; or &amp;#39;n&amp;#39;: &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFS=$&amp;#39; \t\n&amp;#39; read ANSWER&lt;br /&gt;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&amp;nbsp;&amp;nbsp; [[ &amp;quot;$ANSWER&amp;quot; == &amp;#39;y&amp;#39; || &amp;quot;$ANSWER&amp;quot; == &amp;#39;Y&amp;#39; ]] &amp;amp;&amp;amp; return 0 || return 1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## CheckPath &amp;quot;string program_name&amp;quot; ##&lt;br /&gt;CheckPath() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; while [ &amp;quot;$1&amp;quot; ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! type &amp;quot;$1&amp;quot; &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; ErrorExit 2 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## ParseArgs &amp;quot;string args&amp;quot; (e.g. &amp;quot;$@&amp;quot;) ##&lt;br /&gt;ParseArgs() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; while [ &amp;quot;$1&amp;quot; ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Informative flags ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;$1&amp;quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -h|--help)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Help;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -v|--version)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Operating modes flags ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -f|--fresh)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FRESH=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -r|--resume)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESUME=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -n|--noburn)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOBURN=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -w|--wipe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WIPE=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Accessibility flags ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -j|--eject)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckPath &amp;#39;eject&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EJECT=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -l|--exlarge)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTO_EXCLUDE=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -c|--nocolor)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOCOLOR=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Configuration options ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -i|--include)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INCLUDE=&amp;quot;$INCLUDE:$2&amp;quot;; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -e|--exclude)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXCLUDE=&amp;quot;$EXCLUDE:$2&amp;quot;; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -o|--mkisofs)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MKISOFS_OPTS=&amp;quot;$2&amp;quot;;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -m|--mtype)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEDIA_TYPE=&amp;quot;$2&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -x|--index)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INDEX_SIZE=&amp;quot;$2&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -t|--temp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMP_DIR=&amp;quot;$2&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -g|--range)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SEARCH_RANGE=&amp;quot;$2&amp;quot;;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -s|--speed)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ &amp;quot;${2##*[^0-9]*}&amp;quot; ] || ErrorExit 18&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPEED=&amp;quot;-speed=$2&amp;quot;;&amp;nbsp;&amp;nbsp; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --label)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! &amp;quot;$2&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 9 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Label=&amp;quot;$2&amp;quot;; shift 2;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Help;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorExit 10 &amp;quot;$1&amp;quot;;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esac&lt;br /&gt;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;## SetMediaSize &amp;quot;string preset&amp;quot; (e.g. SetMediaSize &amp;quot;dvd9&amp;quot;) ##&lt;br /&gt;SetMediaSize() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; MEDIA_TYPE=&amp;quot;$(echo $1| tr a-z A-Z)&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; case &amp;quot;$MEDIA_TYPE&amp;quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD74) MEDIA_SIZE=650&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD80) MEDIA_SIZE=703&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DVD5) MEDIA_SIZE=4482 ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DVD9) MEDIA_SIZE=8144 ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DLT7) MEDIA_SIZE=30000 ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LTO2) MEDIA_SIZE=190000 ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LTO2c) MEDIA_SIZE=323000 ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LTO3) MEDIA_SIZE=390000;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LTO3c) MEDIA_SIZE=663000;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *) Help;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorExit 16 &amp;quot;$1&amp;quot; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; esac&lt;br /&gt;&amp;nbsp;&amp;nbsp; let &amp;quot;MEDIA_SIZE-=INDEX_SIZE&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;## ValidatePath &amp;quot;string path&amp;quot; &amp;quot;string output_variable&amp;quot; ##&lt;br /&gt;## If path is readable, return its proper pathname; else error + exit ##&lt;br /&gt;ValidatePath() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ ! -r &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; CleanUp &amp;amp;&amp;amp; ErrorExit 4 &amp;quot;$1&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ &amp;quot;$1&amp;quot; == &amp;#39;/&amp;#39; ] &amp;amp;&amp;amp; return&lt;br /&gt;&amp;nbsp;&amp;nbsp; eval &amp;quot;$2=\&amp;quot;$(echo &amp;quot;$1&amp;quot;| sed &amp;#39;s|/\+|/|g;s|/$||&amp;#39;)\&amp;quot;&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## GetList &amp;quot;string du_output_syntax&amp;quot; (e.g. &amp;quot;1234 &amp;lt;TAB&amp;gt; /path/to/dir&amp;quot;) ##&lt;br /&gt;## Returns a list of files/dirs that are less than media size ##&lt;br /&gt;GetList() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Set Size and Name ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; VARS=(${1//$&amp;#39;\t&amp;#39;/$&amp;#39;\n&amp;#39;})&lt;br /&gt;&amp;nbsp;&amp;nbsp; Size=${VARS[0]}&lt;br /&gt;&amp;nbsp;&amp;nbsp; Name=${VARS[1]}&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ $Size -gt $((MEDIA_SIZE*MB)) ] &amp;amp;&amp;amp; [ -d &amp;quot;$Name&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in $($DU -ba --max-depth=1 &amp;quot;$Name&amp;quot;| gawk -F &amp;#39;\t&amp;#39; &amp;#39;$2 != &amp;quot;&amp;#39;$Name&amp;#39;&amp;quot; {print}&amp;#39;); do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetList &amp;quot;$x&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf &amp;quot;%s\t%s\n&amp;quot; &amp;quot;$Name&amp;quot; &amp;quot;$Size&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## Burn disc volumes defined in TMP_DIR ##&lt;br /&gt;BurnVolumes() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; NumOfDiscs=$(head -n 1 &amp;quot;$TMP_DIR/summary&amp;quot; 2&amp;gt;/dev/null| gawk &amp;#39;{print $8}&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; MEDIA_TYPE=$(head -n 1 &amp;quot;$TMP_DIR/summary&amp;quot; 2&amp;gt;/dev/null| gawk &amp;#39;{print $9}&amp;#39;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Check if metadata exists ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ ! $NumOfDiscs ] &amp;amp;&amp;amp; ErrorExit 11&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## If --resume, reprint distribution summary ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ $RESUME ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PrintStatus &amp;quot;Resuming burn session...&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while read line; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vol=$(echo $line| gawk &amp;#39;$1 == &amp;quot;Disc&amp;quot; {printf &amp;quot;%i\n&amp;quot;, $2}&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ${line:0:1} == &amp;quot; &amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;$line&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp; continue&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ${line:0:1} == &amp;quot;I&amp;quot; ] &amp;amp;&amp;amp; PrintStatus &amp;quot;$line&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ -z $vol ] &amp;amp;&amp;amp; PrintBold &amp;quot;$line\n&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ -e &amp;quot;$TMP_DIR/Volume_$vol&amp;quot; ] &amp;amp;&amp;amp; PrintBold &amp;quot;$line\n&amp;quot; || echo &amp;quot;$line [Done]&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done &amp;lt; &amp;quot;$TMP_DIR/summary&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;## Make ISO files&lt;br /&gt;#&amp;nbsp;&amp;nbsp; for (( DISC_NUM=1; DISC_NUM&amp;lt;=$NumOfDiscs; DISC_NUM++ )); do&lt;br /&gt;&amp;nbsp;&amp;nbsp; DISC_NUM=1&lt;br /&gt;&amp;nbsp;&amp;nbsp; while [ $DISC_NUM -le $NumOfDiscs ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## Volume already burned ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! -e &amp;quot;$TMP_DIR/Volume_$DISC_NUM&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## Burn the volume ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ALL_MKISOFS_OPTS=&amp;quot;$MKISOFS_OPTS -quiet -V ${Label}-${DISC_NUM}_of_$NumOfDiscs -graft-points -exclude-list $EXC_LIST -path-list $TMP_DIR/Volume_$DISC_NUM&amp;nbsp; -o ${Label}_$DISC_NUM.iso&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFS=$&amp;#39; \n&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;mkisofs $ALL_MKISOFS_OPTS&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkisofs $ALL_MKISOFS_OPTS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFS=$&amp;#39;\n&amp;#39;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## Volume successfully burned, delete volume metadata ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm &amp;quot;$TMP_DIR/Volume_$DISC_NUM&amp;quot; &amp;quot;$TMP_DIR/volume_${DISC_NUM}_of_${NumOfDiscs}&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DISC_NUM=$(expr $DISC_NUM + 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Backup complete, wipe out metadata ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; PrintStatus &amp;quot;All $NumOfDiscs backup volumes burned.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; CleanUp&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## CleanUp (removes &amp;quot;$TMP_DIR&amp;quot; entirely) ##&lt;br /&gt;CleanUp() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; PrintStatus &amp;quot;Cleaning up temporary data&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; rm -rf &amp;quot;$TMP_DIR&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Terminate() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp; ErrorExit 17&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;# SCRIPT START&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;## Capture ^C exit code ##&lt;br /&gt;trap Terminate SIGINT&lt;br /&gt;&lt;br /&gt;## Check if utilities are in $PATH ##&lt;br /&gt;# Solaris /bin/du won&amp;#39;t work.&amp;nbsp; Look for GNU du named gdu&lt;br /&gt;[ -f $(which gdu) ] &amp;amp;&amp;amp; DU=$(which gdu) || DU=$(which du)&lt;br /&gt;[ $(uname -s) == &amp;quot;SunOS&amp;quot; -a $(basename $DU) != &amp;quot;gdu&amp;quot; ] &amp;amp;&amp;amp; ErrorExit 2 &amp;quot;gdu&amp;quot;&lt;br /&gt;&lt;br /&gt;CheckPath &amp;#39;gawk&amp;#39; &amp;#39;sed&amp;#39; &amp;#39;printf&amp;#39; &amp;#39;sort&amp;#39; &amp;quot;$DU&amp;quot; &amp;#39;stat&amp;#39; &amp;#39;comm&amp;#39; &amp;#39;mkisofs&amp;#39;&lt;br /&gt;&lt;br /&gt;mkisofs --version | grep -s genisoimage &amp;gt; /dev/null&lt;br /&gt;[ $? -eq 0 ] &amp;amp;&amp;amp; echo &amp;quot;mkisofs is really genisoimage which will not work&amp;quot;&lt;br /&gt;&lt;br /&gt;## Parse command-line arguments ##&lt;br /&gt;[ -z &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; Help &amp;amp;&amp;amp; ErrorExit 12&lt;br /&gt;ParseArgs &amp;quot;$@&amp;quot;&lt;br /&gt;&lt;br /&gt;ValidatePath &amp;quot;$TMP_DIR&amp;quot; &amp;quot;TMP_DIR&amp;quot;&lt;br /&gt;&lt;br /&gt;TMP_DIR=&amp;quot;$TMP_DIR/$PROG_NAME-$USER&amp;quot;&lt;br /&gt;FILE_LIST=&amp;quot;$TMP_DIR/include&amp;quot;&lt;br /&gt;EXC_LIST=&amp;quot;$TMP_DIR/exclude&amp;quot;&lt;br /&gt;&lt;br /&gt;SetMediaSize &amp;quot;$MEDIA_TYPE&amp;quot;&lt;br /&gt;&lt;br /&gt;[ $NOCOLOR ] &amp;amp;&amp;amp; unset C_BOLD C_NORM C_BLUE C_RED&lt;br /&gt;&lt;br /&gt;## No operating modes defined, error ##&lt;br /&gt;[ $((FRESH+NOBURN+RESUME+WIPE)) -ne 1 ] &amp;amp;&amp;amp; Help &amp;amp;&amp;amp; ErrorExit 15&lt;br /&gt;&lt;br /&gt;## If --resume specified, just burn using preexisting metadata ##&lt;br /&gt;[ $RESUME ] &amp;amp;&amp;amp; BurnVolumes &amp;amp;&amp;amp; exit&lt;br /&gt;&lt;br /&gt;## Delete any garbage/leftovers and start fresh ##&lt;br /&gt;[ $WIPE ] &amp;amp;&amp;amp; CleanUp &amp;amp;&amp;amp; exit&lt;br /&gt;&lt;br /&gt;## Check for leftovers, if not clean, ask what to do ##&lt;br /&gt;if [ -e &amp;quot;$TMP_DIR&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; ! YesNo &amp;quot;Leftover metadata detected; DELETE and start fresh?&amp;quot; &amp;quot;n&amp;quot; &amp;amp;&amp;amp; PrintBold &amp;quot;Nothing dnoe... exiting\n&amp;quot; &amp;amp;&amp;amp; exit&lt;br /&gt;&amp;nbsp;&amp;nbsp; CleanUp&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;## Check/Ask for required variables ##&lt;br /&gt;[ ! &amp;quot;$INCLUDE&amp;quot; ] &amp;amp;&amp;amp; Help &amp;amp;&amp;amp; ErrorExit 13&lt;br /&gt;&lt;br /&gt;PrintBold &amp;quot;$C_RED-------------------------------------------------------------------$C_NORM\n&amp;quot;&lt;br /&gt;PrintBold &amp;quot; Do not modify included files until they have been written to disc\n&amp;quot;&lt;br /&gt;PrintBold &amp;quot; Excessive growth may cause volume to overflow disc capacity\n&amp;quot;&lt;br /&gt;PrintBold &amp;quot;$C_RED-------------------------------------------------------------------$C_NORM\n&amp;quot;&lt;br /&gt;&lt;br /&gt;## Start a fresh backup now ##&lt;br /&gt;mkdir -p &amp;quot;$TMP_DIR&amp;quot; || ErrorExit 7 &amp;quot;$TMP_DIR&amp;quot;&lt;br /&gt;&lt;br /&gt;## Convert path lists to arrays ##&lt;br /&gt;INCLUDE=(${INCLUDE//:/$&amp;#39;\n&amp;#39;})&lt;br /&gt;EXCLUDE=(${EXCLUDE//:/$&amp;#39;\n&amp;#39;})&lt;br /&gt;&lt;br /&gt;## Validate all dir/file paths ##&lt;br /&gt;x=0&lt;br /&gt;while [ $x -lt ${#INCLUDE[@]} ]; do ValidatePath &amp;quot;${INCLUDE[$x]}&amp;quot; &amp;quot;INCLUDE[$x]&amp;quot;; x=$(expr $x + 1); done&lt;br /&gt;x=0&lt;br /&gt;while [ $x -lt ${#EXCLUDE[@]} ]; do ValidatePath &amp;quot;${EXCLUDE[$x]}&amp;quot; &amp;quot;EXCLUDE[$x]&amp;quot;; x=$(expr $x + 1); done&lt;br /&gt;&lt;br /&gt;## Remove all dupes ##&lt;br /&gt;for x in &amp;quot;${INCLUDE[@]}&amp;quot;; do INCLUDE=($(echo &amp;quot;${INCLUDE[*]}&amp;quot;| sed &amp;quot;\|^$x/|d&amp;quot;| sort -u)); done&lt;br /&gt;for x in &amp;quot;${EXCLUDE[@]}&amp;quot;; do EXCLUDE=($(echo &amp;quot;${EXCLUDE[*]}&amp;quot;| sed &amp;quot;\|^$x/|d&amp;quot;| sort -u)); done&lt;br /&gt;&lt;br /&gt;## Generate element filelist from INCLUDE paths ##&lt;br /&gt;for x in &amp;quot;${INCLUDE[@]}&amp;quot;; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; GetList &amp;quot;$($DU -bs &amp;quot;$x&amp;quot;)&amp;quot;&lt;br /&gt;done| sort &amp;gt; &amp;quot;$FILE_LIST&amp;quot;&lt;br /&gt;&lt;br /&gt;## Remove excluded items from filelist ##&lt;br /&gt;if [ &amp;quot;${EXCLUDE[*]}&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; for item in $($DU -bs &amp;quot;${EXCLUDE[@]}&amp;quot;); do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item=(${item//$&amp;#39;\t&amp;#39;/$&amp;#39;\n&amp;#39;})&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size=${item[0]}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name=${item[1]}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## *Exact* match ##&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exists=$(gawk -F &amp;#39;\t&amp;#39; &amp;#39;$1 == &amp;quot;&amp;#39;$Name&amp;#39;&amp;quot; || $1 ~ &amp;quot;&amp;#39;$Name&amp;#39;/&amp;quot; {print $1}&amp;#39; &amp;quot;$FILE_LIST&amp;quot;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$Exists&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in $Exists; do sed &amp;quot;\|^$x\t.*|d&amp;quot; -i &amp;quot;$FILE_LIST&amp;quot;; done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while [ ! &amp;quot;$Parent&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$Name&amp;quot; ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name=&amp;quot;${Name%/*}&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=$(gawk -F &amp;#39;\t&amp;#39; &amp;#39;$1 == &amp;quot;&amp;#39;$Name&amp;#39;&amp;quot; {print}&amp;#39; &amp;quot;$FILE_LIST&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=(${Parent//$&amp;#39;\t&amp;#39;/$&amp;#39;\n&amp;#39;})&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PName=${Parent[0]}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSize=${Parent[1]}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewSize=$((PSize-Size))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sed &amp;quot;s|\(^$PName\)\t\(.*$\)|\1\t$NewSize|&amp;quot; -i &amp;quot;$FILE_LIST&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;## Initialize element array ##&lt;br /&gt;ELEMENTS=($(cat &amp;quot;$FILE_LIST&amp;quot;))&lt;br /&gt;&lt;br /&gt;## Fill content elements into disc volumes ##&lt;br /&gt;Current=0; Count=0; CountRange=0; declare -i Size; LastElement=${#ELEMENTS[@]}&lt;br /&gt;&lt;br /&gt;while [ &amp;quot;${ELEMENTS[*]}&amp;quot; ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; line=(${ELEMENTS[$Count]//$&amp;#39;\t&amp;#39;/$&amp;#39;\n&amp;#39;})&lt;br /&gt;&amp;nbsp;&amp;nbsp; Name=&amp;quot;${line[0]}&amp;quot;						# File name&lt;br /&gt;&amp;nbsp;&amp;nbsp; Size=&amp;quot;${line[1]}&amp;quot;						# File size&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ $Size -gt $((MEDIA_SIZE*MB)) ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # file bigger than disc capacity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AEXCLUDE[${#AEXCLUDE[@]}]=&amp;quot;$Name&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add file to auto-exclude list&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unset ELEMENTS[$Count] Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unset ELEMENTS[$Count]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unset Name&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ ! $Name ] &amp;amp;&amp;amp; [ $Count -ne $CountRange ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # skip null elements&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;br /&gt;&amp;nbsp;&amp;nbsp; elif [ $CountRange -ne 0 ] &amp;amp;&amp;amp; [ $Count -eq $CountRange ]; then # end of search range, volume filled&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CountRange=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; let &amp;quot;Count=KeepCount-1&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # go to 1st element that didn&amp;#39;t fit&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; let &amp;quot;Current++&amp;quot;&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;$Current&amp;quot;&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;$((VolSizes[$Current]+Size))&amp;nbsp; $((MEDIA_SIZE*MB))&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; elif [ $((VolSizes[$Current]+Size)) -lt $((MEDIA_SIZE*MB)) ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VolSizes[$Current]=$((${VolSizes[$Current]}+$Size))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VolNames[$Current]=&amp;quot;${VolNames[$Current]}$Name\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unset ELEMENTS[$Count]&lt;br /&gt;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # element too big for current vol&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $CountRange -eq 0 ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # remember element position&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KeepCount=$Count&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; let &amp;quot;CountRange=Count+SEARCH_RANGE&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $CountRange -gt $LastElement ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # don&amp;#39;t set range outside the array!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CountRange=$LastElement&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; let &amp;quot;Count++&amp;quot;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;## Ask if big files should be auto-excluded ##&lt;br /&gt;if [ &amp;quot;$AEXCLUDE&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ ! $AUTO_EXCLUDE ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in &amp;quot;${AEXCLUDE[@]}&amp;quot;; do echo &amp;quot;| $x&amp;quot;; done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YesNo &amp;quot;+ The preceding file[s] will not fit on a $MEDIA_TYPE disc, exclude and continue?&amp;quot; &amp;quot;y&amp;quot; || ErrorExit 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; EXCLUDE=(&amp;quot;${EXCLUDE[@]}&amp;quot; &amp;quot;${AEXCLUDE[@]}&amp;quot;)&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;## Account for excluded files in distribution summary ##&lt;br /&gt;find &amp;quot;${EXCLUDE[@]}&amp;quot; ! -type d 2&amp;gt;/dev/null| sort &amp;gt; &amp;quot;$EXC_LIST&amp;quot;&lt;br /&gt;&lt;br /&gt;## Generate index and filelists ##&lt;br /&gt;x=0;&lt;br /&gt;while [ $x -lt ${#VolNames[@]} ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; BurnName=&amp;quot;Volume_$((x+1))&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # e.g. Volume_1&lt;br /&gt;&amp;nbsp;&amp;nbsp; IndexName=&amp;quot;volume_$((x+1))_of_${#VolNames[@]}&amp;quot;&amp;nbsp; # e.g. volume_1_of_16&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Generate mkisofs graft-points formated filelist ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -e &amp;quot;${VolNames[$x]}&amp;quot;| gawk -F &amp;#39;\n&amp;#39; &amp;#39;$1 {printf &amp;quot;data%s=%s\n&amp;quot;, $1, $1}&amp;#39; &amp;gt; &amp;quot;$TMP_DIR/$BurnName&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Generate volume reference index ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; VolFiles[$x]=$(comm -23 &amp;lt;(find $(echo -e &amp;quot;${VolNames[$x]}&amp;quot;) ! -type d 2&amp;gt;/dev/null| sort) &amp;quot;$EXC_LIST&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;${VolFiles[$x]}&amp;quot; &amp;gt; &amp;quot;$TMP_DIR/$IndexName&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Generate master catalog ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;### $IndexName ###&amp;quot; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/catalog.idx&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo -e &amp;quot;${VolFiles[$x]}\n&amp;quot;| sed &amp;#39;s|^/|&amp;#39;$((x+1))&amp;#39;: /|&amp;#39; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/catalog.idx&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ## Append reference index and master catalog to mkisofs input filelist ##&lt;br /&gt;&amp;nbsp;&amp;nbsp; #echo &amp;quot;$IndexName=$TMP_DIR/$IndexName&amp;quot; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/$BurnName&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;catalog.idx=$TMP_DIR/catalog.idx&amp;quot; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/$BurnName&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; x=$(expr $x + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;## Generate mkisofs exclude list file ##&lt;br /&gt;echo &amp;quot;${EXCLUDE[*]}&amp;quot; &amp;gt; &amp;quot;$EXC_LIST&amp;quot;&lt;br /&gt;&lt;br /&gt;TotalSize=$(echo &amp;quot;${VolSizes[*]}&amp;quot;| gawk &amp;#39;{sum+=$1} END {printf &amp;quot;%.2f&amp;quot;, (sum/&amp;#39;$GB&amp;#39;) }&amp;#39;)&lt;br /&gt;Index_Size=$(stat -c %s &amp;quot;$TMP_DIR/catalog.idx&amp;quot; 2&amp;gt;/dev/null)&lt;br /&gt;TotalFiles=$(echo &amp;quot;${VolFiles[*]}&amp;quot;| grep -c &amp;quot;[^\n]&amp;quot;)&lt;br /&gt;NumOfDiscs=${#VolNames[@]}&lt;br /&gt;&lt;br /&gt;## Overall backup summary ##&lt;br /&gt;SUM_TOTALS=$(printf &amp;quot;Summary: %s files (%s GiB) divided into %s %s disc volumes&amp;quot; &amp;quot;$TotalFiles&amp;quot; &amp;quot;$TotalSize&amp;quot; &amp;quot;$NumOfDiscs&amp;quot; &amp;quot;$MEDIA_TYPE&amp;quot;)&lt;br /&gt;SUM_INC=$(for x in &amp;quot;${INCLUDE[@]}&amp;quot;; do echo &amp;quot;&amp;nbsp;&amp;nbsp; $x&amp;quot;; done)&lt;br /&gt;SUM_EXC=$(for x in &amp;quot;${EXCLUDE[@]}&amp;quot;; do echo &amp;quot;&amp;nbsp;&amp;nbsp; $x&amp;quot;; done)&lt;br /&gt;&lt;br /&gt;PrintBold &amp;quot;$SUM_TOTALS\n&amp;quot;; echo -e &amp;quot;$SUM_TOTALS&amp;quot; &amp;gt; &amp;quot;$TMP_DIR/summary&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PrintStatus &amp;quot;Items Included:&amp;quot; &amp;amp;&amp;amp; echo &amp;quot;$SUM_INC&amp;quot; &amp;amp;&amp;amp; echo -e &amp;quot;Items Included:\n$SUM_INC&amp;quot; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/summary&amp;quot;&lt;br /&gt;[ $EXCLUDE ] &amp;amp;&amp;amp; PrintStatus &amp;quot;Items Excluded:&amp;quot; &amp;amp;&amp;amp; echo &amp;quot;$SUM_EXC&amp;quot; &amp;amp;&amp;amp; echo -e &amp;quot;Items Excluded:\n$SUM_EXC&amp;quot; &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/summary&amp;quot;&lt;br /&gt;&lt;br /&gt;## Disc volume distribution summary ##&lt;br /&gt;x=0&lt;br /&gt;while [ $x -lt $NumOfDiscs ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; DISC_NUM=$((x+1))&lt;br /&gt;&amp;nbsp;&amp;nbsp; DISC_FILES=$(echo &amp;quot;${VolFiles[$x]}&amp;quot;| grep -c &amp;quot;[^\n]&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; VIDX_SIZE=$(stat -c %s &amp;quot;$TMP_DIR/volume_${DISC_NUM}_of_${NumOfDiscs}&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; DISC_SIZE=$(echo &amp;quot;${VolSizes[$x]}&amp;quot; $Index_Size $VIDX_SIZE $MB| gawk &amp;#39;{printf &amp;quot;%f&amp;quot;, ($1+$2+$3)/$4 }&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; DISC_FREE=$(echo $MEDIA_SIZE $INDEX_SIZE $DISC_SIZE| gawk &amp;#39;{printf &amp;quot;%i&amp;quot;, $1+$2-$3}&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; PRINT_DIST=&amp;quot;$PRINT_DIST$(printf &amp;quot;Disc %3d: %5d files -&amp;gt; %8.2f MiB, %4i MiB free&amp;quot; &amp;quot;$DISC_NUM&amp;quot; &amp;quot;$DISC_FILES&amp;quot; &amp;quot;$DISC_SIZE&amp;quot; &amp;quot;$DISC_FREE&amp;quot;)\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; [ $DISC_FREE -lt 1 ] &amp;amp;&amp;amp; ErrorExit 14 $DISC_NUM&lt;br /&gt;&amp;nbsp;&amp;nbsp; x=$(expr $x + 1 )&lt;br /&gt;done; PrintBold $PRINT_DIST&lt;br /&gt;&lt;br /&gt;## Save distribution summary ##&lt;br /&gt;echo -ne $PRINT_DIST &amp;gt;&amp;gt; &amp;quot;$TMP_DIR/summary&amp;quot;&lt;br /&gt;&lt;br /&gt;## If --noburn specified, exit now ##&lt;br /&gt;[ $NOBURN ] &amp;amp;&amp;amp; PrintStatus &amp;quot;Backup metadata generated.&amp;quot; &amp;amp;&amp;amp; exit&lt;br /&gt;&lt;br /&gt;## Ask whether to burn now or leave metadata for later ##&lt;br /&gt;YesNo &amp;quot;\nBegin burn sequence now?&amp;quot; &amp;quot;y&amp;quot; &amp;amp;&amp;amp; BurnVolumes&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;# SCRIPT END&lt;br /&gt;#--------------------------------------------------------------------&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-1526790590600254257?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/1526790590600254257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=1526790590600254257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1526790590600254257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1526790590600254257'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2009/07/bak2disc-tpb.html' title='bak2disc-tpb'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-8092491350980698790</id><published>2009-07-29T09:16:00.005-04:00</published><updated>2009-07-29T10:11:13.426-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='storage backup archive rant'/><title type='text'>Archiving a tree to DVD with bak2disc</title><content type='html'>&lt;a href="http://bak2disc.sourceforge.net/"&gt;bak2disc&lt;/a&gt; by dorphell is a script to create DVDs of a directory tree, preserving the structure.  It will create an index file on the DVD so you can find which DVD the files are on.&lt;br /&gt;&lt;br /&gt;I modified the script to create .iso files.  You can also feed the file lists created to tar.  So I modified the script to create lists contining X GB of data.  I feed that to tar and can tar files to a DLT, SDLT, LTO, etc tape.&lt;br /&gt;&lt;br /&gt;I sent an email and didn't get a reply.  I'll try to get a version up somewhere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-8092491350980698790?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/8092491350980698790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=8092491350980698790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8092491350980698790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8092491350980698790'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2009/07/archiving-tree-to-dvd-with-bak2disc.html' title='Archiving a tree to DVD with bak2disc'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-6127409569808749653</id><published>2008-06-11T12:58:00.001-04:00</published><updated>2008-06-16T12:44:32.008-04:00</updated><title type='text'>Micro Irrigation</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Article showing &lt;a href='http://www.dripirrigation.com/newsletter_view.php?newsletter_id=2004-01'&gt;typical layout&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.ehow.com/how_2214597_.html'&gt;HOWTO&lt;/a&gt; install a system&lt;br/&gt;From &lt;a href='http://www.ext.colostate.edu/PUBS/Garden/04702.html'&gt;Colorado State&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.rainbird.com/ag/index.htm'&gt;RainBird&lt;/a&gt; automation&lt;br/&gt;&lt;a href='http://www.irrigationtutorials.com/'&gt;Tutorials&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.irrigro.com/'&gt;Irrigo&lt;/a&gt; systems - nice picture&lt;br/&gt;&lt;a href='http://www.dripworksusa.com/'&gt;Drip Works&lt;/a&gt; - end user vendor&lt;br/&gt;&lt;a href='http://www.toro.com/sprinklers/bsd/index.html'&gt;Toro&lt;/a&gt; Micro Irrigation&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-6127409569808749653?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/6127409569808749653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=6127409569808749653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6127409569808749653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6127409569808749653'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/06/micro-irrigation.html' title='Micro Irrigation'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-3854221430222509044</id><published>2008-06-04T16:03:00.001-04:00</published><updated>2008-07-03T16:05:48.488-04:00</updated><title type='text'>Gardening</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Just a few quick sites&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.thisgardenisillegal.com/2006/05/7-deadly-homemade-weed-killers.html'&gt;Getting rid of weeds&lt;/a&gt; from &lt;a href='http://www.thisgardenisillegal.com/'&gt;http://www.thisgardenisillegal.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://howto.wired.com/wiki/Compost'&gt;Composting&lt;/a&gt; &lt;br/&gt;&lt;br/&gt;&lt;a href='http://myfolia.com/'&gt;http://myfolia.com/&lt;/a&gt; is a garden tracking journal&lt;br/&gt;&lt;br/&gt;According to &lt;a href='http://www.garden.org/'&gt;http://www.garden.org&lt;/a&gt;, We are &lt;a href='http://www.garden.org/zipzone/index.php'&gt;Zone 6a&lt;/a&gt;.  And they have a nice &lt;a href='http://www.garden.org/plantfinder/index.php?q=search&amp;amp;hardiness=6'&gt;plant zone finder&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Oh My!!  &lt;a href='http://www.geocities.com/GardenMon/GardenMon.html'&gt;GardenMon&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-3854221430222509044?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/3854221430222509044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=3854221430222509044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3854221430222509044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3854221430222509044'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/06/gardening_04.html' title='Gardening'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-1593464894903284682</id><published>2008-02-08T16:29:00.001-05:00</published><updated>2008-02-08T16:29:53.869-05:00</updated><title type='text'>Unsolicited phone calls</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;br/&gt;From &lt;a href='http://politics.slashdot.org/comments.pl?sid=445934&amp;amp;cid=22341498'&gt;Slashdot:&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;i/&gt;&lt;br /&gt;Here is an effective (though laborious) way to deal with that.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;1. Register on National Do-Not-Call list.&lt;br/&gt;&lt;br /&gt;2. Wait 3 month beginning period.&lt;br/&gt;&lt;br /&gt;3. Get caller ID.&lt;br/&gt;&lt;br /&gt;4. Wait for another call.&lt;br/&gt;&lt;br /&gt;5. Be pleasant to the person, if you can order something cheap, say $10, do it.&lt;br/&gt;&lt;br /&gt;6. Get their address and phone number as you place the order.&lt;br/&gt;&lt;br /&gt;7. Photograph the Caller ID display as evidence.&lt;br/&gt;&lt;br /&gt;8. Take good notes including date, time, person talked to, company name, as more evidence.&lt;br/&gt;&lt;br /&gt;9. Copy the bill you receive for $10 as conclusive evidence of marketing intent.&lt;br/&gt;&lt;br /&gt;10. Go to your county courthouse, lodge a small claim for $500 for a telemarketing violation.&lt;br/&gt;&lt;br /&gt;11. Send them proper notice they are being sued.&lt;br/&gt;&lt;br /&gt;12. Since they are often out of state, they won't show and you get default judgment.&lt;br/&gt;&lt;br /&gt;13. If they do show, you have proof of listing, notice, call, and call purpose.&lt;br/&gt;&lt;br /&gt;14. For bonus dollars, ($500 per item) look into whether they have,&lt;br /&gt;train to, practice and publish upon demand the required company calling&lt;br /&gt;policies.&lt;br/&gt;&lt;br /&gt;15. Profit!!!&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-1593464894903284682?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/1593464894903284682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=1593464894903284682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1593464894903284682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1593464894903284682'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/02/unsolicited-phone-calls.html' title='Unsolicited phone calls'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-7354961205527470991</id><published>2008-02-03T19:51:00.000-05:00</published><updated>2008-02-03T20:32:17.450-05:00</updated><title type='text'>Podcasting with an M-Audio Microtrack</title><content type='html'>Think of the MT (Microtrack) as you would a cassette recorder.  Don't worry about listening.  That's for later on the computer.  The MT is to capture the sound.  Much you'd use a camera to take lots of pictures of an event.  You'll select relevant photos for your presentation, possibly editing and cleaning them up.  You might change the order of the photos to better fit your presentation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure the battery is charged up.&lt;br /&gt;&lt;br /&gt;Use the electret microphone on the wire, not the T mic.  This lets you put the microphone near the sound.&lt;br /&gt;&lt;br /&gt;On one side of the MT (microtrack) is a L/M/H switch.  Put it on M for Microphone.&lt;br /&gt;Put the microphone in its jack.&lt;br /&gt;&lt;br /&gt;Press record to start recording.  Do a test recording to check sound levels.&lt;br /&gt;&lt;br /&gt;On the screen you'll see 2 bars, labeled L and R, for Left and Right.&lt;br /&gt;The levels are the sensitivity of the sound.  You want to adjust the level or sensitivity of the microphone so you get all the sound but not so sensitive that the sound is distorted.&lt;br /&gt;&lt;br /&gt;Too low a level &amp;amp; the mic will not pickup (hear) any sound.  Too high a level and there will be too much static and distortion.  You might be able to hear someone's heartbeat ;-)&lt;br /&gt;&lt;br /&gt;You want to adjust the levels so they are near the right side, but not hitting the end.  Read your script while doing this until the levels are adjusted. &lt;br /&gt;&lt;br /&gt;Hit record again to stop the recording.  The MT will display "Writing" as it saves the recording as an MP3 file.&lt;br /&gt;&lt;br /&gt;I'd suggest keeping a list of what you record:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Sound check&lt;/li&gt;&lt;li&gt;Script take #1&lt;/li&gt;&lt;li&gt;Script take #2&lt;br /&gt;&lt;/li&gt;&lt;li&gt;recording of speech to students&lt;/li&gt;&lt;/ol&gt;The 1st MP3 file on the MT is 1), etc...&lt;br /&gt;&lt;br /&gt;Now that you've recorded, bring the MT over to the computer.  Plug the USB cable into the MT and the computer.&lt;br /&gt;&lt;br /&gt;The MT will appear as a disk called "MICRODRIVE" with all your recordings named file001.mp3, file002.mp3, etc.  There is one for each time you pressed rec to start &amp;amp; then rec to end.  Your log will help you figure out which is which.&lt;br /&gt;&lt;br /&gt;They might not start number 001, but they will be numbered sequentially.&lt;br /&gt;&lt;br /&gt;Create a folder in your My Documents folder and copy the files from the MICRODRIVE into it.  Do not erase them from the MICRODRIVE yet.  These are your originals.  Some people make a CD of them so they have a read only copy.&lt;br /&gt;&lt;br /&gt;Now you have your sound files to edit.  MT supplies Audacity which is a good choice.  You can copy it from the CD or download it off the internet.&lt;br /&gt;&lt;br /&gt;I've never used Audacity, but basically it lets you edit your sound files.  You can filter it to change the sound if your original recording wasn't optimal.  Mostly, you'll be cutting out dead air and splicing  snippets into place.  You might find splicing the 1st half of take #2 with the 2nd half of take #3 to be the best choice.  The better your original, the less to do latter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-7354961205527470991?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/7354961205527470991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=7354961205527470991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7354961205527470991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7354961205527470991'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/02/podcasting-with-m-audio-microtrack.html' title='Podcasting with an M-Audio Microtrack'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-4500366724191847385</id><published>2008-01-15T13:51:00.001-05:00</published><updated>2008-01-30T10:25:29.781-05:00</updated><title type='text'>Linux Video Editing</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://lwn.net/Articles/261820/'&gt;The Grumpy Editor's video journey, part 1 [LWN.net]&lt;/a&gt;&lt;br/&gt;&lt;a href='http://lwn.net/Articles/263387/'&gt;The Grumpy Editor's video journey part 3: DVD authoring [LWN.net]&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-4500366724191847385?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/4500366724191847385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=4500366724191847385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4500366724191847385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4500366724191847385'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/01/linux-video-dditing.html' title='Linux Video Editing'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5534322547447293509</id><published>2008-01-15T13:40:00.001-05:00</published><updated>2008-01-15T13:41:47.037-05:00</updated><title type='text'>Smart Network Switches</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.enterprisenetworkingplanet.com/nethub/article.php/3720106'&gt;A Switch Even a Penguin Can Love&lt;/a&gt; Part 1&lt;br/&gt; &lt;br/&gt;&lt;a href='http://www.enterprisenetworkingplanet.com/nethub/article.php/3721501'&gt;A Switch Even a Penguin Can Love: QoS, User Management and More&lt;/a&gt; Part 2&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5534322547447293509?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5534322547447293509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5534322547447293509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5534322547447293509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5534322547447293509'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2008/01/smart-network-switches.html' title='Smart Network Switches'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-1368529221031191423</id><published>2007-12-28T16:46:00.001-05:00</published><updated>2007-12-28T16:47:23.525-05:00</updated><title type='text'>Free Media sources</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://mashable.com/2007/11/12/public-domain-ebook-sources/'&gt;20+ Places for Public Domain E-Books&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.archive.org/details/movies'&gt;Internet Archive: Moving Image Archive&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-1368529221031191423?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/1368529221031191423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=1368529221031191423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1368529221031191423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1368529221031191423'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/12/free-media.html' title='Free Media sources'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-6823251910509274520</id><published>2007-12-27T15:56:00.001-05:00</published><updated>2007-12-28T16:46:10.984-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='scan'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ocr'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='scsi'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><category scheme='http://www.blogger.com/atom/ns#' term='data input'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='fly'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='tape'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>TiVo</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;b&gt;Tivo Desktop&lt;br/&gt;&lt;/b&gt;Running on Windows.  Grabs the shows to a local VM disk.  It won't save to a mapped drive.  Lame.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;VideoReDo&lt;/b&gt;&lt;br/&gt;Converts the .TiVo to an mpg that the TiVo can view.  Also strips commercials.  Costs about $30.  Windows.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;TVAP&lt;/b&gt;&lt;br/&gt;Watches the local VM disk for new shows.  It then runs VideoReDo on the shows and saves them to the file server.  It creates a text file with the show metadata in it.  Windows.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;pyTiVo&lt;/b&gt;&lt;br/&gt;Publishes the shows on the file server for the TiVo to view again.&lt;br/&gt;&lt;br/&gt;Runs on the file server (Solaris) but could be anything that can run python and ffmpeg (mplayer?).  Unix, MacOSX, Windows.  Uses the show metadata from TVAP.&lt;br/&gt;&lt;br/&gt;Apparently pyTivo doesn't like "-" in the name of a share.  Anything I tried to transfer from such a share would pause after 10 seconds and eventually kill the transfer.  Removing the "-" from the sharename fixes it.&lt;br/&gt;&lt;br/&gt;pyTivo has a version that will create a share for every subfolder you have.  It works well.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Encoding and Ripping&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://lifehacker.com/software/lifehacker-top-10/top-10-free-video-rippers-encoders-and-converters-316478.php'&gt;Lifehacker Top 10: Top 10 Free Video Rippers, Encoders, and Converters&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-6823251910509274520?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/6823251910509274520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=6823251910509274520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6823251910509274520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6823251910509274520'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/12/tivo.html' title='TiVo'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2233877780823873335</id><published>2007-12-27T15:47:00.001-05:00</published><updated>2007-12-27T15:47:01.573-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='diy'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>DIY tools</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;br/&gt;&lt;a href='http://www.instructables.com/id/Build-a-Microwave-Transformer-Homemade-Welder/'&gt;Build a Microwave Transformer Homemade Welder&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2233877780823873335?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2233877780823873335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2233877780823873335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2233877780823873335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2233877780823873335'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/12/diy-tools_1795.html' title='DIY tools'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-4149848620890229819</id><published>2007-12-27T15:13:00.001-05:00</published><updated>2007-12-27T15:13:16.836-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='scan'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ocr'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='clutter'/><category scheme='http://www.blogger.com/atom/ns#' term='scsi'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><category scheme='http://www.blogger.com/atom/ns#' term='data input'/><category scheme='http://www.blogger.com/atom/ns#' term='organize'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='fly'/><category scheme='http://www.blogger.com/atom/ns#' term='tape'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='videoredo'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='gtd'/><title type='text'>Organizing blogs</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I've been reading a number of blogs about organizing, GTD (Getting Things Done) and dealing with clutter.  Here's a list of links:&lt;br/&gt;&lt;br/&gt;&lt;a href='http://unclutterer.com/'&gt;Unclutterer&lt;/a&gt; - and dealing with &lt;a href='http://unclutterer.com/2007/11/05/reader-question-how-store-favorite-correspondence/'&gt;paper clutter&lt;/a&gt;&lt;br/&gt;Declutter an area from &lt;a href='http://www.goodhousekeeping.com/home/clean-fast'&gt;Good housekeeping&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.43folders.com/'&gt;43 Folders&lt;/a&gt; deals with GTD and is a source of the hipster PDA (paper based)&lt;br/&gt;&lt;a href='http://lifehacker.com/'&gt;Lifehacker&lt;/a&gt; has tips on GTD and changing your life habits&lt;br/&gt;&lt;a href='http://zenhabits.net/2007/07/simplifying-david-allens-complicated-gtd-setup/'&gt;Zen Habit's simplification of GTD&lt;/a&gt; Nice graphic of flow&lt;br/&gt;&lt;br/&gt;&lt;a href='http://zenhabits.net/2007/11/top-10-resources-and-inspirations-for-decluttering-your-home/'&gt;&lt;span style='text-decoration: underline;'&gt;Resources for Decluttering your home&lt;/span&gt;&lt;/a&gt; from &lt;a title='Linkification: http://zenhabits.net' href='http://zenhabits.net/' class='linkification-ext'&gt;http://zenhabits.net&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.43folders.com/2007/11/14/wwld-keeping-connected'&gt;WWLD? No. 2: Keeping Connected | 43 Folders&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.43folders.com/2007/11/28/wwld-3-organizing'&gt;WWLD? No. 3: Organizing your environment | 43 Folders&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.43folders.com/2007/12/06/wwld-living-your-life'&gt;WWLD? No. 4: Living Your Life | 43 Folders&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-4149848620890229819?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/4149848620890229819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=4149848620890229819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4149848620890229819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4149848620890229819'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/12/organizing-blogs.html' title='Organizing blogs'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5381109086009035479</id><published>2007-12-05T10:14:00.000-05:00</published><updated>2008-01-30T10:25:53.893-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='scan'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ocr'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='scsi'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><category scheme='http://www.blogger.com/atom/ns#' term='data input'/><category scheme='http://www.blogger.com/atom/ns#' term='monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='fly'/><category scheme='http://www.blogger.com/atom/ns#' term='tape'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Sysadmin</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.brendangregg.com/index.html'&gt;Brendan Gregg&lt;/a&gt; has a ton of Solaris tools and stuff that works elsewhere.  Portping can substitute where pings are not returned but another service is.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://clonezilla.sourceforge.net/wiki/'&gt;Clonezilla&lt;/a&gt; is a ghost clone&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.wikihow.com/Make-a-Network-Cable'&gt;How to Make a Network Cable&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5381109086009035479?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5381109086009035479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5381109086009035479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5381109086009035479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5381109086009035479'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/12/sysadmin-performance.html' title='Sysadmin'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-6116501336013449244</id><published>2007-10-26T10:25:00.000-04:00</published><updated>2007-10-26T13:53:28.392-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='freeware'/><title type='text'>Macintosh software</title><content type='html'>&lt;a href="http://xstrimmer.telnet7.net/index.xhtml"&gt;XStrimmer&lt;/a&gt; - trim universal binaries &amp;amp; other languages from apps&lt;br /&gt;&lt;a href="http://www.macports.org/"&gt;Macports&lt;/a&gt; - Free software for Mac.  was darwinports&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-6116501336013449244?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/6116501336013449244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=6116501336013449244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6116501336013449244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/6116501336013449244'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/10/macintosh-software.html' title='Macintosh software'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-7181260158222885330</id><published>2007-10-26T09:11:00.000-04:00</published><updated>2007-10-26T09:14:42.894-04:00</updated><title type='text'>More SCSI issues</title><content type='html'>I got another card with an LSI 53c895.  It should be supported by the glm driver in 64 bit solaris.  *sigh* Nope.&lt;br /&gt;&lt;br /&gt;So now, I've got the Adaptec 2940au in the Linux box.  It's seen but not the tape drive.  I have a 2940U2 card to try also.&lt;br /&gt;&lt;br /&gt;When did SCSI get difficult?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-7181260158222885330?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/7181260158222885330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=7181260158222885330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7181260158222885330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7181260158222885330'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/10/more-scsi-issues.html' title='More SCSI issues'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2059130404204610295</id><published>2007-10-19T09:30:00.000-04:00</published><updated>2007-10-26T09:11:54.641-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scsi'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='tape'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Solaris 10 x86 SCSI cards</title><content type='html'>I just got a cast off DLT 7000 drive to put in my Solaris x86 box.  I've had SCSI on most of my systems dating back to a 286 with an Adaptec 1542b card.  I ran Minix and DOS at the time with a Syquest 88MB drive.  I often used that drive on Macintosh at a nearby college to download from simtel20.&lt;br /&gt;&lt;br /&gt;Later I got a 486 and a 2GB 4mm DAT drive.  I used the same card.  The syquest and DAT worked with versions of tar for MacOS 7, SunOS 4.x, OS/2, DOS and Linux.  Back when my drives were &lt; 500MB, 2GB was quite large.&lt;br /&gt;&lt;br /&gt;Along the way, I picked up other SCSI adapters; they were new or salvaged.  I have a Symbios 53c825, an Adaptec 2940u, a Compaq Ultra 2.   I thought they'd work great in my AMD dual core Solaris box.&lt;br /&gt;&lt;br /&gt;*sigh*.  The Symbios uses the ncrs driver which is 32 bit only.  The 2940 uses the adp which is only 32bit.  The Compaq uses the cadp which is also only 32 bit.  They will work in Linux and probably MacOSX.  I've found some stuff on the net about the adp and cadp drivers having issues and the glm driver for LSI chips is in house.  The glm driver is the only one of the lot to be 64 bits.&lt;br /&gt;&lt;br /&gt;So, for Solaris, I need a new card.  The best bet I think is an LSI (ne symbios) card that uses the glm driver.  The 53c825 isn't supported by glm, but many older/newer ones are.  Sun used LSI chips.  Some of the LSI cards are much cheaper then the Adaptec (the adp320 driver will work) I would need to get.  I'm getting one on eBay at 1/3 the price of the Adaptecs that would work.  More information later.&lt;br /&gt;&lt;br /&gt;I could run backups on my Linux box, but I want to have the drive local to the disks, etc.   Gigabit is about 60 MB/s and the drive is 8 (5?) MB/s so there's no lack of bandwidth, but all the data is on the Solaris file server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2059130404204610295?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2059130404204610295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2059130404204610295' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2059130404204610295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2059130404204610295'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/10/solaris-10-x86-scsi-cards.html' title='Solaris 10 x86 SCSI cards'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5880264225444571855</id><published>2007-09-11T08:56:00.000-04:00</published><updated>2007-09-11T12:36:48.692-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><title type='text'>Today's links</title><content type='html'>&lt;a href="http://www.dvdflick.net/"&gt;DVD Flick&lt;/a&gt; - DVD Authoring w/ chapterising&lt;br /&gt;&lt;a href="http://www.getlibra.com/"&gt;Libra&lt;/a&gt; - Personal media inventory w/ lending.  Barcode reading via webcam, cuecat&lt;br /&gt;ZFS &lt;a href="http://blogs.sun.com/constantin/entry/7_easy_tips_for_zfs"&gt;quick guide&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://blogs.sun.com/timf/entry/zfs_automatic_snapshots_0_8"&gt;Automatic ZFS snapshotting&lt;/a&gt; - Not quite Netapp, but better then anything else out there IMO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5880264225444571855?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5880264225444571855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5880264225444571855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5880264225444571855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5880264225444571855'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/09/todays-links.html' title='Today&apos;s links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-8064932827491910211</id><published>2007-09-07T09:15:00.000-04:00</published><updated>2007-09-07T09:57:22.046-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><title type='text'>Podcasting links</title><content type='html'>A friend of my wife is interested in starting podcasting so I googled some links.&lt;br /&gt;She has a Macintosh so I'm focusing on Mac tools&lt;br /&gt;&lt;br /&gt;O'Reilly Digital Media &lt;a href="http://digitalmedia.oreilly.com/2005/07/20/WhatIsPodcasting.html"&gt;Article&lt;/a&gt; - a good site for all digital media&lt;br /&gt;&lt;a href="http://audacity.sourceforge.net/"&gt;Audacity&lt;/a&gt; is a good audio editor.  It's cross platform and open source too.  Free.&lt;br /&gt;&lt;a href="http://www.engadget.com/2004/10/05/engadget-podcast-001-10-05-2004-how-to-podcasting-get/"&gt;Engadget&lt;/a&gt; has a HOWTO that mentions free tools for receiving and creating&lt;br /&gt;A Linux setup for &lt;a href="http://www.marcelgagne.com/cwl122004.html"&gt;Recording Video&lt;/a&gt; - many of the tools are available for MacOSX&lt;br /&gt;From &lt;a href="http://radio.about.com/od/podcastin1/a/aa030805a.htm"&gt;about.com&lt;/a&gt; - more info&lt;br /&gt;&lt;a href="http://www.ilounge.com/"&gt;iLounge&lt;/a&gt; is a cool iPod site with a &lt;a href="http://www.ilounge.com/index.php/articles/comments/beginners-guide-to-podcast-creation/"&gt;Beginner's Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of these articles mention Free/Open Source software.  You don't need to buy software to podcast.  You can get by with a microphone, a computer, free software and maybe a webcam.  Better microphones and a digital camcorder are obvious upgrades.&lt;br /&gt;&lt;br /&gt;There might be Legal issues.  &lt;a href="http://wiki.creativecommons.org/Podcasting_Legal_Guide"&gt;This&lt;/a&gt; is the Creative Commons take on it.  It's based on &lt;a href="http://www.eff.org/"&gt;EFF's&lt;/a&gt; &lt;a href="http://www.eff.org/bloggers/"&gt;Guide&lt;/a&gt;.  The EFF is all about protecting your legal rights in digital media.  Since you're publishing, you care about &lt;a href="http://www.eff.org/bloggers/lg/faq-ip.php"&gt;Intellectual Property&lt;/a&gt; (IP) and Copyright.  &lt;a href="http://www.lessig.org/"&gt;Lawrence Lessig&lt;/a&gt; is worth paying attention to.&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;I'd focus on creating the content, the audio MP3.  I'd leave distribution to one of the podcasting sites.  The &lt;a href="http://radio.about.com/od/podcastin1/a/aa030805a.htm"&gt;about.com&lt;/a&gt; link has some sites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-8064932827491910211?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/8064932827491910211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=8064932827491910211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8064932827491910211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8064932827491910211'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/09/podcasting-links.html' title='Podcasting links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5180900617877893720</id><published>2007-09-07T09:06:00.000-04:00</published><updated>2007-09-07T09:15:25.834-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data input'/><category scheme='http://www.blogger.com/atom/ns#' term='scan'/><category scheme='http://www.blogger.com/atom/ns#' term='fly'/><category scheme='http://www.blogger.com/atom/ns#' term='ocr'/><title type='text'>Fly Fusion Pen</title><content type='html'>My wife &amp; I got a Fly Fusion pen to try.  You write on special paper and the pen records your writing.&lt;br /&gt;&lt;br /&gt;You can hook it up to a USB cable and import the drawing &amp; writing.  Output is an image or OCR will transform the text into a document.&lt;br /&gt;&lt;br /&gt;In addition, the pen had a speaker and headphone jack to play music and give feedback for other functions.  There is a music playing app: You draw a keyboard and can then play it with the pen.  It will translate spanish writing to english speaking or vice versa.  A calculator.&lt;br /&gt;&lt;br /&gt;Your lettering needs to be block style like elementry school.  I have pretty bad handwriting and decent block lettering.  The OCR works well for me.&lt;br /&gt;&lt;br /&gt;It's targeted at kids for homework and the applications are geared that way.  For note taking, I think it's good for business use too.  It's less obtrusive in a meeting then a laptop or especially a table computer.  It's quicker then using a Palm.  It captures drawings better then both.  At $70 plus $8 per notebook, it's a nobrainer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5180900617877893720?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5180900617877893720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5180900617877893720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5180900617877893720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5180900617877893720'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/09/fly-fusion-pen.html' title='Fly Fusion Pen'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2740335547306658109</id><published>2007-09-05T09:10:00.000-04:00</published><updated>2007-09-05T09:13:15.160-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><title type='text'>pyTivo issues</title><content type='html'>Apparently pyTivo doesn't like "-" in the name of a share.  Anything I tried to transfer from such a share would pause after 10 seconds and eventually kill the transfer.  Removing the "-" from the sharename fixes it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2740335547306658109?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2740335547306658109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2740335547306658109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2740335547306658109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2740335547306658109'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/09/pytivo-issues.html' title='pyTivo issues'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-4589206957174841259</id><published>2007-08-31T09:22:00.000-04:00</published><updated>2007-08-31T09:34:35.275-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><category scheme='http://www.blogger.com/atom/ns#' term='videoredo'/><title type='text'>TiVo links</title><content type='html'>&lt;a href="http://pytivo.armooo.net/" rel="nofollow" target="_blank"&gt;pyTivo&lt;/a&gt;  is discussed &lt;a href="http://www.videoredo.net/msgBoard/showthread.php?t=2291"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;a href="ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/"&gt;TVAP&lt;/a&gt; is discussed &lt;a href="http://www.videoredo.net/msgBoard/forumdisplay.php?f=13"&gt;here&lt;/a&gt; and &lt;a href="http://www.tivocommunity.com/tivo-vb/showthread.php?t=359550"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tivocommunity.com/tivo-vb/showthread.php?t=359550"&gt;&lt;/a&gt;&lt;a href="http://www.videoredo.net/msgBoard/showthread.php?t=2291"&gt;&lt;/a&gt;&lt;a href="http://pytivo.armooo.net/" rel="nofollow" target="_blank"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-4589206957174841259?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/4589206957174841259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=4589206957174841259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4589206957174841259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4589206957174841259'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/tivo-links.html' title='TiVo links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-769512832587683682</id><published>2007-08-31T09:00:00.000-04:00</published><updated>2007-08-31T09:09:48.824-04:00</updated><title type='text'>More post TiVo processing</title><content type='html'>I found an app called TiVo-VideoReDo-AutoProcessor or TVAP.  It's a wrapper for VideoReDo that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;watches a folder for transfers&lt;/li&gt;&lt;li&gt;Processes the files after transfer&lt;/li&gt;&lt;ul&gt;&lt;li&gt;with Ad-detective&lt;/li&gt;&lt;li&gt;or QSP&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Saves the result to an mpg file&lt;/li&gt;&lt;/ul&gt;The VideoReDo forums discuss it &amp; you can get it from there.&lt;br /&gt;&lt;br /&gt;I'd prefer a .tivo save as, but an mpg with commercials semi automatically stripped gets me 80% of the way.&lt;br /&gt;&lt;br /&gt;Actually, if I can get pyTiVo to transfer the .mpg a bett better &amp;amp;/or keep the .TiVo metadata in the .mpg, I'd be ok with .mpg.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-769512832587683682?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/769512832587683682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=769512832587683682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/769512832587683682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/769512832587683682'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/more-post-tivo-processing.html' title='More post TiVo processing'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5323463549391244802</id><published>2007-08-17T08:54:00.000-04:00</published><updated>2007-08-17T16:04:25.528-04:00</updated><title type='text'>Cool DIY stuff</title><content type='html'>&lt;a href="http://www.instructables.com/id/E9WT5FSF54HOCV4/"&gt;Solar water heater&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.instructables.com/id/E9WT5FSF54HOCV4/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5323463549391244802?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5323463549391244802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5323463549391244802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5323463549391244802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5323463549391244802'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/cool-diy-stuff.html' title='Cool DIY stuff'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-7600318715387802327</id><published>2007-08-16T10:53:00.000-04:00</published><updated>2007-08-16T11:04:22.076-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Safer  Windows</title><content type='html'>&lt;a href="http://techsupportalert.com/safe-surfing.htm"&gt;Safe Surfing&lt;/a&gt; Drop admin privileges before running a browser&lt;br /&gt;&lt;a href="http://www.sandboxie.com/"&gt;Disable disk writes&lt;/a&gt; Sandboxie intercepts writes from an app and saves them in a cache.  That cache goes away when you quit the app.  Reads come from the disk though&lt;br /&gt;&lt;a href="http://www.revouninstaller.com/"&gt;Uninstaller&lt;/a&gt; Complete unistaller&lt;br /&gt;&lt;a href="http://www.revouninstaller.com/"&gt;&lt;/a&gt;&lt;a href="http://www.sandboxie.com/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-7600318715387802327?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/7600318715387802327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=7600318715387802327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7600318715387802327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7600318715387802327'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/safer-windows.html' title='Safer  Windows'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2158553994546737946</id><published>2007-08-14T09:19:00.001-04:00</published><updated>2007-08-14T09:20:07.905-04:00</updated><title type='text'>VideoReDo</title><content type='html'>It works directly on .TiVo files if you have windows media player installed.  Great tool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2158553994546737946?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2158553994546737946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2158553994546737946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2158553994546737946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2158553994546737946'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/videoredo.html' title='VideoReDo'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-4064029162267936165</id><published>2007-08-13T08:29:00.000-04:00</published><updated>2007-08-13T08:33:19.257-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='tivo'/><category scheme='http://www.blogger.com/atom/ns#' term='commercials'/><title type='text'>Tivo videos</title><content type='html'>The Mac transfer is taking too long.  Ok, I'm punting.  I running TiVo Desktop in VMware.  I can't save to a network drive so I'll have to manually move files from the "local" disk to the server.&lt;br /&gt;&lt;br /&gt;On another note, VideoReDo works very well.  I have to tivodecode to mpg and rename the saved .tivo to .mpg.  But it's great for stripping commercials out.  I think I'm going to buy it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-4064029162267936165?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/4064029162267936165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=4064029162267936165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4064029162267936165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/4064029162267936165'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/tivo-videos.html' title='Tivo videos'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-510621306797191781</id><published>2007-08-08T14:57:00.000-04:00</published><updated>2007-08-08T15:44:19.113-04:00</updated><title type='text'>TiVo Video and togo</title><content type='html'>I have two TiVos and a file server running Solaris at home.  I also have a Linux server running VMware with XPpro in it.  Finally I have a PPC Mac running OSX 10.4 Tiger.  That should cover the gaumet 'eh?  Oh, I have Gigabit ethernet (it's not that expensive anymore!).  If only the TiVo wasn't limited to USB 2.0 10/100 adapters.  I get 60MB/s between the Linux and Solaris box.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Transfer&lt;/span&gt;&lt;br /&gt;To get the .TiVos to the file server I got TiVo desktop for Windows.  It really only goes to local disk; mapped drives not allowed.  I tried the Macintosh version but it doesn't transfer!  TiVo says buy Toast to get what's free on Windows.&lt;br /&gt;&lt;br /&gt;I have Galleon installed on Solaris.  It was much easier (really) then the Linux install I used to use.  The gui to select transfers is *slowwww*.  It works well enough for auto transfers though.  It's a Java app and works on all OSen.  Development has finally been picked up so maybe it will get faster.&lt;br /&gt;&lt;br /&gt;I also tried using a web browser directly.  That worked as long as I did one at a time &amp; didn't switch away.  Definitely single threaded.&lt;br /&gt;&lt;br /&gt;I bought Toast.  It's slower (hours, days) then the PC version, but it works on a mapped drive.  And it's faster then Galleon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Burning&lt;/span&gt;&lt;br /&gt;At first, I got Sonic MyDVD as recommended by TiVo.  Ugh.  Crashes consistantly.  So I bought Nero.&lt;br /&gt;&lt;br /&gt;Nero had issued burning directly to a DVD, but going to an .nrg file worked well enough.  An update from Nero fixed that.  Nero would always rencode so it was slow.  Finally it didn't handle .TiVo.  I needed to transcode to mpg.  See below.&lt;br /&gt;&lt;br /&gt;I then bought Toast on the Mac.  That works well!  Transcoding, etc.  Ideally I could go to an ISO file so I could burn on any system, but they have a .toast format.  Maybe some digging through the docs.&lt;br /&gt;&lt;br /&gt;Ideally, I want to create ISO files that can be burned on any of my OSen.  Toast will work though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Transcoding&lt;/span&gt;&lt;br /&gt;I mentioned that Nero wouldn't do .TiVo right?  Luckily there are various ways of transcoding to .mpg.&lt;br /&gt;&lt;br /&gt;TiVo Desktop has a .dll that works with DirectShow on windows so Windows Media Player can view the videos.  There is a kludge that will let you use the DirectShow stuff to transcode &amp; demux, etc.  It's a tedious GUI that should be automated.&lt;br /&gt;&lt;br /&gt;DirectShowDump is a nice GUI tool that will let you point at multiple .TiVo files and turn them into .mpg&lt;br /&gt;&lt;br /&gt;Someone created tivodecode that does the job on the command line.  It's GPL code and has been ported to Windows, MacOSX, Linux and any POSIX system.  An easy compile runs it on Solaris.  Now it can be batched.  On the Mac, there are a few GUI wrappers that will download and transcode.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GoBack&lt;br /&gt;&lt;/span&gt;Ok, I've got all these .TiVo and .mpg files on my file server.  How can I pull them back to the TiVo like I do the multi room viewing?&lt;br /&gt;&lt;br /&gt;Tivo Desktop will serve .TiVo files up.  Did I mention that it doesn't do mapped drives?&lt;br /&gt;&lt;br /&gt;The Mac version will work.&lt;br /&gt;&lt;br /&gt;Galleon will do it with .TiVo and .mpg files in the proper format.  mpg files don't have the meta data with the description; you only get a filename to describe an mpg.&lt;br /&gt;&lt;br /&gt;Recent versions of the TiVo OS will not deal with subfolders.  Everything in 1 directory.  That doesn't scale well and I divvy'd up my shows so I can't use anything above because they show up as 1 TiVo.&lt;br /&gt;&lt;br /&gt;pyTivo to the rescue.  It lets you setup multiple shares.  I serve up each subfolder as a share.  I see a TiVo as Good_Eats and that's my Good Eats subfolder.  It was easy to get going on the Solaris box, but it should run everywhere Python and ffmpeg can run.  Oh, pyTivo will also convert files to .mpg the tivo can understand, on the fly.  As long as ffmpeg can transcode it.  Fantastic.  I have run into issues with mp4 and avi files but that might be because the Solaris box doesn't have the codecs.  I might need to go to Linux.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Commercials&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;There are a few apps out there that will let you cut up .avi or mpg files.  avidemux will search for blank frames that broadcasters are required to put between commercials and shows.  ffmpeg will transcode from mpg to avi:&lt;br /&gt;&lt;pre&gt;ffmpeg -i &lt;span style="font-weight: bold;"&gt;file&lt;/span&gt; -target ntsc-dvd -b 2500 -s 352x480 -hq -ab 160 &lt;span style="font-weight: bold;"&gt;file.mpg&lt;/span&gt;&lt;/pre&gt;There's still a large, tedious process for cutting.&lt;br /&gt;&lt;br /&gt;cbreak is a windows .NET app that is supposed to do it automatically.  There's even a batch file that'll convert .mpg with ffmpeg.exe 1st.  It's drag &amp; drop.  Perfect.  Except the resulting file isn't .TiVo compatible.  My Solaris ffmpeg can't convert the avi either.  Displaying it via pyTivo locks up the TiVo too!&lt;br /&gt;&lt;br /&gt;There are commercial apps out there like VideoReDo that automate much of it.  MythTV has skipping built in, but I don't know if it can be used as a filter.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-510621306797191781?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/510621306797191781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=510621306797191781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/510621306797191781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/510621306797191781'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/tivo-video-and-togo.html' title='TiVo Video and togo'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-8595633454918063352</id><published>2007-08-08T14:42:00.000-04:00</published><updated>2007-08-08T14:57:27.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Virtualization</title><content type='html'>I have Fedora 7 on an AM2 dual core system.  I've been doing alot with VMware Server and have owned VMware Workstation since 2.0.  One of the issues with VMware is reinstalling every time the kernel is updated.  Add to that the fact that VMware has only precompiled for certain kernels on certain distribution releases.  *sigh*&lt;br /&gt;&lt;br /&gt;So I decided to try out the qemu-kvm stuff in Fedora.  Fedora 7 has a GUI manager for Xen and (I think qemu-kvm).&lt;br /&gt;&lt;br /&gt;To make a long story short, qemu is easy except for the networking.  I keep everything on the file server and nothing on my clients so I need networking.  The GUI doesn't reveal anything about the networking and doesn't quite work with qemu yet.  All the documentation I've Googled say 'qemu is in Fedora 7' but all of the networking stuff is written up for earlier versions.&lt;br /&gt;&lt;br /&gt;No problems, except the virt manager sets up some networking stuff.  And isn't documented.  And uses different names from the older examples.&lt;br /&gt;&lt;br /&gt;*sigh*  So I punted and installed VMware server.  There's a &lt;a href="http://knihovny.cvut.cz/ftp/pub/vmware/"&gt;patch&lt;/a&gt; for the install that will let you compile the module for any kernel.  Joy!  And it works.  It'd be nice if VMware included it or linked to it on the web.&lt;br /&gt;&lt;br /&gt;In any event, I've got XPpro running in a VM.  I can RDP into it from my laptop and run things like cbreak to cut commercials out of .TiVo streams after I convert 'em to mpg.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-8595633454918063352?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/8595633454918063352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=8595633454918063352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8595633454918063352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8595633454918063352'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/virtualization.html' title='Virtualization'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-7240618091715530884</id><published>2007-08-01T09:47:00.000-04:00</published><updated>2007-08-01T16:54:34.746-04:00</updated><title type='text'>Today's Links</title><content type='html'>Systems&lt;br /&gt;    &lt;a href="http://lowendmac.com/macdan/05/0801.html"&gt;iSync adapting&lt;/a&gt;&lt;br /&gt;    &lt;a href="http://www.linuxjournal.com/?q=node/1000254"&gt;Linux Audio Troubleshooting&lt;/a&gt;  Nice guide to figuring out the hardware in linux&lt;br /&gt;    &lt;a href="http://www.flickr.com/photos/64856052@N00/894127714/"&gt;Solaris keeps running.&lt;/a&gt;  The post is in &lt;a href="http://www.systemhelden.com/?p=61"&gt;german,&lt;/a&gt; but they stayed running.  No one noticed until they checked the room.&lt;br /&gt;    &lt;a href="http://okvm.sourceforge.net/"&gt;OpenKVM&lt;/a&gt;&lt;br /&gt;Windows&lt;br /&gt;    &lt;a href="http://www.jasonn.com/turning_off_unnecessary_services_on_windows_xp"&gt;Disable services&lt;/a&gt;&lt;br /&gt;    &lt;a href="http://www.dailycupoftech.com/2007/07/26/server-failure-lesson-10-useful-active-directory-tools/"&gt;AD tools&lt;/a&gt;&lt;br /&gt;    &lt;a href="http://www.teknobites.com/2007/07/19/20-open-source-windows-apps-for-you/"&gt;Open Source tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dailycupoftech.com/2007/07/26/server-failure-lesson-10-useful-active-directory-tools/"&gt;&lt;/a&gt;   &lt;br /&gt;Google&lt;br /&gt;    &lt;a href="http://www.adelaider.com/google-cheat-sheet/"&gt;Cheatsheet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Video&lt;br /&gt;    &lt;a href="http://mediacoder.sourceforge.net/"&gt;Transcoding&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-7240618091715530884?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/7240618091715530884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=7240618091715530884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7240618091715530884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/7240618091715530884'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/08/todays-links.html' title='Today&apos;s Links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-256061964600669590</id><published>2007-07-31T08:14:00.000-04:00</published><updated>2007-07-31T16:53:51.137-04:00</updated><title type='text'>Today's Links</title><content type='html'>Linux&lt;br /&gt;   &lt;a href="http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/bridge"&gt;QEMU bridging&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;a href="http://blog.wired.com/geekdad/2007/07/lockpicking-for.html"&gt;Lockpicking for kids&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/timf/entry/zfs_automatic_snapshots_now_with"&gt;ZFS snapshots&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-256061964600669590?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/256061964600669590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=256061964600669590' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/256061964600669590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/256061964600669590'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/todays-links_31.html' title='Today&apos;s Links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-3628851480845663314</id><published>2007-07-30T11:20:00.000-04:00</published><updated>2007-07-30T16:02:15.729-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scan'/><category scheme='http://www.blogger.com/atom/ns#' term='gtd'/><title type='text'>Today's links</title><content type='html'>GTD&lt;br /&gt;    &lt;a href="http://www.liferemix.net/"&gt;Liferemix&lt;/a&gt; has a whole bunch of productivity blogs&lt;br /&gt;    &lt;a href="http://www.blackbeltproductivity.net/blog/gtd-primer/"&gt;GTD primer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Scan all incoming paper&lt;br /&gt;    From &lt;a href="http://unclutterer.com/archives/2007/04/solving_paper_clutter_part_1.php"&gt;unclutterer.com&lt;/a&gt;&lt;br /&gt;    &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://kensilver.blogspot.com/2006/08/my-paperless-office.html"&gt;Ken Silver&lt;/a&gt;&lt;br /&gt;&lt;a href="http://unclutterer.com/archives/2007/04/solving_paper_clutter_part_1.php"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.macfixit.com/article.php?story=20050722010717951"&gt;iPod fixes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Linux&lt;br /&gt;    &lt;a href="http://www.linuxtricks.net/index.php/archives/121/how-to-set-up-surround-51-audio-in-linux-with-alsa/"&gt;Dolby 5.1 sound&lt;/a&gt;&lt;br /&gt;    &lt;a href="http://onlyubuntu.blogspot.com/2007/06/mount-and-unmount-isomdfnrg-images.html"&gt;Mounting ISOs&lt;/a&gt;&lt;br /&gt;   &lt;br /&gt;&lt;a href="http://www.netup.tv/en-EN/streamer-configuration-guide.php"&gt;IPTV&lt;/a&gt; info&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.liferemix.net/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-3628851480845663314?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/3628851480845663314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=3628851480845663314' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3628851480845663314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3628851480845663314'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/todays-links_30.html' title='Today&apos;s links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-5780941328080364035</id><published>2007-07-25T14:07:00.000-04:00</published><updated>2007-07-25T15:23:57.596-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='measure'/><title type='text'>Back of the napkin Network speed testing</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I've been trying to compare iSCSI, NFS, and general network speed lately.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Awhile ago, my main Linux system was a dual PIII 500MHz.  I was getting 20MB/s over the gigabit ethernet which seemed slow to me.  At work I've seen 40MB/s to 60MB/s.  I upgraded the server to an AMD dual core system and get 60MB/s.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;My back of the napkin testing was pushing a gigabyte with dd:&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-family:courier new;"&gt;&lt;span style="font-family: courier new;"&gt;    time dd if=/dev/zero bs=1048576 count=1024 of=&lt;some&gt;&lt;/span&gt;&lt;some&gt;&lt;/some&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;GNU dd can also display MB/s.&lt;br /&gt;&lt;br /&gt;I figure /dev/zero is the fastest source of bits.  I can output to /dev/null to get the fastest data sink.  Or local disk or NFS or SMB.  But that still didn't measure just the network.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://ftp.arl.mil/%7Emike/ttcp.html"&gt;ttcp&lt;/a&gt; which sets up a client/server.  On the sink I do ttcp -r &gt; /dev/null.  On the source, I pipe dd to ttcp -t &lt;sinkhostname&gt;.  Netcat by Hobbit could do the same, but now there's a GNU nc that doesn't let you do -lp!  I suppose I should just compile my own.&lt;br /&gt;&lt;br /&gt;Something like:&lt;br /&gt;On sink:  nc -lvnp 5150 &gt; /dev/null&lt;br /&gt;On source: dd blah | nc -v -w 2 serverip&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bill McGonigle has &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://blog.bfccomputing.com/articles/2007/06/09/your-network-speed-testing-made-easy"&gt;this &lt;/a&gt;&lt;span style="font-family:verdana;"&gt;note about iperf.  It looks interesting too.&lt;br /&gt;&lt;a href="http://dast.nlanr.net/Projects/Iperf/"&gt;Iperf's home&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.psc.edu/networking/projects/tcptune/"&gt;TCP tuning&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Iperf tarball has a test directory (read the README in it):&lt;br /&gt;one side: perl server&lt;br /&gt;other: perl client tests remote local | tee iperf.log&lt;br /&gt;    Tune some stuff&lt;br /&gt;Run it again to iperf2.log&lt;br /&gt;    &lt;span style="font-family: courier new;"&gt;grep Mbits.s /tmp/iperf*.log  | awk '{print $1, $(NF-1)}' | sort -n +1 | less&lt;/span&gt;&lt;br /&gt;If iperf2.log is at the bottom, you got more megabits.&lt;br /&gt;&lt;br /&gt;Is it accurate?  I don't know.  Does it help measure change?  Yep.  And that's what tuning is about.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-5780941328080364035?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/5780941328080364035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=5780941328080364035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5780941328080364035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/5780941328080364035'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/back-of-napkin-network-speed-testing.html' title='Back of the napkin Network speed testing'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-8125266525348673611</id><published>2007-07-25T08:26:00.001-04:00</published><updated>2007-07-25T16:27:38.930-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='rpm'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Links</title><content type='html'>&lt;a href="http://mashable.com/2007/07/23/online-media/"&gt;Online Media God&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/bigadmin/home/index.html"&gt;Sun BigAdmin&lt;/a&gt; Not just for Solaris&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/%7Er/Nixcraft-LinuxFreebsdSolarisTipsTricks/%7E3/137077482/howto-fix-rhel-corrupted-rpm-database.html"&gt;Fix RPM db&lt;/a&gt;&lt;br /&gt;&lt;a href="http://unix-news.blogspot.com/2007/07/convert-flv-google-videos-to-mpg-using.html"&gt;Google Video (FLV) conversion with ffmpeg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lifehacking/Productivity&lt;br /&gt;&lt;a href="http://www.goodexperience.com/"&gt;Productivity/Life Hack site&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.macdevcenter.com/pub/a/mac/2007/07/25/the-good-easy-on-os-x.html"&gt;GTD Good Easy on a mac &lt;/a&gt;&lt;br /&gt;&lt;a href="http://lifehacker.com/software/book-recommendation/master-information-overload-with-bit-literacy-281512.php"&gt;Bit Literacy Review&lt;/a&gt;&lt;br /&gt;&lt;a href="http://todotxt.com/"&gt;Text based todo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.macdevcenter.com/pub/a/mac/2007/07/25/the-good-easy-on-os-x.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-8125266525348673611?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/8125266525348673611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=8125266525348673611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8125266525348673611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8125266525348673611'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/links.html' title='Links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-3392540224274110743</id><published>2007-07-24T09:15:00.000-04:00</published><updated>2007-07-24T09:38:56.265-04:00</updated><title type='text'>Why run VMs? part 1</title><content type='html'>I'm a Unix guy, but often work in a windows environ.  Usually there's something that only runs in windows that I need to run.&lt;br /&gt;&lt;br /&gt;I've used DOSemu, Executor (Mac OS 7), Win4Lin, VMware Workstation (2.x -&gt; 6.x), Bochs, QEMU, Basillisk and wine.  All have various capabilities and impacts.&lt;br /&gt;&lt;br /&gt;If you just want to run windows apps, having a 2nd computer running terminal server over a gigabit net is probably the best for features.  You get full hardware access, reasonable display speed (gigabit switches and KVMs are inexpensive).&lt;br /&gt;&lt;br /&gt;For a Macintosh, VNC over an SSH connection works well on Mac OSX.  I've used VNC to control System 7 systems.  I find VNC on a mac works better then on windows.  Windows doesn't let VNC at the login screen while OSX does.&lt;br /&gt;&lt;br /&gt;VMware and Win4Lin depended on the kernel so any update to that meant a reconfigure.  *sigh*  And hopefully that kernel was supported.  Otherwise you had a choice to make.  I get tired of all the reconfiguring.  Of course Windows doesn't update its kernel often so the host is more stable.&lt;br /&gt;&lt;br /&gt;I have hopes for QEMU lately.  And KVM now that I have a chip with virtualization.  I've gotten QEMU running with Solaris as a host, but the networking was a bit tricky.  I'd love to see VMware hosted on Solaris but I doubt the port will be done. Hardware is inexpensive enough that having a Linux box is doable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-3392540224274110743?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/3392540224274110743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=3392540224274110743' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3392540224274110743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/3392540224274110743'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/why-run-vms-part-1.html' title='Why run VMs? part 1'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2459466585919583806</id><published>2007-07-24T09:14:00.000-04:00</published><updated>2007-07-24T15:22:42.261-04:00</updated><title type='text'>Today's Links</title><content type='html'>&lt;a href="http://kvm.qumranet.com/kvmwiki"&gt;Linux KVM Wiki&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maximillianx.blogspot.com/2007/07/tip-instead-of-dialing-411-dial-1-800.html"&gt;Google 411&lt;/a&gt;&lt;br /&gt;&lt;a href="http://milek.blogspot.com/2007/07/recent-zfs-enhancements.html"&gt;ZFS updates&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://milek.blogspot.com/2007/07/recent-zfs-enhancements.html"&gt;&lt;/a&gt;&lt;a href="http://maximillianx.blogspot.com/2007/07/tip-instead-of-dialing-411-dial-1-800.html"&gt;&lt;/a&gt;&lt;a href="http://kvm.qumranet.com/kvmwiki"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2459466585919583806?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2459466585919583806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2459466585919583806' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2459466585919583806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2459466585919583806'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/todays-links_24.html' title='Today&apos;s Links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-2440694156552591247</id><published>2007-07-23T16:36:00.000-04:00</published><updated>2007-07-23T17:03:43.789-04:00</updated><title type='text'>Today's links</title><content type='html'>&lt;a href="http://zenhabits.net/2007/07/enjoy-life-now-and-save-for-later-or-why-delayed-gratification-is-a-false-dichotomy/"&gt;enjoy-life-now-and-save-for-later&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zenhabits.net/2007/07/enjoy-life-now-and-save-for-later-or-why-delayed-gratification-is-a-false-dichotomy/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-2440694156552591247?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/2440694156552591247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=2440694156552591247' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2440694156552591247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/2440694156552591247'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/todays-links.html' title='Today&apos;s links'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-1515930936090565587</id><published>2007-07-23T08:52:00.000-04:00</published><updated>2007-07-24T09:40:55.538-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='serial printer cable pinout'/><title type='text'>Laserwriter Serial Cable</title><content type='html'>&lt;table style="width: 192px; height: 281px;" border="1" cellpadding="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2" align="center"&gt;25 pin ports&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;b&gt;printer&lt;/b&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;b&gt;pc&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;5&lt;/td&gt;&lt;br /&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;7&lt;/td&gt;&lt;br /&gt;&lt;td&gt;7 (8?)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;8&lt;/td&gt;&lt;br /&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;20&lt;/td&gt;&lt;br /&gt;&lt;td&gt;6 (7?) (8?)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-1515930936090565587?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/1515930936090565587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=1515930936090565587' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1515930936090565587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1515930936090565587'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/laserwriter-serial-cable.html' title='Laserwriter Serial Cable'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-8255873131251539404</id><published>2007-07-22T22:58:00.001-04:00</published><updated>2007-07-22T23:30:23.198-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='storage cheap'/><title type='text'>Cheap storage</title><content type='html'>Right now it's SATA.  If you're running RAID (and you should), SCSI isn't going to buy you much more reliability.  It's not going to give you much more speed on the low end either.  Anyways, this is about cheap.&lt;br /&gt;&lt;br /&gt;You have a PC with slots in it.  It's going to be your server.  I suggest having the OS on a RAID1 mirror.  Don't have data on this so the OS can go as fast as possible.  The RAID buys some reliability.  If it's IDE, no slaves.  Just masters.  Mixing them slows things  down quite a bit.  Ok, you can put the CD/DVD on it.&lt;br /&gt;&lt;br /&gt;Get a 4 port SATA card.  You do not care about the RAID in it.  Most of them are really software RAID anyways and each card does it differently.  By doing software RAID, you can use any adapter.  Hardware RAID means your data is at the mercy of a brand or even model of that card if it fails.  Besides, you're going to be running an iSCSI SAN or an NFS/Samba file server here.  Your CPU is dedicated to storage.  Your bottleneck will be gigabit ethernet to your clients.&lt;br /&gt;&lt;br /&gt;Get 4 SATA drives of the same size.  I like to have a standard size that will be available in the future, like 500GB.&lt;br /&gt;&lt;br /&gt;Now the hard part: how to power and cool them?  If you have a case like the Antec PB180, there's a fan and a 4 drive chamber.  Just get some SATA cables and maybe some 4 pin to SATA power adapters.&lt;br /&gt;&lt;br /&gt;If not, you need to get an external drive.  There are some nice ones under $150 with power and cooling for 4 SATA drives.  You can also build your own with a PC power supply, a fan, power adapters and something to bolt the drives to that the fan pulls air through.&lt;br /&gt;&lt;br /&gt;Now get some long SATA cables.  I've used 42" ones.  They do not have to be eSATA.  I've used internal SATA from the drives through a card slot to the internal SATA card and they work fine.  Using short SATA extenders lets you have a nice disconnection outside the PC or drive case.&lt;br /&gt;&lt;br /&gt;Hook it all up, install your OS and make it a software RAID5 setup.  Cheap.&lt;br /&gt;&lt;br /&gt;Which OS?  Do you want a NAS or SAN device?  I really like ZFS on my servers and that means Solaris right now.  Solaris 10u3 doesn't have an iSCSI target so that means NAS only. Newer versions of OpenSolaris have iSCSI targer.  Linux has an iSCSI target also and I don't think it's as close to bleeding edge as OpenSolaris, but there are many that feel comfortable with it.  There's a linux distribution called OpenFiler that does iSCSI target, Samba and NFS with a web admin interface for you non unix types.&lt;br /&gt;&lt;br /&gt;Speeds?  On a Dual PIII 500MHz I got 20-25MB/s.  On a Xeon 2.4 or on an AMD 4000+ I get about 120MB/s.  The PIII can't keep up with Gigabit.  The other 2 can do 90MB/s over gigabit.  That's faster then local disk on  older systems.&lt;br /&gt;&lt;br /&gt;4 * 500GB @$120/ea -&gt; $480 for disk.  Put  a $500 PC with gigabit ethernet under that and you have 1.5TB or RAID5 for under $1000.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-8255873131251539404?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/8255873131251539404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=8255873131251539404' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8255873131251539404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/8255873131251539404'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/cheap-storage.html' title='Cheap storage'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-312607000613110553</id><published>2007-07-22T22:18:00.000-04:00</published><updated>2007-07-22T22:58:49.292-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='storage backup archive rant'/><title type='text'>Storage rant #1</title><content type='html'>I've been doing sysadmin for awhile now.  I've seen disk space go from &gt; $4 per megabyte(!) to less then $240 for a terabyte.  Space requirements have gone up too.  You used to be able to have your compiler, editor and source on a floppy.&lt;br /&gt;&lt;br /&gt;My general rule has been local disk for databases and other things that need locking, NAS for everything else.  The local store can be a SAN of course.  Centralize storage as much as possible (but no more so) to keep backups from going over the network.   Because it's centralized, you can do RAID to increase reliability.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Backups are not archives!  &lt;/span&gt;Backups are so you can recover your setup as close as possible to the latest good state if the hardware fails completly.  If you want to go back to a point in time, that's an archive.&lt;br /&gt;&lt;br /&gt;Backups have changed dramatically over the years.  I don't think there's such a thing as an inexpensive tape anymore.  At least something that's dramatically cheaper then disk.  I once bought a 2GB 4mm DAT to backup my home systems.  I probably had 1GB at the time.  Now you're going to need multiple tapes to span your disks.  Because of that, you probably also want an automatic tape system as well.&lt;br /&gt;&lt;br /&gt;After you figure out your backup cycle (how far back a backup goes (archives are forever)) and how much data you have, you arrive at the total data storage.  If you go tape, figure out the automated drive cost with a full compliment of tapes.  You might find that is cheaper to buy a disk farm of some sort for your backup store.  Remember, backups are not archives.&lt;br /&gt;&lt;br /&gt;You'll still probably want to put data offsite.  But the disks do have the advantage of matching the speed of incoming data.  Your backups will always be much quicker to disk then tape so your window will be larger.  When you create media for offsite, it'll be done on the disk farm so it will go quicker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-312607000613110553?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rantingdatastore.blogspot.com/feeds/312607000613110553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8762054589817832831&amp;postID=312607000613110553' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/312607000613110553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/312607000613110553'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/storage-rant-1.html' title='Storage rant #1'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8762054589817832831.post-1106314593227419854</id><published>2007-07-22T21:55:00.000-04:00</published><updated>2007-07-22T22:14:10.011-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux sysadmin storage'/><title type='text'>LVM notes</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-family: trebuchet ms;"&gt;Commands&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ls /sbin/vg* /sbin/lv*/sbin/pv*&lt;br /&gt;Xscan, Xdisplay, Xcreate, Xremove, Xextend&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: trebuchet ms; font-weight: bold;"&gt;Initialize for lvm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pvcreate -v /dev/md3&lt;/li&gt;&lt;li&gt;pvdisplay /dev/md3&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-family: trebuchet ms;"&gt;Scan &amp; build /etc/lvmtab stuff&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;vgscan&lt;/li&gt;&lt;li&gt;create the volume group /dev/vg from /dev/md3&lt;/li&gt;&lt;li&gt;vgcreate vg /dev/md3&lt;/li&gt;&lt;li&gt;vgdisplay&lt;/li&gt;&lt;li&gt;show Allocated and Free space&lt;/li&gt;&lt;li&gt;sudo vgdisplay | egrep '^[AF].*Size'&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: trebuchet ms; font-weight: bold;font-size:130%;" &gt;Create a partition&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;lvcreate --size 2048m vg&lt;/li&gt;&lt;li&gt;ls -l /dev/vg&lt;/li&gt;&lt;li&gt;mke2fs -j /dev/vg/lvol&lt;/li&gt;&lt;li&gt;mkdir /test&lt;/li&gt;&lt;li&gt;mount -t ext3 /dev/vg/lvol /test&lt;/li&gt;&lt;li&gt;lvdisplay /dev/vg/lvol[n]&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-family: trebuchet ms;"&gt;expand it!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;umount /dev/vg/lvol?&lt;/li&gt;&lt;li&gt;lvextend -L + /dev/vg/lvol?&lt;/li&gt;&lt;li&gt;e2fsck -f /dev/vg/lvol?&lt;/li&gt;&lt;li&gt;resize2fs -p /dev/vg/lvol?&lt;/li&gt;&lt;li&gt;mount it&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;megabytes&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-family: trebuchet ms;"&gt;remove it!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/megabytes&gt;&lt;ul&gt;&lt;li&gt;&lt;megabytes&gt;umount /dev/vg/lvol?&lt;/megabytes&gt;&lt;/li&gt;&lt;li&gt;&lt;megabytes&gt;&lt;/megabytes&gt;lvremove /dev/vg/lvol?&lt;/li&gt;&lt;li&gt;rmdir mountpoint&lt;/li&gt;&lt;li&gt;vi /etc/fstab&lt;megabytes&gt;&lt;/megabytes&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8762054589817832831-1106314593227419854?l=rantingdatastore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1106314593227419854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8762054589817832831/posts/default/1106314593227419854'/><link rel='alternate' type='text/html' href='http://rantingdatastore.blogspot.com/2007/07/lvm-notes.html' title='LVM notes'/><author><name>Tom</name><uri>http://www.blogger.com/profile/07782193346528707757</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://1.bp.blogspot.com/_29J_TR9OHm4/S-wifNNqdYI/AAAAAAAAAP8/qmdcMNldgCQ/S220/c-dsc_25325.jpg'/></author></entry></feed>
