David Winterbottom
An LLM TDD loop
Writing Markdown in Vim
Tips for using Github Copilot in Vim
Creating pull requests with GPT3 and random artwork
New project: Food price scraper
OpenAI Git poetry
"It was the system. We can't change it."
Auditing 1Password activity
Flakey tests in a large Python/Django codebase
Explaining
Vim's useful lists
A Vim mapping for opening virtualenv files
Setting up a 2020 MacBook Pro for Python development
Conditional nested blocks in Terraform
Maintainable Terraform CIDR lists
Easy Github URLs from Vim
Software development tips – part 2
Resolving conflicts during a Git rebase
Software development tips – part 1
Vim text-objects for Python development
Debugging Vim by example
Beware of changing the 'related name' of a Django model field
Using black and isort with Vim
Avoiding package lock-out when provisioning Ubuntu 18.04 machines
Installing the latest RabbitMQ on Ubuntu 18.04
Easy to change
Listing groups in G-Suite
Advanced pull-request crafting
Shortcuts of the old and minimalist
Joining between date and timestamp fields in Postgres
Little-known words relevant to software development
Using a custom Sentry client
Why your Django models are fat
Bash error reporting
Using pgbadger with AWS RDS
A mnemonic for mock decorators
Your codebase is your house
Git tips for working with pull requests
Converting JSON into CSV data for Google Sheets
Podcast.__init__ on Oscar
Reorganising a Consul key-value store
Lies you're told on a software project
Hugo
Django, ELB health checks and continuous delivery
Testing for missing migrations in Django
Octopus Energy
A useful template for commit messages
Copying Postgres output into a spreadsheet
An SSH tip for modern AWS patrons
commandlinefu.com is in new hands
Backing up Postgres database rows before deleting them
Avoiding clashing Django migrations
Bootstrapped virtualenvs
Integrating Django application metrics into Zabbix
Linking to Github
Continuously rebuild your project
Using the silver searcher with Vim
The road to Oscar 1.0
Command-line tips for effective release announcements
How to install PostGIS and GeoDjango on Ubuntu
Enhancing your Git commit editor
Dumping and restoring a PostGIS database
purl, URI templates and generated tests
A deferred logging file handler for Django
Conditional logic in Django forms
PyPI README badges
A useful Git post-checkout hook for Python repos
Disable database access when writing unit tests in Django
How to install PIL on 64-bit Ubuntu 12.04
Converting Github issues into pull requests
Altering Postgres table columns with South
Configuring logging for Postgres.app
Mathematics and engineering
Effective pull requests and other good practices for teams using github
How to chroot a user in Ubuntu 12.04
Prefer WebTest to Django's test client for functional tests
Cacheback - asynchronous cache refreshing for Django
Use models for uploads
Vim macros for adding i18n support to Django templates
A data migration for every Django project
Django, Nginx, WSGI and encoded slashes
purl - immutable URL objects for Python
Embedding HTML in Django messages
csvfilter - a Python command-line tool for manipulating CSV data
How to reload Django's URL config
Validating international postcodes in Django
How to sync PyCon videos to your iPhone
Tips for using a git pre-commit hook
Confoo 2012 presentations
Testing HTTPS handling in Django
Prefer data migrations to initial data
A Fabric function for git tagging
Solving MySQL connection problems caused by a dead name server
Auto-setting terminal titles for python virtual environments
Introducing unittest-xml: testing XML in Python
Rewriting codeinthehole.com
How to set-up MySQL for Python on Ubuntu
Using pip and requirements.txt to install from the HEAD of a Github branch
Console logging to STDOUT in Django
Running django cronjobs within a virtualenv
Multi-scp: copying a file to all hosts in your SSH config
Coloured output while doing TDD with Django and Fabric
Domain-model-mapper - A PHP Data Mapper implementation
Commandlinefu presentation at Confoo 2011
The British way of dealing with foreign APIs.
nurl - an immutable URL object for node.js
mysqldump with wildcard table matching
How to sync a MySQL table between two remote databases.
Phing trick for avoiding deploying debug code
Return false with prudence
Javascript refactoring for customising shared libraries
A pseudo-code job advert and its discontents
Deploying cron jobs using Phing
Auto-generating an FAQ with Prototype
Inspecting Javascript objects
Phing, Xinc and Nabaztags
Ingenious use of an anonymous function
Using a Phing filter to flush browser caches
The most important command-line tip - incremental history searching with .inputrc
Current pet project: Command-Line-Fu
Phing task to create an Unfuddle message
Phing task to update Twitter status
Deploying to a shared hosting environment using Phing
Monitoring MySQL with Ganglia and gmetric
High Performance Web Sites by Steve Souders
Checking all MySQL tables
Javascript cookie objects using Prototype and JSON
Date conditional redirects with mod_rewrite
Creating large XML files with PHP
Monitoring MySQL
Following log files with tail -f
Writing a Thesis in LaTeX
Tutorial: the complex Ginzburg-Landau equation
About
Code
Music
Now
Tweets
Videos
Writing