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, I …

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.


In a typical monolithic architecture, the functionality that …

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 this …

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 PyCon, but …

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 disk. The …

Read More

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

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 with. The …

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 you …

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 parts …

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 Talks …

Read More

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

Currently I find myself working simultaneously in two very different languages: My work at Canonical sees me writing almost exclusively in Python, while in my spare time I'm working with Go and Qml. Both Python and Go have some wonderful, killer features, but today I'd like to write about their …

Read More

by Thomi Richards | Mon 17 March 2014 | Tags : python golang testing