programmierung - 2.2.2004 - 10.3.2004

Oracle ...

F: Warum erhalte ich eine "ORA-01400: Cannot insert NULL into column name"-Fehlermeldung, wenn ich eine leere Zeichenfolge einfüge?

A: Dies ist ein bekanntes Oracle-Problem. Wenn Sie einen Wert für eine varchar2 einfügen oder aktualisieren, interpretiert Oracle den Wert als NULL, wenn Sie versuchen, eine leere Zeichenfolge ("") einzufügen. Wenn es eine NOT NULL-Beschränkung auf der Spalte gibt, in die Sie den Wert einfügen, wirft die Datenbank den ORA-01400-Fehler aus.

Moppelkotze

zorniges Gesicht

Divmod.Org :: Home :: Projects :: Quotient - Python Messaging Server auf Basis von Twisted

Emmanuel Renieris's Software Page - Python Interface zu agraph von GraphViz

gnutellavision: intro - Radiales Layout von Graphen

MacNQC - Lego Compiler für OS X und Classic OS

mfGraph Library Homepage - Windows Python Modul zum Lesen von GraphViz Dot Files

Parser-SIG - SIG zur Parsergenerierung für Python - Liste von Parser-Generatoren für Python

pyparsing -- eine Klassenbibliothek für Textverarbeitung in Python - Interessante Klassenbibliothek für Parser in Python

Scalable Vector Graphics (SVG) 1.1 Specification - Vektorgrafiken im Web - Spezifikation

WAVE 3.0 - Web Accessibility Versatile Evaluator - Brauchbarer Accessebility Tester

LWN: The GPL Is a License, not a Contract

Weil ich mich gerade in einer Diskussion mal wieder mit GPL-FUD rumschlage, der passende Link auf eine Erläuterung warum GPL keine virale Lizenz mit Vertragscharakter ist, sondern eben nur eines: eine Lizenz für die Verwendung von Sourcecode.

Falsche Verwendung von GPL Source führt nicht dazu, das das neue Projekt automatisch GPL wird. Der umgekehrte Weg ist zwar korrekt: wenn du GPL Software als integralen Bestandteil nutzen willst, dann muss dein Projekt auch unter GPL stehen. Aber das wirkt eben genau nur in dieser Richtung. Falsche Verwendung von GPL Source führt schlimmstenfalls nur zu einem: dem Entzug der Nutzungslizenz für diesen Source. Das Projekt muss also nur genau das machen, was es eigentlich hätte sowieso machen müssen: den entsprechenden Teil selber schreiben.

Genauso albern ist die Behauptung, das man seine Rechte an seinem Source aufgibt, wenn man ihn in ein GPL Projekt einbringt. Natürlich behält man weiter alle Rechten am eigenen Source. Meine Erfahrung mit Argumenten der Richtung: ich steuere dem Projekt nichts bei, weil das ja unter GPL steht und ich deshalb dann meinen Source nicht mehr selber frei verwenden kann sind nur faule Ausreden für das was eigentlich der Fall ist: ich steuere dem Projekt nichts bei, weil ich nicht euren Source für meine anderen Projekte frei benutzen kann, weil meine Projekte nicht GPL sein sollen . Und das ist etwas deutlich anderes - niemand nimmt einem die Rechte an eigenen Sourcen (außer man gibt sie explizit auf - im Rahmen der offiziellen GNU Projekte ist das so üblich, das dort die Rechte auf die FSF übertragen werden). Aber man erhält nicht automatisch die Rechte an anderen Sourcen, nur weil man selber mal was beigesteuert hat. Und noch was: Leute die damit drohen das ihre tollen innovativen Ideen nicht in ein Projekt eingehen, weil es unter GPL steht, haben meistens sowieso nix wirklich innovatives zu liefern. Eigentlich sind die Anzahl der innovativen Beiträgen zu Projekten sowieso minimal - und seltsamerweise haben die Leute, die wirklich innovative Teile liefern, die wenigsten Probleme mit der Lizenz ...

Hier gibts den Originalartikel.

Python: Modul inspect - Introspektion für Python-Module

Mod-pubsub blog - Infrastruktur für Publish Subscribe mit Webseiten

PyTable RDBMS Middleware - Vereinfachtes Arbeiten mit Datenbank Treibern in Python

RFC: Subscriptions harmonizer - Synchronisation von Blogrollen über XMLRPC

Welcome Page - Hierarchische Datenbank für Python und grosse Datenmengen

Writing PlugIns - Wie man Cocoa Anwendungen analysiert und nachträglich modifiziert

Track or Back

Also Trackback find ich gut. Noch guter fänd ich es, wenn noch mehr Leute ihre Trackback-Adressen mittels des trackback:ping Tags in ihre RSS Feeds einbauen würden, das würde manuelle Schritte vermeiden helfen (und vor allem diese unsägliche Trackback-Autodiscovery unnötig machen). Bei Der Schockwellenreiter gibts den Originalartikel.

Version Control with Subversion - Buch über Subversion - den CVS Nachfolger

Omniorb Python Bindings - Dokumentation der Python Anbindung an OmniORB

Folklore.org: Macintosh Stories: Hungarian

Faszinierend. Eine Geschichte wie bei Apple die ungarische Notation (Variablennamen mit vorgestellten Zeichen für den Variablentyp) von Charles Simonyi entdeckt hat. Wortwörtlich entdeckt - im Source des Speichermanagers für Mac OS

