programmierung - 20.12.2004 - 23.1.2005

Build me money making website please

Rent A Coder - Build me money making website please - ich zitiere mal:

I would like someone to build me a good website that will make me around $1000 a week or more. The website should be useful and not have any popups. I would like you to design the whole entire website. The content as well. Would like the website to have a lot of traffic as well.

Sorry, aber wenn ich eine Website bauen könnte die 1000 Dollar wöchentlich einbringt - dann würd ich die gerade so einem Dummbatz verkaufen. Logisch. Klar. Und Schweine können Fliegen.

(Gefunden bei Paul Tomblin)

Ein erstes Python Beispiel in Frontier ist jetzt online. Sieht sehr interessant aus - ich würd mir wünschen das jetzt mal jemand Binaries baut, denn XCode habe ich ja - wegen 10.2 - noch nicht. Und ich würd damit doch so gerne rumspielen ...

Subway ist eine Python-Implementierung der Ideen von Ruby on Rails. Wer also Angst hat sich an den ganzen spitzen und geschweiften Klammern in Ruby zu verletzen ...

Microsoft entlässt Windows-Tester und setzt statt dessen auf automatische Tests. Wieder mal hat die Tool-Gläubigkeit zugeschlagen. Eine selten dämliche Idee, denn automatisierte Tests finden nur das was automatisiert ist. Es fehlt ihnen an der Intuition die Menschen (zumindestens wenn es gute Tester sind) haben. Aber Microsoft-Software hat auf mich eh noch nie den Eindruck besonders guter Tests gemacht ...

D Programming Language

Das Referenzbuch zur D Programming Language(einem Nachfolger von C und C++ mit diversen Highlevel-Ideen) hat eine sehr faszinierende Klausel in der ersten Seite der Sprachbeschreibung stehen:

Note: all D users agree that by downloading and using D, or reading the D specs, they will explicitly identify any claims to intellectual property rights with a copyright or patent notice in any posted or emailed feedback sent to Digital Mars.

Ich habe so die Vorstellung das eine solche Klausel - die automatisch nur durch das Lesen der Dokumentation für einen Benutzer zwingend wird und etwas fordert, das der Benutzer unter Umständen garnicht leisten kann - ein bischen absurd ist. Mich würde mal die Meinung der Blawger dazu interessieren

MonkeyTyping - The PEAK Developers' Center

MonkeyTyping ist Phillip J. Ebys Ansatz für optional statisches Typing in Python. Sieht sehr interessant aus, die Idee. Was mich an Phillip immer wieder begeistert ist seine Fähigkeit über den Sprachtellerrand zu gucken - man denke nur an seine Arbeiten für generische Funktionen in Python. Genau solche Schübe braucht Python mal dringend wieder - einige Diskussionen rund um Python zeigen die ersten Anzeichen von Sprach-Inzucht (zum Beispiel diese nahezu Hass-Reaktionen auf die Erwähnung von Lisp und Lips-Features bei einigen Python-Advocates).

FBI versenkt 170 Mio Dollar Software Projekt - wegen unerwarteter Probleme . Komisch, das die Probleme in der IT immer noch unerwartet sind ...

PECL :: Package :: APC - PHP caching System, Open Source (nicht so komische Stunts wie phpAccelerator und nicht so tot wie turck mmCache)

Glossary für WordPress

Ich habe ein kleines Wordpress Plugin geschrieben das ein Glossary ähnlich wie bei Radio Userland oder PyDS implementiert. Mit dem Glossary werden einfach Texte die durch | (Pipe) Symbole begrenzt werden durch einen Ersatztext (der auch XHTML Markup enthalten kann) ersetzt. Spart Tipperei ...

Das Plugin installiert eine kleine Managementseite im Wordpress-Backend, das ganze funktioniert also nur mit Wordpress 1.5 (oder evtl. 1.3). Die nötige Datenbanktabelle wird nach Aktivierung des Plugins automatisch erstellt beim ersten Zugriff auf die Managementseite.

Second p0st: cElementTree hat jetzt eine C-Variante zur Beschleunigung des Ablaufs. Damit wird es eine echte Alternative zu anderen DOM Implementierungen.

dirtSimple.org: CLOS-style Method Combination for Generic Functions

Phillip J. Eby beweist einmal mehr das jede Programmiersprache die was werden will dazu verdammt ist irgendwann Common Lisp zu werden

