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, Debian Linux, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, macOS, Markdown, Mercurial, Python, S3, SQLite, Sublime Text, xmonad

Spam Report

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

Watching logs

I have a webserver with about a dozen active domains. Sometimes I want to take a quick look at the ongoing action on a particular domain. I have an alias called "watchlog" that takes the domain name as an argument. It shows me the last 25 lines of the log for that domain and then new ones as they come, until I kill it.

It's a tcsh alias (sorry, bash users):

alias watchlog tail -f -n 25 /usr/local/www/domains/\!:1/logs/access_log

(Obviously this depends on a setup where domain folders are named after the domains themselves, with logfiles in consistent relative locations with standard names.)

Saturday, July 2nd, 2005

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