Am Rande notiert ...

Deutlich erhöhte Strahlung in der Asse. Wieso glauben eigentlich immer noch Atomkraft-Vertreter die Atomkraft vertreten zu müssen, wenn wir nicht mal in der Lage sind ein Lager für schwach und mittel radioaktive Materialien wie die Asse sicher und ohne Probleme zu betreiben? Schliesslich ist das doch ein Lager in einem hochindustriellen Land, das nach Behauptung der Atomkraft-Vertreter die höchste Kompetenz bei Atomkraft habe. Wieso muss erst in Japan ein Reaktor abfackeln damit die Leute kapieren, dass unsere heile Atom-Welt gar nicht so heile ist? Wo wir doch die Probleme alle schon lange vor der eigenen Tür (und dahinter!) haben?

Akka Project. Und das hatte ich definitiv schon mal auf dem alten Blog, aber egal, im Fernsehen wird auch dauernd alles wiederholt. Und bei Akka hat sich ein Haufen getan in der letzten Zeit und es etabliert sich immer mehr als die zukünftige Plattform für ausfalltolerante Systeme auf der JVM. Viele Parallelitäten in den Ideen mit Erlang, aber eben mit der JVM-typischen breiteren Plattform (gibt einfach kaum was wofür es nicht irgendeine Klassenbibliothek für Java gibt und damit auch für Scala). Sehr interessant: Akka bringt eine Implementierung von Software Transactional Memory für die Java-Plattform.

Programming Scala. Hatte ich glaub ich schon mal, aber egal: das zweite online frei verfügbare Buch über Scala, über das ich heute gestolpert bin. Kann man ja auch gegenlesen mit dem anderen, ist aber auf ähnlichem Sprach-Stand (also vor 2.8).

ScalaQuery. Ja, Scala-Day heute. Eine der Sachen die mir bisher fehlten war eine gute Integration von Datenbanken, die von den DSL-Features und der Typsicherheit von Scala auch Gebrauch macht. Also nicht einfach nur per JDBC SQL durch die Gegend schicken, sondern sowas wie LINQ, nur eben für Scala. Das hier sieht schon recht nett aus.

Programming in Scala, First Edition. Und weil ich gerade Scala habe: die erste Auflage von Programming in Scala ist jetzt frei im Web verfügbar. Natürlich fehlt einiges das mit der aktuellen Scala-Version reingekommen ist (speziell die Container-Libraries sind ja doch anders in 2.8), aber um in die Sprache reinzulesen ist das trotzdem sicherlich ein guter Startpunkt.

Scala IDE for Eclipse. Hmm, so langsam scheinen die Werkzeuge sich dort zu entwickeln. Ich habe ja grundsätzlich nichts gegen Kommandozeilen und bin auf denen viel mehr zu Hause als in IDEs, aber für die allgemeine Akzeptanz von Sprachen sind IDEs dann doch recht praktisch. Und Scala ist immer noch eine der interessanteren Sprachen im JVM Umfeld, auch wenn es in der letzten Zeit recht ruhig darum geworden ist.

agronholm / jython-swingutils. Noch keine Idee was ich damit machen könnte, aber falls mal die Java-Welt interessant ist, könnte das als GUI Bibliothek interessant werden (Swing für Jython).

Code rant: Message Queue Shootout!. Kein echter Shootout und nur eine unvollständige Auswahl an Messagequeues. Aber trotzdem was interessantes als Ergebnis: wenn man Knoten hat, die schon eigene Persistenz und Transaktionslösungen haben, zwischen denen man nur maximal schnell Nachrichten schicken will – es gibt dann nichts besseres als  ZeroMQ. Es ist – bedingt durch seine Architektur – schlichtweg die schnellste Lösung. Und wir reden hier von wirklich drastischen Unterschieden.

NOSQL Databases. Sehr gute Übersicht über alle möglichen verfügbaren NoSQL-Datenbanken. Guter Startpunkt wenn man sich über die verfügbaren Systeme und deren Ausrichtung und Implementierung infomieren will.

BBC News – Net giants challenge French data law. Ganz tolle Idee aus Frankreich, zwangsweises speichern von Klartextpasswörtern, damit die dann an jede dahergelaufene Behörde abgegeben werden. Wird doch bestimmt dem Bundesinnenfriedrich auch gefallen, wo der doch so wild auf alle Daten ist … (Diskussionen auf reddit behaupten, bbc hätte die Sachlage falsch dargestelt, es ginge nur um die Speicherung von Accountdaten auch nach Schliessen des Accounts für ein Jahr – wenn ein Dienst das nicht macht, wird er nachträglich für Aktivitäten der nicht mehr identifizierbaren User haftbar gemacht – also nicht ganz das, was man aus dem BBC Artikel lesen könnte)

