Archiv 25.3.2011 - 16.4.2011

Und weil ich grade von Schleuse schreibe ...

... die wird derzeit umgebaut (verbreitert). Und ich fürchte, das hochmoderne Ergebnis wird mich nicht so begeistern wie die alte Schleuse. Die alte hatte wenigstens Charme. Die Baustelle selber ist natürlich allein schon wegen ihrer Größe interessant, trotz allem.

Münster. In Schwarzweiß.

Jaja, doofer Titel, aber mir fällt einfach nix anderes dazu ein. Sind halt ein paar Ecken die mir einfach gefallen haben als Schwarzweißbilder. Irgendwann muss ich mir mal einen Weg einfallen lassen, wie ich Fotos auch ohne Titel und Text in meinem Blog präsentieren kann. Bilder mit der M8 und dem C-Biogon 2.8/35. Das entwickelt sich langsam zu meinem Lieblingsobjektiv an der M8.

Toshiba veröffentlicht selbstlöschende Laufwerke. Was könnte schon schiefgehen.

Is Chernobyl a Wild Kingdom or a Radioactive Den of Decay?. Über die Legende, dass Tschernobyl heute ein Paradies für Tiere ist - die Untersuchungen deuten eher darauf, dass es eine Todesfalle ist und nur deshalb die Tiere dort sind, weil sie aus umliegenden Gebieten dort hineinwandern - schließlich können sie ja keine Radioaktivität sehen und die Folgen der Strahlung dort sind eher heimtückisch, weil sie die Fortpflanzung massiv behindern. Oh, und die ganze Region soll laut Beschluss diesen Jahres für den Tourismus geöffnet werden ...

VirtuaWin - Virtual Desktops for Windows. Weil gerade jemand fragte, ob es sowas gibt. Ich brauchs ja nicht. Ich benutz ja ein Betriebssystem.

Re: Factor: XKCD. Wer einen Eindruck in eine der verrückteren Sprachen haben will - John Benediktssons Blog hat eine Menge an Beispielschnipseln in Factor, die üblicherweise direkt in der Factor REPL benutzt werden können (oder überschaubare Vokabularerweiterungen erstellen). Mich beeindruckt immer wieder die Kompaktheit von Factor-Code. Johns Code hat auch den Vorteil, das ich in der Regel gut verstehen kann, was da passiert - Slavas Code zum Beispiel ist da oft deutlich idiomatischer und dadurch kryptischer für mich. Liegt aber sicherlich auch daran, dass Slava in der Regel über Internas der Sprache schreibt, während John einfach kleine Spielereien beschreibt.

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.

Why do I do what I do

Wenn ich das bloß wüsste ... (Existentialismus am Abend kuriert man am besten mit Guinness. Dosierung nach Bedarf.)

Männerspielzeug

Und ich fahr nicht mal gerne mit dem Auto ... (jaja, Münster, das Sylt Westfalens)

USB Port

Uli Stemmler Band am Hafen. Seht ihr was ich gemacht hab? Haha. Ok, bin ja schon ruhig. Macht aber netten Sonntag-Nachmittag-Jazz, die Truppe. Foto mit der Sony NEX-3 und dem Zeiss C-Biogon 2.8/35.

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.

Krümeltorte

Heute wieder nix gekocht, weil war ja gestern in Hamburg, aber dafür einen Kuchen gebacken. Ich mag Krümeltorte, unter anderem weil sie so trivial herzustellen ist. Das kommt rein (für eine 26cm Springform):

  • 300g Mehl
  • 200g Zucker
  • 150g Butter
  • 1 Ei
  • 1 Pack Vanillezucker
  • 1/2 Pack Backpulver
  • etwas Zimt
  • 250g Aprikosen (also kleine Dose)
  • etwas Preiselbeermarmelade (optional)

Die Zubereitung ist dann ziemlich einfach:

  1. Mehl, Zucker, Vanillezucker, Backpulver, Zimt - alles vermengen.
  2. Obst abtropfen lassen (den Saft mit Tonic Water und Eiswürfel gibt einen leckeren alkoholfreien Cocktail)
  3. Ofen auf 180C vorheizen
  4. die Butter heiss machen
  5. das Ei aufschlagen
  6. Butter und Ei in das Mehl+Zucker-Gemisch
  7. mit Dreimix und Knethaken durchkneten bis Krümeliger Teig entsteht (geht auch mit einer Gabel und von Hand, aber mit Dreimix ist es bequemer)
  8. 2/3 des Teiges in der eingefetteten Springform verteilen und am Boden andrücken, evtl. auch einen kleinen Rand machen
  9. mit Gabel ein paarmal in den Boden stechen
  10. Preiselbeermarmelade auf Boden des Teiges verstreichen
  11. Aprikosen drüber verteilen
  12. restlichen Krümelteig gleichmäßig oben drüber verteilen
  13. das ganze in den Ofen bei 180C für 45 Minuten
  14. rausnehmen und abkühlen lassen (nicht so gierig sein, auch wenns gut riecht)

