Edit on GitHub

# Type Guards for Union Types in TypeScript

In my day job at Blend, I write a lot of TypeScript1. One great feature of TypeScript is the ability to specify an enum with a finite set of values as a union type:

type Coordinate = 'x' | 'y'


which then gives compile time checking for values of this type …

Edit on GitHub

# Attack of Ruby Stack Traces

First, let me say I'm not posting this to shame any company or language community. Getting to the scale Twitter reached in a short amount of time can quickly make past engineering decisions look foolish in hindsight. But almost always they are decisions made in good faith with the current …

Edit on GitHub

# Learn You a LAPACK for Great Good

Linear Algebra is an incredibly powerful tool. A joke among mathematicians is that the only way we can solve a hard problem is to boil it down to Linear Algebra1. Harnessing the numerical power of Linear Algebra has been done via LAPACK for the last 40+ years.

In my …

Edit on GitHub

After five years, I'm excited to say I've finished my PhD. I certainly learned a lot and met a lot of great people along the way.

One of the biggest lessons I learned was about myself: I need to say no more often. I continued to say yes, to side …

Edit on GitHub

# Installing Python on OS X

Caveat: I stopped using a Mac for my development machine way back in the fall of 2014. You probably shouldn't listen to me.

### What Not to Do

The first rule of using Python on any operating system: don't use system Python. The OS relies on that Python, including the packages …