-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path00-intro.tex
93 lines (87 loc) · 2.55 KB
/
00-intro.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
% !TeX root = bash.tex
\section{Intro}
\begin{frame}
\frametitle{A brief history of bash}
\begin{figure}[h]
\centering
\includegraphics[height=3cm]{bash_logo}
\end{figure}
\begin{itemize}
\item Born: 1989
\item Probably played Pokémon on the Game Boy
\item Is an umbrella term for zsh, fish, …
\item Runs on Unix-like environments
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{A brief history of Unix}
\begin{figure}[h]
\centering
\includegraphics[height=3cm]{unix_logo}
\end{figure}
\begin{itemize}
\item Born: 1969
\item Probably listened to Michael Jackson
\item Gave rise to Linux, BSD, and Mac OS
\item We call them ``Unix-like''
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Unix: The Good Part}
The Unix philosophy (paraphrased):
\begin{itemize}
\item Store data in plain text
\item Hierarchical file system
\item Everything is a file
\item One tool does one thing
\item Tools together strong
\end{itemize}
\begin{block}{Quote}
The power of a system comes more from the relationships among programs than
from the programs themselves.
\begin{flushright}
— Brian Kernighan and Rob Pike
\footnote{The UNIX Programming Environment. 1984. viii}
\end{flushright}
\end{block}
\end{frame}
\begin{frame}
\frametitle{Unix: The Chaotic Part}
``Unix'' is mostly created by these three groups of people who routinely
disagree with each other:\footnote{Not convinced? Try \tt{man ps}.}
\begin{figure}[h]
\centering
\includegraphics[height=3cm]{gnu_linux_bsd}
\caption{GNU, Linux, and BSD\footnote{Yes, I know there are many BSDs}}
\end{figure}
Despite this, they all hate Microsoft.
We will be talking about GNU today.
\end{frame}
\begin{frame}
\frametitle{Before we start}
\begin{itemize}
\item This is \textbf{not} a Linux workshop
(although I encourage you to use it)
\item This is not a vim workshop either
\item You should use a \tt{monospace} font
\item Anyone caught using PowerShell will be kicked out of the venue
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Conventions in slides}
\begin{itemize}
\item \tt{\$} indicates a \textbf{bash command}.
Do not type the \tt{\$}.
\item \tt{\#} indicates a \textbf{comment}.
Do not type it or anything after it.
\end{itemize}
For example, when you see:
\begin{lstlisting}[language=bash]
$ echo hello # printf("hello\n");
\end{lstlisting}
You are going to type:
\begin{lstlisting}[language=bash]
echo hello
\end{lstlisting}
Then hit Enter. I encourage you to type commands by hand.
\end{frame}