Kann man gut Sahne drauf tun, oder auch einfach so essen oder Puderzucker drüber streuen (wobei es so schon einen ziemlich süßen Kuchen ergibt, also nicht übertreiben). Tipp: den Randbereich nicht zu dick lassen, sonst wird das hinterher ein recht harter Teil der sich schlecht schneiden lässt. Und natürlich kann man das Obst nahezu frei varieren, auch Apfelmuss statt Obst rein geht klasse, genauso wie natürlich Kirschen oder Pflaumenmuss (wird aber recht fest wahrscheinlich). Das schöne dran, fast alles kann man auf Vorrat im Haus haben und die Eier kann man ja vielleicht vom Nachbarn kriegen (ich hab halt nicht damit gerechnet, backen zu wollen, als ich Samstag noch schnell einkaufen war).

Sammelsurium aus Hamburg

War Samstag mal wieder in Hamburg - warum das schöne Wetter nicht in einer der schönsten Städte Deutschlands genießen. Die Bilder sind alle mit der Leica M8 und dem Elmar-M 2.8/50 gemacht, ausser dem letzten, das ist mit der Ricoh GRD II. Nix besonderes, einfach nur so ein Sammelsurium von dem was ich mir angeguckt habe. Und in Farbe, weil ich sie Juliana zeigen will.

Pängelanton

Der Karnevalsverein Pängelanton betreibt in Münster Gremmendorf ein kleines Eisenbahnmuseum und vor dem steht diese schwarz-rote Schönheit mit dem Baujahr 1902. Ich bin ja Eisenbahnfan und diese kleine Lok ist durchaus eine Rarität, die auch Besucher aus ferneren Gegenden zum Besuch motiviert. Foto mit der Ricoh GRD II gemacht.

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

Send in Münster mal wieder

In Münster ist mal wieder Send. Diesmal über eine Woche wegen der großen Fahrgeschäfte - das Riesenrad und die Achterbahn sind aber auch schon ziemlich beeindruckend. Man macht sich nicht so richtig klar wie groß der Send eigentlich ist, erst wenn man beim Aufbau die großen Fahrgeschäfte sieht und dann später beim fertigen Send das ganze drumherum wird einem das klar. Der Hindenburgplatz wird ja auch als eine der größten innerstädtischen Freiflächen Deutschlands gehandelt. Fotos übrigens wieder mit der M8.

Tuckesburg und alter Zoo

Die Tuckesburg ist der alte Sitz des Scharfrichters in Münster - und war später der Alterssitz vom Prof. Landois, dem Gründer des Münsteraner Zoos und dem Entwickler des Aasees. Hatte ich schon mal vor einiger Zeit, ist aber immer wieder ein nettes Motiv. Fotos mit der M8 und dem Elmarit-M 2.8/50

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.

nathanmarz/elephantdb. Gleicher Autor wie für Cascalog, hier hat er auf Hadoop mit Clojure einen verteilten Key/Value-Store aufgebaut. Auch nicht uncool.

nathanmarz/cascalog - mal näher beobachten, eine Verheiratung von Clojure und Hadoop zur einfacheren Auswertung großer Datenbestände. Das Interessante an Cascalog: es greift Ideen aus Datalog auf und bildet in Clojure eine Abfragesprache für Hadoop Datenbestände.

JavaScript Quotations - interessanter Link über ein Metaprogramming-Feature für JavaScript. In diesem Fall für eine sehr interessante JavaScript-Implementierung: in F# geschrieben und für die CLR Welt, lauffähig unter .NET und Mono.

Microsoft Shuts off HTTPS in Hotmail for Over a Dozen Countries | Electronic Frontier Foundation - ein Schelm wer böses dabei denkt. Sicherlich purer Zufall, dass die Liste der betroffenen Länder sich wie die "Elite" der demokratischen Staaten liest. Die Verlogenheit von Großkonzernen wird eigentlich nur noch von FDP Wirtschaftsministern übertroffen.

Enterprise Java Development Tools | SpringSource. Muss ich mir mal genauer angucken, weils letztens um J2EE und EJB Alternativen ging, und das ja nun eine der bekannteren Alternativen ist.

Trinity - Microsoft Research. Muss ich mir mal näher angucken, klingt etwas wie verteiltes Redis (in-Memory Strukturen die persistiert werden) kombiniert mit einer Abfragesemantik die eher auf Graphbeziehungen aufbaut (vergleichbar in etwa zu RDF Triple Stores).