[Rezension] Fortgeschrittenes ‘git’

January 29th, 2015

Rezension des Buchs: Mike McQuaid. Git in Practice. Manning. 2014.

Ich benutze git zwar schon ein paar Jahre, wollte aber mehr Hintergrundwissen haben und komplexere Abläufe kennenlernen. Das ist dem Buch zum einen gelungen, trotzdem habe ich irgendwie das Gefühl, das das nicht alles gewesen sein kann. Als Beispiel wollte ich wissen, wie man große Dateien endgültig aus dem Repository und aus der Historie entfernen kann. Auch wird “git replace” nicht erwähnt.

Nun gut, ich habe trotzdem viel aus diesem Buch gelernt und die Sachverhalte werden gut beschrieben und erklärt. Leute mit Grundwissen über git können dieses Buch mit Gewinn lesen. Experten werden aber nicht davon profitieren.

[Rezension] Zu kurzer Einstieg

January 27th, 2015

Rezension des Buchs: Michael P. McGrath. Understanding PaaS. O’Reilly. 2012.

Es ist ein sehr kleines Büchlein über die Grundlagen des Cloud Computings. Es kann gelesen werden, um sehr schnell in die Thematik einzusteigen. Es ist eher für Entwickler geschrieben, als für CEOs.

Die Beispiele mit OpenShift sind leider schon etwas veraltet, geben aber die ungefähren Arbeitsschritte wieder.

Also nur als ersten Schritt lesen. Und es ist sehr kurz. Aber das Geschriebene ist gut.

[Rezension] Solide Optimierungstipps

January 26th, 2015

Rezension des Buchs: Gregory Ruetsch, Massimiliano Fatica. CUDA Fortran for Scientists and Engineers. Morgan Kaufman. 2013.

Beim Stöbern in diesem Buch habe ich gesehen, dass die Autoren wertvolle Optimierungstipps geben. Da bin ich neugierig geworden. Ich selber bin kein Fortran-Programmierer, kann daher das Buch aus dieser Perspektive nicht beurteilen. Aber für mich C++-Entwickler bietet dieses Buch viele wertvolle Hinweise über die Optimierung von CUDA-Kerneln. Als Beispiel kann hier die mathematisch präzise Analyse der “Fused Multiply Add (FMA)”-Operation in Abschnitt 5.2.1 genannt werden. Das Buch wurde von zwei sehr kompetenten Autoren geschrieben und ist sehr solide. Die Autoren arbeiten beide bei NVIDIA, verfügen daher über Insider-Informationen.

Das Buch ist leider schon ein wenig veraltet, die aktuelle Maxwell-Architektur ist erst 2014 erschienen. Im Buch wird die Kepler-Architektur bis zur Compute Capability 3.5 behandelt.

Einen Punkt Abzug gibt es aber, doch, weil im Anhang auf 61 Seiten Source-Code ausgedruckt wurde. Das ist doch heute nicht mehr zeitgemäß, den kann man sich herunterladen.

[Rezension] Die wunderbare Welt von P2P

January 21st, 2015

Rezension des Buchs: Jeffrey Tucker. Bit by Bit: How P2P Is Freeing the World. Liberty.me. 2015.

In diesem Buch erläutert der Autor die weltanschaulichen Hintergründe von Peer-to-Peer-Netzwerken und von Bitcoin. Der Autor konzentriert sich hier auf seine philosophische und ökonomische Sichtweise, dem Libertarismus, einer Marktwirtschaft mit Privateigentum ohne Staat.

P2P-Netzwerke ermöglichen die “Equipotency”, d.h. die gleiche Verteilung von “Power” an alle Teilnehmer. Der Autor bringt hier ein Beispiel, das mit Bitcoin digitaler Handel auch für ärmere Menschen möglich ist, die keine Kreditkarte bekommen oder in einem Land ohne Kreditkartensystem leben.

Aufgrund der dezentralen Organisation lassen sich P2P-Netze nicht einfach verbieten oder zensieren. Sie sind daher nach Meinung des Autors ein Garant der persönlichen und der wirtschaftlichen Freiheit.

Schön zu lesen ist die Analyse von Bitcoin als Währung aus Sicht der österreichischen Schule der

[Rezension] Fast definitiv

January 16th, 2015

Rezension des Buchs: Kristina Chodorow. MongoDB: The Definitive Guide. O’Reilly. 2013.

Das Buch ist ein gelungener Überblick auf MongoDB sowohl aus Entwickler- als auch als DBA-Perspektive. Jedenfalls soweit ich das als MongoDB-Einsteiger mit mehr als 11 Jahren Data-Warehousing-Projekterfahrung sagen kann. Es ist mein erstes Buch über MongoDB und man kann es daher auch als Einstieg benutzen.

