Am Rande notiert ...

bconstantin / django_polymorphic. Warum finde ich das erst jetzt? Das ist eine sehr nette Sache für Django-Projekte mit vererbten Modellen – sobald man Zugriffe auf eine gemeinsame Modell-Klasse macht, erhält man bei Django nur Instanzen der gemeinsamen Modell-Klasse – bei Django-Polymorphic aber erhält man Instanzen der konkreten Unterklassen. Im Prinzip wird der ORM dadurch mehr zu einer Objekt-Datenbank. Dürfte allerdings etwas zulasten der Performance gehen, da mehr SQL-Abfragen erzeugt werden.

Mixing it up: when F# meets C#. Da man ja nie in einem abgeschlossenen Raum programmiert, sind die Verbindungen zwischen Sprachen recht wichtig – und besonders auf Plattformen wie .NET und JVM. Die Abbildungen von F# Datentypen auf C# Datentypen und die Nutzung dieser sieht recht interessant aus. C# Daten von F# nutzen ist ja trivial, aber umgekehrt gibt es schon einige Besonderheiten. Eine Ähnliche Situation gibt es ja auch bei Scala und Java.

birkenfeld / karnickel. Ziemlich schräges Teil: Makros auf AST Level für Python. Allerdings in einer Form, die dann doch eher an C Makros erinnert – also einfache Expression-Makros (und recht stark limitierte Block-Makros). Vor allem fängt man sich all die bösen Probleme eines solchen unhygienischen Makrosystems ein – wie zum Beispiel Namenskonflikte zwischen makro-lokalen Variablen und äußeren Variablen. Ist auch eher einfach nur der Beweis das es geht und was man mit dem in Python mitgelieferten AST Modul machen kann.

dyoo/moby-scheme. Noch eine interessante Sache für Android: ein PLT Scheme (also Racket) Dialekt und eine passende Toolchain um aus Racket Advanced Student Language + World Primitives (ASL ist ein schon recht weit gehender Scheme-Dialekt in Racket und die World Primitives sind für reaktives Programmieren in Scheme) erstellte Anwendungen in JavaScript laufen zu lassen und diese dann zu Androit-Anwendungen zu bündeln. Also Programmierung von Android-Handys in einem reaktiven Scheme-Dialekt. Oder noch kürzer: Klammern für Android.

icylisper.in – jark. Hmm, wieder eine von vielen Lösungen für Clojure, die ein vereinfachtes Deployment von Clojure-Scripten ermöglicht, komplett mit persistenter VM und #! Unterstützung. Irgendwie werden das ein bischen viele in letzter Zeit.

Pygame Subset for Android. Huch – es gibt ein PyGame subset für Android. Nutzung ist etwas hakelig, weil es keine IDE gibt – man muss die Files auf der SD Karte (hmm – ein Nexus S hat keine SD Karte, wo landet das dort?) ablegen und anderweitig editieren.

android-scripting – Scripting Layer for Android brings scripting languages to Android.. Interessantes Projekt mit dem man diverse Scriptsprachen auf Android-Telefonen laufen lassen kann. Unterstützung für Shell, Python, Perl, Ruby, Lua, TCL und JavaScript sind schon dabei. Für mich ist natürlich besonders Python interessant. Vor allem weil die API von Android verfügbar gemacht wird – man kann also direkt mit den Sachen interaktiv oder gescripted rumspielen.

Scala 2.9.0 RC3 | The Scala Programming Language. Hmm, speziell die parallel collections klingen interessant – sozusagen map/reduce für Multicore auf lokale Datenstrukturen.

jQuery: » jQuery 1.6 Released. Apropos jQuery – neue Version ist raus. Diese .attr vs. .prop Änderung finde ich persönlich irgendwie ungut – sie könnte mich an ein paar Stellen beißen, wo ich direkt mit Input-Feldern arbeite (diverser Widget-Code in einer recht heftigen Django-Anwendung). Schön natürlich, dass es schneller wird – schneller ist fast immer gut.

