Archiv 3.12.2009 - 18.12.2009

Whoosh - Volltextindexing in reinem Python. Könnte für einige Projekte interessant werden.

Algorithmic Botany - in Common Lisp. Da gibts auch einen Link auf das Buch mit den Algorithmen. Gerendert wird mit klassischen Renderern, der Common Lisp Code erzeugt nur die Modellbeschreibung als Input.

Apparent Software blog » Blog Archive » “Is PayPal good for your microISV business?” A short PayPal horror story - Story warum man Paypal zwar als Kunde nutzen kann (der Käuferschutz ist ganz brauchbar), aber eigentlich nicht als Händler. Ist halt eBay und kein richtiger Paymentprovider ...

BERT and BERT-RPC 1.0 Specification - BERT sind Binary ERlang Terms - also das Format, welches Erlang auf die Reise schickt, wenn Messages benutzt werden (und intern mit term to binary gewandelt wird).

briancarper.net :: Clojure Reader Macros - very dirty. Wildes patchen der Clojure-Runtime zur Laufzeit. Aber ein nettes Beispiel wie man von Clojure problemlos in die aktiven Java-Objekte durchgreifen kann. Sollte man allerdings nicht in produktivem Code benutzen (also diese spezifische Anwendung sich darüber eigene Reader-Macros zu bauen).

IronPython - Release: 2.6 - damit ist IronPython auch auf dem aktuellen Stand der Python2 Reihe. Und angeblich soll mit wenigen Änderungen Django auch direkt auf IronPython laufen, allerdings hab ich da keine aktuellen Postings zu gefunden, nur welche aus 2008. .NET ist zwar nicht meine Lieblingsumgebung, aber auf der Arbeit werden wir das schon auf die Dauer wohl mal anschauen, einfach weil die Integration mit dem Rest der Systemwelt unter Windows damit einfacher sein dürfte als mit dem normalen CPython.

John Graham-Cumming: Datenvisualisierungs-Krankheit - "Durchschnitte sind lustig, weil jeder Trottel sie berechnen kann, aber wehe dem Trottel, der ohne Nachdenken Durchschnittswerte bildet."

mojombo's bert - und hier eine Bibliothek, die BERT in Ruby implementiert.

ProjectPlan - unladen-swallow - Plans for optimizing Python - interessanter Status über Unladen Swallow, die Python-Version die auf LLVM als JIT aufbaut.

Python Package Index : python-daemon 1.5.2 - weil ich es immer mal wieder brauche und dann immer wieder von Hand stricke: dieses Modul hilft dabei ein Python-Script in einen ordentlichen Unix-Daemon zu verwandeln, mit korrektem Forken und PID-File-Handling.

samuel's python-bert - und weil ich grade dabei bin, auch noch BERT in Python.

The Render Engine - Javascript Game Engine - da JavaScript mit modernen Browsern wie Safari 4 und Chrome (und Betas von Firefox) ja mitlerweile ernstzunehmende Performance liefert, kann man auch so verrückte Sachen machen wie Rendering-Engines für Spiele in JavaScript schreiben.

trotter's bert-clj - und jetzt noch eine BERT Implementation in Clojure

Making light - Wouter Brandsma hat von Ricoh eine GXR mit dem 50er Makro Modul als Teststellung bekommen und probiert die gerade aus.

Microsoft Acknowledges Theft of Code from Plurk - erst wird Microsoft erwischt wie es GPL Code klaut (und released das fragliche Tool jetzt selber unter GPL, was denen sicherlich gut gefallen hat) und dann wird Microsoft erwischt, wie es Code von Plurk klaut (und muss erstmal den Dienst einstampfen). Schon putzig, war Microsoft nicht der Laden, der sich immer so darüber echauffiert, das andere ihren Code illegal benutzen? Hmm ...

