Free Software
Most of the open source software I currently work on is in the Twisted server framework.
Main software projects:
- Fusion v0.2.1, a C++ integration layer for Twisted using Boost.Python.
- Coil v0.2.2, a configuration library for Python programs (updated Dec 10, 2007).
- Slides, an HTML presentation slides generator, where you write a Python program to generate the slides.
- TwistedJava, an implementation of the Perspective Broker remote object protocol, implemented in Java.
Unmaintained
- Bannerfish, a banner ad server for small sites.
- Cog, a simplistic object database for Python (I'll fix bugs if reported).
- EIO, a high-level Java networking framework wrapping
java.niois not really maintained anymore. - Teud, a Python documentation generator.
Small Hacks
All files are under the MIT license unless otherwise noted.
finddialog-1.0.tar.gz - open a Find dialog in an embedded ActiveX WebBrowser object. Useful as an example of interacting with PyIDispach objects from C++ Python extensions.
Chopshop - split up shoutcast stream into single MP3s.
striphtml.py - strip all HTML tags from a string.
win32taskbar.py - shows how to add an icon to the Windows taskbar using win32all.
hotshot_profile.py - command line interface to Python 2.2's new HotShot profiler.
adsiAuth.py - authenticate and get roles for users in a Windows 2000 Active directory. Useful for Zope sites.
zipfile.py - updated version of Python's zipfile allowing you to read files without having to load them into memory (which can be an issue for 10MB files :). The version include in Twisted is probably better though.
threaded_profile.py - an extension of the standard Python profiler, supporting profiling of threaded programs. Kinda sorta, the results are probably suspect.
win32inet-0_1.zip - Python module for Windows, lets you check if the computer is connected to the Internet.
pystartup.py - add auto-complete and a command history that is stored between sessions to your python interpreter.
advogato.py - fetch an Advogato member's diary entries and parse them into a dictionary in the form { date : entry }.
mediator.py - All around the web are sites that let you browse via filters - Anonymizer, John Malkowitch Inc., Babelfish - what Ka-Ping calls mediators. The problem is that if you type in an URL in your browser, it won't work with them automatically, and some, e.g. Akamai (which can be used for anonymizing browsing) don't rewrite URLs for you. So I took an HTTP proxy, and had it send all requests via a mediator of your choice, which means even if it doesn't rewrite URLs all your request will still use it. This code is released under the GPL, and is based off Neil Schemenauer's HTTP proxy munchy.