]> Pileus Git - ~andy/sfvlug/commitdiff
Initial ABS's presentation
authorAndy Spencer <andy753421@gmail.com>
Sun, 17 Mar 2013 02:30:53 +0000 (02:30 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sun, 17 Mar 2013 02:30:53 +0000 (02:30 +0000)
abcs/abc.tex [new file with mode: 0644]
abcs/makefile [new file with mode: 0644]
abcs/poem.tex [new file with mode: 0644]
abcs/poem.txt [new file with mode: 0644]

diff --git a/abcs/abc.tex b/abcs/abc.tex
new file mode 100644 (file)
index 0000000..6221bbb
--- /dev/null
@@ -0,0 +1,497 @@
+\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}
diff --git a/abcs/makefile b/abcs/makefile
new file mode 100644 (file)
index 0000000..6233327
--- /dev/null
@@ -0,0 +1,2 @@
+clean:
+       rm -f *.aux *.log *.nav *.out *.pdf *.snm *.toc *.vrb
diff --git a/abcs/poem.tex b/abcs/poem.tex
new file mode 100644 (file)
index 0000000..4b477d6
--- /dev/null
@@ -0,0 +1,85 @@
+\newcommand{\abcframe}[4]{
+\begin{frame}
+  \begin{centering}
+    {\fontsize{40}{0}\selectfont #1}
+
+    \vspace{20}
+    {\fontsize{20}{0}\selectfont #2}
+
+    \vspace{20}
+    {\fontsize{40}{0}\selectfont \textbf{#3}}
+
+    \vspace{30}
+    {\fontsize{20}{0}\selectfont \textit{#4}}
+
+  \end{centering}
+\end{frame}
+}
+
+\newcommand{\abca}{\textbf{A is for awk, which runs like a snail.}}
+\newcommand{\abcb}{\textbf{B is for biff, which reads all your mail.}}
+\newcommand{\abcc}{\textbf{C is for cc, as hackers recall.}}
+\newcommand{\abcd}{\textbf{D is for dd, the command that does all.}}
+\newcommand{\abce}{\textbf{E is for emacs, which rebinds your keys.}}
+\newcommand{\abcf}{\textbf{F is for fsck, which rebuilds your trees.}}
+\newcommand{\abcg}{\textbf{G is for grep, a clever detective.}}
+\newcommand{\abch}{\textbf{H is for halt, which may seem defective.}}
+\newcommand{\abci}{\textbf{I is for indent, which rarely amuses.}}
+\newcommand{\abcj}{\textbf{J is for join, which nobody uses.}}
+\newcommand{\abck}{\textbf{K is for kill, which makes you the boss.}}
+\newcommand{\abcl}{\textbf{L is for lex, which is missing from DOS.}}
+\newcommand{\abcm}{\textbf{M is for more, from which less was begot.}}
+\newcommand{\abcn}{\textbf{N is for nice, which it really is not.}}
+\newcommand{\abco}{\textbf{O is for od, which prints out things nice.}}
+\newcommand{\abcp}{\textbf{P is for passwd, which reads in strings twice.}}
+\newcommand{\abcq}{\textbf{Q is for quota, a Berkeley-type fable.}}
+\newcommand{\abcr}{\textbf{R is for ranlib, for sorting ar table.}}
+\newcommand{\abcs}{\textbf{S is for spell, which attempts to belittle.}}
+\newcommand{\abct}{\textbf{T is for true, which does very little.}}
+\newcommand{\abcu}{\textbf{U is for uniq, which is used after sort.}}
+\newcommand{\abcv}{\textbf{V is for vi, which is hard to abort.}}
+\newcommand{\abcw}{\textbf{W is for whoami, which tells you your name.}}
+\newcommand{\abcx}{\textbf{X is, well, X, of dubious fame.}}
+\newcommand{\abcy}{\textbf{Y is for yes, which makes an impression.}}
+\newcommand{\abcz}{\textbf{Z is for zcat, which handles compression.}}
+
+\newcommand{\anda}{\textit{A is for awk, which runs like a snail, and}}
+\newcommand{\andc}{\textit{C is for cc, as hackers recall, while}}
+\newcommand{\ande}{\textit{E is for emacs, which rebinds your keys, and}}
+\newcommand{\andg}{\textit{G is for grep, a clever detective, while}}
+\newcommand{\andi}{\textit{I is for indent, which rarely amuses, and}}
+\newcommand{\andk}{\textit{K is for kill, which makes you the boss, while}}
+\newcommand{\andm}{\textit{M is for more, from which less was begot, and}}
+\newcommand{\ando}{\textit{O is for od, which prints out things nice, while}}
+\newcommand{\andq}{\textit{Q is for quota, a Berkeley-type fable, and}}
+\newcommand{\ands}{\textit{S is for spell, which attempts to belittle, while}}
+\newcommand{\andu}{\textit{U is for uniq, which is used after sort, and}}
+\newcommand{\andw}{\textit{W is for whoami, which tells you your name, while}}
+\newcommand{\andy}{\textit{Y is for yes, which makes an impression, and}}
+
+\newcommand{\framea}{\abcframe{A}{is for}{awk}{which runs like a snail}}
+\newcommand{\frameb}{\abcframe{B}{is for}{biff}{which reads all your mail}}
+\newcommand{\framec}{\abcframe{C}{is for}{cc}{as hackers recall}}
+\newcommand{\framed}{\abcframe{D}{is for}{dd}{the command that does all}}
+\newcommand{\framee}{\abcframe{E}{is for}{emacs}{which rebinds your keys}}
+\newcommand{\framef}{\abcframe{F}{is for}{fsck}{which rebuilds your trees}}
+\newcommand{\frameg}{\abcframe{G}{is for}{grep}{a clever detective}}
+\newcommand{\frameh}{\abcframe{H}{is for}{halt}{which may seem defective}}
+\newcommand{\framei}{\abcframe{I}{is for}{indent}{which rarely amuses}}
+\newcommand{\framej}{\abcframe{J}{is for}{join}{which nobody uses}}
+\newcommand{\framek}{\abcframe{K}{is for}{kill}{which makes you the boss}}
+\newcommand{\framel}{\abcframe{L}{is for}{lex}{which is missing from DOS}}
+\newcommand{\framem}{\abcframe{M}{is for}{more}{from which less was begot}}
+\newcommand{\framen}{\abcframe{N}{is for}{nice}{which it really is not}}
+\newcommand{\frameo}{\abcframe{O}{is for}{od}{which prints out things nice}}
+\newcommand{\framep}{\abcframe{P}{is for}{passwd}{which reads in strings twice}}
+\newcommand{\frameq}{\abcframe{Q}{is for}{quota}{a Berkeley-type fable}}
+\newcommand{\framer}{\abcframe{R}{is for}{ranlib}{for sorting ar table}}
+\newcommand{\frames}{\abcframe{S}{is for}{spell}{which attempts to belittle}}
+\newcommand{\framet}{\abcframe{T}{is for}{true}{which does very little}}
+\newcommand{\frameu}{\abcframe{U}{is for}{uniq}{which is used after sort}}
+\newcommand{\framev}{\abcframe{V}{is for}{vi}{which is hard to abort}}
+\newcommand{\framew}{\abcframe{W}{is for}{whoami}{which tells you your name}}
+\newcommand{\framex}{\abcframe{X}{is, well}{X}{of dubious fame}}
+\newcommand{\framey}{\abcframe{Y}{is for}{yes}{which makes an impression}}
+\newcommand{\framez}{\abcframe{Z}{is for}{zcat}{which handles compression}}
diff --git a/abcs/poem.txt b/abcs/poem.txt
new file mode 100644 (file)
index 0000000..5cb76bf
--- /dev/null
@@ -0,0 +1,27 @@
+A is for awk, which runs like a snail, and
+B is for biff, which reads all your mail.
+C is for cc, as hackers recall, while
+D is for dd, the command that does all.
+E is for emacs, which rebinds your keys, and
+F is for fsck, which rebuilds your trees.
+G is for grep, a clever detective, while
+H is for halt, which may seem defective.
+I is for indent, which rarely amuses, and
+J is for join, which nobody uses.
+K is for kill, which makes you the boss, while
+L is for lex, which is missing from DOS.
+M is for more, from which less was begot, and
+N is for nice, which it really is not.
+O is for od, which prints out things nice, while
+P is for passwd, which reads in strings twice.
+Q is for quota, a Berkeley-type fable, and
+R is for ranlib, for sorting ar table.
+S is for spell, which attempts to belittle, while
+T is for true, which does very little.
+U is for uniq, which is used after sort, and
+V is for vi, which is hard to abort.
+W is for whoami, which tells you your name, while
+X is, well, X, of dubious fame.
+Y is for yes, which makes an impression, and
+Z is for zcat, which handles compression.
+               -- THE ABC'S OF UNIX