July 14th, 2015

Django Birthday: Recap

Happy 10th Birthday Django!

Whew, what a conference! The talks were great, the venue was comfortable, and the BBQ was amazing. But that was only part of it. Many of the talks focused on the Django community and you could feel it in the room. We laughed from our bellies and teared up each time someone mentioned Malcolm.

I had the honor of giving the closing address, which was really just a thinly veiled way ...

Read Full Entry

May 29th, 2015

Improved Django Tests

You write tests. Or at least you should be writing tests! A Jacob always says, "Code without tests is broken as designed".

Unfortunately you have to write a ton of boilerplate code to test even the simplest of things. This isn't true of just Django, but most languages and frameworks. There are lots of tools like Factory Boy and pytest that help, but we can do better.

If you're looking for how to ...

Read Full Entry

December 3rd, 2014

Loading Django FileField and ImageFields from the file system

I don’t know about you, but I run into a situation every so often where I need to programmatically push a file from the local file system or remotely via a URL into a Django model. Using a Python shell, a one off script, or a Django management command.

This should be easy, but with a typical web app you do it infrequently. Mostly I find we do it when we’re converting someone ...

Read Full Entry

November 21st, 2014

Recommended Django Project Layout

What’s the optimal layout for your Django applications, settings files, and various other associated directories?

When Django 1.4 was released it included an updated project layout which went a long way to improving the default Django project’s layout, but here are some tips for making it even better.

This is a question we get asked all of the time so I wanted to take a bit of time and write down exactly ...

Read Full Entry

October 21st, 2014

Ultimate Front End Development Setup

A quick howto guide on setting up modern front-end development tools to improve your day to day work flow.

You'll learn how to:

  • Setup gulp to orchestrate everything
  • Install gulp plugins to combine, minify and otherwise transform your files
  • Use bower a package manager for "web things". It helps you install, track and manage CSS frameworks, JS libraries and other tools
  • Add LiveReload so your browser window(s) auto-refresh when you make changes to anything ...

Read Full Entry

February 19th, 2014

Django Debugging Bookmarklet Trick

So this is one of those little things where you think, why the hell didn't I think of this years ago?

I'm sure many Django developers end up doing this on a fairly regular basis. You're working on a site, go to the production/staging version, navigate around and then want to view the same URL path but on your local development server.

If you're like me you cut-n-paste the current ...

Read Full Entry

October 20th, 2011

PEP712 - Proposal to make unittest2 more accurate

Title:Proposal to make unittest2 more accurate
Last-Modified:2011-10-20T14:40:01.661119 (Thu, 20 Oct 2011)
Authors:Frank Wiles <frank@revsys.com>, Jacob Kaplan-Moss <jacob@jacobian.org>, Jeff Triplett <jeff@revsys.com>


This PEP describes a proposal to make unittest2 output more accurate and fun.

The Proposed Solution

Upon having more than 7 failing tests in a test run replace all ...

Read Full Entry

April 7th, 2011

We're hiring!

UPDATE: I completely forgot to update this post until now, but we have filled this position.

We're looking for a full time developer. If you're reading this you probably know what we do, so you'll obviously need to know Django pretty well. Knowledge of PostgreSQL and devops skills are a big plus. We would prefer if you lived in Lawrence, Kansas, obviously, but a few visits here may be fine. Only because ...

Read Full Entry

December 31st, 2010

2010: A Year in Review

2010 was a great year for RevSys and for Jacob and I, both personally and professionally. Here are some of the highlights:

  • Jacob gave a ton of training classes around the US in cities such as NYC, Boston, Los Angles, and Atlanta. Between his training schedule and speaking engagements he managed to log close to 60,000 miles of travel hitting 31 cities in 4 countries this year. I'd list links to all of ...

Read Full Entry

November 2nd, 2010

Open "Office Hours"

We've been wanting to try this for awhile, but have been too busy to actually try it out until now. Jacob Kaplan-Moss and I will be holding open "office hours" this Friday November 5th between 1-3 PM CDT in IRC. Come join us in #revsys on freenode and pick our brains. Or just come to listen and learn.

The concept is pretty simple, Jacob and I (and likely many other knowledgeable Djangonauts) will be ...

Read Full Entry

August 26th, 2010

Centralized logging for fun and profit!

Setting up a centralized log server using syslog isn't as hard as many may believe. Whether it's logs from Apache, nginx, email services, or even from your own Python applications having a central log server gives you many benefits:

Benefits to a centralized logs

  • Reduces disk space usage and disk I/O on core servers that should be busy doing something else. This is especially true if you want to log all queries ...

Read Full Entry

July 6th, 2010

Investing in Yourself - A review of Django 1.1 Testing and Debugging by Karen M. Tracey

