programmierung - 18.7.2011 - 22.8.2011

Luban: a generic “language” for creating user interface — luban v0.2 documentation. Mal angucken - könnte bei meiner ewigen Suche nach einem kompakt zu nutzenden Userinterface helfen. Speziell Web als UI wird ja immer interessanter mit den ganzen Sachen die in dem Bereich in den letzten Jahren entstanden sind.

PyPy Status Blog: PyPy 1.6 - kickass panda. Wird immer besser - ctypes sind jetzt richtig fix (das ist eine der FFI Optionen in Python) und es gibt Beta-Unterstützung für C-Erweiterungen aus dem cpython-Umfeld (wobei das nur eine Notlösung ist, direkte PyPy-Erweiterungen werden eigentlich immer effizienter sein, aber so kriegt man wenigstens einige der Erweiterungen überhaupt verfügbar solange diese keine eigene PyPy-Version bieten). Oh, und es gibt einen ersten Ansatz für ein numpy Modul das direkt mit dem JIT von PyPy integriert ist - noch nicht vollständig, aber ein Anfang ist gemacht.

The Python Standard Library By Example - Doug Hellmann. Für all die, denen eine gedruckte Version des Internets lieber ist: das ist ein Buch mit all den PyMOTW (Python Module of the Week) Artikeln drin, aufpoliert und angehübscht und schön zusammengestellt. Sicherlich sehr praktisch, denn manchmal hat man einfach ein Buch schneller zur Hand als einen Computer - und im Bett sind Computer sowieso verboten. (Achtung: bezüglich Bett, das ist ein 1344 Seiten Schinken!).

Python and fileinput - All this. Ich kenn das Modul, ehrlich. Aber irgendwie ist es mal wieder meiner Erinnerung entschwunden. Ist wirklich eine praktische Sache wenn man Kommandozeilentools schreibt, einfach weil es einem das Unix-typische Behandeln von Input abnimmt.

GNAT GPL for LEGO MINDSTORMS NXT – Ravenscar Edition. Und für Freunde von Robotern aus Lego und bondage-and-discipline-Programmiersprachen gibts jetzt Ada für Lego Mindstorms NXT. Schließlich gibt es nicht so oft Ada-Links zu vermelden.

Cross-domain communications with JSONP, Part 1: Combine JSONP and jQuery to quickly build powerful mashups. Weil ich es gerade für einen Kollegen brauchte und daher danach gesucht hab, dann gleich mal blogmarken. jsonp ist im Prinzp einfach eine Konvention für JSON-Dienste die auf einen Parameter callback= damit reagieren, dass sie das generierte JSON einfach als Parameter an einen Funktionsaufruf geben und als Funktionsnamen den Inhalt des callback-Parameters einsetzen. Dadurch sind die Daten auch aus anderen Domains abrufbar als der, aus der das eigentliche Script kommt - normales AJAX verbietet das ja.

ipdb macht den Python Debugger etwas hübscher und bedienbarer indem es die Hilfsmittel von ipython integriert. Wenn man sowieso mit ipython arbeitet ist es vielleicht eine gute Idee auch ipdb zu installieren. Oder man nimmt pdbpp, welches ähnliche Features ohne ipython zur Verfügung stellt (z.B. könnte man das mit bpython kombiniert einsetzen).

rad2py - Rapid Aplication Development platform for python. Huch, wieso kenne ich das noch nicht? Sieht interessant aus, wenn auch in der Beschreibung etwas Kopflastig. Und es ist noch in einem sehr frühen Stadium (erster voller Prototyp für November 2011 geplant).

RMoD: Fuel. Und noch ein Smalltalk-Link - hier eine Persistenz-Library komplett in Smalltalk ohne spezielle Unterstützung der VM, aber trotzdem guter Performance und guter Abbildungsmöglichkeit für alle möglichen Arten von Objekten.

SandstoneDb, Simple ActiveRecord Style Persistence in Squeak. Eine sehr simple Ein-Platz-Datenbank für Pharo, die zum Beispiel interessant ist, wenn man kleine Desktop-Anwendungen in Pharo bauen will. Also so die klassischen GUI-Tools, die man so für den Eigengebrauch zum Beispiel macht. Und ja, heute ist Smalltalk Tag bei rfc1437.

