Building a personal map

Posted on March 17th, 2018

I love the feeling of building up a mental map of a once-unfamiliar place. Last week I traveled to several cities that I’d never visited before (Beijing, Saigon, Singapore, Jakarta, and Bangalore), so March has been full of this sensation. I joked with friends that I was “training my neural net". I’d read a lot about two of the cities (Beijing, Singapore), knew a bit about one (Saigon), and knew close to nothing about the others (Jakarta,...

Webpack and Ethereum smart contracts with Typescript

Posted on March 12th, 2018

I originally gave this talk at Typescript Conference 2018. You can find the slides here. TypeScript is a godsend for Webpack and Ethereum developers. In the nascent world of smart contracts, developer-friendly tooling is almost non-existent, the only error message is VM Exception: revert, and bugs can cost millions of dollars. Meanwhile, most Webpack config files are incomprehensible, fragile, and cobbled together from a mess of Stack Overflo...

Singapore: Sovereign City

Posted on March 7th, 2018

Epistemic status: Highly uncertain, asserted with ~40% confidence. Low enough that I didn’t publish this piece when I originally wrote it in May of 2016. But a recent first trip to Singapore reaffirmed the intuitions in here. Even if the argument is wrong, I think it’s wrong in interesting ways, and I want to start a conversation about it. Plus, since originally drafting this essay I now have the concept of “epistemic status" in my toolset (h/...

Bike share face-off: JUMP vs GoBike

Posted on February 19th, 2018

A few weeks ago, JUMP Bikes launched a pilot of 250 bikes in SF. Their fleet is dockless and electric, and I’ve been skeptical of the hype around both features, so I was excited to give it a spin. My experience with GoBike, which by comparison both has stations and is human-powered (for now), has been fantastic. I’ve used it nearly every day (sometimes multiple times a day!) since signing up last spring. I evangelize it to anyone who will lis...

Re: Flaking

Posted on February 13th, 2018

Dan Wang emailed me with some interesting additional hypotheses regarding the question of flaking that I raised last week: I liked your piece on flaking. When I moved to New York, I found that flaking declined dramatically. So I think that any piece that talks about flaking in SF has to explain why it happens less in NY. Here's what I'd offer: SF is made up more of tech people, who like to spend long periods of time on their own, and aren't o...

Special snowflakes and canonical examples

Posted on February 9th, 2018

I’m proud to be a beginner! But when it comes to the concrete steps of learning something new, I often feel undue shame about my approach. At first, I thought it was a fear of not knowing things or, more likely, a fear of other people seeing of me as a beginner. This doesn’t add up though. I don’t hesitate to ask questions when I’m stuck, and I pride myself on my love of picking up new skills and learning new things. In fact, going from zero ...

What's in a name?

Posted on February 6th, 2018

I often use a thesaurus while coding, and I mentioned this fact to a non-programmer friend today. He was shocked, and he said that he thought that programming was mathematical, not lexical. But it’s not so easy to separate out—naming is one of the most important parts of programming (and math!), because it’s how you reduce complexity down to something that you can understand, explain, and maneuver. The conversation reminded me of a post I rea...

Teach a girl to fish

Posted on February 5th, 2018

My favorite aphorism might be "Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime". It's a useful idea to incorporate into your life philosophy, both for yourself and others. It's nice to offer help to someone with a problem that you can solve, but far better to teach them how to do it.* On the flip side, when there's something you don't know how to do, I encourage you to find someone who will bot...

Why is pop culture obsessed with battles between good and evil?

Posted on February 2nd, 2018

This essay from Aeon makes the observation that folktales weren't always about fighting for a noble value. Rather they were just about getting what you want, without framing actions in a strong moral light: Stories from an oral tradition never have anything like a modern good guy or bad guy in them, despite their reputation for being moralising. In stories such as Jack and the Beanstalk or Sleeping Beauty, just who is the good guy? Jack is th...

Why is flaking so widespread in San Francisco?

Posted on February 2nd, 2018

In an email exchange with Brian Lui, he asked me an interesting question about the rate of flaking in San Francisco: I had a brief question too. I've read that the rate of "flaking" in San Francisco is really high, because everyone is so busy and there is so much to do. But then I thought, wouldn't that lead to an extra strong norm against flaking, because your time is too precious to get flaked on by someone? Apparently this doesn't happen an...

