What ho!

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

I'm a Technical Director of Tangent Snowball, a digital agency. I program mainly in Python but have strong interests in all dynamic and functional languages.

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 playing devil's advocate.

More »


Thursday, 17 July 2014
Linking to Github

Git aliases for grabbing Github links

Wednesday, 18 June 2014
Continuously rebuild your project

Using CI to avoid pain for new team members

Tuesday, 17 June 2014
Using the silver searcher with Vim

Lightning-fast :grep searching in Vim

Thursday, 1 May 2014
The road to Oscar 1.0

A plan for 2014

Thursday, 16 January 2014
Command-line tips for effective release announcements

Git tips for writing release notes

All writing »


3 months ago
Turns out my vim woes were caused by me accidentally inserting non-breaking spaces with ⌘+SPACE. Silly me.
3 months ago
Docker's name generator:
3 months ago
RT @sarahmei: If you're interested in story structures to enrich your conference talks, this is excellent: http://t.co/TM9CdsWHUj http://t.…
3 months ago
Writing documentation is the perfect springboard for heavyweight yak-shaving.
3 months ago
RT @stevesilberman: There's latté art; then there's Japanese latté art. [by @george_10g] http://t.co/Old0QExmzF
3 months ago
Here's my guide to sharing folders with Docker containers on OSX:
3 months, 1 week ago
Today's achievement: getting shared folders to work with Docker and OSX. Had to mount the host fs using sshfs from within the boot2docker vm
3 months, 1 week ago
RT @django_oscar: The Oscar sandbox site is now on docker hub! https://t.co/OtMjbxaypO

$ docker pull codeinthehole/django_oscar_sandbox
3 months, 1 week ago
RT @HackerNewsOnion: Developer who inherited 5-year-old Rails codebase secretly hoping for company collapse
3 months, 1 week ago
Judge a society/culture by how it treats everyone who isn't a religious heterosexual male
3 months, 1 week ago
Excellent collection of tips and links for vim lovers:
3 months, 1 week ago
$ git browse -- commit/HEAD

Open Github page for last pushed commit (uses Hub extension). V useful.
3 months, 1 week ago
DEVELOPERS, make a subtle nod to the sport-luxe trend of the season by repeatedly using the phrase "sport-luxe" in your commit messages
3 months, 1 week ago
RT @TwopTwips: CURE your hatred of Mondays by having children.
(via @beztweets)
3 months, 1 week ago
RT @socialtechno: Why unemployed, uneducated poor people buy TVs and mobile phones. http://t.co/stq5Bt8pMh
3 months, 1 week ago
There are 7.1m search results for ":wq" on Github: https://t.co/ZiguB4CLJs
3 months, 1 week ago
Very useful TDD cheat sheet! http://t.co/RYwJsPui2T
@codeinthehole »


1 week, 3 days ago
David Winterbottom
1 week, 6 days ago
David Winterbottom
Minor copy tweaks
1 commit with 7 additions and 7 deletions
1 week, 6 days ago
David Winterbottom
1 week, 6 days ago
David Winterbottom
Haystack 2.2.1 (the latest version) specifies Django<1.7
1 week, 6 days ago
David Winterbottom

That's caused by the new 1.7 of Django and Haystack 2.2.1 (the latest version) which specifies Django<1.7. We'll sort out this issue in time for Os…

1 week, 6 days ago
2 weeks ago
David Winterbottom
2 weeks, 1 day ago
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