Coral — Pharo Smalltalk for scripting. Oh, das ist nett, das ist eines der Probleme die ich immer mit Smalltalk habe: ich kann zwar in der IDE und im Image arbeiten und dann eine headless-Anwendung exportieren für den Server, aber sobald ich ausserhalb des Images mal schnell ein Script brauche, muss ich die Sprache wechseln. Coral liefert für dieses Problem die Antwort: ein kleiner Wrapper, eine minimale Syntaxerweiterung und ein minimales Image um mit Pharo Smalltalk normale Scripte schreiben zu können.

tode - tODE - the Object centric Development Environment. Ein bischen stagnant in der Entwicklung, aber trotzdem interessant: eine IDE, die auf Pharo Smalltalk aufbaut. Das Besondere: sie läuft im Browser, bietet aber dort die ganzen Smalltalk-üblichen Entwicklungswerkzeuge an. Im Prinzip könnte man damit also sich ein gehostetes Smalltalk-Image als Entwicklungsumgebung für das iPad installieren und von unterwegs damit spielen (Pharo und Squeak passen gut in die Browseroberfläche, weil sie ja auch sonst in der Regel nicht als native Windows daher kommen, sondern als Windows-in-Windows - und hier halt einfach Windows-im-Browser).

CouchDB: Die Definitive Referenz. Oh, das CouchDB Buch von O'Reilly gibt es auch als Online-Buch und dann auch noch in Deutsch. Sicherlich für den einen oder anderen interessant, der keine Lust hat sich durch englische Bücher zu wühlen. Die Übersetzung ist allerdings (noch?) nicht komplett, man stößt also immer wieder auf englische Kapitel. Aber es ist ein Anfang.

Installable Web Apps - Google Code. Da gibts etwas Hintergrund dazu wie man Webanwendungen zu installierbaren Webanwendungen oder hosted Apps umbauen kann. Damit kann man dann den Chrome als Runtime für Anwendungen benutzen, die vom Verhalten schon verdammt nah an normale Anwendunge sind - Amazons Online Kindle zeigt das sehr gut. Programmiert wird halt in JavaScript, aber das hat ja auch wesentlich weniger Schrecken als noch vor ein paar Jahren. Als Packaged Apps kann man dann auch all das machen, was Chrome Extensions können (und kann damit auch nochmal über den Umfang von normalen Webanwendungen hinaus).

Update on UIKit lighthouse platform. Hmm, hab ich gar nicht mitbekommen - QT hat auch in 4.8 Unterstützung für UIKit, das Framework von iOS, drin. Damit kann man sich also iOS Apps bauen, aber auf QT aufbauend. Da stellt sich mir doch die Frage, wie das dann mit PyQt oder PySide aussieht - Apple mag Interpretercode ja nur dann nicht, wenn er nachgeladen wird. Die App selber darf aber ruhig damit geschrieben sein.

Modula-3 Resource Page. Weiter bei den Nischensprachen - Modula-3 hat mich ja immer fasziniert, weil es eine pragmatische und praktikable Erweiterung der Wirthschen Sprachenwelt war und dabei eine Menge interessanter Sprachkonstrukte in ein bekanntes imperatives Sprachsystem integrierte. Und da geht die Entwicklung bis heute weiter, der Download hat sogar Binärpakete für Darwin (den Unix-Unterbau von OSX), allerdings derzeit nur 32bit (und ich denke mal keine Bridge zu Objective-C und damit zu den Cocoa APIs).

