Archiv März 2011

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).

Programmieren, verdammt nochmal. Mach es. Sprichst du es?

Why Cloud9 Deserves your Attention - browserbasierte IDE in Javascript auf Server und Client. Und Source der aktuellen Version auf github verfügbar.

Django-nonrel - NoSQL support for Django. Liefert einen ersten Ansatz in Django verschiedene NoSQL Datenbanken zu integrieren, und zwar auf Ebene des Django-ORM. Backends für MongoDB (nein Danke), AppEngine und Cassandra sind in der Mache. Besonders Cassandra interessiert mich im Moment.

WordPress › Really Static « WordPress Plugins. Mal weggeblogged, weil man damit direkt statische Seiten aus Wordpress generieren kann (ginge auch mit WP Super Cache und dessen directly cached pages, aber die werden dabei nicht automatisch aktualisiert) und vielleicht wäre das auf Dauer mal ein interessanter Weg. Ok, ich müsste wahrscheinlich auf einige Elemente verzichten, damit das ganze auch ohne "Artefakte" funktioniert - aber viele davon sind eh eigentlich verzichtbar. Zum Beispiel wäre eine Tag Cloud auf dem Stand des letzten Renderings eingefroren, wenn sie Teil der Seite ist. Genauso wie Angaben wie "letzte Kommentare" oder "letzte Posts". Dito mit Kalendern, die auf neueren Seiten mehr markierte Tage haben wie auf älteren Seiten. Das ist auch der Hauptgrund warum ich bisher immer wieder von baked Sites abgekommen bin - andererseits, sind diese Problemfälle für ein Blog wirklich wichtig?

Vundle 0.7 is out. Ich benutze ja normalerweise Pathogen, aber Vundle hat ein paar Eigenschaften die es doch recht interessant machen - vielleicht sollte ich doch mal damit rumspielen. Andererseits habe ich an meiner Vim-Installation schon länger keine Updates und Änderungen mehr gemacht. Aber da jetzt alle vim.org Scripts auf GitHub liegen, ist die GitHub-Integration von Vundle sicherlich sehr interessant.

Gefüllte Paprika im Tomatenbett

Klingt gut, oder? Schmeckt auch gut. War diesmal auch nicht so fürchterlich aufwändig, das Essen, allerdings muss man schon mit mehreren Töpfen und Pfannen (ok, ein Topf, eine Pfanne) rumwerkeln. In Meinem Fall war der Topf eine Kasserole, weil die Paprika wirklich riesig waren. Was ich reingetan habe:

  • 2 große Paprika
  • 250g gemischtes Hack
  • 100g Schafskäse
  • eine Handvoll Oliven (schwarz, natur, ohne Kern)
  • 6 Tomaten
  • Tomatenmark
  • ein halbes Bund Basilikum
  • 1 Zwiebel
  • 1 1/2 Knoblauchzehen

Die Zubereitung ist recht simpel, man sollte einen großen Topf oder eine Kasserole bereithalten, in der man die Paprika bequem aufstellen kann. Ansonsten ging es so:

  1. Zwiebeln kleinhacken, Knoblauch kleinhacken, beides auf einen Teller
  2. Oliven kleinhacken, auf einen Teller
  3. Tomaten kleinschnippeln, auf einen Teller
  4. Basilikum kleinhacken, auf einen Teller
  5. Ofen schon mal auf 200° einstellen, damit er vorheizen kann
  6. Pfanne mit Olivenöl heiß machen>
  7. Zwiebeln und Knoblauch in der Pfanne glasig braten
  8. Gehacktes hinzupacken, krümelig braten (so wie für Bolognese - einfach mit dem Pfannenwender immer wieder die Klumpen teilen)
  9. wenn Gehacktes schön gebraten und mit dem Zwiebeln und Knoblauch gemischt ist die Oliven rein
  10. Temperatur runter und etwas von den Tomaten rein (Menge so 1-2 Tomaten), etwas Tomatenmark rein, mischen, Deckel drauf, 5 Minuten kochen lassen, abschmecken mit Gewürzen (bei mir Oregano, Thymian, Pfeffer, Salz)
  11. Deckel runter, Temperatur etwas hoch, Schafskäse rein und gut untermischen, schmelzen lassen
  12. Wenn Schafskäse gut unter das Hack gemischt, die Platte ausstellen
  13. zwei Paprika die Köpfe abschneiden, Kerngehäuse raus, die "Rippen" raus
  14. die Paprika mit der Hackmasse füllen, die Köpfe (vorher dort auch Kerngehäuse und Stiel entfernen, bleibt im Prinzip nur ein Ring über) zudecken
  15. in den großen Topf die restlichen Tomaten und das Basilikum verteilen, die Paprika da reinsetzen
  16. Tipp: wenn die nicht stehen bleiben wollen, mit Rouladennadeln unten rein ein Dreibeinstativ für die Paprika machen, dann hält das
  17. das ganze in den vorgeheizten Ofen und 20 Minuten schmoren
  18. nach den 20 Minuten rausnehmen und auf Teller, die Tomaten und Basilikum mit einem Dreimix pürieren