Warum die VISA-Warndatei eine Schweinerei ist bei Metronaut.de – Big Berlin Bullshit Blog. Die Visa-Warndatei betrifft mich direkt und persönlich. Meine Verlobte ist Russin, ihre Familie lebt auch weiterhin in Russland, Besuche werden wir aber trotzdem machen und bekommen wollen. Ich kann mich also schon mal von jeder Illusion von Datenschutz für mich und Juliana verabschieden. Natürlich hat ein Staat das Recht, sich vor Missbrauch zu schützen – aber Generalverdächtigung nur auf Grund der Nutzung von rechtlichen Möglichkeiten ist immer falsch. Und die Visa-Warndatei ist nichts anderes als die Generalverdächtigung von Bürgern, nur weil sie im Rahmen eines Visumsantrages mal vorkommen. Mit Rechtsstaat hat das nichts mehr zu tun.

visionmedia/asset. Nachdem ich schon pip (für Python Module) und jip (für Java-Libraries) hatte, hier ein analoges Werkzeug für JavaScript Bibliotheken. Also zur automatischen Installation von JavaScript-Libraries in node.js Projektverzeichnisse von der Kommandozeile aus.

jRumble | A jQuery Plugin That Rumbles Elements. Das neue Blink-Tag! (okok, gibt durchaus sinnvolle Anwendungen, z.B. wenn man ein Element auf der Webseite kurz anzeigen lassen will, dass dort was passiert ist – analog zu hüpfenden Icons im OSX Dock).

Python Package Index : pip 1.0. Der Vollständigkeit halber hier geblogmarkt, auch wenn pip für mich mitlerweile eh fester Bestandteil der Python Infrastruktur ist. Aber vielleicht hat der eine oder andere ja noch nicht mit pip rumgespielt, dann ist jetzt wohl der richtige Zeitpunkt gekommen. Man sollte es meiner Meinung nach immer zusammen mit virtualenv benutzen, denn dann kann man einfach für jedes Projekt genau die passenden Abhängigkeiten installieren und sauber von anderen Projekten trennen.

sunng87/jip. Im Moment mache ich nicht so viel mit Jython, aber jip klingt sehr praktisch: es ist ein Analog zu pip, aber für Java-Libraries. Also ein einfaches Kommandotool, welches die notwendigen Jar-Files runterlädt und an den richtigen Ort packt. Integriert mit virtualenv. Für mich deutlich angenehmer als zum Beispiel mit Maven oder ähnlichen Java-üblichen Infrastrukturtools rumzumachen.

Exploring Beautiful Languages: A quick look at APL. Einfach weil mich APL immer begeistert hat. Auch wenn ich nach eigenen Erfahrungen damit nie in die Verlegenheit geraten will, ein APL Programm warten zu müssen – für mich ist APL das Musterbeispiel für write-only Sprachen.

How I learned to stop worrying and write my own ORM. Ein bischen Hintergrundinformation warum Dapper entwickelt wurde und welche Problemfälle es löst – im Prinzip wird es dort eingesetzt, wo bisher aus Performancegründen direkte SQL Zugriffe über Linq „getunnelt“ benutzt wurden, weil Linq2Sql dort ineffizient ist.

dapper-dot-net – Simple SQL object mapper for SQL Server. Könnte eventuell ja ganz interessant auf der Arbeit sein. C# bietet ja auch Linq an, aber nach deren Messungen scheint Dapper deutlich auf Performance getrimmt zu sein.

philikon / python-weave client ist fast noch interessanter als das andere Tool: eine Python-Bibliothek zum Zugriff auf Mozilla Sync. Damit könnte ich mir diverse kleine Tools bauen, die Links automatisch in Bookmarks einmischen oder aus dem Sync rausholen und in andere Bookmarkdateien reinwandern lassen. Oder wie wäre es mit einem Cronjob, der aus den Bookmarks aus einer speziellen Gruppe Links rausnimmt und automatisch ins Weblog postet? Lauter lustige Spielereien sind möglich …

philikon / weaveclient-chromium. Noch nicht ausprobiert, es ist eine Chrome-Erweiterung die Mozilla Sync in Chrome und Chromium integriert. Damit könnte man endlich die Bookmarks zwischen Chrome und Firefox austauschen ohne über XMarks gehen zu müssen. Wenn jetzt noch jemand diese Extension auch für Safari baut, wäre ich glücklich – die Tatsache, dass ich zwischen den Browsern nicht vernünftig syncen kann, sondern jeder sein eigenes Süppchen kocht, ist hochgradig nervig. Mozilla Sync ist frei zur Nutzung und dahinter steht ein Laden, dem ich in dem Bereich deutlich mehr traue als allen anderen.

