Kategorien
Interaktion Programmieren Projekte Studium Typografie Webdesign

Coiffeur 2 — Making you even prettier now

Ich habe Coiffeur erweitert, ein computerlinguistisches Tool, um Texte zu analysieren. Das Originalprogramm konnte bestimmen, wie oft im Text welches Wort vorkommt. Daraus hat es dann den Type-Token-Quotienten errechnet. Klingt erstmal nicht besonders beeindruckend. Aber das coole an dem Programm ist, dass es mit Englisch sehr gut zurecht kommt. Dort gibt es Konstrukte wie I’m für I am. Und Coiffeur hat das richtig gezählt, das Wort wird wie 2 Worte behandelt und für jedes Teilwort werden entsprechend die Zähler erhöht. Dabei wird die Kontraktion ‚m aufgelöst und der Wert für am erhöht.

Das neue Programm kann alles, was Coiffeur schon konnte. Und natürlich kann es noch viel mehr.
Extra für Gedichte und andere kurze Texte kann der Benutzer einfache Wortlisten erstellen, wie Nomen (Haus, Frau, Mann). Diese werden dann auf den Text angewendet, so bekommt jedes Vorkommen von Haus, Frau oder Mann die Klasse Nomen in der Ausgabe, etwa so:

<span class="Nomen">Haus</span>

Erfolge

Das Ergebnis kann sich durchaus sehen lassen. Ich habe die Todesfuge von Paul Celan analysiert, ein Gedicht, das mir sehr gefällt und sich gut für eine vielschichtige visuelle Präsentation eignet. In der Präsentation kann man viel machen, es läuft alles rund, sieht schön bunt aus und bietet viele Infos.

Ich habe einige neue CSS-Schmankerl ausprobiert. Die wichtigste ist sicherlich die Einbindung von Fonts auf der Webseite mit der @font-face-Regel. Da konnte ich Axel testen, eine eng laufende Schrift und nicht alltägliche Schrift, bei der der Einsatz für Webseiten ausdrücklich erlaubt ist. Dadurch, dass sie eng läuft, konnte ich die Schriftgröße für gute Lesbarkeit relativ groß einstellen.

Wenn das Browserfenster zu klein ist, gibt es Zeilenumbrüche, die ein Gedicht schnell durcheinander bringen können. Dann weiß man nicht, ob eine neue Zeile beginnt oder die letzte wegen der Breite umgebrochen wurde. Ich habe das Problem dadurch gelöst, dass jede Zeile einen negativen Einzug hat, so steht der Text nach einem Umbruch automatisch weiter rechts als die echten Zeilenanfänge.

In modernen Browsern taucht das Problem der fehlerhaften Zeilenzuordnung möglicherweise gar nicht auf, die Zeilen werden durch CSS Counter automatisch nummeriert. Diese habe ich auf JavaScript Kit kennengelernt. Allerdings unterstützen nicht alle Browser CSS Counter, deshalb ist der Zeileneinzug trotzdem praktisch (siehe Abbildung).

Zeilenumbrüche

Probleme

Probleme gab es mit CSS, ich habe zuerst das Layout nur mit Firefox getestet, es lief natürlich alles gut. Dann hab ich das im Internet Explorer (7) geöffnet und …
Sah schon anders aus. Also gut, alles reparieren, damit auch IE alles sauber zeigt. Klappt. Nur noch einmal kurz im Firefox checken…

So ging es dann eine Zeit lang hin und her, bis ich ein Design hatte, was in beiden Browsern zumindest keine Probleme macht. Und das ist jetzt leider eine Minimallösung geworden. Es sollte möglich sein, dass sich die beiden Styleauswahl-Leisten nebeneinander anordnen, aber irgendein Browser hat dann immer irgendwas blödes gemacht. Und durch dieses Hickhack ist die Stylesheet-Datei recht unordentlich geworden, die könnte man noch aufräumen.
Ich war aber irgendwann einfach zufrieden, dass es zumindest so angezeigt wird und wollte es mein Glück nicht mehr herausfordern.

Auch mit dem Programm gab es Probleme. Coiffeur hatte ich ohne Funktionen geschrieben (die kannte ich damals noch nicht für Perl), es bestand alles aus vielen ineinander verschachtelten Schleifen, was sehr unübersichtlich ist, wenn man nach einem Jahr sich wieder dran setzt. Die wichtigsten Funktionen sind jetzt auch als Funktionen umgesetzt, so konnte ich nach und nach immer besser arbeiten.

Es gab dann teilweise noch Probleme, die ich mir nicht erklären konnte, nachdem ich den Quelltext zig-mal durchgesehen habe. Das war schon zum Schluss des Projekts, wo ich noch Englische Texte mit Kontraktionen getestet habe. Im Originalprogramm hat noch alles funktioniert und klappte jetzt nicht mehr, obwohl ich eigentlich nur die Ausgabe verändert habe und nicht das Zählen von Types oder Tokens.

