Archiv 28.2.2010 - 5.5.2010

PyPy Status Blog: Running wxPython on top of pypy - PyPy macht wirklich riesen Schritte in Richtung brauchbar. Schneller als CPython ist es schon in einigen Fällen und jetzt laufen auch größere C-Erweiterungen wie wxPython. Cool.

Zoolander - eine kleine Python-Library, mit der man Python als DSL für die Erzeugung von CSS benutzen kann. Klingt erstmal unsinnig, aber wenn man CSS dynamisch produzieren will oder muss, und das ganze dann in ein Webframework einbettet, kann es ganz praktisch sein.

CDU gerät unter Druck wegen "Wählerinitiative" - ach die schönen "unabhängigen" Wählerinitiativen die immer wieder aus dem Boden schießen. Oder die völlig "unabhängigen" Initiativen gegen unser Sozialsystem - immer wieder sehr putzig, immer wieder sehr verlogen. Wäre schön, wenn das dann bei der Wahl in NRW auch entsprechend gewürdigt würde - mit einem drastischen Stimmenverlust für die Union. Wenn die anderen Parteien sich jetzt nicht zu dämlich anstellen, sollten sie das ja für den Wahlkampf noch ausschlachten können. Wenn ich mir allerdings die Pappnasen der NRW SPD angucke, hab ich so meine Zweifel ob die da was auf die Beine gestellt bekommen ...

The Brads – How to Alienate a Fanbase - falls jemand eine kurze Zusammenfassung braucht, wofür Adobe steht.

Thoughts on Flash - wird natürlich wieder von allen Apple-Gegnern als Blabla hingestellt, aber nunja - die Gründe sind schlüssig. Und sorry, aber es ist wirklich so: Flash stinkt.

django-pagination - muss ich mir mal genauer angucken, sieht interessant aus. Pagination ist zwar nicht wirklich schwierig, aber lästig jedesmal selber zu bauen - und die bordeigenen Mittel von Django sind nicht immer optimal dafür (besonders bei großen Datenmengen).

Henry's EuLisp - da hat jemand EuLisp wiederbelebt und die Sourcen zusammengetragen, sowie die Spezifikation. Mindestens historisch interessant, denn EuLisp war eine der Standardbemühungen für ein moderneres Lisp mit recht guten objektorientierter Unterstützung. Aber auch die Implementierung selber hat einige interessante Features.

jcotton - Animationen und Grafiken mit JavaScript und Canvas bauen. Sieht ganz interessant aus.

Schlüsselbund meldet: Der Zugriff auf dieses Objekt unterliegt Beschränkungen - weil ich gerade mal wieder das Problem hatte, und weil es mich echt annervt, das dieser Bockmist immer noch drin ist, nach so langer Zeit: niemals nicht MobileMe für die Synchronisation von Schlüsselbunden benutzen. Manchmal funktioniert es für eine Weile, aber das trügt. Früher oder später zersägt der Sync den Schlüsselbund und im schlimmsten Fall muss man dann komplett zurücksetzen (oder gucken ob man in TimeMachine noch einen funktinierenden Schlüsselbund findet). An Apple: das ist ganz große Scheiße.

Große Kirchner-Retrospektive im Frankfurter Städel - na da muss ich doch glatt mal in den nächsten Monaten nach Frankfurt fahren.

HoudahGeo - Photo Geocoding for Mac - müsste ich mir mal angucken, bei meinen letzten Urlaubstouren war es schon etwas schade, dass ich keine Punkte auf der Karte hatte. Und die Idee, einfach Referenzfotos mit dem iPhone zu machen und dessen GPS und Zeitstempel für die nachträgliche Kodierung der Fotos zu benutzen, ist garnicht mal so blöd.

Markdoc - interessantes Projekt, ein simples Wiki mit einer Besonderheit: es wird nicht über das Web editiert, sondern über ein DVCS wie Mercurial oder Git. Also einfach normale Texteditoren, als Format Markdown und ein DVCS für die Versionierung, rsync für die Verteilung der generierten - statischen! - Inhalte auf den Server und fertig. Und ist in Python geschrieben.

