programmierung - 10.11.2003 - 1.1.2004

Feed Parser [dive into mark] - Marks ultraliberaler Feedparser in Python

Nyetwork Wiki: MiniWiki - Einfaches Wiki als mod_perl Modul für Apache

Perl Monks - The Monastery Gates - Tipps und Tricks rund um Perlprogrammierung

Core Team von XFree86 löst sich auf

Ich bin ja mal gespannt was das jetzt für ein Modell ergeben wird. Wobei ich ja lieber endlich mal eine brauchbare Alterantive zu X11 haben wollen würde - X11 ist einfach eine streckenweise grausige Konstruktion. Eine Lösung ala Mac OS X wäre da gut: ein neues, natives GUI mit brauchbarem Modell und darauf ein gut integrierter X11 Server für die alten Anwendungen.

Denn mal ehrlich: der Wust an GUI-Toolkits, der durch den Fakt enstanden ist das X11 Toolkitneutral ausgelegt ist und keines präferiert, ist eines der grossen Handicaps für Unix auf dem Desktop. Und nein, KDE oder Gnome sind keine wirklich vollständige Antwort darauf, denn sie verkleiden die Probleme der Basistechnik zwar, lösen sie aber nicht wirklich.

Wär doch mal was für 2004, endlich ein brauchbares GUI für Unix entwickeln. Braucht noch jemand einen guten Vorsatz?

Bei heise online news gibts den Originalartikel.

mindlube software / developer / revclips - CLIPS als Plugin für Revolution - Expertensystemtechnik innerhalb eines GUI-Entwicklungs-Toolkits

Runtime Revolution - User-Centric Software Development - Ein weiterer Hypercard "Clone" - dieser ist allerdings Multiplattform

lython - lisp for python - Lisp-Syntax für Python Bytecode

fabFORCE.net - GPL-Datenbankdesign-Werkzeug

Open Source Open Genera?

Jaaaaaa, bitte bitte bitte!

Hier gibts den Originalartikel.

Welcome to ERights.Org - Programmiersprache für verteilte Peer-to-Peer Anwendungen mit speziellen Sprachfeatures für diesen Aufgabenbereich

CMake Cross Platform Make - Endlich eine brauchbare Alternative zu den GNU autotools?

Divmod Lupy Overview - Volltextindex in Python - Portierung der Lupene Datenbank aus der Java Welt

Unreliable Guide To Locking - Dokumentation der verschiedenen Lockingmechanismen in Linux 2.6

D. Souflis - TinyScheme Download site - Sehr kompaktes Scheme, gut als Erweiterungssprache für Anwendungen geeignet.

OpenMCL - Leistungsfähiges Common Lisp mit native Code Compiler für den Macintosh und Linux PPC unter GPL

search.cpan.org: Richard Clamp / perl-1.0_16

Herzlichen Glückwunsch

Hier gibts den Originalartikel.

welcome to macscripter.net | applescript and script resource - AppleEvent Monitor zum Debugging von AppleScript und andere Programmverbindungen

Concurrent Versions Librarian - CVS Oberfläche für OS X

MacOS X Smalltalk - Ein neues Smalltalk für Mac OS X Native

ASPN : Python Cookbook : Complex Boolean Regular Expression Class - Eine Klasse für Reguläre Ausdrücke die mit boolschen Ausdrücken kombiniert werden können

ASPN : Python Cookbook : Length-limited O(1) LRU Cache implementation - LRU-Implementation als Python-Klasse

freshmeat.net: freshmeat - freshmeat XML-RPC API available - Freshmeat hat ein XML-RPC Interface um auf die Projektdaten zuzugreifen

Entzauberung der Open Source Entwickler Mythen

