Compare commits

..
19 Commits
Author SHA1 Message Date
libretech f61a9e2af1 update intro with modulhandbuch content, add course info to readme 2025-12-17 20:22:44 +01:00
libretech 50c8208e63 apply feedback to termin 1: wtf theme, 50/50 images, speaker notes 2025-12-17 19:53:51 +01:00
libretech 00b4e0161a update image list: mark termin 1 done, fix ascii/grayscale prompts 2025-12-17 19:53:50 +01:00
libretech c7d51e6df8 add wtf mystery files for hands-on exercise 2025-12-17 19:53:50 +01:00
libretech 35c2dc73b7 add termin 0 intro slides with modulhandbuch ziel 2025-12-17 19:53:50 +01:00
libretech 6945330c92 update termin 5 slides with expanded content 2025-12-17 18:07:57 +01:00
libretech f8308596e4 update termin 4 slides with expanded content 2025-12-17 18:07:57 +01:00
libretech a77ed41b2f update termin 3 slides with expanded content 2025-12-17 18:07:57 +01:00
libretech 4123203d55 update termin 2 slides with expanded content 2025-12-17 18:07:57 +01:00
libretech cd30a913ff update termin 1 slides with expanded content 2025-12-17 18:07:57 +01:00
libretech dc5f7855f7 remove unused partial slide files 2025-12-17 18:07:43 +01:00
libretech 7eec3c4688 move assets to slides/assets for relative image paths 2025-12-17 18:07:30 +01:00
libretech 5486f45f44 update makefile to use slides/assets and direct dev server 2025-12-17 18:07:23 +01:00
libretech 4d6b8fc620 add termin 1 images
- matrix-code, lightbulb-onoff, grayscale-gradient
- rgb-color-model, ascii-table, hex-binary-table
- hexeditor-screenshot, cassette-ipod, compression-types
- audio-spectrogram, napster-interface
- karlheinz-brandenburg.jpg, suzanne-vega.jpg (real photos)
2025-12-17 13:43:03 +01:00
libretech f2eef57b05 change image references from .jpg to .png
- update IMAGE_LIST.md and all slide files
- keep karlheinz-brandenburg.jpg and suzanne-vega.jpg as .jpg (real photos)
- keep code examples unchanged (exiftool, HTML examples)
2025-12-17 13:26:05 +01:00
libretech 5bc521abee simplify makefile for modular slide workflow
- single 'make dev' serves build/ with file picker ui
- 'make assemble' concatenates header + intro + termin + outro
- remove individual dev-1/dev-2 targets (marp ui handles file selection)
- delete completed PLAN-split-slides.md
2025-12-14 20:34:46 +01:00
libretech 40b4a194ff split index.md into modular slide files
- extract _frontmatter.md, _intro.md, _outro.md as shared components
- create separate files per termin with date-topic naming convention:
  2025-12-19-termin-1-grundlagen-text-audio.md
  2026-01-09-termin-2-bild-audio-video.md
  2026-01-23-termin-3-speichermedien-schnittstellen.md
  2026-01-30-termin-4-distribution-apis-zukunft.md
  2026-xx-xx-termin-5-vertiefung-offene-fragen.md
- keep index.md.bak as backup (gitignored)
2025-12-14 20:34:20 +01:00
libretech 59d58d96db add marp skill and slide split plan 2025-12-14 19:17:20 +01:00
libretech 70b169e883 add personal notes on hdm teaching assignment 2025-12-14 18:33:54 +01:00
50 changed files with 603 additions and 1681 deletions

No files matched your search