Warum nur vier Sterne?

- Ich hätte gerne das erlernte Wissen anhand von Aufgaben überprüft. Hier fehlen Beispielaufgaben.

- Mir fehlt auch ein Überblick über das gesamte MongoDB-

[Rezension] Nur teilweise elegant

January 12th, 2015

Rezension des Buchs: Brian Greene. The Elegant Universe: Superstrings, Hidden Dimensions, and the Quest for the Ultimate Theory. Kindle. 2011 (orig 1999).

Im ersten Teil des Buches werden die Grundlagen der Relativitätstheorie und der Quantenmechanik anschaulich und mit tollen Beispielen erklärt. Es ist die beste Einführung, die ich bisher gelesen habe und klar 5 Sterne.

Mit dem zweiten Teil habe ich allerdings Probleme, denn er ist nicht bodenständig genug. Der Autor schreibt z. B. in Kapitel 11 als “Ich-Erzähler” über seine Entdeckungen und mit welchen Professoren er diskutiert hat. Das liest sich nicht wie ein Sachbuch, sondern wie eine Autobiographie. Der Autor verliert hier die kritische Distanz zu seiner eigenen Forschung. Und er vergisst meiner Meinung nach auch zu oft, dass es sich bei der String “Theory” nur um eine Hypothese handelt.

Denn in der Physik werden mathematische Modelle erstellt, die die physikalische Realität möglichst genau darstellen sollen. Zuerst wird eine Vermutung, eine Hypothese als Menge von Formeln aufgestellt. Erst wenn die Formeln genügend oft in Experimenten überprüft bzw. verifiziert wurden und sie hinreichend genaue Ergebnisse liefern, werden sie als “korrekt” eingestuft und das Modell wird dann als “Theorie” bezeichnet. Korrekterweise dürfte man daher nicht von “string theory” oder “big bang theory” sprechen, da es sich noch um Hypothesen handelt.

Die “String-Theorie” ist zum jetzigen Zeitpunkt nur ein mathematisches Modell, ein Konzept. Es ist eher theoretische Mathematik als Physik. Die String-Teilchen sind so klein, man kann sie weder physikalisch untersuchen, noch mit Computern sinnvoll simulieren.

Es ist wohl noch zu früh für die String-Theorie (bzw. die Superstring- oder M-Theorie). So forschen die Forscher schon mal auf Vorrat in der Hoffnung, dass sie die fehlenden Puzzleteile finden. Ob es ökonomisch sinnvoll ist, eine Nadel in einem Heuhaufen zu suchen, ist eine andere Frage. Das ging nicht in meine Benotung ein. Mir ist der Autor nicht selbstkritisch genug.

[Rezension] Mein Lieblings-Geschichtsbuch

January 12th, 2015

Rezension des Buchs: James Gleick. The Information : a history, a theory, a flood. Pantheon Books. 2011.

James Gleick ist ein wahnsinnig belesener Mensch, der in diesem umfangreichen und lesenswerten Buch die Geschichte der Information und der Informationsverarbeitung darstellt. Äußerst bemerkenswert ist, dass sich der Autor in beiden “Kulturen”, den Geisteswissenschaften und den Naturwissenschaften, sehr gut auskennt.

Wie der Untertitel des Buches bereits verrät, wird zuerst die Geschichte der Information erläutert. Hier macht der Autor einen großen Bogen von Trommelsprachen und Keilschriften über den Buchdruck, Wörterbücher, Charles Babbage, Telegraphie, Morse-Codes und Telefonie hin zu den heutigen Computern. Es ist äußerst bemerkenswert, was der Autor da alles zusammengetragen hat. Sehr gut gefallen hat mir, das hier auch die physikalischen Grundlagen der Dampfmaschinen bzw. der Elektrizität berücksichtigt werden.

Später im Buch wird die Entwicklung der modernen Logik, der Informationstheorie und der Wahrscheinlichkeitsrechnung und deren Grundlagen erklärt. Für ein Buch, das sich an die Allgemeinheit richtet, habe ich hier als Informatiker keine Wünsche offen.

Interessant beschrieben werden auch die Auswirkungen auf die anderen Fächer wie z. B. der Physik oder der Psychologie. Die Diskussionen zur Zeit der Gründung von neuen Fächern, wie z. B. der Kybernetik, der Informatik und der Kognitionswissenschaften sind interessant.

