Family Regex

Some families have a crest, mine has a regex:

Screen Shot 2017-04-08 at 10.40.57 PM

Well technically all families have a regex, but most of them are something overly-specific like “(Stuart|Nancy|Peter|Mackenzie)” or something overly-general like “\w{5,9}”.

A good family regex doesn’t just happen; it takes years of planning. First off, meet, date and then eventually marry (or don’t, it’s 2017) someone who basically shares the same name as you. Next, have one or more kids and make sure their names don’t deviate too far from yours. Remember, we’re playing the long game here. The rewards of a slimmed-down family regex can’t be over-stated.

For our next kid, we’re still trying to decide between “Pekok” and “Poxron”.

The Liberation Of Making Bad Decisions


When I started managing a team of humans a few years ago I was scared of making wrong decisions. I guess I thought or hoped that all my decisions would be winners. I was quickly disabused of that idea.

I had long gotten over that fear when it came to tech decisions, mostly because some mistakes are inevitable and because software mistakes can (usually) be corrected. Decisions that affected people seemed different somehow. The stakes seemed higher. They seemed more important to always get right the first time.

Welp, one of the great things that parenthood has given me is a healthy relationship with my bad decisions. When you have complete responsibility for another human, the sheer number of decisions you have to make means that many of them won’t be awesome. Just off the top of my head, here’s a recent mulligans: I let the baby try some of my spicy salad (tears and rapid water-gulping followed).

And yet, life goes on. And most decisions actually do turn out well.

All of this has helped me become a better people manager. This equation of “lots of practice making daily decisions + a bunch of them being the wrong one + things still working out ok” ends up taking the fear out of decision-making in other areas of your life and helps you not take the fallout from the bad decisions as personally.



When raising young children, you don’t get to keep all your energy. You need to give a lot of it to your child and the day-to-day activities associated with raising them. You do, of course, have some energy left over which you use to keep the rest of your life running: work, relationships, friends, hobbies, etc. My highly unscientific estimate is that you have around 70% of your normal energy left (much less for newborns).

Strictly by the numbers this should be a detriment, with less energy for work, less for friends. The strange thing I’ve noticed is that I actually function better on 70% energy than on 100% [1]. I’m not sure the exact reason but I think focus and perspective are the main culprits.

With only 70% energy to work with in a given day, the amount of bullshit I put up with is almost zero. Since having a kid a year and a half ago, the amount of meaningful things I get done has gone up. The amount of TV I watch has gone down. The number of grudges I hold and times I get offended has gone down. It all adds up to a more efficient and satisfying use of energy.

Here’s to operating at 70%!

[1] I’ve noticed this when I play soccer as well: I play better after burning off around 30% of my excess energy. It calms me down and forces me to play smarter.

It’s All Relative (or “How I Learned To Stop Worrying And Love Long-Term Gainful Employment”)

When I lived in Japan, potential employers would look at 3 years experience at the same company and ask “What happened? Why’d you leave so quickly?” There was a notion of someone being “jumpy” for having the audacity, the sheer nerve, to change jobs. It seemed to imply the person was somehow unstable and would probably leave quickly from any new job as well.

When I moved from Osaka to San Francisco it moved to the complete other end of the spectrum. I’ve had recruiters email me 1 year and 1 day into a job saying “You’ve already been there a year, you must be ready for a change!” As I marked my recent 3-year anniversary at Sharethrough, it almost felt like some kind of heresy.

There’s an unspoken judgement in tech that staying somewhere too long is death to both your ambition and skills. I feel like that notion is a bit overblown. I understand that changing companies is a good way to stay sharp technically, increase position/income, see different projects/environments, etc. But you can do most of those things within the boundaries of a good company, plus you get the bonus of building something long-term and staying with a group you really like (and have most likely helped shape).

I make it a point to take stock every 6 months and think about what I want to learn/accomplish in the upcoming 6 months. If I feel like there’s nothing left to learn or nowhere to grow, then yeah, it’s time for a change, no hard feelings. But I’m trying my best not to let that be dictated by some external notion of “It’s been X years, time to push off”.

Where The Action Is


There’s an interesting shift in the perception of Ruby recently, with some people in the community claiming that it’s becoming a dying language.

No major startup is lauding their use of Ruby and existing businesses are migrating away or simply writing new applications in a different language.

That last part has certainly been true for my company, and even early champions like Twitter have largely moved on to other tech stacks for what they’re building.

I still love using Ruby. And Rails is a great framework for building web apps. But it’s no longer where the action is for the main parts of what we’re building. The main things we’ve built in the past year are a real-time auction system/ad server and several client-side apps. Those represent the 2 areas where Ruby/Rails falls short:

  • back-end applications that need to be fast and scale well
  • rich client-side applications that need more than standard CRUD functionality. Ruby’s a great base but we need to lean more and more on Javascript and associated libraries (jQuery/Backbone/Marionette) to get the user experience we want

After using Ruby for 2 and a half years I now consider myself more of a Javascript developer than a Ruby developer, based purely on how much time I spend in both and where my head’s at on a given day.

The day-to-day trenches of adult life

In the day-to-day trenches of adult life, there is actually no such thing as atheism. There is no such thing as not worshipping. Everybody worships. The only choice we get is what to worship. And the compelling reason for maybe choosing some sort of god or spiritual-type thing to worship is that pretty much anything else you worship will eat you alive. 

This passage is from an amazing commencement speech given at Kenyon College by David Foster Wallace back in 2005. The whole 20-minute speech is well worth a watch but that quote in particular really made me think.

What’s cool about this quote (and this comes out more when you listen to the whole speech) is that he’s not necessarily saying you need to run out and get a religion. He’s just warning that thinking you can throw away any notion of a belief system that influences your life is bullshit and that the default ones that will spring up if you don’t acknowledge this can be even worse.

That other thing I take away from it is that you have to be careful what you put into your mind because that becomes the thing that you’re about. The whole “day-to-day trenches of adult life” part is what sells this for me, because anyone can go for awhile in life just doing whatever and believing whatever without getting into too much trouble but as you get older there are inevitably times when you get tested and have to decide what you’re about. Without some kind of belief system those hard times will just smash your head in.

The Only Obvious Criteria of Good Design

Maximum Joy

I continue to be impressed with the quality and content of the Hack Design course. The UI/UX sections are the ones I’ve gotten the most out of, and the article that I keep thinking about is Learning to See by Oliver Reichenstein. There are enough great quotes in that one article to fill an inspirational calendar but the one that really knocked me on my ass was this:

How well something works is the only obvious criteria of good design.

…which i think is so true in software. There are many possible measures for how well a piece of software has been made, but the only one that really matters is whether you can get the damn thing to do what you want. This has made me re-think a lot of the systems that I’m building both for work at Sharethrough and for my side projects.

Upping my design game was one of the best decisions I’ve made as a software developer – it makes you see all the things you create in a different light. I’m excited to keep going.