programmierung - 5.1.2009 - 21.6.2009

Erik Naggum, 1965-2009 RIP - schon seltsam den Nachruf auf einen Usenet-Poster zu lesen und davon berührt zu sein - auch wenn man den Menschen selber nie getroffen hat, nur selten mit ihm Mails oder Newspostings tauschte und auch sehr oft eigentlich eher kopfschüttelnd auf einen Thread gestarrt hat, in dem er beteiligt war. Unbequem war er eigentlich immer. Trotzdem (oder vermutlich gerade deswegen) hat er comp.lang.lisp sehr oft und stark mitgeprägt. Und manches mal zum Nachdenken angeregt.

software - xml - s-exp vs XML - und weils so gut passt, eines seiner Meisterpostings über Markup-Languages und ihr Vergleich zu lisp S-Exprs. " If GML was an infant, SGML is the bright youngster far exceeds expectations and made its parents too proud, but XML is the drug-addicted gang member who had committed his first murder before he had sex, which was rape."

scalala - alberner Name, aber interessanter Inhalt: Matlab-like Mathelibrary. Gerade in dem Bereich bietet eine statisch getypte Sprache Vorteile, da man eben nicht versehentlich Elefanten in die Orangenpresse stopft.

scouchdb - Scala Interface zu CouchDB (direkte Objekt-Persistenz über JSON).

httplib2 - wesentlich vollständigere Implementierung eines HTTP-Client in Python. Unterstützt auch moderne Features (also so die Sachen, die in den letzten 10 Jahren entwickelt wurden ...)

The speed, size and dependability of programming languages - eine faszinierende Analyse verschiedenster Programmiersprachen auf der Basis statistischer Auswertungen ihrer Eigenschaften und Kennzahlen in einem Benchmark-Wettbewerb. Also keine direkte Analyse des Benchmark und der Einzelperformance, sondern eine wesentlich sinnvollere Analyse der sich aus den Benchmarks ableitenden Charakteristiken der Sprachen.

Reading and Writing to Excel Spreadsheets in Python - falls man mal mit den Werkzeugen des Teufels interfacen muss.

Geeking out with Lisp Flavoured Erlang - irgendwann muss ich mich doch mal endlich mit Lisp Flavoured Erlang beschäftigen.

Nanojit - kompakte Library für Native-Code-Generierung. Wird in Tamarin und SpiderMonkey benutzt.

pickled-object-database - simple kleine Objekt-Datenbank auf Basis des Pickle-API und SQLite. Sieht ganz interessant aus, erinnert mich recht start an Wood, einer ähnlichen Objektdatenbank für Common Lisp.

Lamson: Lamson The Python SMTP Server - interessantes Projekt, gerade wenn man plant auf eMail als Interface aufzubauen.

Nimrod Programming Language - interessante Python-variante mit expliziter Unterstützung des Parsetrees (und dadurch Makro-Möglichkeiten auf dem Level von Lisp) aber native-code-compilation.

MonoDevelop on MacOS X - ist zwar Microsoft-Murks, und die ausführbaren Programme heißen .exe, aber immerhin gibts ein paar interessante Programmiersprachen unter Mono die man jetzt auch sinnig unter OS X ausprobieren kann.

Hg-Git Mercurial Plugin - interessant aus diversen Gründen, nicht zuletzt die Tatsache, dass Mercurial auf Windows deutlich besser läuft als Git.

Tropo - ein gehostetes Telefonie-System (z.B. für Voicemail-Systeme oder ähnliches) mit API zur Programmierung von Plugins in diversen Scriptsprachen. Sachen gibts ...

Discount — a C implementation of the Markdown markup language - der Titel sagt schon alles. Sieht gut aus, und soll um ein vielfaches schneller als die anderen markdown Implementierungen sein - womit es auch für life-Nutzung interessant wäre. Und Markdown ist um ein vielfaches simpler als Docutils (Restructured Text).

Experiences deploying a large-scale infrastructure in Amazon EC2 - interessanter Artikel über skalieren mit Amazons Elastic Cloud.

jgm's peg-markdown - und noch eine andere C-basierte markdown Version.

Python MQI Interface - pymqi. Version 0.5d - MQSeries und Python. (nicht das ich MQSeries-Fan wäre, ich brauchs halt nur eventuell für die Arbeit)

Sup dawg, we heard you like Smalltalk so we put Smalltalk in your Factor so you can send messages while you roll - eine Implementation von Smalltalk in Factor. Durchaus ausbaufähig und könnte diese nette Umgebung auch Leuten nahe bringen, die Factor noch garnicht kennen (manchmal ist der Start mit einer bekannten Sprache halt einfacher).

An Experimental MacRuby - MacRuby wird auf LLVM als virtuelle Maschine wecheln, weg von der Standard-VM von Ruby. Sehr interessant, weil es deutlich höhere Performance verspricht.

Review of 3D Engines for the iPhone - interessante Übersicht über verfügbare Game Engines für das iPhone.

Somethings to rejoice about - über die Änderungen in Erlang 13A. Speziell sehr nett: endlich echter Unicode-Support in Erlang.

.epub eBooks Tutorial - wie man mit freier Software ePub Files produziert.