Mir gefällt was er macht - gerade das Objektsystem von Python ist doch etwas primitiv und generische Funktionen und Methodenkombinationen im CLOS Stil sind sehr praktische Mittel bei der Programmierung. Auch seine erweiterte Objektadaption in PyProtocols war schon interessant, aber das recht vollständige Objektmodell mit Anlehnung an CLOS ist definitiv reizvoll.

Ich würde mir ja wünschen das sich Guido van Rossum mehr Gedanken darüber macht wie er PJEs Zeug in Python integriert als darüber wie er optional statische Datentypen einführt.

IBM on Software Patents

IBM's Aktion ist sehr interessant: nicht nur das Patente der freien Software frei zur Verfügung gestellt werden, auch wird klar eine Kampfansage gegen Klagegeister gemacht. Wer mit Klagen gegen Open Source vorgeht, gerät in die Gefahr die Rechte an der Nutzung der IBM Patente zu verlieren. Natürlich ist es jetzt interessant was genau IBM da an Patenten verfügbar macht, aber ich könnte mir bei IBM durchaus vorstellen das da ein paar Knaller dabei sind. IBM ist immerhin eines der Unternehmen mit dem grössten (wenn nicht sogar das Unternehmen mit dem grössten) Patentportfolio.

GeSHi - Generic Syntax Highlighter :: Home - ein Syntaxhighlighter in PHP. Könnte ich benutzen wenn ich hier Sourcecode poste ...

Optional Static Typing -- Stop the Flames!

Na also, geht doch. In seinem dritten Artikel über optionale statische Typdeklarationen für Python nimmt Guido van Rossum die ganzen Kommentare auf und bringt einen meiner Meinung nach kompakten und sinnvollen Vorschlag. Interfaces sind eine sinnvolle Einrichtung für stringenteres Duck-Typing - natürlich optional, also nur dort wo man es braucht. Und automatische Typadaption ist eine gute Idee - wird auch Zeit, das der PEP 246 in Python integriert wird.

Das wichtigste aber ist und bleibt: es wird optional. Wer es nicht braucht, lässt es weg.

Hier gibts den Originalartikel.

The Implementation of Functional Programming Languages

Klasse. Ein Klassiker der Informatikliteratur (ok, ein moderner Klassiker ) ist jetzt online lesbar. Das Buch ist deshalb interessant, weil es viele Aspekte der Realisierung einer für Haskell oder Miranda geeigneten Systemumgebung erläutert.

Es ist allerdings leider nur als Scans im JPG-Format online, also etwas mühsam zu benutzen - vor allem Suchen klappt natürlich nicht. Aber immerhin ist das Inhaltsverzeichnis mittels Imagemap verlinkt.

Hier gibts den Originalartikel.

Modal Web Server Example Part 1

Wer sich mehr mit continuation-basierten Webservern beschäftigen will und nicht vor Klammereien zurückschreckt, der verlinkte Artikel (es gibt 4 Teile) widmet sich dem Thema aus der Scheme-Richtung. Was dank first-class-Continuations in Scheme auch wesentlich sinnvoller ist als mein wilder Hack in Python

Hier gibts den Originalartikel.

Aquarium - Webframework mit MVC Ansatz in Python - vergleichbar Rails?

Borges Home - Continuation basiertes Webframework für Ruby

BottomFeeder - Plattformübergreifender RSS/Atom-News-Aggregator - Aggregator in Smalltalk

Continuations mit Python

Ein weiterer Artikel aus der Reihe: wir machen das unmögliche möglich . Diesmal nehme ich mir Continuations vor und implementiere eine recht primitive Variante in Python - und beschreibe wie man damit eine wesentlich nettere Art der Webserverprogrammierung erhält. Einfach auf den Titel-Link klicken. Diesmal allerdings in Englisch. Hier gibts den Originalartikel.

Glorp.org - Objekt-Relationales Mapping für Smalltalk

smart stuff

Warum Smalltalk nicht die Weltherrschaft übernommen hat

Hier gibts den Originalartikel.

appscript - Python als Ersatz für AppleScript nutzen - volle AppleEvent und OSA Einbindung

CincomSmalltalkWiki: Seaside Tutorial - Seaside ist ein Continuation-basiertes Webframework

Impostor - Continuation-basierte Webanwendungen mit Python

Revision 8033: /user/arigo/greenlet - Minimalistische Threads (Tasklets wie in Stackless Python) als normales Python C Modul

VisualWorks: StORE for PostgreSQL Documentation - PostgreSQL als Versionierungsspeicher für VisualWorks Smalltalk