Was mich an dieser häufiger auftretenden Mythenentzauberungen stört: diese gehen immer davon aus das jeder Programmierer in der Open Source es darauf anlegt Produktionsqualität abzuliefern. Das ist aber der grösste Mythos, dem all diese Analysten aufsitzen. Die meisten OSS Programmierer programmieren an Programmen herum, weil diese ein Problem lösen, das sie haben. Oder weil sie einfach Spass daran haben, sich mit diesem Thema zu beschäftigen. Oder weil bestehende Lösungen nicht so arbeiten, wie sie sich das vorstellen. Die Gründe sind also meistens erstmal sehr egoistisch. Dabei wird dann zwangsläufig der Endbenutzer und andere Entwickler erstmal ignoriert - und aus diesen Projekten entwickeln sich später vielleicht grössere Projekte. In den seltensten Fällen fängt ein Projekt wirklich bei Null an mit der Prämisse ein professionelles Softwareprodukt zu liefern. Dieser Spieltrieb und der Egoismus der OSS Programmierer ist es aber, der die Vielfalt ausmacht. Aber natürlich auch das Chaos. Witzigerweise sind die gleichen egoistischen Programmierer extrem verteil und verschenkfreudig, weshalb sich aus diesen Projekten überhaupt nur grössere Projekte bilden können. Aber auch da steckt in der Regel ein egoistisches Bedürfnis hinter: das Bedürfnis nach Anerkennung. Ein wesentlicher Antrieb in OSS-Projekten ist die Erlangung von Bekanntheit.

Übrigens sehe ich das ganze absolut nicht negativ, im Gegenteil. Es ist eben das, was die OSS Landschaft so bunt und interessant macht. Projekte zu ignrieren, die einen nicht interessieren, ist definitiv einfacher als rumzumeckern das diese Entwickler in anderen Projekten mitarbeiten sollten - es gibt eben in der OSS keine Verpflichtungen.

Der Sprung zum grossen Projekt ergibt sich oft erst durch eine breitere Benutzerbasis, aus der sich dann nach und nach Mitentwickler rekrutieren. Trotzdem bleiben viele Projekte lange die privaten Projekte einzelner Personen - selbst wenn es schon eine Entwicklergemeinschaft ist. Der Linux-Kernel ist immer noch Linux Projekt, was sich immer dann zeigt, wenn er Maintainer ablehnt, Subsysteme rauswirft und eigenmächtig durch andere Implementierungen ersetzt. Die Frage, warum er das kann, erübrigt sich: es ist sein Projekt, natürlich kann er es.

Bei vielen Diskussionen über die Vorzüge und Nachteile wird immer wieder davon ausgegangen, das OSS Projekte überhaupt vergleichbar zu kommerziell betriebenen Projekten sind. Sind sie auch - dann, wenn hinter dem OSS Projekt eine Firma mit kommerziellen Interessen steht. Aber bei reinen OSS Projekten sind Faktoren mit im Spiel, die mit nichts im Kommerziellen oder Teilkommerziellen vergleichbar sind. Und diese Projekte machen den Grossteil der OSS aus.

Von daher sind Untersuchungen von Mythen in der OSS oftmals selber Mythen aufgesessen

Hier gibts den Originalartikel.

Hugs 98 - Haskell Interpreter Implementation für viele Systeme (sogar Zaurus)

PyObjC - Home - Objective-C Bridge für Python

The HarvestMan WebCrawler Robot - Webcrawler in Python - z.B. für die eigene Suchmaschine

Second p0st: Repairing MetaKit databases - Script zur Reparatur von Metakit-Datenbanken

xsdb html index - kompakte und feature-volle Datenbank in Python

A garbage collector for C and C++ - Garbagecollection für C und C++

"AppleScript: The Definitive Guide" released

Hauptsächlich ein Merker für Jutta, das sie das Buch haben will

Bei The Macintosh News Network gibts den Originalartikel.

Atom-Raumschiff soll Leben finden

Hoffen wir mal das es nicht auch noch das erste abgestürzte Raumschiff und die erste Atomkatastrophe auf einem Jupitermond wird - bei der Erfolgsserie der NASA in letzter Zeit sollten die vielleicht doch lieber ungefährlicheres Gerät auf die Reise schicken ...

