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.

Movin' on up

My last post was about a server migration at work; this one's about moving my own stuff, an operation completed late last night. It was easier in that it's less critical (nobody's likely to freak out if my blog disappears for a day) but harder in that it also involved mail. I hate dealing with mail; though I did manage the switch without losing any, as far as I know. My thanks to the JohnCompanies.com staff for helping this go smoothly.

Upgrades include:

I'm also using portsnap instead of CVSup for keeping the ports tree up to date -- much cleaner.

It feels all shiny and new. A server move is a good time to do upgrades -- though not massive ones, because you don't want to be troubleshooting two things at once if things go wrong. In addition to the software freshening I did a lot of de-crufting and tidying, now that I kind of know what I'm doing. (I still remember when I started seriously being my own FreeBSD server admin, about three years ago. The filesystem was a strange sprawling city and me a doe-eyed kid fresh off the bus. /usr/local/etc/what?)

The only upgrade that was any kind of pain was MySQL. I copied over the actual database files and in a couple cases I had to revert to SQL dumps to work around some odd problems. (One example: I'm sure it was my fault, but in my case the mysql_fix_privilege_tables command was more like mysql_fuck_privilege_tables.)

I was pretty selective about what I brought over from the old server. Most of the web files I pulled over in a single big rsync fetch, but other pieces I grabbed only as needed. A one-liner like this (which I called get.sh) was handy for that:

rsync --archive -vv --rsh=ssh ME@OLDHOST:$1 /var/oldserverstuff

E.g. get.sh /usr/local/etc/postfix/main.cf would fetch a copy of the older server's main.cf to the holding pen, whence I'd move the file or extract the bits I needed. Works on whole directories, too, which is key. I'm digging rsync lately. I used it to pull down a local backup of the web files, using the new-to-me --bwlimit option to avoid hogging my house's entire broadband connection.

More specific updates to come. And let me know if you find anything I messed up!

Saturday, July 15th, 2006
+ +

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