All posts

In my day-to-day work I frequently find myself deploying the services I'm working on to an lxd juju backend in order to test charm changes. The ability to deploy complex software configurations to lxd containers on my laptop makes developing a product with a distributed architecture much easier. However ...

Read More

by Thomi Richards | Mon 24 July 2017 | Tags : juju plugin


The Ubuntu Core snap store is architected as a number of smallish, independent services. In this week's post I want to talk about some of the challenges that come from adopting a distributed architecture, and how we're working to resolve them.

Overview

In a typical monolithic architecture, the ...

Read More

by Thomi Richards | Sun 11 June 2017 | Tags : acceptable python testing microservices snappy ubuntu ubuntu core


One of the nicest features of snap packages is that it allows publishers to control which dependencies are shipped with their application: It's endlessly frustrating to find that your users are experiencing broken software because some library that you depend upon was updated without your knowledge. Snap packages solve ...

Read More

by Thomi Richards | Mon 15 May 2017 | Tags : snappy ubuntu ubuntu core snapd deltas


(...or any other conference),

The Kiwi PyCon Call-for-Papers is open right now, and will be for the next few weeks. In my spare time I'm spoamming everyone I know to encourage them to submit a talk. A common response I get is "I'd love to speak at Kiwi ...

Read More

by Thomi Richards | Sat 21 May 2016 | Tags : python kiwipycon speaking


I freaking love python's context managers. They's excellent for managing resources that need to have a set lifetime. I find myself writing lots of code that uses context managers like tempfile.NamedTemporaryFile and tempfile.TemporaryDirectory. Recently I found myself writing code that set up a data structure on ...

Read More

by Thomi Richards | Tue 02 June 2015 | Tags : python context managers code


Note: This post is mostly aimed at my work colleagues. We're working on deploying systems that consist of multiple micro-services and I have a few tools and techniques that aid debugging. This post explains my process.

Directory Setup

I use a slightly non-standard directory setup. I have a directory ...

Read More

by Thomi Richards | Thu 09 April 2015 | Tags : python debugging ipython pudb


I love the promise of the git revision control system: It's fast, it's free, it can handle huge workloads, and sites like github have made git the de facto standard. However, I absolutely hate the command line interface. I find it inconsistent, unfriendly, and generally difficult to work ...

Read More

by Thomi Richards | Thu 19 February 2015 | Tags : debian ubuntu git packaging


Summary of content this far

It seems the questions Matthew Garrett and I asked at LCA this year have created a bit of activity. Several people have written blog posts that are far more eloquent than I could ever achieve, so instead of repeating their sentiment, I'll simply link ...

Read More

by Thomi Richards | Fri 23 January 2015 | Tags : conference community debian packaging


This year Canonical were kind enough to send me to Linux Conf Australia. The last time I attended that conference was nine years ago (2006, in my home-town of Dunedin). What follows is a short trip report - I won't mention everything I saw, but rather highlight the most interesting ...

Read More

by Thomi Richards | Mon 19 January 2015 | Tags : conference community trip-report debian testing python packaging


I attended Kiwi PyCon again this year, and it was fantastic! The conference was held in Wellington, a fine city with some great bars (I'm sure it has other attractive qualities, but I mainly remember the bars). Below are some random highlights that I feel are worth sharing.

The ...

Read More

by Thomi Richards | Wed 01 October 2014 | Tags : python testing kiwipycon ubuntu quality