diff --git a/workshops/latex/beispieldokument/zeta_0.tex b/workshops/latex/beispieldokument/zeta_0.tex index 5628fda06c61166d5596fe178a2dcd9390851090..129dea00ce632f3193750fabaef0c9bb7de67306 100644 --- a/workshops/latex/beispieldokument/zeta_0.tex +++ b/workshops/latex/beispieldokument/zeta_0.tex @@ -40,21 +40,30 @@ Na klar. Im vorigen Unterabschnitt haben wir bemerkt, dass wir die Summe auffassen können als einen Grenzwert der Zetafunktion. -Epilog - -Dieser Teil soll nachher nicht im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -· Strukturierte Dokumente sind einfach mit \LaTeX. - -· Makros machen einem das Leben leicht. - -· Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - -· Referenzen auf alles mögliche, also (Unter)abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - -· Eigentlich ist das alles gar nicht so schwierig. +Epilog -- Ein paar Programmiertipps von Rob Pike + +Most programs are too complicated - that is, more complex than they +need to be to solve their problems efficiently. Why? Mostly +it's because of bad design, but I will skip that issue here because +it's a big one. But programs are often complicated at the +microscopic level, and that is something I can address here. + +You can't tell where a program is going to spend its + time. Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + +Measure. Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + +Fancy algorithms are slow when n is small, and n + is usually small. Fancy algorithms have big constants. Until you know that + n is frequently going to be big, don't get fancy. (Even if n does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + +Fancy algorithms are buggier than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_1.tex b/workshops/latex/beispieldokument/zeta_1.tex index fb7149ae7ba6838a7b5ea059de54b2c4f594d859..b6550a57a7112a04eac17085bec2d6520c934cc6 100644 --- a/workshops/latex/beispieldokument/zeta_1.tex +++ b/workshops/latex/beispieldokument/zeta_1.tex @@ -42,21 +42,30 @@ Na klar. Im vorigen Unterabschnitt haben wir bemerkt, dass wir die Summe auffassen können als einen Grenzwert der Zetafunktion. -Epilog - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -· Strukturierte Dokumente sind einfach mit \LaTeX. - -· Makros machen einem das Leben leicht. - -· Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - -· Referenzen auf alles mögliche, also (Unter)abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - -· Eigentlich ist das alles gar nicht so schwierig. +Epilog -- Ein paar Programmiertipps von Rob Pike + +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. + +\textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + +\textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + +\textcolor{red}{Fancy algorithms are slow when n is small}, and n + is usually small. Fancy algorithms have big constants. Until you know that + n is frequently going to be big, don't get fancy. (Even if n does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + +\textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_2.tex b/workshops/latex/beispieldokument/zeta_2.tex index f5d930cbb7f735e5f3b90d3ed660c09f9dff93a9..bf5f07f2e4d3e324910f8330c3e9185cedb9c0d7 100644 --- a/workshops/latex/beispieldokument/zeta_2.tex +++ b/workshops/latex/beispieldokument/zeta_2.tex @@ -44,21 +44,29 @@ Ergebnis führt. Im vorigen Unterabschnitt haben wir bemerkt, dass wir die Summe auffassen können als einen Grenzwert der Zetafunktion. -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -· Strukturierte Dokumente sind einfach mit \LaTeX. - -· Makros machen einem das Leben leicht. - -· Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - -· Referenzen auf alles mögliche, also (Unter)abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - -· Eigentlich ist das alles gar nicht so schwierig. +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. + +\textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + +\textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + +\textcolor{red}{Fancy algorithms are slow when n is small}, and n + is usually small. Fancy algorithms have big constants. Until you know that + n is frequently going to be big, don't get fancy. (Even if n does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + +\textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_3.tex b/workshops/latex/beispieldokument/zeta_3.tex index 0c12bbf92938dbc716c2a94deda64e25a96943b9..d059491c476614e5ffe8559172680640f4b943d4 100644 --- a/workshops/latex/beispieldokument/zeta_3.tex +++ b/workshops/latex/beispieldokument/zeta_3.tex @@ -46,19 +46,27 @@ Ergebnis führt. Im vorigen Unterabschnitt haben wir bemerkt, dass wir die Summe auffassen können als einen Grenzwert der Zetafunktion. -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -\begin{itemize} - \item Strukturierte Dokumente sind einfach mit \LaTeX. - \item Makros machen einem das Leben leicht. - \item Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - \item Referenzen auf alles mögliche, also (Unter)abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - \item Eigentlich ist das alles gar nicht so schwierig. -\end{itemize} +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. +\begin{enumerate} + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when n is small}, and n + is usually small. Fancy algorithms have big constants. Until you know that + n is frequently going to be big, don't get fancy. (Even if n does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. +\end{enumerate} \end{document} diff --git a/workshops/latex/beispieldokument/zeta_4.tex b/workshops/latex/beispieldokument/zeta_4.tex index 0cf7829fc97baada2a31ce98c47d4d534f84dc23..349fea8529713bccea7c1a9cd101c0b8d4c77d49 100644 --- a/workshops/latex/beispieldokument/zeta_4.tex +++ b/workshops/latex/beispieldokument/zeta_4.tex @@ -49,19 +49,27 @@ Ergebnis führt. Im vorigen Unterabschnitt haben wir bemerkt, dass wir die Summe auffassen können als einen Grenzwert der Zetafunktion, $\zeta(-1) = -1/12$. -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -\begin{itemize} - \item Strukturierte Dokumente sind einfach mit \LaTeX. - \item Makros machen einem das Leben leicht. - \item Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - \item Referenzen auf alles mögliche, also (Unter)$^n$abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - \item Eigentlich ist das alles gar nicht so schwierig. -\end{itemize} +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. +\begin{enumerate} + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when $n$ is small}, and $n$ + is usually small. Fancy algorithms have big constants. Until you know that + $n$ is frequently going to be big, don't get fancy. (Even if $n$ does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. +\end{enumerate} \end{document} diff --git a/workshops/latex/beispieldokument/zeta_5.tex b/workshops/latex/beispieldokument/zeta_5.tex index f3ea6f52b6f4f5d87a120d9fa115b9106c4b1a00..c3756901ef7b007c861afdb0b89d551f6e0291fd 100644 --- a/workshops/latex/beispieldokument/zeta_5.tex +++ b/workshops/latex/beispieldokument/zeta_5.tex @@ -68,29 +68,30 @@ Tabelle 1: Wert der $n$-ten Partialsumme \end{tabular} \end{center} -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -\begin{itemize} - \item Strukturierte Dokumente sind einfach mit \LaTeX. - \item Makros machen einem das Leben leicht. - \item Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - \item Referenzen auf alles mögliche, also (Unter)$^n$abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - \item Eigentlich ist das alles gar nicht so schwierig. -\end{itemize} - -\vfill -% Der Befehl vfill fügt einen vertikalen Abstand ein, der den übrigen Platz -% ausfüllt +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. +\begin{enumerate} + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when $n$ is small}, and $n$ + is usually small. Fancy algorithms have big constants. Until you know that + $n$ is frequently going to be big, don't get fancy. (Even if $n$ does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. +\end{enumerate} \begin{center} \includegraphics[width=0.5\textwidth]{ctanlion.eps} \end{center} -\vfill -% die beiden Abstände werden gleichmäßig verteilt. Das Bild erscheint also in -% der Mitte. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_6.tex b/workshops/latex/beispieldokument/zeta_6.tex index 03c78fc6b7ec9542801ac09146d52cbab0a196eb..bbf8953a5575dda7cc8bdc0e821ccff8d28e6101 100644 --- a/workshops/latex/beispieldokument/zeta_6.tex +++ b/workshops/latex/beispieldokument/zeta_6.tex @@ -69,29 +69,30 @@ können als einen Grenzwert der Zetafunktion, $\zeta(-1) = -1/12$. \end{center} \end{table} -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -\begin{itemize} - \item Strukturierte Dokumente sind einfach mit \LaTeX. - \item Makros machen einem das Leben leicht. - \item Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - \item Referenzen auf alles mögliche, also (Unter)$^n$abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - \item Eigentlich ist das alles gar nicht so schwierig. -\end{itemize} - -\vfill -% Der Befehl vfill fügt einen vertikalen Abstand ein, der den übrigen Platz -% ausfüllt +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. +\begin{enumerate} + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when $n$ is small}, and $n$ + is usually small. Fancy algorithms have big constants. Until you know that + $n$ is frequently going to be big, don't get fancy. (Even if $n$ does get + big, use 2. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. +\end{enumerate} \begin{center} \includegraphics[width=0.5\textwidth]{ctanlion.eps} \end{center} -\vfill -% die beiden Abstände werden gleichmäßig verteilt. Das Bild erscheint also in -% der Mitte. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_7.tex b/workshops/latex/beispieldokument/zeta_7.tex index 22cfe4dbdca603c425c17a1451d04cec9cddaf1c..61850307792aa1b05dd80672354f435b33966c10 100644 --- a/workshops/latex/beispieldokument/zeta_7.tex +++ b/workshops/latex/beispieldokument/zeta_7.tex @@ -72,29 +72,30 @@ können als einen Grenzwert der Zetafunktion, $\zeta(-1) = -1/12$. \end{center} \end{table} -\section*{Epilog} - -Dieser Teil soll nachher \textcolor{red}{nicht} im Inhaltsverzeichnis auftauchen, und -erhält damit auch keine Nummer. \\ -Außerdem: - -\begin{itemize} - \item Strukturierte Dokumente sind einfach mit \LaTeX. - \item Makros machen einem das Leben leicht. - \item Formeln -- und auch der ganze Rest -- sehen (noch nicht) toll aus. - \item Referenzen auf alles mögliche, also (Unter)$^n$abschnitte, - Gleichungen, Abbildungen, Tabellen, ... sind automatisch richtig. - \item Eigentlich ist das alles gar nicht so schwierig. -\end{itemize} - -\vfill -% Der Befehl vfill fügt einen vertikalen Abstand ein, der den übrigen Platz -% ausfüllt +\section*{Epilog -- Ein paar Programmiertipps von Rob Pike} +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. +\begin{enumerate} + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \label{measure}\textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when $n$ is small}, and $n$ + is usually small. Fancy algorithms have big constants. Until you know that + $n$ is frequently going to be big, don't get fancy. (Even if $n$ does get + big, use \ref{measure}. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. +\end{enumerate} \begin{center} \includegraphics[width=0.5\textwidth]{ctanlion.eps} \end{center} -\vfill -% die beiden Abstände werden gleichmäßig verteilt. Das Bild erscheint also in -% der Mitte. \end{document} diff --git a/workshops/latex/beispieldokument/zeta_8.tex b/workshops/latex/beispieldokument/zeta_8.tex index 21c601f1607c2ebf5ef9babc4a568943ee28c91c..87cde03e3a9cf87855087c2d14ca5bd61084d16a 100644 --- a/workshops/latex/beispieldokument/zeta_8.tex +++ b/workshops/latex/beispieldokument/zeta_8.tex @@ -71,24 +71,26 @@ können als einen Grenzwert der Zetafunktion, $\riemann$. \end{table} \section*{Epilog -- Ein paar Programmiertipps von Rob Pike} -Most programs are too complicated - that is, more complex than they need to be -to solve their problems efficiently. Why? Mostly it's because of bad design, -but I will skip that issue here because it's a big one. But programs are often -complicated at the microscopic level, and that is something I can address here. +Most programs are too \textbf{complicated} - that is, more complex than they +\textit{need} to be to solve their problems \textit{efficiently}. Why? Mostly +it's because of \textbf{bad design}, but I will skip that issue here because +it's a \textbf{\textcolor{red}{big}} one. But programs are often complicated at the +microscopic level, and that is something I can address here. \begin{enumerate} - \item You can't tell where a program is going to spend its - time. Bottlenecks occur in surprising places, so don't try to second - guess and put in a speed hack until you've proven that's where the - bottleneck is. - \item Measure. Don't tune for speed until you've measured, and even then don't - unless one part of the code overwhelms the rest. - \item Fancy algorithms are slow when $n$ is small, and $n$ is usually small. - Fancy algorithms have big constants. Until you know that $n$ is frequently - going to be big, don't get fancy. (Even if $n$ does get big, use Rule 2 - first.) For example, binary trees are always faster than splay trees for - workaday problems. - \item Fancy algorithms are buggier than simple ones, and they're much harder to - implement. Use simple algorithms as well as simple data structures. + \item \textcolor{red}{You can't tell where a program is going to spend its + time.} Bottlenecks occur in surprising places, so don't try to second + guess and put in a speed hack until you've proven that's where the + bottleneck is. + \item \label{measure}\textcolor{red}{Measure.} Don't tune for speed until you've measured, + and even then don't unless one part of the code overwhelms the rest. + \item \textcolor{red}{Fancy algorithms are slow when $n$ is small}, and $n$ + is usually small. Fancy algorithms have big constants. Until you know that + $n$ is frequently going to be big, don't get fancy. (Even if $n$ does get + big, use \ref{measure}. first.) For example, binary trees are always faster + than splay trees for workaday problems. + \item \textcolor{red}{Fancy algorithms are buggier} than simple ones, and + they're much harder to implement. Use simple algorithms as well as simple + data structures. \end{enumerate} \begin{center} \includegraphics[width=0.5\textwidth]{ctanlion.eps} diff --git a/workshops/latex/latex.tex b/workshops/latex/latex.tex index 02aeaa92adb2c543e3422e4e6d5439a39a74e72d..57debcf51662e1913d7b8dfea64fe8c005d9f2b0 100644 --- a/workshops/latex/latex.tex +++ b/workshops/latex/latex.tex @@ -666,6 +666,7 @@ \end{tikzpicture} \vspace{-6pt} \end{center} + \structure{URLs:} \highlightRed{\textbackslash url}\verb+{http://fsmpi.eu/latex}+ \\ \structure{Besondere Zeichen} \begin{itemize} \item {\bfseries\color{MidnightBlue}\%, "{}}: \texttt{\textbackslash\%}, \verb+"{}+