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
 * 1) --select
 * 2) man dialog
 * 3) /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 time ls *.wav | xargs -n1 -P4 oggenc -- quiet
 * 1) the P4 parallels the processes

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: cd $PBS_O_WORKER sleep 300 echo hello world
 * 1) PBS ... commands directive
 * 2) PBS -L nodes=1:ppn=1,walltime=00:02:00
 * 3) PBS -N oggend_job

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