Cutting edge debugging

One of the great pleasures of advancing in one's craft is the thrill of solving newer, more difficult problems. In the course of my work, I frequently encounter many bugs which appear at first glance to be impossible. Not just impossible to solve, but intrinsically impossible. It's as ...

more ...



Deliberately being naughty

I don't get a whole lot of time to hack on things outside of work. Maybe one or two slots of about two hours in a good week. What I want is for that time to be fun, creative, and hopefully useful for others.

When I do get such ...

more ...


Are single letter variable names evil?

A colleague recently asked the question, "Are single letter variable names evil?". He was trolling, and I kind of knew it, but gosh, what an excuse to rant about code clarity! My comments ended up being multiple pages long, so taking one of Mary Gardiner's suggestions to heart (although ...

more ...



A Modest Success

Over the last few months, James Westby and I have been working on automatic packaging. I want to talk today not about the thing itself but rather how we go about making it, because I think that we have got a fairly good process going.

Here's what it looks ...

more ...

Undistract me (redux)

In January, I told you all about a terminal hack to help me recover from the inevitable distraction that comes when I run commands that take a while to run (for me, mostly test suites).

I've been using the hack since then, and it has given me a great ...

more ...


testtools: history and future

Before I started testtools I was switching regularly between bzr, Launchpad and Twisted and was sick of one excellent testing innovation being available in one and not the other. I tried submitting some of the improvements to Python. They were either ignored or rejected.

Also, as the maintainer of Twisted ...

more ...

Complexity and capability

"You might think that some people are better at understanding complexity than others, but relative to the sheer scale of the complexity that we can all create, we are all about the same."

I think Rich Hickey said this. It's true.

more ...

juju debug-hooks

OK, I think I've figured it out.

juju debug-hooks replaces hooks for a service unit with an interactive terminal session. You run it, it launches tmux (which seems to be a thing like screen or byobu), and when a hook for that service unit runs, it won't run ...

more ...


Further reflections on my first Juju charm

Since I wrote the notes that appear in my previous post, I've had a chance to reflect further on my experience writing a Juju charm.


The thing is, even though the end result is very cool – I can just deploy this code as a new service whenever I want ...

more ...

Unfiltered reflections on my first Juju charm

I just finished up my first [Juju](https://juju.ubuntu.com/) charm, designed to deploy the tiny and not-yet-useful [libdep-service](https://launchpad.net/libdep-service/), which is going to become a micro-service used by [pkgme-service](https://launchpad.net/pkgme-service), which exists to automatically package submissions by application developers to [developer.ubuntu ...
more ...

Married

I'm back online after three weeks vacation. Purpose of said vacation was to get married and go on honeymoon. Only thing to say about that is: huge success. I'm very, very happy.

While I've been gone, Ubuntu has had its developer summit and decreed that Ubuntu 12 ...

more ...

Local Juju

I have a bit of a fetish for being able to hack offline. It's becoming increasingly old-fashioned, I know, but I'd like to think that eventually it will become a quirky and charming eccentricity, such as one might find in a British amateur sleuth.

I wanted to get ...

more ...

Bad Snake Joke

Just between you and me, I'm getting a bit bored of writing Python all the time. It's a good language: I can write code that's functional or OO as the case may be; it has lots of libraries; it has Twisted, which is incredibly useful; it's ...

more ...