Jacob Kaplan-Moss

Writing Archive


My questions for prospective employers (Director/VP roles) April 23rd, 2019

IQ isn’t enough to get hired April 3rd, 2019

Goals aren’t enough; you have to talk about performance, too April 1st, 2019


My interview kickoff script, annotated November 29th, 2018

Hire me to help you hire November 27th, 2018

A bit of smart security design from Tiller November 19th, 2018

2018 life update May 3rd, 2018

A reading list for new engineering managers May 2nd, 2018

The Moment April 2nd, 2018

My Python Development Environment, 2018 Edition February 21st, 2018


You have two jobs November 1st, 2017

Five stories about the California Wildfires you probably missed October 22nd, 2017

Don’t include social engineering in penetration tests June 27th, 2017


Getting started with pytest November 27th, 2016

Django Under the Hood 2016 Highlights November 22nd, 2016

So you want a new admin? May 26th, 2016

Ratchets & Levers May 19th, 2016

2016 DBIR Highlights April 27th, 2016

A reading list for InfoSec engineers April 20th, 2016

Psychological safety in the InfoSec industry April 18th, 2016


How do you run distributed standups? June 4th, 2015

Shanley and my PyCon talk June 1st, 2015


Uber and the Fourth Estate November 18th, 2014

Python Programmers Support the Ada Initiative September 23rd, 2014

Re: What Can Men Do? April 25th, 2014

The limits of "unlimited" vacation March 18th, 2014

Retiring as BDFLs January 13th, 2014


Bagels December 2nd, 2013

To my friends in the Node community November 30th, 2013

On TRUCEConf November 9th, 2013

Personal lessons from XOXO September 22nd, 2013

Join me in supporting the Ada Initiative August 27th, 2013

Getting features into Django May 23rd, 2013

I’ve joined Heroku May 13th, 2013


Auto-building Sphinx docs May 24th, 2012

The Django community in 2012 March 5th, 2012


DIY supplies October 31st, 2011

Why conferences need a code of conduct August 4th, 2011

P.J. Eby on PyPI July 5th, 2011

Is there a market for paid Django apps? June 28th, 2011

A REST wankery question May 25th, 2011

I refuse to tolerate assholes May 19th, 2011

Work for me! April 25th, 2011

Help desk software? March 4th, 2011


Configuration and architecture November 9th, 2010

CI is hard! November 8th, 2010

Office hours November 7th, 2010

Django classes: deployment, ecosystem November 4th, 2010

How to roast a chicken November 3rd, 2010

Django gotcha: concrete inheritance November 2nd, 2010

What’s your favorite Django app? November 1st, 2010

"Web Scale" October 28th, 2010

Peter Norvig on programming languages October 18th, 2010

man tar August 3rd, 2010

Mark Shuttleworth on Tribalism July 31st, 2010

GvR on commit privileges July 26th, 2010

What to do when PyPI goes down July 20th, 2010

Backwards compatibility June 9th, 2010

util June 8th, 2010

Dynamic form generation February 28th, 2010

Early registration for my Advanced Django class ends soon February 16th, 2010

To hell with web standards February 12th, 2010


Fixing PostgreSQL’s default encoding on Ubuntu 9.10 December 12th, 2009

You need an editor November 12th, 2009

Technical style November 11th, 2009

What to write November 10th, 2009

My travel kit November 9th, 2009

The Django community in 2009 November 6th, 2009

Thank you, Rails November 5th, 2009

On commit bits November 4th, 2009

Lessons from Rackspace’s downtime November 3rd, 2009

The power of "no" November 2nd, 2009

SEO scumbags October 29th, 2009

QFT October 20th, 2009

Job opportunity: engineer at Whiskey Media October 13th, 2009

* is Unix October 7th, 2009

Python is Unix October 6th, 2009

Django Master Class, October 16 September 18th, 2009

Contributor License Agreements September 17th, 2009

Snakes on the Web September 4th, 2009

Reminder: Django Training August 7th, 2009

Django Training July 20th, 2009

Twenty questions about the GPL July 13th, 2009

Django internals: authentication July 13th, 2009

Professionalism July 4th, 2009

SVN usability June 30th, 2009

Looking for a Django developer? June 10th, 2009

More buildout notes April 20th, 2009

Developing Django apps with zc.buildout April 15th, 2009

Nobody expects Python packaging! April 13th, 2009

Hooray for standards April 9th, 2009

Python implementation details March 26th, 2009

It’s time for a change March 4th, 2009

FAQ: Untrusted users and HTML February 24th, 2009

The taste of shame and humiliation February 2nd, 2009

Why I’m excited about Python 3 January 22nd, 2009

Descriptivists and Prescriptivists January 13th, 2009

What is django.contrib? January 8th, 2009


"Syntactic Sugar" November 22nd, 2008

Typography: Rhythm & Proportion November 21st, 2008

Minimalism November 18th, 2008

REST worst practices November 14th, 2008

PyCon Braindump March 19th, 2008

Help OSI March 18th, 2008

Sailing on… February 21st, 2008

A picture is worth a thousand words January 30th, 2008

Shameless self-promotion January 29th, 2008


Django Book Update November 13th, 2007

Of the Web October 19th, 2007

CouchDB first impressions October 18th, 2007

The sorry state of database journalism September 12th, 2007

My "personal security" plan August 31st, 2007

Seasoning Templates July 19th, 2007

Die, Marker Felt, Die! July 16th, 2007

Dear Adobe July 2nd, 2007

Some guesses about the future May 31st, 2007

Django projects May 22nd, 2007

Django Internships at the Journal-World May 2nd, 2007

Circles of Django (2007) March 22nd, 2007

You vs. the Real World March 12th, 2007

Jimbo’s Number March 6th, 2007

Ripped by Engadget March 5th, 2007

Five things I hate about Python March 4th, 2007

Overheard at PyCon February 23rd, 2007

I don’t care whose is bigger February 19th, 2007

Fried Chicken January 29th, 2007


How the news breaks November 8th, 2006

Wanted: kick-ass sysadmin September 18th, 2006

Pronouncement August 22nd, 2006

Post-OSCONum part 1: try not to suck July 28th, 2006

"Show-stoppers" July 20th, 2006

Digg dugg July 17th, 2006

Bad dog! July 10th, 2006

Improved text image view June 30th, 2006

Django OSCON shirts June 27th, 2006

Django propaganda May 3rd, 2006

A complete waste of time April 21st, 2006

Django meetup in Palo Alto April 12th, 2006

Merquery March 29th, 2006

Quiet Enjoyment March 23rd, 2006

Free server? Probably not March 22nd, 2006

Free servers? March 2nd, 2006

Django stuff at Pycon March 2nd, 2006

WWBD February 17th, 2006

Template + Cache = Crazy Delicious January 31st, 2006

Why you should use Django January 27th, 2006

Strike averted January 13th, 2006

Done January 4th, 2006


Dojo gets a manual December 23rd, 2005

Django, meet Dojo December 19th, 2005

Have more… December 14th, 2005

Django performance tips December 12th, 2005

Hiring, part II December 8th, 2005

We’re hiring! December 7th, 2005

Lightpd on Ubuntu December 5th, 2005

What can Django learn from Rails? December 5th, 2005

allofmp3.com RSS feed September 22nd, 2005

Private Dancer? September 9th, 2005

A note to web designers August 26th, 2005

A quick comparison August 22nd, 2005

Sera’s Pancakes August 21st, 2005

Django and Rails August 16th, 2005

Reboot August 15th, 2005