Schemix - Scheme als Kernel Modul im Linux Kernel
programmierung - 20.6.2004 - 26.8.2004
Welcome to Myghty! - Perls HTML::Mason nach Python portiert
A Conversation with Manfrend von Thun - Faszinierend wenn ein K (APL-Descendant) Fan den Macher von Joy (einer Art funktionales Forth) interviewed.
Candygram - Erlang Thread Primitives für Python - interessant für ToofPy
Main page for the programming language JOY - Joy ist so eine Art funktionales Forth
vnunet.com - Micro Focus lifts and shifts Cobol to Linux
Der Horror lässt mich nicht los: die ersten 10 Jahre meiner beruflichen Tätigkeit habe ich genau mit diesem Compilersystem programmiert. Ein Warenwirtschaftssystem. Und jetzt kommt das Monster nach Linux ...
Paolo Amoroso: Update on McCLIM's Beagle backend
Aus dem verlinkten Artikel geht am Rande hervor, das jemand an einem McCLIM Backend für OpenMCL arbeitet. Und zwar aufbauend auf Cocoa. Das wäre wirklich der Knaller - eine CLIM-basierende Oberfläche. Ok, das wäre im Moment erstmal nur ein Listener und etwas Spielkram, aber auf Dauer vielleicht mal die Werkzeuge wie man sie von den alten Lispmaschinen her kennt. Zumindestens wäre sowas überhaupt denkbar.
Ausserdem ist CLIM eine ziemlich coole GUI-Bibliothek mit Features, die den ganzen Java-Schnickes vor Neid erblassen lassen - selbst wenn CLIM viele Jahre älter ist
Bei Planet Lisp gibts den Originalartikel.
Form submission and the ENTER key? - Diskussion des Problems von Enter=Submit in HTML Formularen
Modeling Object-Relational Bridge for python - Datenbankmodellierung und Mapping nach Python
Things to make you go "Ow, stop, my head hurts!"
Wenn der Programmierer der neuen Virtual Machine für Perl über Continuation Passing und Multimethod Dispatch redet, begeistert mich das. Wenn er dann einen Schwenk zu Intercal und das COME FROM Statement macht, macht mir das Angst
Bei Squawks of the Parrot gibts den Originalartikel.
Perl.com: The Evolution of Perl Email Handling
Wer mit Perl eMails verwursten will und mit der Mail:: Hierarchie von Perlmodulen nicht so ganz zufrieden ist - speziell die Performance lässt oft zu wünschen übrig - kann sich mal die Email:: Hierarchie angucken.
brickOS at SourceForge - Alternatives Betriebssystem für den Lego RCX Baustein
mySTEP - aktuelle Version 1.7
Heute vor genau einem Jahr ( P1140) schrieb ich was über mySTEP 1.1, einer Portierungshilfe für Cocoa-Anwendungen auf den Sharp Zaurus PDA. Um dem Linkrot zu begegnen (der alte Links ist tot, dank Newsisfree ), und weil sich eine Menge getan hat seit dem, mal der neue Link. Das Projekt ist noch cooler geworden und hat definitiv einen neuen Link verdient Hier gibts den Originalartikel.
Textpattern und punycode
Was mich immer wieder erstaunt - nicht nur bei Textpattern, aber das muss jetzt halt mal dran glauben weil ich es ausprobieren wollte - ist die Ignoranz von Punycode in Software. Ok, ich weiss, Punycode (die internationalisierten Domainnamen) ist krank. Das weiss ich. Nur die komplette Ignoranz dieses - leider recht kranken - Standards macht manches nette Paket kaputt.
Bei Textpattern ist das ganze jetzt besonders witzig: einige Teile funktionieren tadellos, einige andere absolut nicht. Mal wird eine gültige URL generiert, mal eine kaputte. Zum Beispiel tun es weite Teile des Admins absolut tadellos, nur die kleinen Popupfenster in der Präsentationsadministration kommen nicht mit Umlaut-Domains klar.
Klar, ich könnte da jetzt die xn-... Form der Domain einbauen. Aber dann würde diese auch nach außen sichtbar, weil TXP scheinbar diese auch teilweise absolut generiert und damit diese Basis-URL mit reinrutscht. Hmm. Unschön.
Update: auf jeden Fall sollte man den Aufruf zum Setzen des Zeichensatzes auf utf-8 auch in der textpattern/index.php Datei machen. Diese ist für das Admin-Interface verantwortlich, wenn man das nicht macht, gibts Konflikte zwischen den Admin-Seiten und den Content-Seiten. Denn bei den Content-Seiten wird der entsprechende Call gemacht, diese werden also mit utf-8 als Zeichensatz in den Serverheadern ausgeliefert. Die Adminseiten aber nicht - also wird das iso-8859-1. Ergebnis: viele moderne Browser ziehen (korrekterweise) den Zeichensatz vom HTTP-Header dem vor, der in der Datei selber angegeben ist. Und schon gibts komische Umlaute.
Was ich zugefügt habe, ist die folgende Zeile:
header("Content-type: text/html; charset=utf-8");
Und zwar vor dem $textarray = load(.....) Call. Damit wird dann wenigstens dieses Problem behoben. Am besten einmal die vorhandenen Elemente aufrufen und neu speichern, damit die richtig im utf-8 Zeichensatz sind. Das gilt bei internationalen URLs auch für die Preferences, wo man die Domain der Site eingibt.
Was immer noch klemmt, sind die Tagbuilder Fenster - die Popups werden falsch aufgerufen, scheinbar mit falsch kodierten Umlauten. Leider kann ich das aufgrund eines Bugs im Camino nicht verifizieren, der weigert sich Seiteninhalte von internationalen Domains im Source anzuzeigen

