Tom’s „BlackBox“

Was verbirgt sich hinter der Programmierung von Tom? Er präsentiert die Lösung seiner Interpretation eines Readers unseres COMICROOM – Projektes

Tom überraschte mich mit einem Besuch bei mir.

„Andreas, ich möchte Dir gerne etwas zeigen. Passt es gerade?“

 

Es war Mittwochabend. Ich wollte mir gerade mein Abendbrot zubereiten.

„Kein Problem. Komm rein Tom. Hast Du schon was gegessen?“

Hatte er nicht. Es gab selbstgemachte Bouletten, Kartoffeln und frische Mohrrüben. Ein bisschen heiße Butter als Soßenersatz. Dazu öffnete ich eine Flasche Rotwein. Ein chilenischer Merlot. Sehr kräftig.

Smalltalk während des Essens versetzte uns in eine angenehme Stimmung. Wir vermieden beide das Thema zu unserem Projekt COMICROOM - ohne das vorher abgesprochen zu haben. Wir wussten beide, dass jetzt noch nicht der richtige Zeitpunkt für eine ernsthafte Diskussion mit diesem Thema anstand. Wobei ich mich fragte: Was will er mir zeigen?

 

Nach dem Essen nahmen wir unsere Gläser und die Flasche Wein mit in mein Arbeitszimmer.

„Wo ist denn Deine Frau?“

„Die ist mit Freundinnen unterwegs“, meinte ich nur. „Sie wird heute erst spät wieder kommen.“

Er nahm Platz auf dem Sofa, während ich mir meinen BYA-Sessel an den Glastisch heranrückte. Als guter Gastgeber fragte ich ihn: „Geht das in Ordnung?“ und zeigte auf meine Pfeife.

„Klar!“ Tom holte aus seiner Tasche das Notebook. „Wieder der gute Dunhill-Tabak“

„Klar!“ Meinte ich.“ Der gute Tabak, den ein Nichtkenner guten Tabakgeschmacks gern als ‚Stinketabak‘ verunglimpft.“ Natürlich waren der Dialog und mein gekonnt ironisches Augenzwinkern eine reine Formsache unter uns. Schon fast ein Ritual, wenn ich meine Rauchutensilien in seinem Beisein hervorholte.

 

Ich war superneugierig auf das was er mir jetzt präsentieren möchte.

„Ich zeige Dir mal, wie ich mir das mit unseren Comics so vorstelle.“

Endlich! Es ist soweit! - Das waren meine ersten Gedanken. Ich ließ ihn reden, während er sein Notebook aufbaute, einschaltete und sich an seinem Desktop anmeldete… der Publisher wurde von Ihm geöffnet.

„Ich will dir das Prinzip meiner Lösung vorstellen, Andreas. Eine Vielzahl an Comics sind in den von Dir schon sehr ausführlich beschriebenen Ordnerstrukturen gespeichert. Übrigens: Dank an Dich. Das kleine Batchfile ist wirklich sehr hilfreich. Musste es nämlich auch verwenden…“

So so – dachte ich mit einem feinen Lächeln.

 

„Schau mal, Andreas. So sieht das ganze schematisch aus.“ Dazu öffnete er eine Datei namens ‚BlackBox‘, die mir folgende Übersicht zeigte.

Schritt 1: Comics scannen und speichern
Schritt 1: Comics scannen und speichern

„Soweit sind wir ja schon: Comics sind eingescannt und wurden in die Verzeichnisstruktur auf dem Rechner abgelegt.“ Er nahm einen Schluck Wein zu sich und zeigte mit der anderen freien Hand auf den Rechner – da wo ‚Comics Speichern‘ in einer Sprechblase platziert ist.

 

