Heute berichtet Spiegel Online Netzwelt mal wieder über Netbooks. Die kleinen Freudenbringer seien leistungsschwach, aber trotzdem beliebt. Denn:
„Die Standard-Konfiguration bestand aus einem 1,6-GHz-Prozessor, einer 160-GB-Festplatte, einem Gigabyte Arbeitsspeicher und Windows XP. Abstriche musste man vor allem bei der Grafikleistung machen. Weder für aufwendige Spiele noch für Filme taugten die Leichtgewichte wirklich.“
Ich selbst, stolzer Besitzer eines EEE-PC 1000H, habe mittlerweile 2 GB RAM und lasse Windows 7 Home Premium erfolgreich laufen (oder besser: „traben“. Und übrigens: Der Akku hält mit Windows 7 noch ein Weilchen länger :-). Und Filme hab ich auf langen Zugfahrten auch schon geschaut. Aber sind wir doch mal ehrlich: Der Reiz eines Netbooks ist doch gerade seine Kompaktheit und der Fähigkeit, trotzdem für Aufgaben wie Internet oder Office gut geigent zu sein. Wer will unterwegs schon den neuesten 3D Shooter am Netbook zocken? Also wenn ich im Zug unterwegs bin sehe ich viele Notebook- oder Netbooknutzer, von denen daddelt niemand. Will man ja auch nicht.
Aber trotzdem: Laut Spiegel Online sind 22 Prozent aller in Deutschland verkauften Computer Netbooks. Und es ist sogar noch Besserung in Sicht. Die neuen Netbooks haben größere Displays (11,6 Zoll, d.h. dann 1366 x 768 Pixel statt der 10-Zoll-üblichen 1024 x 600 Pixel, die das Display darstellt!), mehr Speicher und eine schnellere CPU. Leider kostet der Spaß dann auch ein bißchen mehr – die Preise reichen bei ca. 500 Euro dann locker an die von vollwertigen Laptops heran. Als Beispiele sind hier das MSI Wind U230 oder das Samsung N510 (2. Link, 3. Link) zu nennen.
Also: Die Entwicklung läuft weiter und mein nächstes Netbook wird dann sicher so ein knapp 12 Zoll großes Display haben. Heimlich träume ich ja sowieso von einem Apple Netbook (Spiegel Online berichtete).
Als ich Umberto Ecos „Das foucaultsche Pendel“ das zweite Mal gelesen habe, habe ich ein paar schöne Zitate rausgeschrieben:
… niemand entgeht der Offenbarung des Identischen, wenn er sich einbildet, dem Differenten begegnen zu können.
S. 19
„Wer in dem Rosengarten der Philosophen einzutreten versucht, ohne den Schlüssel zu haben, ist wie ein Mann, der ohne Füße gehen will.“ – Michael Maier
S. 39
Ich habe mich von einer Passion des Geistes verführen lassen. Das ist Gläubigkeit.
S. 61
In der Welt gibt es die Idioten, die Dämlichen, die Dummen und die Irren.
S. 77
Verboten kann man entnehmen, was die Leute gewöhnlich tun. Man kann daraus ein Bild des Alltagslebens gewinnen.
S. 104
Die offizielle Geschichte ist die von Siegern geschriebene.
S. 149
Der Große Vorsitzende Mao lehrt, dass die Revolutionäre sich im Volk bewegen müssen wie die Fische im Wasser.
S. 150
In Verlagen fließt aller Schwachsinn der Welt zusammen. Aber da im Schwachsinn der Welt die Weisheit des Höchsten aufblitzt, betrachtet der Weise den Schwachsinnigen mit Demut.
S. 178
Zusammenhänge gibt es immer, man muss sie nur finden.
S. 265
Verkleiden wir uns als Blüten, und die Bienen werden schon kommen.
S. 309
Für jedes komplexe Problem gibt es eine einfache Lösung, und die ist die falsche.
S. 371
Die erste Pflicht des Infiltrierten ist, diejenigen als Infiltrierte anzuklagen, bei denen er sich infiltriert hat.
S. 579
Ich war ja nie so der große Adventure-Fan, habe zwar Indiana Jones, Monkey Island und ein paar andere LucasArts-Adventures gespielt, aber eins hat es mir doch sehr angetan: Baphomets Fluch (Broken Sword):
Auch der Nachfolger Baphomets Fluch 2 war klasse:
Von Baphomets Fluch 2.5 wusste ich schon länger, habe es aber vorgestern erst runtergeladen und sofort ausprobiert.
Das Spiel entstand als Fanprojekt (mindFactory) und aus Protest gegen die Teile III und IV der Reihe, die in neumodischer 3D-Grafik daherkamen. Wie die Versionsnummer schon erkennen lässt, folgt es direkt dem zweiten Teil der Serie als inoffizieller Nachfolger. Das Spiel gibt es seit Ende September 2008. Besonders hervorzuheben ist, dass teilweise die Originalsprecher für das Projekt gewonnen werden konnten.
Die Story (Zitat von der offiziellen Website des Spiels):
George Stobbart trifft das Schicksal in den letzten Monaten sehr hart. Erst muss er Nico wegen einer wichtigen Auslandsreise gen USA für ein Jahr verlassen, dann stirbt sein geliebter Großvater an den Folgen eines Tumors. Doch damit nicht genug. Als George Post aus Frankreich erhält, ahnt er nichts Gutes. Der Absender: Nicole Collard, Paris, Frankreich. Seine Vorahnung sollte sich in einer grausigen Gewissheit bestätigen: Nico ist tot! „Erst mein Großvater, jetzt Nico?“, denkt sich unser Held und nimmt das nächste Flugzeug nach Paris.
Bei seiner Ankunft: Regen, stürmischer Wind, so als hätte Petrus die passende Antwort auf die Situation Georges. In Nicos Aparment der nächste Schock: Nico ist am Leben. Völlig verdutzt erzählt er ihr von dem Telegramm, doch Nico scheint nicht sehr überrascht zu sein. Im Gegenteil, George wird von Nico gebeten, das Apartment zu verlassen. Es ist nichts von Freude zu spüren über das unerwartete Wiedersehen.
Seine Gedanken immer noch sortierend hört George im Café de la Chandelle Verte – dort, wo alles begann – von André Lobineau eine beunruhigende Geschichte über Nico, die in ihm den unerfreulichen Gedanken keimen lässt, dass die Neo-Templer noch immer existieren könnten…
Der Eindruck: Spitzenmäßig! Grafisch lässt sich das Spiel lediglich durch eine verbesserte Auflösung unterscheiden. Ansonsten wurden Personen und Schauplätze mit ähnlicher Detailverliebtheit und Genauigkeit nachgezeichnet.
Die Reise beginnt in Paris und führt unseren Helden George Stobbart zu vielen Altbekannten Orten. Sie geht weiter und führt über York (England), Portugal bis nach China, wo das Finale stattfindet.
Die Rätsel sind ähnlich gestrickt wie bei den Vorgängern und wer an einem verzweifelt, oder wie ich wenig Zeit zum Knobeln hat, dem helfen Komplettlösungen wie auf Adventurespiele.net oder Gamona.de.
Als Verschwörungstheorie bezeichnet man im weitesten Sinne jeden Versuch, ein Ereignis, einen Zustand oder eine Entwicklung durch eine Verschwörung, also durch das zielgerichtete, konspirative Wirken von Personen zu einem illegalen oder illegitimen Zweck, zu erklären. Quelle: Wikipedia
Aber wie schreibt man eigentlich eine erfolgreiche Verschwörungstheorie? Zunächst einmal muss es einen Verschwörungsglauben geben, ein Misstrauen gegen eine bestimmte soziale (z.B. Freimaurer), religiöse (z.B. Katholiken) oder ethnische (z.B. Indianer) Gruppe oder die eigene oder fremde Regierung. Dieser Verschwörungsglaube beinhaltet, dass diese Gruppe geheime Absichten hegt, meist verbrecherischer Art. Je weniger über diese Gruppe bekannt ist, desto besser lassen sich später durch „Beweise“ und „Quellen“ scheinbare Fakten schaffen, dieser Gruppe verschwörerisches Handeln zuzuschreiben. Je besser dieses erdachte und auf „Fakten“ basierende Konstrukt aufgebaut ist, desto glaubwürdiger erscheint es dann der Zielgruppe. Ein solches, in sich dann „stimmige“ und schwer widerlegbares Konstrukt, nennt man dann Verschwörungstheorie.
Als nächstes muss die Grundlage für die Verschwörungstheorie geschaffen werden. Hier wird Unerklärtes gesammelt und Fragen aufgeworfen. „Können Sie sich wirklich vorstellen, dass Menschen je auf dem Mond wahren?“, „Wieso spielte die amerikanische Regierung den seltsamen Metallfund von Rosswell so herunter?“, „Irgendwie kenne ich niemanden, der je in Bielefeld war.“ Erklärungen zu bestimmten Vorgängen können als zu einfach abgetan werden.
Es müssen nun Quellen gesucht werden und möglichst unauffällig der eigenen Theorie nach umgedeutet und -gestellt werden. Dabei sollten die Fakten und Erkenntnisse möglichst oft in Frage gestellt werden. Wissenschaftliche Beweise des Gegenteils können bestritten werden und der Gegenseite geziele Täuschung vorgeworfen werden. Diese Quellen werden geschickt ausgewählt und dadurch eine neue Faktenbasis geschaffen, die zu der Verschwörung führt. Falsche Tatsachen kann man durch Zahlenverdrehen und geschicktes Vermischen mit tatsächlich Belegtem gut verstecken. Wichtig ist, dass Fakten oder Halbwahrheiten schwer nachzuvollziehen und -prüfbar sind – Recherchen des zu Überzeugenden sollten schwierig bis unmöglich sein.
Zitate sollten häufig benutzt werden. Zitate überzeugen und machen glaubwürdiger. Beim Fälschen von Zitaten sollte Vorsicht geboten sein, aber aus dem Zusammenhang gerissene Quellen sind sicher eine gute Wahl. Nun sollte noch eine ordentliche Portion Angst vor dem Gegner geschürt werden. Regierungen wirken mächtig und undurchschaubar, religiöse Minderheiten führen seltsame Praktiken und Rituale durch.
Die fertige Verschwörungstheorie ist nun in sich stimmig und schwer widerlegbar. Überzeugend niedergeschrieben oder weitererzählt kann sie nun zum Selbstläufer werden, vor allem in Zeiten des Internets.
„Mit einer falschen Nummer fing es an, mitten in der Nacht läutete das Telefon dreimal, und die Stimme am anderen Ende fragte nach jemandem, der er nicht war.“, beginnt die als Kriminalroman oder Detektivgeschichte getarnte Erzählung um Daniel Quinn. Daniel Quinn, ein einsamer Schriftsteller, der unter dem Pseudonym William Wilson Kriminalgeschichten seines Helden Max Work veröffentlicht, nimmt den Anruf schließlich entgegen und gibt sich als der von der Anruferin verlange Privatdetektiv Paul Auster aus.
„Stadt aus Glas“ spielt mit Zufall und Identitäten und handelt primär von der schweren Identitätskrise des Autors Daniel Quinn. Dieser soll einen Peter Stillmann vor seinem Vater, der vor einiger Zeit aus einer psychiatrischen Klinik entlassen wurde und ebenfalls auf den Namen Peter Stillmann hört, beschützen. Stillmann hatte seinen Sohn, ähnlich wie im Fall Kaspar Hauser, jahrelang eingesperrt, um herauszufinden, ob der Mensch über eine Ursprache verfügt.
„Stadt aus Glas“ spielt natürlich in New York: „Ich bin nach New York gekommen, weil es der verlorenste, der elendste aller Orte ist. Die Zerbrochenheit ist allgegenwärtig, die Unordnung universal. Die zerbrochenen Menschen, die zerbrochenen Dinge, die zerbrochenen Gedanken. Die ganze Stadt ist ein Schrotthaufen.“ In dieser Stadt verliert Quinn sich selbst in seinen Identitäten, die sich zum Schluss völlig auflösen. Tag und Nacht, Zeit und Raum, Vergangenheit, Gegenwart und Zukunft verlieren ihre Bedeutung. Quinn zerbricht selbst in der Zerbrochenheit des Big Apple.
Fazit: „Stadt aus Glas“ von Paul Auster beherrscht das Spiel mit Zufällen, Identitäten und Anspielungen (z.B. auf Don Quijote) perfekt. Ein Buch, das zahlreiche Interpretationsmöglichkeiten zulässt und den Leser bis zum Schluss fesseln kann. Voraussetzung ist nur, dass man sich auf Austers Spiel einlässt.
Auch „Schlagschatten“ handelt von Detektiven und Identitäten. Blue, der bei Brown in die Lehre ging, erhält von White den Auftrag, Black zu beobachten. Dieser tut allerdings nichts weiter, als in seiner Wohnung zu sitzen, zu schreiben, zu lesen um selten sein Quartier zu verlassen, um ein paar Meter zu gehen und Einkäufe zu verrichten.
Blue nähert sich Black sukzessiv und nimmt letztendlich Kontakt mit ihm auf. Beide scheinen sich zu ergänzen und der Lebenssinn der beiden hängt schließlich zwanghaft mit dem des Anderen zusammen. Ohne den jeweils Anderen könnte keiner von beiden mehr selbstständig existieren. Zum Schluss sucht Blue Black in seiner Wohnung auf, schlägt ihn tot und nimmt sich seine Manuskripte. Zurück in seiner Wohnung muss Blue erkennen, dass es sich um seine eigenen Schriften handelt.
Fazit: „Schlagschatten“ stellt den Mittelteil der „New York-Trilogie“ dar und ist gleichzeitig das skurrilste Buch in dem Werk. Auster beschreibt in einer klaren Sprache Sinnsuche und Identitätsfindung von Blue. Dabei entsteht beim Leser ein unheimliches Gefühl im Dunkeln zu tappen, typisch für den hier angewandten kafkaesken Erzählstil. Das Buch endet offen und lässt einen ratlosen Leser zurück, dem es nun offen steht, verschiedenste Interpretationen zu kreieren oder das ganze einfach als verworrenes Spiel mit der Realität auf sich wirken zu lassen.
Das dritte Buch der „New York-Trilogie“ von Paul Auster heißt „Hinter verschlossenen Türen“ und hat mir am besten gefallen. Es handelt von dem Autor Fanshawe, der spurlos verschwindet und von dessen früherem besten Freund, dem Ich-Erzähler, der Fanshawes Frau Sophie nach dessen Verschwinden heiratet, seine Bücher publiziert und sich dann auf die Suche nach dem Verschollenen macht.
„Geschichten geschehen nur denen, die imstande sind, sie zu erzählen, …“. Auster beginnt mit der Beschreibung einer wunderbaren Jugendfreundschaft zwischen Fanshawe und dem Ich-Erzähler. Dieser bekommt, nach dem die Freundschaft längst erloschen ist, einen Brief von Fanshawes hinterbliebenen Frau. Sie erzählt, dass Fanshawe vor einem Jahr plötzlich verschwunden sei, und sie ihn für tot halte. Sie bittet den Erzähler, seinen Nachlass – Fanshawe hat sehr viel geschrieben – zu sichten. Er liest es und wird völlig überrumpelt: „Das Buch bleibt irgendwo im Hirn stecken, und man wird es nicht mehr los.“, „Man kann nicht aufhören, daran zu denken.“ Parallelen zu Kafkas Leben und dessen Nachlassverwalter Max Brod kann man hier ziehen.
Plötzlich erhält der Erzähler einen Brief von Fanshawe: er lebt! Dieser Fakt bringt sein Leben völlig durcheinander, er beginnt Nachforschungen für eine Biographie über Fanshawe anzustellen und schließlich macht er sich auf den Weg, Fanshawe zu finden.
Fazit: Auch „Hinter verschlossenen Türen“ endet wie die „Stadt aus Glas“ und „Schlagschatten“ offen und lässt den Leser allein und verwirrt zurück. Das letzte Werk der „New York-Trilogie“ ist ebenfalls oberflächlich gesehen eine Art Detektivroman, der aber vielschichtig in menschliche Abgründe führt. Charaktere wie Peter Stillmann, Quinn, Henry Dark und Dinge wie das rote Notizbuch, die der Leser schon aus den ersten beiden Büchern der Trilogie kennt, tauchen in „Hinter verschlossenen Türen“ wieder auf. Und nicht zuletzt die zum Schluss benutzte Selbstreflexion von „Stadt aus Glas“ und „Schlagschatten“ machen das Buch zu einem literarischen Genuss.
Gesamtfazit: Nach „Mond über Manhattan“, meinem ersten Auster-Roman, hat mir die „New York-Trilogie“ sehr gut gefallen. Auster beherrscht das Spiel mit Stimmungen, Wahrnehmungen (der Protagonisten und damit auch des Lesers), Identitäten, Biografien, Zufällen, Schicksalen und nicht zuletzt der Umkehrung von Täter- und Opferrolle perfekt. Der Leser wird völlig in den Bann der kafkaesk geschriebenen Geschichten gezogen, um dann, am Ende jeder Geschichte, wie vor einem Abgrund zu stehen, der mit Interpretationen gefüllt werden will.
Zitat von Paul Auster zu seiner „New York-Trilogie“ (übernommen aus Wikipedia): „Jeder Roman der Trilogie handelt von einer exzessiven Leidenschaft. Stadt aus Glas spielt auf Don Quijote an (…): Wo verläuft die Grenze zwischen Wahnsinn und Kreativität? Wo verläuft die Grenze zwischen Wirklichkeit und Fantasie? In Schlagschatten herrscht der Geist von Thoreau (…) die Idee, ein Leben in Einsamkeit zu führen, sich wie ein Mönch auf sich selbst zurückzuziehen – einschließlich der Gefahren, die das mit sich bringt. (…) In Hinter verschlossenen Türen ist übrigens der Name Fanshawe eine direkte Anspielung auf Hawthornes (…) ersten Roman. Er hat ihn in sehr jungen Jahren geschrieben, und kaum war das Buch erschienen, distanzierte er sich innerlich davon…„
Autor: Paul Auster Titel: Die New York-Trilogie: Stadt aus Glas / Schlagschatten / Hinter verschlossenen Türen Verlag: Rowohlt ISBN: 978-3-499-12548-5 Seiten: 374 Preis: 9,95 €
Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. (Quelle: processing.org)
Mehr will ich dazu vorerst gar nicht sagen. Processing macht jedenfalls Spaß – eine Menge Spaß. Processing ist auch die – der Syntax nach C ähnliche – Programmiersprache der Arduino-Umgebung. Es ist eine recht einfach zu erlernende Sprache für Leute, die ihre Entwürfe (Sketches) schnell ausprobieren und sich so z.B. durch Bilder, Animationen oder kurzen Programmen ausdrücken und verwirklichen wollen.
Die hier vorgestellte Einführung richtet sich an Menschen mit wenig (aber vorhandener) Programmiererfahrung. Begriffe wie Variablen oder Schleifen sollten bekannt sein.
1. Download, Installation und Entwicklungsumgebung
Processing kann auf der Processing Homepage runtergeladen werden. Verfügbar ist es im Moment in der Version 1.0.9 für Windows, Linux und Mac OSX.
Zur Installation muss nicht viel gesagt werden. ZIP-Datei laden und entpacken, eine Installation an sich ist nicht notwendig. Einfach die Anwedungsdatei processing.exe starten. Es erscheint die IDE (Integrated Development Environment – Entwicklungsumgebung):
Die Symbole sind auch selbsterklärend. Den (halb-)fertigen Sketch startet man mit dem „Play“-Button, das Quadrat symbolisiert „Stop“, dann gibt es noch „New“, „Open“, „Save“ und „Export“. Zu der Export-Funktion gibt es noch einen Satz zu sagen: Klickt man auf den Button wird eine HTML-Seite mit eingebettetem Java-Applet generiert, das den Sketch enthält.
2. Hallo Welt
line(10,20,30,40); // Eine Linie
Das obligatorische „Hallo Welt“-Programm erstellen wir in Processing mit dem line() Befehl, der eine Linie zeichnet. Diese verläuft von den Koordination (10,20) nach (30,40). Die Koordinate (0,0) ist übrigens links oben.
Auf „Run“ klicken und wenige Millisekunden später erscheint das Programm, dass eine simple Linie zeichnet, auf dem Desktop :-)
// leitet übrigens, wie in vielen anderen Programmiersprachen, einen Kommentar ein. Alles was danach kommt, wird von Processing ignoriert. Multi-Line-Comments werden mit /* eingeleitet und mit */ abgeschlossen.
3. Programmstruktur
In Processing gibt es zwei Hauptfunktionen: setup() und draw(). Der Code in der setup()-Funktion wird beim Starten des Programms ausgeführt (z.B. um Variablen zu initialisieren), der Code in draw() läuft kontinuierlich.
Beispiel:
void setup() {
size(300,300);
}
void draw() {
background(105);
float x = mouseX;
float y = mouseY;
line(x,y,x+40,y-80);
}
Kommentare habe ich mal weggelassen, hier die Erklärung:
In setup() wird mit size() die Bildgröße von 300 mal 300 Pixeln festgesetzt.
Der draw()-Teil läuft kontinuierlich. Hier werden die float-Variablen x und y mit der aktuellen Mauscursorposition geladen. Dann wird die Linie gezeichnet. Bewegt man die Maus, verschiebt sich die Linie. Der Grund, wieso die background()-Farbe immer wieder neugesetzt wird, leuchtet ein, wenn man den Befehl in die setup()-Funktion läd und sich obigen Screenshot vor Augen führt.
4. Die Variablen
In Processing gibt es verschiedene Datentypen, wie: int (Integer), float (Fließkommazahl) oder boolean (true/false).
int[] feld = new int[20] deklariert und kreiert ein Feld (Array) von [0..19].
5. Die Konsole, oder: „Hallo Welt 2″
Im unteren Bereich der Processing-IDE sieht man die Konsole. Hier schreibt man mittels print() oder println() Werte rein, um z.B. nichtgrafische Rückmeldungen vom Programm auszugeben:
6. Weitere Grafikbefehle zum Ausprobieren
point(x, y)
triangle(x1, y1, x2, y2, x3, y3)
quad(x1, y1, x2, y2, x3, y3, x4, y4)
rect(x, y, width, height)
ellipse(x, y, width, height)
bezier(x1, y1, cx1, cy1, cx2, cy2, x2, y2)
7. Formen Eigenschaften geben
fill() setzt die Füllfarbe für Formen, stroke() die Außenlinienfarbe. Ein zweiter Parameter gibt die Transparenz an. smooth() aktiviert Antialiasing, noSmooth deaktiviert es wieder.
8. Rechnen mit Processing
Wie auch in anderen Programmiersprachen gibt es verschiedene Wege Werte zu verändern. +, -, *, /, % (modulo). ++ erhöht die Variable um 1, — verkleinert sie um 1. += addiert einen Wert zu einer Variablen hinzu und weist der Variable dann den neuen Wert zu. Äquivalent dazu -=, *=, /=.
9. Entscheidungen
Will man den Kontrollfluss überprüfen, gibt es folgendes Konstrukt:
if (test) {
code;
}
Beispiel:
int y = 3;
int x = 5;
if (x > y) {
wird erfüllt;
} else {
sonst-Bedingung. Wird hier nicht erfüllt
}
Um Werte zu Vergleichen gibt es Operatoren wie , =, AND, OR, NOT, !.
10. Schleifen
Hier ähnelt Processing C ebenso. Beispiel:
for (int i = 10; i < 100; i += 2) {
tue etwas;
}
11. Hüpfe, Ball!
Mit dem vorhandenen Wissen wollen wir nun etwas experimentieren:
Das ist natürlich längst nicht alles, was Processing bietet. Ich wollte hiermit auch nur kurz eine Einführung und einen kleinen Überblick über einige Möglichkeiten geben. Wer tiefer in die Materia einsteigen will (lohnt allein schon wegen Arduino), dem empfehle ich die Processing Website sowie dieses Buch:
Processing: A Programming Handbook for Visual Designers and Artists
von Casey Reas und Ben Fry
Gebundene Ausgabe: 736 Seiten, gebunden
Verlag: The Mit Press
Sprache: Englisch
ISBN-10: 0262182629
Geschafft: Trotz Arbeitsalltag habe ich die 765 Seiten von Dan Browns „Das verlorene Symbol“ in vier Tagen verschlungen. Vieles erinnert an Browns vorherige Bestseller Illuminati oder Sakrileg: Man rennt mit dem Protagonisten Robert Langdon von Schauplatz zu Schauplatz und von Rätsel zu Rätsel nur so durch das Buch. Kurze Kapitel mit ansteigender Spannungskurve, die dann kurz vor ihrem Höhepunkt und der Auflösung des Teilrätsels zum Kapitelende zu dem nächsten Handlungsstrang führen. Ja, irgendwie wird man davon angefixt und kommt nicht darum herum, weiter und weiter zu lesen.
Um was geht es? Nachdem Langdon in den Vorgängerbüchern noch durch das alte Europa geschickt wird, handelt die gesamte Geschichte des „Verlorenen Symbols“ in der Hauptstadt der mächtigsten Nation der Welt: Washington D.C. Hier wird Langdon von Peter Solomon, bekennendem Freimaurer, zu einem Vortrag eingeladen, den Langdon nie halten wird. Stattdessen findet er Solomons abgetrennte Hand vor, gespickt mit geheimen Symbolen und dem Freimaurerring des 33. Grades. Langdon, Spezialist auf dem Gebiet der Symbolik, taucht nun ein in eine Welt voller Geheimnisse, Symbole und – natürlich – Freimaurern und Bösewichten. Sein dämonischer Widersacher heißt diesmal Mal’akh, dessen Geheimnis Langdon spät – der Leser allerdings etwas früher – erfährt (oder errät ;-). Die ganze Story behandelt lediglich eine Zeitspanne von ca. 10 Stunden.
Brown schafft es definitiv, wenn auch nach exakt dem selben Muster seiner früheren Büchern, den Leser zu fesseln und an sich zu binden. Er verspricht ja auch nichts Geringeres, als die größten Geheimnisse der Welt zu entschlüsseln – die alten Mysterien der Freimaurer und das Wissen um das einzig wahre Wort. Dabei erinnert das ganze Buch an das gute alte Click & Point Adventure, in dem Langdon der Spieler, Mal’akh der Böse, und Katherine Solomon, die hinterher wetzende Frau, die stets an seiner Seite ist, sind. So wird Rätsel um Rätsel geknackt, mit teilweise erstaunlichen Wendungen. Ich habe mir jetzt nicht die Mühe gemacht, alle Anspielungen und Symbole zu ergooglen, aber Brown beherrscht sein Handwerk der Verwirrung und Täuschung des Lesers ganz gut.
Bleibt die Frage: Was kommt als nächstes? Noch so ein „Langdon rennt umher, knackt Rätsel, löst Geheimnisse, doziert Erstaunliches und Unglaubliches, Frau und Bösewicht sind auch dabei und die ganze Welt ist unterwandert von geheimen Mächten“-Buch? Noch so ein Buch, trivial, aber doch so spannend geschrieben, so dass die Seiten nur so fliegen?
Trotz hunderttausendfacher Vorbestellungen, Massen-Hype, Kritik, Verriss oder Lobgesang: Mir hat das Lesen Spaß gemacht, auch wenn ich das Ende zu kitschig und etwas plump fand.
Dan Brown
Das Verlorene Symbol
765 Seiten: Gebunden
Verlag: Lübbe
ISBN: 3785723881
Preis: 26 Euro
Will man (z.B. auf dem eee-pc) die Bootpartition mittels Truecrypt verschlüsseln, gibt es ein Problem: Truecrypt zwingt den Benutzer, eine Rescue-DVD zu erstellen und zu brennen. Da der eee-pc aber keinen Brenner hat, geht das schlecht.
Abhilfe schafft der Parameter /n, den man Truecrypt beim Starten übergeben kann:
Windows 7 steht seit kurzem in den Läden und was will man mehr als das auch auf dem eee-pc zu testen? Und da ich meinem Asus-Rechner vor 3 Monaten einen 2GB RAM Riegel für 14,99 € spendiert habe, sollte das neue System ja auch einigermaßen ordentlich laufen.
Wie kriegt man Windows 7 auf den eee-pc? Man erstellt von der DVD ein Image, z.B. mit ISODisk:
Das erstellte ISO-File muss jetzt noch auf einen mind. 4 GB großen USB Stick geladen werden. Dafür bietet Microsoft netterweise ein fertiges Tool an, das den Stick dann auch sofort bootbar macht:
Nach einigen Minuten Wartezeit befindet sich das DVD ISO auf dem Stick. Von diesem dann den eee-pc booten und den Installationshinweisen folgen. Die Installation dauert auf meinem eee-pc 1000H knapp 30 Minuten.
Bei Conrad habe ich mir einen NTC Heißleiter (TYP M87 = G350 10 K) besorgt (ca. 2 €). Den habe ich in folgende Schaltung gebaut:
In diesem sog. Spannungsteiler lässt sich nun der Widerstand des NTC Heißleiters berechnen:
Der Widerstand des Heißleiters ist also: r2 = ((4.76/val_volt)*10000)-10000;, wenn man annimmt, dass der Widerstand mit der festen Größe genau 10000 Ohm hat. Die 4,76 Volt ist die von mir am Arduino gemessene Spannung, val_volt ist die Spannung, die am analogen Eingang gemessen wird.
Die aktuelle Temperatur des Heißleiters errechnet sich mit folgender Formel:
B ist hier eine Konstante, die man aus dem Datenblatt des Heißleiters entnimmt, bei mir 3480. Der Nennwiderstand meines Heißleiters ist 10000 Ohm bei 25 Grad Celsuis. Beachten sollte man, dass man in der Formel allerdings mit Kelvin rechnen muss (273,15 Kelvin sind 0 Grad Celsius).
Aber weiter mit Arduino: Das Problem ist, dass die Formel den Wert mit dem natürlichen Logarithmus berechnet und diese Funktion in der Arduino-Sprache nicht vorgesehen ist. Also brauchen wir wieder Processing. Ähnlich wie schon bei serielle Lichtspiele mit Grafik lese ich den Spannungswert mit dem Arduino aus, sende ihn in BYTE-Größe an die serielle Schnittstelle und lese den Wert dort mit Processing wieder aus. Leider kommt es dazu zu den ersten Ungenauigkeiten, da ich den Wert vor dem Senden durch 4 Teilen muss. Hier der Code des Arduino Programms:
int potPin = 7;
int val = 0;
float val_volt = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = round(analogRead(potPin)/4);
Serial.print(val, BYTE);
delay(1000);
}
Jede Sekunde wird also die aktuelle Spannung gemessen.
Jetzt lesen wir das ganze in Processing aus und führen unsere Berechnungen durch:
import processing.serial.*;
PrintWriter output;
Serial myPort;
int val;
float val_volt = 0;
float r2, temp = 0;
int s, m, h = 0;
void setup()
{
String portName = Serial.list()[1];
myPort = new Serial(this, portName, 9600);
output = createWriter("temp.txt");
}
void draw()
{
if ( myPort.available() > 0) {
val = myPort.read();
}
val = val * 4;
val_volt = 4.76 / 1023 * val;
r2 = ((4.76/val_volt)*10000)-10000;
temp = (3480*298.15/(3480+(log(r2/10000)*298.15)))-273.15;
delay(300000);
s = second(); m = minute(); h = hour();
output.println(h + ":" + m + ":" + s + "\t" + temp);
output.flush();
}
Hier wird der Spannungswert von der seriellen Schnittstelle gelesen und mit 4 multipliziert (um den Ursprungswert ungefähr wiederzubekommen). Dann wird mit r2 = ((4.76/val_volt)*10000)-10000; der Widerstand des Heißleiters bestimmt. Die oben genannte Formel zur Berechnung der Temperatur findet sich bei temp = (3480*298.15/(3480+(log(r2/10000)*298.15)))-273.15;. Um das ganze zu protokollieren, wird der gemessene Temperaturwert mit Zeitangabe jede fünf Minuten in eine Datei geschrieben.
Fertig! Und dass das alles auch funktioniert, beweist mein Versuch in den gestrigen Abendstunden den Arduino auf meinen Balkon zu stellen und jede fünf Minuten die aktuelle Temperatur zu messen. In eine Datei geschrieben und mit Excel ausgewertet ergibt sich folgende Temperaturkurve:
Ich habe mal ein bißchen mit der Programmiersprache Processing experimentiert. Hier gibt es eine relativ einfach zu bedienende Bibliothek zur Kommunikation mit der seriellen Schnittstelle. Beispiele finden sich in der Processing IDE auch unter File -> Examples -> Libraries -> Serial. Zuerst sollen aber Daten an die serielle Schnittstelle gesendet werden. Das mache ich mit Arduino:
int light_sens_pin = 7;
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(light_sens_pin)/4;
Serial.print(val, BYTE);
delay(100);
}
Der Sketch ist einfach erklärt: Ein Wert wird vom analogen Eingang 7 gelesen und in den Bereich von 0 bis 255 gebracht (teilen durch 4). Jede 100 Millisekunden wird nun der gelesene Wert an die Serielle Schnittstelle gesendet. Der analoge Eingang 7 hängt übrigens an einem lichtempfindlichen Widerstand.
Jetzt Processing starten und ein Programm schreiben, was an der Seriellen Schnittstelle lauscht, den vom Arduino gesendeten Wert ausliest und mittels point() grafisch darstellt:
import processing.serial.*;
Serial myPort;
int val;
int i = 0;
void setup()
{
size(400, 400);
String portName = Serial.list()[1];
myPort = new Serial(this, portName, 9600);
}
void draw()
{
if ( myPort.available() > 0) {
val = myPort.read();
}
println(val);
point(i,val);
i++;
delay(100);
}
Auch dieser Code ist relativ einfach erklärt: Wir lauschen an der seriellen Schnittstelle 1 (bei mir COM 4), erfassen den Wert (den ja Arduino parallel sendet) und erzeugen einen Punkt im Ausgabefenster. Das ganze sieht dann so aus:
Während des Peaks habe eine Lampe langsam in Richtung Lichtsensor gedreht, zum Ende hin habe ich langsam meine Hand über den Sensor geführt.
Heute will ich mal mein Potentiometer mit dem Arduino-Board testen. Dazu setze ich 5 LEDs ins Steckbrett, verkabel alles und schließe das Poti an den Analogeingang an:
int potPin = 5; // Potentiometer am Analog-Input 5
int ledPin09 = 9;
int ledPin10 = 10;
int ledPin11 = 11;
int ledPin12 = 12;
int ledPin13 = 13; // die LEDs an den Digital-Outputs 9-13
int val = 0; // initalisieren
void setup()
{
pinMode(ledPin09, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin13, OUTPUT); // alle LEDs als Ausgabeeinheiten initialisieren
Serial.begin(9600); // die am Poti gemessene Spannung wollen wir auf der Konsole sehen
}
void loop()
{
val = analogRead(potPin); // Wie groß ist die Spannung am Poti
if (val > 60 && val < 180) {
digitalWrite(ledPin09, HIGH); // 9xx war der Max.-Wert, den ich gemessen habe. Deshalb diese Aufteilung
}
if (val > 180 && val < 360) {
digitalWrite(ledPin09, HIGH);
digitalWrite(ledPin10, HIGH);
}
if (val > 360 && val < 540) {
digitalWrite(ledPin09, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin11, HIGH);
}
if (val > 540 && val < 720) {
digitalWrite(ledPin09, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin11, HIGH);
digitalWrite(ledPin12, HIGH);
}
if (val > 720) {
digitalWrite(ledPin09, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin11, HIGH);
digitalWrite(ledPin12, HIGH);
digitalWrite(ledPin13, HIGH);
}
delay(100); // 100ms Buffer
digitalWrite(ledPin09, LOW);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin12, LOW);
digitalWrite(ledPin13, LOW); // LEDs sollen ja auch wieder ausgehen
}