programmierung - 2.2.2004 - 10.3.2004

Oracle ...

Q: Why do I get an "ORA-01400: Cannot insert NULL into column name" when inserting a blank string?

A: This is a known Oracle issue. When inserting or updating a value for a varchar2, if you try to insert an empty string (""), Oracle interprets the value as NULL. If there is a NOT NULL restriction on the column in which you are inserting the value, the database throws the ORA-01400 error.

Moppelkotze

zorniges Gesicht

Divmod.Org :: Home :: Projects :: Quotient - Python messaging server based on Twisted

Emmanuel Renieris's Software Page - Python interface to agraph from GraphViz

gnutellavision: intro - Radial layout of graphs

MacNQC - Lego Compiler for OS X and Classic OS

mfGraph Library Homepage - Windows Python module for reading GraphViz Dot files

Parser-SIG - SIG on Parser Generation for Python - Liste von Parser Generatoren für Python

pyparsing -- a class library for text processing in Python - Interessante Klassenbibliothek für Parser in Python

Scalable Vector Graphics (SVG) 1.1 Specification - Vector graphics on the web - Specification

WAVE 3.0 - Web Accessibility Versatile Evaluator - Useful accessibility tester

LWN: The GPL Is a License, not a Contract

Because I'm currently dealing with GPL-FUD in a discussion again, here's the appropriate link to an explanation of why GPL is not a viral license with contractual character, but simply one thing: a license for the use of source code.

Incorrect use of GPL source does not automatically make the new project GPL as well. The reverse path is indeed correct: if you want to use GPL software as an integral component, then your project must also be under GPL. But that effect works in exactly only this direction. Incorrect use of GPL source at worst only leads to one thing: the withdrawal of the license to use that source. So the project simply has to do exactly what it should have done anyway: write the corresponding part itself.

Equally absurd is the claim that you give up your rights to your source code when you contribute it to a GPL project. Of course you retain all rights to your own source code. My experience with arguments of this direction: I'm not contributing to the project because it's under GPL and therefore I can't freely use my own source code anymore are just lazy excuses for what is actually the case: I'm not contributing to the project because I can't freely use your source code for my other projects because my projects shouldn't be GPL. And that's something entirely different - nobody takes away your rights to your own source code (unless you explicitly give them up - in the context of official GNU projects it's customary to transfer rights to the FSF). But you don't automatically gain rights to other source code just because you contributed something yourself. And another thing: people who threaten that their great innovative ideas won't go into a project because it's under GPL usually don't have anything really innovative to deliver anyway. Actually, the number of innovative contributions to projects is minimal anyway - and strangely enough, the people who really deliver innovative parts have the least problems with the license...

Here's the original article.

Python: module inspect - Introspection for Python modules

Mod-pubsub blog - Infrastructure for Publish Subscribe with Websites

PyTable RDBMS Middleware - Simplified work with database drivers in Python

RFC: Subscriptions harmonizer - Synchronization of blog rolls via XMLRPC

Welcome Page - Hierarchical database for Python and large data quantities

Writing PlugIns - How to analyze Cocoa applications and modify them after the fact

Track or Back

I like Trackback too. Even better would be if more people would include their trackback addresses in their RSS feeds using the trackback:ping tag, that would help avoid manual steps (and especially make this dreadful trackback autodiscovery unnecessary). The original article can be found at Der Schockwellenreiter here.

Version Control with Subversion - Book about Subversion - the successor to CVS

Omniorb Python Bindings - Documentation of the Python bindings for OmniORB

Folklore.org: Macintosh Stories: Hungarian

Fascinating. A story about how Apple discovered Hungarian notation (variable names with prepended characters for the variable type) by Charles Simonyi. Literally discovered — in the source code of the memory manager for Mac OS

Well, the reaction to the discovery speaks volumes: the source code was first purged of this defacement, then commented and documented, and then manually reimplemented in Assembler. Good old days...

Here's the original article.

asynchttp - Asynconronous HTTP Client - HTTP client that integrates with asynchat and thus does not block in Medusa

hOp - Haskell Micro-Kernel

Device drivers in Haskell? Cool

I found the original article at Lambda the Ultimate.

ModelingObject-Relational Bridge for python - Framework for object-relational mapping of Python classes to SQL databases

3.3 weakref -- Weak references - How to create weak references with Python

my-zope - LocalFS-1-1-0.tgz - LocalFS for Zope 2.7 - the one on Source Forge is too old

Python Dispatch Package - Complex signal dispatcher for Python

XML-RPC Client/Server Protocol Reference - LiveJournal XML RPC API

Elf Kings and Helicopters -- On the 70th Birthday of Niklaus Wirth

While his languages are no longer relevant to my current work, they accompanied my education, professional activities, and private programming projects for many years. So, my hearty congratulations to Switzerland!

At heise online news you can find the original article.

del.icio.us API documentation - An API to access data from del.icio.us (social bookmarking service) and send new bookmarks

The Common Lisp Cookbook - Creation of an open book with Common Lisp code snippets

OpenMCL 0.14.1 - now with Cocoa Bridge!

Finally, I've been waiting eagerly for this. OpenMCL now has a Cocoa bridge. This allows you to use Objective-C frameworks from Common Lisp. The advantage: virtually the entire OS X API (at least the part that came new with OS X) is now potentially available for Common Lisp. Integration with other Objective-C programs is also much easier. And there's finally a chance to develop a usable GUI via OpenMCL. There's also already documentation on Cocoa programming under OpenMCL. Here's the original article.

CLORB - a Common Lisp ORB

You've probably heard of Corba Bindings for Common Lisp. But here there's a whole Corba Implementation in Common Lisp.

surprised face

The original article is here.

PycURL Home Page - Python Wrapper for libcurl

shwebyhshandler.py - Handler for Medusa that supports gzip transfer encoding

RFC 1864 (rfc1864) - The Content-MD5 Header Field - Securing content against loss using MD5

PLT Spy - Python in Scheme

Wow. A Python implementation in Scheme. Ok, the standard library is still missing (and that's really what makes Python so interesting), but anyway, it would then be the fourth Python environment (one for Java, one for .NET and of course the original CPython environment).

amazed face

I found the original article at Lambda the Ultimate.

RFC 2445 - vCalendar - Definition of the vCalendar format

Toolserver Framework for Python

If you want to set up a SOAP web service in Python and don't want to use a monster server like twisted, but instead prefer a small, lean web server based on Medusa (though with dynamic multithreading!), you can check out my linked project. Nothing groundbreaking, but quite useful as an all-rounder. UPDATE: the stable version is now 0.2.0 and includes XML-RPC support in addition to SOAP. Version 0.3.0 is now in CVS, which adds support for implementing REST APIs.

Here's the original article.

DevChannel | The Affero GPL: Closing the Distribution Loophole - License specifically for web services - Network operation is equated with distribution

OS X Options Now Include CMUCL

Now CMUCL also runs under OS X - and thus another Common Lisp is available.

At lemonodor you can find the original article.

PEP 324 -- popen5 - New POSIX process module - Python extension for easy integration of external processes

GraphPath Language - Query language for analyzing graphs

A Retrospective on PAIP - Peter Norvig reflects on where Lisp stands today

André Simon - Startseite - Tool for the shell to colorize by syntax

Continuations Made Simple and Illustrated - Continuations in Python

PEP 327 -- Decimal Data Type - Decimal numbers in Python - Proposal for a Python extension

Python for Lisp Programmers - Python from the perspective of a Lisp programmer

pyXLWriter - Generate Excel files with Python

SourceForge.net: Project Info - bytecodehacks - The Bytecodehacks for Python.