Große Herstellerunterschiede bei Digitalkamera-Defekten - Golem.de - meine Entscheidung für Panasonic scheint durchaus sinnig gewesen zu sein.

This Is Apple's Next iPhone - Iphone 4 - Gizmodo - ok, das ist schon blöd, wenn man einen iPhone Prototypen in einer Kneipe liegen lässt ...

Web.de nennt Fraunhofer-Studie "Microsoft-Propaganda" - es könnte natürlich auch daran liegen, dass web.de und GMX einfach scheiße sind. Aber klar, eine Verschwörung von Microsoft und Fraunhofer-Institut gegen web.de und GMX ist natürlich viel warscheinlicher ...

XML in Postgres – The Game Changer « Flex and Specs() - ich sollte wirklich mal mehr die neuen PostgreSQL Features angucken. Speziell weil die XML-Unterstützung in PostgreSQL einige der Vorteile von dokumentenorientierten Datenbanken auf die relationale Welt rüberbringen, ohne dass man dazu extra Middleware braucht.

Archives of the Caml Mailing list: O'Caml for DOS - weil ich gerade mal wieder drüber gestolpert bin. Wow, 96, das ist lange her. Wieso wird OCaml eigentlich immer als so moderne Sprache aufgeführt? Ist doch auch schon 14 Jahre alt ... (und die Sprache auf der OCaml aufsetzt - Caml Light - ist noch älter)

Umweltbundesamt fordert Pkw-Maut | tagesschau.de - wär doch schön, wenn die Medien korrekt berichten würden, oder? Im WDR (übrigens eine der ARD angeschlossene Sendeanstalt) hat der Chef der Behörde im Interview auch mehrfach darauf hinweisen müssen, das er und seine Behörde mitnichten etwas fordern, sondern nur eine Überlegung angestellt haben, wie eine solche Maut - wenn sie denn käme - sinnvollerweise gestaltet werden sollte. Es ging nicht um "Maut oder nicht", sondern eher um "wenn Maut, dann wie?". Und dabei wurde dann einer Jahresvignette oder ähnlichen Pauschalmodellen bescheinigt, das sie Unfug wären und eben nur eine nach tatsächlicher Nutzung variable Maut mit Erfassung der Nutzung sinnvoll wäre. Und auch dabei wurde das Thema Datenschutz angesprochen und die Probleme, die sich daraus ergeben. Das Grundproblem ist ja sowieso, dass die Einnahmen aus KFZ-bezogenen Steuern und Gebühren nur einen Teil der Kosten für die Bundestraßen und Autobahnen tragen, ca. 46 Milliarden Euro trägt die Allgemeinheit. Und das dann eine für Umweltthemen zuständige Einrichtung dann mal darüber nachdenkt, wie eine Regelung mit Maut aussehen könnte und wie diese dazu genutzt werden könnte, die Straßennutzung und Kostenübernahme gerechter zu verteilen und vielleicht auch noch für die Umweltbelastung einen Bonus rauszuholen, ist dann doch wohl ganz normal. Aber normale Vorgänge sind ja keine Aufreger - weshalb ja auch der WDR gleich morgens die Autofahrer gegen eine bisher unveröffentliche Studie (und keineswegs Forderung) aufgehetzt hat. Datt is Qualitätsjournalismus in Deutschland.

Daring Fireball: New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler - tja, natürlich hat Apple das Recht die Bedingungen selber zu setzen. Und ich hab das Recht, die Programmierung für das iPhone jetzt völlig uninteressant zu finden - sorry, aber solche Low-Level-Programmiersprachen tu ich mir nicht mehr an.

django-ajax-filtered-fields - muss ich mir mal näher angucken, das könnte im Admin ganz interessant sein bei größeren Mengen an Sätzen in Relationen.

My experience with using MongoDB for great science. - NoSQL ist halt in vielen Fällen Spielwiese für Leute die mal ausprobieren wie Datenbanken eigentlich funktionieren. Bei vielen dieser Projekte frag ich schon was die eigentlich geritten hat als sie das gebaut haben. Ich bau dann doch lieber auf soliden und erprobten Werkzeugen wie PostgreSQL und SQLite auf. Und wenn eine NoSQL-Datenbank, dann besser eine, die schon längere Zeit produktiv in größeren Installationen im Einsatz ist. Cassandra kommt einem da in den Sinn zum Beispiel.

