[Updated:] If you give a pig a Python …

As part of the Knight News Challenge grant for OpenBlock Rural, I’d like to build capacity of North Carolina journalism students to contribute to the application’s code. It’s not the main point of the project, but it’s an element that will help the longterm sustainability of the community — both the OpenBlock community and the rural communities we hope to serve.
But building that capacity from scratch is no short task. As I’ve begun to map out a class or workshop on it, I was reminded of a book that I read to my kids.


  • If you’d like to learn how to use OpenBlock, you need to know Django …
  • If you want to work with Django, you’re going to need to understand how to edit files with nano or some other text editor, and you’ll need to know PostgreSQL, and you’ll need to know some Python
  • If you want to use Python in any meaningful way, you’re going to need to install some Python packages, or modules
  • If you want to install Python packages, you have to know how Python works on your computer’s operating system (Mac, Windows, and Unix)  …
  • If you want to know how Python works on your system, you have to be comfortable using the command line of Windows or Unix. You need to be able to list directory contents, change directories, read and change file permissions, manage Linux users, download and decompress files using gunzip and tar commands.
  • … and you’ll need to know HTML and CSS

The paradox of teaching these things to students is that as the user interfaces of Web applications and computers get easier, and their use becomes more ubiquitous the proportion of students with the hacker ethic they need to approach projects like this is reduced. That’s not a dig on students. The better something works out of the box the less the need to tear them apart, fix them, improve them. It’s like me and my car. Wheels turn. Radio works. Doors open. I couldn’t care less how the gears actually shift or how the “snow” traction works.

But I hope we’re not just training college students to be users of technology. College journalism students need an entrepreneurial mindset. It’s not just about teaching the technology. It’s about cultivating an entrepreneurial spirit, a way of skeptical knowing, and a hacker ethic.