2016 in review

2016 went really fast, and a few big things happened. Some good, some bad. There were some definite themes and I learned a few things. Here’s a really long post about it.

So what happened?

dad

My Dad died

On January 7th 2016, my Dad passed away. He’d had a four year battle with amyloidosis and it’d been a tough fight.

I think about him every day. Often it isn’t a gut-wrenching sadness, though that usually comes the longer I think. It’s more of an abstract sense of loss. Like: what a shame he won’t be here to meet the kids I hope to someday have. To tell me about some weird Ingmar Bergman movie I hadn’t seen. What a shame we can’t sit together in the kitchen on holiday evenings, a fire roaring, him telling me for the second or third time about how some obscure number theory result is the reason we can buy things on the internet; making references to Hesse and Hofstatder as though they were TV personalities. What a shame he isn’t here to watch my brothers and me continue to grow up and hopefully make him proud. Sometimes that plain sadness curdles into a sense of unfairness.

When he was diagnosed three years ago, I started getting severe symptoms of anxiety and hypochondria. Panic attacks, scary physical sensations, days-long fixations with the medical condition I’d surely soon collapse dead of. I’m still wrestling with this today in degrees. 2015 saw a healthy regression of this ailment, but Dad’s death brought it back to some extent.

I’ve found myself hoping and maybe believing there’s an afterlife so that I can credibly tell myself he’s still out there somewhere.

karen

Got back together with Karen

Karen and I had split the previous year in October. Dad’s passing away left me with a lot of thinking to do, and one of the things I realized is that Karen has a character that is fundamentally good and darn rare. She’s kind and caring, and has immense gumption and know-how. She has a thoughtful courteousness that is unfortunately long out of fashion. She’s damn funny, and a bunch of other wonderful things that I won’t list out here.

I lobbied hard to get back together with her and so far it’s been a success.

I realized that a lot of the problems we hit the first time around were problems with me, and they were repeat issues from past relationships. Not taking enough space for myself, neglecting my friends, and eventually getting fed up with my S.O.. Thinking that she has to be a mirror image of me for the relationship to work. That was a big one.

I’m sure these sound obviously dumb to most people reading this, but somehow they got pretty deeply wired into my thinking.

wire

I rewatched The Wire in its entirety

It’s a great show, and still great the second time around. It’ll teach you about Baltimore politics, the varied and spectacular ways that hierarchical bureaucracies fail, how to do right in spite of the people above you, and about Omar. It’ll sate your homesickness for the Rust Belt when you feel trapped in the software-drunk hothouse of the west.

herc

Against everyone’s better judgement, I wrote a deployment system

It was ill-advised and contrarian, but I wrote a AWS deployment system called Herc that was pretty successful at Counsyl. It replaced our very unreliable and difficult Docker cluster, and facilitated the deployment of upwards of 15 separate services. It’s maybe the single thing in my career I’m most proud of. It was far from perfect, but it was kind of beautiful in its effectiveness as a hot mess of duct-tape.

There were a few lessons here for me:

Things that sound dumb by conventional wisdom may not be dumb given particular conditions. Corollaries: there’s no substitute for direct experience. Accept inherited wisdom cautiously. Assess things by first principles.

As most software engineers will tell you, writing a deployment system sounds foolhardy. There are already a number of tools out there prebuilt and well-tested that do this sort of thing. But when you have a giant legacy Puppet codebase, an unconventional internal PKI infrastructure, HIPAA requirements, and a bizarre AWS configuration, it just might make sense. And it did.

Sometimes it’s much better to beg forgiveness than ask permission.

If I had navigated the proper channels to get permission to write and use this thing, 90% odds are that I would’ve been refused, or this thing would’ve turned into a big design-by-committee project.

Occasionally in people orgs, just a single individual has vision of what needs to be done to improve the health of the org. Often there will be structural, political impediments to this actually being realized. (see Major Colvin of The Wire.) So sometimes you just need to shirk those and go and do it. Provide a proof of concept and show people the value before they can argue it away. This’ll do wonders for your job satisfaction, though of course you might end up fired if you don’t think it through. You might end up fired anyway, but at least you’ll feel like you have some shred of integrity.

Working weekends isn’t the devil.

I wrote the kernel of this thing over a Saturday and Sunday. It’s some of the most fun I’ve ever had in my life.

Software adoption is more about marketing than anyone gives outward credit to.

Having good docs, working examples, catchy branding, and an engaging talk prepared was key to this system getting adopted in the org. Similar lessons came from watching desk’s rise to (modest) popularity and implementing a frontend overhaul at Tempo.

tempo

I changed jobs

I left Counsyl and joined Tempo Automation. Both are great companies, and I was very well situated at Counsyl – it mostly came down to the fact that Counsyl is a Big Company (well, on the order of hundreds of people), and Tempo is a small one. At smaller companies, the marginal impact of each employee on the company is higher. I want to be somewhere where I matter.

The other, less diplomatic factor is that Counsyl’s product (genetic labwork) is quickly commoditizing and Tempo’s product (tools to allow rapid prototyping for electronics) is far from it.

crossfit

I started Crossfit

