argv0.net 5.3.2005

2005-03-05

Unfinished Business I: Quick and Dirty Remote Objects

This is the first in a series of posts I'll be writing as I go through my various stalled or aborted projects and decide their fate. I'm doing this for a couple reasons. One, to get rid of the mental baggage that goes along with such unfinished business. Two, committing some of this stuff to writing may help me sort out my thoughts, and soliciting the input of others can't hurt either. I'll describe the projects briefly, explain why I consider it unfinished, and consider whether to finish up or put it in the attic. I'm (finally) setting up a permanent SVN repository this weekend so I'll have a place to put this stuff.

The first thing I looked at is a dead-simple remote objects library using XML-RPC over netstrings. Remote connections are persistent, so it's a little faster than XML-RPC over HTTP. It's very small and lightweight and I've used it successfully for prototyping distributed systems. It also includes a netstrings parser written in Pyrex, which should be useful with or without the rest of the library.

Why It's Unfinished

The code needs a good refactoring - the project was initially a quick hack that was too useful for its own good. The library makes a naive attempt to propogate exceptions across the wire, but it doesn't work well enough to be useful. Also documentation is nonexistent, it needs to be distutil-ed, and some unit tests would be nice.

This one I think I'll actually finish up, mainly because it's relatively small in scope and close to being done already. I know the netstrings library will be useful to some people, too.

(Another advantage of releasing these things is that I can use them at work without handing over all the rights to my company. My non-compete agreement has all sorts of outrageous restrictions in it, many of which probably aren't legal, but I'm still careful about partitioning my time and not muddying the waters. (Hence waiting for the weekend to do this.).)

posted at 14:37:36    #    comment []    trackback []
March
MoTuWeThFrSaSu
  1 2 3 4 5 6
7 8 910111213
14151617181920
21222324252627
28293031   
Feb Apr

a python programming journal by Andrew R. Gross

XML-Image Letterimage

© 2005, Andrew R. Gross