Widefinder 2 with Clojure - das Widefinder2 Projekt von Tim Bray liefert langsam sehr interessante Ergebnisse, hier einen Artikel darüber wie man Clojure so optimiert, das die Performance die bisher beste Scala und Java-Lösung schlägt (wobei die Java-Version natürlich trivial nachholen kann, da die meisten performancerelevanten Sachen in dieser Version auf Java-Libraries zurückgreifen). Ein schönes Beispiel, wie man in Clojure Low-Level-Optimierung einbringen kann für die Sachen, die wirklich wichtig für die Performance sind, aber trotzdem für den Rest des Codes die guten Highlevel-Mechanismen von Clojure behält.

Bug #387308 in Ubuntu One Client: “[Wishlist] Proxy Support” - Ubuntu One wird seit dem karmischen Koala standardmäßig ausgeliefert mit Ubuntu. Und benutzt die Proxy-Settings nicht. Bastelstube!

Code tutorial: make your application sync with Ubuntu One - Ubuntu One (der Dateien und Synchronisierdienst von Canonical für Ubuntu) benutzt intern CouchDB (und die Synchronisation ist auf CouchDB Replikation aufgebaut!) und dieses Tutorial zeigt, wie man Applikationen so umbauen kann, das sie mit CouchDB zusammenarbeiten. Beispiele sind in Python und nutzen auch einige Aspekte von DBUS (Gnome) mit, so das es generell ein recht interessantes Tutorial für Desktop-Programmierung unter Linux ist. Ich denke es ist eine gute Idee von Ubuntu One auf CouchDB Replikation zu setzen - das Gemurkse von MobileMe bei der Synchronisation sollte da deutlich besser in den Griff zu kriegen sein.

Damn Cool Algorithms: Log structured storage - kompakter Artikel über Speicherung von Daten auf Platte. In diesem Fall orientiert an den Techniken von log-basierten Dateisystemen, wie sie auch in Datenbanken Einsatz finden.

Hunger!

Hunger!

Hunger!

Intland now on Mercurial - Part 3: Giving new momentum to the Eclipse Mercurial Plugin | Intland Blog - könnte ich mir mal angucken, das offizielle Mercurial-Plugin für Eclipse ist ja doch weniger angenehm. Andererseits sind einige der Sprachenplugins für NetBeans (besonders das Python Plugin gefällt mir) doch deutlich besser als für Eclipse.

Maven - Guide to using proxies - weil ich es gerade brauchte, denn Leiningen (Build-Tool für Clojure) setzt auf Maven auf. Leider muss das in einem XML-File geändert werden, damit ist es nicht so leicht zu automatisieren. Ich muss mir dafür mal was brauchbares für Linux einfallen lassen, das bei Setting-Änderungen automatisch diverse Configs umschiesst.

Tutorial - clojars-web - GitHub - clojars will sowas wie CPAN für Clojure sein (und wird es auch immer mehr) und ist sehr simpel und eleganz mit Clojure und der Unterstützung von Leiningen zu benutzen.

EMBODY von Herman Miller - Chairholder News - die Aeron Stühle sind ja schon sauteuer, aber super gut. Der Embody kommt nochmal eine Runde besser. Hat mal jemand 1600 Euro über für mich?

Radio UserLand: Auf Wiedersehen, und danke für den Fisch - oder so ähnlich. Radio Userland wird zugemacht. Irgendwie schade - mein Blog startete ursprünglich mal mit Radio Userland, dann hab ich es mit dem Python Community Server selber gehostet (und auch anderen Radio Userland Usern da eine virtuelle Heimat gegeben), dann meinen eigenen Radio-Clone, den Python Desktop Server, geschrieben. So nach und nach verschwindet das aber jetzt alles aus dem Netz. Selbst Phillip Pearson hat seine PyCS-Sachen nach und nach vom Netz genommen.

Yeti programming language - sollte ich mir mal angucken, ein ML für die JVM. Scala bietet natürlich vieles davon ebenfalls und hat sicherlich im Moment deutlich mehr Drive. Aber ML fand ich schon immer recht interessant, weil die Sprache recht kompakt ist - und mit JVM-Anbindung gibt es die ganzen Java-Bibliotheken zum Rumspielen sozusagen gratis dazu. Wobei Yeti wirklich nur eine ML-style Sprache ist, nicht wirklich ML (deutliche Unterschiede in der Syntax).

