The art is long, the life short

I love the energy at UDS.  I wish I could go away from it and sit down and do nothing but hack for three months so I could finish all of the little, awesome things that Launchpad could do.

more ...

testtools compatibility

We’ve recently been getting a few bugs filed on testtools about compatibility with various versions of Python. I really want to support as many versions as I can, but I simply don’t have them on my system.

What resources are available to me if I want to set …

more ...

Off to UDS

I can’t believe it’s already time to depart dear old London and head across the Atlantic to participate in another UDS. Although “participate in” doesn’t feel like the right verb, does it? UDS is a frantic, electric whirligig of meetings and conversations and decisions and on-the-spot calls …

more ...


Get Xchat-Gnome completing with colon

Since the late nineties, I’ve had my IRC clients configured to complete nicks with a colon. For example:

<jml> dash: there's an otherwise normal guy at work who uses tcl as his scripting language of choice

But during some Ubuntu upgrade at some point in the …

more ...

Maverick notes

I recently upgraded to Maverick beta. Here are my thoughts and observations:

  • Despite the huge number of PPAs and unofficial debs I had on my system, the upgrade itself was very smooth
  • Everything looks much crisper, probably due to the two updates to the Light themes
  • Python 2.5 was …
more ...

What we do

I’ve just come back from a couple of weeks off. Unusually, I didn’t spend much time programming or thinking about work, instead I was just enjoying life and getting enough sleep. How fortunate then to return and find out that we’re being encouraged to think about what …

more ...

Leaps and bounds

If your development process has something like “before you run \\(CUSTOM\_SCRIPT\_1, run \\)CUSTOM_SCRIPT_2 to make sure everything is OK”, then you are doing it wrong. Couple leaping with looking.

more ...

Back

After a wonderful two week break, I’m now back in high-backed chair of Launchpad strategy. Can’t wait to see what’s been happening.

more ...

Why you should write your tests first

We’re all agreed that any Python code that’s even a little serious needs unit tests, right? However, sometimes we end up writing our tests after we’ve written our code rather than doing test-driven development, what Curtis calls “code and cover”. That’s bad. Here’s why.

  1. It …
more ...

unittest API, part 4

As I said at the very beginning, unittest has an API with lots of interfaces. You can read about the interfaces for test frameworks in part 1, part 2 and part 3 of this series. This post is about the interface for test authors.

If the other posts are fresh …

more ...

unittest, part 3

So far, we’ve talked about TestSuites, TestCases and TestResults. We’ve seen how these objects interact with each other  and how they can generally be thought about as having more than one interface. TestResult has an interface for the TestCase and an interface used for querying …

more ...

unittest API, part 2

In part 1 of this humble attempt to document the interfaces and contracts that unittest actually cares about, we talked about TestSuite and TestCase, how they both implement a common interface that’s used for running tests, ITest and how they each implement their own interfaces, ITestSuite and ITestCase.

Now …

more ...

unittest API, part 1

It’s a little known fact, but unittest actually has an API.

This isn’t the API that you deal with when you write tests, but rather an API that unittest itself uses when running tests. You could think of it as two interfaces: one for test frameworks and one …

more ...

Python 3

I would be much more sympathetic to the whole Python 3 endeavour if they had made a serious effort to keep the major 2.x releases mutually compatible.

more ...

pyflakes-doctest

Someone at Canonical (I don’t know who) wrote something cool once to get Pyflakes (the best Python linter) to run on doctests.

It has recently been deleted from the Launchpad tree, but since it’s so useful I thought I’d make it available.

Download pyflakes-doctest whenever you’d …

more ...

Documentation again

Documenting your code is not important. Well-documented code is not a thing to be desired nor a goal to be sought. A lack of documentation is not a problem to be solved. Everyone who tells you otherwise is lying.

What is important is that other programmers can easily understand your …

more ...

When do you start testing?

Although I love TDD, I don’t always use it for everything. I wrote a Python script the other day to clean up my music collection, and I didn’t write any tests for it.

Someone asked me, what’s the trade-off? At what point do you start writing tests …

more ...


Better than a pie chart

The bugs page for projects on Launchpad used to have a really ugly pie chart on them. It was a strange little graph,  useful because it helped you feel like you were making progress as you pushed bugs from New to Triaged to In-progress to Fix Committed and then off …

more ...