Thursday, July 28, 2005

Ars moriendi: Information From


Trixie is to Internet Explorer as Greasemonkey is to Firefox. It lets you remix the Web via scripts. You may do this to either make it more readable, fix bugs or to even add little features to make the site more usable to you. Trixie by itself does none of this. It is just a plugin for Internet Explorer that enables executing chunks of JavaScript code and thus lets you use the Web the way you want to use it.

Wednesday, July 27, 2005

PyLucene @ Open Source Applications Foundation

PyLucene @ Open Source Applications Foundation: "PyLucene is a GCJ-compiled version of Java Lucene integrated with Python via SWIG. Its goal is to allow you to use Lucene's text indexing and searching capabilities from Python. It is designed to be API compatible with the latest version of Java Lucene."

Neat eh?

Friday, July 22, 2005

Download Fonts - 1001 Free Fonts

Download Fonts - 1001 Free Fonts

You want fonts?

They have fonts!!

Thursday, July 21, 2005

Google Groups : comp.lang.python

Google Groups : comp.lang.python

QOTW: "Discussing goto statements and Microsoft together is like mixing
dynamite and gasoline." - DH

'"Spaghetti" doesn't quite describe it. I've settled on "Lovecraftian":
reading the code, you can't help but get the impression of writhing
tentacles and impossible angles.' - Robert Kern

MSSqlServer, Python and the *nixes

Okay, so here goes..
  • FreeTDS - Making the leap to SQL Server
    FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases.
    apt known as: freetds-dev

  • SQSH - A swiss army knife command line interface to Sybase/SQL Server. A must-have program.
    Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, redirection, pipes, back-grounding, job control, history, command completion, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality.
    More Features
    apt known as sqsh

  • FreeTDS - Python Binding
    Shows how to install the python extensions. Seems as if it's being run used parallel to the FreeTDS installation. .
    Oops, there might be a little prob here: the TODO file from the source archive (2002 file) says blobs are unsupported... But that was back then, i'm not sure if they are supported right now...
    There is a file in there, that claims to be DB-API 2 compatible with a threadsafety level of 2: Threads may share the module and connection...
    All this is based on the 0.37 version. Carefully follow the installation instructions

  • SQL Relay
    SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux supporting ODBC, Oracle, MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase, Lago and SQLite with APIs for C, C++, Perl, Perl-DBD, Python, Python-DB, Zope, PHP, Ruby, Ruby-DBD and Java, command line clients, a GUI configuration tool and extensive documentation. The APIs support advanced database operations such as bind variables, multi-row fetches, client side result set caching and suspended transactions. It is ideal for speeding up database-driven web-based applications, accessing databases from unsupported platforms, migrating between databases, distributing access to replicated databases and throttling database access.
    .... Additionally, SQL Relay can connect to Microsoft SQL Server or Sybase using a connection compiled against FreeTDS....
    apt known as sqlrelay

  • SQL Relay - python DB API
    Well. this is kinda obvious on one side..
    apt known as python2.3-sqlrelay

  • MSSQLServer with Zope. I'm not saying it is, but it might be interesting...
    The same applies for this one, which is even more and better documented - it includes some sample settings to bind FreeTDS to the MSSqlServer. (which in turn refers to this post... (which seems to be a work in progress))

This is what i have gathered after some hours of searching and reading. More info follows after some installation has succeeded. First i would need a place that would have MSSqlServer and a unix server close to each other :).
But that will be the case in a few days i guess.

Python Buzz Forum - property decorator

Python Buzz Forum - property decorator: "For some reason it never occurred to me that you could use property() as a decorator. Of course, if you want to use getters and setters you can't, but for the (fairly common) case when you have a function that you want to turn into a read-only attribute, it works great:

class Foo(object):
def bar(self):

Huh. Seems obvious now."

Wednesday, July 20, 2005

The FreeTDS Archives

The FreeTDS Archives: The FreeTDS Mailing list Archives