Bei mir wie üblich mit Brot, aber da gehen ganz wunderbar Nudeln oder Reis dazu. Das ergibt übrigens nicht so einen puddingweichen Paprika, der sollte ruhig noch Biss haben. Und die Füllung ist nicht der übliche Betonklotz, sondern eher vergleichbar mit einer dicken Bolognese. Bei mir gabs dann noch ein Bier dazu, einfach weil das Wetter draußen ganz laut "Bier" gesagt hat mit der ganzen Sonne heute.

Adobe Photoshop Lightroom 3 * Exporting using Publish Services. Tja, Adobe hat Photoshop.com - und gerade erst dieses ausgeweitet. Und propagiert es als eine bessere Alternative zu Flickr. Wie ernst es Adobe damit ist, sieht man an den Publish Services in Lightroom 3. Es werden von Hause aus Facebook, Flickr und SmugMug angeboten. Selbst auf der Lightroom Exchange habe ich nichts zur Anbindung von Photoshop.com gefunden. Klasse gemacht, Adobe. Voll glaubhaft.

Datenschützer: Piwik statt Google Analytics - das ist doch mal ein Anfang, konkrete Vorschläge was Sitebetreiber denn machen sollen, wenn sie Statistiken wollen. Sollten wir uns auf der Arbeit wohl mal näher angucken, um es Kunden die nach Statistiken fragen zu empfehlen.

After Church Club

Endlich mal wieder geschafft am Sonntag in den Hot Jazz Club zu kommen. Tom's Anmoderation: "Heute mit mir, es gibt also Blues. Und nur Blues. Da könnt ihr euch garnicht wehren.".

Kiepenkerle (Kiepenkerls?)

Die Kiepenkerle sind ja sowas wie ein Wahrzeichen aus Münster. Die beiden hier waren vor der Lamberthi-Kirche als ich da vorbeispazierte. Der aus Stein ist immer da, der andere macht Stadtführungen. Hauptsächlich für Juliana fotografiert - den Kiepenkerl am Spiekerhof kennt sie schon. Und ja, ich weiss, eigentlich sind das keine Kiepenkerle, denn sie tragen ja keine Kiepe, sondern sind nur die Kerle.

Update: hab da mal den Kiepenkerl vom Spiekerhof mit drangepackt.

Türfiguren

Diese Türfiguren wurden von Berndhard Kleinhans geschaffen und befinden sich an der Überwasserkirche in Münster am Seiteneingang auf der Südseite. Aufnahmen mit der Leica M8 und dem Zeiss C-Biogon 2.8/35mm.

Durch das Hinzufügen von zusätzlichem Code zu einer digitalen Musikdatei konnten sie ein auf CD gebranntes Lied in ein Trojanisches Pferd verwandeln. Wenn dieses Lied auf dem Autoradio abgespielt wird, kann es die Firmware des Autoradios ändern und Angreifern einen Einstiegspunkt bieten, um andere Komponenten des Autos zu verändern.