Es lag wohl daran, dass ich die Dateien in Windows editiert habe und sie dann in einer virtuellen Linux-Maschine laufen ließ. Und weil beide Systeme Zeilenumbrüche anders kodieren, gab es bei Kontraktionen und anderen ausgewählten Wörtern Leerzeichen am Ende des Wortes. Damit konnten sie nicht richtig gezählt werden, „‚m“ ist nicht das gleiche wie „‚m “ (mit Leerzeichen).
Lektion gelernt — ab jetzt wird jeder Input erstmal gereinigt.

Ergebnis

Trotz allem bin ich sehr zufrieden, die Seite sieht gut aus und funktioniert genauso, wie ich es haben wollte.
Auch das neue Coiffeur 2 hat alle Features, die ich einbauen wollte, es kamen im Verlauf der Entwicklung noch einige praktische Funktionen hinzu, wie z.B. dass man in den Wortlisten auch mehrere Wörter angeben kann, z.B. die Metapher spielt mit den Schlangen. Würde man die Worte dafür einzeln eintragen, gäbe es viele False Positives, da die einzelnen Worte in anderen Kontexten auftauchen. So ist es viel komfortabler und einfacher für den Benutzer (war aber nicht ganz trivial für den Programmierer).

Metapher1 (schwarze milch der frühe)
Metapher2 (spielt mit den schlangen)
Metapher3 (Grab in den Lüften, Grab in der Luft, Grab in den Wolken)

Deshalb: guck es dir an, teste das Programm, lies den Text der Arbeit und kommentiere hier!

Kategorien
Fotografie Projekte

Zeitfotografie mit Adam Magyar – Und alle gehen in die selbe Richtung

Urban Flow – Shanghai
Adam Magyar hat eine Kamera gebaut, die jeweils nur einen dünnen vertikalen Streifen fotografiert, dafür aber sehr häufig in der Sekunde. Und wenn man diese Bilder aneinanderreiht, bekommt man eine surrealistische Fototapete, auf der nur Bewegungen festgehalten sind. Statische Objekte werden auf den Bildern zu horizontalen Streifen, weil die Kamera dort jeweils nur das gleiche filmt.
Er setzt diese Technik in Städten ein und nennt die Bilder deshalb Urban Flow.

Das besondere an den Bildern ist aber, dass die Menschen dort immer nur in eine Richtung gehen, unabhängig von ihrer eigentlichen Richtung. Das liegt daran, dass die Menschen immer nach vorne gehen und deshalb immer mit dem Gesicht zuerst in den dünnen Kamerastreifen kommen. Die Kamera filmt also immer Nase – Auge – Ohr – Hinterkopf und gibt es dementsprechend aus.

Dadurch bekommen diese Bilder einen einerseits weltfernen, andererseits einen religiösen Touch, die Menschen gehen einem unbekannten Ziel entgegen, auch die Fahrzeuge sind in die selbe Richtung unterwegs.

Auch ich hab damals mit Zeitfotografie experimentiert. Aber während Adam sehr schmale Bildstreifen benutzt, um detaillierte Fotos von einem dünnen Raumschlitz zu erzeugen, wo nur die Bewegung sichtbar ist, versuche ich einen ganzen Tag ins Bild zu bekommen und nutze dazu die statische Landschaft, bewusst ohne schnell bewegliche Objekte.

24 Stunden, Mein Ansatz zur Zeitfotografie

In Adams Bildern gibt es eine relative Zeit, unter jedem Foto ist die Dauer der Belichtung vermerkt, sodass die ersten Menschen einige Minuten vor den letzten ins Bild kommen. Mir ging es darum, den Tag — in 288 5-Minuten-Segmente aufgeteilt — komplett zu erfassen, so dass man recht genau sagen kann, wann es hell oder dunkel wurde, wann die Laternen angingen und wie der Himmel um 12 Uhr Mittags war. Hilft alles nichts, bin trotzdem absolut neidisch auf die technischen und kreativen Fähigkeiten des Herrn Magyar.

Auf Adam aufmerksam geworden bin ich durch das lens culture Weblog. Die Erlaubnis zur Benutzung des Screenshots von http://www.magyaradam.com/ kläre ich gerade.
Na das nenne ich mal nett: knapp eine Stunde später bekam ich schon die freundliche Antwort von Adam. Als Anhang hat er gleich ein großes Bild mitgeschickt, das ich gerne hinzufüge. Dankeschön! Das Internet kann manchmal richtig cool sein!

urban flow, Ausschnitt 1 von 4

urban flow, Ausschnitt 2 von 4

urban flow, Ausschnitt 3 von 4

urban flow, Ausschnitt 4 von 4