Things every project needs

I’m reviewing my checklists right now. I just came across one that I’d like some help with. It’s called “Things every project needs”, and it currently has this:

  • TODO system (e.g. specs, trackers, text file, bzr difftodo)
  • Version control
  • List of dependencies
  • One step build
  • One …
more ...


Better Cloud

The Launchpad Code home page is now a little bit nicer and a little bit faster.

For a while now, the page has had a tag cloud showing some projects that host branches on Launchpad. The tag cloud is drawn based on the following rules:

  • The more branches, the bigger …
more ...

Make your code testable

A lot of people struggle with writing unit tests. They sit down with the noblest of intentions, ready to turn themselves around and be good little engineers, but then somehow, suddenly, everything goes horribly wrong.

It turns out that it’s really hard to write unit tests. When we first …

more ...

Bazaar commands

While in Argentina, I got around to doing something that I’ve wanted to do for ages: refactor Bazaar’s “serve” command. It’s been bugging me for a while, since we actually duplicate some of that code in Launchpad, and we keep getting bitten by changes to cmd_serve. There …

more ...



Emacs keybinding of (Dvorak) death

From the Emacs help

C-x C— runs the command text-scale-adjust, which is an interactive autoloaded
Lisp function.

It is bound to C-x C-+, C-x C—, C-x C-=, C-x C-0.

(text-scale-adjust &optional INC)

Increase or decrease the height of the default face in the current buffer.

The actual adjustment made depends …

more ...


Stacked branches and the new world

A few months ago, we rolled out a version of Launchpad that supports and encourages stacked branches. This means medium to large size projects are be able to use Launchpad for hosting their code. I wrote this post shortly before the roll-out, but never got around to blogging it. Hope …

more ...

Anonymized IRC?

Crazy idea: a chat server which anonymized the nicks of all users, changing them around at frequent intervals. The server would require authentication, but the results of that authentication are kept secret from other users.

Would it be interesting? Would it work?

more ...




Review Thoughts

So, I think I’ve figured out what it is I dislike about Twisted’s review process: reviews aren’t thorough enough.

This sounds a little weird, since it’s actually really hard to get a patch into Twisted: it almost always takes me at least three round trips just …

more ...

Papers and Talks

At the Launchpad Epic, I presented a paper on Twisted for the other Launchpadders. I think that the paper itself is a good introduction to how Twisted works and why, and I’ll be publishing it here once I get a chance to format it for the web.

I did …

more ...



Super Happy?

Does Sydney have a Super Happy Dev House or Hacking Society or anything where a bunch of busy programmers can sit down together and hack?

If not, could you please organize one for me — that’d be great.

more ...

More bzr hacking

I’ve extended bzr-establish to give it a new command: hack.

bzr hack lp:foo’ will create a repository with working trees called ‘foo’ and fetch the lp:foo branch into that repository.
‘bzr hack —repository \~/repos lp:foo’ will create a repository in ‘\~/repos/foo’, a working tree area …

more ...