Am Rande notiert ...

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.

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.

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.

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

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.

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

J Source ist jetzt unter GPL3 verfügbar. Die verrückteste Programmiersprache in aktiver Benutzung ist jetzt noch eine Nummer zugänglicher. Aber vorsicht vor dem Source: das ist zwar C, aber C von jemandem der J denkt und J schreibt und dafür nur den C-Compiler missbraucht.

fantasm – Project Hosting on Google Code. Unbedingt mal angucken, eine Workflow-Engine in Python. Sowas könnte für Projekte auf der Arbeit recht interessant werden.

harukizaemon/hamster. Immutable Threadsafe Datastructures – für Ruby. Man kann sie also nicht ändern, aber dafür bekommt man neue, geänderte Versionen zurück. Ideal um sie z.B. über Threadgrenzen hinweg zu benutzen. Clojure hat sowas von Hause aus, Scala seit 2.8 ebenfalls. Ich hätte sowas gerne für Python …

Pyjamas – Python Javascript Compiler, Desktop Widget Set and RIA Web Framework. Hatte ich im alten Blog schon mal, aber a) hat sich ne Menge getan und b) kams mal wieder heute hoch als Thema, also nochmal geblogmarkt.

Mal angucken: pqc – PostgreSQL Query Cache. Ein PostgreSQL Proxy, der Abfragen über eine Memcache-DB cached um Performance für wiederkehrende Abfragen zu verbessern. Dadurch, dass er als Proxy arbeitet, kann er auch Anwendungen beschleunigen, die nicht von Hause aus schon Caching selber realisieren.

jsFiddle ist ein sehr nett gemachter Online-Editor für Javascript, HTML und CSS. Es werden verschiedene Javascript-Frameworks unterstützt und es gibt die Möglichkeit Snippets zu speichern und mit anderen zu diskutieren. Progressing.js steht auch zur Verfügung, genauso wie eine Reihe von Tools um sie auf den Code loszulassen. Für Experimente recht cool.

balupton/history.js liefert ein API zum Zugriff auf die HTML5 Historymanipulation, aber gleichzeitig unterstützt es auch alte Browser und macht da dann diese hässliche # Notation – aber eben nur dann, wenn HTML5 nicht verfügbar ist. Könnte für ein Projekt bei mir recht interessant sein.

WordPress JSON API. Keine Ahnung ob ich das jetzt wirklich brauche, aber es könnte sich irgendwann mal als nützlich erweisen – die XMLRPC oder Atom APIs sind doch relativ umständlich wenn man nur per JavaScript mal fix auf Daten aus dem Blog zugreifen will.

Feeding the Bit Bucket» Blog Archive » Common Lisp, Clojure and Evolution. Nein, Clojure wird nicht als Evolution von Common Lisp beschrieben – das ist einfach das Beispielprogramm „Evolution“ aus dem Buch „Land of Lisp“ in Clojure übersetzt von jemandem der mit dem Buch Clojure lernt indem er eben alle Beispiele in Clojure realisiert mit der Common Lisp Code als Basis. Und von daher eine gute Vergleichsmöglichkeit zwischen Clojure und Common Lisp. Vielleicht ja für 2 oder 3 Leser meines Blogs interessant. Ansonsten für mich als Blogmark um später wieder draufzugucken.

Yeti programming language. Interessante ML-Variante (ok, ML-inspirierte Sprache – die Syntax ist stellenweise doch deutlich anders) auf der JVM deren Ziel eine möglichst schlanke, kompakte Sprache ist, die trotz starker Ausrichtung auf funktionale Programmierung gut mit Java kooperiert. Besonders interessant für mich ist die strukturelle Polymorphie, die bei Yeti unterstützt wird – Funktionen definieren durch die Benutzung nur, welche Struktur erwartet wird, und jede Struktur die die verwendeten Felder liefert ist akzeptabel – kein zwanghaften Vererbungshierarchien mehr, nur weil man polymorphe Funktionen bauen will (und auch keine impliziten Konverter wie z.B. bei Scala). So was ähnliches gibt es ja auch schon bei Googles Go.