Other people are just as multifaceted as you

Posted on February 2nd, 2018

Most people seem to think of themselves as “at the edge" of several communities rather than defined by a single identity. It’s easy to think of yourself as special and that other people are more singularly defined, but that’s a bias stemming from the fact that you’re mostly seeing people in the context of just one of the communities they’re a part of. It can be hard to remember: you just don’t have visibility into their other thoughts and othe...

Empathy for the Devil

Posted on October 8th, 2017

History is too often reduced to stories of good versus evil. We get the impression that we are somehow different from the people who were bad, and we take for granted that we would never make similar choices. We should learn to empathize with those who make terrible choices — not to pardon their choices nor to deny ourselves the right to grieve, but to recognize when we might be heading down a similar path. If we see them as people and underst...

Subsidizing Suburbia series

Posted on July 30th, 2017

Subsidizing Suburbia: A forgotten history of how the government created suburbiaFinancing Suburbia: How government mortgage policy determined where you liveExempting Suburbia: How suburban sprawl gets special treatment in our tax codePaving Suburbia: How federal projects reshaped your community around the automobile (coming soon!)Zoning Suburbia: How single-use zoning is responsible for your 45-minute commute (coming soon!)

Unambiguous Webpack config with Typescript

Posted on June 19th, 2017

You can write your Webpack config in Typescript, and it’ll save you a huge amount of pain. Webpack’s docs would lead you to believe that using Typescript requires a hacky customized set up, but in fact it’s as simple as installing a single module and changing your extensions from .js to .ts! You can find the rest of the post at the Webpack blog.

Ode to Audio: Why You Should Give Podcasts and Audiobooks a Chance

Posted on August 25th, 2016

I love doing chores. The more time-consuming they are, the better. I jump at opportunities to empty the dishwasher, and grocery shopping is a highlight of my week. I don’t even mind sorting the trash, as long as I have my phone and some earbuds handy. I used to dread housework as much as the next person. But that all changed when John introduced me to podcasts and audiobooks two years ago. Mundane tasks have become opportunities to learn, to...

Podcast & Audiobook Starter Kit

Posted on August 24th, 2016

In my previous post, I compiled a list of reasons why on-demand audio is great. Evangelism works best when you make it easy to hit the ground running, so here are a few tips and recommendations. Hopefully this will lower the activation energy for getting started. Podcasts You can download my complete list of subscriptions as an opml file or as more readable json.You should be able to load the opml into most podcast apps by going into Settings ...

We Should Be Building Cities for People, Not Cars

Posted on August 19th, 2016

The way we live is shaped by our infrastructure—the public spaces, building codes, and utilities that serve a city or region. It can act as the foundation for thriving communities, but it can also establish unhealthy patterns when designed poorly.For decades, San Francisco’s waterfront was dominated by the massive Embarcadero Freeway. The Ferry Building was hidden in the shadow of a grungy overpass, and the double decker highway blocked reside...

Google Maps Convinced Me to Ditch My Car

Posted on June 30th, 2016

I am always a little embarrassed when people find out that I had a car in college. I'm a transit geek after all, and I always encourage friends to take public and on-demand transit rather than generate congestion and consume parking spots. Despite all this, I drove multiple times each week last year, because I felt like it was my only real option to get to places I needed to go around the Bay Area. Now, I rarely drive anymore, and I've become ...

The Death and Life of American Company Towns

Posted on June 29th, 2016

Google feeds its employees well. No Googler's desk is further than 150 feet from a "micro kitchen" stocked with goodies, and the campus is dotted with over 20 restaurants and cafes. Everything on the menu is free of charge to Googlers and their guests, and it includes specialities like creme brûlée and fresh handmade sushi. The perks of working at Google extend far beyond the free food and snacks. Google HQ contains a bowling alley, bocce ball...

Visual Technology

Posted on February 25th, 2016

Technology enables us to see the world in ways that are inaccessible to our natural senses. In opening these new worlds to us, it encourages introspection and discovery, inflates our cosmic egos, and then puts us back in our place. Discovery of perspective Visual technology plays a key role in human cognition and our sense of self. One primitive example is the mirror, which literally enables self reflection. Mirrors are so deeply ingrained in...