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

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

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

Q&A: Why is Scrivener using my old contact information?


For the past few years, I’ve had to manually update the contact information in the header of every Scrivener project I’ve created. It was defaulting to an old email and physical address, but somehow had the correct phone number. Scrivener can pull your contact information from the OS X application Contacts, if you add the string “(Scrivener:UseMe)” to the notes of your contact card. As it turns out, I had done that already but my card has all of my email addresses (work and home) as well as my current and past physical addresses.

Posted on 31 July 2014

#os x #scrivener