ASPN : Python Cookbook : A meta-class that provides class behavior like Ruby - Klassenüberladung (Definition neuer Methoden) mit Python im Ruby-Stil

Gus Mueller's Website - VooDooPad Plugins mit Python und PyOBJC schreiben

recondite: You don't tug on Superman's cape... - Python zur virtuellen Maschine von VisualWorks Smalltalk compilieren

Hartz IV: GAU bei der Arbeitslosengeld-II-Zahlung [Update]

Pfusch. Totaler Pfusch. Man macht bei solchen Monsterprojekten immer einen Problelauf mit Echtdaten im Voraus - um genau solche Katastrophen zu vermeiden. Aber diese Bundestölpel haben ja schon bei anderen Grossprojekten gezeigt das sie von tuten und blasen vielleicht Ahnung haben, aber nicht von EDV.

verwirrtes Gesicht

Das Vorliegende Problem jedenfalls ist ein banales Schnittstellenproblem das zu einem solchen Stadium des Projektes garnicht mehr auftauchen hätte dürfen - ausser die Durchführenden sind komplett inkompetent und verblödet.

Bei heise online news gibts den Originalartikel.

Alice - funktionale Sprache und Umgebung

Alice ist eine sehr spannende neue Sprache aus der ML-Familie. Sie bietet viele interessante Denkansätze für bekannte Probleme und erweitert ML um sinnvolle Punkte wie zum Beispiel ein funktionales Modell für Multithreading. Sehr spannend für mich die Diskussion von lazy evaluation , futures und promises in der Alice-Tour - das traf genau den Nerv, nachdem ich gerade erst mein eigenes Paket für Python ( lazypy) gebaut habe. Ich habs dann gleich mal um die futures erweitert Von Alice ist auch eine OS X Version geplant - ich bin echt gespannt, denn die Screenshots der Umgebung lassen auf einiges hoffen. Bisherige ML-Implementierungen waren ja eher spröde in der Oberfläche.

Hier gibts den Originalartikel.

Codewalker für Pyton - Ein Codewalker der diverse Änderungen am Code von Lambda-Ausdrücken machen kann (speziell early binding etc.)

dirtSimple.org: More forward-chaining twists

Phillip J. Eby macht sich Gedanken darüber wie man eine Forward-Chaining Factbase (ein Grundmechanismus von AI-Systemen die regel- und faktbasiertes Programmieren ermöglichen) in Python implementieren kann. Sehr faszinierend zu lesen - er kommt ja eigentlich aus der OO Ecke von Python (als einer der PEAK Programmierer - PEAK ist sozusagen das J2EE der Python-Welt) und hat hier die ersten harten Begegnungen mit der funktionalen Programmierung. Praktische Auswirkungen hat das ganze auch: in PyProtocols (einem anderen Projekt von Phillip) gibt es mitlerweile eine schon recht fortgeschrittene Erweiterung des OO-Systems von Python hin zu einer mehr CLOS-ähnlichen Umgebung mit generischen Funktionen und Multi-Parameter-Dispatch für Methoden. Sehr interessant, da sich damit ganz neue Möglichkeiten eröffnen. Hier gibts den Originalartikel.

Xoltar Python Page - diverse Funktionale Erweiterungen zu Python - curry, lazy expressions, partial evaluation etc.

Python ist eine schwach typisierte Sprache, was, wie jeder erfahrene Python-Programmierer weiß, sowohl Vor- als auch Nachteile hat - Traits - optionale Typdeklarationen für Attribute in Python

Snurf: a Python-based Blogging System - nettes kleines Blogsystem das keine Datenbank braucht

Verzögerte Ausführung mit Python

Der ursprüngliche Text ist auf das PyDS Weblog umgezogen. Der Grund ist das ich mit der neuen Software den Text nicht vernünftig verwalten kann, weil die nötigen Tools hier nicht verfügbar sind (speziell das Sourcecodeformatieren klappt hier nicht, ausserdem ist der Text zu riesig - jedenfalls wenn er als XHTML gespeichert ist).

Verzögerte Ausführung mit Python

Verzögerte Ausführung - delayed execution oder lazy evaluation - ist ein sehr praktisches Werkzeug in der Programmierung. Leider unterstützen nicht alle Programmmiersprachen dieses Werkzeug direkt. Sprachen die Closures und Objekte unterstützen können aber recht einfach um verzögerte Ausführung erweitert werden. Einen Ansatz für Python beschreibe ich in diesem Text.Der Text enthält eine Reihe von Python-Code-Beispielen die zeigen wie eine ganze Reihe von mächtigen Python Ausdrucksmitteln benutzt werden können. Der Text könnte also auch für die interessant sein, die an lazy evaluation eher weniger Interesse haben. Hier gibts den Originalartikel.