Magpie Guide: Welcome. Wo wir doch gerade bei Nischensprachen sind: Magpie ist mal wieder eine Sprache für die JVM. Diese hier sieht so ein bischen ähnlich aus wie eine Mischung aus Scala und Ruby, aber die Konzepte sind schon deutlich anders. Besonders nett ist Multidispatch - generische Funktionen, die abhängig von all ihren Parametern und deren Typen die passende Version wählen. Erinnert so ein bischen an CLOS in dem Aspekt. Ausserdem gibt es volle Closures und Funktionen und Blöcke sind first-class Objekte im System. Ausserdem gibt es mit Quotations einen Ansatz für Metaprogramming, wobei ich da allerdings immer noch den Lisp-Weg für ungeschlagen halte (einfach weil bei Lisp die Strukturen des Parsetrees 1:1 auf die eigentliche Syntax und die Listen als interne Repräsentation passt, während bei Sprachen mit Algol-ähnlicher Syntax das ganze wesentlich indirekter ist). Was ich persönlich auch angenehm finde: Magpie ist sehr textuell orientiert, nicht so stark Sonderzeichenlastig. Liest sich für mich einfach angenehmer.

the "useless" language. Ziemlich verrückte Sprache - sowas die Forth, aber alle Befehle und Syntax besteht aus einzelnen Zeichen. Dazu kommen noch ziemlich seltsame Beschränkungen für Funktionsdefinitionen (maximal 64 Zeichen auf einer Zeile und nur ein if oder while oder vergleichbares in einer Funktion). Besonders faszinierend ist der in U geschriebene U->C Compiler. Der Entwickler der Sprache hat ein ganzes Buch über Programmierung in U geschrieben. Aber Vorsicht: die Farbwahl des Autors ist gewöhnungsbedürftig ...

Xcode4 / Objective Pascal - Available Files. Wenn man mal mit Pascal in der Xcode4 Umgebung spielen will, ist das sicherlich ganz gut als Start. Dort wird beschrieben wie man FPC in die Umgebung einhängt, es gibt fertige Templates für Projekte und noch lustiger: es wird beschrieben wie man iOS Geräte in Pascal programmiert. Back to the Future! Oder Back from the Future?

extpascal - Ext JS wrapper for Object Pascal. Weil, ich wollte doch schon immer mal meine Webanwendungen mit Pascal programmieren und ihnen ein Ajax-GUI verpassen. Weil es geht. Und jeder RIA-Hipster einen Herzinfarkt bekommt, wenn er die Sourcen ansieht.

sausage.js - examples - The Core API. Interessante kleine JavaScript Lib, die die Navigation in großen Dokumenten deutlich erleichtert, dabei aber nicht mit Navigationsbuttons erschlägt - einfach rechts mit der Maus hovern, da gibt es visuelle Markierungen für die Größe der Sektionen des Dokumentes und da wo man hovert, kommt ein Button den man zum Direktsprung benutzen kann. Meiner Meinung nach deutlich weniger aggressiv in der Darstellung als Flexible Nav. Allerdings hat Flexible Nav natürlich den Vorteil, dass man nicht erst hovern muss, um die Navigation zu sehen.

Okito.net — On SproutCore 2.0. Über die aktuelle Version des Frameworks, das hinter icloud.com werkelt (da haben wohl ein paar Developer ihre NDA verletzt, als sie sich icloud.com genauer angeguckt haben). SproutCore gibt es schon länger, aber die Version 2.0 hat einiges an Veränderungen gebracht und ist ein Rewrite in wesentlichen Teilen. Das Ziel ist immer noch nativ aussehende Anwendungen nur mit JavaScript und Browser zu bauen.

Pascal Script | RemObjects Software. Wohl eher aus der Reihe "Kuriositäten die man im Netz so findet" - eine Scripting-Engine, die eine weitestgehende ObjectPascal-ähnliche Syntax hat und in Delphi und Lazarus (FreePascal RAD IDE) integriert werden kann.

Get Started Guide « PhoneGap. Nur mal geblogmarkt, weil ich das garantiert später nochmal brauche, wenn ich mit Phonegap und Android rumspiele. Ziemlich holperig, wäre doch schon nett, wenn Phonegap einfach ein fertiges Projekttemplate mitliefern würde. Aber nunja, es geht jedenfalls - mein Hello World taucht auf. Auf dem Simulator. Und ich muss kein fieses Java dafür anpacken, sondern nur fieses JavaScript.

