Files
223015b/index.md
T

4210 lines
89 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
marp: true
theme: gaia
paginate: true
backgroundColor: #fff
header: "Dateiformate, Schnittstellen, Speichermedien & Distributionswege"
footer: "Michael Czechowski – HdM Stuttgart – WS 2025/26"
title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-dimmed);
}
</style>
![bg fit](./assets/digital-landscape.jpg)
<!-- Startbild: Futuristisches Netzwerk, Datenströme, oder digitale Landschaft -->
---
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
Modul "Technik 1" – 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
---
# Über mich
**Michael Czechowski**
- Softwareentwickler & IT-Berater
- Schwerpunkte: Web-Technologien, Systemarchitektur, Open Source
- Hintergrund: Philosophie & Informatik
- Kontakt: czechowski@hdm-stuttgart.de
<!--
Kurze Vorstellung
Praxisbezug betonen
Fragen jederzeit willkommen
-->
---
# Termine
| Datum | Zeit | Thema |
|-------|------|-------|
| 19.12.2025 | 14:15 – 17:30 | Grundlagen, Text & Audio |
| 09.01.2026 | 14:15 – 17:30 | Bild- & Videoformate |
| 23.01.2026 | 14:15 – 17:30 | Speichermedien & Schnittstellen |
| 30.01.2026 | 14:15 – 17:30 | Distribution, APIs & Zukunft |
| TBA | 14:15 – 17:30 | Vertiefung (wird bekannt gegeben) |
**Ort:** HdM Stuttgart, Nobelstraße 10
---
# Kurze Umfrage
**Bitte Hand heben:**
1. Wer hat schon mal eine Datei mit einem Hex-Editor geöffnet?
2. Wer weiß, was der Unterschied zwischen JPEG und PNG ist?
3. Wer hat schon mal mit APIs gearbeitet?
4. Wer weiß, was UTF-8 bedeutet?
5. Wer hat schon mal ein Video komprimiert/konvertiert?
<!--
Niveau der Gruppe einschätzen
Keine falschen Antworten
Zeigt, wo wir starten
-->
---
# Kursübersicht
**Ziel:** Verstehen, wie digitale Medien technisch funktionieren – von Bits bis zu globalen Distributionsnetzwerken
**5 Termine:**
- **19.12.** Bits, Bytes, Zeichenkodierung & Audio-Kompression
- **09.01.** Bild- & Video-Kompression
- **23.01.** Speichermedien & Hardware-Schnittstellen
- **30.01.** Distribution, APIs, Metadaten & Zukunft
- **TBA** Vertiefung & offene Fragen
<!--
Medienwissenschaftler:innen, nicht Informatiker:innen
Fokus: Warum funktionieren Dinge so? Welche Konflikte stecken dahinter?
Hands-On jede Woche (30-40 Min)
Narrative statt Faktenlisten
-->
---
<!-- _class: lead -->
# Termin 1 – 19.12.2025
## Grundlagen, Text & Audio
---
![bg right:40%](./assets/matrix-code.jpg)
# Mysterium
```
89 50 4E 47 0D 0A 1A 0A
00 00 00 0D 49 48 44 52
00 00 01 90 00 00 01 2C
```
**Was ist das?**
<!--
Hex-Dump ohne Erklärung auf Bildschirm werfen
Fragen in den Raum: "Was seht ihr?"
"Ist das Text? Ein Bild? Code?"
Überleitung: "Alles digital ist nur Zahlen. Heute lernen wir, sie zu lesen."
-->
---
# Das Bit
**Kleinste Informationseinheit**
- **0 oder 1**
- AN oder AUS
- Strom fließt oder nicht
![bg right:50%](./assets/lightbulb-onoff.jpg)
<!--
Bit = Binary Digit
Demonstration: Glühbirne AN/AUS = 1 Bit
Alles Digitale basiert darauf
Transistoren in CPUs: Milliarden Bits schalten Millionen Mal pro Sekunde
-->
---
# Das Byte
**8 Bits = 1 Byte**
```
0 1 0 0 1 1 0 1
```
**Wie viele Kombinationen?**
2⁸ = **256 Möglichkeiten** (0-255)
<!--
Rechnung gemeinsam: 2×2×2×2×2×2×2×2 = 256
Jedes Bit kann 0 oder 1 sein
256 verschiedene Werte mit 8 Bits darstellbar
-->
---
# Was kann man mit 256 Zuständen machen?
- **256 Zeichen** (Buchstaben, Zahlen, Symbole)
- **256 Graustufen** (0 = Schwarz, 255 = Weiß)
- **256 Lautstärkestufen**
- **Zahlen 0-255** (oder -128 bis +127)
![bg left:40%](./assets/grayscale-gradient.jpg)
<!--
1 Byte ist extrem limitiert
Für Farbbild: 3 Bytes pro Pixel (RGB)
R=0-255, G=0-255, B=0-255 → 256³ = 16,7 Millionen Farben
-->
---
# Farben: RGB-Modell
**1 Pixel = 3 Bytes**
- **Rot:** 0-255
- **Grün:** 0-255
- **Blau:** 0-255
**Beispiel:**
`FF 00 00` = Rot
`00 FF 00` = Grün
`FF FF FF` = Weiß
![bg right:40%](./assets/rgb-color-model.jpg)
<!--
RGB = Additive Farbmischung (Bildschirme)
CMYK = Subtraktive Farbmischung (Druck)
Hex-Notation: FF = 255 in Dezimal
CSS-Farben nutzen Hex: #FF0000 = Rot
-->
---
# Das Problem: Sprachen
**Die Welt hat mehr als 256 Zeichen!**
- Englisches Alphabet: 52 (A-Z, a-z)
- + Ziffern: 10 (0-9)
- + Sonderzeichen: ~30
**≈ 90 Zeichen → passt in 1 Byte**
**Aber:** ä, ö, ü, ß, é, à, ç, α, β, 中, 日, 😀
→ **1 Byte reicht nicht!**
<!--
Problem der Zeichenkodierung
ASCII (1963): 7 Bit = 128 Zeichen (nur Englisch)
ISO-8859-1 (Latin-1): 8 Bit = 256 Zeichen (Westeuropa)
Chaos: Verschiedene Standards für verschiedene Sprachen
-->
---
![bg](./assets/ascii-table.png)
<!--
ASCII-Tabelle (1963)
7 Bit = 128 Zeichen
Erste 32: Steuerzeichen (nicht druckbar)
Zeichen 32-126: Druckbar (Buchstaben, Ziffern, Satzzeichen)
Keine Umlaute, kein ñ, kein é
"American Standard" → Rest der Welt ausgeschlossen
-->
---
# Unicode: Ein Standard für alle
**Unicode (1991):**
Jedes Schriftsystem der Welt
**>150.000 Zeichen:**
- Latein, Kyrillisch, Arabisch, Chinesisch, Japanisch...
- Mathematische Symbole, Emoji, historische Schriften
**UTF-8:** Variable Länge (1-4 Bytes pro Zeichen)
<!--
Unicode Consortium: Non-Profit seit 1991
Aktuell: Unicode 16.0 (2024)
UTF-8 = Unicode Transformation Format, 8-bit
ASCII-kompatibel: "A" = 1 Byte (rückwärtskompatibel)
Umlaute: "ä" = 2 Bytes, Chinesisch: 3 Bytes, Emoji: 4 Bytes
-->
---
# Beispiel: Bytes zählen
**Text:** `"Why the fuck braucht 💩 4 Bytes?!"`
```
W h y → je 1 Byte (4 Bytes)
t h e → je 1 Byte (4 Bytes)
f u c k → je 1 Byte (4 Bytes)
→ 1 Byte (Leerzeichen)
b r a u c h t → je 1 Byte (7 Bytes)
→ 1 Byte
💩 → 4 Bytes! (0xF0 9F 92 A9)
→ 1 Byte
4 B y t e s ? ! → je 1 Byte (9 Bytes)
```
**Gesamt: 37 Bytes**
<!--
Buchstaben = 1 Byte (ASCII/UTF-8-kompatibel)
Emoji = 4 Bytes (Unicode-Bereich U+1F4A9)
Haufen-Emoji: "Pile of Poo" (offizieller Name!)
UTF-8-Kodierung: Variable Länge spart Speicher bei ASCII
-->
---
# Hexadezimal: Lesbarkeit
**Binär ist unleserlich:**
`01001101 01010000 00110011`
**Hexadezimal (Base 16):**
`4D 50 33` (= "MP3" in ASCII)
**Jede Hex-Ziffer = 4 Bits**
0-9, A-F (10=A, 11=B, ..., 15=F)
![bg right:40%](./assets/hex-binary-table.jpg)
<!--
Hex = Shortcut für Menschen, nicht für Computer
Computer denken binär, wir lesen hex
1 Byte = 2 Hex-Ziffern (00-FF)
Hex-Editor: Standard-Tool für Dateianalyse
-->
---
# Magic Numbers
**Dateityp-Identifikation durch erste Bytes**
| Format | Magic Number (Hex) | ASCII |
|--------|-------------------|-------|
| PNG | `89 50 4E 47 0D 0A 1A 0A` | `.PNG` |
| JPEG | `FF D8 FF` | `ÿØÿ` |
| PDF | `25 50 44 46` | `%PDF` |
| ZIP | `50 4B 03 04` | `PK` |
<!--
Magic Number = Signature am Dateianfang
Computer schauen in erste Bytes (nicht auf .jpg/.png)
"PK" = Phil Katz (Erfinder von PKZip)
Dateiendungen können lügen, Magic Numbers nicht
-->
---
![bg](./assets/hexeditor-screenshot.png)
<!--
Hex-Editor-Screenshot mit PNG-Datei
Erste Bytes: 89 50 4E 47 = PNG-Signatur
IHDR = Image Header (Breite, Höhe, Farbtiefe)
Zeigen, wie man Magic Number liest
Tool: HxD (Windows), Hex Fiend (Mac), xxd (Linux)
-->
---
# Hands-On: Mystery Files
**Aufgabe (30 Min):**
1. Drei Dateien ohne Extension: `mystery1`, `mystery2`, `mystery3`
2. Öffne im Hex-Editor
3. Lies erste 16 Bytes
4. Identifiziere Format (Magic Number)
5. Benenne um und öffne
**Tools:** hexed.it (online), HxD, Hex Fiend, Bless
<!--
Praktische Phase: Studierende arbeiten selbst
Dateien: PNG, JPEG, TXT (vorbereitet)
Gruppenarbeit: 3-4 Personen
Ziel: Hex-Dump lesen lernen, Dateiformate verstehen
-->
---
# Aufgabe bis nächste Woche
**Finde eine Datei auf deinem Computer**
1. Öffne im Hex-Editor
2. Screenshot der ersten 16 Bytes
3. Identifiziere Magic Number
4. Poste im Forum: Format + kurze Beschreibung
**Bonus:** Finde Datei ohne Magic Number in Standard-Listen
<!--
Selbstständiges Arbeiten
Forum: Peer-Learning, gegenseitige Hilfe
Bonus: Spornt Neugierige an
-->
---
<!-- _class: lead -->
# Teil 2: Die MP3-Revolution
## Psychoakustik & Audio-Kompression
---
![bg](./assets/cassette-ipod.jpg)
<!--
Kassette neben iPod
Visueller Kontrast: Analog vs. Digital
1980er vs. 2000er
-->
---
# Das Problem (1990)
**1 Minute CD-Audio:**
- Sample Rate: 44.100 Hz
- Bit Depth: 16 Bit
- Stereo: 2 Kanäle
**Rechnung:**
44.100 × 16 × 2 = 1.411.200 Bits/Sekunde
≈ **10,6 MB/Minute**
≈ **635 MB für 60-Min-Album**
**1990:** Festplatten hatten 100-500 MB!
<!--
CD-Qualität = Standard seit 1982
Ein Album = ganze Festplatte
Download bei 56k-Modem = Tage!
Streaming? Unmöglich.
-->
---
# Zwei Philosophien
![bg right:50%](./assets/compression-types.jpg)
**Lossless (Verlustfrei):**
- Original exakt wiederherstellbar
- ZIP, PNG, FLAC
- 30-50% Ersparnis
**Lossy (Verlustbehaftet):**
- Daten irreversibel verändert
- JPEG, MP3, H.264
- 90%+ Ersparnis
<!--
Lossless: Findet Muster, beschreibt effizienter
Lossy: Wirft "Unwichtiges" weg (Psychoakustik/Psychovisuell)
Trade-off: Größe vs. Qualität
-->
---
# Lossless: Run-Length Encoding
**Original:**
```
AAAAABBBCCCCCCCC
```
**Komprimiert:**
```
5A 3B 8C
```
**Ersparnis:** 16 → 6 Zeichen (62% Reduktion)
<!--
RLE = Simplest Compression Algorithm
Gut für repetitive Daten (Fax, simple Grafiken)
Schlecht für chaotische Daten (Fotos, Audio)
-->
---
# Lossy: Der Trick
**Kernidee:** Wirf weg, was der Mensch eh nicht wahrnimmt
**JPEG:** Schwächen des Auges
- Helligkeit besser als Farbe wahrgenommen
- Große Flächen besser als feine Details
**MP3:** Schwächen des Ohrs
- Mittlere Frequenzen besser als hohe/tiefe
- Laute Töne "maskieren" leise Töne
→ **Psychoakustik / Psychovisuell**
<!--
Auditory Masking: Lauter 1000 Hz-Ton → leise 950 Hz unhörbar
Visuelle Masking: Starker Kontrast überstrahlt Details
Kompression = Modell der menschlichen Wahrnehmung
-->
---
![bg](./assets/karlheinz-brandenburg.jpg)
<!--
Foto: Karlheinz Brandenburg
Fraunhofer IIS Erlangen
"Vater der MP3"
-->
---
# Die Geburt der MP3
**1982:** Universität Erlangen-Nürnberg
Karlheinz Brandenburg, Diplom-Ingenieur
**1987:** Fraunhofer IIS entwickelt MPEG-1 Audio Layer III
**1988:** Patentanmeldung
**1992:** Erste Software-Implementierung
**1995:** .mp3 Dateiendung offiziell
<!--
MPEG = Moving Picture Experts Group
Layer III = Dritte Verfeinerungsstufe
Forschung dauerte 10 Jahre
Patent lief 2017 aus
-->
---
![bg](./assets/suzanne-vega.jpg)
<!--
Suzanne Vega – "Tom's Diner" (1987)
Der erste Song, der als MP3 kodiert wurde
Karlheinz Brandenburg hörte ihn tausende Male
-->
---
# "Tom's Diner"
**Warum dieser Song?**
- A cappella (keine Instrumente)
- Suzanne Vegas Stimme ist "schwierig"
- Klare, hohe Frequenzen → Stresstest
*"If I could code Suzanne Vega's voice well, I could code anything."*
— Karlheinz Brandenburg
<!--
Brandenburg hörte Song 10.000+ Mal
A cappella = einfacher zu analysieren (nur Stimme)
Hohe Frequenzen = Herausforderung für Kompression
Perfektionismus: Jeder Hörtest musste bestehen
-->
---
# Wie funktioniert MP3?
**1. Frequenz-Analyse (FFT)**
Audio → Frequenzspektrum
**2. Psychoakustisches Modell**
Welche Töne hört Mensch nicht?
**3. Quantisierung**
Unwichtige Frequenzen reduzieren
**4. Huffman-Coding**
Lossless-Kompression der Restdaten
<!--
FFT = Fast Fourier Transform
Psychoakustik = Modell des menschlichen Gehörs
Quantisierung = Wo passiert Datenverlust
Huffman = Finaler Effizienz-Boost (lossless)
MP3 ist KEIN einfaches "Kleiner machen" – es simuliert dein Gehirn
-->
---
# Bitrate: Der Qualitäts-Knopf
| Bitrate | Qualität | Kompression |
|---------|----------|-------------|
| **128 kbps** | Hörbar schlechter | ~11x |
| **192 kbps** | Akzeptabel | ~7x |
| **256 kbps** | Gut | ~5,5x |
| **320 kbps** | "CD-Qualität" | ~4,4x |
**Original CD:** 1.411 kbps (unkomprimiert)
<!--
kbps = Kilobit pro Sekunde
128 kbps = Standard in 2000ern (Napster-Ära)
320 kbps = Maximum für MP3
Höhere Bitrate = mehr Daten = bessere Qualität
Aber: Diminishing Returns ab 256 kbps
-->
---
![bg](./assets/audio-spectrogram.jpg)
<!--
Spektrogramm-Vergleich
Original vs. 320 kbps vs. 128 kbps
Hohe Frequenzen verschwinden bei niedriger Bitrate
Visuell: Dunkle Bereiche = fehlende Frequenzen
-->
---
# Der Patentkrieg
**1990er:** Fraunhofer + Thomson halten MP3-Patente
**Lizenzgebühren:**
- $0,75 pro Decoder
- $2,50 pro Encoder
**Problem:** Napster (1999) → unkontrollierte Verbreitung
**2017:** Patente laufen aus → MP3 ist frei
<!--
Fraunhofer verklagte Winamp, andere Tools
Millionen nutzten unlizenzierte Software
Das Pferd war aus dem Stall
2017: Fraunhofer selbst erklärte MP3 für "veraltet" (AAC besser)
-->
---
![bg](./assets/napster-interface.jpg)
<!--
Napster-Screenshot (1999)
P2P-Filesharing für MP3s
Shawn Fanning, 19 Jahre alt
80 Millionen User in 2 Jahren
-->
---
# Napster & Musikindustrie
**1999:** Napster startet
**2001:** 80 Millionen User
**Musikindustrie:**
- CDs kosten $15-20
- MP3s gratis (illegal, aber egal)
- Einzelne Songs statt Alben
**2001:** Napster verklagt, geschlossen
**Aber:** Pandora's Box offen
→ LimeWire, Kazaa, BitTorrent, später Spotify
<!--
RIAA (Recording Industry Association of America) verklagte Napster
Urteil: Napster muss schließen (2001)
Aber: Technologie nicht mehr aufzuhalten
iPod (2001): "1.000 songs in your pocket"
iTunes Store (2003): Legale Alternative
Spotify (2008): Streaming-Ära beginnt
-->
---
# Kulturelle Revolution
**MP3 veränderte:**
✓ Musik wurde portabel (Walkman → iPod)
✓ Alben wurden irrelevant (Playlists)
✓ Musikkonsum explodierte (kostenlos/billig)
✓ Künstler verloren Kontrolle
**Aber auch:**
❌ Künstler verdienen weniger pro Stream
❌ Audio-Qualität sank (Loudness War)
❌ Physische Medien starben
<!--
Walkman (1979): Kassetten
Discman (1984): CDs
iPod (2001): MP3s
Spotify (2008): Streaming
Künstler-Einkommen: Album-Verkauf → Streaming-Pennies
Loudness War: Alles wird lauter gemastert (Dynamik verloren)
Vinyl-Revival: 2020er Gegenbewegung
-->
---
# Hands-On: MP3 sezieren
**Aufgabe (30 Min):**
1. Lade Lied runter (eigenes oder CC)
2. Konvertiere in verschiedene Bitraten:
- 320 kbps, 128 kbps, 64 kbps
3. Tool: Audacity (kostenlos)
4. Höre Unterschiede (Kopfhörer!)
5. Vergleiche Dateigrößen
**Optional:** Spektrogramm-Ansicht
<!--
Audacity: FOSS Audio-Editor
Export: Datei → Exportieren → MP3 → Bitrate wählen
Spektrogramm: Analysieren → Spektrogramm
Hohe Frequenzen verschwinden bei niedriger Bitrate
-->
---
# Aufgabe bis nächste Woche
**Nimm ein Lied (eigenes oder CC)**
1. Exportiere: WAV, MP3 320 kbps, MP3 128 kbps
2. Notiere: Dateigrößen, Höreindrücke
3. Poste im Forum: Screenshot + Reflexion
**Bonus:** Niedrigste Bitrate finden, bei der du keinen Unterschied hörst
<!--
WAV = Unkomprimiert (Referenz)
Goldenes Ohr: Manche hören Unterschied, manche nicht
Psychoakustik in Aktion: Subjektive Wahrnehmung
-->
---
<!-- _class: lead -->
# Termin 2 – 09.01.2026
## Bild-, Audio- & Videoformate
---
![bg](./assets/photo-comparison.jpg)
<!--
Links: Hochauflösend
Rechts: Stark komprimiert (JPEG-Artefakte sichtbar)
Instagram-Effekt
-->
---
# Was ist ein Bild?
**Digital = Pixelraster**
**Beispiel: 1920×1080 (Full HD)**
= 2.073.600 Pixel
**Jedes Pixel = 3 Bytes (RGB)**
2.073.600 × 3 = **6,2 MB**
**Für EIN Foto!**
<!--
Zoom auf Pixel-Ebene zeigen
Jedes Pixel = RGB-Tripel (3 Bytes)
6 MB × 10.000 Fotos = 62 GB
Smartphone-Speicher wäre schnell voll ohne Kompression
-->
---
# Lossless: PNG
**PNG = Portable Network Graphics (1996)**
**Funktionsweise:**
- Vorhersage (Pixel ähneln Nachbarn)
- Differenz-Encoding
- DEFLATE-Algorithmus (wie ZIP)
**Kompression:** 20-50% Ersparnis
**Gut für:** Screenshots, Logos, Text
**Schlecht für:** Fotos
<!--
PNG wurde entwickelt als GIF-Alternative (Patent-Probleme)
Lossless: Originaldaten bleiben erhalten
Transparenz: Alpha-Kanal (sanfte Übergänge)
DEFLATE: Gleicher Algorithmus wie ZIP
-->
---
# Lossy: JPEG
**JPEG = Joint Photographic Experts Group (1992)**
**Eigenschaften:**
- Lossy Kompression
- 90%+ Platzersparnis möglich
- Artefakte bei hoher Kompression
**6 MB → 500 KB** (typisch)
<!--
JPEG-Norm beschreibt nur Kompression, nicht Speicherformat
JFIF = JPEG File Interchange Format (das eigentliche Dateiformat)
Dateierweiterungen: .jpg, .jpeg, .jfif (alle gleich)
-->
---
![bg](./assets/jpeg-artifacts.jpg)
<!--
Beispiel: Stark komprimiertes JPEG
Blocking (8×8-Blöcke sichtbar)
Ringing (Geister um Kanten)
Color Banding (Verläufe "treppig")
-->
---
# Wie funktioniert JPEG? (1/2)
**Schritt 1: RGB → YCbCr**
- Y = Helligkeit (Luminanz)
- Cb/Cr = Farbe (Chrominanz)
**Warum?** Menschen sehen Helligkeit besser als Farbe
**Schritt 2: Chroma Subsampling**
Farbauflösung reduzieren (4:2:0)
→ 50% Datenmenge weg, kaum sichtbar
<!--
YCbCr = Farbraum-Konversion
Y = Brightness, Cb = Blue-Yellow, Cr = Red-Green
4:2:0 Subsampling: Farbe nur jedes 2. Pixel horizontal & vertikal
Auge merkt's kaum, weil Helligkeitssehen dominiert
-->
---
# Wie funktioniert JPEG? (2/2)
**Schritt 3: DCT (Discrete Cosine Transform)**
Bild in 8×8-Blöcke → Frequenzspektrum
**Schritt 4: Quantisierung**
Hohe Frequenzen (Details) stark reduzieren
→ **Hier passiert Datenverlust!**
**Schritt 5: Huffman-Coding**
Lossless-Kompression der Restdaten
<!--
DCT: Ähnlich wie FFT bei Audio
8×8 Blöcke: Warum JPEG "blocky" wird bei hoher Kompression
Quantisierung: Quality-Schieberegler steuert genau das
Huffman: Finale Effizienz (wie bei MP3)
-->
---
# JPEG Quality
| Quality | Dateigröße | Artefakte |
|---------|------------|-----------|
| **100** | ≈2-3 MB | Kaum |
| **85-90** | ≈200-400 KB | Minimal |
| **50** | ≈100 KB | Sichtbar |
**Sweet Spot: 85-90**
10x Kompression, für Menschen kaum unterscheidbar
<!--
Quality 100 = Minimum Compression (nicht lossless!)
Quality 85-90 = Standard für Web
Quality 50 = Sichtbare Artefakte (Blocking, Ringing)
Photoshop "Save for Web": Standard ist 60
-->
---
![bg](./assets/gif-animation.gif)
<!--
GIF-Animation (z.B. Meme)
256 Farben, aber Animationen möglich
-->
---
# Die GIF-Geschichte
**GIF = Graphics Interchange Format (1987)**
CompuServe (US-Online-Dienst)
**Features:**
- 256 Farben max (8-bit Palette)
- Lossless (für Palette)
- Animationen!
**1994 Twist:** Unisys hält Patent auf LZW-Kompression
→ Fordert Lizenzgebühren
→ **"Burn All GIFs!" Kampagne**
<!--
CompuServe: Früher Online-Dienst (1969-2009)
LZW = Lempel-Ziv-Welch Compression
Unisys Patent-Trolling: Erst Jahre nach GIF-Einführung
Community-Reaktion: Boykott, Suche nach Alternative
Ergebnis: PNG wurde entwickelt (1996)
-->
---
# PNG vs. GIF
**GIF:**
✓ Animationen
✓ Breite Unterstützung
❌ Nur 256 Farben
❌ Patent-Probleme (bis 2003)
**PNG:**
✓ Millionen Farben
✓ Alpha-Transparenz
✓ Patent-frei
❌ Keine Animationen (bis APNG, 2004)
**Ergebnis:** PNG für Grafiken, GIF für Memes!
<!--
APNG = Animated PNG (Firefox, Safari support)
WebP (Google, 2010): Animationen + bessere Kompression
GIF überlebte kulturell (Meme-Format)
"GIF" Aussprache: "Jif" vs. "Gif" – ewiger Streit
-->
---
# WebP & AVIF
**WebP (Google, 2010):**
- Lossy UND Lossless
- Animationen
- 25-35% kleiner als JPEG
**AVIF (2019):**
- Basiert auf AV1-Video-Codec
- 50% kleiner als JPEG
- HDR-Unterstützung
- Patent-frei
**Problem:** Browser-Support dauert Jahre
<!--
WebP: Von Google entwickelt, deshalb Skepsis
AVIF: Alliance for Open Media (Google, Netflix, Amazon, Mozilla...)
Browser-Support 2024: WebP fast überall, AVIF wachsend
JPEG bleibt dominant (Kompatibilität!)
-->
---
![bg](./assets/instagram-quality-loss.jpg)
<!--
Vorher/Nachher: Hochauflösend vs. Instagram-Upload
Sichtbare Qualitätsverluste
-->
---
# Warum Instagram eure Fotos "ruiniert"
**Upload-Pipeline:**
1. Dein Foto: 12 MP, 8 MB
2. Instagram skaliert: max. 1080px
3. Re-Kompression: JPEG Quality ~75
4. Endgröße: 200-400 KB
**Warum?**
- Speicherkosten (Milliarden Fotos!)
- Ladezeiten (Mobile)
- Bandbreite (günstiger)
<!--
Instagram ist keine Kunstgalerie
Optimiert für Geschwindigkeit, nicht Qualität
Facebook macht dasselbe
Lösung: Portfolio-Websites (eigene Kontrolle)
-->
---
# Hands-On: Kompression vergleichen
**Aufgabe (40 Min):**
1. Hochauflösendes Foto (eigenes oder CC)
2. Exportiere:
- PNG
- JPEG Q100, Q85, Q50
- WebP (optional)
3. Tool: **Squoosh.app** (Google-Tool)
4. Vergleiche: Dateigrößen, sichtbare Unterschiede
5. Wo werden Artefakte sichtbar?
<!--
Squoosh.app: Browser-basiert, keine Installation
Side-by-Side-Vergleich mit Zoom
Verschiedene Codecs testen
Studis sollen selbst "Sweet Spot" finden
-->
---
# Aufgabe bis nächste Woche
**Nimm ein Foto (eigenes oder CC)**
1. Exportiere: PNG, JPEG Q90, JPEG Q50
2. Vergleiche Größen & Qualität
3. Poste im Forum: Screenshot + Reflexion
**Fragen:**
- Welche Quality ist für dich "akzeptabel"?
- Wo siehst du zuerst Artefakte?
**Bonus:** Teste WebP oder AVIF
<!--
Selbstständiges Experimentieren
Subjektive Wahrnehmung (jeder anders)
Forum: Austausch über Ergebnisse
-->
---
<!-- _class: lead -->
# Teil 2: Video
## Kompression & Codecs
---
![bg](./assets/netflix-4k.jpg)
<!--
Netflix 4K-Streaming
Unmöglich ohne moderne Codecs
-->
---
# Das Problem: Video ist RIESIG
**1 Minute 4K-Video (3840×2160):**
- 30 fps (Bilder/Sekunde)
- Jedes Bild: 24,8 MB (unkomprimiert)
**Rechnung:**
30 × 24,8 MB = **744 MB/Sekunde**
× 60 Sekunden = **44,6 GB/Minute**
**2-Stunden-Film: 5,3 TB!**
<!--
4K = 3840×2160 Pixel = 8,3 Megapixel pro Frame
30 fps = Standard, Kino = 24 fps, Gaming = 60+ fps
Ohne Kompression: Unmöglich zu streamen oder speichern
-->
---
# Container vs. Codec
**Container = Die Box**
Verpackt Video, Audio, Untertitel, Metadaten
**Beispiele:** MP4, MKV, AVI, MOV
**Codec = Kompressionsalgorithmus**
Entscheidet, WIE Daten komprimiert werden
**Video-Codecs:** H.264, H.265, VP9, AV1
**Audio-Codecs:** AAC, MP3, Opus
<!--
Container ≠ Codec (häufiges Missverständnis!)
MP4 ist KEIN Codec, sondern Container
Schachtel-Analogie: Container = Karton, Codec = Inhalt
Ein MP4 kann H.264, H.265 oder AV1 enthalten
-->
---
![bg](./assets/container-codec-diagram.jpg)
<!--
Diagramm: Container mit verschiedenen Streams
Video-Track (H.264)
Audio-Track (AAC)
Untertitel-Track (SRT)
Metadaten (Titel, Künstler, etc.)
-->
---
# Video-Kompression: Drei Prinzipien
**1. Spatial Compression (Intra-Frame)**
Jedes Bild einzeln (wie JPEG)
→ I-Frames
**2. Temporal Compression (Inter-Frame)**
Nur Änderungen zwischen Bildern
→ P-Frames, B-Frames
**3. Motion Compensation**
"Ball bewegt sich von A nach B"
<!--
Spatial: Innerhalb eines Bildes (JPEG-ähnlich)
Temporal: Zwischen Bildern (zeitliche Redundanz)
Motion Compensation: Intelligente Vorhersage
→ 90%+ Effizienz durch temporale Kompression
-->
---
# I-Frames, P-Frames, B-Frames
**I-Frame (Intra):**
Vollständiges Bild (wie JPEG)
Groß, aber unabhängig
**P-Frame (Predicted):**
Referenziert vorherige Frames
Viel kleiner
**B-Frame (Bi-directional):**
Referenziert vorherige UND zukünftige Frames
Am effizientesten
**GOP:** I - B - B - P - B - B - P - B - B - I
<!--
GOP = Group of Pictures (typisch 12-15 Frames)
I-Frame: Alle 1-2 Sekunden nötig (für Seeking)
P-Frame: "Pixel X bewegt sich 5px rechts"
B-Frame: Komplex, aber beste Kompression
Wenn du vorspulst: Sucht nach nächstem I-Frame
-->
---
![bg](./assets/iframe-pframe-diagram.jpg)
<!--
Visualisierung: I/P/B-Frame-Abhängigkeiten
Pfeile zeigen Referenzen
I-Frame = Anker, P/B-Frames hängen dran
-->
---
# H.264: Der König
**H.264 / AVC (2003)**
**Warum dominant?**
✓ Exzellente Kompression (100:1 möglich)
✓ Hardware-Support (jedes Gerät seit ~2010)
✓ YouTube, Netflix, Blu-ray – alles H.264
**Features:**
- Variable Block-Größen (16×16 bis 4×4)
- Deblocking-Filter
- CABAC-Coding
<!--
AVC = Advanced Video Coding
MPEG-4 Part 10 = H.264 (gleicher Standard)
Revolutionierte Video-Streaming
Hardware-Decoder in CPUs/GPUs → Batterie-schonend
CABAC = Context-Adaptive Binary Arithmetic Coding
-->
---
# Das Patent-Problem
**H.264 ist NICHT frei!**
**MPEG-LA (Patent Pool):**
- 2.000+ Patente von ~30 Unternehmen
- Apple, Microsoft, Sony, Panasonic...
**Lizenzgebühren:**
- Hardware-Decoder: $0,20/Einheit
- Content-Distribution: Kostenlos für "Internet Broadcast"
**Problem:** Open-Source-Projekte in Grauzone
<!--
MPEG-LA = Licensing Authority
Firefox weigerte sich lange, H.264 zu supporten (Patent-Gründe)
Chromium musste extern linken
Patent-Pool: Firmen teilen Patente, gemeinsame Lizenzierung
"Free to View" Klausel: YouTube etc. kostenlos
-->
---
# H.265 / HEVC
**H.265 (2013):**
50% bessere Kompression als H.264
**ABER:** Patent-Desaster
**Drei (!) konkurrierende Patent-Pools:**
- MPEG-LA
- HEVC Advance
- Velos Media
→ Viele bleiben bei H.264 oder suchen Alternativen
<!--
HEVC = High Efficiency Video Coding
Technisch überlegen, aber juristisch Albtraum
Apple nutzt HEVC (iPhone-Videos)
Netflix zögert wegen Lizenzkosten
Fragmentierung verzögert Adoption
-->
---
![bg](./assets/youtube-vp9.jpg)
<!--
YouTube VP9-Logo
Google's Patent-freie Alternative
-->
---
# VP9: Googles Antwort
**VP9 (2013):**
Entwickelt von Google (On2-Akquisition)
**Eigenschaften:**
✓ Ähnlich H.265-Kompression
✓ KOSTENLOS, patent-frei (laut Google)
✓ YouTube nutzt VP9 für 4K
**Nachteile:**
❌ Hardware-Support langsam
❌ Höherer CPU-Aufwand
❌ Nicht universell wie H.264
<!--
On2 Technologies: Gekauft 2010 für $133M
VP8 → VP9 → AV1 (Evolution)
YouTube forciert VP9: 4K-Videos nur VP9/AV1
Hardware-Decoder erst ab ~2016 (langsame Adoption)
-->
---
![bg](./assets/av1-logo.jpg)
<!--
AV1-Logo
Alliance for Open Media
-->
---
# AV1: Die Open-Source-Revolution
**AV1 (2018):**
Alliance for Open Media: Google, Netflix, Amazon, Microsoft, Apple, Mozilla...
**Ziel:** Patent-freier, moderner Codec
**Features:**
✓ 30% besser als H.265
✓ Royalty-free, Open Source
✓ 8K, HDR, hohe Frame-Rates
**Stand 2025:**
YouTube, Netflix nutzen AV1 für 4K/8K
<!--
AOM = Alliance for Open Media (2015 gegründet)
Alle Big-Tech-Player vereint (historisch!)
"Fuck you" an Patent-Mafia
Problem: Encoding SEHR langsam (10-100x vs. H.264)
Hardware-Encoder kommen (ab 2020er-GPUs)
-->
---
# Adaptive Bitrate Streaming
**Problem:** Internet-Geschwindigkeit variiert
**Lösung:** Mehrere Qualitäten parallel
**MPEG-DASH / HLS:**
- 4K (20 Mbps)
- 1080p (5 Mbps)
- 720p (2,5 Mbps)
- 480p (1 Mbps)
- 240p (0,5 Mbps)
Segmente: 2-10 Sekunden
Player wählt dynamisch
<!--
DASH = Dynamic Adaptive Streaming over HTTP
HLS = HTTP Live Streaming (Apple)
Beide ähnlich, aber inkompatibel
Manifest-Datei: Liste aller Qualitäten
Player misst Bandbreite, wechselt live
→ Warum Netflix plötzlich pixelig wird
-->
---
![bg](./assets/streaming-quality-switch.jpg)
<!--
Visualisierung: Qualitätswechsel während Playback
Bandbreite schwankt → Player reagiert
-->
---
# Container im Detail
**MP4:**
- Standard für Web, Mobile
- H.264, H.265, AV1
- DRM-fähig
**MKV (Matroska):**
- Open Source, extrem flexibel
- Beliebig viele Audio-/Untertitel-Spuren
- Fast jeden Codec
**WebM:**
- Google, Web-optimiert
- Nur VP9/AV1 + Opus/Vorbis
<!--
MP4 = MPEG-4 Part 14 (ISO-Standard)
Matroska = Russisch: Matrjoschka (Puppen ineinander)
WebM = Subset von Matroska (HTML5-Video)
MKV vs. MP4: Offenheit vs. Kompatibilität
-->
---
# Hands-On: Video analysieren
**Aufgabe (40 Min):**
**Tool:** FFmpeg (CLI) oder HandBrake (GUI)
1. Download: CC-Video (Big Buck Bunny, ~1 Min)
2. Analysiere: `ffmpeg -i video.mp4` oder MediaInfo
3. Notiere: Container, Codec, Bitrate, Auflösung
4. Konvertiere:
- H.264, 1080p, 5 Mbps
- H.265, 1080p, 2,5 Mbps
5. Vergleiche: Größen, Encoding-Zeit, Qualität
<!--
Big Buck Bunny: Open-Source-Film (Blender Foundation)
FFmpeg: Swiss Army Knife für Video
HandBrake: GUI für FFmpeg (einfacher)
MediaInfo: Detaillierte Datei-Analyse
Encoding-Zeit: H.265 deutlich langsamer als H.264
-->
---
# Aufgabe bis nächste Woche
**Nimm kurzes Video (eigenes oder CC, max. 1 Min)**
1. Analysiere: Container, Codecs, Bitrate
2. Konvertiere: H.264 + H.265 (gleiche Qualität)
3. Poste im Forum:
- Dateigrößen
- Encoding-Zeiten
- Visueller Unterschied?
**Bonus:** AV1-Encoding (Warnung: SEHR langsam!)
<!--
MediaInfo oder ffprobe für Analyse
HandBrake für Konvertierung (einfacher als CLI)
Encoding-Zeit: H.265 ~5x langsamer, AV1 ~50x langsamer
Qualität: Bei gleicher Bitrate H.265 > H.264
-->
---
<!-- _class: lead -->
# Termin 3 – 23.01.2026
## Speichermedien & Schnittstellen
---
![bg](./assets/hdd-ssd-comparison.jpg)
<!--
HDD aufgeschraubt neben SSD-Platine
Mechanisch vs. Elektronisch
-->
---
# Rückblick: HDD vs. SSD
**HDD:**
- Mechanisch, magnetisch
- Langsam (~150 MB/s)
- Günstig (~20€/TB)
- Empfindlich (Stöße!)
**SSD:**
- Elektronisch, Flash
- Schnell (~500-7.000 MB/s)
- Teuer (~80-150€/TB)
- Write-Zyklen begrenzt
<!--
Wiederholung aus vorheriger Iteration (falls schon behandelt)
Oder erste Einführung, falls Woche 5 Startpunkt für Speicher
HDD: Platter, Lesekopf, 5.400-15.000 RPM
SSD: NAND-Flash (SLC/MLC/TLC/QLC)
-->
---
# Was fehlt? Dateisysteme!
**Dateisystem = Bibliothekskatalog für Festplatte**
**Aufgaben:**
- Dateien speichern & finden
- Metadaten verwalten
- Speicherplatz effizient nutzen
- Fehler erkennen & beheben
<!--
Ohne Dateisystem: Rohe Bytes, keine Struktur
Vergleich: Bibliothek ohne Katalog = Chaos
Jedes OS hat bevorzugtes Dateisystem
Windows: NTFS, macOS: APFS, Linux: ext4
-->
---
![bg](./assets/directory-tree.jpg)
<!--
Verzeichnisbaum-Visualisierung
Root → Ordner → Unterordner → Dateien
Unix: / (Root), Windows: C:\ (Laufwerk)
-->
---
# Partitionen & Volumes
**Partition:**
Zusammenhängender Bereich auf Festplatte
**Volume:**
Logische Einheit mit Dateisystem
**Beispiel:**
1 TB HDD → 2 Partitionen
- 500 GB Windows (NTFS)
- 500 GB Daten (exFAT)
<!--
Partitionstabelle: MBR (alt) vs. GPT (modern)
GPT = GUID Partition Table (128 Partitionen möglich)
EFI System Partition (ESP): Bootloader bei UEFI
LBA = Logical Block Addressing
-->
---
# Formatierung
**Schnellformatierung:**
- Löscht nur Metadaten
- Daten physisch noch da
- → Datenrettung möglich!
**Vollständige Formatierung:**
- Überschreibt mit Nullen
- Dauert länger, aber sicherer
<!--
Formatierung ≠ Löschen!
Schnellformat: "Inhaltsverzeichnis" wird gelöscht
Recuva, PhotoRec: Datenrettungssoftware
Sicheres Löschen: DBAN, shred, eraser
-->
---
# FAT (File Allocation Table)
**Geschichte:** 1977, Microsoft
**Versionen:**
- FAT16: Max. 2 GB
- FAT32: Max. 4 GB Dateien, 2 TB Partitionen
- exFAT: Keine 4 GB-Grenze
**Vorteil:** Universelle Kompatibilität
**Nachteil:** Keine Rechte, kein Journaling
<!--
FAT = Tabelle am Anfang der Partition
Verkettete Liste von Clustern
Fragmentierung: Cluster verstreut → langsam
USB-Sticks heute meist FAT32 (Kompatibilität!)
exFAT: Microsoft-Patent, seit 2019 in Linux-Kernel
-->
---
# NTFS
**NTFS = New Technology File System (1993)**
**Features:**
✓ Dateien >4 GB (bis 16 EB)
✓ Zugriffsrechte (ACLs)
✓ Journaling (Crash-Schutz)
✓ Kompression & Verschlüsselung
✓ Shadow Copies
**Nachteil:** Proprietär (nur Windows nativ)
<!--
Windows NT-Ära (1993)
Master File Table (MFT): Zentrale Datenbank
Journaling: Transaktionslog verhindert Datenverlust
ACL = Access Control List
EFS = Encrypting File System
Nachfolger: ReFS (Resilient FS, noch nicht Standard)
-->
---
# APFS
**Apple File System (2017)**
**Features:**
✓ Copy-on-Write (Speicherersparnis!)
✓ Snapshots (Time Machine)
✓ Native Verschlüsselung
✓ SSD-optimiert
**Nachteil:** Nur Apple-Geräte
<!--
Ersetzt HFS+ (1998)
Copy-on-Write: Datei kopieren = nur Pointer
Clones: Duplikate ohne Speicherplatz-Verdopplung
Space Sharing: Volumes teilen dynamisch Partition
FileVault 2 nutzt APFS-Verschlüsselung
-->
---
# ext4
**Fourth Extended File System (2008)**
Linux-Standard
**Features:**
✓ Journaling
✓ Extents (schneller)
✓ Max. 16 TB Dateien, 1 EB Partitionen
✓ Online-Defragmentierung
**Nachteil:** Windows/macOS können nicht nativ lesen
<!--
Evolution: ext (1992) → ext2 → ext3 → ext4
Extents: Zusammenhängende Blöcke als Einheit
Delayed Allocation: Schreibvorgänge gebündelt
fsck: File System Check (Reparatur-Tool)
Alternativen: btrfs (CoW, Snapshots), XFS, ZFS
-->
---
# Dateisysteme: Vergleich
| FS | OS | Max. Datei | Features |
|----|----|-----------:|----------|
| FAT32 | Alle | 4 GB | Kompatibilität |
| exFAT | Alle | 16 EB | Flash-optimiert |
| NTFS | Win | 16 EB | Journaling, ACLs |
| APFS | macOS | 8 EB | Snapshots, CoW |
| ext4 | Linux | 16 TB | Journaling |
<!--
EB = Exabyte = 1.000.000 TB
Kompatibilität: FAT32/exFAT für USB-Sticks
Performance: APFS/ext4 für SSDs
Sicherheit: APFS/NTFS für Verschlüsselung
-->
---
![bg](./assets/backup-disaster.jpg)
<!--
Symbolbild: Kaputte Festplatte, verzweifelter User
Oder: Ransomware-Warnung auf Bildschirm
-->
---
# Backup: Warum?
**Realität:**
- Festplatten sterben ohne Vorwarnung
- Ransomware verschlüsselt Daten
- Versehentliches Löschen
- Diebstahl, Brand, Wasserschaden
**Faustregel: 3-2-1**
Mindestens 3 Kopien, auf mindestens 2 unterschiedlichen Speichermedien und mindestens 1 an einem anderen Ort
<!--
Backblaze: 1-2% jährliche HDD-Ausfallrate
Ransomware 2023: 300%+ Anstieg (FBI)
Horror-Story: Pixar verlor fast "Toy Story 2" (1998)
Rettung: Mitarbeiterin hatte Home-Backup
3-2-1-Regel kommt gleich
-->
---
# Backup-Arten
**Vollständig (Full):**
Kompletter Datenbestand
Langsam, aber einfach
**Inkrementell:**
Nur Änderungen seit letztem Backup
Schnell, aber Wiederherstellung komplex
**Differenziell:**
Änderungen seit letztem Voll-Backup
Mittelweg
<!--
Vollbackup: Jeden Sonntag (500 GB)
Inkrementell: Mo-Sa Änderungen (10 GB/Tag)
Differenziell: Mo-Sa Änderungen seit Sonntag (wächst)
Wiederherstellung: Full = 1 Schritt, Inkr. = 7, Diff. = 2
-->
---
# 3-2-1-Regel
**3** Kopien (Original + 2 Backups)
**2** verschiedene Medientypen (SSD + HDD)
**1** Offsite-Backup (Cloud, externes Lager)
**Beispiel:**
Laptop + externe Festplatte + Cloud
<!--
3-2-1 ist MINIMUM, nicht Maximum!
Medientypen: SSD, HDD, Optical, Cloud, Tape
Offsite: Schutz vor lokalem Desaster
Versionierung: Auch alte Versionen aufbewahren
Automatisierung: Sonst vergisst man's
-->
---
# Backup-Software
**macOS:** Time Machine
**Windows:** Veeam Agent (kostenlos)
**Linux:** rsync, Borg, Restic
**Plattformübergreifend:** Duplicati, Syncthing
**Cloud:** Backblaze, Nextcloud
<!--
Time Machine: Stündliche Snapshots, APFS-Snapshots
Veeam: Enterprise-Level, kostenlose Version für Endnutzer
rsync: Unix-Tool seit 1996, extrem effizient
Borg: Deduplizierung + Verschlüsselung
Syncthing: P2P-Sync, kein zentraler Server
-->
---
![bg](./assets/bit-rot.jpg)
<!--
Visualisierung: Verfallende Daten
Oder: Alte Disketten, unlesbar
-->
---
# Langzeitarchivierung: Das Problem
**Digitale Daten altern:**
- Bit Rot (Degradation)
- Format-Obsoleszenz (WordPerfect .wpd)
- Hardware-Obsoleszenz (Diskettenlaufwerke)
**Lösung:**
Migration + offene Standards
<!--
Bit Rot: Daten verschlechtern sich über Zeit
HDDs: 10-20 Jahre, SSDs: 5-10 Jahre ohne Strom
Format-Obsoleszenz: WordPerfect dominant 1980-90er, heute tot
Hardware: Floppy, ZIP-Disks, heute unmöglich
Migration: Alle 5-10 Jahre auf neue Medien
Offene Standards: PDF/A, TIFF, TXT überleben
-->
---
![bg](./assets/lto-tape.jpg)
<!--
LTO-Kassette + Laufwerk
Magnetband-Technologie
-->
---
# Magnetbänder (LTO)
**Linear Tape-Open:**
- LTO-9 (2021): 18 TB nativ, 45 TB komprimiert
- Haltbarkeit: 30 Jahre
- Kosten: ~5€/TB (Laufwerk ~5.000€)
- Nutzung: Rechenzentren, Archive
**Air-Gap-Sicherheit:**
Offline-Band kann nicht von Ransomware verschlüsselt werden
<!--
LTO = Offener Standard seit 1998
LTO-9: 400 MB/s, 1 Million Durchläufe
AWS Snowball nutzt intern Tapes
Problem: Sequenzieller Zugriff (langsam für einzelne Dateien)
Cold Storage: Daten, die selten gebraucht werden
-->
---
![bg](./assets/m-disc.jpg)
<!--
M-DISC Blu-ray
Metallschicht statt Farbstoff
-->
---
# M-DISC (Millennial Disc)
**Eigenschaften:**
- DVD/Blu-ray-kompatibel
- Anorganische Metallschicht
- Haltbarkeit: 1.000 Jahre (Tests)
- Einsatz: Familienfotos, Archive
<!--
Millenniata entwickelt, 2009
Normale DVDs: Organischer Farbstoff zersetzt sich (10-25 Jahre)
M-DISC: Daten "eingraviert" (nicht Farbänderung)
US-Verteidigungsministerium: Tests bestätigt
Nachteil: Teurer (~5€ vs. 0,50€ normale Blu-ray)
-->
---
![bg](./assets/dna-helix.jpg)
<!--
DNA-Helix mit Binärcode überlagert
Futuristische Darstellung
-->
---
# DNA-Storage (Zukunft)
**Konzept:** Daten in DNA-Sequenzen
**Eigenschaften:**
- Speicherdichte: 215 Petabyte/Gramm (!!)
- Haltbarkeit: Tausende Jahre
- Kosten: Aktuell $3.500/MB
**Beispiele:**
Microsoft + Twist Bioscience
Netflix "Biohackers"-Episode (2021)
<!--
DNA = A, T, G, C (4 Basen)
Kodierung: Binär (00=A, 01=T, 10=G, 11=C)
Harvard (2017): Wikipedia (11 GB) in DNA
Problem: Synthese & Sequenzierung extrem langsam/teuer
Anwendung: Langzeitarchivierung (nicht Live-Daten)
-->
---
# Hands-On: S.M.A.R.T. & Backup
**Aufgabe 1 (20 Min):**
S.M.A.R.T.-Daten auslesen
- Windows: CrystalDiskInfo
- macOS/Linux: `smartctl -a /dev/sda`
- Notiere: Health, Power-On Hours, Temp
**Aufgabe 2 (20 Min):**
Test-Backup erstellen
- rsync (Linux/macOS) oder Robocopy (Windows)
- Simuliere Datenverlust → Wiederherstellung
<!--
S.M.A.R.T. = Self-Monitoring, Analysis, Reporting Technology
Reallocated Sector Count: >0 = Warnsignal!
Current Pending Sector: Kritisch!
Power-On Hours: >30.000h = alt
Backup-Test: Ungetestete Backups sind wertlos!
-->
---
# Aufgabe bis nächste Woche
**Analysiere dein System:**
1. Welches Dateisystem nutzt deine Hauptpartition?
2. Hast du ein Backup? Welche Art? Wo?
3. Poste im Forum: S.M.A.R.T.-Screenshot + Backup-Strategie
**Bonus:** Richte automatisches Backup ein
<!--
Selbstreflexion: 60-70% haben KEIN Backup!
Forum: Peer-Lernen, gegenseitige Motivation
Bonus: Wer's macht, hat echten Nutzen
-->
---
<!-- _class: lead -->
# Teil 2: Schnittstellen
## USB-C, HDMI & das Kabel-Chaos
---
![bg](./assets/cable-mess.jpg)
<!--
Kabelsalat: USB-A, USB-C, HDMI, DisplayPort, Lightning
Chaos der Standards
-->
---
# Was ist eine Schnittstelle?
**Schnittstelle = Verbindung zwischen Systemen**
**Hardware-Schnittstellen:**
Physischer Anschluss (USB, HDMI, Ethernet)
**Software-Schnittstellen:**
API (nächste Woche!)
**Heute:** Hardware-Fokus
<!--
Interface = Berührungspunkt zwischen Systemen
Definiert: Form, Pins, elektrische Signale, Protokoll
Ohne Standards: Jedes Gerät braucht eigenes Kabel
-->
---
![bg](./assets/pc-back-1990s.jpg)
<!--
PC-Rückseite 1990er
PS/2, Seriell, Parallel, SCSI, VGA – Chaos!
-->
---
# USB: Die Idee
**Universal Serial Bus (1996)**
**Ziel:** Ein Kabel für alles
**Vorher:**
- PS/2 (Maus, Tastatur)
- Seriell (Modem)
- Parallel (Drucker)
- SCSI (Festplatten)
**USB-Versprechen:**
✓ Ein Stecker, Hot-Pluggable, Stromversorgung
<!--
USB 1.0: 1996, Intel + Microsoft + Compaq
Vorher: Jedes Gerät eigener Port
Hot-Pluggable: Ein-/Ausstecken im laufenden Betrieb
Plug & Play: Automatische Erkennung
-->
---
# USB-Versionen: Chaos
| Version | Jahr | Geschwindigkeit | Marketing-Name |
|---------|------|----------------:|----------------|
| USB 1.0 | 1996 | 12 Mbps | – |
| USB 2.0 | 2000 | 480 Mbps | Hi-Speed |
| USB 3.0 | 2008 | 5 Gbps | USB 3.2 Gen 1 |
| USB 3.1 | 2013 | 10 Gbps | USB 3.2 Gen 2 |
| USB 3.2 | 2017 | 20 Gbps | USB 3.2 Gen 2×2 |
| USB 4 | 2019 | 40 Gbps | USB4 |
**NIEMAND versteht das mehr!**
<!--
USB-IF (Implementers Forum) = Marketing-Wahnsinn
USB 3.0 umbenannt in "USB 3.2 Gen 1" (2019)
Verwirrung absichtlich? Konspirations-Theorien...
USB 4 basiert auf Thunderbolt 3 (Intel spendete Spec)
-->
---
![bg](./assets/usb-c-cables.jpg)
<!--
Identisch aussehende USB-C-Kabel
Aber: Unterschiedliche Specs!
-->
---
# USB-C: Stecker ≠ Geschwindigkeit
**USB-C = Physischer Stecker (2014)**
**Eigenschaften:**
✓ Reversibel (beide Seiten gleich)
✓ 24 Pins (vs. 4 bei USB-A)
✓ Unterstützt: Daten, Strom, Video, Audio
**ABER:** USB-C sagt NICHTS über Geschwindigkeit!
Ein USB-C-Kabel kann sein:
- USB 2.0 (480 Mbps) 😱
- USB 3.2 Gen 2 (10 Gbps)
- USB 4 (40 Gbps)
- Thunderbolt 3/4 (40 Gbps)
- Oder nur Power Delivery (Laden, keine Daten!)
<!--
USB-C = "Auto" (sagt nichts über PS, Hubraum)
Kleingedrucktes lesen!
Billige Kabel oft nur USB 2.0 (Lade-Kabel)
Teuer ≠ besser (aber oft ja)
USB-IF Zertifizierung: Logo zeigt Spec an
-->
---
# USB Power Delivery
**USB PD (über USB-C):**
- Profile: 5V bis 20V
- Max. 5A
- Bis zu **240W** (USB PD 3.1, 2021)
**Anwendungen:**
- Laptop-Ladung (60-100W)
- Monitor mit Stromversorgung
- Docking-Stations
**Problem:** Nicht jedes Kabel unterstützt volles PD!
<!--
Standard USB: 5V, 0,5A = 2,5W
USB PD: Variable Spannung (Verhandlung zwischen Geräten)
Günstige Kabel: Oft nur 60W
Zertifizierte Kabel: 100W+
Laptop-Netzteil ersetzbar durch USB-C PD
-->
---
# USB-C: Das Wirrwarr
**Was ein USB-C-Kabel KÖNNEN KANN:**
**Daten:** USB 2.0 bis USB4 (40 Gbps)
**Strom:** 5W bis 240W
**Video:** DisplayPort Alt Mode, HDMI Alt Mode
**Audio:** USB Audio Class
**Problem:** Am Kabel steht's oft NICHT drauf!
<!--
Alt Mode: Andere Protokolle über USB-C-Kabel
DisplayPort Alt Mode: Häufig (Monitore)
HDMI Alt Mode: Selten
Trial & Error beim Kabelkauf
EU-Regulierung: Beschriftung gefordert (aber nicht umgesetzt)
-->
---
![bg](./assets/thunderbolt-logo.jpg)
<!--
Thunderbolt-Logo (Blitz-Symbol)
Intel + Apple Technologie
-->
---
# Thunderbolt: Premium-Schnittstelle
**Thunderbolt (Intel + Apple):**
- Thunderbolt 3/4 (2015/2020): USB-C, 40 Gbps
- **PCIe über Kabel** → externe GPUs!
- Daisychaining (bis 6 Geräte)
- 100W Power Delivery garantiert
**Nachteile:**
❌ Teuer (Kabel: 30-80€)
❌ Lizenzgebühren (Intel)
❌ Nur High-End-Geräte
<!--
Thunderbolt 1/2: Mini DisplayPort (2011-2013)
Thunderbolt 3: USB-C-Stecker, aber nicht jeder USB-C ist Thunderbolt!
PCIe über Kabel: Externe GPU-Gehäuse möglich
Daisychaining: Mehrere Geräte verketten (wie SCSI früher)
Zertifizierung: Blitz-Logo = echt Thunderbolt
-->
---
![bg](./assets/hdmi-cable.jpg)
<!--
HDMI-Kabel + Stecker
Heimkino-Standard
-->
---
# HDMI: Der Heimkino-Standard
**HDMI (2002):**
Entwickelt von Sony, Panasonic, Toshiba...
**Versionen:**
- HDMI 1.4 (2009): 4K @ 30 Hz, ARC
- HDMI 2.0 (2013): 4K @ 60 Hz, HDR
- HDMI 2.1 (2017): 8K @ 60 Hz, 4K @ 120 Hz, VRR
**Features:**
✓ Audio + Video in einem Kabel
✓ HDCP (Copy Protection)
✓ CEC (Gerätesteuerung)
**Nachteile:**
❌ Proprietär, Lizenzgebühren
❌ Keine Daisychaining
<!--
HDMI = High-Definition Multimedia Interface
ARC = Audio Return Channel (TV → Soundbar)
HDCP = High-bandwidth Digital Content Protection (DRM!)
CEC = Consumer Electronics Control (TV ein → Receiver ein)
Lizenzgebühren: ~$10.000 Jahresgebühr + $0,15/Gerät
-->
---
![bg](./assets/displayport-cable.jpg)
<!--
DisplayPort-Kabel + Stecker
PC-Gaming-Standard
-->
---
# DisplayPort: Die PC-Alternative
**DisplayPort (2006):**
VESA (Video Electronics Standards Association)
**Versionen:**
- DP 1.4 (2016): 8K @ 60 Hz, HDR
- DP 2.0 (2019): 16K @ 60 Hz, 8K @ 120 Hz
**Vorteile:**
✓ Lizenzfrei (keine Gebühren!)
✓ Daisychaining (Multi-Monitor)
✓ Adaptive Sync (FreeSync, G-Sync)
✓ USB-C Alt Mode
**Nachteil:** Weniger verbreitet in TVs
<!--
VESA = Non-Profit-Organisation
DisplayPort über USB-C: Häufig bei Laptops
Adaptive Sync: Synchronisiert Monitor-Refresh mit GPU (kein Tearing)
AMD FreeSync, NVIDIA G-Sync: Basieren auf DP Adaptive Sync
PC-Gamer bevorzugen DP (höhere Refresh-Rates)
-->
---
# HDMI vs. DisplayPort
| Feature | HDMI 2.1 | DisplayPort 2.0 |
|---------|----------|-----------------|
| **Max. Auflösung** | 8K @ 60 Hz | 16K @ 60 Hz |
| **Lizenz** | Ja (~$10k/Jahr) | Nein |
| **Daisychaining** | Nein | Ja |
| **Adaptive Sync** | VRR (neu) | Ja (nativ) |
| **USB-C** | Alt Mode (selten) | Alt Mode (häufig) |
| **Verbreitung** | TVs dominant | PCs/Monitore |
<!--
HDMI = Heimkino/Konsolen
DisplayPort = PC-Gaming/Workstations
Beide können das Gleiche (technisch)
Politik & Marketing entscheiden
-->
---
![bg](./assets/hdcp-warning.jpg)
<!--
HDCP-Fehler auf Bildschirm
"HDCP-Handshake fehlgeschlagen"
Schwarzer Bildschirm
-->
---
# HDCP: Copy Protection
**HDCP = High-bandwidth Digital Content Protection**
**Was ist das?**
- DRM für Video-Signale
- Verschlüsselt zwischen Quelle und Display
- Verhindert "Man-in-the-Middle"-Aufnahme
**Problem:**
- Alte Monitore: Kein HDCP 2.2 → 4K-Netflix funktioniert nicht!
- Capture-Cards oft blockiert
- "HDCP-Handshake-Fehler" → Schwarzer Bildschirm
**Kritik:** Schikaniert ehrliche Nutzer, Piraten umgehen es leicht
<!--
Intel entwickelt (2003)
HDCP 2.2: Für 4K-Content (Netflix, Amazon)
Handshake: Gerät authentifiziert sich
HDCP-Stripper: Hardware, die HDCP entfernt (legal gray area)
Classic DRM-Problem: Nervt Zahlende, nicht Piraten
-->
---
![bg](./assets/ethernet-cable.jpg)
<!--
Ethernet-Kabel (RJ45)
Netzwerkkabel
-->
---
# Ethernet: Das Netzwerkkabel
**Ethernet (1980er):**
**Versionen:**
- 100BASE-TX (1995): 100 Mbps
- 1000BASE-T (1999): 1 Gbps (Gigabit)
- 10GBASE-T (2006): 10 Gbps
**Kabel-Kategorien:**
- Cat5e: bis 1 Gbps (veraltet)
- Cat6: bis 10 Gbps (55m)
- Cat6a: bis 10 Gbps (100m)
**Stecker:** RJ45 (8P8C)
<!--
Ethernet = IEEE 802.3 Standard
BASE-T = Baseband, Twisted Pair (Kupfer)
RJ45: Häufigste Bezeichnung (technisch 8P8C)
Cat = Category (Kabel-Spezifikation)
PoE = Power over Ethernet (Strom + Daten)
-->
---
![bg](./assets/vintage-ports.jpg)
<!--
Alte Anschlüsse: VGA, PS/2, Seriell, Parallel
Nostalgie-Faktor
-->
---
# Veraltete Schnittstellen
**Seriell (RS-232):** 1960er, 115,2 kbps, Modems
**Parallel (LPT):** Drucker, 8 Bits gleichzeitig
**PS/2:** Maus + Tastatur (1987-2010er)
**VGA:** Analoges Video (1987-2010er)
**Heute:** Manchmal noch auf Mainboards (Legacy-Support)
<!--
RS-232: Noch in Industrie (Arduino, Sensoren)
Parallel: Schneller als Seriell (damals), aber durch USB ersetzt
PS/2: Color-Coded (Lila = Tastatur, Grün = Maus)
VGA: Manche Beamer haben's noch
Museumsbesuch: Diese Fossilien erinnern uns, Standards sterben
-->
---
# Hands-On: Schnittstellen identifizieren
**Aufgabe (30 Min):**
1. Untersuche deinen Laptop/Desktop
2. Welche Anschlüsse vorhanden?
3. Für USB-C: Welche Features? (Daten, Video, Laden?)
4. Teste: Schließe Gerät an verschiedenen Ports an
5. Dokumentiere: Foto + Beschriftung
**Tools:** Systeminfo (Win), System Report (Mac), lsusb (Linux)
<!--
Praktische Exploration
USB-C-Ports: Oft unterschiedlich (Thunderbolt vs. nur USB)
Manche Laptops: USB-C nur Laden, keine Daten!
Dokumentation: Verstehen, was man hat
-->
---
# Aufgabe bis nächste Woche
**Analysiere deine Kabel:**
1. Liste alle Kabel (USB, HDMI, etc.)
2. Identifiziere: Standard, Geschwindigkeit, Features
3. Ist es beschriftet? Verständlich?
4. Poste im Forum: Foto + das verwirrendste Kabel
**Bonus:** Finde USB-C-Kabel, das nur USB 2.0 kann
<!--
Kabel-Sammlung durchgehen
Bewusstsein schaffen: Was habe ich eigentlich?
Viele Lade-Kabel: USB-C, aber nur USB 2.0 (langsam!)
Forum: Erfahrungsaustausch, lustige Fundstücke
-->
---
<!-- _class: lead -->
# Termin 4 – 30.01.2026
## Distribution, APIs & Zukunft
---
![bg](./assets/sneakernet-truck.jpg)
<!--
LKW voller Festplatten (Symbolbild)
Sneakernet: Manchmal schneller als Internet!
-->
---
# Das Problem: Daten müssen reisen
**Szenario:** 100 TB von Berlin nach München
**Option 1: Internet-Upload**
- 1 Gbps Uplink = 125 MB/s
- Zeit: **9,3 Tage** (non-stop!)
**Option 2: Festplatte per Post**
- 10× 10TB HDDs (~2.000€)
- Kopieren: ~10 Stunden
- Versand: 1-2 Tage
- Gesamt: **~3 Tage**
*"Never underestimate the bandwidth of a station wagon full of tapes."* — Andrew Tanenbaum (1981)
<!--
Bandbreite vs. Latenz Trade-off
Internet: Hohe Latenz (9 Tage), aber sofort startbar
Post: Niedrige Latenz (3 Tage), aber Setup nötig
AWS Snowball existiert GENAU deswegen
-->
---
![bg](./assets/aws-snowmobile.jpg)
<!--
AWS Snowmobile: 45-Fuß-Container auf LKW
100 Petabyte Kapazität
-->
---
# AWS Snowball
**AWS Snowball (seit 2015):**
**Problem:** Petabytes on-premise → AWS-Cloud
**Geräte:**
- Snowball Edge: 100 TB
- **Snowmobile:** 100 PB (Container auf LKW!)
**Prozess:**
1. AWS schickt verschlüsseltes Gerät
2. Kunde kopiert Daten lokal (schnell!)
3. Gerät zurück an AWS
4. AWS lädt in S3 hoch
**Kosten:** Günstiger als Internet-Transfer bei >10 TB
<!--
Snowball: Ruggedized Storage-Gerät
Snowmobile: Für Exabyte-Scale (Rechenzentrum-Migration)
Verschlüsselung: 256-Bit AES
Physical Security: Tamper-resistant, GPS-Tracking
Use Case: Rechenzentrum-Umzüge, Film-Archive
-->
---
![bg](./assets/cd-dvd-bluray.jpg)
<!--
CD, DVD, Blu-ray nebeneinander
Evolution der optischen Medien
-->
---
# Physische Distribution
**CD (1982):** 700 MB
**DVD (1995):** 4,7 GB / 8,5 GB
**Blu-ray (2006):** 25 GB / 50 GB / 100 GB
**Problem heute:**
- Games: 50-150 GB (Call of Duty: 200+ GB!)
- Filme: Streaming überholt Blu-ray
- Disc = "License Key", Rest wird geladen
<!--
CD: Musik-Alben, Software (90er)
DVD: Filme, PS2-Games
Blu-ray: HD-Filme, PS3/PS4/PS5-Games
PS5: Blu-ray-Laufwerk, aber viele Games passen nicht mehr auf eine Disc
Disc oft nur Installer, Rest kommt aus Netz (Day-One-Patches)
-->
---
![bg](./assets/server-overload.jpg)
<!--
Server unter Last (symbolisch)
"Hug of Death" – zu viele Anfragen
-->
---
# Zentralisierte Distribution
**Klassisches Modell:** Ein Server, viele Clients
**Problem:**
1 Million User wollen 1 GB-Datei
→ Server braucht **1 PB Bandbreite!**
→ Server überlastet → **"Hug of Death"**
**Lösung:** Content Delivery Networks (CDNs)
<!--
Single Point of Failure
Keine Skalierbarkeit
Reddit-Hug-of-Death: Kleine Websites crashen bei Frontpage
Slashdot-Effekt: Gleiches Problem (2000er)
CDNs lösen das Problem
-->
---
![bg](./assets/cdn-map.jpg)
<!--
Weltkarte mit CDN-Knoten (Points of Presence)
Globale Verteilung
-->
---
# CDNs: Content Delivery Networks
**CDN = Verteiltes Netzwerk weltweit**
**Funktionsweise:**
1. **Origin Server** (Hauptquelle)
2. **Edge Servers** (geografisch verteilt)
3. User → nächster Edge Server
4. Erste Anfrage: Edge holt von Origin, cached
5. Weitere Anfragen: Direkt vom Edge (schnell!)
**Vorteile:**
✓ Reduzierte Latenz (geografische Nähe)
✓ Last-Verteilung
✓ Bandbreitenersparnis
<!--
PoP = Point of Presence (Edge-Standort)
Caching: Zwischenspeicherung beliebter Inhalte
TTL = Time To Live (wie lange cached?)
Große CDN-Anbieter: Cloudflare, Akamai, Amazon CloudFront, Fastly
-->
---
# CDN-Strategien
**Static Content:**
- Bilder, CSS, JS, Videos
- Lange Cache-Zeit (TTL: Tage/Wochen)
**Dynamic Content:**
- User-spezifisch (Profil)
- Kurze TTL oder nicht cachebar
**Cache Invalidation:**
- Versioning (`style.css` → `style.v2.css`)
- Cache-Purge (manuell leeren)
*"There are only two hard things in Computer Science: cache invalidation and naming things."* — Phil Karlton
<!--
Static: Logo einer Website (1 Jahr gecached)
Dynamic: Dein Facebook-Feed (immer aktuell)
Cache Invalidation: Schwer, weil globale Verteilung
Versioning: Neue Datei = neuer Cache-Eintrag
Purge: Manuelles Löschen (teuer, dauert Zeit)
-->
---
![bg](./assets/netflix-openconnect.jpg)
<!--
Netflix Open Connect Appliance
Server in ISP-Rechenzentren
-->
---
# Netflix: Fallstudie CDN
**Netflix Open Connect (eigenes CDN):**
**Strategie:**
- Server IN ISP-Rechenzentren (Telekom, Vodafone...)
- Popular Content vorgeladen (Predictive Caching)
- **95%+ Traffic vom lokalen ISP-Server**
**Zahlen (2024):**
- 200M+ Subscriber
- ~15% des globalen Internet-Traffics!
- Ohne CDN: Unmöglich
<!--
Open Connect: Kostenlose Appliances für ISPs
ISPs profitieren: Weniger Backbone-Traffic
Netflix profitiert: Günstigerer Transit
Predictive Caching: Neue Season "Stranger Things" → Vorgeladen
Peering: Direktverbindungen zwischen Netflix & ISPs
-->
---
![bg](./assets/p2p-network.jpg)
<!--
P2P-Netzwerk-Diagramm
Dezentral, jeder ist Client & Server
-->
---
# P2P: Peer-to-Peer
**P2P = Jeder ist Client UND Server**
**Philosophie:** Dezentralisierung
**Anwendungen:**
- BitTorrent (File-Sharing)
- IPFS (InterPlanetary File System)
- Blockchain (Bitcoin, Ethereum)
**Vorteil:** Skalierbar (mehr User = mehr Bandbreite!)
**Nachteil:** Langsam bei wenigen Peers, oft für Piraterie missbraucht
<!--
P2P vs. Client-Server: Kein zentraler Server
Last verteilt sich auf alle Teilnehmer
Je mehr User, desto schneller (umgekehrt zu Client-Server!)
Zensur-resistent: Kein Single Point of Failure
Rechtliche Grauzone: Technologie neutral, aber oft illegal genutzt
-->
---
![bg](./assets/bittorrent-swarm.jpg)
<!--
BitTorrent-Swarm-Visualisierung
Peers tauschen Chunks untereinander
-->
---
# BitTorrent: Wie funktioniert's?
**BitTorrent (Bram Cohen, 2001):**
**Komponenten:**
1. **.torrent-Datei:** Metadaten (Hashes, Tracker-URL)
2. **Tracker:** Vermittelt Peers
3. **Seeders:** Haben komplette Datei
4. **Leechers:** Laden noch
5. **Swarm:** Alle Peers zusammen
**Mechanismus:**
- Datei in Chunks (z.B. 256 KB)
- Jeder Peer lädt von verschiedenen Peers
- "Tit-for-tat": Wer uploaded, lädt schneller
<!--
Bram Cohen: Entwickelte BitTorrent 2001 (Python)
Tracker: Koordiniert Peers, aber speichert keine Daten
DHT (Distributed Hash Table): Tracker-loses BitTorrent
Chunks: Datei in kleine Stücke → Paralleler Download
Tit-for-tat: Fairness-Mechanismus (Upload = Download-Speed)
-->
---
![bg](./assets/pirate-bay-logo.jpg)
<!--
The Pirate Bay Logo (historisch)
BitTorrent-Index, kontroverser aber wichtiger Teil der Geschichte
-->
---
# BitTorrent & Piraterie
**2000er:** Musik-/Film-Piraterie-Revolution
**Napster (1999-2001):** Zentralisiert → Verklagt, Shutdown
**BitTorrent (2001+):** Dezentral → Schwerer zu verklagen
**The Pirate Bay (2003):** BitTorrent-Index
- Blockiert, zieht um, neue Domains
- **Whack-a-Mole-Spiel**
**Rechtliche Grauzone:**
- Protokoll selbst: Legal
- Inhalte: Oft illegal (Urheberrecht)
- Legitime Uses: Linux-ISOs, Open-Source, Public Domain
<!--
RIAA verklagte Napster (2001) → Erfolg
The Pirate Bay: Verklagt, Gründer im Gefängnis, aber Site lebt
Whack-a-Mole: Domain blocken → neue Domain
Torrent-Protokoll neutral (wie Messer: Legal, aber Verbrechen möglich)
Legitime Nutzung: Ubuntu-Download via Torrent (entlastet Server)
-->
---
![bg](./assets/ipfs-logo.jpg)
<!--
IPFS-Logo
InterPlanetary File System
-->
---
# IPFS: Dezentrales Web?
**IPFS = InterPlanetary File System (2015)**
**Vision:** Web ohne Server
**Funktionsweise:**
- **Content-Addressable:** Dateien durch Hash identifiziert
- **CID:** Content Identifier (`QmXyZ123...`)
- Datei auf vielen Knoten (wie BitTorrent, aber persistent)
- Abruf: "Gib mir Datei mit Hash X" (egal wo)
**Vorteile:** Zensur-resistent, kein Single Point of Failure
**Nachteile:** Langsam (noch), keine Verfügbarkeitsgarantie
**Anwendung:** NFT-Speicher
<!--
Protocol Labs (Juan Benet, 2014)
Content-Addressed: URL = Hash (ändert sich bei Änderung → Versionierung automatisch)
Pinning: Datei dauerhaft verfügbar halten (Knoten müssen hosten)
Gateway: IPFS über HTTP zugänglich (ipfs.io)
NFTs: Viele nutzen IPFS (aber nicht alle! Manche nur Links)
-->
---
![bg](./assets/streaming-hls.jpg)
<!--
Streaming-Pipeline: Encoder → CDN → Player
HLS/DASH-Segmente
-->
---
# Streaming: Real-Time-Distribution
**Streaming = Daten während Empfang konsumiert**
**Protokolle:**
- **HLS** (Apple): HTTP-basiert, Segmente
- **MPEG-DASH:** Standard, ähnlich HLS
- **WebRTC:** Browser-zu-Browser, niedrige Latenz
**Adaptive Bitrate:**
- Stream in mehreren Qualitäten (240p-4K)
- Player wechselt dynamisch
- Segmente: 2-10 Sekunden
**Latenz:**
- Traditional (HLS): 10-30 Sekunden
- Low-Latency HLS: 2-5 Sekunden
- WebRTC: <1 Sekunde (Videocalls)
<!--
HLS = HTTP Live Streaming
DASH = Dynamic Adaptive Streaming over HTTP
Adaptive Bitrate: Bandbreite schwankt → Qualität anpassen
Manifest-Datei: Liste aller Qualitäten & Segmente
Player-Logik: Misst Bandbreite, wählt beste Qualität
Latenz-Trade-off: Buffering vs. Real-Time
-->
---
# Hands-On: Torrent & CDN
**Aufgabe (40 Min):**
**Teil 1: BitTorrent (20 Min)**
1. Lade legalen Torrent (Linux-ISO: ubuntu.com)
2. Tool: qBittorrent oder Transmission
3. Beobachte: Peers, Seeders, Download-Speed, Upload-Speed
**Teil 2: CDN-Analyse (20 Min)**
1. Öffne populäre Website (z.B. nytimes.com)
2. Browser DevTools → Network-Tab
3. Schaue auf Requests: Welche CDN-Domains?
4. Response-Headers: `X-Cache`, `CF-Ray`, etc.
**Tools:** cdn77.com/cdn-check
<!--
Ubuntu-Torrent: Legitim, gut geseeded (schnell)
qBittorrent: FOSS, keine Ads (im Gegensatz zu uTorrent)
Swarm beobachten: Peers kommen/gehen
Upload-Speed: Ihr werdet zum Seeder!
DevTools: F12, Network-Tab, Seite neu laden
CDN-Domains: cdn.example.com, cloudfront.net, akamaihd.net
Headers: Zeigen Cache-Status, CDN-Provider
-->
---
# Aufgabe bis nächste Woche
**Analysiere Streaming-Dienst oder Website:**
1. Wähle: Netflix, YouTube, Spotify, News-Seite
2. DevTools (Network-Tab):
- Welcher CDN?
- Wie viele Requests an CDN vs. Origin?
- Cache-Headers?
3. Poste im Forum: Screenshot + Erkenntnisse
**Bonus:** Linux-ISO via Torrent, poste Peer-Stats
<!--
Selbstständige Exploration
Netflix: Schwer zu analysieren (verschlüsselt), aber CDN sichtbar
YouTube: Google CDN (googlevideo.com)
Spotify: Akamai CDN
Cache-Control Header: max-age, s-maxage, public/private
-->
---
<!-- _class: lead -->
# Teil 2: APIs
## Software-Schnittstellen & Protokolle
---
![bg](./assets/api-diagram.jpg)
<!--
API-Diagramm mit Pfeilen zwischen Apps
Software-Kommunikation visualisiert
-->
---
# Was ist eine API?
**API = Application Programming Interface**
**Analogie: Restaurant**
- Du (Client) → Speisekarte (API-Dokumentation)
- Bestellst (Request)
- Küche bereitet zu (Backend)
- Kellner bringt Essen (Response)
- Du weißt nicht, WIE gekocht wird – nur WAS du kriegst
**Typen:** Hardware-APIs, OS-APIs, Web-APIs, Library-APIs
<!--
API = Vertrag zwischen Software-Komponenten
Abstraktion: Implementierung verborgen, nur Interface sichtbar
Windows API, POSIX, OpenGL = Betriebssystem/Hardware-APIs
NumPy, React = Library-APIs
Web-APIs = Heute Fokus
-->
---
![bg](./assets/http-request-response.jpg)
<!--
HTTP Request/Response-Zyklus
Client → Server → Client
-->
---
# HTTP: Das Fundament
**HTTP = HyperText Transfer Protocol (1991)**
**Request-Struktur:**
- **Method:** GET, POST, PUT, DELETE
- **URL:** Resource-Identifier
- **Headers:** Metadaten (Content-Type, Authorization...)
- **Body:** Optional (bei POST/PUT)
**Response-Struktur:**
- **Status Code:** 200 OK, 404 Not Found, 500 Error
- **Headers:** Metadaten
- **Body:** HTML, JSON, XML, Binary...
<!--
HTTP = Tim Berners-Lee (1991, CERN)
Request-Response-Modell: Client fragt, Server antwortet
Stateless: Jede Anfrage unabhängig (keine Session am Server)
HTTPS = HTTP + TLS (Verschlüsselung)
-->
---
# HTTP-Methods: CRUD
**CRUD = Create, Read, Update, Delete**
| Method | CRUD | Beispiel |
|--------|------|----------|
| **GET** | Read | `/posts` → Alle Posts |
| **POST** | Create | `/posts` → Neuer Post |
| **PUT** | Update | `/posts/42` → Post ersetzen |
| **PATCH** | Update | `/posts/42` → Teilupdate |
| **DELETE** | Delete | `/posts/42` → Post löschen |
**GET = Idempotent** (mehrfach ausführen = gleiches Ergebnis)
<!--
CRUD: Basis-Operationen für Datenbanken
RESTful APIs nutzen HTTP-Methods für CRUD
Idempotenz: GET, PUT, DELETE → mehrfach = gleich
POST nicht idempotent: 2× POST → 2 neue Einträge
PATCH: Nur geänderte Felder (effizienter als PUT)
-->
---
![bg](./assets/rest-api.jpg)
<!--
REST-API-Struktur
Resources, URLs, HTTP-Methods
-->
---
# REST: Representational State Transfer
**REST (Roy Fielding, 2000):**
**Prinzipien:**
1. **Stateless:** Jede Anfrage eigenständig
2. **Resource-Based:** URLs = Ressourcen (`/users/123`)
3. **HTTP-Methods:** CRUD-Operationen
4. **Hypermedia:** Links zu verwandten Ressourcen
**Beispiel: Twitter-API**
```
GET /tweets/123 → Tweet mit ID 123
POST /tweets → Neuen Tweet erstellen
DELETE /tweets/123 → Tweet löschen
GET /users/alice/tweets → Tweets von Alice
```
<!--
Roy Fielding: Dissertation 2000 (definierte REST)
REST = Architektur-Stil,nicht Protokoll
Stateless: Server speichert keine Session (skalierbar!)
HATEOAS = Hypermedia as the Engine of Application State (selten implementiert)
REST-Vorteile: Einfach, cacheable, sprachunabhängig
REST-Nachteile: Over-/Under-Fetching
-->
---
# REST-Probleme
**Problem 1: Over-Fetching**
```
GET /users/123
→ Gibt zurück: Name, Email, Bio, Avatar,
Follower-Count, Posts, Friends...
```
Du willst nur Name → Kriegst 90% zu viel
**Problem 2: Under-Fetching**
```
GET /users/123 → User-Daten
GET /users/123/posts → Alle Posts
```
2 Requests statt einem
**Lösung:** GraphQL
<!--
Over-Fetching: Bandbreite-Verschwendung (Mobile!)
Under-Fetching: Latenz (2 Round-Trips statt 1)
REST-Workarounds: Query-Parameter (?fields=name,email)
Aber: Nicht standardisiert, jede API anders
-->
---
![bg](./assets/graphql-logo.jpg)
<!--
GraphQL-Logo
Facebook-Technologie
-->
---
# GraphQL: Die REST-Alternative
**GraphQL (Facebook, 2015):**
**Idee:** Client fragt EXAKT, was er braucht
**Query-Beispiel:**
```graphql
{
user(id: 123) {
name
email
posts(limit: 5) {
title
createdAt
}
}
}
```
**Vorteile:**
✓ Kein Over-/Under-Fetching
✓ Ein Endpoint (`/graphql`)
✓ Strongly Typed (Schema!)
<!--
Facebook entwickelte GraphQL für Mobile (2012)
Open-Source 2015
Schema = Typdefinitionen (wie TypeScript für APIs)
Introspection: Client kann Schema abfragen (selbst-dokumentierend)
Nachteile: Komplexer als REST, Caching schwieriger
-->
---
# GraphQL Schema
```graphql
type User {
id: ID!
name: String!
email: String
posts: [Post!]!
}
type Post {
id: ID!
title: String!
content: String!
author: User!
}
type Query {
user(id: ID!): User
posts: [Post!]!
}
type Mutation {
createPost(title: String!, content: String!): Post!
}
```
**`!` = Required (non-nullable)**
<!--
Schema-First-Design: Schema definieren, dann implementieren
Query: Daten lesen (wie GET)
Mutation: Daten ändern (wie POST/PUT/DELETE)
Subscription: Real-Time-Updates (WebSocket-basiert)
GraphQL Playground: Interactive API Explorer
-->
---
![bg](./assets/websocket-diagram.jpg)
<!--
WebSocket-Verbindung: Bidirektional, persistent
Im Gegensatz zu HTTP Request-Response
-->
---
# WebSockets: Real-Time
**Problem mit HTTP:**
- Request-Response-Zyklus
- Server kann nicht "pushen"
- Polling ineffizient
**WebSocket (2011):**
- **Bidirektionale Verbindung**
- Bleibt offen (Persistent)
- Server kann jederzeit senden
**Anwendungen:**
Chat (Discord), Live-Updates (Aktienkurse), Multiplayer-Games
<!--
HTTP: Server antwortet nur auf Anfrage
Polling: Client fragt jede Sekunde (ineffizient!)
Long-Polling: Besser, aber Workaround
WebSocket: Echte bidirektionale Verbindung
Handshake: HTTP-Upgrade-Request → WebSocket
-->
---
# WebSocket: Chat-Beispiel
**Flow:**
1. Alice öffnet Chat → WebSocket-Connection
2. Bob öffnet Chat → Eigene Connection
3. Alice tippt: "Hi Bob!"
4. Client sendet: `{"type": "message", "text": "Hi Bob!", "to": "bob"}`
5. Server leitet an Bobs Connection weiter
6. Bob empfängt, zeigt an
**Kein Polling! Instant!**
<!--
WebSocket-Frames: Text (JSON) oder Binary
Ping/Pong: Keepalive-Mechanismus
Protokoll: ws:// (unverschlüsselt), wss:// (verschlüsselt, wie HTTPS)
Socket.io: JavaScript-Library (vereinfacht WebSocket)
-->
---
![bg](./assets/grpc-logo.jpg)
<!--
gRPC-Logo
Google-Technologie
-->
---
# gRPC: Google's Approach
**gRPC = Google Remote Procedure Call (2015)**
**Idee:** Funktion auf Remote-Server aufrufen, als wäre es lokal
**Eigenschaften:**
- **Protocol Buffers (Protobuf):** Binär, kompakt (statt JSON)
- **HTTP/2:** Multiplexing, Bidirektional
- **Strongly Typed**
- **Code-Generierung** (Client/Server aus `.proto`-Datei)
**Vorteile:** Performance, Streaming
**Nachteile:** Nicht Browser-kompatibel, Debugging schwieriger
<!--
RPC = Remote Procedure Call (wie Funktionsaufruf über Netzwerk)
Protobuf: Google's Serialisierungsformat (wie JSON, aber binär)
HTTP/2: Multiplexing = mehrere Requests über eine Connection
Streaming: Server/Client/Bidirectional möglich
Use Case: Microservices (interne Kommunikation)
Browser: gRPC-Web als Workaround (Proxy nötig)
-->
---
# gRPC Beispiel
**`.proto`-Datei:**
```protobuf
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
rpc ListPosts (Empty) returns (stream Post);
}
message UserRequest {
int32 id = 1;
}
message UserResponse {
string name = 1;
string email = 2;
}
```
**Code-Generierung:** Client/Server-Code automatisch generiert
<!--
.proto = Protocol Buffer Definition
rpc = Remote Procedure Call (Funktionsdefinition)
stream = Server-seitige Streaming (Datenstrom)
Code-Gen: protoc-Compiler generiert Code für Go, Python, Java, C++, etc.
Type-Safety: Compiler prüft Typen
-->
---
# JSON: Das Standard-Format
**JSON = JavaScript Object Notation**
**Eigenschaften:**
- Textbasiert, menschenlesbar
- Schlüssel-Wert-Paare
- Unterstützt: Objekte, Arrays, Strings, Numbers, Booleans, null
**Beispiel:**
```json
{
"name": "Alice",
"age": 28,
"posts": [
{"title": "Hello", "views": 42},
{"title": "World", "views": 123}
]
}
```
<!--
JSON = Subset von JavaScript (aber sprachunabhängig)
Überall unterstützt: Jede Programmiersprache
UTF-8 Encoding (Emojis möglich!)
Kein Kommentar-Support (Kritikpunkt)
Alternativen: XML (verbose), YAML (menschenfreundlicher), Protobuf (binär)
-->
---
# Hands-On: API abfragen
**Aufgabe (40 Min):**
**Teil 1: REST-API (20 Min)**
1. Öffentliche API: `jsonplaceholder.typicode.com`
2. Tool: curl (Terminal) oder Postman (GUI)
3. Beispiele:
```bash
curl https://jsonplaceholder.typicode.com/posts/1
curl -X POST https://jsonplaceholder.typicode.com/posts \
-H "Content-Type: application/json" \
-d '{"title":"Test","body":"Hello","userId":1}'
```
4. Analysiere: Status-Code, Headers, Body
**Teil 2: WebSocket (20 Min)**
1. Öffne: `websocket.org/echo.html`
2. Verbinde, sende Nachrichten
3. Beobachte: Instant Response
<!--
JSONPlaceholder: Fake REST API für Testing
curl: Command-Line HTTP-Tool (Linux/macOS/Windows)
Postman: GUI-Alternative (einfacher)
-X POST: HTTP-Method
-H: Header setzen
-d: Data (Body)
WebSocket Echo: Server echot zurück (Test-Server)
-->
---
# Aufgabe bis nächste Woche
**Experimentiere mit öffentlicher API:**
1. Wähle:
- GitHub API (`api.github.com`)
- OpenWeather (`openweathermap.org/api`)
- PokéAPI (`pokeapi.co`)
2. Mache 3-5 Requests (curl, Postman, oder Code)
3. Poste im Forum:
- Welche API?
- Interessante Daten?
- Rate-Limiting erlebt? (429 Too Many Requests)
**Bonus:** Baue kleinen Client (Python, JavaScript, etc.)
<!--
GitHub API: Repositories, Users, Issues (kostenlos, aber Rate-Limit)
OpenWeather: Wetterdaten (API-Key nötig, Free Tier)
PokéAPI: Pokémon-Daten (keine Auth nötig)
Rate-Limiting: 429 Status Code (zu viele Requests)
Client bauen: Praktische Anwendung (Python requests, JavaScript fetch)
-->
---
<!-- _class: lead -->
# Teil 3: Metadaten
## Daten über Daten & Interoperabilität
---
![bg](./assets/exif-gps.jpg)
<!--
Foto mit eingeblendeten GPS-Koordinaten
EXIF-Daten visualisiert
Privacy-Albtraum
-->
---
# Was sind Metadaten?
**Metadaten = Daten über Daten**
**Beispiele:**
- **Foto:** Kamera, Datum, GPS, Belichtung
- **MP3:** Künstler, Album, Jahr, Genre, Cover
- **PDF:** Autor, Datum, Software
- **E-Mail:** Absender, Empfänger, Zeitstempel
**Warum wichtig?**
✓ Organisation, Suche
✓ Kontext (Wann/Wo/Wie?)
**Aber auch:**
❌ Privacy-Risiko, Forensische Spuren
<!--
"Data about data" = Standard-Definition
Metadaten oft wichtiger als Daten selbst (NSA: "We kill people based on metadata")
Jede Datei hat Metadaten (implizit oder explizit)
Header in Dateien: Erste Bytes oft Metadaten
-->
---
# EXIF: Exchangeable Image File Format
**EXIF (1995, Kamera-Hersteller):**
**Typische Daten:**
- Kamera-Modell (z.B. "iPhone 15 Pro")
- Datum & Uhrzeit
- Belichtung (Blende, Verschlusszeit, ISO)
- **GPS-Koordinaten** (Latitude, Longitude, Altitude)
- Software (z.B. "Photoshop 2024")
**Speicherort:** JPEG-Header (Binärformat)
**Tools:** exiftool, ExifPurge, metapicz.com
<!--
JEITA = Japan Electronic & Information Technology Industries Association
EXIF in JPEG, TIFF, WAV, etc.
GPS: Automatisch von Smartphones hinzugefügt (wenn Location-Services an)
Software: Zeigt, ob Bild bearbeitet wurde
Orientation: Landscape/Portrait (für Auto-Rotation)
-->
---
![bg](./assets/mcafee-exif-fail.jpg)
<!--
John McAfee Guatemala-Story (2012)
Vice Magazine veröffentlichte Foto mit GPS-EXIF
Aufenthaltsort verraten
-->
---
# EXIF: Privacy-Albtraum
**Szenario 1: Stalking**
- Foto auf Twitter: "Zuhause entspannen 🏡"
- EXIF: GPS 52.5200° N, 13.4050° E
- → Stalker weiß, wo du wohnst
**Szenario 2: Whistleblowing**
- Anonyme Quelle schickt PDF
- Metadaten: "Erstellt von: John Doe, Firma XY"
- → Quelle identifiziert
**Berühmter Fall:**
John McAfee (2012): Vice-Magazine vergaß EXIF zu entfernen
→ GPS verriet Aufenthaltsort in Guatemala
<!--
EXIF standardmäßig AN (die meisten wissen's nicht)
Jedes Handy-Foto = potentieller Fingerabdruck
Whistleblower: Reality Winner (2017) – NSA-Dokument mit Druckerspuren
Druckerspuren: Gelbe Punkte (Machine Identification Code)
-->
---
# Social Media & EXIF-Stripping
**Welche Plattformen entfernen EXIF?**
✓ **Twitter/X:** Ja (seit 2015)
✓ **Facebook/Instagram:** Ja (GPS entfernt)
✓ **Reddit:** Ja
❌ **WhatsApp:** Nein (privat, aber Metadaten bleiben)
❌ **E-Mail-Anhänge:** Nein
❌ **Cloud (Dropbox, Google Drive):** Nein
**Best Practice:** EXIF manuell entfernen vor Upload
```bash
exiftool -all= foto.jpg # Entfernt ALLE Metadaten
```
<!--
Twitter-Kritik 2015: Journalisten-Fotos verrieten Standorte
Facebook: GPS entfernt, aber Kamera-Modell bleibt
Signal: Entfernt EXIF automatisch
Telegram: Nicht immer (unsicher!)
Cloud: Originaldatei bleibt unverändert (gut für Backup, schlecht für Privacy)
-->
---
![bg](./assets/id3-tag-editor.jpg)
<!--
ID3-Tag-Editor (Screenshot)
MP3-Metadaten bearbeiten
-->
---
# ID3-Tags: Musik-Metadaten
**ID3 = Identification 3 (1996)**
**Versionen:**
- **ID3v1:** 128 Bytes am Ende (limitiert!)
- Titel (30 Zeichen), Artist, Album, Jahr
- **ID3v2:** Am Anfang, variable Länge
- Unbegrenzte Textfelder, Cover-Art, Lyrics, BPM
**Tools:**
- Kid3 (GUI, Multi-Platform)
- MusicBrainz Picard (Auto-Tagging!)
- mp3tag (Windows)
<!--
ID3v1: Ursprünglich (1996), sehr limitiert
Genre: Fixe Liste (0-255), nicht erweiterbar
ID3v2: Seit 1998, viel flexibler
Cover-Art: JPEG embedded in MP3 (APIC-Frame)
BPM: Beats per Minute (für DJs)
Composer: Unterschied zu Artist (klassische Musik)
-->
---
![bg](./assets/musicbrainz-logo.jpg)
<!--
MusicBrainz-Logo
Wikipedia für Musik-Metadaten
-->
---
# MusicBrainz: Offene Musik-Datenbank
**MusicBrainz (2000):**
**Idee:** Wikipedia für Musik-Metadaten
**Community-gepflegt:**
- Künstler, Alben, Tracks
- Relationships (Band-Mitglieder, Label...)
- Releases (verschiedene Editionen, Länder)
**MusicBrainz Picard:**
- Audio-Fingerprinting (AcoustID)
- Analysiert Waveform, matched mit Datenbank
- Auto-Tagging (auch bei falsch benannten Dateien!)
**Philosophie:** Open Data (gegen proprietäre Gracenote/CDDB)
<!--
MusicBrainz: Non-Profit, Community-driven
Gracenote: Sony-Tochter, proprietär, teuer
CDDB: Ursprünglich frei, dann kommerzialisiert (1998)
AcoustID: Akustischer Fingerabdruck (wie Shazam)
Picard: Python-basiert, FOSS
API: Frei nutzbar (Rate-Limited)
-->
---
# Dublin Core: Universelle Metadaten
**Dublin Core (1995, Dublin, Ohio):**
**15 Kern-Elemente:**
1. Title, 2. Creator, 3. Subject, 4. Description
5. Publisher, 6. Contributor, 7. Date, 8. Type
9. Format, 10. Identifier (ISBN, DOI)
11. Source, 12. Language, 13. Relation
14. Coverage, 15. Rights
**Anwendung:** Bibliotheken, Archive, Webseiten (HTML `<meta>`)
<!--
Dublin Core Metadata Initiative (DCMI)
Standard für Ressourcen-Beschreibung (nicht nur Dateien)
Einfach, aber universell
HTML: <meta name="DC.title" content="...">
Erweitert: Qualified Dublin Core (mehr Felder)
-->
---
![bg](./assets/pdf-metadata-leak.jpg)
<!--
PDF-Metadaten-Analyse (Screenshot)
Versteckte Informationen sichtbar
-->
---
# PDF-Metadaten: Hidden Dangers
**PDF-Metadaten (XMP):**
**Gespeichert:**
- Titel, Autor, Betreff, Keywords
- Erstellungsdatum, Änderungsdatum
- Software, **Company** (aus Office-Lizenz!)
**Versteckte Daten:**
- Änderungshistorie (Track Changes)
- Kommentare (vermeintlich gelöscht)
- Ebenen (InDesign, Illustrator)
**Berühmter Fall:**
Tony Blair Dossier (2003, Irak-Krieg)
→ PDF-Metadaten zeigten Manipulation
<!--
XMP = Extensible Metadata Platform (Adobe)
Company: Windows Office speichert Firmennamen aus Lizenz
Track Changes: Word → PDF kann History enthalten
Tony Blair: "Dodgy Dossier" – Copy-Paste aus Student-Arbeit nachgewiesen
PDF-Redaktion: Adobe Acrobat Pro "Sanitize Document"
Dangerzone: FOSS-Tool (Freedom of Press Foundation)
-->
---
# Interoperabilität: Offene vs. Proprietäre
**Offene Formate:**
✓ Spezifikation öffentlich
✓ Keine Lizenzgebühren
✓ Viele Programme unterstützen
**Beispiele:** PNG, OGG, MKV, Markdown, SVG
**Proprietäre Formate:**
❌ Spezifikation geheim
❌ Oft nur in einer Software voll nutzbar
❌ **Lock-in-Effekt**
**Beispiele:** PSD (Photoshop), INDD (InDesign), DWG (AutoCAD), .pages
<!--
Interoperabilität = Zusammenarbeit verschiedener Systeme
Lock-in: "Gefangene Daten" (nur in Software X öffenbar)
Firma geht pleite → Format stirbt (WordPerfect-Beispiel)
Offene Standards: Überlebensfähiger (Community kann implementieren)
-->
---
# Vendor Lock-in: Beispiele
**Fall 1: Microsoft Office (.docx)**
- Historisch: .doc undokumentiert
- LibreOffice konnte nicht perfekt konvertieren
- "Formatierung kaputt" → Zurück zu MS Office
**Fall 2: Adobe Creative Suite**
- PSD: Layer, Blend-Modes → Nur in Photoshop voll editierbar
- GIMP kann öffnen, aber Features fehlen
**Fall 3: Apple Ecosystem**
- .pages, .numbers, .key → Nur auf Apple native Bearbeitung
<!--
.docx: Heute Open XML (standardisiert), aber viele proprietäre Extensions
OOXML vs. ODF: Zwei konkurrierende Standards (beide ISO)
PSD: 30+ Jahre alt, extrem komplex
GIMP: Free, aber nicht Feature-Parität
Apple: Export zu Office-Formaten verliert Features
Lock-in = Business-Strategie
-->
---
# Datenmigration & Langzeitarchivierung
**Beispiele toter Formate:**
- WordPerfect (.wpd) – 1980-90er dominant, heute kaum lesbar
- Lotus 1-2-3 (.wks) – Spreadsheet, verschwunden
- Flash (.swf) – Millionen Websites/Games, seit 2020 tot
**Archivierungs-Strategien:**
1. **Migration:** Regelmäßig in aktuelle Formate konvertieren
2. **Emulation:** Alte Software in VM
3. **Offene Standards:** PDF/A, TIFF, Plain Text
<!--
Format-Tod: Unvermeidlich (30+ Jahre Lebensdauer selten)
WordPerfect: Marktführer 1980er, heute Museum
Flash: Adobe kündigte 2020 Support-Ende an
PDF/A: Archiv-PDF (Subset, keine interaktiven Features)
TIFF: Unkomprimiert, für Langzeitarchivierung
Plain Text: Überlebt alles (ASCII/UTF-8)
Migration alle 5-10 Jahre nötig
-->
---
# Metadaten für Accessibility
**Alt-Text (Alternative Text):**
```html
<img src="cat.jpg" alt="Orange tabby cat sleeping on windowsill">
```
**Warum?**
✓ Screen-Reader (Blinde/Sehbehinderte)
✓ SEO (Suchmaschinen)
✓ Fallback (Bild lädt nicht)
**PDF-Tags:** Strukturierte PDFs (Überschriften, Listen)
→ Screen-Reader kann navigieren
**Video:** Closed Captions (CC), Audio Descriptions
<!--
Alt-Text: Beschreibt Bild für Blinde (Screen-Reader liest vor)
Schlechter Alt-Text: "Bild123.jpg" (nutzlos!)
Guter Alt-Text: Beschreibend, kontextbezogen
PDF-Tags: "Tagged PDF" vs. "Untagged PDF"
Untagged: Für Screen-Reader oft unbrauchbar (nur Textstrom)
WCAG = Web Content Accessibility Guidelines (W3C)
ADA = Americans with Disabilities Act (USA, rechtlich)
-->
---
# Hands-On: Metadaten analysieren & entfernen
**Aufgabe (40 Min):**
**Teil 1: EXIF (20 Min)**
1. Nimm Foto (oder nutze altes)
2. Analysiere: `exiftool foto.jpg` oder metapicz.com
3. Notiere: GPS? Kamera-Modell? Software?
4. Entferne: `exiftool -all= foto.jpg`
5. Vergleiche Dateigrößen
**Teil 2: ID3 (20 Min)**
1. Nimm MP3-Datei
2. Analysiere: Kid3, mp3tag, oder exiftool
3. Ändere Tags (z.B. falscher Artist)
4. Optional: MusicBrainz Picard (Auto-Tagging)
<!--
exiftool: Command-Line, mächtig (alle Metadaten-Formate)
metapicz.com: Online, einfach
Dateigröße: EXIF-Daten können 10-50 KB sein
GPS-Schock: Viele wissen nicht, dass GPS gespeichert wird
Kid3: GUI, Cross-Platform
MusicBrainz Picard: Audio-Fingerprinting in Aktion
-->
---
# Aufgabe bis nächste Woche
**Metadaten-Audit:**
1. Wähle 3 Dateitypen:
- Ein Foto (EXIF)
- Eine MP3 (ID3)
- Ein PDF (XMP)
2. Analysiere: Welche Metadaten?
3. Poste im Forum:
- Screenshots (OHNE sensible Infos!)
- Überraschungen?
- Wie viel KB gespart nach Entfernung?
**Bonus:** Finde alte Datei (>5 Jahre) – was verraten Metadaten über damaliges Setup?
<!--
Selbst-Exploration
Viele entdecken GPS zum ersten Mal
Alte Dateien: Zeit-Kapsel (alte Software, Kamera-Modelle)
KB-Ersparnis: Oft gering, aber Prinzip wichtig
-->
---
<!-- _class: lead -->
# Teil 4: Zukunft
## Trends & Ausblick
---
![bg](./assets/futuristic-datacenter.jpg)
<!--
Futuristisches Rechenzentrum
DNA-Helix überlagert
-->
---
# Rückblick: 9 Wochen
**Woche 1:** Bits → Bytes → Bedeutung (Encoding)
**Woche 2:** MP3 & Psychoakustik
**Woche 3:** JPEG & GIF-Kriege
**Woche 4:** H.264 vs. AV1
**Woche 5:** HDD vs. SSD, Dateisysteme, Backup
**Woche 6:** USB-C-Chaos, HDMI vs. DisplayPort
**Woche 7:** CDN, P2P, Streaming
**Woche 8:** REST, GraphQL, WebSockets
**Woche 9:** EXIF, Vendor Lock-in
**Heute:** Wohin geht die Reise?
<!--
10 Wochen = Journey durch digitale Medien
Von Grundlagen (Bits) zu Infrastruktur (CDN)
Technologie + Geschichte + Politik
Heute: Zukunft + Abschluss-Projekt
-->
---
# AI-basierte Kompression
**Problem:** JPEG/H.264 basieren auf 90er-Jahre-Modellen
**Neue Ansätze:**
1. **Neuronale Bild-Kompression:**
- Deep Learning lernt Kompression/Dekompression
- Google's "Learned Image Compression" (2018)
- Outperforms JPEG bei gleicher Größe
2. **Generative Kompression:**
- Encoder extrahiert semantische Features
- Decoder generiert Bild neu (wie DALL-E)
- **99%+ Kompression**, aber nicht bit-genau!
**Problem:** Hoher Rechenaufwand, keine Standardisierung
<!--
AI-Kompression: Neuronale Netze statt handcrafted Algorithmen
Google: Variational Autoencoders (VAEs) für Kompression
Generative: "Ein Golden Retriever im Wald" → Neu generiert
Nicht bit-genau: Akzeptabel für Streaming, nicht für Archivierung
GPU/NPU nötig: Noch nicht Consumer-ready
-->
---
![bg](./assets/jpeg-xl-logo.jpg)
<!--
JPEG XL Logo
Moderner JPEG-Nachfolger
-->
---
# JPEG XL: Der moderne JPEG
**JPEG XL (2021, ISO-Standard):**
**Ziele:**
✓ 60% besser als JPEG
✓ Besser als WebP/AVIF (manchmal)
✓ Lossless UND Lossy
✓ Progressive Decoding (wie klassisches JPEG)
✓ Rückwärtskompatibel (JPEG → JPEG XL "Wrapper")
**Features:** HDR, Animation (wie GIF, aber besser)
**Status 2025:** Browser-Support langsam (Safari ja, Chrome on-off)
**Problem:** Google favorisiert WebP/AVIF → politischer Kampf
<!--
JPEG XL = JXL
Cloudinary, Facebook testeten JXL (positive Ergebnisse)
Chrome entfernte Support 2022, Re-Add-Diskussion 2024
Safari (WebKit): Support seit 2022
Technisch überlegen, aber Standards sterben an Politik
-->
---
# AV1 & VVC: Codec-Krieg
**AV1 (Alliance for Open Media):**
✓ Etabliert sich (YouTube 4K, Netflix)
✓ Hardware-Decoder in neuen GPUs/Smartphones
**VVC (H.266, 2020):**
- 50% besser als H.265
- **Aber:** Patent-Problem (mehrere Pools, unklare Kosten)
- Adoption gering
**LCEVC:** Add-on für existierende Codecs
**Zukunft:**
- AV2 (Nachfolger AV1) in Entwicklung
- ML integriert?
<!--
AV1: YouTube forciert (8K nur AV1)
VVC: Technisch brilliant, juristisch Albtraum (wie H.265)
LCEVC = Low Complexity Enhancement Video Coding
AV2: Alliance for Open Media arbeitet dran
ML: Neural Codecs (Google's "Neural Video Coding")
-->
---
![bg](./assets/dna-storage-concept.jpg)
<!--
DNA-Storage-Konzept
Futuristisch, aber real
-->
---
# DNA-Storage
**Konzept:** Daten in DNA-Sequenzen
**Eigenschaften:**
- Speicherdichte: **215 Petabyte/Gramm**
- Haltbarkeit: Tausende Jahre
- Kosten: Aktuell $3.500/MB (sinkend)
**Beispiele:**
- Microsoft + Twist Bioscience
- Netflix "Biohackers"-Episode (2021)
- Harvard: Wikipedia (11 GB) in DNA (2017)
**Problem:** Synthese & Sequenzierung extrem langsam/teuer
**Anwendung:** Langzeitarchivierung (nicht Live-Daten)
<!--
DNA = A, T, G, C (4 Basen)
Kodierung: Binär → DNA (00=A, 01=T, 10=G, 11=C)
215 PB/g: Gesamte Internet-Daten in Schuhkarton
Haltbarkeit: Mammut-DNA 10.000+ Jahre alt, lesbar
Kosten: 2010 = $12.000/MB, 2021 = $3.500/MB (Exponentialfall)
Twist Bioscience: Kommerzielle DNA-Synthese
-->
---
# Holografischer Speicher
**Holographic Data Storage:**
**Prinzip:**
- Laser schreibt in 3D-Kristall (statt 2D-Oberfläche)
- Interferenzmuster speichert Bits
- Paralleler Zugriff (schnell!)
**Vorteile:**
✓ Hohe Dichte (Terabytes pro Disc)
✓ Schnelle Lesegeschwindigkeit
✓ Langlebig (50+ Jahre)
**Stand 2025:** Prototypen (Sony, InPhase †), Kommerzialisierung gescheitert
**Problem:** Teuer, Konkurrenz durch SSDs
<!--
Hologramm: 3D-Information in 2D-Medium
InPhase Technologies: Bankrott 2010 (zu früh)
Sony: Forschung läuft weiter
Terabyte-Discs: Waren Ziel (nie erreicht)
Konkurrenz: SSDs wurden billiger, schneller
-->
---
# Quantum Storage?
**Quantenspeicher:**
**Konzept:**
- Qubits statt klassische Bits
- Superposition: 0 UND 1 gleichzeitig
- Verschränkung: Qubits korreliert über Distanz
**Anwendung:**
- Nicht für klassische Daten (Qubits instabil)
- Quantum Key Distribution (QKD) für Kommunikation
- Zukunft: Quanten-RAM für Quantencomputer
**Stand 2025:** Experimentell, Speicherzeit Millisekunden
<!--
Qubits: Quantenbits (z.B. Photon-Polarisation, Elektron-Spin)
Superposition: Kollabiert bei Messung
Quantencomputer: IBM, Google, D-Wave
Speicherproblem: Dekohärenz (Qubits verlieren Zustand)
QKD: Abhör-sichere Kommunikation (Quantenmechanik garantiert)
"Immer 20 Jahre entfernt" (wie Fusion)
-->
---
# Web3 & Dezentraler Speicher
**IPFS, Filecoin, Arweave, Storj:**
**Idee:** Speicher ohne zentrale Server
**Filecoin (2017):**
- Blockchain-basiert
- User vermieten Festplatten-Platz
- Bezahlung in FIL (Kryptowährung)
**Arweave (2018):**
- "Permanent Storage"
- Einmalige Zahlung → Daten für immer (theoretisch)
**Kritik:**
❌ Langsam vs. AWS S3
❌ Teurer (oft)
❌ Keine Garantie (Nodes offline)
<!--
IPFS: Besprochen in Woche 7
Filecoin: Incentive-Layer für IPFS (Storage Market)
Arweave: Endowment-Modell (Zinsen finanzieren Storage)
Storj: S3-Äquivalent, verschlüsselt & verteilt
Hype vs. Reality: Viele gescheiterte Projekte
Legitime Use-Cases: NFT-Storage, Zensur-resistente Archivierung
-->
---
# Streaming-Zukunft
**Trends:**
**8K-Streaming:**
- 7680×4320 = 33 Megapixel/Frame
- Braucht 100+ Mbps (selbst mit AV1)
- Problem: Kaum Content, kaum TVs
**VR/AR-Streaming:**
- 2× 4K (pro Auge), 90-120 fps
- Latenz <20ms kritisch
- 5G + Edge Computing nötig
**Cloud Gaming:**
- Spiel im Rechenzentrum, Stream zu User
- Input-Lag = Todfeind (<50ms)
**Problem:** Physik (Lichtgeschwindigkeit!)
<!--
8K: YouTube unterstützt, aber wer hat 8K-Monitor?
VR: Meta Quest, Apple Vision Pro
Latenz: Lichtgeschwindigkeit ~300.000 km/s, aber Routing + Processing addiert sich
Edge Computing: Server näher an User (5G-Masten)
Cloud Gaming: Stadia gescheitert (2023 †), GeForce Now, Xbox Cloud
Input-Lag: Fiber ~5ms/1000km, aber Server-Processing + Encoding + Decoding
-->
---
# Nachhaltigkeit
**Digitalisierung ≠ Umweltfreundlich**
**Rechenzentren:**
- 2024: 1-2% globaler Stromverbrauch (steigend!)
- Kühlung, Server, Netzwerk
**Streaming:**
- 1h Netflix (HD): ~3 GB, ~0,1 kWh
- × Milliarden Stunden = massiver CO₂
**E-Waste:**
- Smartphones: 2-3 Jahre Lebensdauer
- SSDs, HDDs: Nicht ewig
**Lösungen:**
- Effizientere Codecs (weniger Bandbreite)
- Renewable Energy für Rechenzentren
- Längere Hardware-Lebensdauer (Right to Repair!)
<!--
Stromverbrauch: AI-Training + Crypto-Mining steigend
Netflix: 2019 Studie (umstritten, aber Größenordnung)
E-Waste: 53,6 Mio. Tonnen/Jahr (2019, UN)
Right to Repair: EU-Gesetze, Apple-Widerstand
Effizienz: AV1 spart 30% Bandbreite vs. H.264
Green Data Centers: Island (Geothermie), Nordics (Wasserkraft)
-->
---
# Regulierung & Standardisierung
**Wer entscheidet?**
**Standards-Organisationen:**
- ISO/IEC (International)
- IETF (Internet-Protokolle)
- W3C (Web-Standards)
- IEEE (Hardware)
**Problem:** Industrie-Dominanz
- MPEG-LA (Patent-Pools)
- USB-IF (Intel-dominiert)
- HDMI Forum (Consumer-Electronics)
**EU-Regulierung:**
- USB-C-Pflicht (ab 2024)
- DMA (Digital Markets Act): Interoperabilität
- GDPR: Datenschutz (betrifft Metadaten!)
**Zukunft:** Mehr Open Standards? Oder Fragmentierung?
<!--
ISO/IEC: Internationale Standards (JPEG, MPEG, etc.)
IETF: RFCs (HTTP, TLS, etc.)
W3C: HTML, CSS, Web-APIs
IEEE: Ethernet, Wi-Fi
Patent-Pools: Kartelle? Oder notwendige Koordination?
USB-C-Pflicht: EU zwang Apple (iPhone 15)
DMA: Zwingt Big Tech zu Interoperabilität (Messenger)
GDPR: Privacy by Design
-->
---
# Fallstudie: Gruppenarbeit
**Aufgabe (90 Min, ca. 5 Personen):**
**Szenario:** Mittelständisches Medienunternehmen produziert Videos
**Erarbeitet Konzept für:**
1. Speichermedien (intern/extern, kurz-/langfristig)
2. Dateiformate (Produktion, Distribution, Archivierung)
3. Dateisysteme (welche für was?)
4. Schnittstellen (SATA, USB, PCIe, Netzwerk)
5. Distributionswege (NAS, Cloud, FTP)
6. Backup-Strategie (3-2-1-Regel!)
**Ergebnis:** Konzeptpapier (Mindmap, Tabelle, Poster)
**Präsentation:** 5 Min pro Gruppe
<!--
Praxisnahe Anwendung aller Themen
Gruppenarbeit: Peer-Learning
Szenarien vorgeben (Vorgänger-Skript hatte 6)
Alternativen: Stadtarchiv, Agentur, Hochschul-Mediathek, Fotografin, Reporterteam
Bewertung: Technische Korrektheit, Begründung, Kreativität
-->
---
# Alternative Szenarien (Auswahl)
1. **Mittelständisches Medienunternehmen** (Videos, Streaming)
2. **Kommunales Stadtarchiv** (Digitalisierung historischer Bestände)
3. **Agentur für digitale Kommunikation** (internationale Kampagne)
4. **Digitale Hochschul-Mediathek** (Lehrvideos, Podcasts)
5. **Freiberufliche Fotografin** (Tausende RAW-Fotos/Jahr)
6. **Internationales Reporterteam** (investigative Recherche, sensibel)
**Jede Gruppe wählt ein Szenario**
<!--
Verschiedene Complexity-Level
Stadtarchiv: Langzeitarchivierung-Fokus
Agentur: Collaboration-Fokus
Fotografin: Solo-Workflow
Reporterteam: Security-Fokus (Verschlüsselung!)
Gruppen wählen selbst (Interesse)
-->
---
# Was wir insgesamt gelernt haben
✓ **Bits → Formate:** Encoding, Kompression (MP3, JPEG, H.264)
✓ **Speicher:** HDD, SSD, Dateisysteme, Backup, Archivierung
✓ **Schnittstellen:** USB-C, HDMI, DisplayPort, Ethernet
✓ **Distribution:** CDN, P2P, Streaming, APIs
✓ **Metadaten:** EXIF, ID3, Privacy, Interoperabilität
✓ **Zukunft:** AI-Kompression, DNA-Storage, Nachhaltigkeit
**Kernbotschaft:**
Digitale Medien sind das Ergebnis von Standards, Politik, Kompromissen & Innovation.
Ihr habt jetzt die Werkzeuge, um die digitale Welt kritisch zu verstehen.
<!--
10 Wochen = Intensive Journey
Von Grundlagen zu Zukunft
Technologie ist nicht neutral (Patent-Kriege, Vendor Lock-in)
Kritisches Denken: Wer profitiert? Wer wird ausgeschlossen?
Hands-On: Praktische Fähigkeiten (Hex-Editor, FFmpeg, exiftool)
-->
---
# Weiterführende Ressourcen
**Bücher:**
- "Code" – Charles Petzold (Basics)
- "Understanding Digital Signal Processing" – Richard Lyons
**Websites:**
- IETF RFCs (ietf.org)
- FFmpeg Documentation (ffmpeg.org)
- Protocol Labs (IPFS, Filecoin)
**YouTube:**
- Computerphile (Kompression, Encoding)
- Branch Education (Hardware-Visualisierungen)
**Podcasts:**
- Command Line Heroes (Red Hat)
**Tools:** MediaInfo, exiftool, FFmpeg, Wireshark
<!--
Petzold "Code": Beste Einführung in Computer-Grundlagen
Lyons: Für Audio/Video-Kompression (mathematisch)
IETF RFCs: Primärquellen (HTTP, TLS, etc.)
Computerphile: Tom Scott, Mike Pound (hervorragend!)
Branch Education: 3D-Animationen (SSD, CPU...)
Command Line Heroes: Tech-Geschichte (Spotify, Apple Podcasts)
-->
---
# Abschluss & Dank
**Ihr habt gelernt:**
- Dateien zu lesen (Hex, Metadaten)
- Formate zu vergleichen (JPEG vs. PNG, H.264 vs. AV1)
- Infrastruktur zu verstehen (CDN, P2P, APIs)
- Kritisch zu denken (Open Standards, Lock-in, Nachhaltigkeit)
**Nächste Schritte:**
- Fallstudie (falls Prüfungsleistung)
- Feedback willkommen (Forum, E-Mail)
- Weiterlernen mit Ressourcen
**Vielen Dank für eure Aufmerksamkeit!**
<!--
10 Wochen gemeinsame Reise
Von "Was sind Bits?" zu "DNA-Storage"
Hands-On jede Woche (Hex-Editor, FFmpeg, exiftool, APIs)
Narrative statt Faktenlisten (Suzanne Vega, John McAfee, Tony Blair)
Kritische Perspektive (Patent-Kriege, Vendor Lock-in)
Evaluation: Feedback ernst nehmen, Kurs verbessern
-->
---
<!-- _class: lead -->
# Termin 5 – TBA
## Vertiefung & Offene Fragen
---
# Ersatztermin
**Dieser Termin wird noch bekannt gegeben.**
Mögliche Inhalte:
- Vertiefung von Themen nach Wunsch
- Praxisübungen & Hands-On
- Offene Fragen & Diskussion
- Prüfungsvorbereitung
<!--
Flexibler Termin für Nachholbedarf
Themen nach Interesse der Studierenden
-->
---
<!-- _class: lead -->
# Fragen & Diskussion
**Kontakt:** czechowski@hdm-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
# Lizenz & Attribution
Diese Präsentation ist lizenziert unter **Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)**
- Erlaubt Teilen & Anpassen mit Namensnennung
- Adaptionen müssen unter gleicher Lizenz geteilt werden
Vollständige Lizenz: https://creativecommons.org/licenses/by-sa/4.0/
<!--
Open Educational Resources (OER)
Studierende können Folien nutzen, remixen, teilen
CC BY-SA: Wikipedia-Lizenz (Share-Alike)
Attribution: "Michaล‚ Czechowski, HdM Stuttgart"
-->