bzr "Insecure string pickle"


I’ve been bit by a bug in the bzr source code control system where running a commit throws an ugly stack trace blaming an “insecure string pickle”, but I’ve found a workaround.

Posted on 6 May 2016

#brew #osx #python #bzr

Migrating to Hugo


Hugo, the static website engine, not the award.

I’ve grown frustrated with Wordpress and Dreamhost. Running a Wordpress site on a shared web host is a ticking time bomb. More users crowded on a server. I threw turned on caching and Cloudflare; readers should have had little trouble using the site, but my sessions were consistently timing out while using the admin dashboard, which makes posting new content a frustrating experience.

Posted on 15 March 2016

#hugo #wordpress #cloudflare #dreamhost

Ubuntu on Mac


I recently rebuilt a Mac Mini to work as the forth screen in my workflow. I googled around and pieced together what I needed to do by cherrypicking from various guides, and everything was running well until I updated to a new kernel and rebooted. I spent the better part of two nights trying to get the machine to boot. Unfortunately, it happened just after I blacklisted a module to work around a USB bug that was causing one of my drives to go haywire occasionally, and it took a while before I finally figured out it wasn’t a problem with my change but the kernel itself.

Posted on 15 October 2015

#linux #ubuntu #ubuntu on mac

American Serenade


Back in 2009, we were winding down our life in the U.S.. We drastically culled things we didn’t want or need, and put the rest into storage for the eventual move to Canada. Andrea was home in August 2009; I was there on and off, until I was officially issued a visitor record in November 2010 and filed for permanent resident status. On that day, I entered the country with one large suitcase and a backpack containing some notebooks and my laptop.

Posted on 6 July 2015

Announcing Benchmarking with Juju


Benchmarking and performance are interesting problems, especially in today’s growing cloud-based microservice scene. It used to be a question of “how does this hardware compare to that hardware,” but as computing and service-oriented architectures grow the question has evolved. How does my cloud and application stack handle this? It’s no longer enough to run PTS on your web server and call it a day. Measuring every microservice in your stack, from backend to frontend, is a complex task.

Posted on 23 June 2015

#actions #benchmarking #juju #ubuntu

The doppelgänger effect


Yesterday was a travel day, coming home from a week in Breckenridge, CO for a work sprint. These are usually uneventful days, riding trains or shuttles to and from airports. Yesterday was different, though. Yesterday, I ran into my doppelgänger. The first indication that something was off was when I checked my bag curbside. The porter asked me if I’d already checked a bag. I said no, and he gestured me to come around the counter and see what he was seeing.

Posted on 29 March 2015


sshuttle workaround for OS X 10.10 (Yosemite), Juju and Vagrant


sshuttle is a nifty little transparent proxy/vpn that works by tunneling TCP traffic over SSH, or more specifically, tearing down a TCP session and reassembling the data on the other side. I started using it earlier this year, as part of my workflow using Juju and developing under OS X. It’s like a data center in a box, inside another box. Code locally in my editor of choice (vim, TextMate, and more recently, Atom). Deploy new code. Refresh web browser, thanks to sshuttle. With sshuttle, I could connect to the services running within my virtual machine running Ubuntu natively through OS X.

Posted on 12 December 2014

#ipfw #juju #os x #sshuttle #vagrant #yosemite

Making OS X, Go, and Brew play happy


GO and OS X I’m doing a little hacking with juju actions before they land in a stable release but I ran into some hurdles getting Go working with the brew-installed version. Trying to install Go packages failed with a bunch of ‘unrecognized import path’ errors. Here’s how I fixed it. STOP, GO, STOP Even though you can install Go via brew, there’s more to be done to get it working.

Posted on 13 November 2014

#go #homebrew #juju #os x

A brief introduction to Juju


I had some concerns about how I was going to integrate posts of a technical nature with my blog, which has been predominantly writing-oriented for several years. What I failed take into account is that many of us who write Science Fiction are armchair technologists. We look at gadgets, scientific breakthroughs and tech policy, and make conjecture about what might come next. What I talk about is less important than how I talk about it.

Posted on 3 September 2014


New job!

Personal Technical

I am delighted — tickled, in fact — to report that as of last Monday I am employed by Canonical, the company behind Ubuntu Linux. I’ve joined the Ecosystem Engineering team, part of Cloud Development and Operations, as a software engineer. More specifically, I’m working on Juju, the cloud orchestration tool chain. I’ll be writing charms and documentation, working on optimizations, and helping to make a cool product even cooler.

Posted on 26 August 2014

#canonical #juju #ubuntu