Either Mark Zuckerberg got a whole lot less private or Facebook’s CEO doesn’t understand the company’s new privacy settings. - tja. Kalt erwischt. (bei mir sind die Sachen offen, weil mein Facebook Profil ja nur als Superaggregator dient, von daher fast nur öffentliche Inhalte sammelt und daher striktere Sicherheitseinstellungen darauf nicht viel Sinn machen)

JavaScript web workers: use visitors to your website to do background data processing for you. : programming - verrückte Idee: auf Webseiten mit JavaScript Worker für distributed computing einrichten. Jeder Besucher beteiligt sich an der Berechnung von irgendwelchen Daten. Ausser natürlich er benutzt sowas wie NoScript oder PithHelmet und filtert den Kram raus.

The Tumblr Backup app is ready for its first beta... - wer Tumblr benutzt und einen Mac hat, da gibts jetzt ein Backup-Tool. Könnte ich mir für mein kleines Bilder-Tumblr mal angucken.

TuxMobil: Fingerprint Readers on Linux Laptops and Notebooks - weil mein Firmennotebook sowas hat. Und erstaunlich: es funktioniert! Die neuen S-Series Kisten von Fujitsu sind sehr Linux-freundlich.

Klimakonferenz: Keine 0,5 Grad extra für Tuvalu - die Arroganz der Wirtschaftsstaaten auf den Untergang (wortwörtlich - die saufen ab) von Tuvalu ist widerwärtig.

Regierungs-Smartphones arbeiten mit Windows Mobile - weil, das ist ja bekannt dafür, das es so super sicher ist und es keine Backdoors in das System geben kann. Schließlich kann man ja das ganze System sehr leicht einem Audit unterziehen. Ooops. Oh, und besonders niedlich die Entscheidung für HTC Windows Mobile Smartphones, nachdem HTC selber bekanntgegeben hat, das zukünftig die neuen Geräte schwerpunktmäßig mit Droid (das tatsächlich realistisch einem Audit unterworfen werden könnte) rauskommen sollen. Da kann HTC dann seine Lagerrestbestände teuer an den Bund verkaufen.

Zarengold Bahnreisen - weil ichs gerade mal wieder gesucht hab, jetzt einfach mal geblogmarkt. Irgendwann, wenn ich mal das Geld dafür über hab, und nicht andere verrückte Sachen mache wie Spontanreisen nach Russland oder russische Sprachkurse belegen, dann mach ich die Tour mal. In dem Zug.

taskpaper-web - und noch eine Web-Version von TaskPaper, diese hier recht alt und laut Projekt dormant, aber könnte mir eventuell als Startpunkt dienen (oder eben TaskPaper+).

taskpaperplus - ich bin ja ein TaskPaper Fan, aber unter Linux und auf dem iPhone hab ich das ja nicht. Daher mal gesucht und hier fündig geworden: ein Projekt, welches TaskPaper-Files unter PHP über das Web änderbar macht. Sieht erstmal ganz gut aus, damit muss ich mal ein bischen spielen.

TodoPaper - und wer TaskPaper auf Windows braucht, dem wird hier geholfen. Wäre auch noch eine Option, einfach per Dropbox die Files auf meine Windows-Kiste auf der Arbeit bringen (oder es unter Wine auf Linux laufen lassen)

We call it OPA - klingt nach der Beschreibung sehr interessant, eine Entwicklungsumgebung für Webservices und Webanwendungen auf Basis von OCaml mit Fokus auf die ganzen nötigen Grundlagen wie XSS Schutz, SQL-Injection-Schutz und ähnlichem.

Cadmium - Introduction - passend zu Cafesterol hier dann die OCAML Runtime in reinem Java. Damit kann man OCAML Bytecode ausführen oder das ganze als Runtime für Cafesterol-compilierte Programme benutzen.

Cafesterol - cool, eine Erweiterung des OCAML Compilers, die Java Bytecode erzeugt. Damit kann man mit OCaml nicht nur die eigene virtuelle Maschine bedienen und natürlich native Code erzeugen, sondern auch direkt in die Java-Welt gehen.