Bei Spiegel Online: Wissenschaft gibts den Originalartikel.

JSch -- Java Secure Channel - Java-Implementation von SSH2 mit X-Forwarding

LUFS-Python

Das richtige für den Hacker von heute: Dateisysteme für Linux direkt in Python schreiben. Ich könnte ja mal drüber nachdenken ob ich mein suckfs nicht mal auf LUFS-Python umschreiben sollte. Die jetzige Implementierung über dnotify jedenfalls hat einige seltsame Effekte und Raceconditions, die unter bestimmten Umständen die Datenbestände nicht mehr synchron sein lässt. Allerdings wäre eine LUFS-Python Implementierung dummerweise auch beim Lesen durch Python realisiert, und das wäre höchstwarscheinlich zu langsam für den Anwendungszweck von suckfs(Replikation von statischen Dateninhalten auf einem Zope-Cluster). Hier gibts den Originalartikel.

Neues Feature: Blogmarks

Ich habe den Python Desktop Server um ein weiteres Modul ergänzt: Blogmarks liefert ein Blog mit Minieinträgen. Die Idee dahinter ist es, einfach nur Links zu posten. Dazu dient ein Bookmarklet (ein bischen Javascript, das ein Fenster öffnet und eine URL anspringt), welches den aktuellen Link und den Titel des aktuellen Fensters an den Python Desktop Server übergibt und vom Benutzer noch Kategorien und eine kurze Beschreibung (wird als title-Tag am Linkelement abgelegt und damit bei Mouse-Over angezeigt) verlangt. Das ganze wird in kompakter Form in HTML umgewandelt und steht als Blog zur Verfügung, mit RSS-Feed und allem was dazugehört. Auf Dauer werde ich wohl noch weiter Features wie Caching der Originalseite (falls die mal offline geht) und eine Kategorienübersicht aller Links einbauen, aber erstmal starte ich so wie es jetzt ist. Mal schauen ob das nicht eine sinnvolle Alternative zu privaten Bookmarks ist.

Hier gibts den Originalartikel.

Perthon -- Python to Perl Language Translation

Das interessanteste an diesem Projekt ist die Gegenüberstellung des Python und Perl Sources. Ich mag ja beide Sprachen, aber irgendwie finde ich bei dieser Gegenüberstellung das ich mich dafür das ich Perl auch mag eigentlich schämen müsste

Hier gibts den Originalartikel.

ScummVM - Interpreter für LucasArts Spiele, gibts auch für den Zaurus

Smile von Satimage-software

Das klingt garnicht so schlecht. Ein AppleScript-Editor mit interaktiver Applescript-Shell, diversen Erweiterungen und vor allem einem Interfacebuilder. Und das ganze noch zum kostenlosen Download. Und die Beschreibung klingt so als wäre es für kleine Hacks durchaus eine Alternative zum deutlich dickeren (aber auch deutlich leistungsfähigeren) AppleScript Studio.

Hier gibts den Originalartikel.

Tucholsky hat eben immer noch Recht

Nichts hat sich geändert, die gleichen alten Argumente, die gleichen falschen Schlüsse, die gleichen falschen Forderungen. Schon erschreckend wie Die Freie Wirtschaft immer noch wie Arsch auf Eimer passt, und das nach so vielen Jahrzehnten. Bei gnurps gibts den Originalartikel.

IronPython Benchmarks

Der Programmierer von JPython/Jython (einer Python-Implementierung für die Java Virtual Machine) ist anscheinend an einer Implementierung von Python für die .NET Common Language Runtime dran. Und erste Benchmarks sehen sehr gut aus, besser als erste andere Versuche die bei ActiveState gemacht wurden. Sieht so aus als ob in absehbarer Zeit Python Code sowohl innerhalb von Java-Applikationen als auch .NET Applikationen benutzt werden kann, neben der sowieso vorhandenen nativen Implementierung. Was ich sehr angenehm finde, weil ich damit meine derzeit favorisierte Programmiersprache auch in albernen Windows-Projekten mit denen wir in nächster Zeit zu tun haben weröden benutzen kann.

