About me

This site is mainly intended as a way to keep in touch with friends and family in Canada and elsewhere while I’m off wandering the world from one country to the next.

I’m a software developer who’s been fascinated by computers since I was a kid. I wrote my first lines of BASIC and 6502 assembly on a Canadian knock-off Apple II+ clone made by Apco, dutifully copying source listings line-by-line from Compute! magazine. Working my way up through a Laser Turbo XT and a 286, I finally landed on a 386 DX clocking in at a whopping 33 MHz. It was on this machine that I first installed Linux from a stack of 3.5" floppies and learned to code in Pascal and C. A couple years later, sometime in the mid-90s, some classmates convinced me I should check out FreeBSD, and because I’m used to it, but also out of sheer laziness, I’ve been using it as my main home setup pretty much ever since.

I headed off to university sometime in the early 90s. Seven years later, after wandering aimlessly from faculty to faculty through Chemistry, Physics & Astronomy, Japanese, and Electrical and Computer engineering programmes, I decided enough was enough, grabbed my B.Eng., and booted myself out the door and into the world.

Initially, I moved south of the border to spend a couple years in California working on AutoCAD at Autodesk. Deciding that this wasn’t south-of-the-border enough, I packed my bags and headed to Mérida, México, which sits neatly within the borders of the Chicxulub crater where the asteroid that caused the Cretaceous-Paleogene mass extinction event landed. I spent the year writing point-of-sale software for a local art gallery, doing some travelling, and doing some teaching on the side.

A year later, as my visa neared its end, I started wandering my way back to Canada via Cuba, Belize, Guatemala, and Honduras before remembering which way was north and zig-zagging my way slowly back home on third-class buses.

A couple years later, after some more hacking on 3D CAD software, I picked up my few possessions and moved to Tokyo, Japan, where I met my wife, learned to speak, read, and write Japanese, got married, and had kids. I’ve had the pleasure of working on a variety of projects ranging from 3D CAD software, to equities trading systems, to the Dart programming language, the Flutter SDK, and the Fuchsia operating system. I currently work on open source projects at Google.

You can drop me a line anytime at chris@bracken.jp. (en, fr, ja)

About this site

This site contains no tracking, no cookies, and no JavaScript. It should work well with screen-readers and text-mode browsers. My web skills are near-nonexistent, so if you’ve got feedback on how it could be improved, shoot me an email.

You can find the source and instructions on how to build the site here.

PGP public key

If you’re a fan of crypto, you can find my public key below, or download it. I’ve also posted proof of ownership of this site.

GPG fingerprint: 9EF6 957A F673 652E 4AB5 542D BBE4 5868 CBE8 A8FE

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
tJOo9GIW9kFFSNHC0tS22It7YpMt7hWNUA==
=J2/m
-----END PGP PUBLIC KEY BLOCK-----