So I'm back from an unnecessarily big lunch at Pedro's Cantina and Grill in Santa Clara. Pedro's is a local chain (just two or three locations, I think), better than most chain Mexican restaurants, in a big, ornately beautiful building so authentic it transports you out of the technology park setting and makes you feel just like you're eating at Epcot. During a convention of Intel engineers.
But that's not what I'm thinking about. I'm thinking about--more projects. Because, y'know, I don't quite have a half-dozen other projects I'm poorly attending to.
Heavens, why?, I ask myself. Suggestions that one thing I definitely need to do is better personal project management don't need to be made. I know. (I'm going to be attempting to kick together the February Claw & Quill by Sunday, and then figuring out what kind of schedule I can realistically manage. One of the other things to do is to start blocking out my personal time!) I've finished up one project, though (the book), and temporarily shelved one or two others (various stories), and what I'm thinking of connects into other existing projects. Really. Kind of.
Folks, this isn't multitasking. This is an advanced case of Nerd Attention Deficiency Disorder. I am unable to function at my desktop unless I've got at least five things going on at the same time. If your count came close, you're probably afflicted, as well. Most excellent.
-- from Rands In Repose
I read that last night and, of course, it reminded me of me. Right now I only have four windows open, but there are five hidden, and of the displayed windows one is a browser with seven tabs and another one (the one I'm typing into right now) is an XEmacs window with fourteen buffers (including eight files, a Python interactive shell and the LiveJournal client).
Of course, there's an unhappy corollary to NADD:
Being unable to concentrate on just one project at one time does not imply a corresponding ability to execute multiple projects at one time.
Those of you who've read earlier journal entries and managed to keep your eyes from glazing over during technical parts know that Claw & Quill runs a lightweight content management system called Textpattern which I've been quite enthused about. I still do like TXP, as its fans dub it; it has a brilliant template system and a good "writing-focused" administrative interface.
But, but, but. It has a glacial development speed; fans seem willing to excuse this (and get defensive when it's pointed out) because it's basically been a single-person project. This is true, but it's been a one-person project written by one person who is, as far as I know, working on it full time. There's a public SubVersion repository that's had exactly one update in almost four months. This is not confidence-building. Looking at the way some of the brilliant design has been less than brilliantly implemented doesn't help matters.
So of course, as I work on revamping another older website, I've considered trying to write my own back end, rather than moving it to Textpattern as I'd originally planned. Am I truly that silly? Honestly, I don't know. It's not as if TXP is going to suddenly stop working in any case, and it's quite likely that its next release will be out this month. If the developer actually follows through on his promise to open commit access the repository up to a few more people, that'll also seriously help.
The counter-argument is that the best way to get something that does exactly what you want is to do it yourself. There are limitations in TXP that will be hard to address without fundamental redesign, and some things that I'd like to be able to do with Claw & Quill that would be easier to do on another back end. Moving to an application framework like Zope might be going too far in the other direction (I've heard and read many good things about Zope, but "lightweight" has never been used to describe it). Writing something that's targeting just a couple of my own sites means I don't have to worry about generalizing for all cases. I could start with one of many existing template systems if I didn't want to reinvent the wheel; actually, depending on the language I wrote it in, I could use a lot of existing components to make life easier.
Naturally, I'm considering a language I don't already know and that isn't being used by my employer: Python. As much as I've grown to like PHP over the years, it's got a fair amount of clunk and cruft to it from being stretched far beyond its original design goals. After playing around more seriously with Perl recently, I can see some of its advantages, but--well, at risk of offending Perl advocates, it's just as full of clunk and cruft, but in Perl, that's considered a feature. Perl's arguably a better language than PHP, yes, but it's not something I'd want to start a (potentially) big project in.
So. I'm mostly just noodling around with learning Python and examining what systems are already out there, and trying to see if I can come up with a good answer for, "What could I bring to the table that other lightweight content management systems don't have?"
People interested in this sort of subject are, of course, welcome to offer suggestions and wish lists. Not that I'm likely to do much with them given that I haven't even fully committed to learning Python, much less starting a CMS, but, you know. :)