PLT Scheme Blog: Futures: Fine Grained Parallelism in PLT - das beste Scheme auf dem Markt bekommt jetzt auch Microthreads. Im Moment noch recht frisch, aber das wird sicherlich auf Dauer in den Standardumfang wandern.

Short Chat Server in Clojure - interessantes kleines Beispiel von Clojure Code. Zeigt gut die Nutzung asynchroner Prozesse und Netzwerkzugriff. Und mit 75 Zeilen schön übersichtlich.

clutchski's fileutils - macht Python noch besser für Shell-Scripte indem es diverse Basiskommandos als Python-Funktionen zur Verfügung stellen. Nett.

Escher in Hagen - ok, neben der Monet Ausstellung in Wuppertal und Toulouse-Lautrec in Langenfeld die dritte Kunstausstellung die ich mir auf die Liste packen sollte.

Mal mit Tabblo gespielt

Tabblo: Clemens Kirche

See my Tabblo

Die Bilder habe ich in der Clemens Kirche in Münster gemacht um die Kirche Juliana zu zeigen. Und bei meiner Suche im Netz habe ich festgestellt, es gibt kaum wirklich nette Programme zur freien Anordnung von Bildern auf einer Seite - Tabblo war da noch das bequemste. Irgendwie seltsam, scheinbar konzentriert sich nahezu alles darauf, Bilder in einer Form von Diashow zu präsentieren - in diesem Fall will ich aber ein "loses Panorama" machen, also die Bilder so anordnen, wie sie dem eigentlichen Raum ungefähr entsprechen. Falls jemand da für den Mac eine gute Software kennt, die solche Art von Webseiten lokal erstellbar macht, wäre ich für Tipps dankbar (möglicherweise gehts irgendwie mit iPhoto oder iWeb, aber vielleicht gibt es ja auch etwas schlankeres).

Grundsätzlich gefällt mir aber die Idee von Tabblo, Bilder relativ frei anordnenbar zu machen und das mit Text (optional) zu kleinen Bildergeschichten zu formen. Sowas als lokal gehostetes Projekt wäre vielleicht auch ganz interessant, denn irgendwie ist die reine Diashow doch oft recht langweilig.

Why Object-Oriented Languages Need Tail Calls – projectfortress Community - guter Post über tail-call-optimization. Von Guy L. Steele - der sollte wissen wovon er redet, er ist unter anderem massiv an Scheme beteiligt gewesen (der ersten Sprache, die Tail Recursion explizit in ihrer Sprachbeschreibung aufführt). Andere Sprachen mit denen er direkt zu tun hatte waren Common Lisp, Java und jetzt Fortress. Ich hoffe ja, dieser Post wird von Guido van Rossum gelesen und verstanden, damit Python auch endlich mal Tail Call Optimierung lernt (jaja, ich kenne all die Gegenargumente und sorry, ich finde die nicht wirklich sonderlich überzeugend).

Google Maps Distance Calculator - keine Ahnung warum Google Maps das nicht von Hause aus kann, aber naja, der Service ist echt praktisch wenn man mal eben wissen will, wie weit Ekaterinburg von Münster entfernt ist, zum Beispiel (sind bloß knappe 3400 Kilometer, das ist ja fast garnix!)

La Bamba

Weils uns in St. Petersburg richtig viel Spaß gemacht hat, die beiden zu hören, hier einer der Songs. Und gleichzeitig war das meine Premiere mit der GF1 einen Film aufzunehmen - und nicht über die Wackler meckern, ich hatte kein Stativ dabei und es ging mir sowieso mehr um den Ton. Aber so HD-Filme mit dem Fotoapparat machen, das hat schon was ...

MCLIDE - Lisp IDE for Macintosh - interessantes Projekt, welches die Tools aus dem Macintosh Common Lisp als Standalone-Tools reimplementiert und diese dann über Slime/Swank an diverse Lisp-Implementierungen ankoppeln kann. Definitiv für Mac-User angenehmer als z.B. Emacs zu benutzen.