programmierung - 5.9.2007 - 26.2.2008

FSClass 3.0 - erlaubt die Erweiterung von Objective-C Klassen und die Neuerstellung von Klasse in F-Script, ohne direkt auf Objective-C zurückgreifen zu müssen. Wenn da noch einer einen anständigen Classbrowser drumherum bauen würde, mit dem man die Methoden interaktiv erstellen kann, anstelle über Files gehen zu müssen, dann wär OSX fast schon sowas wie ein Smalltalk-System.

Learn F-Script in 20 Minutes...and Have Fun Playing with Core Image - nettes Tutorial für F-Script. Anhand von Image-Spielereien interaktiv die OSX API erforschen.

Mathomatic - kleines Kommandozeilenprogramm zur symbolischen Manipulation von Gleichungen. Sehr praktisch, man kann mit wenigen Zeichen mal eben eine Gleichung nach verschiedenen Variablen auflösen lassen - gut gerade für die Everyday-Mathematik.

Rope, a python refactoring library ... - nicht detailliert angeguckt, aber mal aufgehoben für später. Könnte durchaus interessant werden.

Django snippets: MintCache - interessante Idee um den "Dogpile-Effect" zu vermeiden: wenn die Regenerierung von Daten länger dauert, als neue Requests kommen, stapeln sich die Requests die eine Regenerierung von alten Daten anstossen, und dadurch wird die Generierungszeit noch länger. Diese Cache-Idee stösst beim ersten Zugriff auf veraltete Daten die Regenerierung an, liefert allen anderen aber einfach die bisherigen alten Daten aus, und vermeidet so die mehrfache Neugenerierung und den damit verbundenen nervigen Lasteffekt.

Erlware - der Start eines Paket-Repositories für Erlang. Könnte sehr interessant werden - ich kenne es von Perls CPAN und Pythons cheeseshop, die beide eine Menge Erleichterung bei der Nutzung von verfügbaren Modulen bieten.

memcachedb - interessantes Projekt. Eine Implementierung des memcached server protokolls, allerdings werden die Key/Value Paare nicht im Speicher gehalten, sondern in einer BerkleyDB Datenbank. Dadurch ist es natürlich nicht so schnell wie memcached, aber persistent über Prozessläufe. Dadurch, dass viele Sprachen memcached bindings haben, eine nette low-level Datenbank für die typischen Key/Value Situationen - könnte z.B. mit einem kleinen HTTP REST Frontend interessant für die Nutzung aus LSL heraus sein.

AquaCurry - auch wenn ich selber Haskell und seinen Verwandten wohl den Rücken gekehrt habe, so ganz kann ich nicht davon lassen. Curry ist ein weiterer Vertreter aus dem weiten Feld der funktionalen Sprache, allerdings eine die gleichzeitig auch im Bereich der Logik-basierten Sprachen vertreten ist (also dem Bereich, in dem häufig Prolog und Verwandte zu finden sind). Und es gibt eine GUI-Umgebung für den Mac. Ausserdem läuft das Projekt an der Uni Münster, und das Teil heisst Münster Curry Compiler. Da muss ich natürlich reingucken.

djapian - Django und Xapian integrieren, um darüber eine Volltextsuche über Datenbankmodelle zu erlauben. Klingt nett - hätte mir einen Haufen Arbeit bei der Erstellung meiner eigenen Blogsoftware erspart.

Thousand Parsec - turn-based space exploration games in python. Klingt ein bischen wie zeitgerastertes Eve Online ohne Grafik. Open Source auf WxPython.

Command line Haskell and error handling examples - wer wissen will, warum ich irgendwann entschieden habe das Haskell eine bescheuerte Sprache ist, den Link angucken. EIne Sprache, bei der ein so banales Problem wie das Summieren von Zahlen in einer Datei dermaßen extreme Veränderungen durchmacht, nur weil man Fehlerbehandlung zufügt, mag Mathematiker und Informatiker begeistern, ist aber schlichtweg unproduktiv. Und ja, ich weiss das grosse Projekte mit Haskell erfolgreich sind und die Programmierer davon begeistert sind (pugs und darcs fallen mir spontan ein). Ändert nichts an meinem Urteil über Haskell.

Become a Mac OS X Services Ninja - wie man Dienste/Services (also diese integrierten Editor-Erweiterungen in OS X) mit F-Script bauen kann. Sieht echt interessant aus - ich sollte mich doch noch mal wieder mit F-Script beschäftigen, zumal ich eh mal wieder eine Smalltalk-Phase habe.

