psi-slides · zurück zur Startseite · This page in English

Im Hörsaal

Die Vorlesung läuft, der Saal ist voll, und an der Wand steht die Datei, die heute Morgen gebaut wurde. Diese Seite begleitet die Stunde hinter dem Laptop: was passiert, und was man drückt, wenn es passiert.

Diese Seite sagt, zu welcher Taste man wann greift. Die vollständige Tastenliste steckt in der Vorlesung selbst: ? öffnet sie, nach Aufgaben sortiert und mit den Mausgesten neben den Tasten. Cmd-K öffnet dieselbe Liste gleich zum Suchen, und Enter führt die gefundene Zeile aus.

Die beiden Fenster brauchen keinen Server und kein Netz. Sie finden sich im Browser; die Uhr, die Notizen, der Stand der Vorlesung und alles Getippte bleiben auf dem Rechner, an dem man steht. Eine Vorlesung vom USB-Stick, in einem Raum ohne WLAN, verhält sich genauso. Zwei Dinge auf dieser Seite gehen online, und nur, wenn man sie wählt: ein YouTube- oder Vimeo-Video, das in eine Folie eingebettet ist, und der Prompter.

Zwei Fenster

Die Projektion geht an die Wand. Mit S öffnet sich das Cockpit in einem zweiten Fenster: die eigene Ansicht, die auf dem Laptop bleibt und die der Saal nicht sieht. Blättert man in einem der beiden Fenster, folgt das andere.

Vor dem Vortrag trägt die Projektion ein kleines Startmenü: Fullscreen, Speaker cockpit und Print view, jeweils mit ihrer Taste, sodass die ersten drei Handgriffe keine Tastenliste brauchen. Es öffnet sich nur vor dem Vortrag von selbst und verschwindet mit dem ersten Tastendruck; ‹ räumt es früher weg, und ein › neben dem ?-Kreis öffnet es wieder. W schaltet die Projektion auf Vollbild. Das gewährt der Browser nur auf einen Klick im Fenster selbst, deshalb bittet die Projektion um einen Klick; Esc verlässt das Vollbild.

speaker.html
Das Presenter-Cockpit: oben eine Kapitelleiste, die Uhr über der Ecke des Spiegels der projizierten Folie, darunter die private Sprechnotiz, eine Leiste mit den Nachbarfolien und eine Fußzeile mit der Live-Marke und der Tastenlegende.

Die eigene Notiz zu dieser Folie steht unter dem Spiegelbild der Projektion, in einer Größe, die man mit den zwei Knöpfen in ihrer Ecke einstellt. Sie kommt gefüllt aus den > note:-Zeilen der Quelle; Shift-N lässt sie während des Vortrags umschreiben, nur für einen selbst.

Was kommt, steht in der Leiste am Rand: die nächsten Folien, vollständig aufgedeckt, damit man sieht, wo eine landet, bevor man dort ist. Ihre Kante lässt sich ziehen; wer sie lieber als Spalte hätte, schiebt sie an den rechten Fensterrand.

Die Uhr sitzt über der Ecke des Spiegelbilds, groß genug zum Lesen ohne Vorbeugen. Sie zählt ab dem Öffnen des Fensters; ein Klick auf sie zu Beginn des Vortrags lässt sie wieder bei null anfangen. Eine Pause gibt es nicht.

Ein Tastendruck nach dem anderen

Eine Vorlesung bewegt sich in Schritten, nicht in Folien. Mit Leertaste bringt man die Folie einen Schritt weiter; erst wenn auf dieser nichts mehr übrig ist, geht der Tastendruck zur nächsten Folie. Von Folie zu Folie kommt man mit den Pfeiltasten, von Teil zu Teil mit Shift und einem Pfeil.

Woher die Schritte kommen

Eine Zeile aus genau drei Strichen, allein stehend, öffnet einen Schritt. Was danach steht, wartet, bis man es abruft, und was der Saal schon gesehen hat, bleibt, wo es war.

Eine Zeichnung zählt genauso: Eine Abbildung mit Schritten läuft auf derselben Taste, und ein Schritt in einer Spalte, einer Karte oder einer Zeile kommt in der Reihenfolge, in der er in der Datei steht.

## example: The handshake | four messages {.wide #tls}

**It opens with a client hello.** The client
names the versions and the ciphers it can speak.

---

**The server answers with a certificate.** Which is
where the rest of the hour is going to be spent.

> note: Ask who has ever looked at one of these.

Mit C tauscht man die kurze Folie gegen den ganzen Text. Der Saal sieht normalerweise den ersten Satz jedes Absatzes und die fett gesetzten Wendungen – der Rest der Prosa steht im Handout. Die Taste drücken, wenn eine Frage den weggelassenen Satz braucht, und noch einmal drücken, um zurückzugehen. Beide Fenster folgen.

