Am Rande notiert ...

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

Programming, Motherfucker. Do you. speak it?

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.

PHP Markdown sollte ich mir vielleicht mal wegen dieses dummen Fehlers im WordPress Visual Editor angucken. Klar, ich könnte auch einfach auf den HTML Editor dauerhaft umschalten und den benutzen, aber LIs tippen (oder klicken) ist immer noch lästiger als einfach Markdown zu schreiben. Ausserdem bin ich Markdown von meiner alten Software her gewohnt.

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?

PyGUI ist eine sehr schlanke GUI-Bibliothek für Windows, OSX und Linux, die auf nativen Toolkits aufbaut (Windows und OSX) bzw. GTK benutzt (Linux). Der Anwendungscode selber ist durch PyGUI allerdings unabhängig von den Systemspezifika. Könnte für kleinere Projekte bei denen man nicht unbedingt die Abhängigkeit von wxPython haben will interessant sein.

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.

Kommentare deaktiviert für Gefüllte Paprika im Tomatenbett

Am Rande notiert ...

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

Diese Galerie enthält 1 Foto.

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

Kommentare deaktiviert für After Church Club

Kiepenkerle (Kiepenkerls?)

Diese Galerie enthält 3 Fotos.

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 … Weiterlesen

Kommentare deaktiviert für Kiepenkerle (Kiepenkerls?)

Türfiguren

Diese Galerie enthält 7 Fotos.

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.

Kommentare deaktiviert für Türfiguren

Am Rande notiert ...

By adding extra code to a digital music file, they were able to turn a song burned to CD into a Trojan horse. When played on the car’s stereo, this song could alter the firmware of the car’s stereo system, giving attackers an entry point to change other components on the car.

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.

Kommentare deaktiviert für Threads sind ein Hammer, aber nicht jedes Problem ist ein Nagel

Am Rande notiert ...

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.

Kommentare deaktiviert für Minestrone für die ganze Familie

Am Rande notiert ...

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.

Kommentare deaktiviert für Kernschmelze in Japan immer wahrscheinlicher

Am Rande notiert ...

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