Atomic Commit In SQLite - sehr interessante Dokumentation über Schreibzugriffe in SQLite, durchaus auch für eigene Projekte bedenkenswert, wo es auf stabiles Schreiben ankommt.

So you’re going to write an iPhone app… - über Erfahrungen mit dem (noch nicht verfügbaren) iPhone SDK und der Programmentwicklung für das iPhone.

CamlX - GUI shell für Ocaml und Caml Light (wow, das ist ewig her, meine Spielereien mit Caml Light - und die DOS-Portierung von Ocaml 1.0 ..)

FastCGI Programmer's Guide - Chapter 2, Developing FastCGI Applications in C - und ja, es macht durchaus ab und an Sinn, seine CGIs (oder FCGIs) in C zu programmieren.

Tenerife Skunkworks: Parsing text and binary files with Erlang - netter Artikel über eines der Mysterien in Erlang: wie Strings behandeln? Listen von Zeichen oder Binaries? (oh, und alles was ich in den letzten Tagen geschriebne habe ist futsch dank eines Servercrashes. Hmm. Hatte ich was interessantes zu sagen?)

Developing an iPhoto export plugin - was der Name sagt: wie man iPhoto Exporter baut.

Programming Nu - mini-Lisp mit Integration in ObjectiveC auf Mac OS X. Klingt ganz interessant.

Echte Programmierer - verwenden vim, verdammt nochmal!

Arc - erinnert sich noch jemand an das Getöse von Paul Graham über die 100-year-language? Und das er mit arc das schaffen will? Naja, er hat runtergeschraubt: arc ist nur noch eine Sprache für exploratives Programmieren. Wenn man es sich anguckt, sieht es wie common lisp ohne die advanced features aus, mit kompakterer (zu anderen Lisps inkompatibler) Syntax und einigen fertigen Libraries um relativ einfach eine Webanwendung zu dengeln. Nicht wirklich sonderlich aufregend. Das gabs schon mit Picolisp - und wenn er schon auf MZScheme aufsetzt, könnte man auch einfach das benutzen, es hat eine deutlich grössere Library und wird von mehr als nur ein paar grumpy-old-men benutzt ... (und die Ausrede, die er für die Unterstützung von nur ASCII als Zeichensatz findet, ist einfach nur peinlich - vor allem weil sein verwendeter Unterbau sauber Unicode unterstützt ...)

Jython 2.5 - möglicherweise noch in diesem Jahr? Das wäre fantastisch. Python ist bei mir immer noch die bevorzugte Sprache, und die JVM-Welt öffnet grosse Mengen interessanter Libraries (die interessanten stammen üblicherweise nicht von Sun ...) und Interoperabilität mit Java-Programmen, was es auf der Arbeit einfacher macht, Python zu platzieren.

#10919 (incorrect pluralization) - Rails Trac - über penis enhancements in Ruby on Rails

Valued Lessons: Monads in Python (with nice syntax!) - interessanter Ansatz unter Nutzung von Python 2.5 bidirectional generators.

base2 - library die JavaScript-Differenzen zwischen Browsern ausbügelt.

Dean Edwards: IE7.js version 2.0 (beta) - neue Version der genialen JavaScript Lib, die aus dem IE einen halbwegs konformen Browser macht.

Django on Jython: Minding the Gap - wow. Es nähert sich. Und als Nebeneffekt wird Jython damit näher an aktuelles Python rankommen. Cool!

More on widgets: When one e-mail is enough to break a system. - JavaScript-Widgets (z.B. Mac Dashboard, oder Google Desktop oder Yahoo Widgets) haben eben die gleichen Sicherheitsprobleme wie normale Webseiten auch. Und vermutlich wird bei den Widgets von den Leuten noch weniger drauf geachtet bei der Programmierung als bei Webseiten. Wir gehen da wohl auf eine neue Welle an Exploits zu ...

Samba Team Receives Microsoft Protocol Docs - na also, geht doch.

Run Python Script - Automator Action. Leider erst ab 10.5, ich muss also noch warten.

Amazon Web Services: SimpleDB - interessanter Dienst von Amazon, Datenbanken für strukturierte und unstrukturierte Daten über REST und SOAP. Mit dem Amazon-typischen Bezahlmodell für Webservices. Interessant auch, das es gerüchteweise mit Erlang implementiert wurde.

New version of Ready Lisp for Mac OS X available - wer mal Common Lisp in einer typischen Arbeitsumgebung testen will, mit diesem Paket ist das mac-typisch einfach. Schlicht ein DMG runterladen, Bundle in den Programme-Ordner und los gehts. Die Ausstattung ist mit AquaMacs, Slime und SBCL auch recht ordentlich. Leider aber nur für 10.5 - daher für mich nicht brauchbar.

