So You Think You Can Beat Your GPS

My biggest pet peeve when I’m in an Uber/Lyft are drivers who think they can beat the GPS. They make their own route. Some will brag about it too. They explain they’re avoiding traffic, or that they’ve lived here their entire lives and know the routes better.

Nobody tells me when to turn!

It’s true, there was a time when navigation software wasn’t that great and you could conceivably do better if you knew the area well. Early versions would plot the shortest route by distance, unaware of speed limits, route capacity, traffic… sometimes unaware of forbidden turns or one way streets. Sometimes blind to the existence of certain streets entirely! But that time has past.

The best navigation apps today, your Google Maps, your Waze… they know it all.

You, Uber driver, you think this avenue is faster than the stop-ridden street your app is recommending? Why? ‘Cause your gut says so? Well guess what, Google timed it. In fact they probably timed it today! And yesterday. And they will again tomorrow. Every time someone takes that route with the navigation on, they’re collecting data.

So when their app plots a route for you, it’s because it has consistently performed better under similar conditions (like the time of day, maybe even the weather!). Are you accounting for all that in your calculations? How many trip times are you averaging in your mind before you figure you know the best route?

When you choose to ignore the recommended route you are entering a competition. Make no mistake, your navigation app will check who the winner is based on whether or not you beat the original time estimate. One man versus hundreds of engineers harnessing the power of thousands of computers collecting data from millions of drivers. Your odds aren’t looking good.

Smarter IDEs

As a programmer I use specialized software to edit code. Hundreds of shortcuts are available out of the box to make certain operations faster, like deleting an entire line of code, moving it up or down, or searching and opening a particular file. Out of the hundreds I maybe know and use a couple dozens. I can also create my own shortcuts to make nearly any frequently repeated operation faster.

I happen to use IntelliJ IDEA, but this is true of most IDEs. And it’s not just programming software. Shortcuts are everywhere from operating systems to email clients and everything in between. I’m guessing I’m not a human exception when I say, I only know a tiny fraction of what’s available.

Now, thankfully, I don’t need to know ALL the shortcuts. But I also know that I don’t know all the shortcuts that would save me time. So what should I do? Well, I could print cheat sheets and sort of read through them and highlight things that seem useful and try to remember them and put them in practice as much as possible until they become muscle memory. I’ve done this before.

OR, what if my IDE could teach me? And not in a “Tip of the Day” sort of way. What if it identified my own personal patterns? The things that I do over and over. Like inputting a certain block of code manually, or deleting words character by character. And what if it could look at my frequent, most time-consuming patterns and suggest or even create shortcuts to replace them? Like adding a live template or telling me to hold down ⌥ (option) as I delete.

That would be dope is what that would be.


Nation of Immigrants

Amidst the current wave of nationalism in the USA, it’s important to remind ourselves that we are a nation of immigrants. It’s also worth noting that we are a nation of immigrants who got started by eradicating most of the natives.


But that’s unlikely to happen to us. We’re not welcoming imperial armies onto our shores. Today’s immigrants aren’t trying to impose their way of life by force. Rather, they love America just the way it is. Those who lived through oppressive regimes understand how good we have it better than many of today’s natives, myself included.

What about the ones who don’t love America? Those who believe in a hateful ideology. The terrorists. They’re out there, and it seems to me we have two high-level options for dealing with them.

We can isolate ourselves. Tell refugees who share our values that they’re shit out of luck because they share the same ethnicity as their oppressors, and that’s scary.

OR, we could welcome them. We could say hey, if you believe in freedom and democracy, if you just want a shot at a peaceful and prosperous life for you and your family, then please come in. You belong here.

And for the teeny tiny minority who means us harm, hey, we’ll try to filter them out. But we’ll miss some. Now imagine if those who slipped through the cracks and arrived in this country, rather than being greeted by hate-affirming racism and fear, were instead flooded with tolerance, freedom, equality, and love… the likes of which they had never experienced before.

In other words, if you’re a nationalist and you believe America is the greatest country on Earth… If this is you:


Then isn’t America great enough to convince visitors of its greatness, no matter how skeptical they may be? And if not, isn’t that the greatness we should strive for?


I’ve been investing in Ethereum lately. It’s the second most popular cryptocurrency (after Bitcoin) with a market cap of over $20 billion. Three things make it particularly interesting:

First off, it has the most professional-looking websites and software of any other cryptocurrency that I’ve seen, as well as a visionary founder working full-time on the project.

Second, other cryptocurrencies can be created on top of Ethereum, ie. using the same network but with their own identity, supply, and rules. Although it’s not yet possible to replicate the functionality of all other existing cryptocurrencies this way, there’s a possibility that Ethereum will become the end-all and be-all blockchain.

Finally, Ethereum is much more than a cryptocurrency. It thinks of itself as a “decentralized platform that runs smart contracts.” That’s a mouthful. The way I think about it? The Ethereum network is made up of humans, like you and me, that can transact much like we can with Bitcoin or with dollars or whatever. It’s also made up of robots.

Anyone can create and deploy robots (or “bots”) onto the network. They are able to transact with all other members of the network, humans and bots. Their exact behavior is programmed at creation and can never be changed.

These bots are what’s called smart contracts. Their behavior can replicate that of banks, funds, markets, wills and many other things yet to be invented, all without the need for human arbiters.

Genius Assholes

A coworker once told me that he would hire any amazing engineer, even if they are undeniably assholes. Having pondered this, it seems short-sighted. Sure, some people — engineers or other — are brilliant, super productive, and exceptional dicks.

Anybody willing to tolerate them is likely underestimating, or flat-out ignoring the effect they have on other people. One bad apple spoils the whole bunch, and so forth. Few things deplete energy and motivation faster than having to interact with mean, bitter people.

So they’re brilliant. Fine. Does it make up for bringing a dozen of their coworkers down, reducing their productivity as a result? Does it make up for the recursive effect that those coworkers’ spoiled moods then have on yet more people?