Brian Mastenbrook: Forth porn

Da werden Erinnerungen wach. PowerMops - eine integrierte Forth-Umgebung für den Macintosh - gibts jetzt mitlerweile auch für OS X. Ich hab mir das schon lange nicht mehr angeguckt, aber die Beschreibung klingt noch genauso cool wie damals. Direkte native Code Übersetzung und Integration in die verschiedenen Toolboxen und mitlerweile auch in die Cocoa Frameworks. Und das alles in einem objektorientierten Forth.

Bei Planet Lisp fand ich den den Originalartikel.

Charming Python: Implementing "weightless threads" with Python generators - Sehr interessantes Konzept wie man extrem resourcenschonende Threads in Python mit Generatoren baut - kooperatives Multitasking in 100% Python

Contracts for Python - Programming by Contract in Python auf Basis von umschreibenden Metaklassen

Microsoft attempts to patent object persistence

Toll - simple und banale Objektserialisierung. Sowas gibts schon seit Jahren, quatsch seit Jahrzehnten. Und Microsoft will das patentieren ...

Bei kasia in a nutshell gibts den Originalartikel.

Adding Optional Static Typing to Python

Guido van Rossum denkt über optionales statisches Typing für Python nach. Sehr interessant, da durch optionales statisches Typing einerseits die hoch dynamische Natur von Python erhalten bleibt, andererseits aber eben als Option für die Optimierung die Typdeklaration zur Verfügung steht. Was sowas bringen kann kann man wunderbar mit PyRex ausprobieren - das schon heute sowas wie ein statisch getyptes Python bietet. Hier gibts den Originalartikel.

Der »Danke Polen!«-Brief

Los Leute, bedankt euch!

Bei Industrial Technology & Witchcraft fand ich den den Originalartikel.

Why's (Poignant) Guide to Ruby

Ok, ich hab ja schon viele verrückte Sachen gesehen. Aber diese Ruby-Einführung ist wirklich völlig durchgeknallt. Unbedingt mal durchblättern. Selbst wenn man keinerlei Interesse an Ruby oder Programmiersprachen hat. Der Autor muss völlig durchgeknallt sein - ich weiss nicht was er sich einwirft um solche Bücher zu produzieren, aber ich hätte gerne zwei Kilo davon

Hier gibts den Originalartikel.

Paolo Amoroso: McCLIM works with CLISP

Way cool: das portabelste aller Common Lisps hat in der letzten Zeit ja ein paar Modernisierungen verpasst bekommen. Und jetzt läuft auch McCLIM darauf - allerdings natürlich nur auf CLX, und damit unter OS X auch nur unter X11. Aber immerhin, es ist durchaus eine interessante Plattform. Zumal CLISP das Common Lisp ist, das am ehesten von der Umgebung her einer Script-Sprache entsprechen kann.

Hmm. CLISP läuft auf dem Zaurus. Auf dem Zaurus gibts auch eine Systemvariante mit X11. Mit CLISP+CLX+McCLIM+X11 müsste man damit auf dem Zaurus die kleinste halbwegs vollständige Lisp-Maschine der Welt bauen können

Bei Planet Lisp gibts den Originalartikel.

Ann: Revival of the BytecodeHacks

Der eine oder andere kennt sie vielleicht noch: die Bytecodehacks für Python. Ein wildes Modul das alle möglichen Schweinereien mit Codeblöcken erlaubte - und unter anderem in älteren Zope-Versionen für die eingeschränkte Ausführung von Python-Methods benutzt wurde. Mit Sicherheit ist das ganze der falsche Ansatz und verstösst gegen guten Geschmack und sinnvolles Programmieren. Ich liebe es.

Hier gibts den Originalartikel.

SnakeSQL -- Pure Python SQL database supporting NULLs and Joins

Nett - eine SQL-Datenbank in Python die deutlich mehr unterstützt als Gadfly (zum Beispiel einfache Joins, Foreign-Keys und Null-Values). Ok, ähnlich wie Gadfly wird es kein Wunder an Performance sein, aber als SQL-Option für deren Installation man keinen C-Compiler braucht taugt es allemal.

Hier gibts den Originalartikel.