via With hacking, music can take control of your car | ITworld.

Satellite Photos - Japan Before and After Tsunami - Interactive Feature - NYTimes.com. Slider nach links und rechts schieben.

Programming Languages - Progopedia - Encyclopedia of Programming Languages. Das war das Programmiersprachenwiki das ich letztens gesucht hatte als mal wieder in der Wikipedia der Löschwahn um sich schlug. Hatte ich glaube ich schon im alten Blog.

Instagram hat jetzt offizielle APIs. Ist ganz an mir vorbeigegangen. Damit könnte ich vielleicht auf Dauer mal an Tumblr vorbei kommen um meine Instagram-Bilder in die Seitenleiste zu bekommen. Andererseits tuts Tumblr in letzter Zeit ganz gut und warum was funktionierendes ändern (der Fluch jeglicher Weiterentwicklung - good enough).

pdict.py at master from segfaulthunter/sandbox - GitHub. Eine PersistentHashMap für Python - also eine funktionale Datenstruktur, welche keine Veränderungen zulässt, sondern eine neue Struktur mit minimaler Änderung gegenüber einer bestehenden Struktur mit Substruktur-Sharing zur originalen Struktur liefert. Eine recht interessante Implementierung. Gibt auch nähere Erläuterungen zu den Ideen dahinter. Und eine alternative Implementation der gleichen Idee.

ShutterSnitch. Interessante kleine App mit der man Bilder über WiFi auf dem iPad empfangen und automatisch mit Metadaten und Geocodierung versehen kann - könnte eine recht interessante Kombination mit einer EyeFi-Karte in meiner Sony oder meinen Panasonics sein (die M8 kann leider nicht mit EyeFi - der SD-Slot ist bei der M8 zu knapp für die EyeFi ausgelegt und der Metallbody blockt zu viel vom schwachen Signal). Einfach die Kamera koppeln, iPad in den Rucksack und rumlaufen und schnappschießen und zwischendurch das iPad als extra-großen Lichtkasten benutzen.

Rob Galbraith DPI: Alex Majoli points and shoots. Nur mal so als Erinnerung, dass eben der Fotograf die Bilder macht und nicht die Kamera. Also die Gestaltung des Bildes. Und ja, nicht immer ist "flache Schärfenebene" die Antwort auf "was macht ein gutes Bild aus".

HowTo: Using Radio2. Tja, ok, ich verstehe seine Motivation. Aber nunja - ich klicke auf das "Press This" Bookmarklet vo Wordpress und schreibe einen Satz - das Bookmarklet-Formular hab ich mit JavaScript angepasst und Custom Post Types (in diesem Fall Aside) macht den Rest. Und oben hab ich schon ein Linkblog - und einen eigenen Feed hat es auch. Und schnell ist das ganze ebenfalls, Enclosures sind auch fix machbar und Tagging geht auch gleich. Sorry, Dave, aber irgendwie hab ich das alles schon! Update: hab einfach mal einen Twitter-Account eingerichtet und schiebe da jetzt neue Posts rein. Mal gucken was so draus wird.

Threads sind ein Hammer, aber nicht jedes Problem ist ein Nagel

Wer mal herzhaft lachen will: Node JS and Server side Java Script. Da meckert jemand aus dem Java-Lager darüber, das Node.JS ja nun wirklich nicht ernstzunehmen sei und produziert doch selber gleich das beste Beispiel, warum sowas wie Node.JS (und viele andere Alternativen für Serverprogrammierung) existieren - denn der Java Code wird mit jedem Schritt länger und länger. Und selbst nach mehreren Iterationen für ein in Node.JS (oder z.B. mit gevent in Python) ziemlich simpel zu realisierendes Beispiel werden in den ersten Kommentaren gleich ein paar Fehler und Lücken im Java Code angesprochen.

