very actual information about skulls

WWDC2007 is in just 5 days. I’m very much looking forward to seeing people’s reactions to Leopard Server since last year. It’s been really fun to work on, and not just because my stuff is almost all Python + Twisted. I’ve just had to work on some really interesting problems. It’s also very nice to take a break from doing a lot of framework work and never getting to really use the framework. Now I am, now I thinking I’m understanding much better what it’s actual problems are, and why some of our design decisions have been good and some have been bad. (Mostly mine have been bad I think.) I really look forward to correcting some of those mistakes in the near future once we’ve shipped. I’m also looking forward to seeing what comes of the Twisted.web2 summer of code project. James and Valentino are both very smart people and I’m sure some amazing things will get done.On a web2 related note. I’ve never been very happy with static.File. For a variety of reasons that I haven’t really documented anywhere. So here is a short list.

  • It’s poorly factored, it contains code to handle both files and directories, and it is difficult to seperate the code that does the directory listings from the files. (Even though it’s in defined on another class, it’s still weird and difficult to substitute.)
  • It doesn’t take advantage of one of web2’s most useful features over twisted.web, the ability to consume an arbitrary number of path segments during resource traversal. In theory you could join all the segments passed to locateChild and try to treat it as a file, falling back to child_ methods or children that were added with putChild if the file didn’t exist, and if that failed returning a 404. (a non-existent static.Directory class could do this, since static.File instances shouldn’t have children.)
  • There were also some things that bothered me about overriding mimetypes
  • I’m also not fond of it’s ignoredExts or processors __init__ arguments. They’re useful for executing such as CGI scripts but I don’t really think you should mix scripts you want executed with files you want served statically. Perhaps that is just an asthetic issue. We also have a CGIDirectory which acts as a general purpose cgi-bin resource.

And now, just like I promised, som every actual information about skulls. “In humans, the adult skull is normally made up of 29 bones.”P.S. If you’re confused about the title of this post, it came from a spam comment that got caught in moderation (and made it past akismet,) it amused me greatly and I at the time of this writing nothing came up on google for it.

Technorati Tags: , ,

Tags: , ,

Leave a Reply