programmierung - 30.8.2004 - 23.9.2004

Common Lisp Hypermedia Server (CL-HTTP) - der klassische Common Lisp HTTP Server

Common Lisp Opensource Center - diverse Allegro Open Source Projekte - z.B. ein FTP und ein NFS Server

Lisp news von Rainer Joswig

Sehr interessant. Leider immer noch kein RSS-Feed, aber ich hab bei ihm einiges gefunden, das nicht auf Planet Lisp war oder auf meinen anderen Lisp-Quellen. Zum Beispiel das Loom jetzt Open Source ist (damals musste ich dafür noch einiges an Aufwand treiben um eine Lizenz - allerdings kostenlos - zu bekommen). Wenn ich mir die ganzen Lisp-Sachen so durchlese, juckt es mich wieder derbe in den Fingern da mehr zu machen. Ich hab nur keine Ahnung wo ich die Zeit hernehmen soll ...

Update : ein freundlicher Geist hat in den Kommentaren einen Link auf den RSS-Feed abgeworfen

Hier gibts den Originalartikel.

lisp tools for xml - Noch ein XML Parser - dieser hier ist sehr vollständig, die gängigen Modelle werden unterstützt. Auch ein SOAP Parser soll dabei sein.

OpenMCL-McCLIM-beagle-backend.jpg

Sehr kühl! OpenMCL wird scheinbar bald ein auf Cocoa aufbauendes CLIM haben - ein Prototyp ist schon im CVS drin. Jetzt bitte noch die Werkzeuge aus Genera für OpenMCL und ich brauch meine Symbolics nicht mehr einschalten

Hier gibts den Originalartikel.

Portable AllegroServe - Kompatibilitätslayer für Allegro CL Netzwerk und Threading code für den AllegroServe Webserver

S-XML - Einfacher XML Parser für Common Lisp

S-XML-RPC - XML-RPC für Client und Server in Common Lisp

Statistical programming with R

Part 1: Dabbling with a wealth of statistical facilities

Für alle Zahlenfresser.

Hier gibts den Originalartikel.

XML/HTML parsers - XML und HTML Parser in Comon Lisp - für Allegro, aber vielleicht portabel?

lispmeister: Assembler Guru: Randall Hyde

Yep - Assembler-Kenntnisse sind sehr sinnvoll. Nur wenn man weiss, wie die Maschine innen drin tickt, kann man manche Optimierungsansätze überhaupt verstehen. Und verstehen warum etwas langsamer ist als vielleicht auf der abstrakten Hochsprachenebene erwartet. Meine erste ernsthaft eingesetzte Sprache war Z80 Assembler und ich betrachte das absolut nicht als Verschwendung. Und ja, ich liebe die disassemble Funktion in Common Lisp und ärgere mich jedes mal wieder, wenn andere interaktive Umgebungen sowas nicht bieten. Denn dadurch kann man sehr gut nachschauen, was der Compiler eigentlich aus dem Code erstellt hat - und mit Grundkenntnissen des verwendeten Assemblers bei zeitkritischen Routinen durchaus Optimierungen dadurch leiten lassen. disassemble ist wie das Mikroskop des Wissenschaftlers Bei Planet Lisp gibts den Originalartikel.

Bosco HOWTO - Beschreibung wie man OS X Applikationen mit OpenMCL erstellt

Flickr Services - Dokumentation des Flickr API

Fortran: 50 Jahre go to

Und immer noch kein Ende in Sicht

Bei heise online news gibts den Originalartikel.

LISA - Intelligent Software Agents for Common Lisp - AI-Regelsystem in Common Lisp, ähnlich CLIPS

Logilab.org - Constraint - Constraint Satisfaction Problem Solver in Python

pirate (python on parrot) - Ansätze eines Python Compilers für Parrot

PyLog -- Eine Bibliothek für die Prädikatenlogik erster Ordnung in Python - So etwas wie Prolog in Python

Vorwurf des Code-Diebstahls an Mambo-Projekt

Hmm. Blosses technisches Unverständnis, oder der Versuch der Abzocke?

weird.gif

Bei heise online news gibts den Originalartikel.

Edgewall | Trac - Projektwerkzeug mit Webinterface - Subversion, Wiki, Timeline, Bugtracking

Ian Bickings Wiki - Interessantes Wiki in Python und Webware auf Basis von reStructuredText

Factor Beispielserver