Schließlich wird abschließend die heutige Situation beschrieben und die Datenflut behandelt. Aber diese Entwicklung ist noch nicht abgeschlossen, denn es wird ja z. B. heute von einem “Internet der Dinge” geredet, das noch mehr Geräte miteinander verbinden soll und noch mehr Informationen verarbeiten soll.

Es ist bei diesem komplexen Thema sehr schwierig, ein Buch zu schreiben, dass sich an die Allgemeinheit richtet und von allen akzeptiert wird. Es dürfen einerseits nicht zu viele und zu komplexe mathematische Formeln vorkommen, noch dürfen die kulturellen Hintergründe zu ausführlich beleuchtet werden. Ansonsten springt eine der Zielgruppen ab. Ich finde, James Gleick hat hier einen vernünftigen Kompromiss gefunden.

Fazit: Das Buch ist kein Lehrbuch der Informationstheorie, aber es ist als Geschichtsbuch und Grundlagenbuch sehr lesenswert.

[Rezension] Wenn Java 8, dann “Java 8 in Action”

December 17th, 2014

Rezension des Buchs: Urma, Fusco, Mycroft. Java 8 in Action: Lambdas, Streams, and Functional-Style Programming. Manning. 2014.

Mit Java 8 ist Java endlich wieder eine moderne Programmiersprache. Für einen Entwickler ist das allerdings mit Lernaufwand verbunden. Es lohnt sich aber, mit den alten Programmiergewohnheiten zu brechen und sich einen funktionaleren Java-Stil anzueignen. Damit werden die Programme kürzer, modularer und einfacher zu warten. Man wird aber durch das Erlernen der neuen Syntax noch kein funktionaler Java-Entwickler. Hierzu muss man auch die funktionale Methodik und Patterns erlernen.

Und hier brilliert das Buch meiner Meinung nach. Die wichtigsten Neuigkeiten von Java werden anhand von Beispielprogrammen sorgfältig erläutert. Die Autoren haben genügend Fachkenntnisse auch die schwierigeren Stellen gut rüberzubringen. Auch der Ausblick auf die weitere Entwicklung von Java und die augenblicklichen Schwachstellen ist äußerst lesenswert.

Es gibt leider einen kleines Manko: es gibt keine Hinweise auf weiterführende Literatur.

Wenn man Java 8 lernen will, ist dieses das eine Buch, was man gelesen haben sollte. Das Buch hatte ich im MEAP-Programm gekauft und ich war so begeistert, dass ich ein Reviewer des Buchs wurde, siehe Seite xix.

[Rezension] “Anspruchsvolles” JavaScript

December 17th, 2014

Rezension des Buchs: Angus Croll. If Hemingway Wrote JavaScript. No Starch Press. 2014.

Wenn es “anspruchsvolle” Literatur gibt, dann gibt es jetzt auch “anspruchsvollen” Code.

Schriftsteller kann man an ihrem Stil erkennen, das kennen wir alle schon aus der Schule. Der eine beschreibt alle Details einer Szene und ist langatmig, der andere ‘huscht’ nur so durch die Action. Auch unterscheiden wir hier zwischen den Genres, ob jemand realistisch, surreal oder Fantasy schreibt.

Im Gegensatz zu den natürlichen Sprachen, bei denen jedes Individuum seinen eigenen “Ideolekt” hat, wird bei formalen Sprachen von einem normierten Sprachgebrauch ausgegangen. Ist schon jemand mal der Frage nachgegangen, ob es unterschiedliche Stile bzw. Kulturen bei der Programmierung gibt? Also nur innerhalb einer Sprache selbst, nicht zwischen den unterschiedlichen Sprachen oder gar Paradigmen?

Der Autor hat sich überlegt, wie Schriftsteller in JavaScript programmieren würden, wenn sie ihre Eigenheiten aus der Schriftstellerei auf die Programmierung übertragen würden.

Hierzu gibt es 25 Programme von 25 bekannten Schriftstellern/innen, die grundlegende Funktionen, wie z. B. die Fibonacci-Zahlen, die Fakultätsfunktion oder Primzahlen berechnen. Und hier wurde ich sehr vom Autor überrascht, er hat sich hier wirklich tief hineingedacht und auch 25 verschiedene “Programmierstile” “erfunden”. Eigentlich gibt es bei jedem Programm etwas zu entdecken.