Objekte sind gescheitert

Ajatus manifesto - eine Art CMS mit starkem Fokus auf dezentrales Erstellen und Replizieren von Inhalten. Baut auf JavaScript und CouchDB auf. Kommt allerdings mit "Manifesto" was bei mir oft gleichbedeutend mit "gaga" ist. Aber vielleicht kommt ja doch brauchbare Software bei raus.

Moonlight/Silverlight Unfug - "Novells Absicht sei es nicht, in Konkurrenz zu Flash zu treten, man wolle mit Moonlight nur erreichen, auch Silverlight zu unterstützen, damit Linux-Nutzer bei einem Erfolg der Microsoft-Technologie nicht zu "Bürgern zweiter Klasse" würden, betonte Icaza." - der Schwätzer sollte mal drüber nachdenken, das er da nichts weiter macht als Microsoft die Leiter zu halten. Schliesslich ist ja noch überhaupt nicht klar, ob sich der MS-Kram überhaupt durchsetzt. Wär nicht die erste Technik, die bei MS vergeigt wird (deren PDF-Alternative war ja auch der absolute Kassenschlager bisher). Wieso gerade Open-Source-Programmierer aber rumhecheln und MS-Kram nachbildne müssen, bevor er überhaupt relevant ist - mir ein echtes Rätsel. Falsche Geltungssucht? Zu dünne Luft in Novells Entwicklungsabteilung?

Programming CouchDB with Javascript - die typische ToDo-Liste. Interessant um mal zu sehen, wie CouchDB angesprochen wird.

NodeBox - Tool zum Spielen mit 2D Grafik, basierend auf Python. Erinnert mich ein bischen an Processing, aber eben Python statt Java.

Clojure - interessanter Lisp-Dialekt, der direkt nach Java Bytecode kompiliert und gut in Java integriert, aber vom Konzept her mehr an Erlangs Ideen ausgerichtet ist (keine eigene Objektorientierung, sondern funktionales Modell als Grundlage, starker Fokus auf Parallelität) und sich fleissig bei Konzepten von Common Lisp (Makros, Multimethods) bedient. Klingt sehr interesssant.

Getting Started on Natural Language Processing with Python - nix konkretes für mich in der Anwendung, aber die Verarbeitung natürlicher Sprache mit Computern hat mich schon immer fasziniert.

JLine - sowas wie readline, nur halt für Java.

lxml.html - HTML in Python verarbeiten. Sieht gut aus.

reinteract - interessante interaktive Shell für Python mit netter Idee für History-Bearbeitung. Und einem Modus um bestimmte Objekte direkt in den Output zu integrieren - könnte interessant als Math-Sheet sein. Oder einfach nur als nette Oberfläche für einfaches Spielen mit Python-Libs.

Zope: Using UTF-8 in the Management Interface (ZMI) - weil ichs gerade mal brauchte.

Cowboy Programming: Reife Optimierung - Reife Optimierung ist jede Optimierung, die früh in der Entwicklung durchgeführt wird und die Sie im Voraus als signifikanten Leistungsboost ohne unkontrollierbare Nebenwirkungen kennen. Reife Optimierungen sind oft gut bekannte Techniken, die erfolgreich in der Vergangenheit verwendet wurden. Reife Optimierungen umfassen kleine lokale Modifikationen, Codierungsstandards und architektonische Gestaltungsentscheidungen.

CL-OBJC project - Cocoa-Anwendungen mit sbcl oder allegro.

Hello, Bob. Hello Joe. - Bob Ippolito über Erlang-Entwicklung und seinen (guten) Erfahrungen.

OOXML Payback Time as Global Standards Work in SC 34 "Grinds to a Halt" - hoffentlich zieht die ISO da ihre Schlüsse draus und renoviert ihre Struktur an der Stelle. Und kickt die Kauf-Stimmen wieder raus.

Re: digitool MCL clozure OpenMCL - yay! MCL wird demnächst Open Source - zwar nur für PPC, aber wenn die OpenMCL-Leute ihre Backends da mit einbringen, ist es fix auch für Intel verfügbar. Wäre sehr nett, auch wenns vielleicht nur historische Bedeutung hat.

Zwei OLPC-Notebooks kaufen, eines spenden - hey, wieso soll das zweite Gerät ein Kind des Käufers kriegen? Wenn der Käufer selber eins haben will?

External Filters from Erlang - interessanter Post der einen Pool von externen Programmen von Erlang aus verwaltet und diesen Aufgaben zuteilt. Das ganze in OTP-Technik.