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

June 17th, 2015

Django Birthday Party

So as you may know, Django is turning 10 years old this summer and we’re throwing it a birthday party. It’s a one day tech conference and one day of sprints mere feet from where Adrian, Simon, Jacob, and Wilson toiled away on “the CMS”, as it was called then. That code became the first of a few amazing refreshes of Lawrence.com and the very first Django website.

We’ve got an ...

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

May 6th, 2015

Django Performance: 4 Simple Things

Optimizing for performance often comes with a bunch of headaches and hard problems, but it doesn’t always have to be that way.

Below are four simple things you can do to quickly and easily improve the performance of your sites. They’re so simple you should make them part of your standard setup.

Persistent database connections

New in Django 1.6 Django has built-in database connection persistence. Most everyone uses PostgreSQL for their production ...

Read Full Entry

April 29th, 2015

Wagtail 1.0 (beta) best Django CMS?

Now that the Wagtail CMS is gearing up for its 1.0 release, I wanted to take some time to introduce you to the all around best and most flexible Django CMS currently available. Wagtail has been around for a while, but doesn’t seem to get the attention I believe it deserves.

We’ve used Wagtail recently on a number of projects, and the overall experience has been great. It strikes the right balance ...

Read Full Entry

March 26th, 2015

RevSys Roundup - March 2015

Revolution Systems has been having a great time recently and wanted to highlight a few things that have been happening in our world.

TEDxLawrence 2015

We were happy to have partnered with TEDxLawrence to put on the first ever TEDx event in Lawrence. Frank helped organize and MC the event as a member of the steering committee. We also built the website using our new favorite Django based CMS Wagtail. The videos of the awesome ...

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

July 12th, 2014

Python Dev Tip: DRY your shell with PYTHONSTARTUP

Do you find yourself re-doing the same Python shell stuff?

I know I do. I'm constantly doing it and replaying some of my IPython history isn't cutting it for me anymore. IPython has profiles but they're not terribly easy to get working with Django and your typical manage.py shell command.

Site wide is easy, but what about per project?

You can load things and execute code for ALL your Python shells ...

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

May 1st, 2012

Three things you should never put in your database

As I've said in a few talks, the best way to improve your systems is by first not doing "dumb things". I don't mean you or your development staff is "dumb", it's easy to overlook the implications of these types of decisions and not realize how bad they are for maintainability let alone scaling. As a consultant I see this stuff all of the time and I have yet to ever see ...

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 22nd, 2011

longjmp() 2011 - Impromptu Party

Lawrence has been having a bunch of downtown block parties lately, which are always great fun. The last couple of days the Kansas Relays have been going on and the long jump event was setup directly outside our office windows. Since we had such a great view we quickly through together a little party and invited all of our geeky friends to come watch, we had a pretty good turn out (free beer works apparently ...

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

March 23rd, 2011

Django 1.3 is out - time to upgrade!

Nearly a year in the making, Django 1.3 is now shipping. It includes a ton of bugfixes along with a bunch of major new features:

  • Class-based views.
  • Better support of Python’s logging tools.
  • A new tool to help with handling static files.
  • Greatly improved testing utilities via the unittest2 library.
  • Configurable on-delete behavior.
  • And more!

To help people get a jump on upgrading, I'll be holding a webinar next week. We'll ...

Read Full Entry

February 7th, 2011

The big secret project I've been working on...

With the official press release out the door, I can finally start talking about the project that has been consuming most of my time for the last several months!

StoryMarket is an online system for making finding, buying, selling and sharing content a la carte easy. It's primarily focused towards journalists and the news industry, but we expect there to be a large contingent of bloggers and other new media content creators from all ...

Read Full Entry

January 31st, 2011

Giving Back to the Community

We're big fans of open source, so we like to give back to the community whenever we can. Having a strong community is actually personally and professionally selfish: a vibrant community not only helps ensure we keep getting to eat on a regular basis, but it also means there is more useful code available for us to use.

Neither Jacob nor myself would be in the position we're in if it wasn't ...

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 7th, 2010

Office hours transcript posted

We held our first open "office hours" this past Friday, November 5th. We've taken the IRC transcript, organized and cleaned it up a bit, and posted it online for those who couldn't make it.

We had about fifty people show in IRC where they asked questions on a wide variety of topics including deployment, NoSQL, cloud computing, and contributing to Django. It was a blast! A few of my favorite questions:

Read Full Entry

November 4th, 2010

Two new Django classes: deployment and the ecosystem

Want to buff up your Django chops? Learn some cool new tricks for the new year? You should come to one of my new Django classes next month! I'll be teaching two new one-day classes, both of which evolved from common questions we get here at Revsys. Each class is going to be offered twice, once in LA and once in Boston.

For the impatient here are some links and quick info:

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

February 16th, 2010

Early registration for our Advanced Django class ends soon

Early registration ends Friday for the March Advanced Django Class I'm teaching, so if you're planning on coming, you should sign up soon!

I'm really excited about this class: we'll get to dive really deep into the good parts of Django. We'll cover all sorts of advanced usage of Django's APIs, spend a bunch of time playing with all the cool stuff out there in the Django ecosystem, and ...

Read Full Entry

January 18th, 2010

Django Training in 2010

The new year's shaping up to be a great one for Django: Django 1.2 is on track to ship this March, and there's no doubt in my mind that it'll be the best release ever.

Because of this, we expect to see a lot of new people wanting to learn Django next year, so we're stepping up our training offerings in the new year.

This Friday, I'll be holding ...

Read Full Entry

September 17th, 2009

Django 1.0 Template Development Review

Django 1.0 Template Development by Scott Newman actually surprised me in it's depth of covering the topic.

I assumed it would be written with the absolute Django Template beginner in mind. While it is definitely an appropriate book for beginners, it also covers more advanced topics such as:

  • Writing custom template tags and filters, Chapter 7
  • Covers pagination quite well in Chapter 8
  • Customizing the Django admin's look and feel in Chapter ...

Read Full Entry

July 16th, 2009

Django Training

I'm pleased to announce that this September, Revolution Systems will be offering a four-day Django training course here in Kansas City, taught by Jacob Kaplan-Moss. Jacob has taught a number of similar courses privately in the past, but this is the first time we're opening this up to the public.

If you've been wanting to really learn Django, this is a great chance. The class is intended for relative beginners to Django ...

Read Full Entry

March 30th, 2009

Some quick updates

It's been a busy and exciting week for us.  Jacob has been at PyCon in Chicago where he is participating in a number of panel discussions and giving quite a few talks as well.   Right now I imagine he's neck deep in code in the Django sprint helping to finish up the upcoming 1.1 release. If you're running a production site built with Django you should absolutely check out ...

Read Full Entry

March 5th, 2009

Welcome Jacob Kaplan-Moss

I'm very pleased to announce that Jacob Kaplan-Moss has joined Revolution Systems to head up a new line of services around the ever growing Django web development framework. First up are commercial Django Support Plans, but look for more Django related offerings in the near future.

Jacob has been a good friend of mine since before Django was even released.  It was a pleasure to work with him at our previous day jobs and ...

Read Full Entry

February 3rd, 2009

ORD Camp a Huge Success

I was luck enough to be invited to attend ORD Camp this last weekend in blisteringly cold Chicago.  ORD Camp is an invite only, FooCamp style unconference targeted at geeks living in the Midwest. Having never attended a FooCamp style event I wasn't sure what to expect.  I can now say if you ever have the opportunity to attend an event like this it is well worth your time.

As you can see ...

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

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