Python, SymPy and Quantum Physics. Bisher waren NumPy/Matplotlib sowie SymPy für mich mehr oder weniger zwei Welten - in diesem Blogpost wird gezeigt, wie man diese beiden verbinden kann, also seine Funktionsdefinitionen über SymPy symbolisch erarbeiten und dann nach NumPy überführen um dort numerische Untersuchungen zu machen. Was gerade im Zusammenhang mit der qtconsole von ipython interessant ist, weil die nur matplotlib Plots inline anzeigt, SymPy Plots aber in einem eigenen Fenster (da diese über pyglet laufen), was zur Speicherung eines Arbeitsergebnisses eher blöd ist.

wsgi_lite. Da ich ab und zu mal "roh" gegen WSGI programmiere nicht ganz uninteressant für mich - ein verschlanktes WSGI, welches simplere Aufrufkonventionen für Middleware und Applikationen definiert und damit einfach den Code noch etwas weiter reduziert. Für ganze Apps bringt es in der Regel nicht so viel wie für Middleware, da man Apps üblicherweise ja mit einem Webframework schreibt und das einem schon diesen ganzen Teil erleichtert.

Issue 438 - pyglet - pyglet 1.1.3 fails on Snow Leopard. Ach menno, das ist jetzt echt ärgerlich. Pyglet wird von Sympy benutzt um mathematische Ausdrücke auszugeben. Dummerweise benutzt Pyglet auf OSX aber Carbon - und das ist nur 32bittig. Und alle Versuche von mir da irgendwas auf 32bit zu zwingen waren vergebens - eigentlich geht das per Environment Variable oder alternativ mit dem arch Tool, aber aus irgendeinem Grund (wahrscheinlich wegen interner indirekten Aufrufe von Programmen) wird das bei Python ausgerechnet nicht so gemacht wie dokumentiert. Ärgerlich, weil Sympy schon länger (nicht erst seit der QT Konsole) auf der Liste der auszuprobierenden Sachen steht.

Innovations in iPython. Sehr interessante Sachen, die bei ipython passieren - damit wird das schon sehr ähnlich zu typischen Mathe-Umgebungen ala Maxima oder Mathematica. Jedenfalls wenn man Sympy und solche Sachen installiert. Die QT Konsole hat bei mir jedenfalls nach etwas rumprobieren und nachinstallieren von Paketen mit Homebrew funktioniert. matplotlib kriege ich aber generell nicht auf Lion installiert, da hakt noch irgendwas, schade - das wäre auch interessant mit dem pylab Modus. Hier gibt es noch mehr zur QT Konsole.

WSGI and the Pluggable Pipe Dream | Armin Ronachers Thoughts and Writings. Einfach mal lesen, damit man einen guten Überblick bekommt, was WSGI eigentlich so alles ist und was damit machbar ist und wo es vielleicht auch mal klemmt.

Gambas - Gambas Almost Means Basic. Ok, und jetzt wirds richtig wild, aber ich dachte mir nach RealBasic kann ich nicht umhin auch noch auf Gambas zu linken, einer Art VisualBasic Clone für verschiedene Systeme. Kann mit unterschiedlichen Datenbanken und unterschiedlichen GUI Libraries. Und eine Portierung nach OSX ist mitlerweile (Juni 2011, also noch recht frisch) auch da, klingt also auch für die Zukunft spannend, denn Linux und Windows werden schon unterstützt. Und ja, ich weiss, "richtige" Programmierer rümpfen über sowas wie VisualBasic die Nase, aber um mal eben grafische Tools zusammenzudengeln ist es sehr brauchbar und gerade für Gelegenheitsprogrammierer interessant.

TL Omnis. Und noch so ein RAD Oldtimer - Omnis war eine der ersten RAD Umgebungen mit der ich gespielt habe und sie war recht ungewöhnlich für die damalige Zeit. Keine "richtige" Programmierung damals, nur GUI Tools zur Verdrahtung und Verbindung in Kombination mit berechneten Feldern, aber diese sehr leistungsfähig. Sehr starker Fokus auf grafische Werkzeuge für verschiedenste Zwecke (DB Design, Relationsmanagement, Reports, Formulare etc.). Schon erstaunlich was man alles findet, wenn man etwas nachbuddelt. Gibt übrigens eine freie Standardversion der Umgebung, man kann also einfach mal reingucken was es heute so alles kann.

