LUG-Kassel Logo
O'Reilly book review
Inhalt
- Startseite
- Aktuelles
- Stammtisch
- Veranstaltungen
- O'Reilly book review
- Linux an Kasseler Schulen
- Was ist Linux?
- Links
- Kontakt

Powered by:
Netcom Kassel
Die LUG Kassel ist registrierte User Group bei O'Reilly. An dieser Stelle wollen wir nun die reviews der uns von O'Reilly kostenlos zur Verfügung gestellten Bücher veröffentlichen:

Das Buch zum gut gestalteten Fotobuch, 2013 (neu)
Couch DB - Kurz & gut, 2011
The DAM Book, 2nd Edition, 2010
Dein Gehirn - Das fehlende Handbuch, 2009
The Ultimate CSS Reference, 2008
HTML mit CSS und XHTML von Kopf bis Fuß, 2008
Internet Telefonie mit Asterisk, 2007
Einführung in die bash-Shell, 2006
Netzwerksicherheits Hacks, 2005
Secure Programming Cookbook for C and C++, 2005
Secure Coding: Principles and Practices, 2005
Managing Security with Snort and IDS Tools, 2005
Programming Perl, 3rd Edition, 2004
XML Schema, 2004

Das Buch zum gut gestalteten Fotobuch

cover Autoren: Eva Ruhland, Michael Schmithäuser
Publisher: O'Reilly Media
ISBN: 978-3-86899-895-5
Preis: € 19.90 Print; € 16.00 eBook
Sprache: Deutsch
Mehr Informationen: Das Buch zum gut gestalteten Fotobuch - O'Reilly.de

Thema: Das Buch eignet sich besonders gut für Leser, die zuvor noch nie vorher ein Fotobuch gestaltet haben. In den ersten Kapiteln wird, am Beispiel der CEWE Software, Schritt-für-Schritt die Erstellung eines Fotobuchs erklärt. Dabei werden die einzelnen Schritte durch aussagekräftige Bilder illustriert, so daß hier kaum Fragen offen bleiben dürften. Der technische Teil reicht vom Herunterladen der Software über das Layout des Buches bis hin zur Bestellung. Für mich, die als "alter Hase" schon mehrere Fotobücher erstellt hat, boten die ersten Seiten wenig Neues, aber ein paar Tricks und Kniffe konnte ich mir dennoch abschauen, z.B. die Auswahl eines Passepartouts oder das Einfärben der Bilder. Danach wurde es auch für Fortgeschrittene deutlich interessanter, als es um die Seitengestaltung ging: Die Wahl des richtigen Bildausschnitts, Erzeugen von Spannung in der Bildkomposition, die Wahl der passenden Schriftart und Farbe: Einges davon macht man zwar intuitiv, dennoch denke ich, daß durch die guten Beispiele im Buch mein nächtes Fotobuch sicherlich noch um einiges überzeugender und spannender gestaltet sein wird.
Sehr gut gefallen haben mir zudem die Beispiel-Fotobücher, die von Strandurlaub über Baby- und Tierfotos bis hin zu Party- und Hochzeitsfotobüchern reichen. Hier gab es viele Highlights, wie beispielsweise das Übereinanderlegen von Bildern, die Gestaltung von eigenen Hintergründen oder Fotokollagen. Bei so vielen neuen Anregungen möchte man am liebsten gleich selbst mit dem nächsten Fotobuch loslegen.
Nach einer Menge Lob muss ich nun allerdings noch etwas Kritik üben: Das Kapitel über die Erstellung von Fotobüchern auf dem Smartphone fand ich persönlich überflüssig. Man kann es natürlich der Vollständigkeit halber erwähnen, allerdings frage ich mich, ob es tatsächlich Menschen gibt, die ihr Fotobuch über eine App auf dem Smartphone erstellen! Ich kann es mir zumindest nicht vorstellen.

Insgesamt ist es ein sehr hilfreiches Buch und eigentlich ein Must-Have für alle Fotobuchgestalter, die noch keine Profis sind. Allerdings schlägt es preislich mit fast 20 Euro zu Buche, was einen doch zweimal überlegen lässt, bevor man es sich kauft. Für Fotobuch-Neulinge, die sich nicht ewig lang auf eigene Faust mit einem Fotobuch-Programm herumschlagen möchten, ist es jedoch auch zu diesem Preis uneingeschränkt zu empfehlen.

Couch DB - Kurz & gut

cover Autor: Mario Scheliga
Publisher: O'Reilly Media
ISBN: 978-3-89721-559-7
Preis: € 9.90
Sprache: Deutsch
Mehr Informationen: Couch DB - Kurz & gut - O'Reilly.de

Thema: Das für die kurz & gut-Reihe von O'Reilly eher dicke Buch beschreibt in elf Kapiteln die Installation, Konfiguration und Nutzung der CouchDB, einer der bekanntesten NoSQL-Datenbanken. Ein kleine Beispielanwendung rundet das Buch ab.

Für die kurz & gut - Reihe von O'Reilly ist das Buch über CouchDB fast schon ein dicker Wälzer. Scheliga geht das Thema knapp an, aber die klassische Frage: "Wozu brauche ich eine CouchDB anstatt einer relationalen Datenbank?" wird in einem Absatz kurz dargestellt.
Die Installation unter Linux, MacOS und Windows sowie vom Source wird erklärt, ebenso die einfache Kommunikation mit der CouchDB via REST und JSON, denn alle Abfragen gehen über HTTP und die JavaScript Object Notation (JSON). Wer die direkte Kommunikation via REST scheut findet aber auch Wrapper-APIs für die meisten Programmiersprachen, darunter PHP, Java, JavaScript, Python und Ruby.
Ein Kapitel widmet sich ganz der Pflege: anlegen, löschen, auflisten, umbennenen und das unvermeidliche Backup, ergänzt um die Besonderheiten von CouchDB wie Replikation und Komprimierung. Letzeres ist nötig, da CouchDB Veränderungen immer anhängt, so dass die DB wächst.
Ein weiteres Kapitel ist den Dokumenten gewidmet, denn in der CouchDB sind Dokumente das zentrale Thema, denn nicht nur die Daten sind Dokumente, auch die Abfragen und Transformationen werden als (Design-)Dokumente angelegt. Damit kein Missverständnis ensteht: es geht hier nicht um Dokumente als Datei, sondern um einen Datensatz.
Wer relationale Datenbanken kennt, muss hier umdenken, denn die Ergebnisse werden nach dem Map-/Reduce-Verfahren ausgegeben. Auf diese als Views organisierten Abfragen wird sehr detailliert eingegangen, denn sie stellen eine zentrale Technik dar; eher am Rande erfolgt die Kenntnis, dass diese Views immer aktuell sind, denn CouchDB aktualisiert diese Views on-the-Fly, wenn Dokumente bearbeitet werden. Mit Transformationen schliesslich kann das Ergebniss so aufbereitet werden, dass es direkt an den Client gesendet werden kann - damit kann man sich dann, sofern gewünscht, die Middleware sparen.
Bevor das Kapitel mit der Beispielanwendung kommt, wird noch auch die Sicherheit der CouchDB eingegangen, sowie der Validierung von Dokumenten.
Das letzte Kapitel bringt die schon angesprochene Beispielanwendung, welche auch im WWW heruntergeladen werden kann. Diese Beispielanwendung stellt eine eine einfache Todo-Applikation dar, die komplett in der der CouchDB gespeichert wird und ohne Middleware auskommt. Als Basis dient dazu das Tool CouchApp, das ein Skelett für eine Anwendung anlegt. Das interessante an der Anwendung ist, dass sie selbst als Dokument in der CouchDB liegt. Die Beispielanwendung deckt die besprochenen Techniken weitestgehend ab, sofern das auf die Schnelle möglich ist.

Das Buch beschreibt kurz & gut die CouchDB, es setzt auf jeden Fall das Verständnis von Webapplikationen sowie REST, JSON und JavaScript voraus.
Für den Nutzer, der schon relationale Datenbanken kennt und das Problem mit variierenden Daten hat (Stichwort EAV) ist die Anschaffung zu empfehlen.