Auf # entscheidet man, was mit einer zu großen Folie passiert. Drei Zustände, ein Tastendruck nach dem anderen: den Rahmen füllen, verkleinern nur dann, wenn die Folie sonst hinausliefe, oder sie bei der selbst gewählten Größe lassen. +, - und 0 machen dasselbe von Hand, für die letzte Reihe.

Das andere Cockpit, für einen ausgeschriebenen Vortrag

Wer einen Vortrag vom Manuskript hält, drückt im Cockpit K. Die Projektion rückt klein in eine Leiste links, und die eigenen Notizen stehen als Karten auf einer Spur rechts. So bleibt das Cockpit, bis man wieder K drückt, und die Leertaste geht jetzt von Karte zu Karte: Erst der Tastendruck auf der letzten Karte eines Schritts bringt die Projektion weiter.

Unten stehen vier Tastendrücke auf einer Folie, je eine Aufnahme. Auf dieser Folie steht eine Zeichnung mit eigenen Schritten, und drei ihrer Karten benennen den Schritt, zu dem sie gehören, mit > note: from 1, from 2 und from 3: Zwischen den Schritten einer Zeichnung steht keine Drei-Strich-Zeile, hinter die eine Notiz passen würde.

wenn die Folie aufgeht

speaker.html · K
Das Karteikarten-Cockpit, wenn die Folie aufgeht: links die Projektion mit einer Zeichnung aus drei Kästen, rechts die erste Karte groß und dunkel, darunter die Rauten und die grauen Karten der Tastendrücke, die noch kommen.

Die Karte, die gerade gesagt wird, steht groß. Darunter in Grau, was noch kommt; dazwischen die Rauten, eine je Klick auf den Projektor.

ein Tastendruck

speaker.html · K
Einen Tastendruck weiter: die erste Karte steht grau über dem Punkt, die zweite ist die große, und auf der Projektion ist der dritte Kasten der Zeichnung zu einem gestrichelten Umriss verblasst.

Die Karte darüber ist grau geworden, der Tastendruck hat den Projektor erreicht, und ein Kasten der Zeichnung ist verblasst.

zwei

speaker.html · K
Zwei Tastendrücke weiter: die dritte Karte ist die große, und auf der Projektion sind zwei weitere Kästen in der Zeichnung erschienen.

Die nächste Karte, und die beiden Kästen, um die es auf ihr geht, sind in der Zeichnung angekommen. Ein Tastendruck hat beides bewegt.

drei

speaker.html · K
Drei Tastendrücke weiter: die Zeichnung auf der Projektion ist mit ihrem letzten Kasten und ihrer Quellenzeile vollständig, und in der Spur stehen die schon gesagten Karten grau über dem Punkt, der Rest der Notiz darunter.

Die letzte der an einen Schritt gehefteten Karten. Was gesagt ist, steht über dem Punkt, was übrig ist, darunter.

Ein Absatz in einer Notiz wird zu einer Karte, seine Fettungen werden zu ihren Stichpunkten. Fett gehört, was man sehen will, nicht, was man betonen will. Ein Absatz ohne Fettung steht ganz da, in kleinerem Schriftgrad, und eine ####-Überschrift darüber gibt der Karte einen Titel.

Wo die Notiz steht, entscheidet, wann sie gesagt wird. Eine Notiz über der ersten Drei-Strich-Zeile gehört zu dem Schritt, mit dem die Folie aufgeht, eine darunter zu dem Schritt, den diese Zeile öffnet. Nichts muss von Hand zugeordnet werden. Eine Ausnahme: Stehen alle Notizen einer Folie an ihrem Ende, hinter der letzten Drei-Strich-Zeile, erscheinen sie alle auf dem ersten Schritt.

@12:30 am Anfang einer Karte markiert den Zeitpunkt, zu dem man dort sein wollte. Das Cockpit zeigt dann neben der Uhr, wie weit man davon entfernt ist, auf zehn Sekunden gerundet und rot, wenn man hinterher ist. Eine Vorlesung ohne solche Marken zeigt dort nichts.

Ein Prompter, wenn man ihn einschaltet

Eingeschaltet hört der Prompter zu, während man spricht, und legt einen kurzen Hinweis auf die Folienkopie im Cockpit, wenn etwas gesagt werden muss.

Er bleibt aus, solange man ihn nicht auf der Kommandozeile startet, mit node build.js und --watch --prompter; die Desktop-App kann ihn nicht ausführen. Er schickt ein Transkript des Gehörten über das Internet an ein Sprachmodell, braucht also eine Netzverbindung und einen OpenRouter-Schlüssel, und jede Anfrage kostet Geld. Das Mikrofon hört den ganzen Saal.