Versteht mich nicht falsch - Java hat eine Menge von guten Lösungen für Programmierung mit multiplen Threads in der Standard-Library. Warscheinlich von allen derzeit verfügbaren Sprachen die größte Auswahl an Möglichkeiten mit multiplen Threads zu programmieren. Aber wie so oft im Leben: Threads sind nicht die Antwort auf alle Fragen der Parallelisierung. Besonders wenn es in die Richtung von hoher Request-Last geht, ist die Einschätzung in den Kommentaren das 20K Threads schon sehr hoch sind lächerlich - erzählt das mal den Programmierern von Eve Online, in der jedes Schiff in derem virtuellen Universum als Microthread modelliert wird.

Java ist als Plattform sehr interessant, eben weil es viele Low-Level-Libraries mitliefert mit denen man sehr interessante Sachen machen kann - und die hilfreich sind um vernünftige Highlevel-Konstrukte darauf aufzubauen. Zum Beispiel im Zusammenspiel mit Sprachen wie Clojure oder Scala wird dem Threadmonster einiges an Schrecken genommen. Aber manchmal ist die Antwort eben nicht der Thread, sondern asynchroner IO (sowohl bei Festplattenzugriffen und Netzwerkzugriffen) und die intensive Nutzung von Coroutinen oder Continuations.

Auch das Unverständnis der Java-Programmierer auf den Ansatz das Multi-Core Problem einfach mit mehreren parallelen Prozessen und Message-Passing zwischen diesen zu lösen ist in 2011 ziemlich seltsam - denn schließlich waren 2009 und 2010 die Revival-Jahre für Erlang (nicht vergessen, die Sprache existiert schon sehr viel länger) und gerade die zentrale Idee von Erlang ist ja das Netz- und CPU-übergreifende Message-Passing als Standard zu setzen um eine sehr einfache Parallelisierbarkeit und Skalierbarkeit zu bekommen.

Java-Programmierer erinnern mich immer wieder an die Cobol-Programmierer meiner Anfangszeit, die in jeder Sprache und jeder Programmierweise ganz gezielt die Sachen rauspickten und kritisierten, die in Cobol eben anders (und manchmal sogar vielleicht etwas einfacher) gelöst waren - aber dann gnadenlos auf die Schnauze fielen wenn sie damit reale Probleme ausserhalb der Cobol-Komfortzone lösen mussten.

Das Beste von Java ist die JVM und damit eine Plattform die gerade die Multiparadigmen und -sprachen Ansätze möglich machen mit denen man dann für Probleme die Werkzeuge einsetzen kann, die ihnen angemessen sind. Und selbst dann ist manchmal die Antwort trotzdem Node.JS oder ein anderer kleiner, schlanker, asynchroner Server. Denn selbst mit einer großen Sammlung verschiedenster Hämmer wird man sich für die Schraube trotzdem einen Schraubendreher holen.

Die Risiken der Technik kann man nicht abschaffen. Wohl aber den Umgang damit ändern. Anlagen wie Atomkraftwerke, die zu unfassbaren Schäden führen, sollte kein Staat betreiben. Und Menschen, die mit solchen Anlagen ihr Geld verdienen, wie unsere werte Atombranche, sind klar als verantwortungslose Lobbyisten zu brandmarken. Sie haben die Lage in ihren Reden noch im Griff, während hinter ihnen bereits die Reaktorhalle auseinanderfliegt

via Dieses Vertuschen und Verzögern ist ein unfassbarer Skandal: Die Methoden der Atomlobby - taz.de.

Minestrone für die ganze Familie

Tja, ich hab mich einfach geweigert weniger als jeweils ein ganzes Gemüse zu nehmen, und schwupp da war es dann doch eine ganze Menge. Also besser einen großen Topf bereithalten! Schmeckt aber verdammt gut, die Minestrone. Was ich reingepackt habe:

  • 1 Paprika
  • 1 Zucchini
  • 3 Tomaten
  • 3 Stangen Sellerie
  • 1 große Möhre
  • 3 kleine Kartoffeln
  • 100g durchwachsener Speck
  • Parmesan mit Rinde
  • 150g grüne Bohnen
  • 2 violette Zwiebeln
  • 2 Knoblauchzehen
  • 1/2 Bund Basilikum (frisch)
  • 1 Esslöffel Tomatenmark
  • eine Handvoll Oliven (schwarz, entkernt, natur)
  • 1l Gemüsebrühe
  • 50g Butter
  • Olivenöl
  • ca. 50g Spaghetti (kleingebrochen)

