UTOSC 2010
Subpage Table of Contents
UTOSC 2010
Wireless
SLCC-OPEN OpenSource iaScqJ3k
Nmap
Presenter - High School Senior?
Publishing with Open Source
Presenter - Jerome S. Horowitz
Latex and Tex
TEX developed by Donald E. Knuth (1977).
"typeset a book"?
LATEX started by Leslie Lamport (1982).
http://en.wikipedia.org/wiki/Typesetting
Tools:
- Textmaker
- Kile
- Docbook
CLI Judo
Presenter: Derek Carter "goozbach" (http://blog.friocorte.com/)
Variable Tricks:
- RANDOM
- PS1
- PS2
echo ${RANDOM} # number between 0 and MAXINT NUM=${RANDOM} let "NUM %= 500"
PS1 is prompt
PS1=[\u@\h \w]\$
PS2 is the second level prompt, for when you don't close a command
PS2="secon level> " echo "my name is
Install "Bash Completion" package to do other cool stuff
bitlbee - irc interface to messaging networks (ie yahoo, jabber, etc)
What did you use to record the .flv?
tmux - alternative to screen command
byobu - wrapper around screen does profiles, screens, status lines, etc
pv - progress bar in your terminal (like cat) - works great for sha1sum
pv big.iso | sha1sum
Suggestion: add time to prompt so you know how long commands take
todo - command based todo list
alias td=todo.sh td add "make a presentation" td add "second" td list td do 1 # mark done
found on: todo.txt - on git hub
Customizations
alias q='exit' ll la ls redo='sudo !!' wtf=dmesg ls -F # adds identifiers / @ | please= thanks='echo no prob' realias='source ${HOME}/.bash_aliases' refunction='source ${HOME}/.bash_functions'
Functions:
mkcd (make dir and cd)
mkcd () { mkdir -p -- "$@" && cd -- "$@" }
pathmunge (add path to path)
pathmunge () { if ! echo $PATH | grep -E -q ".....
tricks = superuser.com
Keybindings:
~/.inputrc \C-t "say something!" # control tab
Library: bti - bash twitter idiocy
echo "test " | bti --bash
dent_promt.sh
PROMPT_COMMAND="history 1 | sed -e "...." | bti --bash
PROMPT_COMMAND='echo dood'
Can be used for battery status, or current git branch
Best practice:
read_zork () { .... } PROMPT_COMMAND=read_zork
SSH known_hosts destroy: null host keys
host localhost ..... strict... no? key file = /dev/null?
xyzzy: how session was recorded
terminator - gnome terminal splittable
This whole presentation will be added to Git Hub
- "The Bashful Adventurer"
Recorded with ffmpeg to flv
Traps:
mytrap() { sleep 1 echo -e "\nso you sent me a trap" } trap mytrap 0 1 2 5 15 19 echo "send me traps" while true; do sleep 1 done
Dialog - cursive based dialog window
dialog --title "input box" --clear "$@" \ --inputbox "enter name" 16 51 2> $tempfile # --select # man dialog # /usr/share/doc/dialog
GUI alternative to dialog - gtk based dialog - zenity
KDE dialog has lots of cool widgets - kdialog
Cheat at hangman:
cat /usr/share/dict/words | tr -s 'A-Z' 'a-z' | sort | grep "^......$" | wc -l cat /usr/share/dict/words | tr -s 'A-Z' 'a-z' | sort | grep "^t.m..o$" | wc -l
How to tell if a pipe fails
cat /usr/share/dict/words | tr -s 'A-Z' 'a-z' | sort --gargle | grep "^t.m..o$" | wc -l echo ${PIPESTATUS}
Stringet Bash:
Replatform Technologies - bash presentation - shows you the why on bash stringent
Torque - HPC for Home Use
presenter: Stephen McQuary
Adaptive computing - scheduling for super computers
High Performance Computing - HPC
MPI - Message Passing Interface
Super computers - like IBM BlueGene/P
JOBC - Just a Bunch of Computers (shouldn't it be JOBC?)
Computational Fluid Dynamics
There is a problem called the "Embarrassingly Parallel Problems". These are best suited for parallelization.
oggenc "wav"
Simple method with xargs
# the P4 parallels the processes time ls *.wav | xargs -n1 -P4 oggenc -- quiet
Torque: - based on Open PBS
Moab is a proprietary scheduler
pbs_server talks to pbs_mom(s) (mother superior?)
"wall time" is the max time a process can run before there is a problem
clusterresources.com is the old name. Download under /download/torque
tmux - like screen
htop - cool top program
torque home - /var/spool/torque
/var/spool/torque/ - torque home /servername - name / fqdn / ip /server_priv/nodes - list nodes and cpu (np number of processes)
pbs_server qstat pbsnodes pbs_mom
dsh - dancer shell - run command on many systems
~/.dsh/machine.list dsh -a uptime alias dsha=dsh -a dsh.com - show machine_names
pbsnodes -l # looser machines
nfs:
/share *.ac(rw,no_sub_tree_check,no_root_squash)
submit.sh:
#PBS ... commands directive #PBS -L nodes=1:ppn=1,walltime=00:02:00 #PBS -N oggend_job cd $PBS_O_WORKER sleep 300 echo hello world
qsub submit.sh qstat stat -a [name]
moab - excellent scheduler (proprietary)
pbs_sched (fifo scheduler for dev) .o output .e error
qterm qstat -x
echo "job" | qsub -l walltime=300 -N sleeptest
# or is it 00:02:00?
"avoided fail block"
qstat
iftop - network monitor
Capturing Audio and Video on the Cheap
Presenter: Clint Savage
Purple Atom - purpleatom.com
FreeSeeR
Software:
- audacity
- gtkRecord my Desktop
- Istanbul
Streaming:
- ice cast - shout cast
- ices2
- dark ice
Video:
- vga2usb - epiphan.com $300
- scan converter / EZCap
Video Editors: kdenlive, kino, pitivi
Screen cap: istanbul, gtk-record my desktop
GStreamer: gstreamer.freedesktop.org
! is a pipe to Gstreamer
Radio Shack wireless lapel Microphone $50 - best
Advanced Git
git hub:
git hub: advancedGit git
git init git add [file] git commit
git clone git://github.com/timcharper/advancedGit.git git clone http://github.com/timcharper/advancedGit.git
Topics:
- Rebasing
- Hooks
- branching mixed up
- tab completion
- .gitignore
- ressurect / undo branch deletions
- interactive rebase
Clean Commits - it all starts here
alias to add and commit? - would not recommend to do, as the staging feature is really handy
git commit -a aliases 'git add -p'
Twitter: timcharper (Tim C Harper)
Getting branches mixed up:
gitk --all # history visualizer tig # console purists
yum install git-gui
git co -b wip # branch work in progress
Cucumber and Nagios
Cucumber - http://cukes.info/
- "Behavior Driven Development with elegance and joy"
cucumber-nagios - http://auxesis.github.com/cucumber-nagios/
- "cucumber-nagios lets you describe how a system should work in natural language, and outputs whether it does in the Nagios plugin format"
cucumber-nagios-gen cucumber-nagios-gen project utosc.com sudo gem bundle install # install dependencies
cucumber-nagios-gen feature
bin/cucumber-nagios features/utosc.com/login.feature bin/cucumber-nagios features/utosc.com/login.feature --pretty
cucumber --require features features/utosc.com/login.feature
Scenario: Visiting home page When I got to http://www.mcquay.me Then the request should succeed And I got to /register Then I should see "Required. 30" When I fill in "Username" # missing last bit
UTOSC 2010 - Python Full Meal Deal
See UTOSC 2010/Python Full Meal Deal
Automation
Presenter: Jared Smith
DHCP PXE TFTP
Anaconda
gen password with open ssl
how to not reauto start install with Anaconda? -- cobbler is the fix
anaconda-ks.cfg create on install on RHEL based installs
cobbler to configure
koan - install for virt. env.
puppet - config engine
func - companion to puppet
- like dancer shell
- see cluster ssh
"surprise is the opposite of engagement"
Buy 'em cheap and stack 'em deep
"Meat cloud computing" - where the install isn't scripted or standardized
Item potency - persistence?
stage your changes?
Zenoss
Presenter: Corey Edwards
---
Many have thought "I could build a better Nagios", and many have failed. Turns out it's a pretty difficult thing to get right and thus Nagios remains the defacto NMS.
Zenoss may be the solution for you. It offers many advances over previous generation tools such as Nagios and Cacti. It's simple to use, easily extensible and rich in features.
In this presentation we will:
- learn the benefits of Zenoss
- install Zenoss
- create custom templates
- set up monitoring for an example network
- write python scripts to interact directly with the Zenoss database
Come learn how Zenoss can make your life easier.
---
Zenoss: http://www.zenoss.com/
Community Edition: http://community.zenoss.org/index.jspa
Zenoss is *ALL* web based! Nice!
Zenoss is written in Python
Wordpress
See wordpress