Adam Johnson

Home | Blog | Projects

Where to Learn Django in 2019

One Step at a Time

Read more...

How I Provision My MacBook with Ansible

Machine

Read more...

Post-Apocalyptic Cowsay

Pre-apocalyptic cow says moo

Read more...

Dropping Python 2 Support From Open Source Projects

Bye bye six

Read more...

'pip install' From a Git Repository

Cat with ball

Read more...

Django Quiz 2016 (2 years late...)

Ponies in field

Read more...

Making My Own Black Mirror Bandersnatch Easter Egg

Lion

Read more...

A Salmagundi of Django Alpha Announcements

A plethora of words

Read more...

Django Quiz 2018

Pony chase

Read more...

Using Yubikey on macOS with Colemak or other "weird" keyboard layouts

I just got a Yubikey for security at work. It’s a neat little device, and the way it sends one time passwords to your computer is by presenting as a vanilla USB keyboard and sending keystrokes. Pressing its single button types out a fresh one time password.

Read more...

Useful Sites for Checking Your Internet Connection

Here are some sites that are useful for checking your internet connection. I tend to need them when connecting to any new Wi-Fi.

Read more...

Synchronizing Django model definitions

Cloned crystals

Read more...

Making the CloudFormation release history into RSS

Clouds forming

Read more...

Using boto3? Think pagination!

Boto is a name for river dolphins of the Amazon

Read more...

pytest-randomly history

Hall of history

Read more...

Django Quiz 2017

Man feeding pony

Read more...

Writing a Custom Ansible Dynamic Inventory Script

Moo

Read more...

Optimizing the construction of Django QuerySets

Deep construction
details

Read more...

Introducing multilint

Clean crystals

Read more...

AWS H3 is the Future of Hotels

Amazon AWS H3 concept art

Read more...

Introducing django-perf-rec, our Django performance testing tool

Performance matters!

Read more...

Upgrading YPlan to Python 3 with Zero Downtime

Python with eggs

Read more...

Restricting the Ansible Version in Use

Restrictions

Read more...

Deploying AWS Lambda Functions with Ansible

Surprised cow

Read more...

Swapping decimal for cdecimal on Python 2

cdecimal and decimal

Read more...

Making Ansible a Bit Faster

Jaguars are fast

Read more...

Building a better DatabaseCache for Django on MySQL

Figure 1 - MySQLCache in the flesh

Read more...

An Ansible MVP (Minimum Viable Playbook) for Testing Tasks

MVPs are tiny.

Read more...

Cleaning Up Nameless EC2 Instances with Ansible

Anonymous Instances - AAaaahaaa

Read more...

Validating Ansible changes

Engine X

Read more...

Merging groups and hostvars in Ansible variables

Tools of the trade.

Read more...

Using IPython Notebook to Write Jekyll Blog Posts

Yup, that's a Python

Read more...

Python Concepts: Part None

Space. The closest thing to a picture of nothing that's not blank.

Read more...

My Talk "Factory Boy Fun" at Django London Meetup

On Tuesday I gave another talk at the London Django Meetup Group, titled “Factory Boy Fun”, based upon my previous blog post of the same name. The blog post covers pretty much the same stuff, but if you want to flick through the slides quickly for an overview, they’re hosted on GitHub.

Read more...

Factory Boy Fun

Factory.

Read more...

Time to Move on From Cron

Clock clock clock clock clock clock clock clock clock clock clock clock clock

Read more...

My Talk "Django at scale" at Django London Meetup

On Tuesday I gave a talk on Django at the London Django Meetup Group, titled “Django at Scale.” The slides are hosted on GitHub.

Read more...

DevOps Exchange London: Continuous Delivery

Last Thursday (24th July 2014) I went to the DevOps Exchange London Meetup on Continuous Delivery; here is my quick review of the talks and what I took away.

Read more...

Five Neat Little Python Libraries

Here are some great little Python libraries that have made my life (well, at least the coding part) a little bit nicer and easier. They mostly add neat syntax and a few things that you always wanted to do, but never knew.

Read more...

Installing and Removing R Packages With Ansible

I was asked by some of our Data Scientists to get a few R packages onto their server, which I configured by Ansible. R seems to be bit funny compared to other programming languages because it’s package installation happens inside R code, rather than with a dedicated commandline utility.

Read more...

Extending Django's QuerySet to return approximate COUNTs

Update (2015-05-31): I've re-written and open-sourced a better way of doing the below as part of my library django-mysql. The docs there on approximate counting are just as good a read as the below, and you can pip install the solution.

Read more...

Some Ansible Hints

Three useful little tidbits for using Ansible that I’ve come across.

Read more...

What I Learnt Losing a Million Pageviews

Update (2019-03-08): This is a classic post when I ran my blog like a magazine, so it has an individual full-page layout. This is still a great outage story!

Read more...

One Minute Happiness

Update (2019-03-08): This is a classic post when I ran my blog like a magazine, so it has an individual full-page layout. It's a nice exercise that might make you happier for a bit.

Read more...

Meet Mary

Update (2019-03-08): This is a classic post when I ran my blog like a magazine, so it has an individual full-page layout. Now I'm a little bit older and wiser, I think there might be other solutions to this cognitive bias, for example "likeliness" is not being interpreted as a question about real probability but narrative reasonableness. Still, this I like the interactive educational nature of the post.

Read more...

My Encounter with Frozen Dead People

Update (2019-03-08): This is a classic post when I ran my blog like a magazine, so it has an individual full-page layout. This is still one of my favourite travelling stories.

Read more...

The T-Shirt That Makes You More Creative

Update (2019-03-08): This is a classic post when I ran my blog like a magazine, so it has an individual full-page layout. I was younger and much less wiser at the time, so more susceptible to believing a single psychology paper. Still, I like the graphics I made!

Read more...