Packt Publishing recently asked me to read and review Django 1.1 Testing and Debugging and I have to admit I really enjoyed reading this book. Often I find myself debating whether or not to purchase a new development book. I'm usually thinking "If I spend $XX.XX on this book, will I really learn anything worth that much?". Especially considering most answers are a few Google searches away. I can happily attest this ...

Read Full Entry

December 29th, 2008

ResumeBucket.com Launches

I hope everyone had a great holiday this year.  For the past few months I've been working on an online resume site ResumeBucket.com and I need your help taking it for a test drive.  Our goal with this site is to create a site where you can upload your current resume in Word form, build a new resume using our online resume creation tool, or even just type in what you ...

Read Full Entry

August 20th, 2008

Fret Free -- Introduction to Django and the Django Software Foundation

LinuxPro Magazine just released my latest article, an introduction to Django and some discussion about the newly created Django Software Foundation. Being a life long Perl user, I didn't think I would enjoy Django at all. I have to admit that it is a VERY polished system.  It has great PostgreSQL support, in fact the core developers smartly prefer it over MySQL for their own systems.

You can download a PDF copy of ...

Read Full Entry

June 17th, 2008

Installing Apache2::Request on a 64-bit system

I usually shy away from using 64-bit systems unless there is a clear need for it.  But with more and more hosting companies installing 64-but Linux distrobutions by default I sometimes have to suffer through.

Today I ran into a very small bug in installing Apache2::Request modules via the CPAN shell.  This simply installs the default libapreq2 library with the Perl bindings for you. When attempting to start Apache I received this ...

Read Full Entry

June 17th, 2008

Django Software Foundation

The Django guys have scored another milestone today with the creation of the Django Software Foundation. Being a huge Open Source advocate I love hearing great news like this.  You can read more about the foundation at:

On an unrelated note, an article I wrote for LinuxPro Magazine last November about using Perlbal was recently put online.  You can read it at The Juggler ...

Read Full Entry

May 16th, 2008

Test Driven Development and Getting Things Done

I'm sure someone, somewhere, has already determined this.  It's probably been blogged about before, but I just realized something today.  Test driven development dovetails nicely with David Allen's time management book Getting Things Done.  By creating your tests first, with or without even marking them as TODO tests, builds you a TODO list of sorts for your project.

Other than just being a different way of doing things, I ...

Read Full Entry

March 11th, 2008

Want to be a better manager?

I've been reading a great book recently titled First, Break All the Rules: What the World's Greatest Managers Do Differently. I highly recommend it for anyone who manages employees, but it makes two great points early on that are especially appropriate for technology managers:

Treat your Employees Differently

You should treat your employees differently.  Each has unique strengths, weaknesses, and differ in the way they learn and you should capitalize on that ...

Read Full Entry

January 18th, 2008

Some interesting links

Hope all of my readers have recovered from the holiday season.  Here are a couple links I've come across recently, but neglected to write about during the holidays.

Zed Shaw, author of mongrel which is used by many Ruby on Rails applications, posted an interesting rant about the state of Rails development and the personalities of some of the major players. 

I've never been a huge fan of Rails because I ...

Read Full Entry

January 17th, 2008

Making the software written in any language more readable

There are two very simple ways to improve the readability and maintenance of the software you write. They are so simple they are often ignored in favor of more complicated tools and the various programming methodologies people blather on about.  This comes from our human nature to think our own problems are more special and complicated than they really are and from not following the KISS principle.

So how do you improve your software ...

Read Full Entry

August 30th, 2007

Technique for improving code over time

I was talking with a friend of mine recently about an all too common problem in software development.  That problem is finding the time and resources to revisit working, but not perfect code.  For whatever your definition of "perfect" may be.

The developers feel this particular bit of code is just plain nasty. Maybe it is written in a confusing manner, poorly documented, or the landscape has changed so much that the entire ...

Read Full Entry

August 8th, 2007

Followup to "A Guide to Hiring Programmers"

Please excuse my laziness, but I simply don't have time to respond to each and every person who has E-mailed or left comments on digg, reddit, or the original post itself.  I would like to respond to a few of the larger themes I've seen in the questions/responses:

This applies to more than just programming

I definitely agree that this can be applied to nearly any type of job, not just ...

Read Full Entry

August 5th, 2007

A Guide to Hiring Programmers: The High Cost of Low Quality

I was invited to a wonderful dinner party (I swear it wasn't too spicy Sarah!) with some St. Louis Perl peoples this week while I'm here on business.  At one point we were talking about hiring programmers, specifically Perl programmers.

We agreed on the following:

  • Finding good programmers is hard in any language.  And that a good programmer can be as effective as 5-10 average programmers.
  • Average pay rates between equivalent ...

Read Full Entry