What ho!

I'm David Winterbottom, a minimalist software engineer living in London.

I'm an Engineer at JustYoyo, a mobile payments and loyalty start-up. Previously, I was Technical Director of Tangent Snowball, a digital agency.

I spend most of my free time hacking. I run commandlinefu.com and am the author of the e-commerce framework django-oscar amongst other things.

I used to be a mathematician; I have a PhD in Mathematics from the University of Nottingham and an associated interest in cryptic crosswords, chess and bad puns.

More about me »


Saturday, 4 April 2015
Thursday, 19 March 2015
Backing up Postgres database rows before deleting them

Quick tip on avoiding accidental data loss

Saturday, 31 January 2015
Avoiding clashing Django migrations

A simple Travis test to avoid frustration

Friday, 24 October 2014
Bootstrapped virtualenvs

Using postmkvirtualenv to prime postactivate

Wednesday, 22 October 2014
Integrating Django application metrics into Zabbix

A simple how-to for feeding Django metrics into Zabbix

All writing »


3 weeks, 2 days ago
IDEA (bad): the phpmyadmin of things
3 weeks, 2 days ago
RT @SoVeryBritish: "That's certainly an option" - Translation: Let's not do that
3 weeks, 3 days ago
RT @craiguito: RIP the dinosaurs. Can't believe it's 65 million years already.
Always in my thoughts
3 weeks, 4 days ago
2015 has seen a marked increase in the number of people referring to me as "brother"
3 weeks, 4 days ago
We're looking for a full-time devops person at @yoyowallet - interested?
3 weeks, 5 days ago
Anyone have a link on how to create one of these clever scrolling start-up websites where the background fills the window?
3 weeks, 6 days ago
RT @yoyowallet: Team @yoyowallet is #hiring a contract front end developer with a strong UX portfolio. Please apply at jason@yoyowallet.com…
3 weeks, 6 days ago
ich bin ein awk lord
1 month ago
UKIP SUPPORTERS - remove any trace of anything French from your laptop using the little-known command:
$ rm -fr /
1 month ago
testmon (a new @pytestdotorg plugin) looks interesting: https://t.co/ha2ir9AzFo
1 month ago
RT @wrengr: Probability Theory 101:
(1) all your intuitions are wrong
(2) no seriously
(3) entire fields of psychology are devoted to how w…
1 month ago
RT @bijan: My 13year old daughters home screen. OMG. http://t.co/We8Z0JvF8j
1 month ago
RT @SoVeryBritish: Being unable to leave the office without first staring at everything on your desk and saying "right"
@codeinthehole »


3 weeks, 6 days ago
codeinthehole opened pull request vimeo/vimeo.py#56
Add installation instructions to README
1 commit with 6 additions and 0 deletions
3 weeks, 6 days ago
  • @codeinthehole 7d442e2
    Add installation instructions to README
3 weeks, 6 days ago
4 weeks ago
codeinthehole commented on pull request django-oscar/django-oscar#1699

Looks good - could you add a test to verify the expected behaviour?

4 weeks ago
4 weeks ago
codeinthehole commented on pull request django-oscar/django-oscar#1700

Ouch, well spotted. I think that was accidentally introduced in 64e21b1 - it was meant for the dashboard only.

4 weeks ago
4 weeks ago
Allow robots to index the ecommerce pages again.
1 commit with 1 addition and 1 deletion
github.com/codeinthehole »

Selected projects

A few spare-time projects I've worked on:

  • commandlinefu.com - a mildly popular repository site for sharing linux one-liners. Grown men have been known to weep with joy when they discover sudo !!

Python packages on PyPI:

  • purl - an immutable URL class for python
  • foiegras - simple CSV loading for Postgres
  • csvfilter - like cut but for CSVs
  • pyvideo2quicktime - for downloading PyCon videos to your iPhone
  • unittest-xml - additional assertions for unit-testing XML documents with python's unittest library.

Oscar and related packages:

Other Django packages on PyPI

node.js packages on npm:

  • nurl - a simple URL library for node.js