Lazarus. Ich mein, wie kann ich denn sowas wie einen freien Delphi-Clone auslassen, wenn ich über IDEs und RAD Tools schreibe? Also hier der Link, gibt auch OSX Versionen davon. Und ist definitiv ein aktives Entwicklungsprojekt. Und hey, Pascal war meine erste Hochsprache nach Basic, als ich damals mit der Programmierung angefangen bin. Oh, und es gibt mit Objective Pascal eine ziemlich runde Bridge zu den Cocoa Frameworks. Update: boah, da kommt Nostalgie auf! Kommandozeilentools in Pascal bauen! Und die IDE ist gar nicht mal so übel, die kann was!

HyperNext Studio kannte ich überhaupt noch nicht. Ein HyperCard Clone für Mac, mit dem man auch Windows-Anwendungen erzeugen kann. Allerdings ist die letzte Version etwas älter, keine Ahnung ob die mit Lion noch läuft. Mittlerweile ist das Freeware (allerdings closed Source, ich vermute mal weil deren letzte Version halt schon älter ist). Und auch interessant: es bietet zwei Sprachen an, eine die HyperTalk nachempfunden ist und RBScript, ein objektorientiertes Basic aus Realbasic (einer anderen IDE für OSX und Windows). Ich vermute mal, HyperNext selber ist vielleicht mit Realbasic programmiert. Oh, und mit dem HyperNext Android Creator kann man auch Android Anwendungen mit HyperNext bauen. Der Android Creator ist allerdings kostenpflichtig (aber mit 60 Dollar nicht wirklich teuer). Und leider ist der nur für Windows verfügbar, nicht für den Mac. Update: wer Lion hat, kann es vergessen mit HyperNext Studio zu spielen, denn das ist PowerPC Code, und unter Lion gibt's kein Rosetta mehr. Also Maximum an OSX Version ist Snow Leopard.

Whalesong: a Racket to JavaScript compiler. Schon lange keinen Link zur besten Scheme Implementation des Netzes gehabt. Ok, Racket nennt sich nicht mehr Scheme, aber Scheme ist noch haufenweise drin. Und jetzt gibt es mit Whalesong ein Backend, das aus dem Racket Code JavaScript produziert - und sogar standalone HTML Files erzeugen kann, die dann einfach im Browser laufen.

WebKit in PyQt - rendering web pages. Da ich mal wieder über GUI Bibliotheken und Tools grüble und mit Python und Qt rumspiele sollte ich natürlich nicht die WebKit-Integration von Qt vergessen, die ist wirklich schön einfach realisiert, wie diese recht simplen Beispiele zeigen. Und die Qt-Oberflächen unter OSX sind zwar nicht 100% wie native Anwendungen, aber schon deutlich besser als die von GTK. Und man kann seinen Code dann auch auf anderen Systemen laufen lassen, ohne große Handstände. Auf dem Blog gibt es noch mehr sehr interessante kleine Artikel über Python und Qt.

CodeMirror. Wenn man Editoren in Webseiten haben will, die Syntax von Programmen einfärben. Sieht ganz nett aus und könnte vielleicht für ein paar Sachen interessant sein, z.B. da wo ich restructured Text eingeben lasse, oder wo Python-Code in der Datenbank gespeichert wird. Ist eine JavaScript Library die im Browser einfach eingehängt wird in die Textareas.

Harbour Project. Jemand sagte dBase. Dann landete ich bei dbase.com - und dann stellte sich mir die Frage nach Clipper. Und dann hab ich danach gesucht. Warum tu ich sowas? Warum kann ich mich nicht beherrschen? Und wo ist dBase für die Cloud?