Ada 95: The Craft of Object-Oriented Programming. Freies Online-Buch (ehemals Prentice Hall aus 97) über Ada 95. Ganz nett mal wieder den schön byzantinisch anmutenden Sourcecode von Ada zu sehen.

Weil ich von Prograph schrieb: Andescotia Software scheint eine neue kommerzielle Prograph-Version zu haben. Das ganze tuts unter OSX 10.4 und es gibt eine Demo-Version zum Ausprobieren. Und teuer ist das ganze auch nicht mit 68 Dollars. Ich glaub da weiss ich womit ich heute abend mal rumspiele! Und als freien Download gibt es dort das Buch „Visual Programming With Prograph CPX„. Update: das Spielen hat sich erledigt, unter Snow Leopard startet die Demo nicht … (und der Traffic auf deren Mailingliste sieht nicht so aus als ob da große Reaktion zu erwarten wäre). Schade. Hab mal eine Mail geschrieben, vielleicht passiert ja noch was, aber klingt doch arg wieder nach totem Projekt. Wieder mal.

hotzen/ScalaFlow liefert eine sehr interessante Erweiterung zu Scala: dataflow Programmierung mit automatischer Auflösung über Continuations – man definiert Variablen, kann auf Variablenwerte zugreifen bevor denen Werte zugeordnet sind und das System selber sortiert alle Zugriffe und Zuweisungen in die passende Reihenfolge. Besonders interessant als Basis für parallelisierung, wenn partielle Bereiche eben sich erst später ergeben aber entsprechende Bearbeitungen vorher schon definiert werden sollen. Dataflow-Sprachen finden bei mir seit Prograph Interesse, die Integration in eine normale Sprache als Basis könnte durchaus interessant sein.

JSSpeccy: A ZX Spectrum emulator in Javascript. Weils geht.

remogatto/gospeccy – in ZX Spectrum Emulator in Go geschrieben. Da ich ein alter Spectrum-Besitzer bin und das meine erste Kiste war, die ich mit selbst verdientem Geld (damals ein Artikel in der c’t! Mein erster und einziger Ausflug in die Schreiberei!) gekauft habe.

Get inPulse and Hack Your Watch. Sieht ganz cool aus, einfach nur ein kleiner Computer und ein Display, programmierbar, Anschluß über Bluetooth. Könnte man nette Spielereien mit machen. Vielleicht sogar die Uhrzeit anzeigen lassen.

PyPy Status Blog: PyPy Winter Sprint Report. Wichtigster Punkt: fast-forward ist in Trunk, womit die nächste Version von PyPy also definitiv 2.7er Kompatibilität bekommt.

SourceTree | Mercurial and Git GUI for Mac OS X. Hmm – ist nicht ganz billig mit 45 Euro im AppStore. Aber manchmal hätte ich schon ein GUI für die Arbeit mit Mercurial, speziell wenn ich mit fremden Repositories arbeite und womöglich lokale Changes habe. Vielleicht spiel ich irgendwann mal mit der Trial rum.

ongoing by Tim Bray · Broken Links. Warum diese übermäßig eingesetzten #! Fragmente in URLs ganz große Scheiße sind und warum man sie nicht benutzen sollte. Und ja, es nervt, dieses Web vergewaltigen – zumal es dafür absolut gar keinen Grund gibt, dynamische Server können Problemlos verschiedenste URL Strukturen mappen. Und ja, ich weiss um das Problem, dass man die URL im Browser nur im Fragment-Part umschalten kann per JavaScript, ohne ein Reload zu erzwingen – aber das ist kein Grund gleich alle URLs auf so ein blödes Fragment-Format umzustellen.

scgi-wsgi 1.1 released – Allan Saddi’s projects blog – bisher benutzen wir seinen FLUP basierten Server, der in Django mitkommt, aber die Möglichkeit auf mod_prox_scgi zu gehen wäre schon interessant, weil wir effektiv einen Server dazwischen einsparen könnten und nicht mehr mit ajp arbeiten müssen. Wobei allerdings ajp auch nicht so schrecklich ist – also vielleicht einfach mal ein paar Tests machen. Für einfache Webservices benutze ich aber weiterhin den auf gevent aufbauenden wsgi Server den ich deezeit im Einsatz habe, denn der ist einfach nur genial schnell und benutzt fast keine Resourcen.