-75
View File
@@ -1,75 +0,0 @@
# Humanify Slide Command
Transformiere die angegebene Slide(s) in meinen persönlichen Lehr- und Erzählstil.
**Argument:** $ARGUMENTS (Slide-Nummer, Titel, oder Range wie "15-20")
---
## Mein pädagogischer Stil (extrahiert aus Termin 1)
### 1. Konversationelle Speaker Notes auf Deutsch
- Direkte Zitate in Anführungszeichen: `"Ich schaue in viele fragende Gesichte..."`
- Natürliche, gesprochene Sprache - kein Vorlesungsdeutsch
- Persönliche Ansprache: "ihr", "euch", "wir"
### 2. Storytelling & Spannungsbogen
- Cliffhanger: `"am Ende der heutigen Veranstaltung werdet ihr mir genau sagen können..."`
- Übergänge zwischen Konzepten als Geschichte erzählen
- Neugier wecken bevor die Antwort kommt
### 3. Rhetorische Fragen & Interaktion
- `Frage: "Weiß jemand wieviele Zustände wir mit 8 Bit beschreiben können?"`
- `Fangfrage: "Wie hoch ist die Sample Rate von Vinyls?"` → Überraschende Antwort
- Einladungen: `"Wie würdet ihr vorgehen?"`
### 4. Literarische & kulturelle Referenzen
- `»256 Shades of Gray«` (mit deutschen Guillemets »...«)
- Metaphern: `"ganz literarisch"`, `"stellt euch vor ihr seid ArchäologInnen"`
- Popkulturelle Anknüpfungspunkte
### 5. Rätsel & Denkaufgaben
- Seerose-Rätsel für exponentielles Wachstum
- Aktivierung statt passives Zuhören
### 6. Etymologie & Historie
- Wortherkunft: `"von griech. hexa „sechs" und lat. decem „zehn""`
- Historische Anekdoten: `"Es gab durchaus einen »Machtkampf«..."`
- Personen hinter den Konzepten
### 7. Progressive Enthüllung
- Konzepte über mehrere Slides aufbauen (Das Byte: 3 Slides)
- Erst Frage, dann Antwort auf nächster Slide
- Spannung halten
### 8. Struktur der Speaker Notes
```markdown
<!--
"Gesprochener Text in Anführungszeichen"
Fakten und Hintergrundinfos als Stichpunkte:
- Punkt 1
- Punkt 2
Frage: "Interaktive Frage an Studierende?"
Überleitung: "Und damit kommen wir zu..."
-->
```
---
## Aufgabe
1. Lies die angegebene(n) Slide(s) aus den Dateien in `slides/`
2. Analysiere den aktuellen Inhalt und die Speaker Notes
3. Transformiere die Speaker Notes in meinen Stil:
- Füge gesprochene Zitate hinzu
- Baue rhetorische Fragen ein
- Ergänze Übergänge und Storytelling-Elemente
- Füge Etymologie oder historischen Kontext hinzu wo passend
- Nutze deutsche Guillemets »...« für Titel/Zitate
4. Behalte die Slide-Inhalte (Bullet Points, Code, Tabellen) weitgehend bei
5. Zeige mir die vorgeschlagenen Änderungen bevor du sie anwendest
**WICHTIG:** Nicht übertreiben! Authentisch bleiben, nicht jede Slide braucht alles.
-2
View File
@@ -62,5 +62,3 @@ Desktop.ini
!build/*.html
*.pdf
index.md.bak
hdm-lehrauftrag-uebersicht.md
slides/assets-original/
+172
View File
@@ -0,0 +1,172 @@
# Asset-Liste: Bildbeschreibungen & Kontext
## **Allgemein / Titel**
| Dateiname | Kontext | Beschreibung für Suche/Generierung |
|-----------|---------|-----------------------------------|
| `digital-landscape.jpg` | Titelfolie, Einstieg | Futuristische digitale Landschaft mit Netzwerk-Verbindungen, leuchtende Datenpunkte, abstrakte binäre Muster, Glasfaser-Optik, cyber-ästhetisch, blau-violette Farbpalette |
---
## **Woche 1: Bits, Bytes & Encoding**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `matrix-code.jpg` | Hex-Dump Mystery-Folie | Matrix-Style fallender grüner Code, binäre Zahlen, Hex-Zahlen (0-9, A-F), schwarzer Hintergrund, mysteriös, "digital rain" |
| `lightbulb-onoff.jpg` | Bit-Demonstration (AN/AUS) | Zwei Glühbirnen nebeneinander: eine leuchtend (AN/gelb), eine dunkel (AUS/grau), minimalistisch, einfache Illustration, technisch-didaktisch |
| `grayscale-gradient.jpg` | 256 Graustufen-Beispiel | Sanfter Verlauf von reinem Schwarz (#000000) zu reinem Weiß (#FFFFFF), horizontal oder vertikal, 256 diskrete Stufen sichtbar, technische Visualisierung |
| `rgb-color-model.jpg` | RGB-Farben erklären | RGB-Farbmodell-Diagramm mit drei überlappenden Kreisen (Rot, Grün, Blau), Venn-Diagramm-Stil, zeigt additive Farbmischung (Rot+Grün=Gelb, etc.), sauber, lehrreich |
| `ascii-table.png` | ASCII-Tabelle (1963) | Vollständige ASCII-Tabelle, 128 Zeichen (0-127), tabellarische Darstellung mit Dezimal-, Hex- und Zeichen-Spalten, retro/technisch, schwarz-weiß oder grün-schwarz (Terminal-Stil) |
| `hex-binary-table.jpg` | Hexadezimal-Erklärung | Konversionstabelle: Dezimal (0-15), Binär (0000-1111), Hexadezimal (0-F), drei Spalten, übersichtlich, didaktische Grafik |
| `hexeditor-screenshot.png` | Hex-Editor mit PNG-Datei | Screenshot eines Hex-Editors (z.B. HxD, Hex Fiend), zeigt PNG-Datei-Header mit Magic Number `89 50 4E 47`, linke Spalte Adressen, Mitte Hex-Werte, rechts ASCII-Darstellung |
---
## **Woche 2: MP3 & Audio-Kompression**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `cassette-ipod.jpg` | Analog vs. Digital Kontrast | Kassette (1980er, retro) neben iPod Classic (2000er, weiß), Side-by-Side-Vergleich, nostalgisch vs. modern, auf neutralem Hintergrund |
| `compression-types.jpg` | Lossless vs. Lossy Visualisierung | Diagramm mit zwei Pfeilen: "Lossless" (Original → Komprimiert → Original exakt rekonstruiert), "Lossy" (Original → Komprimiert → Ähnlich, aber nicht identisch), Wasserglas-Metapher möglich |
| `karlheinz-brandenburg.jpg` | Fraunhofer IIS, MP3-Erfinder | Porträtfoto von Karlheinz Brandenburg (Entwickler, ~60 Jahre, graues Haar, Brille), professionell, Konferenz- oder Labor-Setting, alternativ: Fraunhofer IIS-Gebäude Erlangen |
| `suzanne-vega.jpg` | "Tom's Diner" – erster MP3-Song | Suzanne Vega (Sängerin, 1980er-90er Ästhetik), Album-Cover "Solitude Standing" (1987) oder Konzertfoto, warm, akustisch, ikonisch |
| `audio-spectrogram.jpg` | Frequenz-Vergleich (Bitrate) | Spektrogramm-Vergleich: drei Panels (Original, 320 kbps, 128 kbps), Y-Achse = Frequenz (Hz), X-Achse = Zeit, Farbe = Intensität, hohe Frequenzen verschwinden bei niedriger Bitrate (dunkle Bereiche oben) |
| `napster-interface.jpg` | Napster-Screenshot (1999) | Screenshot Napster-Software (Windows 98/2000-Stil), Suchleiste, Liste von MP3-Dateien, Peer-Verbindungen, retro-UI, grün-graue Interface, historisch |
---
## **Woche 3: Bilder & JPEG-Kompression**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `photo-comparison.jpg` | Hochauflösend vs. komprimiert | Side-by-Side: Linkes Bild scharf und detailliert, rechts stark JPEG-komprimiert mit sichtbaren Artefakten (Blocking, Ringing), gleiches Motiv (z.B. Landschaft oder Porträt) |
| `jpeg-artifacts.jpg` | JPEG-Artefakte Zoom | Stark vergrößerter Ausschnitt eines JPEG-Bildes: 8×8-Blöcke sichtbar (Blocking), "Geister" um Text/Kanten (Ringing), Farb-Banding in Himmel/Verläufen |
| `gif-animation.gif` | GIF-Animation (Meme) | Klassisches animiertes GIF (z.B. "Dancing Baby" 90er-Stil oder modernes Meme), 256 Farben, loop, pixelig-charmant, Internet-Kultur |
| `instagram-quality-loss.jpg` | Vorher/Nachher Instagram-Upload | Zwei Versionen eines Fotos: Oben "Original" (scharf, hochauflösend), unten "Nach Instagram-Upload" (sichtbar schlechter, matschig, Kompressionsartefakte), Pfeile zeigen Unterschiede |
---
## **Woche 4: Video-Kompression & Codecs**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `netflix-4k.jpg` | Netflix 4K-Streaming | Netflix-Interface auf 4K-TV, zeigt Filmauswahl mit "4K Ultra HD"-Badge, scharfes Bild, moderne Wohnzimmer-Setting, oder: Netflix-Logo mit "4K" |
| `container-codec-diagram.jpg` | Container vs. Codec Visualisierung | Diagramm: Schachtel (MP4-Container) enthält mehrere Streams – Video-Track (H.264), Audio-Track (AAC), Untertitel (SRT), Metadaten, farbcodiert, technisch-didaktisch |
| `iframe-pframe-diagram.jpg` | I/P/B-Frame-Abhängigkeiten | Diagramm: Sequenz von Frames (I-B-B-P-B-B-I), Pfeile zeigen Abhängigkeiten (P zeigt auf I, B zeigt auf I und P), farbcodiert (I=rot, P=blau, B=grün), technisch |
| `youtube-vp9.jpg` | YouTube VP9-Logo | YouTube-Logo mit "VP9"-Badge oder Text, alternativ: YouTube-Player mit VP9-Codec-Info (Stats for Nerds), modern, Google-Branding |
| `av1-logo.jpg` | AV1-Logo (Alliance for Open Media) | AV1-Logo (stilisiertes "AV1" mit dreieckigem Design), schwarz oder weiß auf transparentem Hintergrund, modern, clean |
| `streaming-quality-switch.jpg` | Adaptive Bitrate Streaming | Visualisierung: Videoplayer mit Qualitätsoptionen (240p, 480p, 720p, 1080p, 4K), Balkendiagramm zeigt Bandbreite über Zeit, Qualität wechselt dynamisch, Netzwerk-Symbol |
---
## **Woche 5: Speichermedien, Dateisysteme, Backup**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `hdd-ssd-comparison.jpg` | HDD vs. SSD Technologie | Aufgeschraubte HDD (Platter, Lesekopf sichtbar) neben SSD-Platine (Chips, keine beweglichen Teile), Side-by-Side, technisch-präzise, neutraler Hintergrund |
| `directory-tree.jpg` | Verzeichnisbaum-Struktur | Baumdiagramm: Root (/) an der Spitze, Zweige zu Ordnern (home, usr, etc.), Unterordner, Dateien als Blätter, hierarchisch, clean, schwarz-weiß oder minimalistisch |
| `backup-disaster.jpg` | Festplatten-Crash / Ransomware | Kaputte Festplatte (physisch beschädigt, Kratzer auf Platter) ODER Bildschirm mit Ransomware-Warnung ("Your files are encrypted"), dramatisch, Warnsignal |
| `bit-rot.jpg` | Daten-Degradation über Zeit | Abstraktes Bild: Binärcode oder Pixel, die sich auflösen/verfallen, visuelle Metapher für Datenverlust, glitch-artig, beunruhigend |
| `lto-tape.jpg` | LTO-Kassette + Laufwerk | LTO-Ultrium-Kassette (schwarz, kompakt, Label sichtbar) neben oder in LTO-Bandlaufwerk (Rack-Mount), professionelle Rechenzentrum-Ästhetik |
| `m-disc.jpg` | M-DISC Blu-ray | M-DISC Blu-ray-Disc (mit "M-DISC"-Logo auf Disc oder Verpackung), Nahaufnahme, metallisch glänzend, hochwertig |
| `dna-helix.jpg` | DNA-Storage Konzept | DNA-Doppelhelix mit überlagerten Binärcode (0 und 1) oder Daten-Symbolen, futuristisch, wissenschaftlich, blau-grüne Farbpalette, Sci-Fi-ästhetisch |
---
## **Woche 6: Schnittstellen (Hardware)**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `cable-mess.jpg` | Kabelsalat / Anschluss-Chaos | Haufen verschiedener Kabel (USB-A, USB-C, HDMI, DisplayPort, Lightning, Ethernet), durcheinander, chaotisch, auf Schreibtisch oder weiß, frustrierend |
| `pc-back-1990s.jpg` | PC-Rückseite 1990er | Rückseite eines PCs aus den 90ern: VGA, PS/2 (lila/grün), Seriell (COM), Parallel (LPT), SCSI, viele verschiedene Ports, retro, nostalgisch, beige Gehäuse |
| `usb-c-cables.jpg` | Identische USB-C-Kabel | Mehrere USB-C-Kabel (3-5), die identisch aussehen, aber mit Fragezeichen oder Labels ("USB 2.0?", "USB 4?", "Thunderbolt?"), Verwirrung symbolisierend |
| `thunderbolt-logo.jpg` | Thunderbolt-Logo | Thunderbolt-Logo (Blitz-Symbol, schwarz oder weiß), offizielles Intel-Branding, clean, auf transparentem Hintergrund |
| `hdmi-cable.jpg` | HDMI-Kabel + Stecker | HDMI-Kabel mit Stecker (Typ A, Standard), Nahaufnahme des Pin-Layouts, schwarz, auf weißem Hintergrund, technisch-präzise |
| `displayport-cable.jpg` | DisplayPort-Kabel + Stecker | DisplayPort-Kabel mit Stecker (charakteristische asymmetrische Form, Verriegelung sichtbar), schwarz, technisch |
| `hdcp-warning.jpg` | HDCP-Fehler Bildschirm | Schwarzer Bildschirm oder blauer Error-Screen mit Text "HDCP Error" oder "HDCP-Handshake fehlgeschlagen", frustrierend, technischer Fehler |
| `ethernet-cable.jpg` | Ethernet-Kabel (RJ45) | Cat6 Ethernet-Kabel mit RJ45-Stecker, Nahaufnahme der 8 Pins (farbcodiert), blau oder grau, technisch |
| `vintage-ports.jpg` | Alte Anschlüsse (Nostalgie) | Collage: VGA-Port (blau, 15-Pin), PS/2 (lila/grün, rund), Seriell (DB9), Parallel (DB25), retro, beige/grau, Museums-Qualität |
---
## **Woche 7: Distribution (CDN, P2P, Streaming)**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `sneakernet-truck.jpg` | LKW voller Festplatten | LKW geladen mit Servern oder Festplatten-Paletten, "Sneakernet"-Konzept, humorvoll-dokumentarisch, logistisch, Lagerhalle oder Straße |
| `aws-snowmobile.jpg` | AWS Snowmobile | AWS Snowmobile (45-Fuß-Container auf LKW), weiß mit AWS-Logo, dramatisch, Rechenzentrum im Hintergrund, offizielles AWS-Pressefoto-Stil |
| `cd-dvd-bluray.jpg` | Optische Medien Evolution | Drei Discs nebeneinander: CD (compact, silber), DVD (ähnlich, aber Label), Blu-ray (blau-schimmernd), Evolution, zeitlich geordnet |
| `server-overload.jpg` | Server unter Last (Hug of Death) | Server-Racks mit roten Warnlichtern oder Error-Screens, Rauch/Hitze-Effekt (metaphorisch), Überlastung, dramatisch-technisch |
| `cdn-map.jpg` | CDN-Knoten Weltkarte | Weltkarte mit leuchtenden Punkten (Points of Presence), Linien verbinden Punkte (Netzwerk), blau-violett, futuristisch, globale Infrastruktur |
| `netflix-openconnect.jpg` | Netflix Open Connect Appliance | Netflix Open Connect Server-Appliance (schwarzes Rack-Mount-Gerät, Netflix-Logo), professionell, Rechenzentrum-Setting |
| `p2p-network.jpg` | P2P-Netzwerk Diagramm | Netzwerk-Diagramm: Viele Knoten (Peers) verbunden, keine zentrale Hierarchie, dezentral, organisch, Linien zwischen Knoten, technisch-didaktisch |
| `bittorrent-swarm.jpg` | BitTorrent-Swarm Visualisierung | Visualisierung: Zentrale Datei (Torrent), umgeben von vielen Peers (kleine Kreise), Pfeile zeigen Datenfluss (Chunks), dynamisch, farbcodiert |
| `pirate-bay-logo.jpg` | The Pirate Bay Logo | The Pirate Bay Schiffs-Logo (Piratenschiff, schwarz-weiß oder farbig), ikonisch, kontroverser historischer Kontext |
| `ipfs-logo.jpg` | IPFS Logo | IPFS-Logo (Würfel-Design mit Verbindungen), blau-weiß, geometrisch, modern, offizielles Protocol Labs-Branding |
| `streaming-hls.jpg` | Streaming-Pipeline (HLS/DASH) | Diagramm: Encoder → Segmente (2-10s) → CDN → Player, verschiedene Qualitäten parallel (240p-4K), technisch, Flowchart-Stil |
---
## **Woche 8: APIs & Software-Schnittstellen**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `api-diagram.jpg` | API-Kommunikation | Diagramm: Zwei Boxen (App A, App B) verbunden durch "API" (Pfeile bidirektional), zeigt Request/Response, clean, technisch-minimalistisch |
| `http-request-response.jpg` | HTTP Request/Response-Zyklus | Diagramm: Client (Browser-Symbol) → Request (Pfeil mit "GET /page") → Server (Server-Symbol) → Response (Pfeil mit "200 OK + HTML") → Client, Zyklus, didaktisch |
| `rest-api.jpg` | REST-API Struktur | Diagramm: URLs als Ressourcen (`/users`, `/posts`), HTTP-Methods (GET, POST, PUT, DELETE) daneben, tabellarisch oder Baum-Struktur, technisch |
| `graphql-logo.jpg` | GraphQL Logo | GraphQL-Logo (rosa/magenta Raute mit "GraphQL"-Text), offizielles Branding, clean, auf transparentem Hintergrund |
| `websocket-diagram.jpg` | WebSocket bidirektionale Verbindung | Diagramm: Client ↔ Server (bidirektionale Pfeile), "Persistent Connection", im Gegensatz zu HTTP (unidirektionale Pfeile), technisch-vergleichend |
| `grpc-logo.jpg` | gRPC Logo | gRPC-Logo (blau-grünes "gRPC"-Design), offizielles Google/CNCF-Branding, modern |
---
## **Woche 9: Metadaten & Interoperabilität**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `exif-gps.jpg` | EXIF-Daten mit GPS | Foto mit eingeblendeten EXIF-Daten als Overlay: GPS-Koordinaten, Kamera-Modell, Datum, Kartenpunkt zeigt Standort, Privacy-Warnung, technisch-dokumentarisch |
| `mcafee-exif-fail.jpg` | John McAfee Guatemala-Story | Foto von John McAfee (2012, Guatemala, mit Hund) ODER Screenshot des Vice-Artikels mit Foto + GPS-Koordinaten eingeblendet, historisch-dokumentarisch |
| `id3-tag-editor.jpg` | ID3-Tag-Editor Screenshot | Screenshot eines ID3-Editors (z.B. Kid3, mp3tag), zeigt MP3-Datei mit Feldern (Artist, Album, Year, Genre, Cover-Art), übersichtlich |
| `musicbrainz-logo.jpg` | MusicBrainz Logo | MusicBrainz-Logo (stilisierte Note oder "MB"-Buchstaben), offizielles Branding, open-source-freundlich |
| `pdf-metadata-leak.jpg` | PDF-Metadaten Analyse | Screenshot: PDF-Metadaten-Fenster zeigt versteckte Infos (Autor, Firma, Software, Änderungsdatum), Warnung, forensisch |
| `binary.png` | Binäre Limitationen | Binärcode (0 und 1) als Hintergrund, eventuell mit Warnung oder Fragezeichen, technisch-abstrakt, schwarz-weiß oder grün-schwarz (Matrix-Stil) |
---
## **Woche 10: Zukunft & Synthese**
| Dateiname | Kontext | Beschreibung |
|-----------|---------|--------------|
| `futuristic-datacenter.jpg` | Futuristisches Rechenzentrum | Modernes Rechenzentrum mit Server-Racks, blaue LED-Beleuchtung, alternativ: DNA-Helix überlagert auf Servern, Sci-Fi-ästhetisch, sauber, high-tech |
| `jpeg-xl-logo.jpg` | JPEG XL Logo | JPEG XL Logo (stilisiertes "JXL" oder "JPEG XL"), modern, clean, offizielles Branding |
| `dna-storage-concept.jpg` | DNA-Storage Visualisierung | DNA-Doppelhelix mit Daten-Symbolen, Petrischale mit DNA-Proben, Laborumgebung, futuristisch-wissenschaftlich, blau-grün |
| `science.jpg` | Wissenschaft/Forschung (Allgemein) | Wissenschaftliche Visualisierung: Labor, Mikroskop, DNA-Sequenzierung, oder abstrakte Wissenschafts-Grafik, professionell, blau-weiß |
---
## **Zusammenfassung: Asset-Kategorien**
| Kategorie | Anzahl | Notizen |
|-----------|--------|---------|
| **Technische Diagramme** | 15+ | Flow-Charts, Netzwerk-Topologien, Container/Codec-Visualisierungen |
| **Screenshots/UIs** | 10+ | Hex-Editor, Napster, ID3-Editor, Netflix, Browser DevTools |
| **Logos** | 8+ | Thunderbolt, HDMI, GraphQL, gRPC, IPFS, AV1, MusicBrainz, JPEG XL |
| **Hardware-Fotos** | 12+ | HDDs, SSDs, Kabel, Ports, LTO-Tapes, M-DISC |
| **Vergleiche (Vorher/Nachher)** | 5+ | JPEG-Artefakte, Instagram-Quality, HDD vs. SSD, Kassette vs. iPod |
| **Historische/Nostalgie** | 6+ | 90er-PC, ASCII-Tabelle, Napster, WordPerfect, John McAfee |
| **Futuristisch/Konzeptuell** | 5+ | DNA-Storage, Quantum, Futuristic Datacenter, AI-Compression |
---
## **Generierungs-Tipps für AI-Tools (Midjourney, DALL-E, Stable Diffusion)**
**Allgemeine Prompts-Zusätze:**
- Für **technische Diagramme**: `"technical diagram, clean lines, minimal colors, educational, isometric view, white background"`
- Für **Screenshots**: `"UI screenshot, realistic software interface, high resolution, modern design"`
- Für **Fotos/Realismus**: `"product photography, studio lighting, white background, high detail, professional"`
- Für **Futuristisch**: `"futuristic, sci-fi, blue-violet color palette, glowing, high-tech, cinematic lighting"`
- Für **Retro/Nostalgie**: `"1990s aesthetic, beige computer, CRT monitor, retro technology, nostalgic"`
**Negative Prompts (was vermeiden):**
- `"blurry, text artifacts, watermark, low quality, distorted, unrealistic proportions"`
-1
View File
@@ -5,7 +5,6 @@ This project builds a presentation deck for Marp based on Markdown files.
## Agent Restrictions
- Agent NEVER runs commands on its own except changing files INSIDE THIS FOLDER, never any other then this
- Agent NEVER runs build commands or any automated processes without explicit user request, as the user is working in dev mode
- Agent NEVER runs deploy commands (make deploy, scp, etc.) without explicit user permission - always ask first
## Critical File Protection: index.md
- `index.md` is the MAIN CONTENT FILE for the entire lecture series - treat with extreme care
+2 -22
View File
@@ -87,14 +87,6 @@ This document lists all images needed for the lecture slides. Each image include
- **Context**: Demonstrating compression quality loss
- **AI Prompt**: Side-by-side comparison of same landscape photo: left side crystal clear high resolution, right side heavily compressed with visible JPEG artifacts, blocky pixels and color banding, split down the middle, educational comparison style
### ⬚ raster-vs-vector.png
- **Context**: Comparison of raster and vector graphics scaling
- **AI Prompt**: Split image showing scaling comparison: left side shows raster/bitmap image (photo of flower) that becomes pixelated when zoomed in, right side shows vector graphic (simple logo/icon) that stays crisp at any zoom level, magnifying glass effect on both sides, educational diagram style, clean white background
### ⬚ vector-circle-example.png
- **Context**: Explaining how vector graphics store shapes mathematically
- **AI Prompt**: Educational diagram showing a circle with labeled parameters: center point (x,y coordinates), radius line, color fill indicator, stroke width indicator, mathematical notation style, clean technical illustration, blueprint aesthetic
### ✅ jpeg-artifacts.png
- **Context**: Close-up example of JPEG compression artifacts
- **AI Prompt**: Close-up macro shot of heavily compressed JPEG image showing visible compression artifacts, blocky 8x8 pixel blocks, mosquito noise around edges, color banding in gradients, technical demonstration image
@@ -135,10 +127,6 @@ This document lists all images needed for the lecture slides. Each image include
## Termin 3: Speichermedien & Schnittstellen
### ⬚ rosetta-disk.png
- **Context**: Long-term archival - Rosetta Project by Long Now Foundation
- **AI Prompt**: Rosetta Disk by Long Now Foundation, small nickel disk with micro-etched text visible under magnification, archival preservation technology, scientific artifact photography, emphasis on the intricate etched patterns containing thousands of languages
### ⬚ hdd-ssd-comparison.png
- **Context**: Storage technology comparison
- **AI Prompt**: Side-by-side comparison: opened hard disk drive showing silver platters and read/write head on left, modern NVMe SSD circuit board with flash chips on right, technical product photography, white background, educational comparison
@@ -199,14 +187,6 @@ This document lists all images needed for the lecture slides. Each image include
- **Context**: Network connectivity
- **AI Prompt**: Blue Ethernet cable with clear RJ45 connector showing gold pins, Cat6 or Cat7 network cable, technical product shot, networking infrastructure aesthetic
### ⬚ wifi-bluetooth.png
- **Context**: Wireless connectivity introduction (WLAN & Bluetooth slides)
- **AI Prompt**: Modern Wi-Fi router with antenna and Bluetooth symbol overlay, wireless technology concept, clean product photography showing both standards, blue LED lights, home networking aesthetic
### ⬚ nas-server.png
- **Context**: Network Attached Storage introduction
- **AI Prompt**: Synology or QNAP NAS device with multiple hard drive bays, blue LED status lights, home server setup in modern office environment, network storage infrastructure, clean product photography
### ⬚ vintage-ports.png
- **Context**: Legacy connector nostalgia/history
- **AI Prompt**: Collection of vintage computer ports and connectors: VGA blue, PS/2 keyboard and mouse, serial DB9, parallel DB25, arranged like museum display, retro computing history, nostalgic tech photography
@@ -324,9 +304,9 @@ This document lists all images needed for the lecture slides. Each image include
| Intro | 1 | 1 | 0 |
| Termin 1 (Grundlagen/Text/Audio) | 13 | 13 | 0 |
| Termin 2 (Bild/Audio/Video) | 10 | 10 | 0 |
| Termin 3 (Speichermedien) | 19 | 0 | 19 |
| Termin 3 (Speichermedien) | 16 | 0 | 16 |
| Termin 4 (Distribution/APIs) | 25 | 0 | 25 |
| **Total** | **68** | **24** | **44** |
| **Total** | **65** | **24** | **41** |
**Note:** grayscale-gradient.png is marked ⚠️ NEEDS REGENERATION due to visibility issues at edges.
+37 -62
View File
@@ -1,19 +1,21 @@
# Makefile for Marp Slides Project
.PHONY: help build dev watch pdf html clean install deploy deploy-html copy-assets optimize-images
.PHONY: help build dev watch pdf html clean install deploy assemble
# Directories
# Slide components
SLIDES_DIR = slides
BUILD_DIR = build
HEADER = $(SLIDES_DIR)/_frontmatter.md
INTRO = $(SLIDES_DIR)/_intro.md
OUTRO = $(SLIDES_DIR)/_outro.md
# Termin files (date-topic naming convention) - each is self-contained
TERMIN_0 = 2025-12-19-termin-0-intro
# Termin files (date-topic naming convention)
TERMIN_1 = 2025-12-19-termin-1-grundlagen-text-audio
TERMIN_2 = 2026-01-09-termin-2-bild-audio-video
TERMIN_3 = 2026-01-23-termin-3-speichermedien-schnittstellen
TERMIN_4 = 2026-01-30-termin-4-distribution-apis-zukunft
TERMIN_5 = 2026-xx-xx-termin-5-vertiefung-offene-fragen
TERMINS = $(TERMIN_0) $(TERMIN_1) $(TERMIN_2) $(TERMIN_3) $(TERMIN_4) $(TERMIN_5)
TERMINS = $(TERMIN_1) $(TERMIN_2) $(TERMIN_3) $(TERMIN_4) $(TERMIN_5)
# Default target
help:
@@ -27,20 +29,28 @@ help:
@echo " make pdf - Export all slides to PDF"
@echo " make html - Export all slides to HTML"
@echo ""
@echo " Deploy:"
@echo " make deploy - Full build + deploy (HTML, PDF, assets)"
@echo " make deploy-html - HTML only deploy (faster)"
@echo ""
@echo " Other:"
@echo " make optimize-images - Resize images to max 1920px"
@echo " make assemble - Assemble all termin files in build/"
@echo " make clean - Remove generated files"
@echo " make install - Install dependencies"
@echo " make deploy - Deploy slides to server"
# Ensure build directory exists
$(BUILD_DIR)/.exists:
@mkdir -p $(BUILD_DIR)
@touch $@
# Assemble all termin files
assemble: $(BUILD_DIR)/.exists
@echo "Assembling slides..."
@for f in $(TERMINS); do \
echo " $$f.md"; \
cat $(HEADER) $(INTRO) $(SLIDES_DIR)/$$f.md $(OUTRO) > $(BUILD_DIR)/$$f.md; \
done
@echo " all.md"
@cat $(HEADER) $(INTRO) $(foreach t,$(TERMINS),$(SLIDES_DIR)/$(t).md) $(OUTRO) > $(BUILD_DIR)/all.md
@cp -r $(SLIDES_DIR)/assets $(BUILD_DIR)/ 2>/dev/null || true
# Development server - serves slides/ directly with HMR
dev:
@echo "Starting dev server with HMR..."
@@ -48,43 +58,30 @@ dev:
PORT=1312 npx @marp-team/marp-cli --server $(SLIDES_DIR)/
# Watch for changes
watch:
npx @marp-team/marp-cli --watch $(SLIDES_DIR)/
# Copy assets and materials to build directory
copy-assets: $(BUILD_DIR)/.exists
@echo "Copying assets..."
@cp -r $(SLIDES_DIR)/assets $(BUILD_DIR)/
@cp -r $(SLIDES_DIR)/materials $(BUILD_DIR)/ 2>/dev/null || true
watch: assemble
npx @marp-team/marp-cli --watch $(BUILD_DIR)/all.md
# Build all slides (HTML + PDF)
build: copy-assets
build: assemble
@echo "Building all slides..."
@for f in $(TERMINS); do \
echo "Building $$f..."; \
npx @marp-team/marp-cli $(SLIDES_DIR)/$$f.md -o $(BUILD_DIR)/$$f.html; \
npx @marp-team/marp-cli $(SLIDES_DIR)/$$f.md --pdf --allow-local-files -o $(BUILD_DIR)/$$f.pdf; \
npx @marp-team/marp-cli $(BUILD_DIR)/$$f.md -o $(BUILD_DIR)/$$f.html; \
npx @marp-team/marp-cli $(BUILD_DIR)/$$f.md --pdf --allow-local-files -o $(BUILD_DIR)/$$f.pdf; \
done
@echo "Done! Output in $(BUILD_DIR)/"
@echo "Building all.md..."
npx @marp-team/marp-cli $(BUILD_DIR)/all.md -o $(BUILD_DIR)/all.html
npx @marp-team/marp-cli $(BUILD_DIR)/all.md --pdf --allow-local-files -o $(BUILD_DIR)/all.pdf
# Export all slides to PDF
pdf: $(BUILD_DIR)/.exists
# Export to PDF (all slides combined)
pdf: assemble
@echo "Exporting to PDF..."
@for f in $(TERMINS); do \
echo " $$f.pdf"; \
npx @marp-team/marp-cli $(SLIDES_DIR)/$$f.md --pdf --allow-local-files -o $(BUILD_DIR)/$$f.pdf; \
done
@echo "Done! PDFs in $(BUILD_DIR)/"
npx @marp-team/marp-cli $(BUILD_DIR)/all.md --pdf --allow-local-files -o $(BUILD_DIR)/all.pdf
# Export all slides to HTML
html: copy-assets
# Export to HTML (all slides combined)
html: assemble
@echo "Exporting to HTML..."
@for f in $(TERMINS); do \
echo " $$f.html"; \
npx @marp-team/marp-cli $(SLIDES_DIR)/$$f.md -o $(BUILD_DIR)/$$f.html; \
done
@./scripts/generate-index.sh $(BUILD_DIR)
@echo "Done! HTML files in $(BUILD_DIR)/"
npx @marp-team/marp-cli $(BUILD_DIR)/all.md -o $(BUILD_DIR)/all.html
# Clean generated files
clean:
@@ -96,30 +93,8 @@ install:
@echo "Installing dependencies..."
npm install
# Optimize images (resize to max 1920px, requires nix-shell -p imagemagick)
optimize-images:
@echo "Backing up originals to assets-original/..."
@mkdir -p $(SLIDES_DIR)/assets-original
@cp $(SLIDES_DIR)/assets/*.png $(SLIDES_DIR)/assets-original/ 2>/dev/null || true
@cp $(SLIDES_DIR)/assets/*.jpg $(SLIDES_DIR)/assets-original/ 2>/dev/null || true
@echo "Resizing images to max 1920px..."
@nix-shell -p imagemagick --run 'for img in $(SLIDES_DIR)/assets/*.png; do magick "$$img" -resize "1920x>" -quality 85 "$$img"; done'
@nix-shell -p imagemagick --run 'for img in $(SLIDES_DIR)/assets/*.jpg; do magick "$$img" -resize "1920x>" -quality 85 "$$img"; done'
@echo "Done! Originals backed up in assets-original/"
# Deploy slides (full build)
# Deploy slides
deploy: build
@echo "Deploying slides..."
@echo "Copying HTML files..."
scp $(BUILD_DIR)/*.html tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
@echo "Copying assets..."
scp -r $(BUILD_DIR)/assets/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
@echo "Copying materials..."
scp -r $(BUILD_DIR)/materials/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/ 2>/dev/null || true
# Deploy HTML only (faster, no PDF rebuild)
deploy-html: html
@echo "Deploying HTML only..."
scp $(BUILD_DIR)/*.html tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
scp -r $(BUILD_DIR)/assets/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
scp -r $(BUILD_DIR)/materials/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/ 2>/dev/null || true
scp $(BUILD_DIR)/all.html tengo@tuttle.uberspace.de:/home/tengo/html/malta/index.html
scp -r $(BUILD_DIR)/assets/ tengo@tuttle.uberspace.de:/home/tengo/html/malta/
+10 -2
View File
@@ -7,7 +7,15 @@ Hochschule der Medien Stuttgart · Wintersemester 2025/26
---
## Termine
## Über dieses Modul
> *Internettechnologien 1 – "Technische Grundlagen von IT-Projekten"*
Die Digitalisierung verändert die Prozesse und Tätigkeiten in allen Branchen. Sie hat neue Geschäftsmodelle ermöglicht und auch unseren Alltag stark verändert. Kaum ein Projekt in der Medienwelt kommt ohne digitale Technik aus – als Produkt, Kollaborationsplattform oder Marketing- und Verkaufsplattform.
**Ziel:** Technische Grundlagen verstehen, um mit Entwicklungsteams, Kunden und Projektpartnern auf Augenhöhe zusammenarbeiten zu können.
### Termine
| # | Datum | Thema |
|---|-------|-------|
@@ -26,7 +34,7 @@ In dieser Veranstaltung erwerben Sie folgende Kompetenzen:
- Speichermedien und Schnittstellen kennen
- APIs und Distributionswege verstehen
**Dozent:** Michael Czechowski · mail@librete.ch
**Dozent:** Michael Czechowski · michael.czechowski@lehre.dhbw-stuttgart.de
---
+132
View File
@@ -0,0 +1,132 @@
# Lehrauftrag HdM Stuttgart – WS 25/26
**Studiengang:** Digital- und Medienwirtschaft / Media Entertainment
**Kontakt:** Tahira Siddiqui (Studiengangsmanagerin)
**Ort:** HdM Stuttgart, Nobelstraße 10, 70569 Stuttgart
---
## Vorlesungen & Termine
### 1. Dateiformate, Schnittstellen, Speichermedien und Distributionswege
*Teil des Moduls "Technik 1", 1. Semester*
| Termin | Tag | Zeit | Status |
|--------|-----|------|--------|
| ~~12.12.2025~~ | ~~Fr~~ | ~~14:15 – 17:30~~ | ❌ Auslandsreise |
| 19.12.2025 | Fr | 14:15 – 17:30 | ✓ |
| 09.01.2026 | Fr | 14:15 – 17:30 | ✓ |
| 23.01.2026 | Fr | 14:15 – 17:30 | ✓ |
| 30.01.2026 | Fr | 14:15 – 17:30 | ✓ |
**⚠️ Offen:** Ersatztermin für 12.12. mit Tahira klären
**Inhalte:**
- Dateiformate (Text, Bild, Audio, Video; Header, Metadaten, Kompression)
- Speichermedien (HDD, SSD, Cloud)
- Schnittstellen (USB, HDMI, APIs)
- Distributionswege (CDN, P2P, Plattformen)
- Werkzeuge & Praxisbezug
---
### 2. Grundlagen IT (Internet 1)
| Termin | Tag | Zeit |
|--------|-----|------|
| 20.12.2025 | Fr | 10:00 – 16:30 |
| 10.01.2026 | Fr | 10:00 – 16:30 |
| 24.01.2026 | Fr | 10:00 – 16:30 |
**Unterlagen:** https://filestore.hdm-stuttgart.de/s/rW4zJUluFlh9ZWJ
---
## Chronologie der Korrespondenz
### Phase 1: Anfrage (14.–19.11.2025)
**14.11. – Tahira → Michael:**
Anfrage für Lehrauftrag "Dateiformate, Schnittstellen, Speichermedien und Distributionswege". Kurzfristige Besetzung im laufenden Semester benötigt.
**14.11. – Michael → Tahira:**
Grundsätzliches Interesse, ab Dezember verfügbar, nur Freitage möglich.
**18.11. – Tahira → Michael:**
Bestätigung: Freitage sind kein Problem.
**18.11. – Michael → Tahira:**
Zusage: "Solange es freitags stattfinden kann, bin ich ab Dezember einsatzbereit."
**18.11. – Tahira → Michael:**
Fragt nach persönlichem Gespräch.
**19.11. – Michael → Tahira:**
Gibt Telefonnummer für Rückruf.
---
### Phase 2: Terminplanung (24.–27.11.2025)
**24.11. – Tahira → Michael:**
Erste Terminvorschläge für "Technik 1": 12.12., 19.12., 09.01., 23.01., 30.01. (je 14:15–17:30).
Erwähnt zusätzlich möglichen Lehrauftrag "Grundlagen IT und Internettechnik" als Samstags-Blocktage.
**26.11. – Tahira → Michael:**
Fragt nach Meeting morgen Vormittag. Sendet Link zu Unterlagen für Grundlagen IT.
**26.11. – Michael → Tahira:**
Schlägt 10 Uhr vor (muss ab 11 Uhr im Zug sein).
**26.11. – Tahira → Michael:**
Gegenvorschlag: 9:30 Uhr.
**26.11. – Michael → Tahira:**
"Dann 9:30, bis morgen."
**27.11. – Meeting um 9:30 Uhr (vermutlich telefonisch)**
---
### Phase 3: Vertragsunterzeichnung (03.12.2025)
**03.12. – Michael → Tahira:**
Hat Termin um 16 Uhr übersehen, fragt nach Alternativen.
**03.12. – Tahira → Michael:**
Kann länger bleiben oder Freitag ab 12 Uhr.
**03.12. – Michael → Tahira:**
Schlägt 14:30 Uhr vor. Gibt Anschrift für Vertrag:
Michael Werner Czechowski, Schnellweg 3, 70199 Stuttgart
**03.12. – Tahira → Michael:**
"Ja, das passt!"
**03.12. – Persönliches Treffen um 14:30 Uhr an der HdM**
---
### Phase 4: Grundlagen IT Termine (05.–08.12.2025)
**05.12. – Tahira → Michael:**
Terminvorschläge für Grundlagen IT: 13.12., 20.12., 10.01., 24.01. (je 10:00–17:00). Drei Termine genügen.
**08.12. – Michael → Tahira:**
Zeiten passen allgemein, aber 13.12. nicht möglich (Auslandsreise). Bittet um Ausweichtermin.
**08.12. – Tahira → Michael:**
Passt Termine an: 20.12., 10.01., 24.01. (je 10:00–16:30).
**08.12. – Michael → Tahira:**
"Das passt für mich!"
---
## Zusammenfassung
- **Zwei Lehraufträge** im WS 25/26
- **Alle Termine freitags** (wie gewünscht)
- **Semesterende:** 31.01.2026
- **Vertrag unterschrieben:** 03.12.2025 (persönlich an der HdM)
-93
View File
@@ -1,93 +0,0 @@
#!/usr/bin/env bash
# Generate index.html for slide overview
BUILD_DIR="${1:-build}"
cat > "$BUILD_DIR/index.html" << 'HEADER'
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>223015b - Dateiformate, Schnittstellen, Speichermedien</title>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 2rem;
background: #1a1a2e;
color: #eee;
}
h1 { color: #fff; margin-bottom: 0.5rem; }
.subtitle { color: #888; margin-bottom: 2rem; }
.termin {
background: #16213e;
border-radius: 8px;
padding: 1.5rem;
margin-bottom: 1rem;
text-decoration: none;
display: block;
transition: transform 0.2s, background 0.2s;
}
.termin:hover { background: #1f4068; transform: translateX(5px); }
.termin h2 { color: #fff; margin: 0 0 0.5rem 0; font-size: 1.2rem; }
.termin .date { color: #4ecca3; font-size: 0.9rem; }
.termin .topic { color: #aaa; font-size: 0.95rem; margin-left: 1rem; }
footer { margin-top: 2rem; color: #666; font-size: 0.85rem; text-align: center; }
footer a { color: #4ecca3; }
</style>
</head>
<body>
<h1>223015b</h1>
<p class="subtitle">Dateiformate, Schnittstellen, Speichermedien & Distributionswege<br>
HdM Stuttgart - WS 2025/26 - Michael Czechowski</p>
HEADER
# Generate links for each termin (sorted)
for html in $(ls "$BUILD_DIR"/2*.html 2>/dev/null | sort); do
filename=$(basename "$html")
# Extract components from filename
# Format: 2025-12-19-termin-1-grundlagen-text-audio.html
date=$(echo "$filename" | grep -oE '^[0-9]{4}-[0-9]{2}-[0-9]{2}')
termin_num=$(echo "$filename" | grep -oE 'termin-[0-9]+' | grep -oE '[0-9]+')
topic_raw=$(echo "$filename" | sed -E 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}-termin-[0-9]+-//' | sed 's/\.html$//')
# Format topic: replace - with space, capitalize
topic=$(echo "$topic_raw" | sed 's/-/ /g' | sed 's/.*/\u&/')
# Format date
if [[ "$date" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
formatted_date=$(date -d "$date" "+%d.%m.%Y" 2>/dev/null || echo "$date")
else
formatted_date="TBA"
fi
# Handle termin number
if [[ "$termin_num" == "0" ]]; then
termin_label="Einfuhrung"
else
termin_label="Termin $termin_num"
fi
cat >> "$BUILD_DIR/index.html" << LINK
<a href="$filename" class="termin">
<h2>$termin_label</h2>
<span class="date">$formatted_date</span>
<span class="topic">$topic</span>
</a>
LINK
done
cat >> "$BUILD_DIR/index.html" << 'FOOTER'
<footer>
<a href="https://git.librete.ch/hdm/223015b">Git Repository</a> -
<a href="mailto:mail@librete.ch">Kontakt</a>
</footer>
</body>
</html>
FOOTER
echo "Generated $BUILD_DIR/index.html"
+32 -110
View File
@@ -9,44 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _backgroundColor: #000 -->
<!-- _footer: '' -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
@@ -58,18 +31,14 @@ Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
---
![bg fit](./assets/qrcode-0.svg)
git.librete.ch/hdm/223015b
---
<!-- _class: lead -->
# Willkommen!
## Termin 1 – Einführung & Grundlagen
# Internettechnologien 1
## "Technische Grundlagen von IT-Projekten"
---
@@ -77,13 +46,10 @@ Hochschule der Medien Stuttgart
**Michael Czechowski**
- Irgendwas mit IT, Cloud und AI
- Schwerpunkte:
- Web-Technologien, Barriere-Armut, Systemarchitektur, Open Source
- Hintergrund:
- Philosophie (Uni Stuttgart) -> NO degree
- Wirtschafts-Informatik (Leibniz-FH) -> B.Sc.
- Kontakt: mail@librete.ch
- Softwareentwickler & IT-Berater
- Schwerpunkte: Cloud, AI, Web-Technologien, Systemarchitektur, Open Source
- Hintergrund: Philosophie & Informatik
- Kontakt: michael.czechowski@lehre.dhbw-stuttgart.de
<!--
Kurze Vorstellung
@@ -93,77 +59,53 @@ Fragen jederzeit willkommen
---
<!-- _footer: '' -->
![bg fit](./assets/jung-naiv.png)
---
# AMA (Ask my anything)
*Nur ein Vorschlag ...*
* Hast du alle Bände von AoT daheim?
* Hast du eine Studierenden-Kneipe mal geleitet?
* Hast du wirklich 17 Semester Philosophie ohne Abschluss studiert?
---
# Kurze Umfrage
**Bitte Hand heben:**
1) Wer hat schon mal ein Video komprimiert/konvertiert?
2) Wer kennte die 3-2-1 Regel?
3) Wer weiß, was der Unterschied zwischen JPEG und PNG ist?
4) Wer hat schon mal mit APIs gearbeitet?
5) Wer weiß, was UTF-8 bedeutet?
6) Wer hat schon mal mit einem CLI gearbeitet?
6) **Wer hat schon mal etwas mit HTML oder CSS gemacht?** (Hex-Farben wie `#FF0000`?)
1. Wer hat schon mal ein Video komprimiert/konvertiert?
2. Wer hat schon mal eine Datei mit einem Hex-Editor geöffnet?
3. Wer weiß, was der Unterschied zwischen JPEG und PNG ist?
4. Wer hat schon mal mit APIs gearbeitet?
5. Wer weiß, was UTF-8 bedeutet?
6. **Wer hat schon mal HTML oder CSS gemacht?** (Hex-Farben wie `#FF0000`?)
<!--
Niveau der Gruppe einschätzen
Keine falschen Antworten
Zeigt, wo wir starten
HTML/CSS-Frage: Viele kennen Hex-Codes aus Webdesign
API = Application Programming Interface
-->
---
# Warum dieses Modul?
**Digitale Medien sind überall** – aber was steckt dahinter?
Die Digitalisierung verändert die Prozesse und Tätigkeiten in allen Branchen. Sie hat neue Geschäftsmodelle ermöglicht und auch unseren Alltag stark verändert.
* Warum ist ein JPEG kleiner als ein PNG?
* Warum klingt MP3 anders als FLAC?
* Warum zeigt meine 1 TB Festplatte nur 931 GB?
* Warum ist USB-C so verwirrend?
* Wie funktioniert eigentlich Streaming?
* **→ Die Technik dahinter verstehen!**
Kaum ein Projekt in der Medienwelt kommt ohne digitale Technik aus:
- Als **Produkt** (z.B. Verkauf einer Webseite)
- Als **Kollaborationsplattform**
- Als **Marketing- und Verkaufsplattform**
<!--
Praxisnahe Fragen aus dem Alltag
Nicht nur "was", sondern "warum"
Verständnis für technische Entscheidungen
Aus dem Modulhandbuch "Internettechnologien 1"
Digitalisierung betrifft alle Branchen
Technik ist nicht optional, sondern zentral
-->
---
# Das Ziel
**Technische Grundlagen verstehen**, um fundierte Entscheidungen treffen zu können.
**Technische Grundlagen verstehen**, um mit Entwicklungsteams, Kunden und Projektpartnern **auf Augenhöhe** zusammenarbeiten zu können.
Als Digital- und Medienwirtschaftler:innen werdet ihr täglich mit technischen Fragen konfrontiert:
* Welches Format für welchen Zweck?
* Welche Schnittstelle für welches Gerät?
* Wie funktioniert die Distribution digitaler Inhalte?
* **→ Mitreden können – nicht (zwingend) programmieren!**
Grundkenntnisse der Internettechnologien und der Prozesse der Software-Entwicklung sind **unabdingbar**, um ein gemeinsames Verständnis von Projektanforderungen und dem Projektvorgehen zu erreichen.
<!--
Nicht: Ihr sollt Programmierer werden
Sondern: Ihr sollt technische Entscheidungen verstehen
Praxisbezug: Medienproduktion, Marketing, Projektmanagement
Sondern: Ihr sollt mitreden können
"Auf Augenhöhe" = verstehen, was Entwickler:innen meinen
-->
---
@@ -172,12 +114,11 @@ Praxisbezug: Medienproduktion, Marketing, Projektmanagement
**In dieser Veranstaltung erwerbt ihr folgende Kompetenzen:**
* Fundiertes Grundwissen über Daten und Informationen
* Dateiformate analysieren und verstehen
* Grundlagen von Kompression (Audio, Bild, Video)
* Speichermedien unterscheiden
* Programmier-Schnittstellen kennenlernen
* APIs und Distributionswege verstehen
- Technische Konzepte des Internets verstehen (Netzwerke, Protokolle, Client/Server)
- Dateiformate analysieren und verstehen
- Grundlagen von Kompression (Audio, Bild, Video)
- Speichermedien und Schnittstellen kennen
- APIs und Distributionswege verstehen
<!--
Fokus auf Verständnis, nicht auf Programmierung
@@ -207,22 +148,3 @@ Praktische Übungen jede Woche
Medienwissenschaftler:innen, nicht Informatiker:innen
-->
---
# Prüfungsleistung 18.02.
**Nach aktuellem Kenntnisstand:**
* 90 min (40% Grundlagen, 40% Dateiformate, 20% AV)
* Schriftliche Klausur
* Teils offene Fragen
* Vermutlich digital
* Kein Coding!
* **Prüfungsrelevant:** Alles in den Folien/im Skript
<!--
Details können sich noch ändern
Keine Programmieraufgaben
Verständnisfragen, keine Auswendiglernerei
-->
@@ -9,60 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _backgroundColor: #000 -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
**223015b** · Modul "Technik 1" · 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
---
![bg fit](./assets/qrcode-1.svg)
![bg fit](./assets/digital-landscape.png)
---
@@ -83,12 +40,13 @@ Hochschule der Medien Stuttgart
00 00 01 90 00 00 01 2C
```
**Was ist das?**
<!--
"Ich schaue in viele fragende Gesichte ..."
"Doch vertraut mir, am Ende der heutigen Veranstaltung werdet ihr mir genau sagen können was hier steht"
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."
-->
---
@@ -115,201 +73,29 @@ Demonstration: Glühbirne AN/AUS = 1 Bit
<!--
BIT = Binary Digit (Binärziffer) – 1948 von Claude Shannon geprägt
"Bit warum somit ein Neologismus, bis dato gab es das Wort in dieser Bedeutung überhaupt nicht"
Shannon war Mathematiker bei Bell Labs – begründete die Informationstheorie
Warum binär? Elektronische Schaltungen haben nur 2 Zustände: Strom/kein Strom
Das ist physikalisch am stabilsten (weniger Fehler als 3 oder 10 Zustände)
Alles Digitale basiert auf dieser simplen Idee: AN oder AUS
Transistoren in modernen CPUs: Milliarden davon, schalten Milliarden Mal pro Sekunde
Alles Digitale basiert darauf
Transistoren in CPUs: Milliarden Bits schalten Millionen Mal pro Sekunde
-->
---
# Das Byte
<!--
"Ein Bit allein macht nicht glücklich, die Welt ist nunmal nicht schwarz oder weiß"
"Und um noch weitere (nennen wir es Schattierungen, ganz literarisch) der Welt abbilden zu können, benötigen wir eine weiter Messgröße oder Einheit"
BYTE = Wortspiel aus "Bit" + "Bite" (Bissen) – ein "Bissen" Information
"Doch warum hat man nicht einfach »Bite« genommen?" Fangfrage -> Bit und Bite sind sich zu nahe ... Verwechslungsgefahr!
-->
---
# Das Byte
**1 Byte = 8 Bits**
```
0 1 0 0 1 1 0 1
```
<!--
"Und das sieht dann so aus"
"Aber warum genau 8 Bits?" -> "Das versteht man leider erst so richtig wenn man sich das Ergebnis anschaut, wie viele Möglichkeiten hieraus entstehen"
"Menschen neigen dazu, exponentielles Wachstum zu unterschätzen"
Rätsel: "Wenn sich das Wachstum einer Seerose auf einem Teich jeden Tag verdoppelt · und nach *zehn Tagen* der ganze Teich bedeckt ist, wann ist er zur Hälfte zugewachsen?"
Frage: "Weiß jemand wieviele Zustände wir mit 8 Bit beschreiben können?"
-->
---
# Das Byte
**1 Byte = 8 Bits**
**8 Bits = 1 Byte**
```
0 1 0 0 1 1 0 1
```
**Wie viele Kombinationen?**
2⁸ = **256 Möglichkeiten** (0-255)
<!--
Historie: "Es gab durchaus einen »Machtkampf« und es war überhaupt nicht klar welche Länge sich durchsetzen wird."
- 1964: IBM System/360 setzte diesen Standard (vorher: 6-Bit, 7-Bit Systeme)
- ASCII (1963) brauchte 7 Bit für 128 Zeichen
ASCII = American Standard Code for Information Interchange
Praktikabilität:
- 8 Bit = praktisch für Hardware (Zweierpotenz: 2³ = 8)
- 8 Bit = 2 Hexadezimalziffern (elegante Darstellung)
1 Bit = 2 Zustände
2 Bit = 4 Zustände
3 Bit = 8 Zustände
4 Bit = 16 Zustände
5 Bit = 32 Zustände
6 Bit = 64 Zustände
7 Bit = 128 Zustände
8 Bit = 256 Zustände
Rechnung: 2×2×2×2×2×2×2×2 = 256 mögliche Kombinationen
von griech. hexa „sechs“ und lat. decem „zehn“
Eselsbrücke: 1 Byte = 1 Buchstabe/Symbol (in ASCII/UTF-8 für einfache Zeichen)
-->
---
# Dateneinheiten
| Einheit | Bytes | Bits | Potenz |
|---------|-------|------|--------|
| **1 Byte** | 1 | 8 | 10⁰ |
| **1 Kilobyte (KB)** | 1.000 | 8.000 | 10³ |
| **1 Megabyte (MB)** | 1.000.000 | 8 Mio. | 10⁶ |
| **1 Gigabyte (GB)** | 1 Mrd. | 8 Mrd. | 10⁹ |
| **1 Terabyte (TB)** | 1 Bio. | 8 Bio. | 10¹² |
<!--
SI-Präfixe (Dezimal): 1 KB = 1.000 Bytes
Binär (IEC): 1 KiB = 1.024 Bytes (Kibibyte)
Windows zeigt oft binär, sagt aber "KB" → Verwirrung!
1 TB Festplatte = ~931 GiB nutzbar
-->
---
# Dateneinheiten (Fortsetzung)
| Einheit | Bytes | Potenz | Beispiel |
|---------|-------|--------|----------|
| **1 Petabyte (PB)** | 10¹⁵ | 1.000 TB | Netflix-Gesamtarchiv |
| **1 Exabyte (EB)** | 10¹⁸ | 1.000 PB | Alle E-Mails weltweit/Tag |
| **1 Zettabyte (ZB)** | 10²¹ | 1.000 EB | Internet-Traffic 2016 |
| **1 Yottabyte (YB)** | 10²⁴ | 1.000 ZB | *Noch nie erreicht* |
<!--
Peta = 10^15 (Billiarde)
Exa = 10^18 (Trillion)
Zetta = 10^21 (Trilliarde)
Yotta = 10^24 (Quadrillion)
Eselsbrücke: "Kilo Mega Giga Tera Peta Exa Zetta Yotta"
→ "Komm Mit Großem Tee, Peter Exte Zettelt Yachten"
-->
---
# Datenwachstum der Menschheit
| Jahr | Datenmenge | Kontext |
|------|------------|---------|
| **100.000 v. Chr.** | 0 | Erste Menschen, nur Sprache |
| **3.000 v. Chr.** | ~wenige KB | Keilschrift, Hieroglyphen |
| **1450** | ~wenige GB | Gutenberg, Buchdruck |
| **1986** | **2,6 EB** | Analog (Bücher, Vinyl, Film) |
| **2007** | **295 EB** | Beginn digitale Dominanz |
| **2017** | **19 ZB** | Analog kaum gewachsen |
| **2025** | **181 ZB** | 90% unstrukturiert |
<!--
Exponentielles Wachstum: Verdopplung alle 2 Jahre
1986: Letzte Ära mit analoger Dominanz
2007: Erste Jahr, in dem digital > analog
2025: 181 ZB = 181.000.000.000.000.000.000.000 Bytes
Analog blieb bei ~2,6 EB stehen (Bücher, Vinyl, Film)
Digital explodierte: IoT, Social Media, Cloud, Video
-->
---
# 181 Zettabyte – Was bedeutet das?
**2025:** Welt erzeugt **181 ZB** pro Jahr
- **2,5 Quintillionen Bytes** täglich
- **29 Terabyte** pro Sekunde
- **90%** davon: unstrukturiert (Videos, Bilder, Audio)
- **70%** davon: von Nutzern generiert
**Zum Vergleich:**
- 1 ZB = 250 Milliarden DVDs
- 181 ZB = Jeder Mensch erzeugt ~23 TB/Jahr
<!--
Quellen: IDC Global DataSphere Forecast, Statista 2025
IoT-Geräte allein: 73 ZB in 2025
Cloud-Speicher: 100 ZB (50% der Weltdaten)
Prognose 2028: 394 ZB
-->
---
# AI-generierte Inhalte 2025
**Wie viel Content ist heute synthetisch?**
| Bereich | AI-Anteil |
|---------|-----------|
| **Neue Webseiten** | ~74% enthalten AI-Content |
| **Web-Text gesamt** | ~30-40% AI-generiert |
| **Neue Artikel** | ~52% von AI geschrieben |
| **Social-Media-Bilder** | ~71% AI-generiert |
**Prognose 2026:** 90% des Online-Contents synthetisch
<!--
Quellen: Ahrefs 2025, arXiv, Europol-Report
"Synthetic Media" = AI-generiert oder -manipuliert
Problem: Schwer zu messen, da Menschen + AI zusammenarbeiten
Model Collapse: AI trainiert auf AI-Output → Qualitätsverlust
BYTE = Wortspiel aus "Bit" + "Bite" (Bissen)
Warum 8 Bits? Historisch: IBM System/360 (1964) setzte Standard
Vorher: 6-Bit, 7-Bit Systeme (z.B. ASCII = 7 Bit)
8 Bit = 2 Hex-Ziffern = praktisch für Hardware
Rechnung: 2×2×2×2×2×2×2×2 = 256
-->
---
@@ -317,39 +103,9 @@ Model Collapse: AI trainiert auf AI-Output → Qualitätsverlust
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/original-ascii-table.png)
![bg](./assets/grayscale-gradient.png)
<!--
Vorgeschichte:
US-ASCII (1967) Code Chart
- 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
"Ich möchte, dass ihr das mit mir jetzt gemeinsam lesen lernt; stellt euch vor ihr seid ArchäologInnen."
"Wie würdet ihr vorgehen?"
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
»256 Shades of Gray«
![bg fit](./assets/grayscale-gradient.png)
<!--
»256 Shades of Gray«
256 Graustufen: 0 = Schwarz, 255 = Weiß
-->
@@ -357,24 +113,15 @@ US-ASCII (1967) Code Chart
# Was kann man mit 256 Zuständen machen?
* **256 Zeichen** (Buchstaben, Zahlen, Symbole)
* **256 Helligkeit bzw. Luminanz** (0 = Schwarz/Dunkel, 255 = Weiß/Hell)
* **256 Lautstärkestufen**
* **Zahlen 0-255** (oder -128 bis +127)
* *Fällt Euch noch mehr ein?*
- **256 Zeichen** (Buchstaben, Zahlen, Symbole)
- **256 Graustufen** (0 = Schwarz, 255 = Weiß)
- **256 Lautstärkestufen**
- **Zahlen 0-255** (oder -128 bis +127)
<!--
256 = die "magische Zahl" bei 8 Bit
Alltagsbeispiele:
- Lautstärkeregler (0 = stumm, 255 = max)
- Helligkeitswerte in Bildern (0 = schwarz, 255 = weiß)
- Alter in Jahren (0-255 reicht für Menschen locker)
- Zeichen (ASCII erweitert: 256 Buchstaben/Symbole)
Für Farbbilder: 3 Bytes pro Pixel (R, G, B)
Jeder Kanal 0-255 → 256³ = 16.777.216 Farben ("True Color")
Das menschliche Auge kann etwa 10 Millionen Farben unterscheiden
→ 24 Bit reicht für fotorealistische Bilder
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
-->
---
@@ -382,32 +129,14 @@ Das menschliche Auge kann etwa 10 Millionen Farben unterscheiden
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/rgb-color-model.png)
<!--
Welche Farben für ein volles Spektrum bieten sich nach unserer gelernten Sparsamkeit hier am besten an?
1. CMYK bzw. in diesem Fall CMYW
2. RGB
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/rgb-color-model-with-title.png)
![bg](./assets/rgb-color-model.png)
<!--
RGB = Additive Farbmischung (Bildschirme)
Sog. RGB Tuple (geordnete endliche Liste)
-->
---
![bg right:50%](./assets/addaptive-substractive-colors.jpg)
# Farben: RGB-Modell
**1 Pixel = 3 Bytes**
@@ -421,9 +150,6 @@ Sog. RGB Tuple (geordnete endliche Liste)
`00 00 00` = Schwarz | `FF FF FF` = Weiß
<!--
"Weiß jemand oder möchte jemand raten, wofür das "s" bei "sRGB" steht?"
sRGB = Standard RGB
CMYK = Subtraktive Farbmischung (Druck)
Hex-Notation: FF = 255 in Dezimal
CSS-Farben nutzen Hex: #FF0000 = Rot
@@ -433,13 +159,6 @@ background-color: #FF0000; = Rot
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/hex-dec-lookup-table.png)
---
# Das Problem: Sprachen
**Die Welt hat mehr als 256 Zeichen!**
@@ -463,15 +182,32 @@ Chaos: Verschiedene Standards für verschiedene Sprachen
---
<!-- _header: '' -->
<!-- _footer: '' -->
![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)
- 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
@@ -485,12 +221,12 @@ Umlaute: "ä" = 2 Bytes, Chinesisch: 3 Bytes, Emoji: 4 Bytes
# Beispiel: Bytes zählen
**Text:** `"Why the heck braucht 💩 4 Bytes?!"`
**Text:** `"Why the fuck braucht 💩 4 Bytes?!"`
```
W h y → je 1 Byte (4 Bytes)
t h e → je 1 Byte (4 Bytes)
h e c k → 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
@@ -510,6 +246,18 @@ UTF-8-Kodierung: Variable Länge spart Speicher bei ASCII
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg](./assets/hex-binary-table.png)
<!--
Hex-Binär-Umrechnungstabelle
Jede Hex-Ziffer = 4 Bits
-->
---
# Hexadezimal: Lesbarkeit
**Binär ist unleserlich:**
@@ -521,115 +269,52 @@ UTF-8-Kodierung: Variable Länge spart Speicher bei ASCII
**Jede Hex-Ziffer = 4 Bits (ein "Nibble")**
0-9, A-F (10=A, 11=B, ..., 15=F)
**ASCII Tabelle (0-127):**
[https://www.asciitable.com](https://www.asciitable.com)
<!--
"Gerne vorab auf den Link gehen"
WICHTIG: ASCII geht nur von 0-127!
- Werte 128-255 sind NICHT in der ASCII-Tabelle
- Das wird später bei Magic Numbers wichtig
Warum Hexadezimal statt Dezimal?
- Binär ist zu lang: 01001101 (8 Zeichen für 1 Byte)
- Dezimal passt nicht: 77 (unregelmäßig, manchmal 2, manchmal 3 Ziffern)
- Hex ist perfekt: 4D (immer 2 Ziffern pro Byte)
Trick: 4 Bits = 1 Hex-Ziffer (weil 2⁴ = 16)
0000 = 0, 0001 = 1, ..., 1001 = 9, 1010 = A, 1011 = B, ..., 1111 = F
"Nibble" = 4 Bits = halbes Byte (Wortspiel: nibble = knabbern, byte = beißen)
Umrechnung üben:
- 0x4D = 4×16 + 13 = 64 + 13 = 77 (Dezimal) = Buchstabe "M" in ASCII
- 0xFF = 15×16 + 15 = 255 (Maximum für 1 Byte)
Hex-Editor = Standard-Tool für Dateianalyse und Reverse Engineering
Warum genau 4 Bits? 2⁴ = 16 Werte = eine Hex-Ziffer (0-F)
Hex = Shortcut für Menschen, nicht für Computer
Computer denken binär, wir lesen hex
1 Byte = 2 Hex-Ziffern (00-FF)
"Nibble" = halb Byte = 4 Bits (Wortspiel!)
Hex-Editor: Standard-Tool für Dateianalyse
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit](./assets/hex-code-hidden.png)
<!--
"Zurück zu Frage am Anfang: Was steht hier nun?"
"Versucht es kurz selbst zu entschlüsseln"
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit](./assets/hex-code.png)
<!--
Hex-Editor-Screenshot mit PNG-Datei
Erste Bytes: 89 50 4E 47 = PNG-Signatur
- 89: non-printable character (signalisiert, dass wir hier außerhalb von ASCII sind)
- 50: P
- 4E: N
- 47: G
IHDR = Image Header (Breite, Höhe, Farbtiefe)
Zeigen, wie man Magic Number liest
Tool: HxD (Windows), Hex Fiend (Mac), xxd (Linux)
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/8bit-P-character.png)
---
# Magic Numbers
**Dateityp-Identifikation durch erste Bytes**
| Format | Magic Number (Hex) | Lesbar? |
|--------|-------------------|---------|
| PNG | `89 50 4E 47` | ✗ P N G |
| JPEG | `FF D8 FF` | ✗ ✗ ✗ |
| PDF | `25 50 44 46` | % P D F ✓ |
| ZIP | `50 4B 03 04` | P K ✗ ✗ |
| 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/DOCX/ODT | `50 4B 03 04` | `PK` |
**Wichtig:** ASCII = nur 0-127! Werte darüber (z.B. `89` = 137) sind **nicht druckbar** (non-printable). *Hex-Editoren zeigen dafür `.` oder `ÿ` als Platzhalter.*
**Achtung:** TXT, HTML, CSS haben **keine** Magic Number!
<!--
"Warum findet ihr 89 nicht in der ASCII-Tabelle?"
Magic Number = Signature am Dateianfang
"PK" = Phil Katz (Erfinder von PKZip)
DOCX, XLSX, ODT = ZIP-Archive mit XML-Inhalt!
Dateiendungen können lügen, Magic Numbers nicht
→ FAKE CHECK: virus.exe → bild.jpg umbenennen täuscht nur Menschen
Computer erkennt echten Typ an Magic Number
-->
KERNKONZEPT:
- 1 Byte = 256 Werte (0-255)
- ASCII deckt nur 0-127 ab (die "druckbaren" Zeichen)
- 128-255 = Binärdaten, Steuerzeichen, erweiterte Zeichen
---
WARUM nutzt PNG absichtlich 89 (= 137 dezimal)?
1. Markiert die Datei eindeutig als BINÄR, nicht Text
2. Erkennt kaputte Übertragungen (alte Systeme schnitten Bit 7 ab)
3. Verhindert versehentliches Öffnen als Textdatei
<!-- _header: '' -->
<!-- _footer: '' -->
Geschichte: "PK" bei ZIP = Phil Katz (Erfinder von PKZip, 1989)
Fun Fact: DOCX, XLSX, PPTX, ODT = alles ZIP-Archive mit XML-Inhalt!
![bg](./assets/hexeditor-screenshot.png)
Dateien OHNE Magic Number: TXT, HTML, CSS, JSON, XML
→ Reiner Text, kein binäres Format
Sicherheits-Aspekt:
virus.exe → bild.jpg umbenennen täuscht nur Menschen
Windows vertraut der Endung, aber "file" (Linux) liest Magic Number
<!--
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)
-->
---
@@ -664,16 +349,16 @@ Ziel: Hex-Dump lesen lernen, Dateiformate verstehen
**Finde eine Datei auf deinem Computer**
1. Öffne im Hex-Editor
2. Schau dir die ersten 16 Bytes an
3. Identifiziere die Magic Number (falls vorhanden)
4. Nächste Woche: Kurze Diskussion
2. Screenshot der ersten 16 Bytes
3. Identifiziere Magic Number
4. Poste im Forum: Format + kurze Beschreibung
**Bonus:** Finde Datei ohne Magic Number
**Bonus:** Finde Datei ohne Magic Number in Standard-Listen
<!--
Selbstständiges Experimentieren
Keine Abgabe, nur zum Ausprobieren
Nächste Woche kurz besprechen
Selbstständiges Arbeiten
Forum: Peer-Learning, gegenseitige Hilfe
Bonus: Spornt Neugierige an
-->
---
@@ -725,98 +410,7 @@ Streaming? Unmöglich.
<!-- _header: '' -->
<!-- _footer: '' -->
![bg cover](./assets/spectogram-chet-baker.png)
<!--
"Wenn CDs eine Sample Rate von 44kHz haben, was fällt dann hier auf?"
Fangfrage: "Wie hoch ist die Sample Rate von Vinyls?" -> *Vinyl has no sample rate. It's analog!*
-->
---
# Was ist Sample Rate?
**Analog → Digital ≙ Kontinuierlich → Diskret**
```
Analog (Vinyl): Digital (CD):
~~~~~~~~~~~~~~~ • • • • • • • •
Kontinuierliche 44.100 Messpunkte
Wellenform pro Sekunde
```
**Nyquist-Theorem:**
> Um eine Frequenz zu rekonstruieren, braucht man mindestens **2× so viele Samples**.
44.100 Hz ÷ 2 = **22.050 Hz** max. darstellbare Frequenz
(Mensch hört: ~20 Hz bis ~20.000 Hz → passt!)
<!--
SAMPLE RATE = Wie oft "fotografieren" wir die Schallwelle?
Stellt euch vor: Schallwelle = fahrendes Auto
- Analog: Videokamera läuft durchgehend
- Digital: Fotokamera macht 44.100 Fotos pro Sekunde
VINYL hat KEINE Sample Rate:
- Rille ist physische Kopie der Welle
- "Unendliche Auflösung" in der Theorie
- ABER: Rauschen, Kratzer, Nadelmasse = eigene Limits
- Praktisch: ~20 Hz bis ~20 kHz, 60-70 dB Dynamik
WARUM genau 44.100 Hz?
- Nyquist: 2× höchste hörbare Frequenz nötig
- 20.000 Hz × 2 = 40.000 Hz Minimum
- 44.100 = etwas Puffer + passte zu Video-Equipment der 80er
DAS SPEKTROGRAMM zeigt es:
- Alles über ~22 kHz ist abgeschnitten
- Das ist kein Bug, das ist das Design!
- Vinyl hätte dort noch Obertöne (die wir eh nicht hören)
-->
---
# Sample Rate vs. Bit Depth
**Zwei Dimensionen der Digitalisierung:**
| Dimension | Was bedeutet es? | CD-Qualität |
|-----------|------------------|-------------|
| **Sample Rate** | Messungen pro Sekunde (horizontal) | 44.100 Hz |
| **Bit Depth** | Genauigkeit pro Messung (vertikal) | 16 Bit |
**16 Bit = 2¹⁶ = 65.536 Lautstärkestufen**
(von absoluter Stille bis maximaler Lautstärke)
<!--
Analogie: Digitalisierung = Raster über Schallwelle legen
HORIZONTAL (Sample Rate):
- Wie oft messen wir pro Sekunde?
- 44.100 Hz = 44.100 Messpunkte pro Sekunde
- Bestimmt, welche FREQUENZEN wir erfassen können
- Nyquist-Theorem: Sample Rate ≥ 2× höchste Frequenz
- 44.100 Hz → max. ~22.050 Hz (Mensch hört bis ~20.000 Hz)
VERTIKAL (Bit Depth):
- Wie genau messen wir jeden Punkt?
- 16 Bit = 65.536 mögliche Werte (-32.768 bis +32.767)
- Bestimmt den DYNAMIKUMFANG (leise bis laut)
- 16 Bit ≈ 96 dB Dynamik (Flüstern bis Rockkonzert)
- Mehr Bits = feinere Abstufungen = weniger Quantisierungsrauschen
KOMPRESSION nutzt beide Achsen:
- Sample Rate reduzieren = weniger Punkte horizontal (spart Daten, verliert hohe Frequenzen)
- Bit Depth reduzieren = gröbere Stufen vertikal (spart Daten, mehr Rauschen)
- MP3: Wirft unhörbare Frequenzen weg + quantisiert grober wo es nicht auffällt
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/compression-types.png)
![bg](./assets/compression-types.png)
<!--
Lossless vs. Lossy Kompression
@@ -873,32 +467,15 @@ Schlecht für chaotische Daten (Fotos, Audio)
**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
* **→ Psychovisuell**
<!--
Auditory Masking: Lauter 1000 Hz-Ton → leise 950 Hz unhörbar
Visuelle Masking: Starker Kontrast überstrahlt Details
Kompression = Modell der menschlichen Wahrnehmung
-->
---
# 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
- **→ Psychovisuell**
**MP3:** Schwächen des Ohrs
* Mittlere Frequenzen besser als hohe/tiefe
* Laute Töne "maskieren" leise Töne
* **→ Psychoakustik**
- 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
@@ -908,16 +485,16 @@ Kompression = Modell der menschlichen Wahrnehmung
---
![bg right:40%](./assets/karlheinz-brandenburg.jpg)
![bg right:50%](./assets/karlheinz-brandenburg.jpg)
# Karlheinz Brandenburg
**"Vater der MP3"**
* Diplom-Ingenieur, Universität Erlangen-Nürnberg
* Fraunhofer IIS (Institut für Integrierte Schaltungen)
* Forschung ab 1982, Patent 1988
* Hörte "Tom's Diner" über 10.000 Mal
- Diplom-Ingenieur, Universität Erlangen-Nürnberg
- Fraunhofer IIS (Institut für Integrierte Schaltungen)
- Forschung ab 1982, Patent 1988
- Hörte "Tom's Diner" über 10.000 Mal
<!--
Fraunhofer IIS Erlangen
@@ -977,7 +554,7 @@ Brandenburg hörte den Song über 10.000 Mal
- Suzanne Vegas Stimme ist "schwierig"
- Klare, hohe Frequenzen → Stresstest
> If I could code Suzanne Vega's voice well, I could code anything.
*"If I could code Suzanne Vega's voice well, I could code anything."*
— Karlheinz Brandenburg
<!--
@@ -991,44 +568,24 @@ Perfektionismus: Jeder Hörtest musste bestehen
# Wie funktioniert MP3?
Ein Zusammenspiel aus vielen Faktoren:
**1. Frequenz-Analyse (FFT)**
Audio → Frequenzspektrum
* **1. Frequenz-Analyse (FFT)**
Audio → Frequenzspektrum
**2. Psychoakustisches Modell**
Welche Töne hört Mensch nicht?
* **2. Psychoakustisches Modell**
Welche Töne hört Mensch nicht?
**3. Quantisierung**
Unwichtige Frequenzen reduzieren
* **3. Quantisierung**
Unwichtige Frequenzen reduzieren
* **4. Huffman-Coding**
Lossless-Kompression der Restdaten
**4. Huffman-Coding**
Lossless-Kompression der Restdaten
<!--
MP3-Kompression in 4 Schritten (vereinfacht):
1. FFT (Fast Fourier Transform)
- Wandelt Schallwellen in Frequenzen um
- Wie ein Prisma Licht in Farben zerlegt
2. Psychoakustisches Modell
- Fragt: "Was kann ein Mensch NICHT hören?"
- Maskierungseffekte: Lauter Ton verdeckt leisen daneben
- Hohe/tiefe Frequenzen werden schlechter wahrgenommen
3. Quantisierung (hier passiert der Datenverlust!)
- Unwichtige Frequenzen werden "grob" gespeichert
- Wichtige Frequenzen bleiben genau
- Wie JPEG: Details entfernen, wo es nicht auffällt (Kontrast/Helligkeit bleibt)
4. Huffman-Coding (verlustfrei)
- Häufige Muster = kurze Codes
- Seltene Muster = lange Codes
- Finaler Effizienz-Boost
MP3 ist KEIN einfaches "Kleiner machen"
→ Es simuliert, wie dein Gehirn Musik verarbeitet!
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
-->
---
@@ -1056,9 +613,8 @@ Aber: Diminishing Returns ab 256 kbps
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit](./assets/audio-spectrogram.png)
![bg](./assets/audio-spectrogram.png)
<!--
Spektrogramm-Vergleich
@@ -1090,7 +646,7 @@ Das Pferd war aus dem Stall
---
![bg right:50% fit](./assets/napster-interface.png)
![bg right:50%](./assets/napster-interface.png)
# Napster (1999)
@@ -1173,13 +729,12 @@ Vinyl-Revival: 2020er Gegenbewegung
4. Höre Unterschiede (Kopfhörer!)
5. Vergleiche Dateigrößen
**Spektrogramm:** Klick auf Track-Name → Spektrogramm
[https://manual.audacityteam.org/man/spectrogram_view.html](https://manual.audacityteam.org/man/spectrogram_view.html)
**Spektrogramm:** Track-Menü → Spektrogramm
<!--
Audacity: FOSS Audio-Editor (audacityteam.org)
Export: Datei → Exportieren → MP3 → Bitrate wählen
Spektrogramm-Ansicht: Auf Track-Name klicken (Dropdown öffnet sich) → "Spektrogramm" wählen
Spektrogramm-Ansicht: Track-Name klicken → "Spektrogramm"
Hohe Frequenzen (oben im Bild) verschwinden bei niedriger Bitrate
Alternative: Spek (spek.cc) – reiner Spektrogramm-Viewer
-->
@@ -1191,15 +746,15 @@ Alternative: Spek (spek.cc) – reiner Spektrogramm-Viewer
**Nimm ein Lied (eigenes oder CC)**
1. Exportiere: WAV, MP3 320 kbps, MP3 128 kbps
2. Höre die Unterschiede (Kopfhörer!)
3. Vergleiche die Dateigrößen
2. Notiere: Dateigrößen, Höreindrücke
3. Poste im Forum: Screenshot + Reflexion
**Bonus:** Niedrigste Bitrate finden, bei der du keinen Unterschied hörst
<!--
Selbstständiges Experimentieren
Keine Abgabe, nur zum Ausprobieren
WAV = Unkomprimiert (Referenz)
Goldenes Ohr: Manche hören Unterschied, manche nicht
Psychoakustik in Aktion: Subjektive Wahrnehmung
-->
---
@@ -1208,8 +763,8 @@ Goldenes Ohr: Manche hören Unterschied, manche nicht
# Fragen & Diskussion
**Kontakt:** mail@librete.ch
**Folien:** Online verfügbar unter https://librete.ch/hdm/223015b
**Kontakt:** michael.czechowski@lehre.dhbw-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
+19 -120
View File
@@ -9,57 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
**223015b** · Modul "Technik 1" · 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
![bg fit](./assets/digital-landscape.png)
---
@@ -104,74 +64,6 @@ Smartphone-Speicher wäre schnell voll ohne Kompression
---
# Rastergrafiken (Bitmaps)
**Pixelraster:** Jeder Bildpunkt hat Koordinate + Farbwert
**Eigenschaften:**
- Je größer das Bild → größere Datei
- **Verkleinern:** Meist ohne Qualitätsverlust
- **Vergrößern:** Wird unscharf/pixelig!
**Formate:** JPEG, PNG, GIF, BMP, TIFF, WebP
**Verwendung:** Fotos, Screenshots, komplexe Bilder
<!--
Bitmap = Bit-mapped graphics
Digitalkameras erzeugen immer Rastergrafiken
Kompression nötig wegen Dateigrößen (PNG, JPEG, GIF)
Skalierungsproblem: Interpolation erzeugt Unschärfe
-->
---
# Vektorgrafiken
**Mathematische Beschreibung statt Pixel**
**Kreis speichern:**
- Rastergrafik: Tausende Pixel
- Vektorgrafik: Mittelpunkt + Radius (2 Werte!)
**Gespeichert werden:**
- Form (Kreis, Linie, Pfad...)
- Position, Farbe, Strichstärke, Füllung
**Vorteil:** Beliebig skalierbar ohne Qualitätsverlust!
**Formate:** SVG, PDF, AI, EPS
<!--
Vektorgrafik = geometrische Primitive + Attribute
SVG = Scalable Vector Graphics (Web-Standard)
AI = Adobe Illustrator
Ideal für Logos, Icons, Infografiken
-->
---
# Raster vs. Vektor
| | Rastergrafik | Vektorgrafik |
|---|---|---|
| **Basis** | Pixelraster | Mathematische Objekte |
| **Skalierung** | Qualitätsverlust | Verlustfrei |
| **Dateigröße** | Abhängig von Auflösung | Abhängig von Komplexität |
| **Gut für** | Fotos | Logos, Icons, Text |
| **Formate** | JPEG, PNG, GIF | SVG, PDF, AI |
**Rasterung:** Vektorgrafik → Rastergrafik (für Bildschirm/Druck)
<!--
Bildschirme sind Rastergeräte (Framebuffer)
Jede Vektorgrafik muss gerastert werden zur Anzeige
Browser rastert SVG in Echtzeit
Firmenlogos: Immer als Vektor anlegen!
-->
---
# Lossless: PNG
**PNG = Portable Network Graphics (1996)**
@@ -432,21 +324,24 @@ Studis sollen selbst "Sweet Spot" finden
---
# Fleißaufgabe bis nächste Woche
# 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. Welche Quality ist für dich "akzeptabel"?
4. Wo siehst du zuerst Artefakte?
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
Keine Abgabe, nur zum Ausprobieren
Subjektive Wahrnehmung (jeder anders)
Forum: Austausch über Ergebnisse
-->
---
@@ -822,20 +717,24 @@ Encoding-Zeit: H.265 deutlich langsamer als H.264
---
# Fleißaufgabe bis nächste Woche
# 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. Vergleiche: Dateigrößen, Encoding-Zeiten, visueller Unterschied?
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
Keine Abgabe, nur zum Ausprobieren
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
-->
---
@@ -844,8 +743,8 @@ Keine Abgabe, nur zum Ausprobieren
# Fragen & Diskussion
**Kontakt:** mail@librete.ch
**Folien:** Online verfügbar unter https://librete.ch/hdm/223015b
**Kontakt:** czechowski@hdm-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
@@ -9,56 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _backgroundColor: #000 -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
**223015b** · Modul "Technik 1" · 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
![bg fit](./assets/digital-landscape.png)
---
@@ -96,153 +57,10 @@ Mechanisch vs. Elektronisch
- Write-Zyklen begrenzt
<!--
HDD: Magnetscheiben (Platter) rotieren mit 5.400-7.200 RPM
Lesekopf schwebt nanometerdicht über Oberfläche
"Head Crash": Berührung = Datenverlust (daher Stoßempfindlichkeit)
Enterprise: 10.000-15.000 RPM (Server)
SSD: NAND-Flash-Speicherzellen
Typen: SLC (1 Bit), MLC (2 Bit), TLC (3 Bit), QLC (4 Bit)
SLC = langlebig, teuer (Enterprise)
QLC = günstig, weniger Schreibzyklen (Consumer)
Write Amplification: Daten werden mehrfach intern geschrieben
TRIM: Befehl, der SSD sagt, welche Blöcke frei sind
-->
---
# Speicherkapazität: KB vs. KiB
**Das Problem:** Hersteller vs. Betriebssysteme
| Dezimal (SI) | Binär (IEC) |
|--------------|-------------|
| 1 KB = 1.000 Bytes | 1 KiB = 1.024 Bytes |
| 1 MB = 1.000 KB | 1 MiB = 1.024 KiB |
| 1 GB = 1.000 MB | 1 GiB = 1.024 MiB |
| 1 TB = 1.000 GB | 1 TiB = 1.024 GiB |
**1 TB Festplatte → Windows zeigt ~931 GB!**
<!--
Hersteller: Dezimal (SI-Präfix) - klingt mehr!
Betriebssysteme: Binär - aber zeigen "GB" statt "GiB"
Diskrepanz bei 1 TB: 1.000.000.000.000 vs. 1.099.511.627.776 Bytes
→ 10% Unterschied bei TB-Größen
Verwirrung für Konsumenten seit Jahrzehnten
ISO/IEC 80000-13: Definiert KiB, MiB, GiB, TiB (2008)
-->
---
# HDD: Aufbau & Struktur
**Komponenten:**
- **Platter:** Magnetisch beschichtete Scheiben
- **Spindel:** Dreht mit 5.400-7.200 RPM
- **Schreib-Lese-Kopf:** Schwebt nm-dünn über Platter
- **Aktuator:** Bewegt Kopf zur richtigen Spur
**Logische Struktur:**
- **Spuren:** Konzentrische Kreise auf Platter
- **Sektoren:** Unterteilung der Spuren (512 Bytes)
- **Zylinder:** Gleiche Spuren aller Platter
<!--
Aufbau seit 1956 (IBM) grundsätzlich gleich
Platter: Aluminium oder Glas mit Magnetschicht
Spindelgeschwindigkeit: Desktop 7.200, Laptop 5.400, Server 15.000 RPM
Head Crash: Schreib-Lese-Kopf berührt Platter → Kratzer → Datenverlust
Sektor: Kleinste adressierbare Einheit
LBA (Logical Block Addressing): Abstraktion der physischen Struktur
-->
---
# NVMe: Die SSD-Revolution
**NVMe = Non-Volatile Memory Express (2011)**
**Unterschied zu SATA-SSD:**
- SATA: Max. ~550 MB/s (AHCI-Protokoll)
- NVMe: Bis zu 7.000+ MB/s (PCIe direkt)
**Formfaktoren:**
- M.2 (Steckplatz auf Mainboard)
- U.2 (Serverbereich)
- PCIe-Karte (ältere Systeme)
<!--
SATA = Serial ATA, Protokoll von 2003 (für HDDs optimiert)
AHCI = Advanced Host Controller Interface
NVMe nutzt PCIe-Lanes direkt → weniger Overhead
M.2-Slot kann SATA oder NVMe sein! (B-Key, M-Key, B+M-Key)
Praxistipp: Nicht jeder M.2-Slot unterstützt NVMe
-->
---
# SD-Karten (Speicherkarten)
**SD = Secure Digital (2001)**
**Varianten:**
- SD: bis 2 GB
- SDHC: bis 32 GB
- SDXC: bis 2 TB
- microSD: Kleinere Bauform
**Geschwindigkeitsklassen:**
Class 10, UHS-I, UHS-II, V30, V90...
**Einsatz:** Kameras, Smartphones, Raspberry Pi
<!--
Entwickelt von SanDisk, Toshiba, Panasonic
Spezifikation proprietär (nicht ISO-genormt!)
Fälschungen: Gefälschte Kapazität häufig → Markenware kaufen!
Flash-Speicher: Gleiche Vor-/Nachteile wie SSD
V90: 90 MB/s Mindest-Schreibrate (für 8K Video)
microSD in Smartphones, Drohnen, Dashcams
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg](./assets/rosetta-disk.png)
<!--
Rosetta Disk der Long Now Foundation
Mikrogeätzte Nickelscheibe mit 1.500+ Sprachen
-->
---
# Das Rosetta Project
**Long Now Foundation (2002)**
**Ziel:** Dokumentation aller menschlichen Sprachen für die Nachwelt
**Die Rosetta Disk:**
- 3 Zoll Nickelscheibe
- 13.000 Seiten mikrogeätzt
- 1.500+ Sprachen dokumentiert
- Lesbar mit 1000× Mikroskop
- Haltbarkeit: 2.000+ Jahre
**Lektion für uns:**
Digitale Formate veralten – physische Archivierung bleibt relevant
<!--
Long Now Foundation: Denken in 10.000-Jahres-Zeiträumen
Benannt nach dem Stein von Rosette (Schlüssel zu Hieroglyphen)
Problem: CD/DVD halten 10-25 Jahre, Festplatten 5-10 Jahre
Rosetta Disk: Keine Stromversorgung, kein Decoder nötig
Nur optische Vergrößerung – Technologie die es immer geben wird
Parallel: M-DISC, LTO-Tapes für digitale Langzeitarchivierung
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)
-->
---
@@ -335,19 +153,10 @@ Sicheres Löschen: DBAN, shred, eraser
**Nachteil:** Keine Rechte, kein Journaling
<!--
FAT = File Allocation Table (Tabelle am Partitionsanfang)
Wie ein Inhaltsverzeichnis: "Datei X ist in Clustern 5, 8, 12"
Fragmentierung: Cluster verstreut → langsamer Zugriff
Defragmentierung: Cluster zusammenrücken (bei HDD sinnvoll, bei SSD nicht!)
FAT32-Limit: 4 GB = 32-Bit-Zahl für Dateigröße
2³² Bytes = 4.294.967.296 = 4 GB (daher die Grenze)
exFAT: 64-Bit → 16 Exabyte theoretisch
Warum FAT32 noch existiert:
- Kameras, Dashcams, Game-Controller
- BIOS/UEFI-Bootpartitionen
- Maximale Kompatibilität (alle OS lesen es)
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
-->
@@ -509,27 +318,11 @@ Wiederherstellung: Full = 1 Schritt, Inkr. = 7, Diff. = 2
Laptop + externe Festplatte + Cloud
<!--
3-2-1-Regel Herkunft: US-Photograph Peter Krogh (2005)
Buch "The DAM Book" (Digital Asset Management)
Warum 3 Kopien?
- Original kann kaputtgehen
- Backup 1 kann auch kaputtgehen
- Backup 2 = Sicherheitspuffer
Warum 2 Medientypen?
- Gleiche Medien haben gleiche Schwachstellen
- SSD + HDD: Unterschiedliche Ausfallmuster
- Cloud + Lokal: Unterschiedliche Risiken
Warum 1 Offsite?
- Brand/Wasserschaden zerstört alles vor Ort
- Ransomware verschlüsselt angeschlossene Laufwerke
- Offsite = geografisch getrennt (oder Cloud)
Erweiterung: 3-2-1-1-0
- +1 Offline/Air-Gapped (Ransomware-Schutz)
- +0 Verified Backups (regelmäßig testen!)
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
-->
---
@@ -619,53 +412,6 @@ Cold Storage: Daten, die selten gebraucht werden
---
# Optische Medien: CD, DVD, Blu-ray
**Laser liest/schreibt Daten:**
| Medium | Jahr | Kapazität | Wellenlänge |
|--------|------|-----------|-------------|
| **CD** | 1982 | 700 MB | 780 nm (Infrarot) |
| **DVD** | 1996 | 4,7–8,5 GB | 650 nm (Rot) |
| **Blu-ray** | 2006 | 25–100 GB | 405 nm (Blau) |
**Varianten:** ROM (nur lesen), R (einmal brennen), RW (wiederbeschreibbar)
<!--
CD = Compact Disc (ursprünglich für Audio)
DVD = Digital Versatile Disc (Video, Daten)
Blu-ray: Kürzere Wellenlänge → höhere Datendichte
Pits & Lands: Vertiefungen in der Oberfläche kodieren Bits
CD-ROM: ~150 KB/s (1×), DVD: ~1,35 MB/s (1×), BD: ~4,5 MB/s (1×)
Problem: Kratzer, Lichtempfindlichkeit, Alterung der Farbstoffe
-->
---
# Optische Medien: Heute noch relevant?
**Vorteile:**
- Günstig (Rohlinge ~0,20–2€)
- Lange Haltbarkeit (bei richtiger Lagerung)
- Nicht anfällig für Magnetfelder
**Nachteile:**
- Langsam im Vergleich zu SSD/HDD
- Begrenzte Kapazität
- Viele Laptops ohne Laufwerk
**Einsatz heute:**
Musik-CDs, Film-DVDs/Blu-rays, Software-Distribution, Archive
<!--
Streaming hat DVDs/Blu-rays verdrängt (aber nicht ersetzt)
Filme: Blu-ray oft bessere Qualität als Streaming (Bitrate!)
Spiele-Discs: Oft nur "Installer", Rest wird heruntergeladen
Archive: M-DISC für Langzeitarchivierung (nächste Folie)
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
@@ -731,67 +477,6 @@ Anwendung: Langzeitarchivierung (nicht Live-Daten)
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg](./assets/nas-server.png)
<!--
NAS-Gerät (z.B. Synology)
Heimserver-Setup
-->
---
# Network Attached Storage (NAS)
**NAS = Festplatten im Netzwerk**
**Vorteile:**
- Zentraler Speicher für alle Geräte
- RAID-Optionen (Redundanz)
- Remote-Zugriff möglich
- Eigene Cloud
**Anbieter:** Synology, QNAP, TrueNAS
**Protokolle:** SMB/CIFS (Windows), NFS (Linux), AFP (Mac legacy)
<!--
RAID 1: Spiegelung (2 Platten = 1× Kapazität, aber sicher)
RAID 5: Striping + Parity (3+ Platten, 1 kann ausfallen)
Synology DSM: Einfache Web-Oberfläche
NAS ≠ Backup! (Ransomware kann NAS verschlüsseln!)
3-2-1-Regel: NAS + externe HDD + Cloud
-->
---
# Cloud-Speicher: Pro & Contra
**Vorteile:**
✓ Überall verfügbar
✓ Kein Hardware-Management
✓ Automatische Backups
✓ Skalierbar
**Nachteile:**
✗ Abhängigkeit vom Anbieter
✗ Datenschutz-Bedenken (DSGVO!)
✗ Laufende Kosten
✗ Internet-Abhängigkeit
**Anbieter:** iCloud, OneDrive, Google Drive, Dropbox, Nextcloud
<!--
Nextcloud: Self-Hosted (Datenschutz!)
AWS S3 Glacier: Archivierung ~$1/TB/Monat
DSGVO: US-Anbieter problematisch (Privacy Shield gekippt)
Zero-Knowledge: Cryptomator, Boxcryptor (Client-Verschlüsselung)
-->
---
# Hands-On: S.M.A.R.T. & Backup
**Aufgabe 1 (20 Min):**
@@ -815,20 +500,20 @@ Backup-Test: Ungetestete Backups sind wertlos!
---
# Fleißaufgabe bis nächste Woche
# Aufgabe bis nächste Woche
**Analysiere dein System:**
1. Welches Dateisystem nutzt deine Hauptpartition?
2. Hast du ein Backup? Welche Art? Wo?
3. Lies deine S.M.A.R.T.-Daten aus (CrystalDiskInfo / smartctl)
3. Poste im Forum: S.M.A.R.T.-Screenshot + Backup-Strategie
**Bonus:** Richte automatisches Backup ein
<!--
Selbstreflexion: 60-70% haben KEIN Backup!
Keine Abgabe, nur zum Ausprobieren
Nächste Woche kurz besprechen
Forum: Peer-Lernen, gegenseitige Motivation
Bonus: Wer's macht, hat echten Nutzen
-->
---
@@ -872,68 +557,6 @@ Ohne Standards: Jedes Gerät braucht eigenes Kabel
---
<!-- _class: lead -->
# Interne Schnittstellen
## PCIe, SATA & M.2
---
# PCIe: Der Daten-Highway
**PCI Express (2003):**
- Lanes: x1, x4, x8, x16
- Gen 3: 1 GB/s pro Lane
- Gen 4: 2 GB/s pro Lane
- Gen 5: 4 GB/s pro Lane
**Nutzung:**
- Grafikkarte (x16)
- NVMe-SSD (x4)
- Netzwerkkarte, Sound (x1)
<!--
PCIe = Point-to-Point (vs. PCI shared bus)
Lane = bidirektionale Verbindung
x16 Gen 4 = 32 GB/s (theoretisch)
GPU nutzt fast immer x16 Slot
NVMe nutzt 4 Lanes → daher ~7 GB/s max bei Gen 4
-->
---
# SATA: Der Standard für Speicher
**Serial ATA (2003):**
- SATA I: 1,5 Gbps (~150 MB/s)
- SATA II: 3 Gbps (~300 MB/s)
- SATA III: 6 Gbps (~550 MB/s)
**Vorteile:**
- Günstig, bewährt
- Hot-Swap möglich
- Kabel bis 1m
**Nachteil:** Bottleneck für moderne SSDs
<!--
SATA-Kabel: Dünn, 7-Pin Daten + 15-Pin Strom
IDE/PATA: Breite Flachbandkabel (Vorgänger)
SATA III = Maximum für HDD (100-200 MB/s)
SSD erreicht SATA-Limit leicht → daher NVMe
-->
---
<!-- _class: lead -->
# Externe Schnittstellen
## USB, HDMI, DisplayPort & Co.
---
<!-- _header: '' -->
<!-- _footer: '' -->
@@ -1023,24 +646,11 @@ Ein USB-C-Kabel kann sein:
- Oder nur Power Delivery (Laden, keine Daten!)
<!--
USB-C = nur der physische Stecker (24-Pin, reversibel)
Wie "Steckdose" – sagt nichts über Spannung/Leistung
Das Problem: Kabel sehen identisch aus, können aber:
- Nur laden (kein Daten-Pin verdrahtet)
- USB 2.0 (480 Mbps – wie vor 20 Jahren!)
- USB 3.2 Gen 2 (10 Gbps)
- USB 4 / Thunderbolt 4 (40 Gbps)
Warum?
- Billige Kabel sparen Drähte (weniger Kupfer = billiger)
- USB-IF Zertifizierung = freiwillig
- Händler beschriften falsch oder gar nicht
Praxistipp:
- Kabel vom Gerätehersteller nutzen
- Thunderbolt-Logo = garantiert 40 Gbps
- Im Zweifel: USB-IF zertifizierte Kabel kaufen
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
-->
---
@@ -1310,67 +920,6 @@ PoE = Power over Ethernet (Strom + Daten)
<!-- _header: '' -->
<!-- _footer: '' -->
![bg](./assets/wifi-bluetooth.png)
<!--
WLAN-Router + Bluetooth-Symbol
Drahtlose Verbindungen
-->
---
# WLAN (Wi-Fi)
**IEEE 802.11:**
| Standard | Jahr | Max. Speed | Frequenz |
|----------|------|-----------|----------|
| 802.11n (Wi-Fi 4) | 2009 | 600 Mbps | 2,4/5 GHz |
| 802.11ac (Wi-Fi 5) | 2013 | 3,5 Gbps | 5 GHz |
| 802.11ax (Wi-Fi 6) | 2019 | 9,6 Gbps | 2,4/5/6 GHz |
| 802.11be (Wi-Fi 7) | 2024 | 46 Gbps | 2,4/5/6 GHz |
**Praxis:** Geteiltes Medium → Real-Speed oft 30-50%
<!--
Marketing-Namen: Wi-Fi 4, 5, 6, 6E, 7
2,4 GHz: Bessere Reichweite, aber überlaufen (Mikrowelle!)
5 GHz: Schneller, aber kürzere Reichweite
Wi-Fi 6E: 6 GHz-Band (mehr Kanäle, weniger Störungen)
Mesh-Systeme: Mehrere Access Points, nahtloses Roaming
-->
---
# Bluetooth
**Bluetooth (1999):**
| Version | Jahr | Speed | Reichweite |
|---------|------|-------|------------|
| 4.0 (BLE) | 2010 | 1 Mbps | 100m |
| 5.0 | 2016 | 2 Mbps | 400m |
| 5.3 | 2021 | 2 Mbps | 400m |
**Anwendungen:**
- Audio (Kopfhörer, Lautsprecher)
- Peripherie (Maus, Tastatur)
- IoT (Sensoren, Smart Home)
**Codecs:** SBC (Standard), AAC, aptX, LDAC
<!--
BLE = Bluetooth Low Energy (Fitness-Tracker, AirTags)
Classic Bluetooth: Höherer Stromverbrauch, für Audio
aptX/LDAC: Bessere Audioqualität als SBC
Bluetooth-Interferenz: Auch 2,4 GHz (wie WLAN)
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg](./assets/vintage-ports.png)
<!--
@@ -1420,13 +969,14 @@ Dokumentation: Verstehen, was man hat
---
# Fleißaufgabe bis nächste Woche
# Aufgabe bis nächste Woche
**Analysiere deine Kabel:**
1. Liste alle Kabel (USB, HDMI, etc.)
2. Identifiziere: Standard, Geschwindigkeit, Features
3. Finde das verwirrendste Kabel
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
@@ -1434,7 +984,7 @@ Dokumentation: Verstehen, was man hat
Kabel-Sammlung durchgehen
Bewusstsein schaffen: Was habe ich eigentlich?
Viele Lade-Kabel: USB-C, aber nur USB 2.0 (langsam!)
Keine Abgabe, nur zum Ausprobieren
Forum: Erfahrungsaustausch, lustige Fundstücke
-->
---
@@ -1443,8 +993,8 @@ Keine Abgabe, nur zum Ausprobieren
# Fragen & Diskussion
**Kontakt:** mail@librete.ch
**Folien:** Online verfügbar unter https://librete.ch/hdm/223015b
**Kontakt:** czechowski@hdm-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
@@ -9,57 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
**223015b** · Modul "Technik 1" · 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
![bg fit](./assets/digital-landscape.png)
---
@@ -504,7 +464,7 @@ Headers: Zeigen Cache-Status, CDN-Provider
---
# Fleißaufgabe bis nächste Woche
# Aufgabe bis nächste Woche
**Analysiere Streaming-Dienst oder Website:**
@@ -513,12 +473,12 @@ Headers: Zeigen Cache-Status, CDN-Provider
- Welcher CDN?
- Wie viele Requests an CDN vs. Origin?
- Cache-Headers?
3. Poste im Forum: Screenshot + Erkenntnisse
**Bonus:** Linux-ISO via Torrent, beobachte Peer-Stats
**Bonus:** Linux-ISO via Torrent, poste Peer-Stats
<!--
Selbstständiges Experimentieren
Keine Abgabe, nur zum Ausprobieren
Selbstständige Exploration
Netflix: Schwer zu analysieren (verschlüsselt), aber CDN sichtbar
YouTube: Google CDN (googlevideo.com)
Spotify: Akamai CDN
@@ -527,31 +487,6 @@ Cache-Control Header: max-age, s-maxage, public/private
---
# Dateitransfer-Protokolle
**FTP (File Transfer Protocol, 1971):**
- Ältestes Internet-Protokoll für Dateitransfer
- ⚠️ Unverschlüsselt! (Passwort im Klartext)
- **SFTP/FTPS:** Sichere Varianten
**WebDAV (Web-based Distributed Authoring):**
- HTTP-basiert → Firewall-freundlich
- Wird von vielen Cloud-Diensten genutzt
- Mountbar als Netzlaufwerk
**Moderne Alternativen:** rsync, rclone, Cloud-APIs
<!--
FTP: Port 21 (Steuerung), Port 20 (Daten)
Noch verbreitet für: Webhosting, Legacy-Systeme
FileZilla: Populärer FTP-Client
WebDAV: Nextcloud, Box.com nutzen WebDAV
SMB/NFS: Für lokale Netzwerke besser (schneller)
rsync: Inkrementelle Übertragung (nur Änderungen)
-->
---
<!-- _class: lead -->
# Teil 2: APIs
@@ -981,7 +916,7 @@ WebSocket Echo: Server echot zurück (Test-Server)
---
# Fleißaufgabe bis nächste Woche
# Aufgabe bis nächste Woche
**Experimentiere mit öffentlicher API:**
@@ -990,13 +925,14 @@ WebSocket Echo: Server echot zurück (Test-Server)
- OpenWeather (`openweathermap.org/api`)
- PokéAPI (`pokeapi.co`)
2. Mache 3-5 Requests (curl, Postman, oder Code)
3. Notiere: Welche Daten? Rate-Limiting erlebt?
3. Poste im Forum:
- Welche API?
- Interessante Daten?
- Rate-Limiting erlebt? (429 Too Many Requests)
**Bonus:** Baue kleinen Client (Python, JavaScript, etc.)
<!--
Selbstständiges Experimentieren
Keine Abgabe, nur zum Ausprobieren
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)
@@ -1398,7 +1334,7 @@ MusicBrainz Picard: Audio-Fingerprinting in Aktion
---
# Fleißaufgabe bis nächste Woche
# Aufgabe bis nächste Woche
**Metadaten-Audit:**
@@ -1407,13 +1343,15 @@ MusicBrainz Picard: Audio-Fingerprinting in Aktion
- Eine MP3 (ID3)
- Ein PDF (XMP)
2. Analysiere: Welche Metadaten?
3. Notiere: Überraschungen? KB gespart nach Entfernung?
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?
<!--
Selbstständiges Experimentieren
Keine Abgabe, nur zum Ausprobieren
Selbst-Exploration
Viele entdecken GPS zum ersten Mal
Alte Dateien: Zeit-Kapsel (alte Software, Kamera-Modelle)
KB-Ersparnis: Oft gering, aber Prinzip wichtig
@@ -1437,18 +1375,22 @@ DNA-Helix überlagert
---
# Rückblick: 5 Termine
# Rückblick: 9 Wochen
**Termin 1:** Bits, Bytes, Zeichenkodierung & Audio (MP3)
**Termin 2:** Bild- & Videoformate (JPEG, H.264, AV1)
**Termin 3:** Speichermedien & Schnittstellen
**Termin 4:** Distribution, APIs & Zukunft
**Termin 5:** Vertiefung & offene Fragen
**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?
<!--
5 Termine = Kompakte Journey durch digitale Medien
10 Wochen = Journey durch digitale Medien
Von Grundlagen (Bits) zu Infrastruktur (CDN)
Technologie + Geschichte + Politik
Heute: Zukunft + Abschluss-Projekt
@@ -1833,7 +1775,7 @@ Digitale Medien sind das Ergebnis von Standards, Politik, Kompromissen & Innovat
Ihr habt jetzt die Werkzeuge, um die digitale Welt kritisch zu verstehen.
<!--
5 Termine = Intensive Journey
10 Wochen = Intensive Journey
Von Grundlagen zu Zukunft
Technologie ist nicht neutral (Patent-Kriege, Vendor Lock-in)
Kritisches Denken: Wer profitiert? Wer wird ausgeschlossen?
@@ -1883,15 +1825,15 @@ Command Line Heroes: Tech-Geschichte (Spotify, Apple Podcasts)
**Nächste Schritte:**
- Fallstudie (falls Prüfungsleistung)
- Feedback willkommen (E-Mail)
- Feedback willkommen (Forum, E-Mail)
- Weiterlernen mit Ressourcen
**Vielen Dank für eure Aufmerksamkeit!**
<!--
5 Termine gemeinsame Reise
10 Wochen gemeinsame Reise
Von "Was sind Bits?" zu "DNA-Storage"
Hands-On jedes Mal (Hex-Editor, FFmpeg, exiftool, APIs)
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
@@ -1903,8 +1845,8 @@ Evaluation: Feedback ernst nehmen, Kurs verbessern
# Fragen & Diskussion
**Kontakt:** mail@librete.ch
**Folien:** Online verfügbar unter https://librete.ch/hdm/223015b
**Kontakt:** czechowski@hdm-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
@@ -9,57 +9,17 @@ title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege
---
<style>
:root {
--color-foreground: #1a1a2e;
--color-highlight: #5da9e9;
--color-dimmed: #4a4a6a;
}
section.invert {
--color-foreground: #fff;
}
section {
font-size: 1.7rem;
}
h2 {
color: var(--color-highlight);
}
pre {
background: #0f0f23;
color: #5da9e9;
border-radius: 8px;
border-left: 3px solid #5da9e9;
}
pre code {
background: transparent;
color: inherit;
}
code {
background: #1a1a2e;
color: #5da9e9;
padding: 0.15em 0.4em;
border-radius: 4px;
}
a {
color: var(--color-highlight);
color: var(--color-dimmed);
}
</style>
<!-- _class: invert -->
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #000 -->
![bg fit opacity:0.4](./assets/digital-landscape.png)
# Dateiformate, Schnittstellen, Speichermedien & Distributionswege
**223015b** · Modul "Technik 1" · 1. Semester
Digital- und Medienwirtschaft
Hochschule der Medien Stuttgart
**Wintersemester 2025/26**
[https://git.librete.ch/hdm/223015b](https://git.librete.ch/hdm/223015b)
![bg fit](./assets/digital-landscape.png)
---
@@ -91,8 +51,8 @@ Themen nach Interesse der Studierenden
# Fragen & Diskussion
**Kontakt:** mail@librete.ch
**Folien:** Online verfügbar unter https://librete.ch/hdm/223015b
**Kontakt:** czechowski@hdm-stuttgart.de
**Folien:** Online verfügbar unter https://hdm.librete.ch
---
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 8.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 7.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 7.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 MiB

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 5.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 8.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 5.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 5.8 MiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 41" shape-rendering="crispEdges"><path fill="#ffffff" d="M0 0h41v41H0z"/><path stroke="#000000" d="M4 4.5h7m1 0h3m1 0h3m2 0h2m3 0h2m2 0h7M4 5.5h1m5 0h1m2 0h1m2 0h11m3 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m2 0h1m2 0h1m2 0h1m1 0h1m2 0h1m1 0h3m1 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m1 0h1m2 0h2m2 0h2m3 0h1m1 0h3m1 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m2 0h1m2 0h1m1 0h3m1 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m1 0h2m1 0h4m4 0h1m2 0h1m3 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7M12 11.5h2m2 0h2m3 0h7M4 12.5h1m3 0h1m1 0h4m3 0h2m2 0h13m2 0h1M6 13.5h1m1 0h2m1 0h2m3 0h1m1 0h1m2 0h2m4 0h1m1 0h1m3 0h4M7 14.5h2m1 0h2m1 0h2m2 0h5m3 0h1m1 0h1m1 0h2m2 0h1M5 15.5h1m6 0h1m1 0h4m1 0h4m3 0h1m2 0h1M6 16.5h1m2 0h4m1 0h2m1 0h1m2 0h3m2 0h1m7 0h1m2 0h1M4 17.5h1m1 0h1m4 0h1m1 0h2m3 0h2m1 0h1m2 0h1m1 0h3m3 0h1m1 0h1M8 18.5h3m1 0h5m1 0h1m1 0h1m1 0h2m1 0h1m3 0h2m1 0h1m2 0h1M4 19.5h1m2 0h2m3 0h4m1 0h1m3 0h2m1 0h2m3 0h2m2 0h1M5 20.5h3m2 0h1m1 0h2m3 0h2m1 0h1m1 0h4m4 0h1m1 0h4M4 21.5h2m1 0h3m4 0h3m1 0h1m1 0h1m6 0h1m1 0h1m3 0h4M8 22.5h4m1 0h1m2 0h1m1 0h1m3 0h1m1 0h1m2 0h1m3 0h1m1 0h1m1 0h1M4 23.5h2m1 0h1m1 0h1m2 0h1m1 0h3m3 0h1m1 0h4m4 0h2m4 0h1M5 24.5h3m2 0h2m3 0h2m1 0h1m1 0h1m1 0h1m6 0h2m2 0h1M4 25.5h3m4 0h1m1 0h1m3 0h1m1 0h1m4 0h9m1 0h2M6 26.5h1m1 0h1m1 0h1m2 0h1m1 0h1m1 0h5m1 0h1m3 0h1m1 0h2m2 0h1m1 0h1M7 27.5h2m2 0h2m1 0h1m1 0h3m1 0h2m1 0h4m6 0h4M4 28.5h3m2 0h7m3 0h1m2 0h11m3 0h1M12 29.5h1m2 0h1m1 0h1m6 0h1m3 0h1m3 0h1m1 0h1m1 0h1M4 30.5h7m1 0h3m1 0h1m1 0h2m2 0h1m5 0h1m1 0h1m1 0h2m2 0h1M4 31.5h1m5 0h1m3 0h1m2 0h1m3 0h2m3 0h1m1 0h1m3 0h1m2 0h1M4 32.5h1m1 0h3m1 0h1m1 0h1m1 0h1m4 0h4m5 0h6m1 0h2M4 33.5h1m1 0h3m1 0h1m2 0h3m3 0h1m1 0h1m1 0h2m1 0h3m1 0h3m1 0h1m1 0h1M4 34.5h1m1 0h3m1 0h1m2 0h1m1 0h1m1 0h1m1 0h3m4 0h3m1 0h4M4 35.5h1m5 0h1m8 0h1m5 0h1m2 0h1m1 0h1M4 36.5h7m1 0h5m1 0h1m1 0h1m3 0h3m3 0h1m2 0h2m1 0h1"/></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45" shape-rendering="crispEdges"><path fill="#ffffff" d="M0 0h45v45H0z"/><path stroke="#000000" d="M4 4.5h7m1 0h1m1 0h1m1 0h1m2 0h1m2 0h1m3 0h5m3 0h7M4 5.5h1m5 0h1m1 0h1m3 0h4m1 0h1m2 0h1m4 0h1m1 0h2m1 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m2 0h4m3 0h1m1 0h1m1 0h3m2 0h1m1 0h2m1 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m1 0h4m3 0h1m2 0h1m2 0h2m2 0h3m2 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m7 0h1m2 0h2m1 0h4m2 0h2m2 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m5 0h2m2 0h1m2 0h1m1 0h2m7 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7M12 11.5h3m2 0h1m1 0h1m1 0h1m3 0h1m1 0h1m1 0h2m1 0h1M4 12.5h1m1 0h2m1 0h3m3 0h2m2 0h2m2 0h4m1 0h1m5 0h1m2 0h1m1 0h2M4 13.5h2m2 0h1m4 0h8m1 0h2m2 0h3m1 0h1m2 0h1m2 0h1m2 0h1M5 14.5h3m2 0h1m1 0h5m2 0h1m1 0h1m1 0h4m2 0h3m2 0h2m2 0h1M5 15.5h1m2 0h2m3 0h1m2 0h1m1 0h2m1 0h1m2 0h1m2 0h4m1 0h1m2 0h1M5 16.5h2m1 0h1m1 0h2m4 0h2m2 0h3m2 0h1m3 0h3m1 0h2m1 0h1m1 0h3M4 17.5h2m2 0h1m2 0h1m1 0h2m4 0h1m7 0h1m2 0h8m2 0h1M4 18.5h1m4 0h2m1 0h1m3 0h1m1 0h2m1 0h3m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1M5 19.5h2m1 0h1m4 0h1m2 0h4m1 0h5m1 0h1m2 0h7m2 0h2M4 20.5h1m1 0h3m1 0h2m3 0h4m1 0h4m1 0h1m2 0h1m1 0h1m1 0h2m1 0h1m1 0h4M6 21.5h4m1 0h2m4 0h1m2 0h1m9 0h11M4 22.5h1m2 0h2m1 0h1m1 0h1m2 0h1m3 0h2m1 0h1m5 0h1m2 0h1m4 0h2m1 0h2M5 23.5h2m1 0h2m3 0h1m2 0h1m1 0h1m2 0h1m1 0h4m3 0h3m2 0h2m1 0h2M4 24.5h4m2 0h2m6 0h1m3 0h1m1 0h1m2 0h1m5 0h1m1 0h3m2 0h1M4 25.5h1m6 0h1m2 0h2m1 0h1m1 0h1m5 0h4m3 0h1m4 0h1m1 0h1M6 26.5h1m1 0h1m1 0h1m3 0h1m1 0h1m4 0h1m1 0h1m2 0h4m2 0h4m3 0h2M4 27.5h2m2 0h2m1 0h2m4 0h1m1 0h2m1 0h2m1 0h2m1 0h1m5 0h1m1 0h3m1 0h1M6 28.5h1m1 0h3m5 0h2m1 0h1m2 0h1m1 0h1m2 0h1m1 0h1m1 0h2m2 0h1m2 0h1m1 0h1M5 29.5h3m4 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m2 0h1m1 0h1m2 0h1m2 0h1m1 0h2M5 30.5h3m2 0h4m1 0h1m3 0h5m2 0h1m3 0h1m1 0h1m2 0h1m1 0h1m1 0h1M4 31.5h1m1 0h1m1 0h1m9 0h1m1 0h2m2 0h2m4 0h1m5 0h2m1 0h1M6 32.5h1m3 0h2m2 0h9m1 0h1m4 0h1m2 0h6M12 33.5h3m1 0h2m1 0h1m1 0h1m1 0h1m2 0h3m3 0h1m3 0h1m1 0h3M4 34.5h7m1 0h2m1 0h3m2 0h2m1 0h1m2 0h1m1 0h2m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1M4 35.5h1m5 0h1m1 0h4m2 0h1m1 0h1m3 0h5m1 0h3m3 0h1m2 0h2M4 36.5h1m1 0h3m1 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h1m1 0h1m1 0h1m3 0h6m2 0h1M4 37.5h1m1 0h3m1 0h1m1 0h5m2 0h1m1 0h3m1 0h10m1 0h1m2 0h2M4 38.5h1m1 0h3m1 0h1m1 0h3m2 0h2m1 0h3m3 0h1m3 0h1m3 0h1m1 0h1m1 0h2M4 39.5h1m5 0h1m4 0h2m1 0h1m1 0h3m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h2M4 40.5h7m1 0h1m1 0h4m1 0h1m2 0h1m2 0h1m2 0h4m1 0h1m2 0h1m2 0h2"/></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 5.5 MiB