Skill Summary * Scripting: Korn, Bourne, and bash shells; perl, awk, sed, python, make, m4, ed, ex, tcl, expect, msdos batch (cmd.exe), cgi, strong w/regular expressions * Web: Atlassian Confluence wiki markup, HTML, basic Selenium * Languages: C, curses, python, pascal, fortran, basic; some involvement: SQL, CSS, XML, YAML * Configuration Management Tools: Telelogic Synergy (SCM http://en.wikipedia.org/wiki/Telelogic_Synergy), Subversion svn, cvs, RCS, SCCS, Telelogic Change (problem tracking), make, ant, diff, patch, sdiff, some work w/autoconf * Databases: Telelogic used, and I supported Informix; (exposure to: PL/SQL w/perl DBI and toad, MySQL, and postgresql); * Operating Systems: HPUX, AIX, GNU tools under AIX, Fedora, Centos, 90s era SUNOS, Windows Server: NT 3.51 and all versions through Windows 2003, (7 various UNIXes) * Services: sendmail, spamassassin, DNS (bind, named), NIS, apache, ntp, cups, crond, dhcpd, nfs, sshd * Currently Learning: Atlassian Jira workflows, Atlassian Bamboo build management, java, javscript Tom Rodman: Tools, Shells, Languages expert: [ ali at atq atrm awk basename bash bc cancel cat chkconfig chgrp chmod chown ci co colrm comm comp cp crontab d2u date df diff dirname dist dmesg dos2unix du echo egrep env exportfs false fgrep file find fmt fold ftp gawk getopt grep gunzip gzip halt head hostid hostname id kill less ln locate ls make man md5sum mkdir mktemp more mv next nmh passwd ping ps pwd rcp rcs rcsdiff rdate reboot rlog rlogin rm rmdir rsh scan scp 'GNU screen' script send sh shutdown sleep sort split ssh stat strings su tac tail tar tee telnet test time top touch tr true tty u2d umount uname uncompress uniq unix2dos unzip uptime vi vim wall wc wget xargs xterm yes zcat zip experienced: a2p adduser ash aspell batch bunzip2 bzip2 chfn chroot chsh cksum cmp col conv convert cpan cpio crond dd ddrescue dig dir dnsdomainname domainname dump dumpe2fs e2fsck ed editrights eject ethereal ex expand expect expr fdformat fetchmail find2perl finger formail fsck getfacl ghostscript gimp gnuplot groupadd groupdel groupmod groups gs HTML iconv info ispell join keychain last LATEX ldapsearch look lp lpq lpr lpstat lsof lynx m4 mail mailx mhbuild mhlist mhshow mhstore minicom mount mutt named netstat nfs nfsstat nice nisdomainname nl nmap nntp nohup nslookup ntfs-3g ntpd ntpdate ntpq od packf par perl pg pgrep Pnews pppd pr printf procmail pwck rcvstore rdist red resize restore rev rexec rmail rpcinfo rpc.mountd rpc.nfsd rpm rsync rxvt rz SCCS sdiff sed sendmail seq setfacl setsid sftp sha1sum spamassassin ssh-add ssh-agent sshd ssh-host-config ssh-keygen startx stty svn mkdir/import/add/ci/co/export/rm svn stat svn diff svn log svnlook svn ls svn cp, svn mv sync sz talk tclsh telinit TEX traceroute trn tune2fs tzselect units unlink updatedb useradd userdel usermod uucp uudecode uuencode vigr vipw vmstat watch wdiff who whois wiki wireshark xauth ypcat ypdomainname yppasswd ypset ypwhich yum occasional: alternatives apt automake blkid cc diff3 free fuser gcc gpg hexdump httpd install iptables killall logrotate losetup lsusb lpc lsdev lvcreate lvs merge mkfifo mknod mountpoint mysql naim namei nc newer patch pvcreate realpath s2p shar since smartd strace svnadmin svn cleanup svn switch tcpdump tic tidy tput vgchange vgcreate wish write yaml Tom Rodman Accomplishments * Created and maintained production shell or perl scripts for: system administration, software configuration management, account management, mail, time/date scheduling, text parsing, log file analysis, file-system permissions and DACLs, log rotation and purging, backup, recovery, TEX, ssh, application monitoring, network file syncing or xfer (rsync, scp, ftp, wget, telnet, expect), HTML, disk diagnostics/file-system checking, LDAP queries, code metrics, scheduled jobs, software builds, SCM database sessions and queries, OS-process management, file-system management/monitoring, and search. * Created wrapper script to standardize logging and metrics for cron jobs across multiple servers, collecting STDOUT and STDERR below a single directory with subdirs named after the job; reports and logs job exit stat in a standard format; self purging or rotating logs; creates flag file to detect unfinished, killed or hung jobs; supports env var assignments and second-level meta-quoting at command-line for "long 1 liner/no file" cron jobs. * Did an extensive local disk vs SAN time-bottleneck multi-month analysis using custom benchmark bash and perl scripts, resulting in SAN configuration changes that reduced over night database backup times by up to 20%. * Wrote script, using join, comm, sort, and diff, comparing accounts in Windows trustee groups, LDAP, AD, and our application database - discrepancies explained and emailed. It saved hours of work monthly, dealing w/(help-desk) related issues w/user adds, deletes, or disabled accounts. * Wrote robust/critical shell scripts, using my own library of 33 database related functions, to automate our SCM database upgrades, they were customized for the upgrade and ran for over 17 hours on the upgrade weekend processing our 40+GB databases. * Created system to manage application config files on multiple hosts at multiple sites using GNU m4 macro language - this simplified global and site specific config file changes; and the update/merge steps for upgrades. * Received "quick thanks" award for timely completion of request to "snapshot-copy" a UNIX multi GB software development environment, to a SAN used by Windows 2003; used Cygwin "managed mounts" to handle UNIX/Windows naming conflicts. * Lead project to convert NTFS discretionary access control lists (DACL) on over 100GB of file-systems on SANs and local disks for several servers, from one Active Directory Domain to another. Wrote archive, conversion and comparison scripts in perl, using 'setacl' to read or change the DACls; wrote specs for an Infosys developer in India to complete and execute the conversion, which went smoothly. * Major successful effort at preparing for and completing an April 2008 remote site, bare metal, offsite Disaster Recovery exercise for our SCM and software problem tracking server. Worked together w/co-worker on 1500 lines of text in about 8 documents w/in the plan. * Took a prototype perl "code metrics" script, rewrote some of the logic, enhanced it to handle errors gracefully, added verbose logging, tested, and put ib production. This is a SCM code check-in triggered script that annotates code object meta-data w/"lines of code" metrics based on a comparison to the prior version * Following the GNU Cygwin project since 1996, and periodically did a small number pre and post release tests for the project; as a result have identified problems that have almost all been fixed by the Cygwin developers after they responded to my carefully documented test cases. * Wrote "trip wire" style script to watch perms, ownership, file attribute, size, time-stamp, or file checksum changes in windows install tree; another script to monitor registry list of installed applications. * have many years of notes, project plans and logs, in one place, in plain text, under version control, tagged and easily searched * coordinated successful recovery of a HP Proliant server in India, remotely (they were ready to give up on the drive data) - the motherboard was replaced, then we had to troubleshoot an issue w/the RAID controller configuration - no data was lost * tested and updated proprietary SCCS based SCM, software build server, and compile farm for y2k compliance under HPUX; uptime for this server: typically several years. date rendered: February 12, 2011 _________________________________________________________________ Tom Rodman 2011-02-12