stanlemon.net : jgrowl. unbedingt mal angucken, denn unsere handgestrickten Notifications sind einfach nicht so schick und stabil. jGrowl macht da einen deutlich netteren Eindruck, und als jQuery Plugin sollte es auch mit unserer jQuery Codebase nicht kollidieren.

PyPy Status Blog: PyPy 1.5 Released: Catching Up. Yay! PyPy ist jetzt auf dem Stand von CPython 2.7! Und wieder mal ein paar zusätzliche Performanceverbesserungen. Ausserdem ist das Interface für CPython Erweiterungsmodule (also welche die eben nicht in Python geschrieben sind) verbessert, erste Erfolge sind Tkinter und IDLE.

spock – The Chicken Scheme wiki. Wem Dylan auf JavaScript nicht passt, wie wäre es mit Scheme? Interessant hieran ist die Verbindung zu Chicken Scheme – chicken scheme ist eine der interessanteren Scheme-Implementierungen der letzten Zeit die sich speziell der Integration in normale Systemumgebungen widmet (FFI und einfaches Linken mit C-Libs), von daher lässt das auch ein bischen was von Spock in Bezug auf JavaScript erwarten. Und die dokumentierten Funktionen schauen auch schon recht gut aus – nicht einfach nur eine Spielzeugimplementierung, sondern scheinbar schon eine Menge von Funktionalität.

turbolent/ralph. Und wem dann unter Flusspferd das JavaScript zu blöd wird, der kann ja einfach Ralph installieren und hat dann ein Dylan-ähnliches Lisp, das seine Funktionsdefinitionen nach JavaScript compiliert. Warum auch immer man das wollen würde, vielleicht einfach nur weil es geht.

Flusspferd – CommonJS platform | Javascript bindings for C++. Für diejenigen, die mal mit JavaScript ganz ausserhalb der Client-Welt spielen wollen ist Flusspferd vielleicht interessant. Das ist eine REPL für JavaScript und diverse JavaScript-Bibliotheken (die sich an CommonJS orientieren).

PDP-11 emulator. In JavaScript. Führt Unix System 6 aus. Ja, so richtig so mit Plattenzugriff und all den bekannten Programmen von damals. Weil es noch nicht genug seltsame Sachen gibt.

Nochmal iPhone Location Daten

Nur nochmal zu der Antwort von Apple zu den Bewegungsprofil-Vorwürfen und warum Apple Recht hat, aber trotzdem ein Problem besteht (aber eines, das deutlich kleiner ist als das dramatisierte Problem in der Presse). Apple produziert mit – anonym gesammelten, bisher … Weiterlesen

Am Rande notiert ...

kiorky/spynner. Wow, das klingt echt interessant – ein programmatischer (also ohne Oberfläche) Webbrowser auf Basis von QtWebkit als Python-Erweiterung. Der Vorteil? Dadurch, dass eine vollständige Web-Engine drunter steckt, kann man eben alle Features des Webbrowsers nutzen – zum Beispiel eben auch client-side JavaScript und all die anderen Sachen, die in Webanwendungen verwendet werden. Das könnte für automatisierte Tests von Webanwendungen sehr interessant sein – oder für das Scrapen von komplexeren Webseiten.

IgniteInteractiveStudio/SLSharp. Nett – GLSL Shader in C# programmieren, der IL-Code wird dann automatisch auf die GPU geladen. High-Performance-Computing anyone?

IronScheme. Interessant – ein Scheme für .NET. Und im Gegensatz zu einigen toten Projekten die ich gefunden habe, scheint hier auch noch was zu passieren. Ok, ich selber tendiere warscheinlich eher zu IronPython, F# oder wenn es Lisp sein soll, Clojure für .NET (davon gibts mitlerweile auch recht aktuelle binäre Pakete zum Ausprobieren, leider wohl derzeit nur Windows, jedenfalls spuckt es unter Mono Fehler aus).

F Sharp Programming – Wikibooks, open books for an open world. Scheint eine ganz nette Grundübersicht über F# zu sein – also besonders für die, die nicht schon Vorbelastung (z.B. von OCAML) mitbringen.

Home – Redline Smalltalk – Smalltalk for the Java Virtual Machine.. Noch nicht sehr weit, aber könnte irgendwann mal interessant werden – und als alter Smalltalk-Fan muss ich da natürlich ein Blogmark setzen.