Ich kann dieses Buch allerdings nur Programmierern empfehlen, die JavaScript genügend kennen, um die Programme nachvollziehen zu können. Denn einige der Programme sind schon raffiniert, wie z. B. die mit eval und Array.join versteckten Schleifen in Lewis Carrol’s Programm. Auch sollte man genügend Grundinteresse an Literatur haben und evtl. ein paar Schriftsteller schon kennen. Ich muss auch zugeben, dass ich ein paar Schriftsteller nicht kannte. Aber die Schriftsteller werden immer kurz auf 2-3 Seiten vorgestellt und da kann man die Pointen im Code dann schon nachvollziehen. Das Buch regt dazu an, über Programmierstile nachzudenken. Manche der Programme sind wirklich einfach zu verstehen, andere hingegen nur schwer, z. B. das von Douglas Adams.

Ein paar Einschränkung gibt es aber: Der Autor scheint selber Geisteswissenschaftler zu sein und geht sehr unkritisch mit der eigenen Zunft um. Auch ist dieses ganze soziale Trallala der Pädagogen, Soziologen und Gutmenschen in den Beschreibungen der Autoren vorhanden. Er schreibt sogar in der Einführung “Students of the humanities are more likely to have an inductive, open-ended approach to reasoning”. Das ist ganz grober Unfug. Ich selber habe neben Informatik als Hauptfach “Kommunikationsforschung und Phonetik” als Nebenfach an einem geisteswissenschaftlichen Institut studiert, kenne daher beide Welten. Auch hätte sich das in der Praxis bei den Firmen schon längst herumgesprochen und die Stellenanzeigen würden entsprechend aussehen.

Fazit: Ich kann das Buch nur empfehlen. Es ist allerdings ein wenig wie ein Krimi: wenn man die Lösung kennt, ist es nicht mehr so spannend.

P.S. Und einen kleinen Fehler habe ich auch gefunden:

Auf S.96 in Zeile 7 ist der Aufruf von doFissionOn() nicht fett, sondern ausgegraut. Beim ersten Überfliegen des Codes denkt man, das wäre ein Kommentar.

[Rezension] Lesenswert, aber mit Schwächen – Rezension von “Ready Player One”

August 9th, 2014

Rezension des Buchs: Ernest Cline. Ready Player One. Kindle. 2011.


Warnung: Diese Rezension enthält Spoiler.


Das Buch hat fast das Potential ein absoluter Klassiker zu werden in der Größenordnung eines “Hitchhiker’s Guide trough the Galaxy”.

Die geniale Idee des Autors ist es, 80er-Jahre-Nostalgie und ein Massively Multiplayer Online Game (MMO, MMOG) mitander zu verknüpfen und zum Gegenstand eines Romans zu machen.

Hier werden viele Computerspiele, Filme und Muskbands aus dieser Zeit genannt. Bei den Computerspielen finde ich die Auswahl gut, bei den Filmen nicht mehr so und bei der Musik eher nicht. Das ist aber nicht so schlimm und es hätte noch klar 5 von 5 Sternen gegeben.

Aber anscheinend konnte der Autor der Versuchung nicht widerstehen, ein paar gesellschaftskritische Standardthemen einzubauen, die man z. B. aus dem deutschen Fernsehen schon zu genüge kennt. Wie z. B. Umweltverschmutzung, Rassismus (einer der Helden ist eine Afro-Amerikanerin und Lesbe, die in der virtuellen Welt lieber männlich und weiß ist) und gierige Konzerne ohne Moral. Die Rolle des Staates hierbei wird natürlich nicht hinterfragt.

Noch schlimmer ist, das der Protagonist Parzival charakterlich keine Entwicklung durchmacht. Er ist am Ende nur in der virtuellen Welt von Level 3 auf Level 99 aufgestiegen. In der “Real World” macht er irgendwie plötzlich einen Sprung vom dicken Nerd zum Superagenten, der sich in den Hochsicherheitstrakt einer Computerfirma einschleicht und diese ausspioniert. Die Herausforderungen, die der Held überwinden muss, sind hingegen fast alle mit Computerspielen oder Rätseln verbunden. Er muss nicht an sich persönlich arbeiten, sich überwinden oder verbessern. Er löst Probleme, in dem er sein Wissen über die 80er Jahre vergrößert oder in dem er seine Fähigkeiten verbessert, Computerspiele aus den 80ern zu spielen.

Ganz schlimm wird es, als “Og” einfach so erscheint, wie ein “Deux Ex Machina”. An dieser Stelle war ich wirklich enttäuscht. Das ist schummeln, wenn man dem Helden einfach einen übernatürlichen Freund an die Seite stellt.

Alles in allem: lesenswert, aber mit Schwächen.


Copyright © 2007-2015 Jörn Dinkla. All rights reserved.

###ENDMATTER