OpenDocument, diff, and revision-control - ein paar Ideen, wie man mit .odt und Versionierung arbeiten kann. Könnte ich eventuell auch für VoodooPad benutzen. Wobei ich dabei ja nicht nur diffen, sondern auch mergen können möchte - um halt sauber zwischen mehreren Maschinen syncen zu können. Aber so wie es aussieht, sind meine besten Chancen möglicherweise in git - meine Mercurial Einbindung tut zwar, aber ich muss dazu VooodooPad doch arg in den Features einschränken (alle Seiten müssen unformatierter Text sein derzeit). Oder ich baue mir noch mehr Tools rund um Mercurial, um auch die RTF-Seiten automatisch zu konvertieren. Alles nicht so wirklich optimal - eigentlich würds reichen, wenn ich sauber mit einem lighttpd-basierten webdav synchronisieren könnte, weil MobileMe ist einfach nur schweinelangsam.

What happened to Hot Standby? - echte native Synchronisation kommt für PostgreSQL 8.5! Gibt schon bestehende Lösungen, aber native ist natürlich einfacher für die Administration. Und sollte endlich die albernen Diskussionen mit den MySQL-Jüngern verkürzen.

wmd - The Wysiwym Markdown Editor - genial. Preview von Markdown mit JavaScript. Für Browseroberflächen eine klasse Sache, denn Markdown ermöglicht deutlich besseres Weiterverwenden von Textinhalten als wenn diese direkt HTML wären.

git installer für OS X - damit man da nicht mehr die Installationsorgie mit MacPorts hat garnicht so unpraktisch.

A high-level cross-protocol url-grabber - nett. urllib ist ja für http ganz ok, aber auch recht low-level. Das hier sieht hingegen recht gut brauchbar für die typischen Batchprogramme aus.

py-amqplib - AMQP Library für Python, macht einen guten Eindruck.

Rabbits and warrens - RabbitMQ und Python - ein Bericht aus der Realität.

txAMQP: Twisted AMQP in Launchpad - hmm. AMQP und Twisted - damit könnten die Worker an einer Queue noch etwas effizienter angehängt werden.

Using RabbitMQ Beyond Queueing - interessanter Artikel der sich mit multiplen Consumern, persistenten Queues und ähnlichem beschäftigt.

zeromq: Fastest. Messaging. Ever. - noch ein AMQP Server (neben RabbitMQ, aber den hatte ich ja schon, und QPID vom Apache-Projekt, der aber gerne Messages verliert), klingt recht interessant, speziell die sehr niedrigen Ressourcen, die er braucht. Allerdings keine Persistenz bei Queues.

FragStore - A Fragmenting Asset Store at Adam Frisby - wer wissen will, was für technische Probleme hinter sowas wie Second Life stecken, hier ein Blog post über die Probleme mit dem Assetserver von osgrid.org, einem auf OpenLife (open source reimplementation der Second Life Protokolle auf Serverseite) aufbauenden experimentellen Grid.

Demo scripts for gnuplot CVS version - gnuplot kann jetzt Output auf HTML Canvas! Und damit super-simples Einbetten von Plots in Webseiten!

Moving Forth: Part 1 - macht wehmütig, wenn man sich so die Beschreibungen der alten CPUs durchliest und die Register noch beim Namen kennt.

Wolfram Mathematica Home Edition - woooohooooo!! Wolfram finally sees the light! Ok, nach dem Klick auf den Store dann doch nicht - not available for your region. WTF?

NodeBox 2 - gemein. Bilder und Filme, aber kein Testdownload! Kann man mir doch nicht antun, sowas!

LÖVE - Free 2D Game Engine - in Lua. Und gibts für den Mac als Universal Binary. Screenshots sehen ganz nett aus.

Online Backup: Multi-Platform, Multi-Computer | SpiderOak, Inc. - klingt wie DropBox. Witzigerweise auch in Python (allerdings nur der Server, bei DropBox ist es auch der Client). Ebenfalls interessant: die veröffentlichen eine Reihe OpenSource Komponenten, die sie geschrieben haben. Besonders das transaktionsgesicherte Dateisystem auf Basis von SQLite sieht interessant aus.

Patterns in Python - und warum viele Patterns mit Python trivial sind.

New in JavaScript 1.7 - weil man so oft vergisst, das Javascript eine recht nette Sprache sein kann. Besonders die neueren Versionen haben interessante Features gelernt.

Data Mining with R: learning by case studies - sollte ich mir mal antun, hab da so ein paar Datenquellen, die ein intensiveres Mining vertragen könnten.

Bubble, bubble toil and trouble: Juice Analytics - Bubble Charts mit Nodebox (also Python). Sehr nett - und ich bin ja absoluter Nodebox-Fan. Für mich eine sehr nette Prototyping-Umgebungen. Mit sehr brauchbaren Bibliotheken.

iUI Introduction Wiki Page. - genial wenn man mal eben schnell simple Daten visualisieren will, so dass sie auf dem iPhone praktisch abrufbar sind. Der Overhead für einfache Seiten ist sehr gering und durch die starke JavaScript-Orientierung sind die Datenvolumen ebenfalls sehr kompakt - was sehr gute Reaktionszeiten auf dem iPhone gibt.

PyCha - keine Ahnung ob ich das schon hatte, aber heute zum ersten Mal benutzt, eine kleine und feine Python-Bibliothek, die auf Cairo aufsetzt und einfache Charts generiert. Viele lästige Standardklamotten werden sehr nett automatisch gehandhabt und die Ergebnisse sehen auch noch gut aus!

pure-lang - nicht das man noch mehr Programmiersprachen haben muss, aber diese baut auf LLVM als Backend auf, was sehr interessante Möglichkeiten eröffnet (speziell was Performance angeht).

Vx32: Lightweight, User-level Sandboxing on the x86 - interessantes Konzept auf Prozessor-Virtualisierung aufbauend.