„Jetzt kommt meine Programmierung: Die Blackbox.“ Mit der Maus wanderte er ein Stückchen nach rechts auf den schwarzen Kasten. „Sie wird mit einem Doppelklick aufgerufen. Alle Comics werden aus den Basis-Verzeichnissen einer Konvertierung unterzogen. Ich zeige es Dir am Beispiel der Sammlung von CUBITUS. Es werden Thumbnails erzeugt, neu durchnummeriert und in das jpg-Format gewandelt, sowie in die von Dir erarbeitete optimale Bildschirm-Größe –also 1200x1600 Bildpunkte- gebracht. Dabei werden komplett neue Verzeichnisstrukturen erzeugt und Deine Comicseiten dort hineinkopiert. Dazu wird automatisch eine Navigation erzeugt.“

 

Pause.

Dann sprach ich aus was ich dachte.  „Tom, ich fasse es mal in einem Wort zusammen: HTML-Generator! Du hast einen herkömmlichen HTML-Generator programmiert?“. Ich war überrascht. Aber nicht positiv.

 

„Genau. Aber es ist auch ein bisschen mehr….“ Er erschien mir, trotz meines Vorwurfes, sehr konzentriert als er mir eine zweite Grafik zeigte. Sie beschrieb in wenige Bilder den eben von ihm erwähnten Ablauf.

Schritt 2: Konvertierung von Comicseiten
Schritt 2: Konvertierung von Comicseiten

„Am Schluss hast Du eine generierte INDEX.HTML-Datei. Diese kann nun mit dem Internet Explorer geöffnet werden und erlaubt Dir Dein Comic am Bildschirm zu lesen.“

 

Während er sprach, zog er den Mauszeiger auf die nächste Publisher-Datei. 

 

Schritt 3: Comic im Browser lesen
Schritt 3: Comic im Browser lesen

Wieder eine Pause.

War ich etwas enttäuscht ob seiner Vorstellung? Ja ich war es. Ich wusste nur nicht: Warum eigentlich?

„Ich muss zugeben, dass ich mir doch etwas anderes vorgestellt hatte…“

„So? Was denn?“

„Naja. Irgendwie eine Datenbank. Oder etwas mit Java. Ein kleines EXE-File, dass ich antippe und schon habe ich meine komplette Comicsammlung auf dem Schirm.“ Ich konnte meine Enttäuschung nur sehr schwer verbergen. „Einen HTML-Generator hatte ich jedenfalls nicht erwartet.“

„Es schien mir das sinnvollste.“ Erwiderte Tom selbstsicher. „Daher brauchte ich auch die definierte Verzeichnisstruktur abgelegter Comicseiten. Erst aus dieser disziplinierten Ablage kann dann mein Algorithmus die notwendige Webstruktur errechnen.“

„Habe ich verstanden, Tom. Umso gründlicher die Vorarbeit, desto weniger Programmieraufwand.“ Ich glaube, dass ist ein Naturgesetz. „Dennoch hatte ich etwas anderes hinter Deiner Programmierung vermutet.“

 

Wir diskutierten noch lange über den eingeschlagenen Weg von Tom. Ist es wirklich der richtige? Der Richtige, um mit einem herkömmlichen HTML-Generator, unsere gescannten Comics im Browser abzubilden?

Seine Argumentation war nachvollziehbar. Es geht letztendlich nur darum, mit verhältnismäßig einfachen Mitteln, einen von uns erwarteten Output zu liefern: Ein virtuelles Abbild unserer Regale in einem Browser. Er nannte es vor Monaten: Ein Comic-Archiv.

 

Auch ist nicht von der Hand zu weisen, dass die damals am 1. Dezember 2013 (siehe Blog von diesem Datum) von uns gemeinsam getroffenen Bedingungen alle erfüllt sind.

