Shilad's Projects

Here are some projects that I head up, am involved in, or just have some interest in.

Jazz Improviser

The goal of this project is to create a computer system for jazz improvisation.  You can find the project in it's current state here.

This project began while I was at northwestern as an independent study under Prof. Welland.  It is a fun way to fuse my interests in music and computer science.

As far as I can tell, there are no other projects out there like this one.  Please explore it and let me know what you think!

Py-xmlrpc

Py-xmlrpc is a client and server implementation of the xml-rpc specification written in Python.  The xml-rpc protocol is a remote procedure call mechanism that uses XML to serialize requests and uses HTTP as a transport layer.  It's really simple and as a result it's supported by about every language immaginable.  The main project homepage is hosted at http://www.sourceforge.net/projects/py-xmlrpc.

I originally began py-xmlrpc because the available libraries were too slow for applications we were building at my work.  Py-xmlrpc's claim to fame is that it's up to an order of magnitude faster than other Python xmlrpc libraries.  Most of the internals are written in C and it uses a hand-rolled parser.  While it's not for everyone, it serves a particular niche and I had fun working on it.

I've been quite happy (and surprised) about how the library has been adopted.   Sourceforge claims over 5000 downloads and it ships with two of the major Linux distros (debian and gentoo).

You can find the latest files and news about the library at http://sourceforge.net/projects/py-xmlrpc.  More information on the xml-rpc spec can be found at http://www.xmlrpc.com.

Ehs

The Ehs library (which stands for Event Handling System) is a improvement on the py-xmlrpc package.  It separates out the C layer found in py-xmlrpc into a standalone api and abstracts out many of the concepts that are hard coded in py-xmlrpc.

It's quite stable right now.  We use it at sourcelight internally on production systems. All that really needs to be done is to complete the windows port and check that chunked encoding works. 

I haven't released any files yet, so right now the only way you can see it as in cvs at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/py-xmlrpc/.  Instructions for cvs access can be found at http://sourceforge.net/cvs/?group_id=23992.

Mozilla

We all know what mozilla is.  I generally run linux on my desktop, so mozilla has made my life significantly better. 

I do a lot of things at work with mozilla, so I've done a fair amount with it.  I've written several plugins and submitted a few patches for it - all work related. 

[ home | pictures | school | projects | career | music | ]