Internationale Domains sind ein Hack. Und wie bei jedem üblen Hack, gibts haufenweise üble Probleme. Update 2: wie um zu beweisen wie Hacky Punycode und vor allem dessn Unterstützung in Browsern ist, ich hab heute mal diverse weitere Browser getestet. Zusammen mit denen von gestern:
- Safari auf Jaguar kann überhaupt kein Punycode
- Camino 0.8 kanns weitestgehend, kann aber keinen Source anzeigen und die Tag-Popups in TXP tuns nicht (wie ich mitlerweile weiss ist es ein Browser-Bug)
- Mozilla Firefox 0.8 kommt ebenfalls weitgehend damit klar, nur tuns Popups und Sourceanzeige nicht - gleicher Bug wie bei Camino (war zu erwarten, ist ja die gleiche Sourcebasis)
- IE kann eh kein Punycode, braucht dafür ein Plugin. Weiter hab ich mit dem Misthaufen nicht getestet.
- diverse Textbrowser (lynx, w3m, links) tuns auch nicht mit Punycode.
- Opera kommt mit allen Aspekten klar.
Klarer Sieger: Opera. Wer also mit internationalen Domains arbeiten will (vor allem halt mit Textpattern - aber nicht nur dort), sollte Opera benutzen. Denn sonst gibts Probleme an allen Ecken und Enden, wo Hostnamen ermittelt/generiert werden - z.B. die JavaScript-Links für die Popups in TXP enthalten keinen Hostnamen. Der wird vom Browser intern dazugepappt. Und zwar falsch - aber nur, wenn das Popup gemacht wird. Wird statt dessen über das Kontextmenü der Link in einer neuen Registerkarte geöffnet, funktioniert alles bei Firefox und Camino.
Sorry, aber das ganze Thema ist absolute Moppelkotze.
From Python to PLT Scheme
Wow. Das ist jetzt wirklich der Hammer: ein Python nach DrScheme Compiler, der als Paket in das DrScheme integriert wird und dann Python Entwicklung mit den Werkzeugen von DrScheme erlaubt. Ok, der Compiler hat noch einige Defizite und der Code ist noch sehr langsam, aber das ist ausbaufähig. Und wäre natürlich eine wirklich interessante Python-Implementation, da man einerseits die ganzen Python Libraries und andererseits die MzScheme Libraries mischen könnte. Für mich wäre das System in Vollendung fast schon Nirvana
The Python Paradox
Paul Graham findet Python Programmierer smart. Sind wir auch.
Datenbanken und Scsh - PostgreSQL-Client in Scheme
Scheme Underground Network Package - Webserver in Scheme für die Scheme Shell
Tsearch2 - full text extension for PostgreSQL - Volltextindizes für PostgreSQL
Bill Clementson: Mandelbrot Set ASCII art
Apfelmännchen. In 11 Zeilen Common Lisp. Als Ascii-Art.
Bei Planet Lisp gibts den Originalartikel.
CLiki : Armed Bear Lisp
Eine Common Lisp Implementation die für die Java VM kompiliert. Ich bin kein Fan der JVM, aber für portabilität von Programmen ist das natürlich trotzdem praktisch.
MzTake - a Scriptable Debugger
Ein interessantes Konzept: ein programmierbarer Debugger für MzScheme (die Plattform von DrScheme). Im Prinzip eigentlich eher ein Monitor - es überwacht das laufenden Programm und nach Vorgabe durch Scripts können verschiedenste Aktionen ausgelöst werden. Dazu wird eine speziell für Eventsteuerung optimierte Variante von Scheme verwendet. Mich spricht sowas an, da ich in der Regel normale interaktive Debugger nicht benutze - irgendwie sind die nicht mein Ding. Ich lasse lieber Programme laufen und sammel Informationen wärend dieses Laufs. In Lisp ist sowas ja sowieso schon recht elegant möglich - einfach entsprechende Wrapper um Funktionen legen (oder in Common Lisp mit advise den Debugging-Code an Funktionen binden). MzTake ist jetzt einfach dieses Konzept weiter gedacht.
Python on Smalltalk VM?
Jemand strickt an einer Python-Implementation die auf der Smalltalk Virtual Machine von Visual Works läuft. Auch nicht uninteressant - die Visual Works VM ist eine der besten, was effiziente Garbage Collection und gute Just-in-Time-Compilation angeht. Von der könnte sich die Java VM noch einiges abschneiden bevor sie auch nur annähernd in die Liga kommt ...
Bei Python owns us gibts den Originalartikel.
blog: bknr-devel
Ein Web-Application-Framework mit Object-Datenbank und Templates und allem was man so braucht. Klingt sehr nett.
Mikel Evins: Clotho status
Cool. Mikel Evins arbeitet jetzt aktiv an einer grafischen Umgebung für OpenMCL. Auf Basis von Carbon, so das es nicht an spezifische OS X Versionen gebunden ist. Und natürlich komplett in Common Lisp geschrieben - als Nebeneffekt gibts dann als Abschluss auch einen CLOS-Wrapper um das Carbon API. Ich bin schon sehr gespannt auf die ersten Beta Versionen
Bei Planet Lisp gibts den Originalartikel.
Cyclone
Ein interessantes C-Derivat das bei vielen anderen Sprachen - unter anderem denen der ML-Familie - geräubert hat. Ein C mit Typsicherheit, Speichermanagement (allerdings weiterhin manuelles Speichermanagement), polymorphen Funktionen, Pattern-Matching, Typ-Inferenz und noch vielen weiteren netten Eigenschaften. Verpackt in einer perverse aufgeblasenen Syntax, die auf der schon perversen C-Syntax aufbaut
dude, where's my python?
Dem kann ich nix hinzufügen. Wenn die Python-Community anfängt Features in die Sprache zu bringen in dem sie Guido argumentativ belagert, und wenn diese Kompromisse dann nach dem Motto "eine Syntax die allen gleich wenig gefällt" realisiert werden, dann wird es Zeit die Sprache zu wechseln. Ruby sieht nett aus und die verfügbaren Module für verschiedenste Zwecke kommt locker an Python heran. Oder Prothon - da sind allerdings die verfügbaren Module noch sehr dünn. Oder einfach wieder good old MzScheme? Hier gibts den Originalartikel.
Ambrai Smalltalk
Ein neues Smalltalk für OS X. Integriert in Aqua. Mit allen Werkzeugen die man sich wünschen kann. Leider erst ab OS X 10.3 - schade, ich hätte es mir gerne mal angeguckt, aber ich bin ja noch auf 10.2.8 ...
Wer sich das mal antun kann - die Beta ist frei verfügbar. Würde mich mal interessieren wie es ist. Früher war Smalltalk eine meiner Lieblingssprachen - allerdings war das vor meinem Kontakt mit Lisp-Maschinen und noch zu DOS Zeiten
Bosco HOWTO
Ein Tutorial und Beispielcode um mit OpenMCL Carbon und Cocoa Applikationen zu bauen. Sehr interessant, damit könnte es langsam was werden das OpenMCL auf dem Mac eine vollwertige Umgebung wird.
Ja, ich träume immer noch von einer freien Lisp-Implementierung mit anständiger Entwicklungsumgebung
IronPython - A fast Python implementation for .NET and Mono
IronPython ist jetzt Open Source und in der Version 0.6 verfügbar. Für .NET oder Mono Programmierer vielleicht eine interessante Alternative zu den üblichen Dingens# Sprachen.
Current Books about Icon
Wow! Sowohl die letzte Ausgabe der Icon Programming Language Referenz als auch das The Implementation of The Icon Language Buch gibt es als freies Download. Hingehen, downloaden und schwelgen - Icon ist einfach eine wunderschöne kleine Sprache mit sehr interessanten Features. Vieles in Icon hat mir immer schon viel besser als in Perl gefallen - Regular Expressions sind nämlich nicht der einzige Weg um Strings zu analysieren. Das Stringscanning in Icon ist mindestens ebenso mächtig, aber wesentlich eleganter aufgebaut und lange nicht so kryptisch. Ich hab die Bücher natürlich in Printform zu Hause stehen, aber da sie nicht mehr in Papierform zu kriegen sind, ist der Download natürlich eine gute Lösung. Und da sie frei - im Sinne von Public Domain - sind, auch noch eine wirklich günstige Gelegenheit
Unicon.org - the Unicon Programming Language Home Page
Und weil ich gerade bei Icon bin: es gibt auch eine Nachfolgesprache, die jetzt auf Sourceforge entwickelt wird. Da wird auch ein Buch in öffentlicher Zusammenarbeit zu erstellt und das ganze macht einen sehr interessanten Eindruck. Ich glaub ich werd da mal ein Auge drauf haben - eine Icon Implementierung mit einer besseren Klassenbibliothek wäre definitiv eine Alternative für mich für viele kleine Projekte. Icon selber krankte ja etwas an der doch eher schmalen Bibliothek - z.B. fast nichts im Bereich TCP/IP und auch für DB-Anbindung und ähnliche Zwecke nur sehr rudimentäre Bibliotheken im Gegensatz zu Python, Perl oder Ruby. Unicon könnte da was dran ändern.
Icon war übrigens sowas wie eine Nachfolgesprache zu Snobol. Snobol wiederum war der erste Versuch einer auf Textvermanschung ausgelegten Programmiersprache - deutlich bevor es Regular Expressions oder gar Perl gab. Hatte eine ziemlich kranke Syntax (bzw. gleich zwei von der Sorte), aber einen sehr liebenswürdigen Charme. Eine der wenigen Sprachen die ich kenne in der strukturierte und übersichtliche Programmierung nahezu unmöglich war
Icon hat viele der Probleme von Snobol behoben - vor allem hatte es eine recht anständige Syntax. Und die Stringverarbeitung war bei Icon auch nicht eine Huckepack-Syntax, sondern war in die Sprache voll integriert. Ausserdem hat Icon noch so nette Sachen wie Generatoren - die jetzt (so in den 2.xern) in Python dann auch mal entdeckt wurden.
Boo - Home - dynamische Sprache für .NET mit Python-ähnlicher Syntax und erweiterten Features speziell im Bereich Datentypen
gppl's nest - Hierarchische Queries mit PostgreSQL
Gwydion Dylan: Overview - freier High-End Dylan Compiler
LWN: Oracle patents content management systems
Und wieder ein idiotisches US-Patent. Diesmal auf Content-Management-Abläufe wie sie in so ziemlich jedem CMS vorkommen werden. Ganz tolle Aussichten auf die EU-Softwarepatente
Marlais Sourceforge Projekt - tragbarer Dylan Interpreter
%u2018Building Accessible Websites%u2019 serialization - Buch über Seitengestaltung mit Rücksicht auf Accessability
PyLinda
Die Linda Implementierung in Python kommt gut vorran und kann jetzt mit mehreren Servern arbeiten (gut für Failover-Situationen) und hat einige der neueren Features die für Linda diskutiert wurden. Sehr interessant für verteilte Anwendungen die gemeinsame Daten brauchen. Irgendwann muss ich das mit dem Toolserver Framework for Python verheiraten. Wer jetzt nur Bahnhof versteht: macht nix, ist nur für Programmierer interessant Hier gibts den Originalartikel.
Index of /afs/cs.cmu.edu/pr[...]ng/scheme/impl/s88 - Noch eine kleine, sehr schnelle, Implementierung von Scheme für kleine PCs
Index of /afs/cs.cmu.edu/pr[...]pl/pcscheme/geneva - PC Scheme 4.02 - Geneva Version, erweitert gegenüber Original TI Version
Index of /pub/scheme-repository/imp/pcscheme - Source und Binary für PC Scheme 3.03 - interessant auf HP 200 LX
The PAL Page - Programmierung von Anwendungen mit native Look and Feel für den HP 200 LX
Clotho - Entwicklungsumgebung für Common Lisp unter OS X
Sicherheitsloch in iptables bei Linux-Kernel 2.6
Ekelig. Ok, nicht für alle Konfigurationen relevant, aber trotzdem ekelig. Und mal wieder ein Beweis dafür das C eine bescheuerte Sprache ist - bestenfalls ein glorifizierter Assembler.
Bei heise online news gibts den Originalartikel.
Xanalys LispWorks Press Release - LispWorks für OS X
Levenshtein - Sehr einfache Levenshtein Distanz in purem Python
OpenMCL Documentation - Dokumentation zur besten freien PPC Lisp Umgebung
PostgreSQL News 3rd Beta of Slony Master -> Multi-slave replication system - Replikationslösung für PostgreSQL
XchemeRPC - Neue Homepage für den XMLRPC Client/Server für DrScheme