Im Java-Umfeld benutze ich Jython ja schon als angenehme Alternativsyntax, wenn ich mit irgendwelchen Fremdbibliotheken in Java arbeiten muss - Jython ist da wesentlich komfortabler (und die interaktive Umgebung ist der absolute Hit, wenn man mit fremden Libraries experimentieren muss, weil da mal wieder nicht ausreichend Dokumentation existiert!).

Hier gibts den Originalartikel.

Medley Lisp

Eigentlich nur geblogt, damit ich es später mal wiederfinde. Medley Lisp ist der Nachfolger des Lisps, das auf den Xerox Lispmaschinen läuft. Auf meinen Lispmaschinen laufen zwei Releases: Koto Lisp und Lyric Lisp. Koto Lisp ist eine reine Interlisp-D Umgebung (übrigens hat Rainer Joswig das Einleitungshandbuch online gestellt, auch ist ein Film über die Benutzung von Interlisp-D online), wohingegend in Lyric Lisp noch zusätzlich eine Implementation von Common Lisp hinzugekommen ist. Medley Lisp ist der direkte Nachfolgerelease von Lyric Lisp, also stark Common Lisp zentrisch, wobei die Systembasis immer noch auf Interlisp-D aufbaut. Medley Lisp läuft nicht mehr auf Lispmaschinen, sondern wird über einen Emulator auf verschiedene Plattformen gebracht. Ich habe noch eine Version des Emulators für DOS, verkauft wird nur noch eine alte Solaris-Version und eine Linux-Version (für Intel-Prozessoren). Die Software hat eine lange Historie, die ersten Releases stammen aus dem Anfang der 80er Jahre, viel Code aus der Zeit findet sich immer noch im System (das ganze Interlisp-D eben). Ich schätze aber mal das die Implementation von TCP/IP in Interlisp unter der Emulatorversion nicht mehr genutzt wird, da wird wohl auf den systemeigenen TCP/IP Stack zugegriffen.

Bei mir zu Hause stehen noch immer zwei funktionsfähige Siemens-Nachbauten der Xerox 1186 Kisten und gut ein Meter Dokumentation. Faszinierend was in den Kisten schon alles drinsteckt und welche Leistung die damals schon hatten - und das obwohl der Prozessor nicht der allerschnellste ist. Der Prozessor selber hatte übrigens einen ladbaren Microcode, die Art des Befehlssatzes konnte also an das System (Smalltalk, Lisp oder Prolog) angepasst werden. Im Prinzip war das damals auch ein Emulator, nur in Hardware realisiert.

Hier gibts den Originalartikel.

Slate Language Website

Ok, noch eine Programmiersprache. Aber die Mischung machts: Self, Common Lisp und Smalltalk als Inspirationen zu nehmen trifft schon ziemlich meinen Geschmack. Ich muss mir das ganze mal holen und ausprobieren. Sicherlich wird es nicht die kritische Masse bekommen die nötig wäre um damit ernsthaft was machen zu können - sowas hat in letzter Zeit gerade mal Ruby geschafft, und da wars schon eine kleine Sensation - aber interessant ist es allemall.

Hier gibts den Originalartikel.

MkSQL - SQL für Metakit in Python

Könnte irgendwann mal interessant werden - eventuell könnte ich das in den Python Desktop Server reinmischen, so das man auf Datenbanken auch mit SQL zugreifen kann? Jedenfalls wäre es ein lohnenswertes Tool um Leuten den Einstieg in die Datenbank einfacher zu machen - Metakit ist ja eher ungewöhnlich.

Hier gibts den Originalartikel.

What the heck is: A type