Orange - Data Mining Fruitful & Fun. Wow, gerade drüber gestolpert, das kannte ich noch nicht, glaub ich. Eine GUI-Oberfläche mit einem Node-Interface zur Definition von Datenanalysen und Visualisierungen, wobei diese Knoten in Python programmiert sind. Das ganze Interface ist mit QT gebaut, daher gibts da auch eine OSX Version davon. Wenn man also größere Datenmengen durchwühlen muss, ist das sicherlich mal einen Blick wert, zumal es Open Source ist und man sich da ja nix vergibt.

Sage: Open Source Mathematics Software. Einfach weil ich ja letztens über Worksheet-Interfaces gegrübelt habe und drüber nachdenke, was es da alles so an Auswahl gibt - Sage ist ja nicht nur ein Mathematik-Paket, sondern primär erstmal eine gigantische Modulsammlung für Python und ein Worksheet-Interface ebenfalls für Python. Ok, man benutzt einen Webbrowser gegen einen lokal laufenden Webserver, aber trotzdem ist das eigentlich eine nette Sache. Und mitlerweile ist Version 4.7 mit vielen Änderungen draußen. Und man kann gute Sachen ruhig mal wiederholen. Billiger als Mathematik ist es allemal und Python gefällt mir auch deutlich besser als Programmiersprache. Da ich warscheinlich dann irgendwann mir meinen eigenen Server installieren will, um auf Notebooks von überall zugreifen zu können, hier mal ein Blogmark auf eine Anleitung, wie man mit Ubuntu einen eigenen Sage Server baut.

The Xavisys WordPress Plugin Framework - Xavisys. Interessant wenn man selber Plugins für WordPress bauen will, denn es nimmt einem ein paar der Standardarbeiten ab und macht den Code damit etwas simpler.

Creating Apps Using AppleScript Objective-C. Vielleicht sollte ich mir einfach das Buch hier holen, um meine (recht perverse) Neugierde für die AppleScript/Objective-C Bridge zu befriedigen.

SuperCard on Lion. Und weil ich gerade von HyperCard geschrieben habe, sein geistiger Nachfolger - SuperCard - existiert immer noch und ist für Lion wieder fit gemacht worden. Aber wohl immer noch eine Carbon Anwendung, seine Tage sind also wohl doch in nicht zu ferner Zukunft gezählt (bzw. wird es immer schwerer werden, SupeCard in aktuelle Entwicklungen zu integrieren, wenn nicht ein Wechsel nach Cocoa stattfindet). Und es reizt mich immer noch das Teil zu kaufen, und wenn es nur aus Nostalgie ist. Das Hack-Gefühl von HyperCard hab ich nur später wieder so in Smalltalk-Umgebungen erlebt (und die sind ja leider unter OSX auch eher tot).

Mac OS X 10.7 Lion Automation Release Notes. Die schrecklichste Spracherfindung seit Hypertalk hat in der Löwenversion einen Haufen Erweiterungen bekommen, besonders die Integration der Objective-C Bridge in den Apple Script Editor ist witzig - man kann damit direkt in Scripten auf Cocoa Frameworks zugreifen. Auch wenn ich der Überzeugung bin, dass AppleScript wahrscheinlich mehr Programmierer in den Wahnsinn getrieben hat als dass es Benutzern das Leben erleichtert hat, es ist allein schon aus Sprachhistorischen Aspekten immer wieder interessant zu gucken was sich dort tut. Seit Snow Leopard mit der Objective-C Bridge gekommen ist, ist es jedenfalls wieder im Aufwind und selbst im aktuellen XCode 4.1 kann man Anwendungen komplett nur mit dem Interface Designer und AppleScript zusammendengeln. Leider ist die Anwendungsstruktur unter Cocoa definitiv nicht Non-Programmierer-geeignet, XCode mit AppleScript Anwendungen ist also nicht wirklich eine Neuauflage von HyperCard (der einzige Grund, warum ich HypeTalk vergebe - es war die Sprache in diesem ziemlich genialen kleinen Tool mit großer Reichweite).

XMPPFLASK — XmppFlask v0.1 documentation. Definitiv ein interessantes Projekt - ein XMPP Bot in Python, der eine ähnliche Struktur hat wie Flask, also einfache Definition für XMPP Handler mit Routing von Events. Da ich immer mal wieder vor hatte mir XMPP als Backbone für verteilte (also weit verteilte) Anwendungen mit Online/Offline-Möglichkeit anzugucken, mal geblogmarkt.