Ars Technica reviews the iPad - sehr vollständiger Review des iPad, sollte alle Fragen beantworten die im Moment so kursieren.

CSU: Absage an Internetsperren verstößt gegen Absprachen - Golem.de - "Inhalte, die verboten werden, müssten weg, damit sie niemandem mehr zugänglich seien. Um Sperren könnten Nutzer sich innerhalb von wenigen Minuten herumbewegen. Alle die, die darauf pochten, hätten keine Ahnung von den modernen Technologien, so die Ministerin. 'Und außerdem wollen wir nicht, dass eine solche Sperrinfrastruktur aufgebaut wird, weil die natürlich die Gefahr in sich birgt, dass das nicht nur für solche Inhalte geht, sondern sie theoretisch auch für andere Möglichkeiten verwandt werden kann', sagte Leutheusser-Schnarrenberger."

twitter's gizzard - könnte mal interessant werden, ein Framework zur Verteilung und Replikation von Daten über verschiedenste Backends. Gizzard kümmert sich ausschließlich um das Sharding und die Replication, der Datestore selber wird davon losgelöst behandelt, ist daher für verschiedenste Szenarien interessant.

Writing a non-relational Django backend - Django nonrel / NoSQL blog - All buttons pressed - bin ja nicht so der Fan von NoSQL (meiner Meinung nach spiegeln viele NoSQL-Ansätze eher das Unverständnis von relationalen Datenbanken wieder als tatsächliche Mängel oder Schwächen der relationalen Datenbanken), aber wenn schon NoSQL, dann doch am liebsten über den Django-ORM, denn den kann ich ganz gut leiden. Und hier wird gezeigt, wie man mit relativ geringem Aufwand einen Django-ORM-Wrapper für NoSQL-Datenbanken bauen kann.

IBM breaks OSS patent promise, targets mainframe emulator - war zu erwarten, ist aber trotzdem eine üble Geschichte. IBM ist eben IBM - und IBM ist nur sein eigener Freund. Große Unternehmen gucken zuerst auf die eigene Tasche, dann erst auf die von anderen. Und Hercules erlaubt einige Sachen die bisher nur von den low-end Mainframes geleistet wurden. Da hört bei IBM dann der Spaß und der Schmusekurs auf.

Perfection kills » What’s wrong with extending the DOM - weil ich immer wieder mal mit Kollegen diskutiere warum JQuery besser als Prototype: Prototype benutzt massiv die Erweiterung von Prototypen, wärend JQuery fast alles an seinem eigenen JQuery Objekt aufhängt und daher viel kooperativer im Zusammenspiel mit anderem JavaScript ist.

Oracle Announces Latest Release of Oracle® Berkeley DB - Berkeley DB hat jetzt ein auf SQLite aufbauendes SQL API. Kompatibilität auf Sourcecode-Ebene mit SQLite, Programmierer können also - wenn sie den deutlich instabileren und anfälligeren Storage von Berkeley DB bevorzugen und gerne mal ihre Datenbanken reparieren wollen - wechseln. Sorry, Oracle, aber das ist affig. BDB ist eigentlich nur noch für die interessant, die gezwungenermaßen damit arbeiten müssen - wer heute noch auf BDB wechseln will, müsste mit dem Nagelbeutel gepudert sein. Wenn ich sowieso gegen das SQLite API programmiere, dann nehme ich lieber gleich das richtige Tool. Ja, klar, SQLite hat einige Engpässe wenn man mit mehreren Prozessen parallel zugreifen will. Aber ich verrate Oracle hier mal ein kleines Geheimnis: SQLite hat einen so toleranten SQL Parser, weil man dann damit problemlos Source schreiben kann, dessen SQL sowohl gegen SQLite als auch gegen PostgreSQL funktioniert. Wenn man also an die Grenzen von SQLite stößt - einfach auf PostgreSQL wechseln und gut ist.

