schleuderpackung 2.0
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 102 | |
Author | ||
License | CC Attribution 4.0 International: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/43235 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Data conversionFuturERSmakeUpdateTEXPhysicistMusical ensembleTOUR <Programm>Tap (transformer)Packung <Mathematik>JSONLecture/Conference
02:56
MITISLink (knot theory)Liste <Informatik>QR codeElement (mathematics)CodeBlock (periodic table)Number
05:19
Atomic nucleusEnde <Graphentheorie>ArmLiniePackung <Mathematik>Computer animation
07:04
Series (mathematics)Query languageNumberError messageZahlComputer animation
08:05
ZifferIterationQR codeBlock (periodic table)CodePressurePhysical lawHacker (term)Macro (computer science)Computer animation
10:18
HTMLPDF <Dateiformat>Ende <Graphentheorie>Version <Informatik>Continuous integrationTEXTrail
10:56
Software testingPAPLecture/Conference
11:55
E-bookSoftware testingSummierbarkeit
12:45
Configuration spaceSoftware testingVapor barrieriPadSystems <München>Block (periodic table)Configuration spaceBlogLecture/Conference
14:17
RelationalsystemPlane (geometry)Social classDirectory (computing)Grand Unified TheoryMacro (computer science)MAKROSE-bookComputer animation
16:00
HöheComputer animation
16:49
Email
17:27
ExpressionMassBlock (periodic table)Lecture/Conference
18:40
Computer programmingPackung <Mathematik>Computer programming
19:21
Computer programmingQR codeComputer programmingLink (knot theory)TEXLecture/Conference
21:44
Module (mathematics)Data typeProject <Programm>Variable (mathematics)Macro (computer science)CountingModule (mathematics)Data typePointer (computer programming)Parameter (computer programming)MAKROSLecture/Conference
24:12
Data typeModule (mathematics)Programming languageData typeParameter (computer programming)Variable (mathematics)Liste <Informatik>Sequel
24:51
Sequence
25:26
NeWSRepresentational state transferParameter (computer programming)Hacker (term)Macro (computer science)TAX
26:54
Mathematical structureComputer animation
27:51
Aktion <Informatik>Computer animation
28:26
FeedbackTime zoneSummierbarkeitLecture/Conference
29:43
HTMLElement (mathematics)Open sourcePackung <Mathematik>Systems <München>Wind waveInformation privacyLebendigkeit <Informatik>Lecture/Conference
33:11
Haar measureLecture/Conference
33:51
HöheElement (mathematics)Run-time systemLecture/ConferenceMeeting/InterviewComputer animation
34:56
Physical quantityDistanceLecture/ConferenceComputer animation
35:58
Meeting/InterviewLecture/Conference
36:49
Physical quantityRaster graphicsComputer animation
37:30
Translation (relic)TEXMAKROSPoint of saleRelationalsystemFile viewerHTMLLecture/ConferenceSource codeComputer animation
38:07
SupremumLecture/Conference
38:50
Element (mathematics)RandSoftware testingLecture/ConferenceJSONComputer animation
39:20
Computer animation
Transcript: German(auto-generated)
00:15
technische Aspekte und Umsetzungen in der Datenschleuderredaktion. Man sagt ja immer, wer schreibt, der bleibt.
00:21
Deswegen mögen Nerds auch so gerne so Retro-Dinge wie Postkarten schreiben auf dem Camp oder Bundestagswahlen auf Papier und auch Fachzeitschriften. Und unsere nächste Speakerin Marei erzählt uns jetzt was darüber, wie sich die Datenschleuder, die Zeitschrift des Chaos Computer Club in den letzten Jahren so entwickelt hat und was da die jüngsten Ereignisse waren.
00:41
Sie ist Physikerin und Redaktionsmitglied der Datenschleuder und außerdem ist sie freiberuflich als Tech-Hexe tätig. Und ich bitte euch, sie mit einem ganz herzlichen Applaus zu begrüßen. Viel Spaß beim Talk. Vielen Dank für die Vorstellung. Also jetzt muss ich glaube ich gar nichts mehr dazu sagen,
01:00
was die Datenschleuder eigentlich ist. Es gibt sie seit 1984. Wir haben heute festgestellt, dass es eigentlich ganz interessant ist, weil dann wird sie zukünftig ja nicht mehr geben, wenn das mit dem Make 1984 Future Again irgendwann funktioniert. Sie bezeichnet sich als ein Organ des CCC und es gibt bisher 100 Ausgaben davon.
01:22
Ich selber bin jetzt seit der 99 dabei. Das heißt, ich habe genau zwei gemacht, was im Vergleich echt nicht viel ist. Aber wir haben in der Zeit relativ viel Arbeit reingesteckt, einfach Dinge zu modernisieren und auch zu überlegen, was man noch weiter verbessern kann, was an Möglichkeiten besteht bezüglich Barrierefreiheit und solchen Geschichten.
01:45
Und ein paar Aspekte davon will ich jetzt einfach mal hier vorstellen. Es gab vor ein paar Jahren mal eine Zeit lang gar keine Schleuder. Deswegen ist es auch jetzt noch so, dass einige gar nicht wissen, dass es sie wieder gibt. Die wurde zur Ausgabe 98 wiederbelebt
02:04
und seitdem machen wir eine Versionierung über GitLab. Und es basiert auf einem LaTeX-Paket von Kurt, John und Ben. Das ist die Schleuderpackung 0.1. Jetzt habe ich den Talk 2.0 genannt.
02:20
Das klingt erst mal ein bisschen komisch. Aber ich finde, man kann das, was da schon da ist, als 1.0 bezeichnen, weil es durchaus schon echt gute Mechanismen und Grundlagen hat. Und was ich dann tatsächlich gemacht habe, ist, das Ding zu aktualisieren. Also es war von 2013. Ich arbeite viel mit TeX. Und das heißt, das Erste, was ich von allen erwarte, ist einmal System updaten.
02:41
Und danach kann man dann schauen, wie man mit neueren Mechanismen arbeitet. Zum Aufbau einer Datenschleuder. Wir haben bei einer Datenschleuder klassischerweise immer eine Titelseite. Das ist jetzt die von der 100. Dann gibt es Artikel. Jetzt haben wir hier mal als Bild das Geleitwort.
03:01
Da sieht man jetzt schon, wir haben... Ich muss das mit dem Maus navigieren noch üben. Hier zum Beispiel als Sonderelement ein Inhaltsverzeichnis. Und da oben ein Codeblock als so eine Art Bild oder wie auch immer. Und dann gibt es noch ein paar sehr spezifische Elemente, wie der Chaos-Knoten hier oben.
03:23
Und das mit dem QR-Code und den Hexadizimaltalen ist auch übernommen. Genau. Es gibt neben den Standardartikeln, die ich eben hatte, auch Interviews. Dafür haben wir eine Struktur gebaut, die dann sowohl Einzelpersonen-Interviews
03:40
als auch Mehrpersonen-Interviews abbilden kann. Da findet sich in der 100 ein sehr schönes Beispiel zu. Deswegen ist der Artikel hier. Und die dritte Kategorie ist, wir haben Leserbriefe. Das heißt, wenn ihr irgendwann mal was zur Datenschleuder mitteilen wollt oder sonst irgendwie Themenvorschläge, was weiß ich nicht, habt,
04:01
schickt uns eine Mail an dsccc.de. Und wenn wir dann sagen, das könnte andere auch interessieren, dann landet das da. Der nächste Punkt, den ich beleuchtet habe, sind Bilder. Zu Bildern gibt es einmal die Struktur, dass man sie eben so im Zwei-Spalten-Satz mitten auf der Seite platziert.
04:24
Und es gibt ganz Seitenbilder, wie zum Beispiel das große Datenschleuder-Leser-Bilder-Rätsel. Da suchen wir übrigens immer noch eine Antwort drauf, was das ist. Also wenn ihr zufällig eine Idee habt, schickt uns eine Mail. Bis zur nächsten Ausgabe ist das noch offen. Und dann kommt die Auflösung.
04:44
Das hat nicht so ganz funktioniert, wie ich das wollte. Dann haben wir ein paar anderen Anforderungen für die Schleuder noch, dass wir eben Listen generieren müssen. Dann ist hier als Beispiel einmal die Liste der R-Fahrkreise.
05:02
Wir haben ein System, das Literatur je Artikel abbildet. Und ein Punkt, der dann kurz vor Veröffentlichung der ersten Ausgabe, an der ich beteiligt war, aufgetaucht. Das war, oh, wir hätten es gern registrerhaltig. Jetzt weiß ich nicht, ob jeder weiß, was registrerhaltig bedeutet.
05:21
Das heißt nämlich im Endeffekt, dass wir einfach den ganzen Text nehmen und einmal einen Raster darunter legen. Ja, das kann man schon so machen. Ist in Latik aber leider ein bisschen blöd, weil ich weiß nicht, wer schon mit Latik gearbeitet hat. Das füllt immer so auf, dass die oberste Zeile bündig zum oberen Rand ist.
05:42
Und die untere zum untersten. Und das Problem war dann, jetzt habe ich noch zwei Wochen bis zum Druck. Und ja, wie machen wir das jetzt mal? Resultat war dann, dass ich mir überlegt habe, wir könnten einfach mal anfangen mit Text.
06:03
Das funktioniert ja, wie man hier in der rechten Spalte sieht, ganz gut. Der trägt sich ja von selber ganz gut ein. Und dann kommen aber so Elemente wie dieses Bildchen hier dazwischen. Und was letzten Endes die Schleuderpackung momentan tut,
06:21
ist nichts anderes als jede Art von Box, also die Box geht in diesem Fall von hier oben vom Bild bis hier runter zur Caption, in das Raster einzupassen. Also sie guckt quasi, welcher Punkt wäre am besten, um es bündig zu setzen. Das ist in dem Fall jetzt die Unterkante hier.
06:41
Legt die auf das Raster und mit den Überschriften folgt das genauso. Und damit kriegen wir es dann hin, dass der Fleece-Text, das ist der hier unten, wieder auf der Linie steht. Das heißt, momentan ist die Schleuder einfach nur ein Baukasten. Da wird gar nicht viel geschleudert, sondern mehr zusammengesetzt aus einzelnen Bauteilen.
07:11
Das war die Folie, die ich eigentlich vorne wollte. Sehr schön. Nächster Punkt, den ich mir angeguckt habe, war, wie können wir zum Beispiel die hexadezimalen Seitenzahlen umsetzen?
07:23
Und wir haben jetzt hier oben mal ein Beispiel dafür, wie Tech irgendwie Zahlen in was anderes als Zahlen umbaut. Und das ist ziemlich lustig, weil er macht nichts anderes als eine If-Case-Abfrage und guckt dann, wenn es eins ist, nimm A, wenn zwei ist, nimm B, wenn drei ist, nimm C und so weiter.
07:42
Das heißt, hier werden dann alle Buchstaben der Reihe nach aufgefüllt. Dann guckt er noch, ob es Z ist. Und wenn es nicht auch noch Z ist, dann kriege ich eine Fehlermeldung, die sagt, der Zähler ist zu hoch. Ich könnte jetzt versuchen, das irgendwie über andere Mechanismen abzubilden, dass ich quasi sage, zahl mir meine Zahl durch 16.
08:02
Und anschließend gucken wir dann, in welches Raster das passt, um dann irgendwie mal durch eine Iteration da eine Ziffer rauszukriegen. Und das war so das Erste, was ich geändert habe, wo ich gesagt habe, hey, es gibt doch modernere Möglichkeiten, sowas zu machen. Und dann habe ich ein bisschen in ein anderes Syntax gehupft.
08:22
Sieht so aus. Ich werde nachher noch kurz was dazu sagen, was dieses Syntax im Genauen tut, aber im Endeffekt machen wir hier das Gleiche, nämlich, wir nehmen ein Makro, das wie das ALF hier einfach nur Hex heißt, schreiben dann ein 0x davor
08:43
und konvertieren dann den Rest vom Argument in ein Hex. Die mittlere Zeile hier ist gerade nur dafür da, dass falls ich nur eine Ziffer habe, ich immer auf mindestens zwei komme. Das heißt aber auch, dass die Seitenzählung momentan nur so lange funktioniert,
09:01
bis wir in den dreistelligen Hexadezimalbereich kommen. Also ganz so lang darf es dann nicht werden. Aber ich glaube, man kommt bisher damit ganz gut hin. Ich weiß gar nicht, wie viel wir letztes Mal hatten. Ich glaube so um die 50 Seiten. Wir kamen bis drei, vier.
09:21
Also da ist noch echt Luft nach oben. Das heißt, ihr könnt noch ordentlich viel schreiben. Ein zweiter Aspekt war dann, zu gucken, dass wir mit den ganzen Änderungen am Layout die ganze Grundstruktur möglichst wenig beeinflussen. Deswegen habe ich hier jetzt mal als Beispiel, wie die Seitenzahl generiert wird.
09:42
Also wir haben als Seitenzahl immer so einen Block. Da ist entweder der QR-Code und dann die Seitenzahl als Hexadezimalzahl oder eben andersrum. In dem Fall ist es so, dass auf ungeraden Seiten steht die Seitenzahl in Hexadezimalinnen.
10:01
Dann kommt der QR-Code. Das ist hier. Und auf geraden Seiten folgt die Angabe der Seitenzahl auf den QR-Code. Das folgt quasi genau dem Schema, wenn ich doppelseitig drucke, ist mein QR-Code so immer außen.
10:24
So haben wir uns dann durch alle Elemente durchgekaut und Stück für Stück wurde das dann. Dann kam die Idee, wenn jetzt alle erst hier Tech updaten müssen, dann ist das unglaublich schwer zu benutzen. Dann ist es wieder so, dass die eine Version anders aussieht als die andere.
10:41
Also brauchten wir ein schleuderfähiges Continuous Integration System. Letzten Endes war das ganz cool, dass wir es auf GitLab basiert haben, weil GitLab ja über Runner verfügt, mit denen ich dann direkt bei jedem Commit eine Pipeline ansteuern kann.
11:01
Und dann haben wir das noch ein bisschen weitergetrieben und gesagt, okay, dann bauen wir halt noch ein paar mehr Ausgabenmöglichkeiten. Das ist hauptsächlich darauf gewachsen, dass dann irgendwann kamen, ja, wir müssen es ja eh drucken und dann wäre online noch ganz cool. Und dann kam irgendjemand und wollte so ein bescheuertes EPUB haben.
11:21
Wer mich kennt, weiß, dass ich kein Freund vom EPUB-Format bin, weil ich das absolut schrecklich hässlich und die Satz-Engines grauenhaft finde. Dementsprechend war mein erster Gedanke, hey, wieso EPUB? Also bin ich davon ausgegangen, die machen das nur, um mich zu ärgern.
11:40
Dann habe ich ein bisschen überlegt und dachte, naja, eigentlich ist es ja gar nicht so blöd, weil Latich mit der Barrierefreiheit momentan noch so ein bisschen kämpft. Also machen wir EPUB, um es barrierefrei zu machen. Deswegen, wir suchen derzeit noch Tester für die EPUBs.
12:00
Also entweder könnt ihr es euch hässlicherweise auf dem E-Book wieder angucken oder es für den Zweck nutzen, für den es gedacht ist, falls ihr entweder blind oder wie auch immer Schwierigkeiten habt, das zu sehen, sei es auch einfach mit den Farben oder irgendwas, sei einfacher dann, dann würden wir gerne Tester suchen für Screenreader und sonstige Mechanismen.
12:21
Dann wendet euch bitte an dsrccc.de und wir schicken euch dann die EPUB zu. Demnächst habe ich auch die 100 als EPUB fertig. Das ist immer so ein bisschen, aber die 99 steht schon. Ah, der erste Gedanke, hey, wir machen EPUB, okay, das kann ja gar nicht so schwer sein.
12:41
EPUB ist ja auch nur XML. Ja, habe ich mir gedacht. Es gibt so ein Tech-for-E-Book-System, das ist seit ein paar Jahren auch echt benutzbar. Kann man ohne Probleme machen. Das Problem, was man kriegt, ist, wenn man dann anfängt, es validieren zu wollen, dann auch noch barrierefrei zu haben,
13:02
weil da gibt es nämlich ungefähr so 100 verschiedene Testsysteme für. Und dann braucht man einen Haufen zusätzliche Konfiguration. Dritter Punkt sind dann natürlich Bilder. Wir müssen für Bilder irgendwie Zusatztexte einfügen. Das heißt, was wir bisher nicht gemacht hatten, war, dass bei jedem Bild drunter steht, was es zeigt.
13:25
Das ist bisher leider auch noch nicht so ganz der Fall, aber da werden wir demnächst dran arbeiten, der Mechanismus existiert. Und wir werden uns auch dazu nötigen, dann zu jedem Bild eine Bildbeschreibung reinzufügen, damit das auch langfristig so bleibt.
13:47
Dann war es so, dass die Titelseite ja wirklich als Bild eingebunden werden muss. Also IPAP hat immer so ein Coverpage-Ding, was als einen Blog gezeigt wird. Und wir hatten ja keinen Blog. Wir haben quasi eine Titelseite, die setzt sich zusammen aus einem Bild
14:00
und aus verschiedenen Metadatentextelementen. Wenn ich jetzt versuche, das irgendwie umzubauen, ist es ziemlich umständlich. Also läuft es momentan so, dass zuerst die Online-PDF gebaut wird, er dann aus der ersten Seite der Online-PDF ein SVG baut, und nachdem er die SVG gebaut hat, kann er dann anfangen, daraus eine IPAP zu basteln.
14:27
Das war dann insgesamt soweit schon mal ganz nett. Und dann ging es damit los, dass man anfangen wollte, dass das IPAP irgendwie halbwegs nach irgendwas aussieht. Und schon war die ganze Datenschleuder einmal über den Haufen geworfen,
14:41
weil man muss nämlich in IPAP natürlich anders arbeiten als in Tech. Und dann musste ich auf einmal HTML schreiben. Insgesamt läuft nämlich die Umwandlung so, dass Tech vor E-Book alles nimmt, was in Tech steht. Zum Beispiel nehmen wir mal den Abstract hier, liest das ein
15:04
und klatscht dann zu Beginn und zu Ende der Abstract-Umgebung einfach irgendwelche Tags rein. In dem Fall kriege ich dann eben ein DIV mit der Klasse Abstract, kriege noch einen Titel dazu, mache das irgendwann wieder zu, habe dann sonstige Elemente, die ich aus irgendwelchen Gründen brauche.
15:24
Und so hangelt man sich von einem Makro zum nächsten durch. Das Gute ist, dass die Schleuderpackung tatsächlich ja ein begrenztes Makro-Setup hat. Also wir haben Artikel und beschränken die Autoren in bestimmten Bereichen, weil wir eben nicht wollen, dass jemand jetzt Aufzählungen bis zur zehnten Ebene macht zum Beispiel.
15:44
Also es geht darum, dass die Struktur von den Artikeln möglichst leicht sein soll, aber dementsprechend stehen halt nur bestimmte Elemente zur Verfügung und darüber kann man dann die EPUB relativ einfach generieren. Relativ einfach heißt das momentan die Konfig zu EPUB doppelt so lang ist wie der Code, der zum Latig ausgeben.
16:01
Aber naja, es schreibt eine valide EPUB-Datei. Dann gibt es halt noch so ein paar Punkte, die man beachten muss. Also zum Beispiel dieses Configure-Mark hier unten, das hat man nur, weil EPUB nicht damit klarkommt oder zumindest das Tech-for-Ebook-System, dass man nicht nummerierte Überschriften für Kapitel hat.
16:24
Also ich weiß nicht, ob es euch aufgefallen ist, aber die Datenschleuder hat keine Nummern an den Überschriften, sondern wir haben einfach Artikel, Artikel, noch ein Artikel und die kommen halt in irgendeine Reihenfolge und die hätte ich gerne so im Inhaltsverzeichnis. Da sagt das EPUB erstmal, Edge geht nicht.
16:41
Das waren also so die größten Hüden, die wir dann hatten beim so durchkauen und Stück für Stück wurde es dann. Ich kann nachher dann auch gerne noch eine EPUB mal öffnen und zeigen, aber insgesamt baut es jetzt und wir versuchen das auch weiterhin so zu lassen.
17:02
Kam irgendwann, ich glaube Januar war das oder so, eine E-Mail über DSLCCC rein und dachte, ja, ich habe jetzt gesehen, ihr baut die Datenschleuder in LaTeX und ich würde das gerne machen. Mein erster Gedanke war erstmal, oh mein Gott, ich bin mit der Doku noch nicht durch.
17:22
Bin ich bis heute noch nicht. Aber die Grundidee war, okay, dann bauen wir das halt von Anfang an so, dass man es adaptieren kann. Also was für Elemente muss ich verändern können, um eine andere Art von Zeitschrift daraus zu kriegen?
17:40
Und die Überlegungen waren dann erstmal so, naja, also es heißt halt dann wahrscheinlich nicht Datenschleuder. Wollen wir, dass es trotzdem irgendwie nach Datenschleuder aussieht? Wenn man jetzt so ein bisschen vergleicht, ich weiß nicht, ob ihr das typische Layout so kennt, tatsächlich sieht es aus wie eine Datenschleuder.
18:02
Wir haben quasi hier normalerweise den Titelblock, auf dem steht Datenschleuder. Und das hier unten ist irgendwie da mal Preis. Und das hier ist dann irgendwas mit der Ausgabe. Und dann ist irgendein Titelbild drauf.
18:20
Andererseits ist es so, dass 95 Prozent aller Zeitschriften genauso aussehen. Also von dem her ist das jetzt nicht so das große Drama. Und gerade für einfache Zeitschriften hat sich herausgestellt, dass es wirklich leicht adaptierbar ist. Also die Waldorfschule in Überlingen hat jetzt eine auf Datenschleuder basierte Schülerzeitung und ist damit nach dem, was ich bisher gehört habe, eigentlich ganz glücklich.
18:48
Gut, ich hatte ja eigentlich gesagt, ich rede über, wie wir das Ganze technisch aufgebaut haben. Nachdem mir meine Folie, die relativ viel zu dem CI-System zeigen sollte, leider verloren gegangen ist
19:00
und ich musste die nachher beim Lost in Found mal suchen gehen, würde ich jetzt erstmal ein bisschen was zu den Latik-Sachen erzählen, die ich noch vor hatte. Und zwar war die Schleuderpackung schon bevor ich sie übernommen habe auf Luar Latik ausgelegt, damals um Programmierung im Luar zu machen.
19:21
Zum Beispiel die Generierung der R-Fahrliste lief da drüber. Dann ist es aber so, dass ich immer wieder die Frage stelle, gerade auch mit meiner Arbeit und so, wieso soll ich ihn jetzt Luar Latik nehmen, das ist so langsam und das nervt alles und ich muss dreimal so lange warten, bis mein Dokument fertig ist.
19:42
Deswegen zwei ganz einfache Gründe. Ihr habt nämlich deutlich mehr Auswahl, was die Schriften angeht. Und ihr könnt halt wirklich einfach damit leichter programmieren. Weil wenn ihr euch an den Kram erinnert, den ich vorhin gezeigt habe, mit den Unterstrichkramen und so, wo ich gerade vielleicht noch mehr drauf eingehe, ist Luar vielleicht doch eine ganz benutzbare Sprache, außer man liebt Tech.
20:06
Also wenn ich die Wahl zwischen Luar und Tech habe, lande ich natürlich bei Tech, aber vielleicht gibt es ja bei euch Leute, die lieber Skriptsprachen sprechen. Und dann ist der Link zu Luar gar nicht so übel. Zusätzlich ist Luar auch, was die Programmierung angeht, deutlich schneller als Tech.
20:23
Also wenn ich jetzt halt anfange in Tech zu rechnen, was durchaus geht und überhaupt kein Problem ist, dann kann ich das machen und stelle dann irgendwann fest, jetzt dauert es echt verdammt lange. Und ich hatte dann irgendwann mal die QR-Code-Generierung für die Datenschleuder auf Tech-Basis
20:43
und es kompiliert und es kompiliert und es kompiliert und es kompiliert und man kann jedem einzelnen QR-Code beizukommen. Deswegen ist das jetzt Luar, dann geht das nämlich auf einen Schlag und ist einfach durch. Für die sonstigen Sachen habe ich mich für Xpil 3 entschieden. Ich habe heute, als ich gesagt habe, ich rede ein bisschen über Xpil 3,
21:04
erstmal so, ja, was ist denn das? Xpil 3 ist das experimentelle Latik 3 Programming Layer. Und ja, es ist vielleicht ein bisschen verrückt, weil Leslie Lampard hat gesagt, I presume this is one of several dozen bugs that would arise over years
21:23
if anyone were foolish enough to try allowing underscores in command names. So, was hat Latik 3 gemacht? Ja, wir machen dann mal eine Namensstruktur mit Unterstrichen. Diesbezüglich ist es erstmal so für den normalen Latiknutzer.
21:44
Was tut ihr denn da? Und genauso fühlt es sich an, so die ersten 100 Seiten. Danach stellt man fest, es ist eigentlich total durchdacht und das Latik 3 Project Team hat sich da echt Gedanken gemacht, wie sie Dinge machen können.
22:02
Es ist nämlich so, dass es eine ganz einfache Namensstruktur gibt, also einfach im Sinne von, wie Latik user sich das denken oder wie Latik Liebhaber sich das denken. Die haben also ein bisschen die eigene Denke. Und dementsprechend gibt es zu jedem Makro ein Modul.
22:21
Modul ist erstmal einfach nur so eine Überkategorie. Ich kennzeichne alles, was ich mache, mit DS vorne dran. Also Makros, die DS spezifisch sind, haben ein DS. Dann kommt unterstrich irgendwas. Nämlich, was ich damit tun will. Also von mir aus DS, title page, DS, picture, DS,
22:46
image with credit, DS, irgendwas. Das gleiche gibt es bei den Variablen. Also zum Beispiel einen Counter kann ich nennen, DS. Ja, nee, funktioniert nicht. Ich hab hier erst den Definitionsbereich und dann das Modul.
23:02
Definitionsbereich heißt in dem Fall, dass ich bei jedem Variablenamen dazuschreibe, ob sie lokal oder global oder konstant ist. Das macht insofern einfacher, dass ich im Nachhinein feststellen kann, kann ich das Ding ändern. Dann hab ich wieder wie oben das Modul, den Namen und einen Datentyp.
23:22
Auf die Argumentspezifikation und den Datentyp muss ich jetzt im Beispiel eingehen. Und zwar, wir müssen leider hier hin. Nein. Okay, die Folie ist auch verloren gegangen. Schön. Ich hab nämlich gestern in einem Anfall von Panik mal kurz
23:42
alles gelöscht und dann heute bei Null angefangen, weil es so viel Spaß macht. Dann disponiere ich jetzt mal kurz um. Wir haben bezüglich der Namensstruktur, Modul, Name und dann die Argumentenspezifikation. Für die Argumentenspezifikation habe ich je Argument einen Buchstaben,
24:05
den ich anhängen kann. Ich zeig's dann gleich im Beispiel, weil ich glaube, das ist einfacher. Aber wenn ich jetzt einen Doppelpunkt in N habe, dann habe ich eben zwei Argumente. Wenn ich drei Zeichen habe, sind es drei. Bei den Variablen ist es ähnlich, nur ich habe keine Argumente,
24:23
sondern eben den Datentyp. Beim Datentyp ist es so, dass ich sehr techspezifische Datentypen habe. Also ich habe Tokenlisten. Tokenlisten sind einfach nur Reihen von Zeichen, die hintereinander geschachtelt sind und dann irgendwas tun. Dann habe ich zum Beispiel Ganzzahlen, Gleichkommazahlen,
24:41
was auch immer, was ich so aus anderen Programmiersprachen auch kenne. Und ich habe dann eine Unterscheidung zwischen Sequencers und Kommalisten. Das ist halt auch so, weil Kommalisten bei tech eine andere Bedeutung haben als irgendwelche beliebigen Folgen. Und je nachdem muss das halt auch eine extra Funktion für Kommalisten geben,
25:00
weil die halt einfach öfter vorkommen. Insgesamt ist es so, dass ich dieses ganze Latig-3-Layer in Latig-2-Epsilon vollkommen benutzen kann. Es ist sogar eine Planung, das jetzt irgendwann mal in den Kernel reinzunehmen. Nachdem das Grundsystem so alt ist wie ich,
25:20
ist das schon ein paar Jahre in Entwicklung. Aber man kann es voll benutzen. Und ich kann die Syntax relativ einfach umschalten, nämlich mit Expel-Syntax on und Expel-Syntax off. Dafür muss ich nur das Expel-3-Paket laden. Klingt so weit ganz einfach. Rest ist dann nur, sich in der Syntax zurechtzufinden.
25:43
Ich wollte dahin. Weil wir hatten uns ja vorhin schon mal angeguckt, wie wir die Seitental gebaut haben. Und da ist es jetzt genau so, dass man sich durchhangeln kann. Also ich sehe jetzt zum Beispiel CS, steht für Control Sequence. New, okay, neue Control Sequence.
26:03
Ist also New Command. So weit kennt man das. Dann kommt dieser komische Doppelpunkt, okay, und dann habe ich hier ein NPN. Die Struktur macht im Endeffekt so etwas wie, ich habe hier einen Token, das ist dieses Add-Zeichen-Dings mit dem Hex. Das ist mein Makroname.
26:21
Das P steht für Parameter. Also übergebe ich Parameter genauso, wie ich sie in Standard-Tech habe. Und dann kommt hier meine Definition. Und das vereinfacht einfach so viel, weil ich Makro direkt ansehen kann, was es tut. Das heißt, wenn ich jetzt in Zukunft irgendwie mal sage,
26:40
ich habe keinen Bock mehr Datenschleuder zu machen, dann erwarte ich von allen anderen, dass sie hingehen und bei jedem Makro sofort wissen, was es tut, und ich nie wieder Doku schreiben muss. Das wäre nämlich echt toll. Andererseits wird es glaube ich noch eine Weile dauern, bis jeder Latik 3 fließend spricht. Aber wer da Interesse dran hat, kann sich gerne bei mir melden. Ich habe da überhaupt keine Probleme,
27:01
jemandem das zu zeigen, damit er mir langfristig Arbeit abnimmt. Der andere Punkt war, wieso wir viel in Latik 3 umgestellt haben, oder wieso ich viel auf Latik 3 umgestellt habe, ist, dass einfach sehr viele Mechanismen deutlich einfacher bedienbar sind. Wir übergeben zum Beispiel meistens Daten über Keywall-Strukturen.
27:24
Also ich habe hier zum Beispiel einmal den Herausgeber. Den kennen wir hoffentlich alle. Und dann habe ich hier einmal meine Redaktionskollegen mit aufgeführt. An der Stelle mal vielen Dank fürs Aushalten und Mitarbeiten und Versuchskaninchen spielen für einiges.
27:43
Und so kann man dann einfach Daten auf eine andere Struktur übergeben, dass ich nicht immer sagen muss Backslash Herausgeber, Backslash Redaktion. Und ich kann einfach Daten deutlich dynamischer übergeben. In dem Fall wird zum Beispiel dann einfach über diese Liste iteriert und TeX guckt einfach, wo ist denn der letzte?
28:02
Dann kann ich einen Unter-Zwischen einfügen. Dann kommt quasi erster Redakteur, zweiter Redakteur, dritter Redakteur und letzter Redakteur oder so. Da ich jetzt ein paar Sachen gezeigt habe
28:21
und euch auch noch Möglichkeiten geben will, einfach ein paar Fragen zu stellen, noch kurz ein kleiner Aufruf. Wir suchen für die Datenschleuder immer ein paar Beiträge. Das heißt, falls ihr irgendwie Eindrücke von hier mitgenommen habt und jetzt die Idee habt, die euch brennt und denkt, da müsste man mal was draus machen. Oder aber auch andersrum.
28:40
Also ihr habt so eine Sache, ich wollte schon immer mal darüber mehr wissen. Und da gibt es so einen Menschen, den könnten die mal fragen. Oder vielleicht wisst ihr auch gar niemanden, der das wissen könnte. Dann können auch wir uns darum kümmern, da mal zu fragen. Also ich nicht, aber die anderen. Dann würden wir uns freuen, wenn ihr irgendwas an Rückmeldungen
29:00
oder Ideen oder was auch immer an diese E-Mail-Adresse hier schickt. Und dann langfristig hoffen wir ja, dass daraus zweimal im Jahr eine Datenschleuder wird. Aber das wird natürlich nur funktionieren, wenn ihr mithält.
29:22
Ich bin jetzt damit im Endeffekt durch und würde euch somit noch die Möglichkeit geben, Fragen zu stellen. Ansonsten würde ich jetzt noch ein bisschen was zum Veröffentlichungsmechanismus sagen. Je nachdem, wie es ist. Okay, gut. Also ich hatte nämlich eigentlich geplant, das Ganze heute Abend zu releasen.
29:43
Was leider aufgrund von Panik und ich werfe mal den Trog über den Haufen und so nicht so ganz funktioniert hat. Aber ich will auf jeden Fall die Grundidee, die die drei Schaffer der Schleuder Parkour 01 bzw. für mich ja 1.0 hatten, weiterverfolgen.
30:00
Die Grundidee ist nämlich, wir wollen, dass der Chaos Computer Club einen Magazin hat, was möglichst open source ist. Also, dass jeder die Mechanismen, die wir dafür entwickeln hatten, nutzen können. Und die Grundidee ist natürlich, dass man schaut, wie können wir das möglichst einfach machen.
30:22
Das heißt, wir werden mit dem Release zusammen ein Paket draus geben, was potenziellen Autoren und damit euch allen die Möglichkeit gibt, einfach mal einen Artikel zu bauen. Das Ding steht sogar schon, das könnte ich jetzt direkt rausgeben. Wer das haben will, soll sich melden. Das ist nämlich einfach nur ein Artikel mit allen Elementen.
30:44
Ihr könnt dann alles mit Inhalt füllen und auf der Basis würden wir dann daraus eine Schleuder bauen. Die ganzen Continuous-Systeme, die im Endeffekt dran gekoppelt sind, also wie fällt dann eine EPUB und wie fällt eine HTML raus,
31:01
die werden wahrscheinlich noch eine Zeit lang brauchen, bis sie komplett dokumentiert sind, aber ihr könnt sie so lange natürlich schon verwenden. Das heißt, falls irgendjemand Interesse daran hat, Dinge auszuprobieren oder zu sagen, hey, ich würde gerne mal entweder bei der Datenschleuder technisch was machen oder selber habe ich da irgendwie eine Zeitgriff, die das vielleicht nutzen könnte, dann sind wir diesbezüglich auch echt gern hilfreich.
31:25
Sofern ist halt der sehr knappe Zeitplan bei der Datenschleuder, der ungefähr so vier Wochen nach jeder Deadline dann mal läuft. Vorsicht, aber prinzipiell wollen wir das natürlich auch, dass das genutzt wird.
31:42
Ich weiß gerade nicht mehr, was ich sonst noch erzählen soll. Nee, ist ja gut, wenn du fertig bist, dann hol dir doch erstmal deinen Applaus ab. Ja, vielen herzlichen Dank für diese Einblicke in die Redaktionswelt
32:00
und vor allem in den technischen Teil von der Datenschleuder. Da wir ja ein kleines bisschen später angefangen haben, haben wir jetzt noch locker zehn Minuten oder ein bisschen mehr für Fragen und Antworten. Wenn ihr Fragen habt, wir haben einen Mikrofonengel, der steht da, ist quasi ein lebender Mikrofonständer, der winkt gerade mit seinem Mikrofon. Wenn ihr was wissen wollt, dann bewegt euch bitte gerne zu ihm hin
32:20
und fragt in das Mikrofon hinein. Und seid nicht schüchtern. Finde ich auch. Ihr interessiert euch ja für das Thema, deswegen seid ihr hergekommen. Vielleicht wollt ihr irgendwas noch ein bisschen genauer wissen. Es bewegt sich jemand. Ich freue mich sehr. Vielen herzlichen Dank.
32:41
Die erste Frage ist auf dem Weg zum Mikrofon. Ja, das Mikro müsste noch hochgezogen werden.
33:03
Sophie, kannst du dich mal kümmern? Danke. So, jetzt haben wir hier ein Mikrofon. So, jetzt hört man mich. Okay.
33:22
Also ich habe jetzt gehört mit Registerhaltigkeit. Das hat sich jetzt relativ optimistisch angehört, aber ich weiß selber, wie schwierig das ist mit der Registerhaltigkeit in Tech. Funktioniert das dann? Funktioniert das gut? Funktioniert das sehr gut? Und warum hat es da so lange dafür gebraucht, bis irgendein verrückter CCC-Ableger
33:45
da eine Lösung gefunden hat, die offensichtlich funktioniert? Muss ich die Frage jetzt wiederholen? Nee, die hat er ja ins Mikro bestellt. Deswegen haben es alle gehört. Also erstmal danke für die Frage, weil es echt nervig ist. Das stimmt. Ich glaube nicht, dass es mit den Mechanismen, die ich gemacht habe,
34:01
allgemein für jedes Dokument irgendwie funktioniert. Weil der Ansatz, den ich mache, ist eben, dass ich einzelne Elemente nehme und die in der Höhe und so weiter so eben hinpuzzle, dass das funktioniert. Also wenn ich jetzt nochmal dahin gehe, dann ist es so, dass dieses Bild
34:25
quasi einfach in der Höhe so weit künstlich höher gemacht wird, dass es ins Raster passt. Und das passiert halt für jedes Boxelement. Das heißt, jedes Boxelement hat irgendeine Umgebung oder sowas außen rum. Und ich gehe momentan einfach davon aus, dass im Text nicht auf einmal
34:41
einer dreimal so große Buchstaben verwendet. Wenn das jemand macht, dann macht das ganze System kaputt. Aber für die Datenschleuder funktioniert das sehr, sehr gut. Und mittlerweile auch so, dass wir für die 100 keine manuellen Korrekturen mehr gebraucht haben. In der 99 waren noch ein paar drin. Aber mittlerweile ist das so echt ordentlich. Und man kann auch immer schön dieses Raster drüberlegen zum Prüfen.
35:03
Also du kannst ja dann gerne, wenn ich mit dem Melis raus bin, das Ding angucken und immer schön Raster drüberlegen und gucken, ob es wirklich funktioniert. Und gegebenenfalls dich melden, dann schauen wir mal weiter, was wir da noch machen können. Und ist das dann auch bei den Überschriften, wenn man es da gerade sieht, wo die Schriftgröße anders ist, wo ja die größeren Buchstaben
35:20
tatsächlich drin sind, funktioniert das da auch? Genau, also der nimmt hier tatsächlich dann die Box der Überschrift, so, macht dann, dass der Abstand nach unten so ist, wie er normal ist und ergänzt dann die Box von oben, dass es reinpasst. Erst der Gedanke war, die hier auch wirklich aufs Raster zu legen. Aber wenn ich die hier oben hinlege, dann ist der Abstand da drunter
35:42
halt schon echt riesig. Und deswegen habe ich mich dafür entschieden, dass eben der Abstand hier unten fix bleibt und der zusätzliche eben oben drüber eingefügt wird. Aber es funktioniert zum Beispiel auch in der Kombi aus Bild und Text und Überschrift. Das funktioniert auch. Ist deine Frage damit beantwortet? Sehr gut.
36:00
Gibt es weitere Fragen aus dem Publikum? Ja, eine weitere Frage bewegt sich zum Mikrofon. Hat man dann mal überlegt, die Registerhaltigkeit einfach zu skippen? Also warum, woher kam die Anforderung? Ich habe keine Ahnung. Tatsächlich kam so zwei Wochen vor dem Termin, mach mal bitte. Und irgendwie waren die davon überzeugt, dass ich das hinkriege.
36:22
Ich habe ehrlich gesagt, also nein, das ist natürlich schon schöner. Es sieht schöner aus und es sieht auch insgesamt und es hat einfach einen anderen Blick. Und seitdem ich, ich habe auch schon vor der Schleuder tatsächlich viel drauf geachtet und mir ist bei meiner ersten Schleuder auch aufgefallen, dass es eben nicht so ist. Ich hatte nur gehofft, dass es den anderen auch nicht aufgefallen ist.
36:41
Aber dafür hast du jetzt viel Weißanteil halt oben und über der Überschrift, oder? Das hat ja Sinn, dass es eben nicht ist, oder? Nein, also hier ist natürlich die Kombi auch aus Bild und Überschrift. Man könnte jetzt natürlich die Überschriftgrößen allgemein so anpassen, um den Weißraum wieder zu reduzieren. Aber die Vorgabe war Raster und Raster tut.
37:03
Also es ist immer so eine Abwägungssache. Und es ist mit dem Raster natürlich auch eine Abwägungssache zu gucken, will ich jetzt das Raster haben oder will ich, dass die Sachen in sich einfach stimmig sind? Oder will ich halt, dass es übers Raster läuft? Das sind zwei Sachen, die ich gegeneinander abwägen muss. Und in dem Fall habe ich die Anforderung gekriegt, Raster.
37:20
Und dann habe ich es halt gemacht. Also es ist oftmals so, wenn die dann kommen und irgendeine Idee haben, dann sage ich, ja, können wir schon machen, frisst halt Zeit. Aber wenn ihr das wollt, dann... Ist da noch eine Nachfrage? Bitte schön. Keine Nachfrage, mir ist noch eine andere gerade eingefallen. Bei der EPUB-Generierung, was passiert mit den ganzen Tech-Macros?
37:41
Also wenn ich jetzt Backslash LaTeX schreibe, oder? Ey, das wird rüberportiert. Das sieht sogar relativ... Ich weiß nicht, ob ich das kurz mal hergesucht kriege. Also das hängt natürlich tatsächlich vom Viewer ab, aber es wird halt so gebaut, wie es in HTML gebaut wird.
38:04
Wissen wir mal, ob wir eine da haben. Und ob der jetzt... Die Null, da ist, glaube ich, kein LaTeX-Logo drin.
38:21
Ich hatte mal eine Demo, da war eins drin. Ich kann es dir nachher raussuchen und gerne mal zeigen. Das ist überhaupt kein Thema. Und demnächst ist dann die 99 auch online, sobald da jemand Zeit findet, die hochzuladen. Da ist nämlich auch eins drin. Also es hängt ein bisschen vom Viewer, aber man kann es über CSS dann einfach so hinschieben, dass das tut.
38:44
Und dann halt mit einem Ersatztext, dass man hinterher sagen kann, dass es LaTeX ist. Super, vielen Dank. Gibt es weitere Fragen? Habt ihr noch Nachfragen zu diesem Talk, zu irgendwelchen Tech-Elementen? Wollt ihr über E-Pub schimpfen? Wollt ihr euch als Testerinnen und Tester melden?
39:03
Ich sehe schon, eure Fragen sind abschließend erörtert und beantwortet worden. Dann bitte ich euch nochmal um einen ganz herzlichen Applaus für Marei. Vielen herzlichen Dank für diesen Talk.