Die Zubereitung ist echt Arbeit und in der ersten Phase gibts nicht viel Ruhe. Und am besten die Gruppierung der Gemüse wie unten angegeben, denn so kommen die nacheinander in den Topf - es wird nämlich erstmal alles vorgebraten. Aber ansonsten ist es eigentlich ganz einfach:

  1. Speck würfeln und auf einen Teller
  2. Zwiebeln und Knoblauch würfeln und in ein Schälchen
  3. Kartoffeln, Sellerie, Möhren würfeln und in eine Schüssel
  4. Bohnen kleinschnippeln und in eine Schüssel
  5. Paprika und Zucchini würfeln und in eine Schüssel
  6. Topf aufheizen mit Olivenöl und der Butter
  7. Speck 2 Minuten darin anbraten (fleißig rühren!)
  8. Zwiebeln mit Knoblauch rein in den Topf und 2 Minuten braten (fleißig rühren!)
  9. Kartoffeln, Sellerie und Möhren in den Topf und 2 Minuten braten (fleißig rühren!)
  10. Bohnen in den Topf und 2 Minuten braten (fleißig rühren!)
  11. Zucchini und Paprika in den Topf und 2 Minuten braten (fleißig rühren! wenn der Arm sich anfühlt als ob er abfällt: das ist normal, weiterrühren!)
  12. Deckel drauf, Temperatur runter und 15 Minuten das Gemüse garen lassen, zwischendurch immer mal wieder umrühren
  13. Arm kann leider nicht ausruhen, denn jetzt werden die Tomaten gewürfelt und wenn gewünscht die Oliven kleingeschnitten (ich lass sie immer ganz bei Suppen).
  14. Bevor die 15 Minuten um sind die Oliven reinwerfen (so nach halber Zeit)
  15. Basilikum kleinschneiden
  16. wenn die 15 Minuten um sind die Gemüsebrühe in den Topf, umrühren
  17. Tomatenmark, kleingehackte Tomaten und Basilikum rein, abschmecken mit Pfeffer und Salz
  18. Parmesanrinde reinwerfen (ich bind die mit Küchengarn an, damit sie leicht wieder rauszufischen ist)
  19. aufkochen lassen, Temperatur runter und eine Stunde leise köcheln lassen (bei meinem Monstertopf reicht da ein halber Punkt am E-Herd)
  20. Parmesanrinde rausfischen und wegwerfen
  21. Spaghetti rein und 10 Minuten kochen lassen

Gegessen wird das ganze dann bei mir einfach mit Brot dazu. Man kann auch Sauerrahm in die Suppe tun, oder ganz italienisch Parmesan drüberreiben. Dazu ein Glas Wein.

Re: Factor: Google Charts - ich sollte wirklich mehr mit factor machen, immer wenn ich wieder mal sehe wie praktisch eine visuelle repl ist (in Factor können auch grafische Repräsentationen von Objekten eingebettet werden in die normalen Ausgaben, ähnlich wie bei alten Lispmaschinen) reizt es mich.

Kernschmelze in Japan immer wahrscheinlicher

BBC News - Japan earthquake: Explosion at Fukushima nuclear plant. Das wars dann mit den Hoffnungen, dass es vielleicht doch noch glimpflich abgehen könnte. Und immer noch rennen Leute rum die behaupten, sowas könne natürlich nie bei uns passieren, weil hier ist ja alles viel sicherer. Komischerweise erinnere ich mich durchaus an Störfälle in Kühlsystemen, die erst lange nach Auftreten zugegeben wurden - und der Ausfall des Kühlsystems ist in Japan das Problem, der Tsunami und das Erdbeben waren dafür nur der Auslöser.