Selbst auf alten ausrangierten PC’s wäre seiner Beschreibung nach, das  Funktionieren gewährleistet. Ob nun Windows 8.x, 7, Vista, XP, 2000 … ja selbst auf NT, Millenium, 98 und 95 - bis hin zu Windows 3.x!! Datenbanken und entsprechende Front-Ends müssten viel zu Betriebssystemspezifisch programmiert werden. Und bei der Verwendung von Programmiersprachen aus dem VisualStudio ohnehin. Ältere Rechner brauchen eigentlich nur genügend große Speicher. Das könnte einzig ein Problem sein, da betagtere Systeme mit TByte-Festplatten nicht umgehen können. Rechnergeschwindigkeiten und alte Grafikkarten (die die geforderte Auflösung nicht dargestellt bekommen) könnten noch Hürden sein. Das kann man ja mal überprüfen.

HTML und auch Javascript sind Standards. Sehr ‚alte‘ Standards in der IT. Aber auch zukunftssicher. Halt immer und überall einsetzbar. Weitestgehend kompatibel über Rechner- und Betreibssystemplattformen hinweg. Selbst über IT-Generationen?

 

Andererseits: Ich habe noch einen alten XP-Rechner im Keller. Ich bräuchte den nicht zu entsorgen, sondern er könnte einen neuen Nutzen bekommen… Einen für unser Projekt. Wäre ein Versuch wert…

„Was ist mit Sicherheit der alten Rechner? XP wird doch im April 2014 abgekündigt. Ist das nicht viel zu unsicher?“

 

„Eigentlich nicht wirklich, Andreas.“ Tom merkte mir an, dass ich seiner Lösung immer mehr Sympathien entgegenbrachte. „Die Sicherheit bezieht sich auf Rechner, die mit dem Internet verbunden sind. Oder die sehr häufig Daten von unbekannten Quellen erhalten… das haben wir hier nicht.“

Ein fragender Blick von mir hatte genügt, um Ihn zum Weiterreden zu ermuntern.

„Wir haben hier keine Server-Client-Architektur. Hier gibt es keinen zentralen Server im Internet, auf den unsere Rechner zugreifen müssten. Es geht ausschließlich um das Erzeugen von lokalen Webseiten! Webseiten die auf demselben Rechner erzeugt, gespeichert und abgerufen werden. Der PC benötigt somit keine Verbindung zum Internet. Dies impliziert: Sicherheit sollte bei unserem Projekt kein Thema sein!“

 

Im Grunde hatte er schon Recht. Warum etwas komplett Neues erschaffen? Er hatte alle Möglichkeiten abgewogen und sich für etwas sehr ‚einfaches‘ entschieden. Muss es denn deshalb schlecht sein? Und überhaupt: Wie simpel ist denn seine Lösung mit einem HTML-Generator wirklich?

„Wie wäre es mit einer Vorführung?“ Fragte ich Tom geradeheraus. Wollte er wirklich heute gehen, ohne mir etwas zu zeigen?

 

Als meine Frau in den frühen Morgenstunden zurückkam, verabschiedete sich Tom und ging…

 

Ein 'Roir' aus dem Jahre 1993
Ein 'Roir' aus dem Jahre 1993
Was bisher geschah...
Was bisher geschah...

Youtube-Videos

00 Opening COMICROOM
00 Opening COMICROOM
01 Monitor & Schwenkarm
01 Monitor & Schwenkarm
02 Ordnung muss sein
02 Ordnung muss sein
03 Armlehne & Knetmasse
03 Armlehne & Knetmasse
04 Der COMICROOMReader
04 Der COMICROOMReader
05 Upgrade
05 Upgrade
06 Machbarkeitsstudie
06 Machbarkeitsstudie
07 Unboxing ZBOX
07 Unboxing ZBOX
08 Der PFEILER
08 Der PFEILER
09 Die PLATTFORM
09 Die PLATTFORM
10 Die Hochzeit
10 Die Hochzeit
11 Bookmark Manager
11 Bookmark Manager
12 Starting COMICROOM
12 Starting COMICROOM
13 Das eRegal
13 Das eRegal
14 Duell der Armlehneablagen
14 Duell der Armlehneablagen
15 Nähen & Schneiden
15 Nähen & Schneiden
16 Dachboden-Begehung
16 Dachboden-Begehung
17 Erster Eindruck
17 Erster Eindruck