flot - Attractive Javascript plotting for jQuery. Mal wieder was für die Zahlenfresser, bzw. deren visualisierenden Kollegen - Zahlenwüsten in gut aussehenden Graphen darstellen, und das ganze als jQuery Plugin. Muss ich mir definitiv mal näher angucken, könnte bei speziell einem Projekt interessant werden.

clojurescript demo convex hull. Eine Demo für die Programmierung von Clientside Code in Clojure mit Hilfe von Clojurescript. Clojurescript compiliert Clojure nach JavaScript mit Hilfe des Google Closure Compilers und der Closure Library. Sieht nach einer sehr interessanten Möglichkeit der Clientprogrammierung aus, zumal Clojurescript unter Mithilfe von Rich Hickey steht, dem Erfinder und Hauptentwickler von Clojure, man kann also davon ausgehen, das die Integration in die Clojure Welt gut sein wird.

Pattern Matching In Python. Interessanter Artikel für Leute wie mich, also für Leute die Snobol4 oder dessen "Nachfolger" (in Tüddelchen, weil es ja dann doch eine gänzlich andere Sprache ist) Icon mögen und mal eine Alternative zu regulären Ausdrücken haben möchten. Implementiert ein dem Icon-Modell sehr ähnliches Pattern-Matching-System, komplett mit Backtracking und Generatoren. Ist allerdings aus 2004 und ist eher eine proof-of-concept Geschichte, nicht unbedingt ein direkt nutzbares und installierbares Python Modul. Im Gegensatz zu SnoPy ist es aber reines Python und nicht ein Swig-basierter Wrapper für eine Ada Library.

Bash on Balls. Für die Momente im Leben, wo selbst Visual Basic zu viel wäre - ein Webframework für Bash Scripte. Benutzt natürlich ein paar Unix-Werkzeuge zusätzlich, vor allem Netcat für den Netz-IO. Und ja, es kommt komplett mit Server und allem, so wie man es sich vorstellt. Sogar Dev-Code-Reload und solche Sachen gibts, auch eine Templatesprache. Und mit BoB ein nettes Acronym. (und im Gegensatz zu Cobol on Cogs ist das hier ein Projekt das man wirklich ausführen kann und nicht nur ein Ulk)

FAQ - Kotlin - Confluence. Die Drölfundfünfzigste Java-Killer-Sprache für die JVM, die hier auch gleich Scala attackiert (das übliche Argument "Scala ist zu kompliziert", welches auf den ersten Blick auch durchaus stimmt - Scala hat wenige zentrale Basisfeatures, die durch die Standardlibrary und die gute DSL Möglichkeit die eigentliche Sprache an der Oberfläche für den Programmierer dann mit vielen Features versorgt). Bleibt die Frage, was daraus wird, aber da JetBrains dahinter steht, wird sie zumindestens eine gute IDE haben (JetBrains baut IntelliJ und andere JVM IDEs, unter anderem auch PyCharm und mit AppCode die einzige derzeitige OSX Objective-C Alternative zu XCode). Und hey, wer seine Sprache nach einer Insel vor St. Petersburg benennt, hat schon mal einen Wohlwollensvorsprung bei mir.

WSGID When your WSGI app becomes a nix daemon. Mongrel2 von Zed Shaw hat mich schon geraume Zeit interessiert, aber das grösste Manko war, dass es nicht viele Python Frameworks gibt, die direkt mit Mongrel2 arbeiten. wsgid löst das Problem, es ist ein WSGI Server für Mongrel2 und kann damit dann Frameworks ankoppeln, die unter WSGI laufen können - zum Beispiel ist damit Mongrel2 als HTTP Server für eine verteilte Django-Installation benutzbar. Durch den Einsatz von ZeroMQ bei Mongrel2 ist das ganze dann deutlich flexibler strukturierbar als mit den klassischen (FCGI basierten) Serverintegrationen.