Was ich mich allerdings frage, wie wird die Katastrophe in Japan unsere Wahrnehmung der Atomenergie verändern? Bei Tchernobyl und vorher Harrisburg war Geheimhaltung vergleichsweise einfach - aber Japan ist ein Land in dem alle Bewohner hochtechnologisiert sind. Der witz über mindestens 5 Kameras pro Japaner ist vielleicht übertrieben, aber die Anzahl dürfte hoch genug sein um eine Geheimhaltung mehr oder weniger ad absurdum zu führen. Und die hohe Integration in das Internet führt zu Veröffentlichungskanälen die bei Harrisburg noch undenkbar und auch bei Tchernobyl nur für Utopisten vorstellbar waren.

Sicherlich werden jetzt wieder Energiekonzerne und Regierung Schulterschluß zeigen und davon reden, dass ja Erdbeben und Tsunamis in Europa kein Problem darstellen. Und damit komplett am eigentlichen Problem vorbeiargumentieren, denn wie oben gesagt, Kühlsysteme können nicht nur wegen Erdbeben und Tsunamis ausfallen. Von daher ist ein solches Problem durchaus auch bei uns denkbar, wenn das Kühlsystem auf andere Weise ausfällt. Und warum sollten wir unseren regelmäßig beim Lügen erwischten Energiekonzernen (und der Regierung) mehr glauben als dem - genauso fürs Lügen bekannten - japanischen Energiekonzern?

Es wird schwer werden für Politiker bei sowas noch glaubwürdig zu lügen. Und vielleicht, ganz vielleicht, wachen in Europa die Menschen auf von ihren Wunschvorstellungen, die Atomenergie sei so sicher.

consistency and ecosystem opportunities - Twitter API Announcements ist eine Mail mit der Twitter so ziemlich jeglichen Boden der Realität verlässt. Zur Erinnerung: Twitter ist dieser putzige Dienst auf den man 140 Zeichen Nachrichten scchicken kann - und ich red das garnicht lächerlich, es ist oft ganz praktisch dort zu suchen wenn aktuell was los ist. Aber wenn ich dann diese Moppelkotze über "prevent diffusion of user experience" und anderes Bullshit Bingo in der Mail lese kann ich mich nur noch fragen welches Kraut die rauchen. Real steht dahinter wohl eher der Versuch die Plattform dicht zu ziehen um sie stärker zu kontrolieren und auszuschlachten - z.B. der Aufruhr über diesenn absurde Dickbar in Twitter hat da wohl leichte Panik bei Twitter ausgelöst. Denn wenn alle User vom offiziellen Client weg gehen, guckt sich keiner mehr die gekauften Trends an ...

Python Tools for Visual Studio. Wer auf Windows sitzt und Zahlenfresser ist - SciPy und NumPy sind da jetzt direkt in der .NET Plattform verfügbar mit diesen Tools. Und ich frage mich, warum Apple sowas nicht mit XCode mitliefert, denn das würde sicherlich im Umfeld der Universitäten Anklang finden (man denke nur an Sage).

ABCL - Release notes v0.25. Neue Version raus und ABCL entwickelt sich immer mehr in eine wirklich brauchbare Common Lisp Implementation. Dadurch, dass es auf der JVM läuft, hat man auch leichten Zugriff auf viele Libraries (sofern man es denn will) und seit 0.24 läuft auch Quicklisp sauber mit ABCL und damit hat man auch leichten Zugriff auf viele Common Lisp Libraries. Bei den CL Libraries hakt es aber leider etwas, da viele Programmierer ABCL nicht berücksichtigen (und gerade im CLOS Bereich noch Defizite sind).

BBC News - Voyager: Still dancing 17 billion km from Earth. Weils immer mal wieder vergessen wird und weil es immer noch eine der faszinierendsten Missionen ist - die Voyager Sonden sind nämlich immer noch aktiv im Dienst. Und sie liefern immer noch wichtige Beiträge zur Forschung. Mehr davon!

J Source ist jetzt unter GPL3 verfügbar. Die verrückteste Programmiersprache in aktiver Benutzung ist jetzt noch eine Nummer zugänglicher. Aber vorsicht vor dem Source: das ist zwar C, aber C von jemandem der J denkt und J schreibt und dafür nur den C-Compiler missbraucht.

