Ian Bicking: the old part of his blog

What I've Been Doing...

I haven't been blogging like I should lately. Not for a lack of possible content; but I've been focusing very much on Paste. If I'm not working at the day job, I'm working on Paste, or if neither of those then I'm trying to stay the hell away from the computer. Not always successfully. And I haven't been blogging here in part because it keeps crashing my server, for dumb reasons (but if I don't post then no one reads this, then the server is okay!)

Anyway, Paste is coming together well; we're using it on production applications at work. I just have to resolve all the distribution issues and it should be ready for a release. I continue to believe it has a lot of importance to Python web programming. In part because it solves a problem that isn't unique to Python; we all complain about the multitude of frameworks, but it's actually just the same in the Java and PHP worlds. And maybe it's a little mean to say so, but Ruby isn't enough of a world to have this problem (that is, as the number of Rails programmers quickly comes to overwhelm the number of Ruby programmers, it seems obvious that the multitude of web frameworks won't be a problem for Ruby anytime soon).

But, other people's greenfield work aside, Python's problem isn't unique, and I feel like Paste has real potential to solve this problem in a way that I don't think exists elsewhere. In PHP the control flow is so messed up, they are a long way from being able to bring things together. In Java the control flow allows for the same kinds of abstraction, but the language itself is resistent to decoupled code, and the workarounds are so heavy that the disincentives are considerable. In both cases, I think Python has the potential to support heterogeneous environments in a much more granular way.

At times I worry that Paste will turn into Yet Another Framework, but I think it has maintained non-frameworkness fairly well. Once a framework or application has WSGI support, integrating it into Paste is fairly trivial. And as Paste builds features -- slowly but surely -- these features are all in turn based on WSGI when at all appropriate, and any other frameworks can come along for the ride. Things like the profiler are completely framework-neutral.

Right now the only big barrier I see -- and I'll admit it's a very significant barrier -- is distribution and tracking changes. I haven't made many backward-incompatible changes over time (I just haven't felt a need), but there's no guarantees at this point. And Paste brings in all sorts of dependencies. I'm optimistic that Easy Install will help resolve this, but there's still work to be done. A lot of it is just a matter of figuring out how to use what's already there.

There hasn't been a lot of activity on the Paste list recently. I'm not sure what to make of that. It's summer, people tend to wander off during the summer. I also feel there's lots of lurkers, but still only a small number of people who are seriously interested, and even

those people are hedging their bets. But I'm not sure what to do about this, how to better bring people into the process and encourage a sense of investment.

Created 13 Jun '05

Comments:

One thing that would help, from my perspective, is a solid piece of documentation on how to integrate an already-existing framework into Paste. (If this documentation already exists, I apologize that I've missed it...) Seems like the application developers are pretty well-covered in documentation, but the framework developers don't have much to work on other than the Paste code itself.

# Adrian Holovaty

That's true -- documenting configuration, and how it relates to frameworks and other pluggable pieces, is another important task. But asking questions on the mailing list is also a good way to resolve some of these things; in some cases I don't actually have an opinion on how parts should work.

# Ian Bicking

I think the frantic pace of changes scared off a lot of the people who were using Paste. It certainly scared me off; Subway no longer runs on Paste. I just couldn't keep up with it when CP started having rapid changes, too.

# Peter Hunt

That's disappointing to hear. The changes were largely meant to solidify the interface that other people would be using, and to give other people the flexibility to fit their systems into Paste. I did those quickly because I was working hard to get Paste into a place where those interfaces were available and stable. Core aspects of Paste have also been very stable; the Webware API, which I keep in working order, and which is more intimately tied to Paste than most frameworks normally would be, has required very few updates, even as I work on other parts of the system.

# Ian Bicking

I've moved into the category of a lurker because my current projects work just fine on older code, and because when I do take the time to update myself on a particular technology or framework I prefer it to be solidified so that my new-found knowledge support me for the next six months or so. I think when Paste reaches a plateau in terms of implementation more of the sideliners will move in to hammer on smaller pieces.

# Eric Radman

Speaking for myself, I'm a little clueless as to how Paste affects me, a Quixote-centric developer of apps I doubt will ever run on anything other than a Apache-SCGI environment. The pace of Paste traffic on the Quixote list initially caught me off guard at a time when there was little time for absorbing something new, so I'll go back and catch up there and look at the Paste list and see if it doesn't make more sense the second time around.

# Mike Watkins

Im enthused about Paste but Im in a "sit and wait" stance right now. Particularly things like getting the command line interface to be consistent, as well as full documentation, would indicate that its approaching a "polished and stable" state.

Also, i think the whole concept of "download paste, and then effortlessly evaluate ten different frameworks" is what will really get people going with it. Until then there is still a disconnect between downloading Paste, downloading framework X, and then running them together, which detracts from its value. I guess thats the whole "distribution" issue you pointed out.

# mike bayer

I'm also very interested in all things going on right now with Python and web development and especially Paste. Me too, I'm only watching what happens right now. Being rather new to the application centric web development (aside from some experiences with Zope) what I somewhat miss is a "stable" environment. Not that any of the code is unstable but I've always the feeling that what I'm learning from the tutorial could be obsolete the next day. The svn-only access also contributes to this feeling :-) Don't understand me wrong, it's perfectly ok for everyone developing Paste but from a "user" side of view (web application developer that wants to concentrate on his application) this is a bit scary. I'll be lurking around some more and we'll see how it evolves....

# Beat