E-Scribe : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. Started my career doing graphic design for newspapers and magazines in the '90s. Then wrote tech commentary and reviews for Wired, Salon, Chicago Tribune, and others you never heard of. Then I built operations software at a photography school. Then I helped big media serve 40 million pages a day. Then I worked on a translation services API doing millions of dollars of business. Now I'm building the core platform of a global startup accelerator. Feel free to email me.


I co-wrote "Python Web Development with Django". It was the first book to cover the long-awaited Django 1.0. Published by Addison-Wesley and still in print!


Built using Django, served with gunicorn and nginx. The database is SQLite. Hosted on a FreeBSD VPS at Johncompanies.com. Comment-spam protection by Akismet.

Pile o'Tags

Stuff I Use

bitbucket, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Python, Review Board, S3, SQLite, Sublime Text, Ubuntu Linux

Spam Report

At least 236196 pieces of comment spam killed since 2008, mostly via Akismet.

Baby steps with Ajax

I've tiptoed into the Web 2.0 world by adding a couple small Ajax features to the blog.

First, there's now a "More" link at the top of my Random Bookmarks sidebar which fetches another seven random links from the server and plugs them into the page without reloading.

Second, I added a gratuitous animated roll-unroll toggle to the comment form, and made it closed by default. OK, that's not Ajax, that's just fluff.

I used the moo.fx and moo.ajax libraries to achieve these wondrous results.

I can see the user interface dilemmas multiplying before my eyes. As an experiment I've labeled the Ajaxy controls with a black diamond (◆). Snowsport connotations intentional --fast and fun but a little more dangerous.

I can also see how this would drive one to structure web apps as loosely coupled sets of web services which can be called either by a page rendering script on the server (assembling the various components for initial load) or by an Ajax call from the client (discretely updating individual components).

Very cool. Lots to think about.

Monday, February 27th, 2006
+ + +

Comment from suzanne , later that day

so lovely! i'm very much liking the gracefulness and sense of dynamic that AJAX is adding to pages. very subtle and yet effective.

Comment from miguev , 6 weeks later

Nice feature, but it makes Firefox to put CPU at 100% for at least 3 seconds. Expensive, isn't it?

Comment from Paul , 6 weeks later

Hm. What Firefox version and platform? It certainly doesn't do that for me (FF 1.5, OS X).

Comment from miguev , 6 weeks later

Mozilla/5.0 (X11; U; Linux i686; es-ES; rv: Gecko/20060324 Ubuntu/dapper Firefox/

BTW, aKregator (embedded Konqueror) takes high CPU for a moment, but mush less than Firefox. I'll use aKregator in the future :-)

Comments are closed for this post. But I welcome questions/comments via email or Twitter.