blueMarine ist noch ein mir bisher unbekanntes Projekt, das Lightroom und Aperture als Inspiration nimmt. Allerdings hat es bisher keinerlei RAW-Edit-Funktionen (während Darktable non-destruktives Editieren hat), sondern konzentriert sich rein auf das Image Management. Was mir aber unter Umständen für Linux sogar entgegen käme, da ich dort meistens nur reingucken will, das Bearbeiten passiert doch meistens auf dem Mac.

darktable ist scheinbar komplett an mir unbemerkt vorbeigerauscht - eine OpenSource Alternative zu Adobe Lightroom für Linux. Sollte ich mir wirklich mal angucken. Lightroom gefällt mir zwar sehr gut, aber macht absolut nichts da eine Alternative für zu kennen, denn ob mir Adobe in späteren Versionen immer noch gefallen wird ist ja nicht gerade garantiert ... (und für Linux werde ich sowieso immer eine Alternative brauche solange Adobe kein Linux unterstützt)

fantasm - Project Hosting on Google Code. Unbedingt mal angucken, eine Workflow-Engine in Python. Sowas könnte für Projekte auf der Arbeit recht interessant werden.

Seltsame Phänomene in iPhoto

Ich benutze das ja nur als Bilderspeicher zur Erstellung von Büchern und zum Sync auf mein iPhone und iPad, daher ist mein iPhoto eher unwichtig für die Fotoverwaltung - aber im Moment habe ich ein Phänomen, das mich ziemlich zur Verzweiflung treibt: ich habe eine CD von ganz normalen Jpegs importiert. Dann habe ich ein Album angelegt und die Bilder reingepackt. Und jetzt behauptet iTunes beim Sync immer, dieses Album wäre leer. Der Import ist auch als eigenständiges Ereignis im iPhoto. Auch für dieses Ereignis behauptet iTunes im Sync Panel es wäre leer (0 Bilder). Dementsprechend werden bei "Alle Bilder synchronisieren" auch brav alle Bilder übertragen - dabei dann auch diese Bilder. Nur die Alben und Ereignisse, die nur aus diesen Bildern bestehen, sind nicht da. Weil iTunes glaubt die wären leer.

Was soll der Mist? Irgendwer da draußen eine Idee? Googlen hat nichts sinnvolles gebracht und diverse Sachen (löschen und neu anlegen von Alben, verschiedene Arten die Alben anzulegen etc.) hab ich auch schon probiert. Ziemlich seltsam das ganze. iLife ist ja ganz nett solange es funktioniert, aber wenn Probleme auftreten ist das ganze Zeug nahezu komplett nicht diagnostizierbar. Was mir ziemlich wurscht wäre, wenn ich es nicht dummerweise für den Sync mit meinem iPhone und iPad bräuchte ...

Ein Grund warum ich doch lieber bei Lightroom bleibe, da weiss ich wo die Bilder liegen und die Datenbanken sind normales sqlite, da kann ich notfalls auch Hand anlegen. Und wenn sie im Eimer sind, kann ich alles aus Bildern und Sidecar-Files rekonstruieren. Aperture streiche ich auch gleich mal lieber von der Liste, dessen Bilderverwaltung klingt mir allzusehr nach der von iPhoto ...

Schon peinlich, wenn ein Tool von Adobe verlässlicher und vertrauenserweckender ist, als das was Apple abliefert. Ganz besonders da iLife ja angeblich Narrensicher ist - bei Problemen und der notwendigen Fehlerbehebung ist das dann eher ein Fall von "no user-serviceable parts inside".

harukizaemon/hamster. Immutable Threadsafe Datastructures - für Ruby. Man kann sie also nicht ändern, aber dafür bekommt man neue, geänderte Versionen zurück. Ideal um sie z.B. über Threadgrenzen hinweg zu benutzen. Clojure hat sowas von Hause aus, Scala seit 2.8 ebenfalls. Ich hätte sowas gerne für Python ...