After a few years of basic and sporadic strength training with barbells (squats, deadlifts, et al), I finally joined a Crossfit gym in September, which has fully cemented my long-suspected membership in the Crossfit-Paleo-Libertarian nexus. I’ve drank the all the koolaid there is to drink. Rabid internet skeptics rejoice.

I have mixed feelings about it so far. On the plus side:

  • The coaching is excellent, and when you’re a novice like me trying to throw 115 pounds from floor to overhead in less than a second, you damn well better have an expert watching your form. I can’t see olympic lifting (for long) without the foundation of good coaching.
  • I’m pushed to do workouts I’d never complete otherwise.
  • I look probably the best I ever have. But it’s a different kind of look than strength training gets you, which is Big. This is more lean and defined.
  • I feel really… fit? Even when I was doing strength training, I felt strong but running up a hill was still hard. Running up a hill is still hard, but I have a little more breath at the top. I have Crossfit’s more diverse programming to thank for that.

On the minus side:

  • That same diverse programming makes it pretty hard to track how I’m improving. When you’re grinding out fixed-rep squat schemes most sessions, it’s pretty easy to tell how you’re doing. With Crossfit it’s not so clear.
  • I don’t appreciate the social aspect as much as other people probably do. Some days I’d really prefer just walking into the gym, putting on headphones, and grinding through a workout without a constant call to make smalltalk. I’ve found the Crossfit group very nice, but a little intimidating – some folks are too cool for school. This is probably my own insecurity coming through, and there’s naturally gonna be some cohesion that you can’t jump right into among a group that’s been working out together for 3+ years.
  • There is a competition/performance aspect to it that I’d mostly rather do without. As well-intended as it is, I find it pretty uncomfortable when people clap and cheer when I’m the last person struggling to finish a workout. I’d rather just wallow in my suboptimal fitness without anyone noticing (or throwing me pity cheers, anyway).
  • It’s EXPENSIVE. In SF we’re talking ~$270/mo. with a six month contract.

All in all, though, the pros outweigh the cons for me at this point. When I’m a seasoned vet, my clean/snatch form isn’t complete garbage, and I have a garage, I’ll probably hang up the Crossfit. For now it’s a worthwhile deal, and I believe strongly in its efficacy for getting basically anyone into very good shape quickly.

hkg

I spent 14 days in Hong Kong and Japan

My first time in Asia was refreshing and instructive in weird, deep ways. I’d recommend anyone with the means and interest check out Japan and Hong Kong, in that order of priority. Both are great, but Japan is truly alien and wonderful.

Other travels:

  • 4 trips to Virginia
  • 3 trips to Yosemite
  • 2 trips to Ohio
  • 2 trips to Las Vegas
  • 1 trip to LA for the Crossfit Games
  • 1 trip to Vermont
  • 1 trip to New York City

btc

I kept buying Bitcoin

And it’s going pretty well. Back in April when the price was in the four hundreds I seriously considered selling off the bulk of my VTSAX index funds and sinking the yield into BTC, but I’ve got this “immutable trade” policy – I don’t sell unless I need the money – and so I figured it better to stick to my principles. Boy that would’ve been a nice payoff, though.

Looking forward to 2017

My plans for 2017 mostly revolve around responding to the issues I had in

  1. I’ve got more clear an idea of the directions I’d like to go versus previous years, so I’m pretty excited.

More metrics

When I switched jobs to Tempo, many of the benefits of larger software companies went away. No more regular free food, no more laundry. Oh boo-hoo, right? Software guy loses his perks. Well, yeah, and it’s rough after you’ve acclimated to that kind of pampering.

The back half of this year felt like nothing but working, Crossfit, cooking, doing laundry, and then sleeping. I began to feel as though I wasn’t making any progress on personal projects (reading, coding, music, writing) and I got pretty frustrated as a result.

So I’d like to get more quantitative with time monitoring. I’ve had an idea kicking around for how to do this; how to build a model to both monitor and nudge me in the right direction with time usage. I’d like to see that through. Maybe there’ll be a subsequent post more on that.

Generally I’d like to start keeping more metrics on things like

  • how often I walk outside (preferably twice a day)
  • how often I call/see my family (preferably more than I have been)
  • how often I do intense workouts (preferably 5 times a week)
  • how often I hike (preferably 2 times a week)
  • how often I meditate
  • how often I eat off-diet
  • how much time I spend sitting per day
  • how many micro-workouts I do per day (preferably 2)
  • how much direct sunlight I get per day
  • net worth

and so on.

Stress reduction

Stress is bad for you and it isn’t much fun. The back half of the year saw me getting massively stressed out over work.

Much of this stress I probably saddled myself with, and I acknowledge that some amount of stress probably spurs me to do better work and, more generally, grow (see hormesis). But too much stress is bad, and a condition that sees me walking into work already keyed up every other day is probably too much stress.

So I’m going to try to loosen my grip a little. I don’t want to turn into some bland Zen prune, but upping the meditation and generally seeking more relaxing, genuinely fun activities isn’t gonna hurt.

Put some skin in the game and make predictions

I’m very inspired by the Slate Star Codex guy’s yearly ritual of making new predictions and grading last year’s. I’m not going to any in this post, but I’ll be publishing some shortly.


It’s been a horrible, wonderful year. Glad to be here.