Bill Gates: “In toilets, we’re the kings”. Als Chef von Microsoft fand ich ihn nervig. Als Organisator seiner Foundation find ich ihn erstaunlich. Ich mach mir nix vor – er ist eine Ausnahme, andere Milliardäre sind warscheinlich weitaus weniger zu motivieren, aber egal. Einer ist ein Anfang. Und vielleicht ist es einfach nur der Nerd in ihm, der mit all dem Geld irgendwas machen will, einfach weil er garnicht nur wegen des Geldes und der Macht dabei war. Und das macht vielleicht dann auch das eine oder andere aus seiner Microsoft-Zeit erklärlicher – er hat wohl wirklich an seine Arbeit dort geglaubt. Nunja, wenn seine Stiftung weiter macht und Menschenleben rettet, dann verzeih ich ihm auch Windows. Ich muss es ja nicht benutzen.

Video LightBox – binden Sie Videos mit Lightbox Effekt in Ihre Internetseite ein!. Ich mach ja nix mit Video, aber sieht ganz interessant aus – das ist ein standalone Tool, welches die Files für die Video-Einbettung erzeugt und z.B. per FTP irgendwohin schicken kann. Mac und Windows Versionen.

Pipe ist ein Modul mit infix-Syntax für verkettete Funktionsaufrufe über potentiell lazy streams (intern sind das Generatoren). Im Gegensatz zu stream (hatte ich hier schon mal) ist es ohne Unterstützung von Parallelität, also einfach nur syntaktischer Zucker. Mir gefällt allerdings der von stream besser (also der Zucker) und die Parallelität von stream ist auch interessanter als nur eine etwas andere Syntax zu liefern.

markrendle/Simple.Data – GitHub. Sollte ich mir mal angucken, sieht ganz interessant aus – ein ORM für .NET.

Basho: An Introduction to Riak. Müsste ich mir auch mal genauer angucken, hat eine recht saubere und einfache Architektur und alle Knoten im System sind gleichwertig (das ist ähnlich zu Cassandra). Das ganze ist hier in Erlang geschrieben, aber interessant ist die MapReduce-Schnittstelle: Funktionen können als JavaScript Code reingeliefert werden und die Kommunikation geht über ein simples JSON Interface.

HBase vs Cassandra: why we moved « Dominic Williams. Nicht ganz uninteressanter Blog-Post, der einen Vergleich von Hadoop/HBase mit Cassandra wagt und die verschiedenen Schwerpunkte herauszuarbeiten versucht. Sein Fazit: HBase ist mehr für Warehousing, Cassandra mehr für Transaction-Processing. Allein dadurch wäre sowas wie Brix noch viel interessanter, wenn es diese beiden Aspekte wirklich vereinen kann.

Brisk – Apache Hadoop™ powered by Cassandra | DataStax. Sollte ich auch mal beobachten, da verheiratet jemand Hadoop mit Cassandra als Backend. Dadurch werden Higher-Level-Layer aus dem Hadoop Projekt auch mit der hohen Performance von Cassandra nutzbar und vor allem mit dem freieren Update von Daten in Cassandra und dessen eventually-consistent-Modell.

HIVE: Data Warehousing & Analytics on Hadoop. Ein Punkt, der mich im Moment stark interessiert: Auswertungen, speziell BI, von großen Datenmengen. Hadoop liefert dafür Hive als Lösungsansatz. Zugriff auf HIVE kann nicht nur über Thrift geschehen, sondern auch über JDBC und ODBC.

Apache Thrift. Auch mal genauer angucken, im Prinzip etwas ähnliches wie Google Protocol Buffers, nur eben im Apache-Umfeld stärker vertreten. Dadurch in Ecken wie Hadoop oft als Weg der Wahl für den Zugriff von verschiedenen Sprachen auf Services vorgesehen. Ein kleiner Vergleich der beiden Protokolle. Mir gefällt, dass Thrift nicht nur die binäre Darstellung erlaubt, sondern auch eine JSON basierte Darstellung – dadurch wird die Integration der Thrift-APIs in Weblösungen einfacher, da JSON ja nunmal JavaScript native ist.

The Secrets of Building Realtime Big Data Systems. Darüber bin ich auf Cascalog und ElephantDB gestoßen: ein Vortrag des Programmierers der beiden Projekte über Große Datenbanken. Er schreibt auch gerade an einem Buch „Big Data“. Könnte sehr interessant sein.