The plan for mods : The Word of Notch. So sollten andere Spieleschmieden auch mit Mods umgehen. Nicht die Leute, die auf deinem Game aufbauen verklagen, sondern sie offen aufnehmen. Notch gibt gleich den ganzen Source dafür raus an Mod-Entwickler.

tvon / python-wordpress. Und um Posts und Bilder in WordPress zu kriegen, könnte ich hiermit arbeiten – eine Python Library, die diverse WordPress Funktionen zur Verfügung stellt. Allerdings gibts die in verschiedenen Versionen, in verschiedenem Zustand der Nicht-Pflege, muss ich also mal drübergehen und gucken ob alles so läuft wie ich es will.

Backing Up Flickr. Weil ich grade drüber gestolpet bin (ich suche nach Wegen um Flickr-Uploads automatisch auch in die Mediathek von WordPress zu schieben, vorzugsweise vom Server aus, ohne dass ich immer nur manuell aktiv werden muss. Dazu müsste ich eigentlich das hier mit WordPress-Funktionen verheiraten (es ist ein Python-Script, welches Flickr Bilder in Verzeichnisse sichert). Die Backup-Funktionalität tuts übrigens. Vielleicht auch garnicht so eine blöde Idee, einfach ab und an mal seinen Flickr-Account zu sichern …

Jess, the Rule Engine for the Java Platform. Falls man mal eine Rules-Engine für Java braucht, Jess basiert in den Ideen auf dem Kern von CLIPS, welches ja nun schon seit einiger Zeit existiert (so Mitte der 80er), integriert aber eben in die Java-Welt. Eine Alternative wäre da auch noch Hamurabi, einer in Scala geschriebenen Rules-Engine die mit einer integrierten DSL mit Scala-Sprachmitteln aufwartet.

Evolutie test. Evolutionärer Algorithmus in JavaScript mit Visualisierung in processing.js – gestartet wird mit einem zufälligen String, die Evolutionsfunktion ist die Edit-Distanz zum Zielstring und die Evolution ist halt das was dabei passiert – die Visualisierung zeigt die Streuung und die Konvergenz zum eingegebenen Zielstring.

Re: Factor: Mail with GUI. Schön zu sehen wie ein allgemeinerer Ansatz für GUIs den Code schön kompakt macht – das ganze erinnert mich sehr stark an CLIM von der Struktur.

Re: Factor: XKCD. Wer einen Eindruck in eine der verrückteren Sprachen haben will – John Benediktssons Blog hat eine Menge an Beispielschnipseln in Factor, die üblicherweise direkt in der Factor REPL benutzt werden können (oder überschaubare Vokabularerweiterungen erstellen). Mich beeindruckt immer wieder die Kompaktheit von Factor-Code. Johns Code hat auch den Vorteil, das ich in der Regel gut verstehen kann, was da passiert – Slavas Code zum Beispiel ist da oft deutlich idiomatischer und dadurch kryptischer für mich. Liegt aber sicherlich auch daran, dass Slava  in der Regel über Internas der Sprache schreibt, während John einfach kleine Spielereien beschreibt.

Akka Project. Und das hatte ich definitiv schon mal auf dem alten Blog, aber egal, im Fernsehen wird auch dauernd alles wiederholt. Und bei Akka hat sich ein Haufen getan in der letzten Zeit und es etabliert sich immer mehr als die zukünftige Plattform für ausfalltolerante Systeme auf der JVM. Viele Parallelitäten in den Ideen mit Erlang, aber eben mit der JVM-typischen breiteren Plattform (gibt einfach kaum was wofür es nicht irgendeine Klassenbibliothek für Java gibt und damit auch für Scala). Sehr interessant: Akka bringt eine Implementierung von Software Transactional Memory für die Java-Plattform.

Programming Scala. Hatte ich glaub ich schon mal, aber egal: das zweite online frei verfügbare Buch über Scala, über das ich heute gestolpert bin. Kann man ja auch gegenlesen mit dem anderen, ist aber auf ähnlichem Sprach-Stand (also vor 2.8).