Elixirgraphics - und hier gibts nette Themes für RapidWeaver. Besonders Lime, Factory und Nimbus gefallen mir. Sprout ist auch ganz nett. Und ja, ich weiß, keine freien Themes - aber hey, gutes Design ist ein Haufen Arbeit.

seyDesign Professional RapidWeaver themes - noch mehr RapidWeaver Themes und ein paar Open Source Versionen - mit denen könnte ich mir auch mal die Innereien so eines Themes genauer angucken.

YourHead Software - bin noch am überlegen, ob ich mir deren Plugins für RapidWeaver hole. Aus dem letzten MacHeist hab ich ja RapidWeaver recht günstig kriegen können und die ersten Experimente sind wirklich nett. Und die YourHead-Plugins bauen alle auf JavaScript auf anstelle von Flash, das könnte gut für statische Websites benutzt werden. Außerdem ist deren internes Datenformat einfach Ordner voller XML-Files, da könnte man auch was mit Tools machen.

Sony Steals Feature From Your PlayStation 3 - wer glaubt die restriktive Politik Apples ist übel, lest mal das hier über Sony durch. Wer seine PS3 wegen der möglichkeit auch Linux laufen zu lassen und mit dem Multicore-System zu spielen gekauft hat, der darf jetzt einen kostenlosen Featuredowngrade mitmachen.

EU-Kommission will Internetsperren einführen - ein Beweis dafür wie verblödet das Konstrukt der Kommission ist und wie dringend Europa auf vernünftige, demokratische Beine gestellt werden muss. Wir dürfen uns jetzt wieder erneut mit diesem Quatsch auseinandersetzen, obwohl es lokal endlich durch ist - und der europäische Kommissionsbürokratismus ist noch schwerer zu überwinden als Schäubles Hirngespinste. Für Schäuble reichte eine Wahl und ein Wechsel der Minister, aber die Zeit bis zur nächsten Kommissionszusammenstellung sind lang.

Viele Tote bei Anschlägen auf Moskauer U-Bahn - weil mich ja doch ein bischen mit Russland verbindet, guckt man auf solche Meldungen ja doch mit anderen Augen. Vor wenigen Wochen der Anschlag auf den Zug von St. Petersburg und jetzt das hier in Moskau. Der Ural war in den letzten zwei Wochen dagegen sehr ruhig.

NLTK Home (Natural Language Toolkit) - und wenn es etwas leistungsfähiger und flexibler werden soll, das hier ist sozusagen der Bauchladen für Parser. Fokus liegt auf der Analyse natürlicher Sprachen, daher auch so Sachen wie Stemmer (Stammfindung für Wortformen) enthalten. Könnte aber für einfache eingebettete Sprachen dann doch eher Overkill sein.

Python Package Index : Esrapy 0.5 - ein Parser und Lexer Toolkit komplett in Python. Könnte später mal interessant werden in einigen Projekten, zumindestens für kleinere Konfigurationssprachen.

Building Skills in Python - Online-Buch über Python für Programmierer, die einfach die Sprache noch nicht kennen. Sieht sehr gut gemacht aus, auf den ersten Blick.

Jobo AG & Jobo Labortechnik GmbH sind insolvent (aktualisiert) | photoscala - na toll, ich hab mir ja auch erst letztes Jahr einen Jobo Bildertank gekauft, da werden dann möglicherweise Firmware-Updates in der nächsten Zeit problematisch. Ok, ich hab nicht vor mir in der nächsten Zeit neue Kameras zu kaufen (hab ja gerade erst mein System renoviert), aber trotzdem ...

Oscar für Waltz - absolut verdient. Der Mann war für mich die perfekte Besetzung in Tarantinos Film.

Bottle: Python Web Framework - super-simples Python-Web-Framework das als ein einzelnes Python-File daherkommt. Keine Abhängigkeiten außer von der Standardbibliothek. Kein integrierter ORM, aber dafür sehr schlank und vielleicht gerade für Projekte interessant bei denen man eh keine Datenbank braucht oder will (oder das Dateisystem als Datenbank benutzt).