Chris Double hat einen Factor Server aufgesetzt, mit dem jeder rumspielen kann. Factor ist deshalb interessant, weil es eine komplett auf Webbrowser aufgebaute Entwicklungsumgebung mit Inspektoren, Browsern und Editoren hat - man kann also alles über einen Webbrowser ändern, auch den laufenden Code des Servers. Allerdings ist es nicht wie bei Zope - also eine CMS Oberfläche. Statt dessen sind es eher Smalltalk-angelehnte Werkzeuge, also low-level Programmierwerkzeuge. Sehr nett das ganze. Die Sprache trifft auch einen Nerv bei mir: eine Mischung aus Joy, Lisp und Forth. Bei meiner Affinität zu Lisp und Forth ist es klar, das ich mich mit sowas auseinandersetzen muss Bei Planet Lisp gibts den Originalartikel.

IO auf Symbian Nokia Handys

Chris Double hat auch eine IO Implementierung für Nokia Handys mit Symbian System. Lauffähig ist das ganze derzeit auf dem 7610. Sehr interessant - IO ist eine Sprache, die sich stark an Smalltalk, NewtonScript, Lisp, Self und anderen Sprachen orientiert und überall interessante Ideen ausleiht. Es handelt sich um eine Sprache mit Prototyp-basierter Objektorientierung und diversen Ideen aus der Funktionalen Programmierung. Die Sprache ist auch ganz ohne Handy also durchaus interessant Bei Planet Lisp gibts den Originalartikel.

The GBBopen Project - Blackboard-Software die auch unter OpenMCL läuft

GOO

Goo ist ein ebenfalls sehr interessanter Lisp-Dialekt. Stark beeinflusst von Dylan und mit einer sehr kompakten Syntax. Allerdings kompiliert der Kram nicht auf Jaguar - hat jemand das schon hingekriegt und ein paar Patches parat? Ich hab im Netz nix gefunden.

Hier gibts den Originalartikel.

Aquarium - Web Framework für Python - auch unter mod_python. Mal vormerken.

::jamesoff:: » Check RBL for WordPress 0.1 - Zugriffe auf Kommentare über RBLs prüfen - möglicherweise interessant, um von vornherein Zugriffe von Spammern zu filtern?

lemonodor: Lisp for the Mindstorm

Way cool: ein Lisp, das direkt auf dem Mindstorm RCX läuft. Nicht über den PC, sondern ein automnomes Lisp-System mit Aktoren und Sensoren. Leider hat er etwas wenig Speicher, der RCX, aber trotzdem - das hat was.

erstauntes Gesicht

Bei Planet Lisp gibts den Originalartikel.

MrEd Designer - GUI Builder für PLT Scheme

The Robinson House | RSS and Delta Encoding - Delta Encoding für RSS - als WP Hack. Möglicherweise auch bei PyCS implementieren?

elephant - einfache Objektdatenbank für Common Lisp

newLisp: A better Lisp/Scheme Fusion...

Notiert, muss ich mir mal genauer angucken. Ich bin ja schon lange am Grübeln, was ich nach Python machen soll - Scheme wäre eine Alternative, aber irgendwie ist mir das nach meiner längeren Python-Zeit doch zu geschwätzig

Irgendwie ein nicht ganz unwichtiger Faktor, der gerne in der Lisp-Community ignoriert wird: die Namen sollten nicht zu lang sein, sonst tippt man sich den Wolf. Klar, mit Makros kann man das dann kompakter machen, aber das ist nicht der Sinn der Makros. Eine Sprache mit Script-Orientierung sollte einem helfen schnell sein Programm zu formulieren. In scsh zum Beispiel ist das alles andere als der Fall.

Wenn ich mir allerdings so die Sprachdefinition ansehe, ein bischen strange ist die Sache ja schon. Viele Bereiche wirken etwas unfertig und un-lispig. Auch sind einige der Konzepte (z.B. das Exception-Handling) eher primitiv. Auch die Basis auf stark seiteneffektiges Programmieren (dadurch das Symbole als Aufhänger für alles und jedes benutzt werden) ist unschön. Und last but not least der Todesstoss: dynamisches Scoping. Zwar durch lexikalische Namespace-Zuordnungen abgefedert, aber trotzdem: dynamisches Scoping ist fast immer mehr Grund zu Ärger als zu Freude.

Andere Aspekte aber gefallen durchaus gut, vor allem der sehr schlanke Sprachumfang und die wenigen aber effizienten Grunddatentypen.

Die Syntax sollte etwas logischer werden - z.B. alle destruktiven Funktionen mit ! kennzeichnen, alle Eigenschaftsprüfungen mit ? kennzeichen - das ist kompakt zu schreiben und gut zu merken. Zum Beispiel die Wahl von set-nth für die nicht-destruktive und nth-set für die destruktive Variante das n-te Element einer Datenstruktur zu ändern ist nicht wirklich gut zu merken und schreit nach Verwechslern.

Alles in allem eine witzige Idee, aber wohl weniger der weite Wurf als der es dargestellt wird. Eher in der Klasse von Emacs-Lisp anzusiedeln - Script-Lisp, aber ein bischen hackig.

