\documentclass[13pt]{beamer}

\input{poem.tex}

%%%%%%%%%%%%%%%%%%%
% Commands/macros %
%%%%%%%%%%%%%%%%%%%
\newcommand{\link}[1]{
  \begin{flushright}
    \scriptsize{#1}
  \end{flushright}
}

\newcommand{\header}[1]{
  \hspace{-1em}\textit{#1:}
}

\newcommand{\sheader}[1]{
  \vspace{1.5em}
  \header{#1}
}

%%%%%%%%%%%%%%%%
% Header/theme %
%%%%%%%%%%%%%%%%
%\usetheme[
%  pageofpages=of,
%  alternativetitlepage=true,
%]{Torino}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamersize{text margin left=20mm} 
\setbeamersize{text margin right=10mm} 
\setbeamerfont{frametitle}{size={\fontsize{15}{16}}}

% Import packages
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{graphics}
\usepackage{hyperref}
\usepackage{ulem}
\usepackage{listings}

%%%%%%%%%%%%%%%%%%%%
% Title page setup %
%%%%%%%%%%%%%%%%%%%%
\subject{%
  abcs,
  unix,
}

\keywords{%
  abc,
  abcs
  unix,
  commands,
}

\title[ABC's of Unix]{%
  The ABC's of UNIX
}

\author[Spencer]{%
  Andy Spencer
}

\date[2013-03-16]{%
  March 16, 2013 \\
  \small{San Fernando Valley Linux Users Group}
}

%%%%%%%%%%%%%%%%%
% Content pages %
%%%%%%%%%%%%%%%%%

\begin{document}

%%%%%%%%%%%%%%%%
% Introduction %
%%%%%%%%%%%%%%%%

\begin{frame}[plain]
  \titlepage
\end{frame}

\section{The ABC's}

% A is for awk
\framea
\begin{frame}{\abca}
  \header{awk is}
  \begin{itemize}
    \item text processing utility
    \item (talked about last week)
  \end{itemize}

  \sheader{Some other ``A'' programs}
  \begin{itemize}
    \item[as] the assembler
    \item[at] schedule jobs \textit{at} a given time
  \end{itemize}
\end{frame}

% B is for biff
\frameb
\begin{frame}{\anda \\ \abcb}
  \header{biff is}
  \begin{itemize}
    \item an email notification program
    \item traditionally a command line program
    \item the original ``You've got mail''
    \item possibly named after a dog
  \end{itemize}

  \sheader{Some other ``B'' programs}
  \begin{itemize}
    \item[bc] a command line calculator
  \end{itemize}
\end{frame}

% C is for cc
\framec
\begin{frame}{\abcc}
  \header{cc is}
  \begin{itemize}
    \item the C Compiler
    \item one step in the compile process
    \item GCC is the most common these days
  \end{itemize}

  \sheader{Some other ``C'' programs}
  \begin{itemize}
    \item[cd]  change directory (shell command)
    \item[cat] ``concatenate'' files
  \end{itemize}
\end{frame}

% D is for dd
\framed
\begin{frame}{\andc \\ \abcd}
  \header{dd is}
  \begin{itemize}
    \item binary file copy utility
    \item can skip, seek, copy by blocks, swap bytes, convert encodings, etc
  \end{itemize}

  \sheader{Some other ``D'' programs}
  \begin{itemize}
    \item[dc] a reverse polish calculator \textit{(andy's favorite!)}
  \end{itemize}
\end{frame}

% E is for emacs
\framee
\begin{frame}{\abce}
  \header{emacs is}
  \begin{itemize}
    \item a text editor
    \item extremely configurable
    \item one of the first ``free software'' programs
  \end{itemize}

  \sheader{Some other ``E'' programs}
  \begin{itemize}
    \item[eclipse] A modern IDE
  \end{itemize}
\end{frame}

% F is for fsck
\framef
\begin{frame}{\ande \\ \abcf}
  \header{fsck is}
  \begin{itemize}
    \item the ``file system checker''
    \item used to repair broken file systems
    \item not used as much on journalizing filesystems
  \end{itemize}

  \sheader{Some other ``F'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% G is for grep
\frameg
\begin{frame}{\abcg}
  \header{grep is}
  \begin{itemize}
    \item a text search utility
    \item named after g/re/p from old UNIX editors
  \end{itemize}

  \sheader{Some other ``G'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% H is for halt
\frameh
\begin{frame}{\andg \\ \abch}
  \header{halt is}
  \begin{itemize}
    \item a way to shutdown your computer
    \item can call other command such as kexec
    \item see also: shutdown, reboot, init, telinit
  \end{itemize}

  \sheader{Some other ``H'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% I is for indent
\framei
\begin{frame}{\abci}
  \header{indent is}
  \begin{itemize}
    \item a source code formatter
    \item used to convert brace styles, indentation, etc
  \end{itemize}

  \sheader{Some other ``I'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% J is for join
\framej
\begin{frame}{\andi \\ \abcj}
  \header{join is}
  \begin{itemize}
    \item a relational operator
    \item matches lines in two different files
    \item see also: cut, paste, cat
  \end{itemize}

  \sheader{Some other ``J'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% K is for kill
\framek
\begin{frame}{\abck}
  \header{kill is}
  \begin{itemize}
    \item the UNIX Task Manager
    \item can signal processes
    \item see also: pkill, killall
  \end{itemize}

  \sheader{Some other ``K'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% L is for lex
\framel
\begin{frame}{\andk \\ \abcl}
  \header{lex is}
  \begin{itemize}
    \item a lexical analysier or ``lexer''
    \item often used to create programming languaes
  \end{itemize}

  \sheader{Some other ``L'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% M is for more
\framem
\begin{frame}{\abcm}
  \header{more is}
  \begin{itemize}
    \item a paginator
    \item prints out a file or command output page by page
    \item less is a more advanced version which can scroll up
  \end{itemize}

  \sheader{Some other ``M'' programs}
  \begin{itemize}
    \item[most] yet another paginator
  \end{itemize}
\end{frame}

% N is for nice
\framen
\begin{frame}{\andm \\ \abcn}
  \header{nice is}
  \begin{itemize}
    \item used to controll process priority
    \item only for the default process scheduler
    \item see also: ionice
  \end{itemize}

  \sheader{Some other ``N'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% O is for od
\frameo
\begin{frame}{\abco}
  \header{od is}
  \begin{itemize}
    \item ``octal dump''
    \item can also dump out hex, binary, floating point, etc
  \end{itemize}

  \sheader{Some other ``O'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% P is for passwd
\framep
\begin{frame}{\ando \\ \abcp}
  \header{passwd is}
  \begin{itemize}
    \item used to change your login password
    \item see also: shadow, pam, getent, htpasswd
  \end{itemize}

  \sheader{Some other ``P'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% Q is for quota
\frameq
\begin{frame}{\abcq}
  \header{quota is}
  \begin{itemize}
    \item used to limit disk usage
    \item see also: limit, ulimit
    \item (I've never actually used it)
  \end{itemize}

  \sheader{Some other ``Q'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% R is for ranlib
\framer
\begin{frame}{\andq \\ \abcr}
  \header{ranlib is}
  \begin{itemize}
    \item generates an index for an archive
    \item used during the compile process
  \end{itemize}

  \sheader{Some other ``R'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% S is for spell
\frames
\begin{frame}{\abcs}
  \header{spell is}
  \begin{itemize}
    \item a spell checker
    \item common version include: ispell, aspell (GNU), myspell/hunspell (OpenOffice)
  \end{itemize}

  \sheader{Some other ``S'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% T is for true
\framet
\begin{frame}{\ands \\ \abct}
  \header{true is}
  \begin{itemize}
    \item very simple
    \item just returns ``true''
    \item .. unless you're talking about GNU true
    \item see also: false
  \end{itemize}

  \sheader{Some other ``T'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% U is for uniq
\frameu
\begin{frame}{\abcu}
  \header{uniq is}
  \begin{itemize}
    \item used to remove duplicate lines
  \end{itemize}

  \sheader{Some other ``U'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% V is for vi
\framev
\begin{frame}{\andu \\ \abcv}
  \header{vi is}
  \begin{itemize}
    \item a text editor
    \item also vim, elvis, vile, nvi, busybox
  \end{itemize}

  \sheader{Some other ``V'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% W is for whoami
\framew
\begin{frame}{\abcw}
  \header{whoami is}
  \begin{itemize}
    \item print our our username
    \item used for scripting
  \end{itemize}

  \sheader{Some other ``W'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% X is, well, X
\framex
\begin{frame}{\andw \\ \abcx}
  \header{X is}
  \begin{itemize}
    \item the display server
    \item used for (almost) all graphical interfaces
    \item ``the largest program that doesn't actually do anything'' -somebody
    \item see also: wayland, mir, directfb
  \end{itemize}

  \sheader{Some other ``X'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% Y is for yes
\framey
\begin{frame}{\abcy}
  \header{yes is}
  \begin{itemize}
    \item used to repeat a line
    \item answers ``yes'' to any prompt
  \end{itemize}

  \sheader{Some other ``Y'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

% Z is for zcat
\framez
\begin{frame}{\andy \\ \abcz}
  \header{zcat is}
  \begin{itemize}
    \item a like cat for compressed files
    \item used for gzip files (Lempel-Ziv coding - LZ77)
    \item see also: bzip2, lzma, lzop
  \end{itemize}

  \sheader{Some other ``Z'' programs}
  \begin{itemize}
    \item[]
  \end{itemize}
\end{frame}

\end{document}
