Inspired by Justin Lilly, I spent some time looking at various ways of running python web applications with an eye to performance. Nicholas Piël has done some great work testing and documenting many of them. Gevent looks like a great option as does CherryPy, but uWSGI caught my eye because it provides an nginx module and I’m already running lots of nginx. Since its fairly new, my stock nginx from the Ubuntu Karmic repository doesn’t come with uWSGI, but compiling it in is trivial.

So I’ve added uwsgi and nginx + uwsgi to my launchpad ppa for anyone out there who’d like to give it a spin on Karmic. My initial impressions are very positive. If you want to try it out, you can add my ppa to your apt sources and simply run:

sudo apt-get install nginx uwsgi

Continue reading »

the original database This blog entry is directed mainly at the body of web developers who have very little formal training but are trying to improve their own skill sets. As I’ve matured in my understanding of object-oriented software design, I’ve come to grips with certain realities. Often, I’ve found myself doing something that feels ‘dirty’ or ‘hackish’. That’s usually because I’m “doing it wrong” as smarter people say to me when I show them my code or describe my problem. When that happens I have two courses of action, but the only one that provides growth and self-improvement is to heed the advice of my mentors (usually a chorus of developers on IRC saying, “you’re doing it wrong!”).

Continue reading »

Apple Expo '07 In the early days of the web (the early ’90s), when the first HTML specification was being adopted, CSS did not exist. Web developers and webmasters (do those even exist anymore?) were responsible for delivering their content, design and layout in one package. It worked great and everything was right with the world. That is, until things became more complex. The roaring ’90s of the Internet brought new revisions to the HTML specification and new innovations to web browsers which allowed for increasingly complicated design elements and content delivery methods. The ever-increasing complexity made it more difficult to maintain consistent design across large web sites. That’s when big stupid web design suites became popular. Software like Microsoft FrontPage and Macromedia Dreamweaver became almost a necessity just to maintain page templates and edit pages in a wysiwyg format.

Continue reading »