clojure-python - interessantes Projekt das die Interoperabilität zwischen Jython und Clojure vereinfachen will und auf einen ähnlichen Level heben will, wie sie zwischen Clojure und Java schon ist. Besonders interessant für mich, weil es mir dann erlauben würde, stärker auf Clojure als Alternative zu setzen - Jython ist schon geplanter Baustein der Werkzeugkiste, hat aber einige Performance-Probleme die Clojure durch direktere Java-Integration nicht hat. Ausserdem schreib ich lieber kompakten Lisp-Code als geschwätziges Java ...

hugoduncan's clj-ssh at master - GitHub - ziemlich interessante Bibliothek, die ssh-Zugriff in Clojure-Scripten ermöglicht. Zum Beispiel für Serverautomation sehr interessant. Benutzt Jsch, eine Java-native ssh-Bibliothek (also kein Umweg über shell-pipes oder ähnliches).

Scala: Post-Functional, Post-Modern, or Just Perl++? - interessanter Post der einige der Punkte aufgreift die mich auch bei der Betrachtung von Scala stören. Ich mag besonders die Bezeichnung als Perl++, denn das ist genau der Eindruck der sich mir aufdrängt immer wenn ich in Scala tiefer einstiege. Auch Perl hat mich immer fasziniert, aber spätestens als ich größere Projekte damit gebaut habe und die advanced Features von Perl intensiver benutzt habe, kamen mir dann doch so einige Zweifel über die Wartbarkeit des Ergebnisses - ganz besonders unter dem Aspekt die Arbeit einem meiner Kollegen zu übergeben für die weitere Betreuung. Damals habe ich den Wechsel zu Python durchgezogen, weil es mir viele der Features in einem wesentlich saubereren Sprachkonzept geboten hat. Ich glaube das könnte auch erklären warum ich mit Scala einfach nicht warm werde, auch wenn vieles davon mich fasziniert.

digg's lazyboy at master - GitHub - weil key-value-datastores im Moment total der Hype sind (und weil sie wirklich für manche Sachen praktischer sind als klassische Datenbanken), werd ich mir wohl Cassandra angucken. Einfach weil es nach Berichten im Web die besten Skalierungsmöglichkeiten bietet. Und weil es in einigen großen Websites im Einsatz ist - speziell zum Beispiel bei Digg (das ich als Site zwar doof finde, aber hey, die haben ordentlich traffic und laufen relativ stabil) mit lazyboy als Python-Anbindung.

17.6. multiprocessing - viel besser als externe module für Prozess-Kommunikation sind die seit Python 2.6 mitgelieferten Tools in multiprocessing.

rfc1437 / lazypy / source — bitbucket.org - und noch ein Projekt von mir (wieder) online. Lazypy ist eine kleine Bibliothek die lazy evaluation und futures (thread und process basiert) für Python verfügbar macht. Sehr praktisch für die einfache Programmierung von Nebenläufigkeit. Ok, man kann alles auch von Hand machen, aber ich mag halt den etwas funktionaleren Ansatz lieber. Ist eigentlich aus 2004, aber ich habs mal modernisiert (die prozess-basierten Futures zur Umgehung des GIL) und neu hochgeladen.

Semanchuk.com - Python IPC Modules - inter-prozess-Kommunikation mit Python.

A simple web application in Clojure using ring and enlive « LShift Ltd. - und hier ein kleines Beispiel, wie man mit ring und Clojure dann tatsächlich arbeitet. Sieht ganz interessant aus, könnte für mich besonders für Webservices in Clojure interessant sein.

Dynamic Web Development with Seaside - wer mal mit Seaside loslegen will, findet hier vielleicht den Ansatz dazu. Freies Online-Buch (gibts auch als kostenpflichtiges PDF oder print-on-demand über Lulu) über ein ziemlich beeindruckendes Web-Framework für Smalltalk. Und da es mitlerweile auch mit GNU Smalltalk läuft, ist auch der Betrieb als headless Server auf einer eigenen Root-Kiste kein großes Problem mehr.