Fri, Jul 26, 2013 | announcements, fabric, paramiko

Deciding when to release software can be difficult. Releasing after every patch or merge is typically too much, though some argue otherwise: it depends how you define “often” in “release early, release often”.

The other options are “whenever you feel like it” and “have a specific schedule”.

Until now I’ve always gone with that middle option, waiting until a large-enough set of changes had piled up to merit a new release.

Thu, Mar 7, 2013 | graphite, metrics, sysadmin


Graphite is a popular metrics collection, storage & graphing tool. Unfortunately, clear info on how it works in a cluster configuration is hard to come by. I’ve done a lot of reading on the topic and want to share the result.

Tue, Nov 27, 2012 | MMO, gaming


I recently played a free trial weekend of Guild Wars 2. The tl;dr is that I enjoyed myself quite a bit, but am on the fence about purchasing. Below are my thoughts on various aspects of the game, prefaced with some background.

Mon, Nov 5, 2012 | SSH, fabric, paramiko


This post evolved out of an update to this long running Fabric feature request that got too long for a Github comment.

The tl;dr for that issue is: folks want gateway support, the ability to bounce SSH connections off an intermediate host. This is useful for setups where you cannot reach your target node directly, but do have access to some gateway or staging box.

(Side note: this feature’s languished because I personally never needed it: ever since I picked up Fabric I’ve worked in environments savvy enough to have VPNs but small enough they didn’t have multiple networks.)

Recently, I reread most of Fabric #38, and there’s two solutions / SSH features contributors kept arriving at: ProxyCommand and direct-tcpip. I’ll explain what these are (insofar as I understand them myself), then compare/contrast.

Sat, Sep 29, 2012 | announcements, packaging, paramiko

I run a handful of related open source projects, and two of them are merging. Specifically: the Python ‘ssh’ library is merging with Paramiko, of which it was a public fork. The bulk of the work for this merger is already done, and new releases of Paramiko and Fabric (the high level library which has over time used both Paramiko and ‘ssh’) will be out soon.

Implied by the above: I am now the maintainer of Paramiko! Huge thanks to Robey Pointer for creating it & maintaining the project for nearly a decade. I can only hope folks are still using software I wrote ten years out.

Thu, Jun 7, 2012 | maintainership, packaging

On what?

Vendorizing. Including dependencies inside your own source tree as if they were part of your application. Also known as ‘bundling’, ‘omnibus’ etc. I’m going to be talking about Python software specifically, but it’s a general problem.

I’m weighing the pros and cons of vendorizing vs relying on externally-installed libraries, as I don’t see a strong consensus on the topic – and am curious what others with different experiences and use cases have to say.