To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit 45a815ec authored by nilsl's avatar nilsl
Browse files

Merge branch 'master' of gitlab.ethz.ch:thealternative/courses

parents 5271f71f b0a8fb30
Name,percent
Unix,71.4
Windows,28.6
Unix,71.0
Windows,29.0
Name,percent
Apache,40.5
Nginx,31.7
Cloudflare Server,13.2
Microsoft-IIS,7.8
other,5.8
Apache,36.1
Nginx,32.5
Cloudflare Server,16.0
Microsoft-IIS,7.7
other,7.7
# for the slide detailing that cryptography/security should be FOSS
https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle
No preview for this file type
\input{../.style/header}
\title{Free and Open Source Software}
\author{Horea Christian}
\author{Alexander Schoch}
\institute{SSC TheAlternative | ETHZ and UZH}
\DTLloaddb{server}{data/web_servers.csv}
......@@ -340,7 +340,7 @@
\vspace{-0.75em}
\centering\tiny
\DTLpiechart{radius=0.235\textheight,variable=\quantity,innerlabel={\DTLpiepercent\%},outerlabel=\name,cutaway={1-2}}{server}{\name=Name,\quantity=percent}
\caption{Web Server Market Share 2020-02-26 via \href{http://w3techs.com/technologies/overview/web_server/all}{w3techs}}
\caption{Web Server Market Share 2020-10-06 via \href{http://w3techs.com/technologies/overview/web_server/all}{w3techs}}
\end{figure}
\column{0.5\linewidth}
\begin{figure}[htbp]
......@@ -349,7 +349,7 @@
\DTLsetpiesegmentcolor{1}{green!40}
\DTLsetpiesegmentcolor{2}{red!40}
\DTLpiechart{radius=0.265\textheight,variable=\quantity,innerlabel={\DTLpiepercent\%},outerlabel=\name,cutaway={2}}{os}{\name=Name,\quantity=percent}
\caption{Website OS Market Share 2020-02-26 via \href{http://w3techs.com/technologies/overview/operating_system/all}{w3techs}}
\caption{Website OS Market Share 2020-10-06 via \href{http://w3techs.com/technologies/overview/operating_system/all}{w3techs}}
\end{figure}
\end{columns}
\end{frame}
......@@ -436,7 +436,7 @@
\item Come to the next “Linux Days” events:
\textcolor{lg}{\url{http://thealternative.ch/}}
\item Join the next “Stammtisch”:\\
\textcolor{lg}{18:00 Thursday, March 5 - Katholische Hochschulgemeinde Zürich AKI, 2nd floor, Hirschengraben 86, 8001}
\textcolor{lg}{This will not take place due to the coronavirus}
\item Give us feedback!\\
\textcolor{lg}{\url{https://feedback.thealternative.ch/}}
\end{itemize}
......@@ -448,7 +448,7 @@
\end{itemize}
%separate sources from info so it looks nicer
\begin{itemize}
\item \textcolor{lg}{License:} \href{https://creativecommons.org/licenses/by-sa/3.0/}{CC BY-SA 4.0}
\item \textcolor{lg}{License:} \href{https://creativecommons.org/licenses/by-sa/3.0/}{Slides by Alexander Schoch/Christian Horea, CC BY-SA 4.0}
\end{itemize}
\end{frame}
\begin{frame}{References}
......
This is a public repository that contains a collection of our current (and past) LinuxDays courses.
# Downloading the course material
# Courses
Our course material (slides and several guides) are available as PDFs:
- [Free and Open Source Software](https://gitlab.ethz.ch/thealternative/courses/blob/master/FOSS_course/slides.pdf)
- [Introduction to Linux](https://gitlab.ethz.ch/thealternative/courses/blob/master/intro_course/slides.pdf)
- [Install Guide](https://gitlab.ethz.ch/thealternative/courses/blob/master/install_event/installguide_complete.pdf)
- [Console Toolkit Part 1](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/console_toolkit_1.pdf)
- [Console Toolkit Part 1&2](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/console_toolkit_2.pdf)
- [Console Toolkit Exercises](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/exercise_files/exercises.pdf)
- [Bash Course (Slides)](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/pres/pres.pdf)
- [Bash Course (Guide)](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/guide/guide.pdf)
- [Bash Course Exercises](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/exercisesheet/sheet.pdf) and [Solutions](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/exercisesheet/sol.pdf)
This is a public repository that contains a collection of our current (and past) LinuxDays courses.
Introduction:
- [Free and Open Source Software (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/FOSS_course/slides.pdf)
- [Introduction to Linux (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/intro_course/slides.pdf)
- [Install Guide](https://thealternative.ch/guides/install.php)
- [Bash Guide](https://thealternative.ch/guides/bash.php)
Console & Bash:
- [Console Toolkit Part 1 (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/console_toolkit_1.pdf)
- [Console Toolkit Part 1&2 (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/console_toolkit_2.pdf)
- [Console Toolkit Exercises (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/console_toolkit/exercise_files/exercises.pdf)
- [Bash Course (Slides) (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/pres/pres.pdf)
- [Bash Course (Guide) (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/guide/guide.pdf)
- [Bash Course Exercises (.pdf)](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/exercisesheet/sheet.pdf) and [Solutions](https://gitlab.ethz.ch/thealternative/courses/blob/master/bash_course/exercisesheet/sol.pdf)
Tools:
- [Git](https://thealternative.ch/courses/git/git.html)
# Cloning the repository
......
No preview for this file type
# Welcome to the Bash Workshop!
* If you prefer to work on your own, already know programming or are confident in your abilities, please **sit in the back**.
<!-- -->
* If you prefer guided exercises, are completely new to programming, or want to have your hands held, please **sit in the front**.
* Please turn of your camera for the lecture part of the course, we only have 2GB of RAM on this server
* If there are any technical problems, let me know!
---
author:
- Aline Abler
- Nicolas König
title: Bash Workshop
---
......@@ -78,19 +78,19 @@ title: Bash Workshop
### Meaning of strings
echo Hello World
ls my file
* `echo`, `Hello` and `World` are single strings
* `ls`, `my` and `file` are single strings
* The first string becomes the command, all following become
*arguments*
<!-- -->
echo 'Hello World'
ls 'my file'
* Here, `Hello World` is just one string
* Here, `my file` is just one string
### Repeat after me
### Remember!
\bigtext{Every word is a single argument unless you use quotes.}
......@@ -111,7 +111,7 @@ title: Bash Workshop
[[1==3]]
* Bash's answer:
* Bash's answer:
bash: [[1==3]]: command not found
......@@ -119,7 +119,7 @@ title: Bash Workshop
[[ 1 == 3 ]]
### Repeat after me
### Remember!
\bigtext{If there's brackets, you probably need spaces.}
......@@ -151,7 +151,7 @@ title: Bash Workshop
* What bash sees
0
### Why is that important?
* *&&*, *||*, *if* and *while* all act based on the return value of something
......@@ -207,10 +207,41 @@ becomes
rm "$var"
### Repeat after me:
### Remember!
\bigtext{If there's a dollar, you probably need quotes!}
## Piping
### Glueing programs together
* Pipes allow us to connect different programs
* The output of one program is used as the input for another
### Glueing programs together
du -b
lists the size of all directories within the current one
sort -n
sorts the input numerically. So
du -b | sort -n
gives us a list of all subdirectories sorted by size.
### Glueing programs together
ls -l | cut -d' ' -f3 | sort | uniq
Complicated functionality can be created from very simple programs.
### Remember!
\bigtext{If you want to connect programs, you probably want pipes!}
# What bash is used for
## The whole point of bash
......@@ -252,22 +283,20 @@ becomes
## What happens now?
### Hands on!
#### Guided exercises
* Solve easy exercises in plenum
* Tailored to complete beginners
#### Self-driven exercises
* Self study using a guide
* Try some of our exercises
* Choose the exercises you find interesting! No need to go in order.
#### Guided exercises
* Solve easy exercises in plenum
* Tailored to complete beginners
* Please sit in the front
### Course material
* These slides, exercise sheet and bash guide: \
\soft{http://thealternative.ch}
* Please leave some feedback! \
\soft{http://feedback.thealternative.ch}
<!-- -->
* \soft{Theme by} Christian Horea, [CC BY](https://creativecommons.org/licenses/by/4.0/)
* \soft{Original Presentation by} Aline Abler
No preview for this file type
TEX=latexmk
TEXOPTS=-output-directory=build \
-pdf \
-latexoption=-interaction=nonstopmode \
-latexoption=-file-line-error
# Set PREVIEW=1 to enable preview. Make sure an appropriate viewer is
# configured in $HOME/.latexmkrc.
# Example usage: make PREVIEW=1 opendata
ifdef PREVIEW
PREVIEWOPTS=-pvc
endif
defaul: exercises
# To include the current git revision in the header, write it to 'GIT_TAG'
# file, which the LaTeX source can include.
gitrev:
@printf "r%s.%s" "$$(git rev-list --count HEAD)" "$$(git rev-parse --short HEAD)" > GIT_TAG
# Create build directory if it doesnt exist
builddir:
@[ -d build ] || mkdir build
# All documents need to be compiled twice.
# This is because some necessary information is only available after
# the first compiler run, like \pageref{LastPage}.
exercises: exercises.tex gitrev builddir
@$(TEX) $(TEXOPTS) $(PREVIEWOPTS) $<
mv build/exercises.pdf .
clean:
@rm -rf build/*
% vim: set ft=tex:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{TheAlternativeCourse}
% packages
\LoadClass[11pt]{scrartcl} % Base class: KOMA script article
\RequirePackage[utf8]{inputenc} % Support for german 'umlaut' (ä, ö, ü)
\RequirePackage{lastpage} % \pageref{LastPage}
\RequirePackage{scrlayer-scrpage} % KOMA Script header/footer package
\RequirePackage{graphicx} % \includegraphics{...}
\RequirePackage[showseconds=false,showzone=false]{datetime2}
\RequirePackage[table]{xcolor}
\RequirePackage[most]{tcolorbox}
\RequirePackage{hyperref}
% helvetica font
% \RequirePackage[scaled]{helvet}
% \RequirePackage[T1]{fontenc}
% \renewcommand\familydefault{\sfdefault}
% header / footer
\KOMAoptions{headsepline,headheight=27.5pt}
\setkomafont{pagehead}{\normalfont\normalcolor} % non-italic header font
\setkomafont{pagefoot}{\normalfont\normalcolor} % non-italic footer font
\newcommand{\builddate}{\footnotesize Revision: \input{GIT_TAG} \\ Build: \DTMNow}
\newcommand{\thealtlogo}{\includegraphics[width=4.5cm]{assets/logo.png}}
\lohead[\thealtlogo]{\thealtlogo}
\rohead[\builddate]{\builddate}
\cofoot[\footnotesize \thepage~/~\pageref{LastPage}]{\thepage~/~\pageref{LastPage}}
\recalctypearea%
\setlength{\voffset}{-1.2cm} % space before header
\setlength{\textheight}{1.15\textheight} % height of text
\definecolor{ldorange}{HTML}{F18A20}
\definecolor{ldblue}{HTML}{254471}
\definecolor{grey1}{HTML}{aaaaaa}
\definecolor{grey2}{HTML}{efefef}
\definecolor{lightblue}{HTML}{d9edfc}
\definecolor{exclamred}{HTML}{db1515}
\colorlet{lightyellow}{yellow!6!white}
\colorlet{darkeryellow}{red!15!yellow!40!white}
\newtcolorbox[auto counter, number within=section]{exercisebox}[2][]{%
colback=lightyellow,
fuzzy shadow={1mm}{-1mm}{0mm}{0.1mm}{black!50!white},
colframe=ldorange,
coltitle=black,
enhanced,
fonttitle=\bfseries,
title=Task~\thetcbcounter: #2,#1}
\newtcolorbox{cmdbox}{%
colback=grey2,
fuzzy shadow={1mm}{-1mm}{0mm}{0.1mm}{black!50!white},
enhanced,
colframe=grey1,
coltitle=black,
enhanced}
\newtcolorbox{tcbhintbox}{%
enhanced,
skin=bicolor,
segmentation at break=true,
boxrule=0.8pt,
left=3.5mm,
top=0.5mm,
bottom=0.5mm,
arc=1pt,
boxsep=2pt,
lefthand ratio=0.06,
sidebyside,
colframe=ldorange,
coltext=black,
colback=darkeryellow,
colbacklower=lightyellow,
}
\newcommand{\hintbox}[1]{%
\begin{tcbhintbox}
\includegraphics[width=8mm]{img/light_bulb.pdf}%
\tcblower%
#1
\end{tcbhintbox}}
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment