Archives / Search ›

.eps.eps.eps.eps

After all that template work, I don’t have any time to write a real blog entry. I’ve accumulated quite a number of “this is dumb” screen shots over the past few months. I’ll try to post one a day for a while. Here’s one:

PyDS has nothing like Radio’s MyPictures tool, which means I’m back to the old method. I should write a quick script using PIL to generate an IMG tag and upload an image for me.

Messing with templates

I’m going for a much more minimalist look with this weblog compared with my last one, hopefully CSS-only. So far there’s a lot of gray and blue. Some of the template changes aren’t taking effect so I’m posting this as a test, hopefully there’s something I forgot to rerender.

*sigh* This doesn’t seem to post properly…

Ahh, I see, if the template is broken, PyDS doesn’t say anything, it simply doesn’t render. Also, much like Radio, you start a render and just wait an indeterminate amount of time before you have any idea what happened. I wish it were possible to just say “rerender THIS page” because it’s the one I’m staring at as I’m going through 8000 design iterations. Or to have the /preview/ URLs simply do no cached rendering at all, would be much better. (That’s what Radio does.)

More on PyDS threading

Georg Bauer posted some clarification of PyDS’s use of asynchrony and threading.

I wish I could find a picture of me in the first grade programming our Apple IIe, on the top floor of our condo in Durham. Better yet, I’d like to see some of the Applesoft programs I wrote back then.

Looking for old pictures of my work environment, the earliest I could find was this one:

It shows a portion of my cube at Invantage’s third office space, at 149 Sidney St., Cambridge, MA, in late 1997. That’s my old PowerBook 540 (soon to be replaced by a Wall Street) and new Newton 2100 ($1000… sigh.) The Newton woke me up this morning.

Migrating from Medusa/asyncore to Twisted

Bob Ippolito raises some architectural questions about PyDS, and suggests it move to Twisted to prevent reinventing the wheel and improve its architecture. He also suggests bsddb instead of Metakit, but I’m hardly unbiased on that one given the work I’ve done with Metakit and the BDB-using Subversion in the last year.

This discussion brings me back to a couple of projects I’ve been working on recently, one of which uses Medusa, and the other asyncore.

Sakana, Wiki-like server software originally written for Danger’s developer site, is built with Medusa. I set it up at ACM earlier this year, and have been really happy with how well it’s taken off. It’s generally well-written, but really needs revision control and a plugin architecture. MoinMoin is the definitive Python Wiki, with loads of features and extensibility, but I really don’t like the way it does many things, most obviously the use of WikiWords and complicated markup syntax.

cognetd is the back end for a multiprotocol chat-style client. Consider its relationship with the cognet client a bit like sirc’s relationship with ssfe. The cognet client presents a multiwindowed interface but knows nothing about IRC, Telnet, Finger or any of the other supported protocols. cognetd uses asyncore/asynchat for almost all networking, and doesn’t rely on any other code to implement the various protocols it handles.

Twisted is very large, consisting of a lot of smaller projects bound together by some common architecture. I’m likely to like some of them and not others. The most I’ve done with Twisted was a hundred-line Telnet to X-10 gateway, which worked beautifully, but I’m still hesitant before considering migrating thousands of lines of other people’s code. Unlike with PyDS, there are no significant performance or architectural problems with either Sakana or cognetd, which makes it a harder sell to move the code. Sakana could use a real templating mechanism, and adding protocols to cognetd means implementing them on top of asyncore.

I plan to use Twisted for a more sophisticated project, as the Web front end to a document management system I’m working on. After completing it, I’ll have a better grasp of Twisted fundamentals and will might see if I can migrate cognetd gradually. More on that later: I’ve got a midterm to study for.

(By the way: if anyone stumbles onto this weblog, I’m not sure if this arrangement will be permanent yet, but it will continue until I have time to set anything else up.)

Starting over

My life’s been pretty traumatic recently. Here’s to fixing what’s broken.

This was posted with PyDS, which thanks to Bob Ippolito’s great work, was trivial to install on Mac OS X.

‹ Newer Posts