The DAM Book, 2nd Edition

cover Review: Michael Plate

Autor: Peter Krogh
Publisher: O'Reilly Media
ISBN: 978-0-596-52357-2
Preis: € 48.00
Sprache: Englisch
Mehr Informationen: The DAM Book - O'Reilly.com, The DAM Book - O'Reilly.de

Thema: Um gleich keine falschen Vorstellungen aufkommen zu lassen: Bei diesem Buch geht es nicht um Linux oder Open Source, sondern um Digital-Asset-Management (kurz: DAM). Die im Buch vorgestellten Programme laufen nur unter Windows oder auf dem Mac, dennoch sind 75% des Buches im Prinzip unabhängig vom verwendeten Betriebssystem. Wo möglich ziehe ich als Vergleich z.B. Digikam, Gimp, Krita, LightZone, Pixel oder BibblePro 5 zum Vergleich heran (es gibt eine erstaunliche Anzahl an kommerzieller Fotosoftware für Linux).
Digital Asset Management beschäftigt sich mit der Nutzung, Verwaltung und Archivierung von digitalen Objekten. In diesem Buch geht es um digitale Fotos in einem "digitalen Fotografie Ökosystem".
Das Buch umfasst zwölf Kapitel, die über die Auswahl von Hard- und Software, Strategien zur Benennung der Bilder und Ordner sowie der Metadaten, Archivierung, Migration und immer wieder den Workflow gehen.
Unschwer erkennbar geht es um den "ernsthaften" Umgang mit digitalen Fotos. Krogh berät nicht umsonst die amerikanische Library of Congress. Nicht im Buch genannt, aber sicher für den geneigten Leser interessant ist die ISO 14721, die sicherlich bei vielen Archivierungssystemen Pate steht.
Ernsthaft heißt, dass sich der Fotograf Gedanken um den Umgang mit Bildern macht; es beinhaltet -überspitzt gesagt - nicht die Wahl Gigapixel-Mittelformat-Kamera versus Handyfotografie, sondern die Verwaltung der fotografierten Bilder.
Krogh definiert zunächst mal ein "Digitales Fotografie Ökosystem", in dem alle Komponenten aus Hard- und Software und natürlich das Bild, Dateiformate, Metadaten und der Fotograf ineinander greifen.

Im ersten Kapitel wird zunächst einmal der Sinn von DAM geklärt. Das reicht von Trivialitäten wie "verlieren Sie die Bilder nicht" bis zu knappen Aussagen über Softwareunabhängigkeit, Produktivität, Vermarktung, Lizensierung, Technolgy Watch, Workflow, Lifecycle und Systematisieren (die in den späteren Kapiteln detailliert werden). Die Begriffe werden kurz angeschnitten und erklärt, und wer sich immer schon in einem Berg Pixel verloren sah, bekommt hier einen Grundkurs für die Bildersammlung.

Das zweite Kapitel geht gleich mit dem wichtigsten Grundsatz los: Verändere niemals das Original ! (non-destructive Image Editing).
Sofern man unter Linux mit Raw-Bildern arbeitet, ist das i.A. kein Problem, da Raw-Bilder meistens erst konvertiert werden müssen. Wer jedoch mit JPEGs arbeitet - oder arbeiten muss - sollte aufpassen, wenn er den Speichern-Button drückt: Schnell ist die bearbeitet Version über das Original geschrieben. Bibble und LightZone schreiben grundsätzlich nicht über das Originalbild - hier bemerkt man den professionellen Hintergrund der Programme (bei Digikam ist das Feature angekündigt).
Die nächst höhere Liga heißt PIE (noch ein Akronym: Parametric Image Editing) und beschreibt eine Art Journal über die Änderungen am Bild. Unter Linux tritt einzig Bibble mit dieser Technik an. In der Praxis heißt das, dass Bilder nach der Bearbeitung nicht exportiert werden müssen: Beim Wiederaufruf der Datei zieht Bibble automatisch die gemachten Veränderungen wieder über das Original; das Journal wird dazu in einer eigenen Datei abgelegt.
Das Kapitel führt noch kurz in das Raw-Format, die Bayermatrix und die Anpassung an ein RGB-Modell zur Betrachtung ein. Der Rest handelt vom Problem, PIE mit dem Original zusammen in einer Datei abzulegen, was nicht ohne weiteres möglich ist. Als Ansatz für eine Lösung wird DNG (Digital NeGative) aufgezeigt, ein Format, dass Raw-Bilder herstellerunabhängig speichert mit beliebigen Metadaten.

Das dritte Kapitel beschäftigt sich ausgiebig mit Metadaten. Metadaten sind, einfach ausgedrückt, Daten über Daten. Bilder bringen i.A. eine Menge an Metadaten mit, nämlich solche, die die Kamera abspeichert. Das Kapitel erwähnt noch weitere Typen, die vom Besitzer eingetragen werden und neben Besitz auch Lizenzinformationen (z.B. Creative Commons) enthalten. Am wesentlichsten sind jedoch Metadaten, die vom Fotografen in Form von Schlagworten - selbst erfundene oder solche aus einer Systematik - dem Bild beigegeben werden und das Motiv beschreiben. Erst damit werden die Bilder such- und filterbar. Den Umgang mit Schlagworten unterstützt z.B. auch Digikam. Ebenso wird von Digikam auch die Vergabe von Ratings nach dem bekannten 5-Sterne-Prinzip unterstützt. Es geht weiter mit der Gruppierung von Bildern und einer Einführung in Metadataschemas wie Exif, IPTC und XMP. Zu guter Letzt kommt noch die Ortsbestimmung via GPS dazu (Geotagging). Ein Programm zum Geotaggen ist z.B. die Java-Anwednung "Geotag", die auch Ortsnamen auflösen und in die Bilder schreiben kann.

Das vierte Kapitel beschäftigt sich mit der Organisation der Bilder, vor allem mit der Benennung. Das Erstellen einer Ordnung zur Aufbewahrung der Bilder ist ein wichtiger Punkt. Das wird deutlich, in dem Krogh dieser Thematik 17 Seiten widmet und einen Lifecyle für die Bilder vom Speichermedium der Kamera bis zum Archiv und Backup entwirft - inklusive dem Splitten von Dateien für das Backup auf optische Medien. Wer mit Digikam arbeitet, ist die Albenansicht gewöhnt - das hat mit Kroghs System aber nichts gemein, da er zur Strukturierung Kataloge verwendet. Dies unterstützt unter Linux allerdings nur Bibble. In einem Katalog werden keine Bilder abgelegt, sondern Referenzen auf selbige. Kataloge sind damit wesentlich flexibler als Ordner, da sie an mehreren Stellen Referenzen auf die Bilder enthalten, die in einer Ordnerstruktur kopiert oder zumindest verlinkt werden müssten. Es folgt eine Anleitung, wie man Dateien am besten benannt - konsequenterweise nicht nur für das Originalbild, sondern auch für verschiedene ab geleite Bilder (derivates).