Eine Interessante Aufstellung darüber was überhaupt ein Typ ist und der verschiedenen Begriffe in dem Zusammenhang (static typing, type inference und was es noch so alles gibt) vom Programmierer der Perl 6 virtual Machine (Parrot). Ich finde es faszinierend zu sehen wie in der Perl6 Entwicklung immer mehr Elemente diskutiert werden und umgesetzt werden, die im Lisp-Bereich schon seit den 80ern als Standard betrachtet werden. Irgendwann wird die Mainstream-Programmierung mal endlich zur Lisp-Welt aufschließen

Bei Squawks of the Parrot gibts den Originalartikel.

The Early History of Smalltalk

Stand schon überall sonst, aber als alter Smalltalker muss ich es natürlich auch bloggen.

Hier gibts den Originalartikel.

Wysiwyg-Pionier Simonyi will das Programmieren revolutionieren

Reitet der immer noch auf seinen albernen Ideen rum? Mitlerweile müsste ihm doch mal irgendwann klar geworden sein, das es nur Hirngespinste sind. Programmierung ist ein kreativer Prozess der durch die Ausdrucksmöglichkeit in der Sprache in der man programmiert gravierend mitbestimmt wird. Niemand würde von einem Dichter verlangen seine Kunst im Sprachschatz der Bildzeitung auszuleben, dabei dann noch absolut feste Versmaße einzuhalten und das ganze dann noch mit primitiven Werkzeugen zu schreiben.

Solange die Softwareentwicklung an Primitivsprachen wie C++, Visual Basic oder Java kleben bleibt, wird sich das Problem nicht sinnvoll lösen lassen - wer low-level Sprachen zur Verfügung hat, wird auch immer low-level denken.

Die Lösungen für diese Problematik sind schon seit den 80ern verfügbar, wird Zeit das die Softwarebranche da mal genauer hinguckt ...

Bei heise online news gibts den Originalartikel.

AROS: Amiga® Research Operating System

Mal was für die Amiga-User: ein Open Source System mit dem Ziel kompatibel zum AmigaOS zu sein. Und die hier sind schon richtig weit. Ok, für Amiga-Fans vielleicht ein alter Hut, mir wars aber neu. Mein Amiga ist aber auch im Laufe meines Besitzes nur vielleicht eine Handvoll Male gebootet worden

Hier gibts den Originalartikel.

Python und AppleScript

Garnicht so uncool. Für Perl gabs das ja auch mit den Mac::OSA Modulen. Sehr praktisch das ganze, gerade wenn man sowieso ein Python Script baut, welches nur ein paar Funktionen der Anwendungen braucht. Allerdings bei komplexeren Sachen dann doch oft recht umständlich, speziell wenn Mediadatentypen verwendet werden, für die es einfach im Python keine brauchbaren Gegenstücke gibt.

Bei Der Schockwellenreiter gibts den Originalartikel.

High Performance Computing for Mac OS X

Was für die Numbercruncher unter den OS X Fans. Compiler und Werkzeuge speziell für G4 und G5 kompiliert und zusammengestellt. Alles was das Herz eines Zahlenfressers begehrt

Hier gibts den Originalartikel.

You call that a Monad? This HEREs a Monad.... And a Shell.

Funktionale Shell? Hmm. Interessant - die Shellsprache ist eine funktionale Sprache und bietet typische Kombinatoren zur Verbindung von Systeminformationen, Dateien und Kommandos an. Abgedreht, aber interessant

Bei Lambda the Ultimate fand ich den den Originalartikel.

Rebel With A Cause

Hier berichtet jemand wie er mit einem Apple XServe, OpenMCL(der freien Version von Macintosh Common Lisp) und dem Portable AllegroServe eine Webapplikation aufgebaut hat und was diese so umfasst. Ebenfalls eingesetzt wurde dabei ein selbstgeschriebenes Framework zur Webapplikationserstellung mit Common Lisp - ich bin mal gespannt, ob das auch freigegeben wird. Vielleicht krieg ich doch mal irgendwann einen CLDS zusammen Hier gibts den Originalartikel.