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.

Book

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!

Colophon

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.

Elsewhere

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 236562 pieces of comment spam killed since 2008, mostly via Akismet.

A little something I've been working on

The latest This Week in Django podcast, out today, has an interview with me. I really enjoyed talking with Michael and Brian, and hope I didn't come off sounding too dorky (or long-winded -- I haven't yet listened to the show, but based on the timestamps in the show notes I could probably use an edit!). I think they do a very good job with the show, and in fact I think that the structure Michael came up with -- Tracking Trunk, Branching & Merging, Community Catchup, Tip of the Week -- is one that other open source projects would do well to emulate in their news missives.

The big news that I shared in the interview, from my perspective at least, is that for several months I've been working on a book about Django. Yes, really! A real book, to be published by Prentice Hall. That's the major explanation for the blogging drought of recent months. Writing a book is hard work, and there's only so much time in the day.

Luckily I'm not doing it alone. I have two excellent co-authors: Jeff Forcier, aka bitprophet_ for those of you who frequent the #django IRC channel; and Wesley Chun, author of Core Python Programming. I've seen enough people write books alone that when the opportunity came up to join Jeff and Wesley on the project, I jumped at it.

We're not sure yet what the title will be or exactly when it will be out -- but the manuscript is nearly complete. Now that the cat is out of the bag, I'll be sure to post updates as things proceed, though there may be some quiet periods.

The book brings a lot of things together for me: my love of writing (which I did professionally for a while in the '90s), my enthusiasm for Django (which this project has only fueled further), and my interest in good teaching (which is a big part of my day job, as well as having been part of my professional life since forever).

While the recently released Definitive Guide to Django is of course very good, there's room for other books on the shelf. Django has always had very good documentation, which made writing the book an interesting challenge. It has to explain the basics -- but it also needs to answer questions that the documentation doesn't, and needs to go into dark corners the documentation won't. I believe that we've accomplished both of those goals.

If there's something that you think a Django book just shouldn't be without, now's your opportunity to speak up!

Monday, January 14th, 2008
+ + + + + +
15 comments

Comment from zero , later that day

Congrats on your book deal! I agree that there's always room for more Django! Jello, too :)

The first book that explains Django's built-in comment system in detail will sell well. It's the one point where there's a big hole in the documentation. I've trudged my way through it, but some professional guidance is always nice. Hope your book covers it!

Comment from Paul , later that day

Hi zero, thanks very much. The comment system is a tough one, because it's based on oldforms and is likely to be quite different by the time it's rewritten -- and we don't know whether that will happen in time for our final deadline.

Comment from Andreas , later that day

Great news! While adrian and jacobs book is well suited for beginners Id really like to see a django book for the intermediate developer. How to build custom newforms widget to use with ajax validation and stuff like that. Besides, much of their djangobook was already deprecated when it came out, everything about the admin because newsformsadmin will be here soon etc.

Comment from yml , later that day

The things that I am still missing is a chapter talking about newforms: - custom widget - dynamic forms - multi page forms - multi objects form (with dynamically built list of object) I guess you get it :-) If you put that in you will get me as a reader.

Comment from elleb , later that day

I agree with yml: i'd like to see a book that wanders in the dark corners of newforms. Some very common patterns that come to mind (cross-field validation) and dynamic forms.

If you have to pick a js framework for your examples of dynamic forms please use jquery ;)

Comment from Empty , later that day

Congratulations. I feel honored to have been a part of your big announcement. I'm very excited about the book, and I'm sure that whatever content ends up in the final version, it will certainly be an enjoyable read.

Comment from ray , later that day

Move beyond the basics. "The definitive book" is excellent overview and introduction,but dig deeper. Newforms (as others have said). customizing Admin. Examples of many different data relations and how to design the data module. Writing filters.

Comment from pfctdayelise , later that day

Sounds good, but is your book going to be free?

Comment from pk11 , later that day

there are some topics missing from the official book: - testing, testing, testing - ajax with django - writing custom filters - newforms and newforms.Admin

Comment from Curious , later that day

How much focus is on svn features vs. 0.96 -- anything on ModelForms? How much focus on testing?

Comment from Paul , later that day

Wow, thanks for all the comments. @Curious: in general we're focusing on svn trunk, so ModelForms is in there; testing too, though I can't really quantify "how much" at this point. @pfctdayelise: No, sorry. Maybe next book. @elleb: jQuery is my favorite too, so that 's a good bet.

Comment from Dave Smith , later that day

Excellent news. There's certainly room for another book.

A chapter on test-driven Django would find a welcoming audience. The examples out there are pretty spotty.

Comment from Gianni , later that day

Congrats! I own Wesley Chun's Core Python Programming also published by Prentice Hall. It's a great book but the type size is excessive. As a consequence the book is too big and heavy and has a low rate of info per page. I hope the Django book will have a better typography.

Moreover you should sell to PH only the rights for the printed edition. You can easily sell the PDF edition directly from your site and offer the full online text for free.

Comment from Fredrik Sundqvist , later that day

Like said before, I hope you will dig deeper when it comes to real world Django projects. Definitive Guide to Django is good, but most of it is basic stuff which sometimes is useless when it comes to more difficulty projects.

I am a big fan of Internationalization cause I am from Sweden. How should I do when I need to store translations about something in the database, like a game/music/movie genre?

Comment from Badi Jones , 1 day later

Congratulations Paul. I knew you were into Django, but had no clue that it was at this level. I've never tried web development with Python, but this will be a great excuse to give it a shot.

At the very least, I'll be able to pull the book off of my shelf and say "Yeah... I've met that guy." :)

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