Tuesday, July 19, 2005


Stunnel can work by either:

  • Receiving unencrypted data and sending it to an SSL server
  • Receiving encrypted data and
    • Sending the decrypted data to an arbitrary port on that or another machine
    • Launching a local program (as does inetd) to talk to the remote machine over the encrypted channel.

On unix machines, Stunnel can be run out of inetd, much like telnetd or ftpd, or it can be run as a standalone daemon, which in general is the prefered method. On NT it can only be run from a command prompt (DOS window,) not as a true NT service (Note by gwork: Well, with 4.x it's possible). We list several 'hacks' that let you do this, however, in the FAQ.

Wednesday, July 13, 2005

Reloading images without flicker

From Here
Finally found how to refresh an image in a document without making the old image disappear while the new one loads. I know I'm going to forget this if I don't write it down, so...

foo = new Image();
foo.src = url_of_new_image;
foo.onerror = function_to_call_if_download_fails;
foo.onload = function_to_call_when_download_finishes;

Then stash foo away somewhere, and when the foo.onload function gets called, copy foo.src over to the image you want to refresh.

Tuesday, July 12, 2005


CommonStuff: "Common stuff for all operating systems "

Monday, July 11, 2005


OOmadness: "EditObj can create and display a Tkinter dialog box for editing any Python object (similarly to what Java call a Bean editor, but for Python object). EditObj is a usefull tool for writing (text or non-text) editors of all kinds, including GUI editor, 3D editor,... It also includes a Python console (thanks to Ka-Ping Yee). "


OOmadness: "
EditObj includes an observation framework for Python object. Add modification-callback to any Python object !
Your callback function will be called every time the object is changed ! Really magic :-D

Observe is pure-Python and supports both old-style and new-style class instances, as well as lists and dictionaries.


>>> from editobj.observe import *
>>> start_observing()
>>> class C: pass
>>> c = C()
>>> def listener(obj, type, new, old):
... if type is object:
... for (attr, newvalue, oldvalue) in diffdict(new, old):
... print 'c.%s was %s, is now %s' % (attr, oldvalue, newvalue)
>>> observe(c, listener)
>>> c.x = 1
c.x was None, is now 1"

Network Install for DSL

Network Install for DSL: "Having read the many posts of how to install DSL with no cdrom using a hugh stack floppies,
I wanted to create a a script using only one floppy."

Friday, July 08, 2005

Jetty Java HTTP Servlet Server

Jetty Java HTTP Servlet Server: "Jetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content. Unlike separate server/container solutions, this means that your web server and web application run in the same process, without interconnection overheads and complications. Furthermore, as a pure java component, Jetty can be simply included in your application for demonstration, distribution or deployment. Jetty is available on all Java supported platforms.
Open Source Jetty is devloped under the guidance of Mort Bay Consulting and released under the Apache 2.0 License . Full source code is included in all releases.The License puts few restrictions on usage of Jetty, which is free for commercial use and distribution. The developers of Jetty ask users to inform themselves of the issues, political, legal or otherwise that motivate and threaten the development of Open Source and Free Software. The Jetty user and development community is active and welcomes new contributors.
Small and Efficient Jetty has been optimized by commercial and experimental use since 1995 and a small and efficient server is the result:

* A HTTP/1.1 server can be configured in a jar file under 350KB
* Jetty consistently benchmarks as one of the fastest servlet servers
* Jetty servers scale well to thousands of simultaneous connections
* Server performance degrades gracefully under stress."

Thursday, July 07, 2005

Marvelous combination!

Mix the following ingredients: Trac + FireFox + MozEx + Vim + MoinMoin syntax file

ASPN : Python Cookbook : Method signature checking decorators

ASPN : Python Cookbook : Method signature checking decorators: "This recipe adds parameter type checking to each method or function invocation. Not a replacement for static typing, but it makes a nice pair of shackles to me."

from __future__ import * � Iteration in JavaScript

from __future__ import * � Iteration in JavaScript: "Iteration in JavaScript

In JavaScript, there are basically two kinds of object iteration:
* All objects support property enumeration for (var x in obj):
* Some objects support the 'Array protocol': for (var cnt; cnt < obj.length; cnt++)

These both suck.

Property enumeration is only really useful for debugging, since chances are the objects will have a lot of properties that you do not want them to have, and there is no standard way to have properties that are hidden from enumeration.

Array protocol enumeration sucks because:

* Writing for loops is so 'C'
* Not every object that supports the 'array protocol' is actually an array, so the 'higher order' methods to manipulate the array such as Array.prototype.slice aren't going to be available everywhere. DOM NodeList objects and the special arguments array are particularly common examples of these array-like objects.

Fortunately, this doesn't stop you from writing your own iteration protocol. Here is an example of a JavaScript iterator in the style of Python's PEP 234 - Iterators


The free and open database of Open Source projects that anyone can edit.

See the about page for more info..


Swik project pages are different from the typical wiki pages you may have
seen before. Each project page has a bunch of topics: anyone can add or
edit topics, or add or edit entries in topics.

For example, you might add a new topic 'Interesting Links' under a
Documentation topic, or edit an existing entry to correct or expand it.

Search for any Open Source Project, Swik can automatically find information
for it. Or you can link to and the
project will automatically be created.

Delta Debugging - Software Engineering Chair (Prof. Zeller) - Saarland University

Delta Debugging - Software Engineering Chair (Prof. Zeller) - Saarland University: "

The Delta Debugging project at Software Engineering Chair, Saarland University investigates a new automated debugging approach based on systematic testing. With Delta Debugging, we can find failure-inducing circumstances automatically—circumstances such as the program input, changes to the program code, program states, or thread schedules"

Did i just notice some python code floating around in there?! Could this be true?!

Wednesday, July 06, 2005


This tool allows you to use your favourite text editor to edit source/textboxes and more from within firefox!!

Tuesday, July 05, 2005

Second p0st: Pushing data from Python to PHP and vice-versa

Monday, July 04, 2005

ASPN : Python Cookbook : Easy to use object-oriented thread pool framework

ASPN : Python Cookbook : Easy to use object-oriented thread pool framework: "Easy to use object-oriented thread pool framework "


Gnu/Linux: "SSH tunneling

I didn't really start messing with this until recently, but this is extremely useful. The idea is that you make a secure connection from a port on your local computer to a port on the remote computer.

For example if you want to connect to a vnc session on the remote computer (on port 5900), you simply forward port 5900 on your computer to port 5900 on the remote computer by doing:
localhost:~$ ssh

Then all you have to do to connect to the vnc session is to connect the vnc viewer to the local computer:
localhost:~$ xvncviewer localhost

Now what's the point of going to all this trouble? Well there are two reasons. First the connection is encrypted so no one can intercept cleartext passwords on the internet (so they can't get your vnc password). And secondly the port you want to connect to may be blocked by a firewall (so that random people can't try to connect to your vnc session). I just remembered a third reason to set this up: you might want to connect to a computer that's connected to the remote host but which isn't directly connected to the internet. For example let's say you want to connect to an rdesktop session on a machine called safe-box, which is connected to (on port 3389), then you'd simply do:
localhost:~$ ssh -L3389:safe-box:3389
localhost:~$ rdesktop localhost

If there's a particular tunnel or tunnels that you want to set up each time you connect to a specific host, you can use the following syntax in the file ~/.ssh/config:
LocalForward 3389 safe-box:3389
LocalForward 5900"

Simple, but effective

pytaskplan 1.3.1

pytaskplan 1.3.1 here it is again!!

Gizmo – A free phone for your computer - Download Gizmo!

Gizmo – A free phone for your computer - Download Gizmo!

An open standard skype, linux support soon

Friday, July 01, 2005

Lorem Ipsum - All the facts - Lipsum generator