Nunja, die Reaktion auf die Entdeckung spricht Bände: der Source wurde erstmal von dieser Verunglimpfung befreit, danach kommentiert und dokumentiert und dann von Hand in Assembler umgesetzt. Good old days ...

Hier gibts den Originalartikel.

asynchttp - Asynconronous HTTP Client - HTTP Client der sich in asynchat einklinkt und damit im Medusa nicht blockiert

hOp - Haskell Micro-Kernel

Device-Treiber in Haskell programmieren? Cool

Bei Lambda the Ultimate fand ich den den Originalartikel.

ModelingObject-Relational Bridge for python - Framework für Objekt Relationales Mapping von Python Klassen auf SQL Datenbanken

3.3 weakref -- Weak references - Wie man weiche Referenzen mit Python macht

my-zope - LocalFS-1-1-0.tgz - LocalFS für Zope 2.7 - das auf Source Forge ist zu alt

Python Dispatch Package - Komplexer Signaldispatcher für Python

XML-RPC Client/Server Protokollreferenz - LiveJournal XML RPC API

Elfenkönige und Hubschrauber -- zum 70. Geburtstag von Niklaus Wirth

Zwar sind seine Sprachen in meiner aktuellen Arbeit nicht mehr von Bedeutung, aber sie haben lange Jahre meine Ausbildung, meine berufliche Tätigkeit und meine privaten Programmierprojekte begleitet. Von daher mal einen ganz herzlichen Glückwunsch in die Schweiz!

Bei heise online news gibts den Originalartikel.

del.icio.us API documentation - Ein API um auf die Daten von del.icio.us (Social Bookmarker) zuzugreifen und neue Bookmarks zu schicken

The Common Lisp Cookbook - Erstellung eines offenen Buches mit Common Lisp Code Schnipseln

OpenMCL 0.14.1 - jetzt mit Cocoa-Bridge!

Jau, darauf habe ich sehnsüchtig gewartet. OpenMCL hat jetzt eine Cocoa-Bridge. Damit kann man ObjectiveC Frameworks aus Common Lisp heraus benutzen. Der Vorteil: nahezu das ganze OS X API (jedenfalls der Teil, der mit OS X neu gekommen ist) steht damit potentiell für Common Lisp zur Verfügung. Auch Integration mit anderen Objective C Programmen ist wesentlich einfacher. Und es besteht endlich eine Chance eine brauchbare GUI über OpenMCL zu entwickeln. Es gibt auch schon eine Dokumentation zu Cocoa Programmierung unter OpenMCL. Hier gibts den Originalartikel.

CLORB - a Common Lisp ORB

Von Corba Bindings für Common Lisp hat man ja schon mal gehört. Aber hier gibts gleich eine ganze Corba Implementation in Common Lisp.

erstauntes Gesicht

Hier gibts den Originalartikel.

PycURL Home Page - Python Wrapper für libcurl

shwebyhshandler.py - Handler für Medusa der gzip Transfer encoding unterstützt

RFC 1864 (rfc1864) - The Content-MD5 Header Field - Absicherung von Content gegen Verluste mittels MD5

PLT Spy - Python in Scheme

Wow. Eine Python-Implementation in Scheme. Ok, die Standardbibliothek fehlt noch (und die ist es ja erst was Python so interessant macht), aber immerhin, es wäre dann die vierte Python Umgebung (eine für Java, eine für .NET und natürlich die originale CPython Umgebung).

erstauntes Gesicht

Bei Lambda the Ultimate fand ich den den Originalartikel.

RFC 2445 - vCalendar - Definition des vCalendar Formates

Toolserver Framework for Python

Wer einen SOAP Webservice aufsetzen will und das in Python, und wer keinen Monster-Server wie twisted benutzen will, sondern einen kleinen, schlanken Webserver auf Medusa-Basis (allerdings mit dynamischem Multithreading!), der kann sich mal das verlinkte Projekt von mir angucken. Nichts umwerfendes, aber so als Allrounder ganz brauchbar. UPDATE : die stabile Version ist jetzt 0.2.0 und enthält neben SOAP auch XML-RPC Unterstützung. Im CVS ist jetzt 0.3.0, welche die Implementierung von REST APIs unterstützt.

Hier gibts den Originalartikel.

DevChannel | The Affero GPL: Closing the Distribution Loophole - Lizenz speziell für Webservices - Netzbetrieb wird mit Distribution gleichgesetzt

OS X Options Now Include CMUCL

Jetzt läuft CMUCL auch unter OS X - und damit ist ein weiteres Common Lisp verfügbar.

Bei lemonodor gibts den Originalartikel.

PEP 324 -- popen5 - New POSIX process module - Python Erweiterung für einfache Integration von externen Prozessen

GraphPath Language - Query Sprache zur Analyse von Graphen

A Retrospective on PAIP - Peter Norvig überlegt wo Lisp heute steht

André Simon - Startseite - Tool für die Shell zum einfärben nach Syntax

Fortsetzungen einfach und illustriert - Fortsetzungen in Python

PEP 327 -- Decimal Data Type - Dezimalzahlen in Python - Vorschlag für eine Python Erweiterung

Python for Lisp Programmers - Python aus der Sicht eines Lisp-Programmierers

pyXLWriter - Excel Dateien mit Python erzeugen

SourceForge.net: Project Info - bytecodehacks - Die Bytecodehacks für Python.