Im Bild trägt der rote Streifen die Antwort des Modells auf eine Zahl, die die vortragende Person falsch gesagt hat. Die eigene Seite des Prompters sagt, wobei er sich meldet, was er kostet, was den Rechner verlässt und wie man mit ihm probt.

speaker.html · Shift-S
Das ganze Cockpit. Oben die Teile des Vortrags und die Uhr; in der Mitte seine Kopie der aktuellen Folie, auf der „1,4 Sekunden. Dann 90 Millisekunden.“ steht. Über den unteren Rand dieser Folie liegt ein roter Streifen mit „Die Zahl ist neunzig Millisekunden, nicht 250.“, darunter eine blasse Zeile: „asked 2s ago · 2 so far“. Unter der Folie die Sprechernotiz, dann eine Reihe von fünf Folienvorschauen, die aktuelle rot umrandet, und eine Fußzeile mit dem leuchtenden Prompter-Knopf.

Eine Frage zu Folie vierzig

Jemand fragt nach etwas von vor einer halben Stunde. Es gibt zwei Wege dorthin, und bei beiden führt Esc wieder dorthin zurück, wo man war.

Mit O legt man die ganze Vorlesung als Tafel aus, in beiden Fenstern zugleich: Der Saal sucht mit, statt beim Scrollen zuzusehen. Die Suche auf / öffnet sich nur in dem Fenster, in dem man sie aufruft; ruft man sie im Cockpit auf, sieht der Saal nichts, bis man einen Treffer auswählt. Fragt jemand nach Folie 23, landet man mit G, den Ziffern aus der Ecke der Folie und Enter dort.

audience.html · O
Die Übersichtstafel: die ganze Vorlesung aus 39 Folien als Raster lesbarer Folien, die aktuelle umrandet.
Die ganze Vorlesung auf einmal. Keine Miniaturen, sondern die echten Folien, immer noch lesbar. Ziehen verschiebt den Ausschnitt, Enter springt zur ausgewählten Folie.
audience.html · /
Das Suchfeld über der Folie: die Anfrage async und fünf Treffer, jeder mit Folienart, Überschrift und dem passenden Satz.
Volltextsuche. Jeder Treffer nennt die Art der Folie, ihre Überschrift und den Satz, in dem der Suchbegriff steht.

Wenn die Folie nicht der Punkt ist

Die halbe Vortragskunst besteht darin, die Aufmerksamkeit von der Wand zu nehmen und wieder hinzulenken. Drei Tasten und eine Mausgeste tun das, und keine davon ändert, wo man in der Vorlesung steht.

Die Projektion friert man mit V ein. Die Wand behält ihre Folie, während man woanders nachsieht – drei Folien weiter, in einem weggeklappten Detail, wo auch immer die Antwort steht. Noch ein Tastendruck, und der Saal kommt in einem Schritt dorthin, wo man jetzt ist.

In der Fußzeile des Cockpits steht live oder frozen, und ein Klick auf dieses Wort tut dasselbe wie die Taste.

Mit B macht man die Projektion schwarz. Die Wand geht aus, und der Saal schaut stattdessen einen selbst an. Das geht auch, während die Projektion eingefroren ist.

Der Laserpunkt hat keine Taste. Man bewegt die Maus über das Spiegelbild im Cockpit, und an derselben Stelle der Wand erscheint ein Punkt – man zeigt auf die Folie auf dem eigenen Bildschirm, in der Größe, die sie dort hat, und der Saal sieht, wohin.

Für eine Live-Demo auf der Projektion drückt man D. Man wählt ein Fenster oder einen Bildschirm des eigenen Rechners aus, und es füllt den Rahmen, bis man wieder D drückt – das Terminal, in dem man gerade tippt, kann also an der Wand stehen, ohne die Bildschirme zu spiegeln und auf dem Rückweg die Fensterpositionen zu verlieren.

Auf einem Mac scheitert die erste Aufnahme, während macOS nach der Freigabe für die Bildschirmaufnahme fragt; ein zweiter Tastendruck auf D läuft dann. Besser einmal vor dem Vortrag ausprobieren als vor dem Saal.

Auf die Folie schreiben

Mit N öffnet man ein Feld, das den Rahmen füllt, und was man tippt, erscheint beim Tippen an der Wand. Ein Wort steht groß und mittig, mehrere Zeilen als Block, ASCII-Grafik behält ihre Spalten.

Steht eine Adresse darin, erscheint über den Worten ein QR-Code, in der Seite selbst gezeichnet: Der Saal nimmt den Link mit dem Telefon mit, statt ihn abzuschreiben.

audience.html · N
Die Projektion, während eine Notiz getippt wird: die Folie hinter einem fast deckenden Schleier, die Worte groß in Schreibmaschinenschrift über der unteren Hälfte, darüber ein QR-Code für die Adresse im Text.