Bei Lambda the Ultimate - Programming Languages Weblog gibts den Originalartikel.

Schwächen im MIME-Standard

Oh Kinners, die Heise-Heinis haben auch nicht wirklich viel Ahnung. Ja, der Standard definiert nicht alle unmöglichen Fälle. So what? Machen RFCs nie. Ist auch nicht notwendig - nur weil ein Standard nicht haarklein jede mögliche Situation definiert, heisst das nicht, das die Programmierer ihr Hirn wegwerfen dürfen und einfach irgendwas einbauen, was dann Ärger macht. Nicht der Standard ist defekt oder hat Schwächen - sondern die Implementierungen in den Programmen. Ein Standard ist möglicherweise nicht vollständig - aber das würde bedeuten, das Funktionalität in Bezug auf den Inhalt des Standards nicht ausreichend definiert ist. Nicht aber, das nicht alles was nicht Bestandteil des Standards ist nicht ausreichend definiert ist. Oder so.

Bei heise online news gibts den Originalartikel.

2 GB Daten hochgeladen

Schon witzig. Heute hat mein Blog die Grenze von bisher 2 GB Daten hochladen erreicht. Ich hab also durch die ganzen Änderungen, neuen Postings, Bilder etc. insgesamt 2 GB Daten auf den Server geschaufelt seit Existenz meines Blogs. Da es im Python Community Server einen Lebenszähler für hochgeladene Bytes gab, durfte ich für ein Weilchen nicht mehr mitspielen, bis ich den Community Server entsprechend gepatched habe

Collations and Linguistic Sorting - Wie Unicode Sortierung funktioniert

Emacs on Aqua - Und hier wird eine Aqua-Version gezimmert - aber noch recht buggy

mindlube software / developer / revclips - Einbindung von CLIPS - Expertensystemshell - in Runtime Revolution

mindlube software / developer / revzeroconf - Rendevouz Library für Revolution - sogar Plattformübergreifend

mindlube software / emacs for os x - Noch eine Emacs-Version für OS X - diesmal nur als .APP

Porkrind Dot Org: Carbon Emacs Port - Emacs 21 für OS X

Vim (Vi IMproved) for Mac OSX - VI Improved gibts auch für OS X - mit Aqua Interface

RFC 2229 - RFC zum Dict Protokoll

Squawks of the Parrot: Suboptimal optimizing - PostgreSQL hat einen Bug beim Optimieren von LIKE Ausdrücken

HyperPAD - Application Development Software published by Brightbill-Roberts and IQ Technologies.

Beim Stöbern in alter Software und der Suche was daraus geworden ist bin ich auf die jetzt freie - wie in Freibier - Verfügbarkeit von HyperPad gestoßen. HyperPad war eine stark von HyperCard inspirierte Programmierumgebung für DOS Rechner. Keinerlei Grafik, aber eine ziemlich gute Nachbildung dessen was HyperCard ausgemacht hat - und eine fast identische Kopie der Programmiersprache. Ganz witzig für die damalige Zeit, als integrierte Entwicklungsumgebungen mit GUI Buildern noch Utopien aus dem Workstation-Markt waren.

Hier gibts den Originalartikel.

Smalltalk/X - das vergessene Smalltalk

Vergessen deshalb, weil ich nie dran denke das es das ja auch noch gibt. Dabei ist es eine der interessanteren Implementierungen: frei wie Freibier, auch für kommerzielle Ziele. Support kostet aber Geld (ist ja auch ok). Gute Portabilität - leider nicht auf OS/X verfügbar - wenn man Windows und diverse Unixe betrachtet. Und ein Compiler, der native direkt ausführbare Programme erzeugt - gerade für klassische Anwendungsentwicklung sehr praktisch. Bedingt durch die Art der Compilation (über einen C-Compiler) ist auch die Integration externer C-Libraries gut. Wenn man also mit der Plattformeinschränkung leben kann, ist es sicherlich eine sehr interessante Implementierung.

Hier gibts den Originalartikel.

WebHome - Cookbook - s c h e m a t i c s : c o o k b o o k - Kochbuch für praktische Scheme-Anwendung

Project Schematics - Diverser Scheme-Code für MzScheme, unter anderem Datenbanktreiber, Wiki, PDF-Writer ...

spgsql - PostgreSQL Treiber der komplett in Scheme geschrieben ist

Zach Beane

Elephant klingt interessant - eine Datenbank für Lisp-Objekte auf der Basis von Sleepycat-DB. Wäre ein weiterer möglicher Baustein für einen Lisp-Rewrite von PyDS oder ähnliche Projekte, bei denen man eine direkt eingebettete Datenbank braucht.

Bei Planet Lisp gibts den Originalartikel.

Io - nette kleine protypbasierte objektorientierte Programmiersprache