Das fünfte Kapitel geht auf die Hardware ein, auf der man seine Bildersammlung anlegt. Nach der ausführlichen Art und Weise, wie man Bilder ordnet, wird man nicht enttäuscht: Speicher für Arbeitsdateien, Archiv und Backup unter Betrachtung von Geschwindigkeit, Skalierbarkeit, Zuverlässigkeit, Desastersicherheit und Kompatibilität inklusive SPF (Single Point of Failure) auf der logischen Seite. Es folgt die Betrachtung von Medien (Festplatten, SSDs, ATA/IDE, SAS und Fiberchannel (!) und deren Anbindung (USB, Firewire, etc. bei externen Speichern) und deren Kauf (OEM versus Retail) bis hin zu Plattenverbünden via RAID und NAS. Viel Spielraum für Open Source Nutzer, die das alles günstiger auch mit Linux selbst tun können. Um das Kapitel abzurunden kommen noch optische Medien und Bänder zur Untersuchung. Alsdann folgt eine Einführung in den Aufbau eines Netzwerks, was eigentlich zu weit führt. Dafür hätte man sich sicher mehr zum Thema Monitor und Farbkalibrierung gewünscht, was leider etwas kurz gerät (mit Linux aber möglich: Little CMS). Letztlich landen wir bei der USV und einigen Beispielkonfigurationen, deren teuerste Hardwarepreise bis ins Kleinwagensegment reichen dürften.

Konsequenterweise handelt Kapitel sechs vom Backup und von Validierung. Zunächst geht Krogh kurz auf das Problem der korrekten Datei ein: Original, Backup, Dublette? Auch hier gilt: Ordnung ist das halbe Leben (die andere Hälfte türmt sich auf meinem Schreibtisch). Hier hilft die 3-2-1-Regel: 3 Kopien einer Datei auf zwei verschiedenen Medien und eine Kopie davon an einem anderen Ort. Als nächstes folgt eine Übersicht über diverse Desaster vom Virus bis zum Blitzeinschlag, und wie man dem mit diversen Backups beikommt. Wie man bereits im Workflow / Lifecycle - also der Bildübertragung und -erfassung, Bearbeitung und Ablage im System (Ingest) - alle Schritte sichern und validieren kann, kommt danach. Nach einer Reihe von Beispielkonfigurationen für das Backup geht es zum Thema Validierung. Dateisystemfehler kommen einem zunächst in den Kopf, aber auch versehentliches Löschen oder Übertragungsfehler werden behandelt. Die der Validierung von Bildern ist auch vom Format des Bildes abhängig. Krogh geht hier kurz auf DNG und Hashes ein; das vorgestellte Tool gibt es allerdings nicht für Linux. Es folgt noch ein kurzer Abschnitt zum Thema Restore.

Kapitel sieben beschäftigt sich wieder mehr mit den Bildern, und führt detailliert in den Workflow ein. Der erste Schritt ist die Aufnahme des Bildes in den Workflow (nicht die Aufnahme mit der Kamera), neudeutsch Ingest. Krogh beschreibt die Schritte Übertragung, Benennung, Sicherung (des Originals) und greift dabei auf seine Ordnerstruktur zurück. Das Kapitel arbeitet dann detailliert mit dem Ingest unter Ligthroom weiter, es wird auch ImageIngesterPro vorgestellt.

Kapitel acht beschreibt den detaillierten Umgang mit Arbeitsdateien; eigentlich ist das eine Vertiefung aus Kapitel sieben, wieder wird auch mit Lightroom gearbeitet, die Anpassung von Metadaten und das Rating und natürlich die eigentliche Bildbearbeitung bis zum "Proof". Bildbearbeitung ist aber kein Thema in diesem Buch, und wird deshalb auch nur als Arbeitsschritt angerissen. Für Linux bleiben an dieser Stelle vor allem LightZone, Bibble und Krita; Gimp ist für die Bearbeitung von Raw-Bildern trotz Import nicht geeignet, da es nur mit acht Bit Farbtiefe umgehen kann. Moderne Kameras bieten aber 12 - 14 Bit an, so dass Gimp allenfalls für die Nachbearbeitung von JPEGs geeignet ist. Ansonsten empfehle ich Krita aus dem KDE-Projekt, das kein Problem mit dieser Farbtiefe hat. Digikam bietet in seinen Kipi-Plugins zahlreiche Werkzeuge an, die jedoch nicht in allen Bereichen an LightZone oder Bibble heran reichen. Beide lassen sich aber zum Bearbeiten aus Digikam nutzen. Dafür wiederum bietet Digikam z.B. Fotorestaurierung. Kurz wird noch der Batchoutput zu Flickr und Webgallerien erwähnt, was mit Digikam sicher kein Problem darstellt. Dann kommt schon der Weg ins Archiv, bzw. die Erstellung von Derivaten und deren Behandlung. Der Rest des Kapitels geht wieder intensiv auf die Ordnerstruktur und Laufwerke ein, unter Berücksichtigung von Lightroom. Digikam kann aber ebenfalls mit mehreren Laufwerken arbeiten - allerdings nur für Alben. Am Ende steht eine komplette "Pipeline" zur Verarbeitung von Bildern (könnte man auch als Statemachine bezeichnen).

Kapitel neun und zehn beschäftigen sich ausführlich mit dem Workflow von Lightroom und Bridge/ACR, ein Blick lohnt aber definitiv, denn auch Digikam und Bibble bieten Teile der Funktionen.

Kapitel elf geht auf die Katalogisierung ein. Krogh widmet einen großen Teil der richtigen Auswahl der Software. Er geht dabei davon aus, das eine externe Software genutzt wird, und zeigt die Fallstricke im Zusammenspiel mit dem Ingest. Kataloge dürfen nicht mit den Alben von Digikam verwechselt werden, sie sind etwas anderes. Nur Bibble unterstützt unter Linux Kataloge. Kataloge enthalten keine Bilder, sondern Referenzen auf sie - gleichwohl soll es möglich sein, die Metadaten zu bearbeiten. Dementsprechend müssen die Schnittstellen zu Exif, XMP und IPTC vorhanden sein. Krogh baut eine Katalogstrategie auf, die natürlich umfangreich ist - passend zu seinen Beispielen im Buch. Als Software stellt er ExpressionMedia vor. Der Katalog ist für ihn das Tool, das aus der Arbeit erst das Produkt macht - beliebig such- und findbar, nach multiplen Kriterien, und auch exportierbar.

Mit Kapitel zw&ouuml;lf kommen wir zum Ende des Buches - und zu einem enorm wichtigen Thema: der Migration. Migration beschreibt, salopp ausgedrückt, den Wechsel eines Systems unter Beibehaltung möglichst aller Daten. Das betrifft nicht nur den Wechsel von einer Software zur anderen, sondern beinhaltet natürlich auch die Migration der komplexen Backupstrategie, die Krogh vorgestellt hat. Dazu kommen Beispiele für die Überführung und Konvertierung ungeordneter Sammlungen. Ganz zum Schluss kommt noch die Digitalisierung von analogem Film, mit einer normalen Digitalkamera.

Fazit: Das Buch ist eine absolute Bereicherung für jeden, der seine Digitalen Werke ordnen und erhalten will. Zwar geht es im Buch "nur" um Fotos, jedoch lassen sich die vorgestellten Lösungen auch für Musik und Videos verwenden, wenn auch mit anderen Programmen. OpenSource kommt im Buch nicht vor, das schmälert den Wert des Werkes aber nicht.

Dein Gehirn - Das fehlende Handbuch

cover Review: Joachim Drescher

Autor: Matthew MacDonald
Deutsche Übersetzung: Lars Schulten
ISBN: 978-3-89721-878-9
Preis: € 19.90
Sprache: Deutsch
Mehr Informationen sowie Probekapitel: Your Brain: The Missing Manual - O'Reilly.com, Dein Gehirn - Das fehlende Handbuch - O'Reilly.de

Wer dermaßen heftig auf die Pauke haut mit dem Versprechen, unserem Gehirn auf die Sprünge zu helfen darf erwarten, daß auch der Leser auf den Busch klopft und sich fragt, ob ihm dieses Buch wirklich noch gefehlt hat.

Das Inhaltsverzeichnis mit seinen zehn sofort als folgerichtig aufeinander aufbauend erkennbaren Kapiteln jedenfalls sieht vielversprechend aus; in der "fehlenden Danksagung" (die dann wunderbarerweise doch nicht fehlt) und der Einführung wird jedoch unentwegt weiter getrommelt. Uns wird ein "Selbsthilfebuch" versprochen, "Überdurchschnittlich" soll es sein, da auf den "Erkenntnissen der aktuellen Neurowissenschaften" basierend, und uns ermöglichen, "unsere mentale Hadware zu frisieren und zu polieren". Im vorletzten Satz der Einführung steht die Empfehlung, auf "die Sprache des Buches zu achten". Ok, gerne.

Nach einem guten Dutzend Seiten geht es dann richtig zur Sache: Kleinhirn, Großhirn, Limbisches System, Neuronen, Synapsen, Neurotransmitter, Funktionen des Hormonsystems und so weiter - alles knapp und übersichtlich dargestellt und einleuchtend bebildert. Und witzig ist es zuweiln auch: "... die Informationen reisen gelegentlich mit unterschiedlichen Geschwindigkeiten. ... Das ist der Grund dafür, daß Sie einen kurzen Augenblick Zeit haben, sich den Schmerz schon einmal vorzustellen, den Sie gleich fühlen werden, wenn Sie Ihren Zeh gegen einen Türpfosten gerammelt haben."

Ratschläge zum Gehirntraining, Kapitel über das Essen, den Schlaf sowie den Traum samt aktueller wissenschaftlicher Spekulationen über seine Bedeutung und vor allem über die Wahrnehmung (das Sehen) sind gut zu lesen, ihr Erkenntnisertrag liegt jedoch kaum über dem von nebenbei konsumierten GEO-Heftchen.

Unbedingt empfehlenswert sind die abgedruckten Web-Links zu optischen Täuschungen und Wahrnehmungseffekten. Sie bieten ein enormes Verblüffungspotential und auch eine ganz eigentümliche Schönheit. (z.B.: wikipedia: Optische Täuschung )

Das folgende Kapitel über das (Kurz- und Langzeit-)Gedächtnis und das Lernen halte ich für den nützlichsten Teil des Buches. Es könnte den Anreiz bieten, einmal eigenes Lernverhalten zu prüfen und auf der Grundlage eines funktionalen Verständnisses von Lernprozessen zu optimieren. Hiermit scheint auch die zuweilen doch recht nervige, marktschreierische Diktion des Buches legitimiert zu sein. Sie darf als notwendig gelten, um Informationen über die Schwelle unseres Vergessens ins Langzeitgedächtnis zu hieven.

Die Kapitel 6 bis 10 - um nur die Überschriften zu zitieren - über Emotionen, Rationalität, Persönlichkeit, den Kampf der Geschlechter und die (Individual-)Entwicklung des Gehirns vermitteln einen unübersehbar aufklärerischen Impetus. Wer sich um Erkenntnis bemüht, soll über die Macken seiner zerebralen Hardware Bescheid wissen, um mit diversen Workarounds die Wirklichkeit dennoch angemessen erkennen zu können. Es gibt hier viele erhellende Ausführung z.B. zu Statistik, Kreativität, Mustererkennung usw, sogar ein Persönlichkeitstest ist vorhanden, von allem etwas. Erwähnenswert auch der umfangreiche Index.

Ich halte das Buch insgesamt für lesenswert und die Darstellungen teilweise für ausgezeichnet - kann allerdings die angeführten neurologischen Basics nicht beurteilen. Die graphische Aufbereitung ist abwechslungsreich und augenfreundlich, auch wenn inhaltliche Gründe für Hervorhebungen nicht immer ersichtlich sind.

Wer sich vom "marktschreierischen" Stil nicht abschrecken lässt, wird es mit Gewinn lesen, und ob der Spruch vom "fehlenden Handbuch" mehr als nur ein Gag ist, mag jeder selber entscheiden.

Allerdings frage ich mich, wieso der Autor als Fixpunkt immer wieder die Aussage ansteuert, daß das Gehirn sich "einfach nicht für das Leben des 21. Jahrhunderts entwickelt" habe. Selbstverständlich ist die Herleitung der evolutionären Entwicklung des Gehirns unverzichtbar und die Betonung der Evolution seines Aufbaus in einer Zeit, in der der Unsinn des Kreationismus fröhliche Urstände feiert, besonders verdiensvoll. Die vielseitigen und differenzierten Darlegungen gipfeln jedoch immer wieder in der einen, recht platten Aussage "altes Gehirn, moderne Welt". Sicher, darüber kann man reden - allerdings nicht ausschließlich auf der Basis von sozusagen gehirnimmanenten Zusammenhängen. Gewisse historische Erkenntnisse (außerhalb und zusätzlich zur Gehirn-Evolution) müssten da schon hinzu kommen. Anders gesagt: Wer einen Hammer hat, dem ist alles Nagel, aber wir müssen ihm das nicht unbedingt glauben.

The Ultimate CSS Reference

cover Review: Michael Plate

Autor: Tommy Olsson & Paul O'Brien
Publisher: SitePoint
ISBN: 9780980285857
Preis: € 43.00
Sprache: Englisch
Als Online-Version und als PDF (verschlüsselt)
Mehr Informationen: The Ultimate CSS Reference - O'Reilly.com, The Ultimate CSS Reference - O'Reilly.de

Thema: Eher ungewöhnlich für ein Computerbuch kommt dieses Buch in einem Hardcover (Leineneinband) mit Schutzumschlag. Auf ca. 420 Seiten beschreiben die beiden Autoren Tommy Olsson und Paul O'Brien Cascading Stylesheets (CSS).

Das Buch ist das, was der Titel - etwas vollmundig "ultimate" - verspricht: eine Referenz, also kein Lehrbuch.

Das Buch ist in 18 Kapitel unterteilt, beginnend mit einer kurzen Einführung in CSS. Das zweite Kapitel zeigt detailliert die Syntax von CSS, führt in den Aufbau und die Begrifflichkeiten wie rule sets, classes, selectors, properties, keywords etc. ein und erklärt die unterschiedlichen Einheiten, die bei den Werten der properties benutzt werden können. Das wird an einem typischen Beispiel erläutert, mit Verweisen auf die erläuternden Seiten.

Kapitel 3 widmet sich ausschliesslich den At-Rules (@media, @import, etc.).

Das vierte Kapitel widmet sich ausführlich der Verwendung von Selektoren, im fünften Kapitel werden die Vererbung und die Kaskade dargelegt.

Kapitel sechs beschäftigt sich sehr ausführlich mit dem Boxmodell und der Positionierung von Elementen - sowie dem immer beliebten Thema Floating vs. Absolute Positioning - während Kapitel sieben sämtliche box-properties im Detail darstellt.

Die weiteren Kapitel beschreiben die Nutzung der entsprechenden properties, aufgeteilt nach Layout, Listen, Tabellen, Farben und der Schriftauszeichnung. Die letzten Kapitel gehen auf herstellereigene properties und die unvermeidlichen CSS-Hacks ein.

Das Layout des Buches ist in verschiedenen Blautönen gehalten.
Die einzelnen Kapitel sind klar und übersichtlich strukturiert. Jede Eigenschaft wird mit einer Kompatibilitätstabelle sowie der Spezifikation (CSS1,2 bzw. Ausblick auf 3) sowie der Vererbung durch das Elternelement und einem Beispiel beschrieben. Die Kompatibiblitätsliste umfasst dabei die Browser IE 5.5, 6.0 und 7.0, drei Versionen des Mozilla Firefox (1.0, 1.5, 2.0), drei Versionen des Safari (1.3, 2.0,3.0) aber nur eine Version des Opera-Browsers (9.2). Fraglich bleibt hier, ob man nicht mehr Opera-Versionen hätte testen sollen - den IE 5.5 hätte man sich sicherlich getrost schenken können, zumal die Versionen für den Apple und Windows Unterschiede haben.

Das Buch beschreibt in einem Kapitel am Ende diverse Hacks, die man - leider - alltäglich braucht, sofern man nicht unbedingt eine Browserweiche bauen will, um verschiedene Stylesheets zu implementieren. Der Klassiker ist der Star-Hack (* html body ...) für den IE6, den es aber auch als Plus-Hack für den IE7 gibt - dieser wird im Buch allerdings nicht erwähnt.

Leider fehlt dem Buch ein Stichwortverzeichnis; zwar gibt es ein Verzeichnis der CSS-properties, eine echtes Stichwortverzeichnis wäre aber ein Mehrwert.

Insgesamt stellt sich natürlich die Frage, wie sinnvoll gedruckte Referenzen zu derart "lebendigen" Technologien eigentlich noch sind, zumal die Onlinereferenz ja auch frei zugänglich ist.

Für alle, die eine kompakte Referenz zum Blättern mögen ist das Buch eine gute Investition; die Online-Version enthält dazu noch eine Liste aller der CSS-Beispiele aus dem Buch, die man dort auch "live" verändern kann.

HTML mit CSS und XHTML von Kopf bis Fuß

cover Review: Bodo Bender

Autor: Elisabeth Freeman, Eric Freeman
Deutsche Übersetzung: Lars Schulten, Stefan Fröhlich
ISBN: 978-3-89721-453-8
Preis: € 44.90
Sprache: Englisch / Deutsch
Mehr Informationen sowie Probekapitel: Head First HTML with CSS & XHTML - O'Reilly.com, HTML mit CSS & XHTML von Kopf bis Fuß - O'Reilly.de

Thema: Wenn man von "dem Internet" spricht, meint man in der Regel von Internetseiten des World Wide Webs (www). Alle diese Seiten haben gemeinsam, dass Sie mit der Seitenbescheibungssprache HTML geschrieben wurden. Mit Hilfe von HTML werden Text und Inhalte wie zum Beispiel Bilder formatiert und mit interaktiven Funktionen wie z.B. Links versehen. Egal ob man auf einer Seite eine fett gedruckte Überschrift sieht oder einen Link bedienen kann. Immer ist es HTML, dass im für den Endbenutzer unsichtbar im Hintergrund die Anweisungen gibt, wie die Texte und anderen Inhalte dargestellt werden sollen. Das Buch beschäftigt sich zum einen mit den Grundlagen von HTML als auch mit den Grundlagen der wichtigsten Weiterentwicklungen und Erweiterungen (Xhtml & CSS). Da sich das Buch wie der Titel schon erahnen lässt an Anfänger wendet geht es sehr ausführlich auf die Grundlagen ein ohne sich in Details zu verlieren, die für Anfänger weniger interessant sind. So beschäftigt sich das Buch weniger mit der Geschichte von HTML und seinen verschiedenen Versionen noch ausführlich mit der Problematik, dass einige im HTML Standard vorgesehene Funktionen nie umgesetzt worden sind oder heute aufgrund neuerer, besserer Techniken (z.B. CSS) verdrängt wurden. Um den Leser nicht zu verwirren werden daher Funktionen von HTML, die in der Regel heute durch CSS ersetzt werden nicht oder nicht ausführlich beschrieben. Das Buch empfiehlt folgerichtig auch explizit nur die neusten Techniken zu verwenden. Dem Anfänger wird so erspart sich in Dinge einzuarbeiten, die dann ein paar Seiten später schon als veraltet bezeichnet werden. Wer das Buch durchgearbeitet hat ist mit allen Grundlagen vertraut um einfache Internetseiten per Hand gestalten zu können.
Aufbau: Das Buch ist als Kursus in 14 Kapiteln aufgebaut. Jedes Kapitel baut auf dem vorherigen auf. Als Nachschlagewerk (HTML-Reffernz) ist es daher weniger geeignet. Hierfür gibt es aus dem O'Reilly passende Alternativen, die allerdings nur für Leser geeignet sind, die bereits Vorkenntnisse haben und nur gezielt etwas nachschlagen wollen.
Konzept: Das Buch gehört zu der neuen "Kopf bis Fuß"- Buchreihe aus dem O'Reilly Verlag. Neu an dieser Buchreihe ist das Konzept. Es basiert auf neueren Erkenntnissen öber das Lernen. Statt einfach ein Thema nach dem anderen darzustellen versucht das Buch den Leser in dem Lernprozess zu begleiten. Alle Themen sind daher ansprechend, motivierend und erläuternd bebildert. Zu jedem Thema gibt es Übungen samt Lösungen. Wo man bei anderen Büchern sich zu einem Thema noch per Hand in das Buch Notizen machen würde, haben das die Autoren gleich für einen übernommen. So ist es der Stil der Reihe, dass ein komplexer Absatz mit "handschriftlichen" Notizen näher erläutert. Die Autoren widmen Ihrem Lernkonzept ein ausführliche Einführung um den Leser zu überzeugen, dass er sich auf dieses Konzept einlassen soll, um einen möglichst großen Erfolg zu erzielen.
Kritik: Mir persönlich fehlt an dem Buch eine Kurzreferenz. Wenn man mal wieder einen Befehl (Tag) vergessen wäre es schon schön, wenn man den schnell nachschlagen könnte.

Internet-Telefonie mit Asterisk

cover Review: Stefan Triller

Autor: Jared Smith, Jim Van Meggelen & Leif Madsen
Deutsche Übersetzung: Peter Klicman, Andreas Bildstein
ISBN: 978-3-89721-445-3
Preis: € 39.90
Sprache: Deutsch
Mehr Informationen sowie Probekapitel: Asterisk: The Future of Telephony - O'Reilly.com, Internet-Telefonie mit Asterisk - O'Reilly.de

Das Buch "Internet Telefonie mit Asterisk" gibt dem Leser einen sehr guten Überblick über alle Themen der Telefonie. Es erklärt die Grundlagen der analogen und digitalen Telefonie und beschreibt, wie man sie in Asterisk integriert und mit neueren Technologien wie VoIP verknüpft. Einen wichtigen Hinweis gibt es vorweg zu sagen, nämlich das die deutsche Ausgabe des Buches ein extra Kapitel zur Nutzung von Asterisk mit ISDN enthält welches in den USA eher weniger gebräuchlich ist.
Zu Beginn des Buches werden die Vorraussetzungen geschaffen, um Asterisk auf dem eigenen Rechner zu installieren, der Leser bekommt erklärt welche Telefonie-Hardware für welche Einsatzgebiete geeignet sind und welche Stolpersteine man beachten sollte. Hinterher wird man durch die komplette Installation von Asterisk nebst Treiber für die vorher erwähnten Hardwarekomponenten geleitet, obwohl es bei vielen Distributionen heute schon möglich ist dies über die Paketverwaltung zu erledigen. Allerdings kann es sein, dass verschiedene Treiber gepatcht werden müssen, somit ist es gut dass das Buch das kompelieren von Hand beschreibt.
Der Kern eines Asterikssystems besteht aus dem Wählplan, also welches Gespräche wohin geroutet werden soll. Ihm wurden sogar 2 Kapitel gegönnt, um es dem Leser zu verdeutlichen. An Hand von Beispielen wird erklärt was die enthaltenen Befehle bewirken und wie man sie einsetzt. Weiterhin bekommt der Leser Zusatzinformationen über VoIP-Protokolle und Sprachcodecs, um zu verstehen, wie sie funktionieren und welches für den geplanten Einsatzzweck am besten geeignet ist.
Auch versierte Asterisk-Nutzer finden nützliche Tipps, z.B. für das Automatisieren von Ereignissen mit Hilfe des Asterisk Gateway Interface (AGI), das Anbinden von Asterisk an computergenerierte Sprachausgabe (mittels Programm: festival) oder die Nutzung eines externen DUNDi Dienstes (vergleichbar mit ENUM, also Nutzung eines Telefonbuchdienstes).

Alles in allem kann man dieses Buch auf jedenfall empfehlen, da es einen guten Überblick über die Zusammenhänge der zugegebenermassen recht vielen Konfigurationsdateien von Asterisk gibt und darüber hinaus auch für erfahrenere Asterisk-Nutzer etwas zu bieten hat.

Einführung in die bash-Shell

cover Review: Joachim Drescher

Autor: Cameron Newham
Deutsche Übersetzung: Dinu C. Gherman
ISBN: 3-89721-424-5
Preis: € 34.00
Sprache: Deutsch
Mehr Informationen sowie Probekapitel: Einführung in die bash-Shell - O'Reilly.com, Einführung in die bash-Shell - O'Reilly.de

Wer sich früher vielleicht mal ganz behende in DOS bewegt hat und auch in der Windows-Welt die eine oder andere Nuss zu knacken wusste, wird beim Ein-, Um- oder Zusteigen mit Linux zunächst weniger Schwierigkeiten bekommen als befürchtet. Im Desktop-Bereich sehen viele gängige Programme sehr ähnlich aus, und man kann sie sich noch ähnlicher hinkonfigurieren. Auch auf der Textkonsole steht man nicht gleich ganz hilflos da: Der gute alte dir-Befehl ist freundlicherweise meist mitimplementiert, mit cd kann man sich wie gewohnt durch die umfangreichen Verzeichnisbäume hangeln und an rm statt del oder cp statt copy kann man sich schnell gewöhnen, und daß der dumm zu greifende Backslash \ für die Verzeichnisnahmen durch den netteren "normalen" Schrägstrich / und das Parameter-Zeichen nach einem Befehl durch den viel sinnfälligeren und einfacheren Strich - ersetzt ist, wird man gern registieren. Aber sehr bald wird man feststellen müssen, daß die berühmte "intuitive Bedienbarkeit" nicht sehr weit führt, und in einer shell schon gar nicht. Scheinbar bekannte Befehel verhalten sich ganz anders, und wer z. B. nur mal den Befehl set probiert, um wie unter DOS bloß mal ein paar Umgebungsvarible zu sehen, der wird fast erschrecken, was da alles durchrauscht und sich erstaunt fragen, wann zum Teufel das denn alles ausgeführt wird.

Nun ist Linux ja an sich ein recht auskunftfreudiges System. Fast jeder Befehl hat seine Hilfe-Parameter, der help-Befehl und die man-pages sind mit englischen Grundkennntnissen und einem Wörterbuch leicht zu erschließen, und im Internet kann man Überblicke oder Darstellungen zu Detailproblemen ohne Zahl hervorstochern. Trotzdem wird, je nach Notwendigkeit oder eigenem Anspruch früher oder später, der Zeitpunkt kommen, wo es unausweichlich scheint, sich einen strukturierten und umfassenden Überblick über das gesamte Gebiet zu verschaffen.

Dabei kann das Buch eine gute Hilfe sein. Bereits im Vorwort werden die allerwichtigsten Eigenschaften der bash aufgelistet, die einzelnen Kapitel vorgestellt, etwas zu Codebeispielen und typografischen Konventionen gesagt, vor allem aber machen sich die Autoren Gedanken über die Zielgruppe, was mehr ist, als man von den meisten Computerbüchern erwarten kann. Zwar wiederholt das 1. Kapitell allerei Grundkonzepte, aber als "totaler Anfänger ... wird Ihnen das möglicherweise zu schnell gehen" (S. X) Tatsächlich scheinen die Autoren beträchtliche Arbeit und Erfahrung in die Aufgabe gesteckt zu haben, die technischen Inhalte nicht einfach bloß in einem sachlogischen Zusammenhang darzustellen, sondern sie tatsächlich didaktisch aufzubereiten. Dazu gehört auch eine Sprache, die Freude bereitet. Wenn ich einen Satz lese wie: "Ich betrachte die Shell-Programmierung als natürliche, unvermeidliche Folge der zunehmenden Erfahrung eines Benutzers." (S. XI), dann hat der Autor bei mir erstmal Kredit.

So liest es sich denn auch am Anfang recht angenehm und leicht dahin. Trotzdem kamen dabei auch Informationen rüber, auf die ich, da nicht danach gesucht, nie gekommen wäre. Z.B. expandiert die bash Wildcards auch in Pfadnamen, wovon ja ein DOS- oder Windows-User nur träumen kann, (und sie expandiert sie, nebenbei gesagt, logisch korrekt). Auch hatte ich zwar schon mehrmals gelesen, daß "bash" für "Bourne again shell" stehe, was mich aber ratlos zurückließ, bis mir jetzt hier gesagt wurde, wer Steve Bourne war. Überhaupt das Merken: Es nützt nur wenig, wenn Befehle oder Parameter Abkürzungen oder sonstige mnemotics sind, aber man nicht weiß, wofür sie stehen. Newham und Rosenblatt erklären dies recht ausführlich und umfassend. Es sind ja oft die sinnlos erscheinenden Details, die die meisten Schwierigkeiten bereiten. In Linux kann einem, selbst wenn man Computer schon in etlichen Programmiersprachen dressiert hat, z.B. das hierarchische Quotierungssystem immer wieder die schönsten Fallen stellen, wenn man sich nur ungenau über die Frage - was macht die Shell, was macht der Befehl - im Klaren ist. Wir finden im Buch dazu schöne Beispiele, und "Wenn Sie das verstehen, werden sie kein Problem haben, die anderen verwirrenden Probleme zu lösen, die sich aus der oftmals kryptischen Syntax der Shell ergbeben."(S. 24) Auch simple Erklärungen können einen Aha-Effekt hervorrufen, daß z.B. der Backslash als Fortsetzungszeichen bei umgebrochenen Kommandozeilen nichts anderes als eine quotiertes Return ist, welches somit die Befehlsinterpretation nicht beendet.

An sich wäre es ja auch selbstverständlich, daß Wildcarts auch im Pfadnamen gelten, (oder daß beispielsweise auch so ein Ausdruck wie "*hallo*" jedes "hallo" findet, der diesbezüglich unverwöhnte MS-User wird sich freuen, solche Feinheiten nebst vielen anderen gleich auszuprobieren.

Überhaupt bringen die Autoren das Kunststück fertig, die lern-notwendige Redundanz nebst Vor- und Rückverweisen unterzubringen, ohne damit Langeweile zu erzeugen. Sicher, man könnte sich darüber unterhalten, ob der emacs- UND der vi-Modus beim Bearbeiten von Kommandozeilen wirklich in aller Ausführlichkeit gebracht werden müssen, andererseits, was solls, man kann sowas auch überfliegen, und wer sich für einen der Editoren entscheiden möchte, wird genau diese Darstellung vermutlich zu schätzen wissen.

Nachdem man noch im 3. Kapitel gemütlich seine Arbeitsumgebung gestaltet konnte, geht es ab dem 4. Kapitel dann langsam aber sicher zur Sache, mit der "Einfachen Shell-Programmierung" beginnend. Die Autoren schreiben zwar, daß man "es auch als Nicht-Programmierer lesen" und damit was anfangen können, stellen aber gleichzeitig fest, daß "zusätzliche Erfahrungen in einer konventionellen Programmiersprache ..." hilfreich seien, wenn auch nicht "zwingend notwendig". Wer möchte und zäh genug dran bleibt, kann es hier sozusagen von Anfang an stufenweise lernen. Der weitere Aufbau folgt einer solchen Programmier-Lern-Logik: Kontrollfluss, Optionen und Variablen, Ein- und Ausgabe, Prozess-Behandlung, Fehlersuche, Administration sind weitere Kapitel. (Selbstverständlich schreiben die Autoren auch, welche Aufgaben man besser mit "richtigen" Programmiersprachen löst.)

Man findet im Buch neben vielen sofort anwendbaren praktischen Beispielen und "Aufgaben", auch diverse Anhänge mit Befehlsreferenzen, Vergleiche mit anderen Shells, Stichwortregister, was insgesamt einen hohen Gebrauchswert verspricht.

Netzwerksicherheits Hacks

cover Review: Kai Baumgart

Autor: Andrew Lockhart
Deutsche Übersetzung: Andreas Bildstein
ISBN: 3-89721-384-2
Preis: € 30.00
Sprache: Deutsch
Mehr Informationen sowie Probekapitel: Network Security Hacks - O'Reilly.com, Netzwerksicherheit Hacks - O'Reilly.de

Das Buch Netzwerksicherheits Hacks ist die deutsche Übersetzung des englischsprachigen Buches "Network Security Hacks" von Andrew Lockhart und ist eine Sammlung von 100 Tipps und Tricks um die Sicherheit in Netzwerken zu erhöhen. Das Buch beschätigt sich sowohl mit Linux- und OpenBSD-Servern als auch mit Windows(2003)-Server was einen breiten Überblick über die Möglichkeiten der Absicherung und Angriffsflächen in heterogenen Netzwerken gibt.

Dieses Buch birgt eine Menge breit gefächerter Tricks und bedient Felder nicht nur auf Seiten des Netzwerks sondern auch auf Seiten der Hosts im Netzwerk. Themen wie (Network) Intrusion Systems, grsecurity mit ACLs oder zum Beispiel Logging übers Netzwerk sind Beispiele von Themen, die ein wenig ausführlicher betrachtet wurden.

Obwohl das Buch zu den einzelnen Hacks manchmal nur kurze Einführungen geben kann, bringt es einen sehr ausführlich Überblick über die jeweiligen Techniken und Möglichkeiten, die ein Administrator anwenden kann. Die einzelnen Tipps bauen meist nicht aufeinander auf, sodass man selbst entscheiden kann, was man umsetzt. Ein wenig nachteilig mag es jedoch erscheinen, wenn man ein vermindertes Interesse an der Absicherung eines Windows2003-Servers zeigt, da dies einen (wenn auch geringen) Teil des Buches ausmacht.

Fazit: Frei nach dem Grundsatz - Sicherheit ist kein Zustand, sondern ein Prozess - wird dem Leser eine große Sammlung an Techniken geliefert, die zwar teilweise altbekannt ist, aber nichtsdestotrotz nicht weniger wirkungsvoll sind. Grundsätzlich wird eine Übersicht geboten, was man einsetzen kann und was es bringt. Ob man jedoch jeden einzelnen Trick in der Praxis anwendet, ist jedoch dem Leser überlassen...

Secure Programming Cookbook for C and C++

cover Review: Michael Süß

Autoren: John Viega & Matt Messier
ISBN: 0-596-00394-3
Preis: € 48.00
Sprache: Englisch
Mehr Informationen, sowie Probekapitel: Secure Programming Cookbook for C and C++ - O'Reilly.com, Secure Programming Cookbook for C and C++ - O'Reilly.de

Ich bespreche heute das Buch "Secure Programming Cookbook for C and C++" von John Viega und Matt Messier, und zwar in der englischen Ausgabe. Es trägt den bezeichnenden Untertitel "Recipes for Cryptography, Authentication, Networking, Input Validation & More", und das kann man ziemlich genau so auch als kurze Inhaltsangabe durchgehen lassen.

Es enthält jede Menge kurze oder auch teilweise nicht so kurze Anleitungen darüber, wie man häufig auftretende Probleme aus den oben genannten Bereichen in C und C++ möglichst sicher löst. Beispiele für solche Anleitungen sind:
- wie erstelle ich einen SSL-Client (und wie mache ich ihn schneller)
- wie verhindere ich Pufferüberläufe
- wie finde ich heraus, welchen Verschlüsselungsalgorithmus ich verwenden sollte

Die Anleitungen sind meißtens in sich abgeschlossen, stimmig und kratzen wie ich finde auch nicht nur an der Oberfläche des Problems. Um zu beurteilen, wie sicher die angeboten Lösungen tatsächlich sind fehlt mir allerdings das nötige Expertenwissen, zumindest sind mir keine offensichtlichen Fehler aufgefallen. Häufig gibt es Verweise auf fertige Bibliotheken, die das Problem bereits lösen, was ich persönlich oft nützlicher finde als eine extensive Besprechung einer eigenen Implementierung.

Die Autoren haben versucht, sowohl Windows als auch Linux unter einen Hut zu bringen, was ihnen wie ich finde auch recht gut gelingt. Zum Ende möchte ich noch eine Empfehlung zum Kauf des Buches abgeben: Dies ist kein Buch für jeden C / C++ - Programmierer, insbesondere angesichts des nicht ganz kleinen Preises (aber das sind wir von Fachbüchern ja gewohnt, oder?). Viele der angesprochenen Themen werden von der Mehrheit der Programmierer nie benötigt (wie oft implementiert man denn z.B. einen Verschlüsselungsalgorithmus in C?). Wenn man allerdings doch mal in die Verlegenheit kommen sollte, sich mit den Themen Kryptographie, Authentisierung, Netzwerkprogrammierung, etc. zu beschäftigen, und das ganze in C / C++ tun zu wollen, dann sollte man sich dieses Buch definitiv gönnen!

Secure Coding: Principles and Practices

cover Review: Michael Süß

Autoren: Mark G. Graff & Kenneth R. van Wyk
ISBN: 0-596-00242-4
Preis: € 29.00
Sprache: Englisch
Mehr Informationen, sowie Probekapitel: Secure Coding: Principles and Practices - O'Reilly.com, Secure Coding: Principles and Practices - O'Reilly.de

Im Buch "Secure Coding" mit dem Untertitel "Principles and Practices" beschreiben die Autoren, wie man sichere Programme schreibt und Systeme aufsetzt. Es ist in 6 Kapitel unterteilt, die sich grob mit "Grundlagen", "Architekturen", "Design", "Implementierung", "Administration" und "Automatisierung und Tests" überschreiben lassen.

Insbesondere in den ersten Kapiteln wird das Thema Sicherheit aus einer relativ weit entfernten Perspektive betrachtet. Mir persönlich gefiel das nicht so, da viele der dort behandelten Themen jedem ein Begriff sein dürften, der sich schon einmal mit Computersicherheit beschäftigt hat. Nichts desto trotz ist dieser Teil sicherlich als Übersicht der Grundlagen nützlich, auch wenn diese vielen Leuten bekannt sein dürften.

In den späteren Kapiteln des Buches wird es dann konkreter, wobei hier meisst die Kapitel in "Sachen, die man tun sollte", "Sachen, die man nicht tun sollte" und "Beispiele aus der Praxis" eingeteilt sind. Mit Hilfe dieser Einteilung ist es möglich, einen guten Einstieg in das Thema zu erhalten. Leider hatte ich manchmal das Gefühl, hier nur eine lose Sammlung von Checklisten vor mir zu haben, die man auch aus dem Internet bekommen könnte. Teilweise recht langatmige Erläuterungen zu offensichtlichen Punkten dieser Checklisten vertiefen diesen Eindruck. Durch die guten Hinweise auf weiterführende Literatur im Text und im Anhang wird das jedoch etwas kompensiert. Auch die anschaulichen Beispiele (grösstenteils aus den persönlichen Erfahrungen der Autoren) sind unterhaltsam und lehrreich.

Seine wahren Stärken entwickelt dieses Buch vermutlich, wenn man tatsächlich vor der Aufgabe steht, eine "sichere" Anwendung zu entwickeln. An diesem Punkt sind die erwähnten Checklisten ein nützliches Mittel, um seine Anwendung zu überprüfen. Ich glaube daher, dass eine der größten Stärken dieses Buches darin liegt, das es einen selbst lehrt, zur rechten Zeit die richtigen Fragen zu stellen. Auch einige Optionen zur Lösung häufig auftretender Problemklassen werden aufgezeigt, ohne dabei allzusehr auf Spezifika bestimmter Programmiersprachen einzugehen (obwohl das gesammte Buch etwas C-lastig ist).

Zusammenfassend handelt es sich bei "Secure Coding: Principles and Practices" um ein gutes Buch mit ein paar Schwächen im Detail, so dass ich nur 3 von 5 Punkten vergeben möchte.

Managing Security with Snort and IDS Tools

cover Review: Stefan Triller

Autoren: Kerry J. Cox & Christopher Gerg
ISBN: 0-596-00661-6
Preis: € 38.00
Sprache: Englisch
Mehr Informationen, sowie Probekapitel: Managing Security with Snort and IDS Tools - O'Reilly.com, Managing Security with Snort and IDS Tools - O'Reilly.de

Dieses Buch beschreibt weit mehr als nur Snort.
Es fängt an mit der Erklärung, was (N)IDS Systeme sind, wofür man sie braucht und auch, dass die alleinige Existenz von Ihnen keine Sicherheit des Netzes ausmacht.
Danach geben die Autoren einen Überblick über den Aufbau eines IP-Headers, TCP-Headers, 3 Way Handshake usw. Dies wird an Hand von Beispielen mit tcpdump dargelegt. Netzwerkerfahrene Administrtoren können diesen Teil ruhig überspringen.
Im nächsten Kapitel geht es dann auch schon los, es wird die Installation von Snort unter Linux und Windows beschrieben und welche Optionen Snort bietet.
Und da man wissen sollte warum man überhaupt ein IDS System haben sollte, werden Tools wie nmap, Nessus und Co beschrieben, welche Systeme auf offene Ports und Schwachstellen testen. Mit ihnen kann man nachher auch Snortalarme testweise auslösen.
Ein ganzes Kapitel beschreibt nur die snort.conf, die zentrale Konfigurations Datei von Snort. Es wird auf jede Option kurz eingegangen und die Preprozessoren genauer beschrieben. Außerdem werden nützliche Tipps gegeben um "false positives" zu vermeiden.
Nun stellt sich die Frage: Wohin mit den Snort Sensor in meinem Netzwerk? - auch dies wird in dem Buch behandelt, wobei einige verschiedene Konstellationen diskutiert werden.
Natürlich darf auch eine Anleitung zum Erstellen von eigenen Regeln zur Erkennung von Mustern im Netzwerktraffic nicht fehlen, deswegen widmen die Autoren ebenfalls ein komplettes Kapitel nur diesem Thema.
Da das Lesen von Logfiles für den Menschen meist nicht sonderlich angenehm ist, gibt es einige GUIs zum Darstellen der Snortalarme und Logs. Ausführlich beschrieben werden z.B. ACID und Snortcenter, welches beide Webinterfaces sind.
Zum Abschluss geben die Autoren noch einige Tipps um Snort in Netzen einzusetzen, in denen sehr schnelle und ausgelastete Leitungen gibt, sodass man nicht so ohne weiteres die Standardconfig nutzen könnte, da der Sensor dies unmöglich schaffen könnte.
Alles in allem finde ich dieses Buch durchaus empfehlenswert für Netzwerkadminstratoren, die ihr Netz im Auge haben wollen und dafür ein (N)IDS installieren möchten, oder auch für die, die bereits Snort installiert haben.
Denn für letztere gibt es eine ganze Reihe Tipps, die sehr nützlich sind.

Programming Perl, 3rd Edition

cover Review: Michael Süß

Autoren: Larry Wall, Tom Christiansen, Jon Orwant
ISBN: 0-596-00027-8
Preis: € 48.00
Sprache: Englisch
Mehr Informationen, sowie Probekapitel: Programming Perl, 3rd Edition - O'Reilly.com, Programming Perl, 3rd Edition - O'Reilly.de

"Part bible, part encyclopedia, and part almanac, this is the essential book on Perl". So geschrieben stehts auf dem Umschlagtext der englischen Version von "Programming Perl", über die ich heute berichten möchte. "The incontestably definitive reference book on Perl" behaupten die Perl-eigenen Manual Seiten. Nimmt man dann noch die Tatsache dazu, das Larry Wall, der Hauptautor dieses Buches auch gleichzeitig noch der Erfinder von Perl ist, versteht man vielleicht, warum ich dieses Buch über Perl haben wollte.
Der erste Eindruck zählt ja bekanntlich oft einiges, und mein erster Eindruck war: Oh Mann, dieses Buch ist dick! Über 1000 Seiten geballtes Perl Know-How in einem massiven Block. Oh ja, und jetzt weiß ich auch, woher das Buch seinen Spitznamen "Camel-Book" bekommen hat (kennt man ja von O'Reilly).
Aber genug der Äußerlichkeiten, schon ein Blick ins Inhaltsverzeichnis verrät, das dieses Buch tatsächlich mehrere Kundenkreise anspricht: Im ersten Teil des Buches erhält der Perl-Neuling einen umfassenden Überblick über die Sprache, ihre Eigenschaften und Stärken und nach dem Lesen dieser knapp 50 Seiten sollten man in der Lage sein, bereits eigene kleine Perl-Skripte zu verfassen und zumindest einen groben Überblick über den Inhalt fremder Programme zu erhalten (sollten diese denn einigermaßen leserlich geschrieben sein, es ist ja in Perl ziemlich einfach, Skripte zu verfassen, die wirklich nur der Programmierer versteht, der sie verfasst hat - und selbst das nur zwei Wochen lang).

Weiter geht es mit dem zweiten Teil des Buches, wo dann im Detail und auf rund 350 Seiten all das Handwerkszeug ausführlich beschrieben wird, mit dem man sich als Programmierer die Zeit vertreibt: Operatoren, Reguläre Ausdrücke, Funktionen, Datenstrukturen und vieles mehr sind hier die Themen.
In vielen Büchern wäre wohl anschließend Schluß und allein für diese Kapitel ist das Buch vermutlich seinen Preis wert, allerdings geben sich die Autoren damit nicht zufrieden, sondern hängen noch Teile über "Perl als Technologie" (wo es auf 150 Seiten um erweiterte Konzepte wie Inter Prozess Kommunikation, Threading, oder den Debugger geht) sowie "Perl als Kultur" (CPAN, Sicherheit, Portabilität - 100 Seiten) an. Nicht vergessen will ich hier den umfangreichen Referenzteil zur Sprache (und ich meine umfangreich: immerhin 350 Seiten zum Nachschlagen), der den Abschluß des Buches bildet. Die eben beschriebenen Kapitel machen das Buch auch für den zweiten Kundenkreis interessant, nämlich als Nachschlagewerk für den erfahreneren Perl-Programmierer.
Soviel als grober Überblick zum Inhalt, ich möchte an dieser Stelle noch einige Besonderheiten herausstreichen, die mir beim Lesen des Buches aufgefallen sind: Da wäre zum Ersten der wirklich erfrischende Stil der Autoren zu erwähnen, die es mehr als einmal geschafft haben, mich zum Lachen zu bringen. Auch die verwendeten Beispiele sind einprägsam und lassen den Humor der Autoren an mehr als einer Stelle durchblicken, ebenso wie die oft und gern eingestreuten Fußnoten im Text, die man sich nicht entgehen lassen sollte.
Das gute Einführungskapitel hatte ich ja bereits erwähnt, und obwohl das vorgestellte Buch (leider) nicht mein erstes Buch über Perl war, hat es mir doch in einigen Punkten nochmals weitergeholfen.
Leider hat das Buch auch einen Nachteil: Es ist nicht mehr ganz neu. Es beschreibt Perl in der Version 5.6, zur Zeit aktuell ist 5.8 und 6.0 liegt soweit ich weiß in nicht allzuferner Zukunft (und hält wohl einige gravierende Neuerungen bereit).
Ich weiß nicht, ob wir bereits eine Skala für Buchbewertungen entwickelt haben, aber aus den oben gennanten Punkten ergibt sich für mich eine Punktzahl von 9 aus 10. Also ein Spitzenbuch, nur leider nicht mehr ganz taufrisch.
Nachtrag: Nach dem 5-er Bewertungssystem (von Amazon) hat dies Buch 5 von 5 Punkten verdient.

XML Schema - The W3C's Object-Oriented Descriptions for XML

cover Autor: Eric van der VList
ISBN: 0-596-00252-1
Preis: € 40.00
Sprache: Englisch
Mehr Informationen, sowie Probekapitel: XML Schema - O'Reilly.com, XML Schema - O'Reilly.de

Am Anfang gibt der Autor eine Einführung in XML Schema. Es wird ein "Hello-World"-Schema erstellt. Anhand von praxisortientieren Schemata führt der Autor durch das Buch. Es werden ID's, IDRef's, Namespaces ausführlich besprochen. Auch auf den Unterschied von simplen und komplexen Datentypen wird ausführlich eingegangen. Es gibt etliche nützliche Tipps und es wird vor vielen gemeinen Fehlern gewarnt - so wie man es von O'Reilly kennt und schätzt.
Van der VList widmet ein ganzes Kapitel der Dokumentation von XML Schemata. Ein wichtiges Thema, wie ich finde. Es wird gezeigt, wie man ein Schema sauber dokumentiert und dafür sorgt, dass es wartbar bleibt.
Am Ende des Buches findet man noch eine Element und Datentyp Referenz. Im Anhang wird noch auf einige XML Schema Sprachen wie Relax NG oder Schematron eingegangen.
Der Autor sollte in den Beispielen Leerzeilen verwenden. Ohne Leerzeilen sind die langen Beispiele etwas unleserlich.
Persönliche Meinung: Gutes Buch um XML Schema zu lernen. Man sollte sich allerdings mit den Grundlagen von XML auskennen. Um die Voraussetzungen zu schaffen kann man "Learning XML" von O'Reilly lesen.


Für alle Links dieses Webangebots und seiner Unterseiten gilt:
"Ich habe keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten. Deshalb distanziere ich mich hiermit ausdrücklich von allen Inhalten aller gelinkter Seiten."

Der Webmaster