Ein Link in einer Vorlesung öffnet keine Seite. Er legt die Adresse mit ihrem QR-Code auf beide Bildschirme, gezeichnet beim Build der Vorlesung, und man redet weiter. Nichts lädt, und der Tab mit den eigenen Mails bleibt, wo er war.

Ein Video läuft im Rahmen, aus der Datei selbst, und beide Fenster bleiben bei Abspielen, Pause und Position im Gleichschritt. Ein YouTube- oder Vimeo-Video, das in eine Folie eingebettet ist, lädt von YouTube oder Vimeo, als einziges an der Wand vom Server eines anderen Unternehmens. Ein YouTube-Video braucht die Vorlesung über --serve geöffnet, das sie vom eigenen Rechner ausliefert; ein Vimeo-Video spielt auch, wenn man die Datei direkt öffnet.

Was im Saal geschrieben wurde, kommt zurück in die Quelle

Was man mit N an die Wand getippt hat, liegt als Entwurf im Browser, je Vorlesung, und zwei Schritte bringen es in source.md, unter die Folie, auf der es geschrieben wurde. Es lohnt sich, es aufzuheben: Was man im Saal aufgeschrieben hat, ist meistens das, was der Folie fehlte.

Zwei Schritte, nach der Stunde

Shift-E im Cockpit drücken: Alles, was an der Wand getippt wurde, geht als markierter Block in die Zwischenablage, danach die Frage, ob die Entwürfe gelöscht werden sollen. Sagt man nein, bleiben sie – eine blockierte Zwischenablage kostet also nie den Text.

Den Block ans Ende von source.md einsetzen und einmal bauen. Jedes Stück wandert unter die Folie, auf der es geschrieben wurde, und die Markierungen verschwinden; was sich nicht zuordnen ließ, bleibt am Ende stehen.

# was Shift-E in die Zwischenablage legt, ans Ende von source.md gesetzt
<!-- annotations:start -->

### why-playwright
> annot: The ninety-second demo lands better than the paragraph.

### async-await
> annot: Ask who has hit this in a real script.

<!-- annotations:end -->

# und dann, einmal
node build.js lectures/my-lecture/source.md --integrate-annotations

Ohne den eigenen Laptop

Manchmal trägt man an einem Rechner vor, der nicht der eigene ist – am fest eingebauten PC im Hörsaal, am einen Laptop für eine ganze Konferenzsitzung –, oder die Veranstalter nehmen die Folien nur als PDF entgegen. Für diese Fälle, und um die Folien hinterher jemandem zu schicken, schreibt der Build die Projektion als slides.pdf aus, eine Seite je Tastendruck auf der Leertaste.

Ein Schritt nach einer Zeile aus drei Strichen und ein Schritt einer Zeichnung werden jeweils zur nächsten Seite, wie in den vier Seiten hier. Eine Folie, die höher ist als der Rahmen und in der Live-Ansicht abwärts gefahren wird, wird auf ihre Seite eingepasst; aus einem Video wird ein Standbild seines ersten Bildes, aus einem YouTube- oder Vimeo-Video eine Karte mit dem Namen des Anbieters, darunter die Adresse. Cockpit und Notizen stehen nicht in der Datei.

Auf der Kommandozeile heißt das --slides-pdf und braucht einen Chromium: den, den npm install normalerweise mitbringt, sonst $PSI_CHROME oder ein installiertes Chrome. Die App braucht nichts davon, sie druckt mit ihrem eigenen Chromium. --print-pdf und --print-notes-pdf schreiben die beiden Handouts als A4-PDF. In der App stehen alle drei unter Als PDF exportieren….

slides.pdf · Seiten 35–38
Vier Seiten eines Folien-PDFs, zwei mal zwei. Die ersten beiden sind ein Codebeispiel: auf der ersten eine Überschrift, ein Satz und eine kurze Funktion, auf der zweiten dieselbe Seite mit einem zweiten Codeblock und einem Schlusssatz. Die letzten beiden sind eine Zeichnung: drei graue Kästen über einer Klammer „about three seconds“, und auf der zweiten Seite darunter drei rote Kästen übereinander über einer Klammer „about one second“.

Zum Weiterlesen

  • Was psi-slides ist Die Startseite: eine Vorlesung, wie der Saal sie sieht und wie die Lesenden sie bekommen, und warum das dieselbe Datei ist.
  • Loslegen Die App und die Kommandozeile, und wie man das Tutorial auf einem Rechner baut, auf dem nichts installiert ist.
  • Die Tutorial-Vorlesung (englisch) Eine Vorlesung über das Schreiben von Vorlesungen. Öffnen, S drücken, und die Tasten dieser Seite liegen unter den Händen.
  • Figures you write (englisch) Die Begründung für die Abbildungssprache, dann das Handbuch: eine Abbildung Zeile für Zeile aufgebaut, und jede Anweisung.