Hi, I'm Allen Pike. I run Steamclock, where we design and develop polished apps in beautiful Vancouver. At least monthly, I write an article and publish it here.

Two Birds, One Scone

December 31, 2020

Humans are wired for language. Soon after birth we start noticing phonemes, and within a year we’re recognizing words. Then we’re off to the races, absorbing vocabulary, trying out new words, and refining how we communicate.

Despite having learned enough words to get by, as teenagers we continue to rapidly assimilate new words and phrases. We go beyond saying what needs to be said, and experiment with how it can be said. We learn the nuance between different word choices, and the subtext that certain phrases imply.

For example you could say that something is “cool”, which means you think it’s good. It also means, these days, that you are old. Alternatively, you could say that thing “slaps”, which means you think it’s good, and also that you are not old. Or you don’t want to be seen as old. Or you are attempting to embarrass your kids.

While preceding generations may roll their eyes at today’s kids’ flexing, capping, and yeeting, new words and phrases like these stick out. Through exposure, they often enter our receptive vocabularies whether we like it or not. They become words we recognize.

What does have a tendency to calcify with age, though, is our expressive vocabularies. The words we say, and the meanings we ascribe to them, tend to kind of settle in, and don’t change much unless we intentionally update them.

Although the meaning when I use the word “cool” is, ironically, changing over time to communicate that I am not cool, I don’t really want to stop saying “cool”, and I am certainly not cool anymore – if I ever was, which I wasn’t – and you know what? I’m cool with all that.

In the case of cool, the word’s meaning has shifted, but it still works. Sometimes though, words’ implications shift in ways that we don’t want. Or their implications already are something we don’t want, and we just don’t realize it yet.

Meaning is in the ear of the recipient

While our language continually mints new words, our society also deprecates old ones. Sometimes they just fall out of fashion. I know my grandma calls a couch a “chesterfield”, but nobody in my generation would call one that. That’s the way it goes.

Other times, though, we retire a phrase because it has an in-built hurtful or discriminatory connotation, or has developed one. As our society has become more tolerant, many overtly racist, sexist, and homophobic terms have fallen out of use in everyday speech.

More recently, we’ve started making progress on less overt but still racist language, ableist terms, gendered phrases, insults that stigmatize people living with mental illness, and… wait a minute. Did we actually have a major league sports team using the name “Redskins” in 2020?

There’s still a lot of work to be done. That work though, the process of improving our expressive vocabularies, is a complex process.

Let’s take “crazy” as an example.

Popular discussion around mental health terms like crazy, and how we should probably not be using them, has been going on for a few years now. Although a few people have successfully retired crazy from their repertoires, it is still an extremely commonly used word.

Although most of us would be uncomfortable directly labelling a person living with mental illness “crazy”, English speakers of today constantly label negative, unpredictable, or ridiculous things as crazy. I myself used the term over 30 times over the years on this very website, especially before 2015. It’s in commercials, it’s in music, it’s in kids’ cartoons. Over the same years that terms like “retarded” have fallen into disuse, use of the word “crazy” has actually increased.

It’s pervasive.

Yet, if it is to be a retired word, as it seems like it probably will be, its demise will probably still follow a familiar pattern:

  1. Term is pervasive, concern about it is not mainstream.
  2. Pushback against it builds, discussions occur, “early adopters” start working it out of their vocabulary, years of habit make change difficult.
  3. Term slowly becomes thought of as inappropriate. It stops appearing in polite media. Laggards protest, claiming the change is “political correctness” or “cancel culture” run amok.
  4. The change hits a tipping point, and the word is widely considered offensive. Grandparents using the word at dinner cause a ruckus.

Like many changes, words are retired first slowly, then quickly.

Disney has been criticized for playing cognitively impaired characters for humour. One one hand, I love Heihei. On the other hand... yikes.

A strategy for evolution

One of the things the last few decades of civil rights progress has taught us is that social justice is an ongoing process. The sheer scale of the racism, sexism, ableism, and other kinds of discrimination in our day to day speech is staggering. We can’t fix it all simultaneously. Society develops awareness of it, and strips it out, in waves. And as with any society-scale change, the size of it all can feel overwhelming.

It can seem, especially if you’re Very Online, that there is a correct and socially acceptable way to talk, and it’s constantly changing, and you’re constantly at risk of being wrong, and even if you’re putting in effort, there is a legion of more-correct hyper-woke Twitter people poised to strike you down if you speak in error or ignorance.

And maybe that’s a little bit true.

But that idea, the concern that we should be motivated by the social-justice word police out on the internet, is not a productive frame of mind for doing this work. Fear of backlash is a bad place to start from when you’re doing slow, meaningful, lifelong self improvement.

Because – and this is easy to forget in the noise – the actual goal is not to just avoid backlash. The goal is to show love. It’s to be respectful of people worthy of respect, to invest in small changes that can make people feel more welcome in this harsh world. The goal is to slowly build a better understanding of how our words make people feel, and the example we set when we use them. To refine our communication so it gets across the love and respect and empathy we’ve built.

And if it prevents you from getting destroyed on the internet for saying something poorly and necessitating a screenshot of your heartfelt Notes-app apology, well then that’s a nice bonus.

An empathy-first mindset to language actually feeds two birds with one scone: it informs and motivates our process of doing better, and can also act as a damper on the “smash people on the internet” instinct. The goal is not to alienate. We don’t need to be the person who learned how to use “racialized” last month and then turn around and jump on somebody who did not use it today. Heck, Apple’s autocorrect hasn’t even picked up that racialized is a word yet.

Meanwhile, there are many phrases probably worth banishing, dozens of words we may not yet recognize as problems, but that could – if we don’t work them out of our systems – make us that caustic grandparent at some future dinner table. So it’s a journey.

If you are interested in prioritizing “crazy” for a vocabulary eviction, I have a little tidbit for you. The word is used really broadly these days, to the point of being a cliché. Since crazy is usually used to describe something that is interesting, there are a lot of novel words you can use instead. Depending on what you’re trying to say, your kids might be acting feral, that proposed schedule might be ridiculous, and your uncle might have been trying to sell you on his latest absurd scheme. And overall, it’s probably worth focusing first on avoiding labelling people or their actions as crazy, and worrying less about how to describe the crazy day you had.

Especially if you’re in a visible position – parent, writer, manager – it’s worth putting in the effort, slowly over time, to work words and phrases out of your vocabulary that might be seen as hurtful. Even if there’s no consensus yet that they’re offensive. Even if nobody notices, other than people who read your reluctantly self-righteous blog post about developing a just vocabulary.

Truly though, words are a case where I think the price of being an early adopter is worthwhile.

We can’t control how people interpret what we say, but we can practice continual improvement of the words we choose.


In my research for this post, I reviewed a lot of problematic phrases and proposed alternatives. (There are a lot. That’s why this is a process.) One of the more surprising candidates for banishment was the term “Kill two birds with one stone”. Coincidentally, I’d recently started using an alternative for this in recent months after seeing it on Twitter and enjoying it. To wit:

  • Kill two birds with one stone: Cliché, rather morbid
  • Feed two birds with one scone: Evokes same meaning, is adorable

To me, this is a clear upgrade.

What I hadn’t realized until this week was that the “scone” phrasing was featured in a 2018 campaign by PETA to end “common phrases that perpetuate violence towards animals”. As with many PETA initiatives it instigated more eye-rolling than actual change – most of their proposed phrases are pretty awkward, and I’d argue we have more pressing linguistic battles to fight than the campaign to retire the poultry-hostile phrase “put all your eggs in one basket”.

However, in addition to the birds and scones, I also liked another of their suggestions: swapping “Beat a dead horse” with “Feed a fed horse”. It subs in seamlessly for the existing cliché, and it also replaces the quite unnecessary unpleasantness of bludgeoning a deceased equine. Everybody wins.

Living, Fast and Slow

November 30, 2020

At the core of narrative design is the concept of pacing.

Interesting things need to happen pretty frequently, and at a brisk enough tempo to hold our attention. New elements need to be introduced over time, and new situations should test our characters and help them grow.

That said, an intense pace can only be sustained for so long. Even action movies and thrillers – good ones, anyway – intentionally bracket their sequences of intensity and turmoil with moments where our audience can reorient themselves, and process what they’ve seen. Sometimes we need a short montage as our heroes recover from a major setback, or even a few seconds in a ventilation shaft to breathe and crack a couple jokes before we jump back into action.

While great storytellers work hard to manage their pacing and give the audience alternating action and reflection, life does no such thing. Our world, haphazard as it is, is perfectly happy to give us a year of almost nothing at all, and then a year of incessantly everything so much. Where an author or screenwriter will pick one to three plots to weave together, and give much thought to how the audience’s attention is directed to important moments yet try not to overwhelm us, life will toss us eleven plots at once, and say, “Here’s some stuff, I guess?”. Rather inconsiderate, frankly.

Knowing this, society has some structures, rituals of a sort, that attempt to regulate the pacing of this otherwise random walk we’re on. We designate a few days a year, here and there, as holidays. We elevate a certain time of year as “The Holidays” and normalize the idea that some kind of reflection, reconciliation, or recuperation may happen then – and then, perhaps, set us off on January 1st with some new goals, and a renewed focus on doing better the following year.

Or at least a fresh mind and a belly full of hazelnut chocolates.

So I guess we’re not entirely on our own with regards to pacing our lives, but for the most part we need to take the reins when it comes to what’s enough and what’s too much.

Meanwhile, cooped up at home, a friend or coworker is less likely to notice if we need a break, a shoulder, or a kick in the pants. In such a state, it’s even easier to let the world’s randomness put us off track. To let it overwhelm, or stagnate, or – a pairing that once sounded unlikely but is recently all the rage – both overwhelm and stagnate at the same time.

We all know the tools for managing this, in theory. Saying no to more things, or yes to more things, as appropriate. Putting in the time to evaluate our habits and goals, instead of just going day by day. Reaching out to friends and to professional help as needed. Long hot baths and boxes of hazelnut chocolates. We can’t always control the plot, but we can control our attention, and how we as the protagonist work through what we’ve been given.

Now, if you’ll excuse me, I’m off to source some chocolate and purge a horde of OmniFocus tasks I’m never going to get around to. It’s going to be glorious.

On Refining Apps' Text

November 9, 2020

I recently wrote an article on tuning microcopy – the tiny bits of text that lead folks through your product – over on the Steamclock blog:

Just like that, the complaints stopped. We went from receiving frequent annoyed reports that transactions were broken, to occasional kind suggestions that it would be nice if people could see more than 3 months of transactions. Everybody rejoiced.

So satisfying.

How to Not Build a Social Network

October 31, 2020

I hear that you’d like to build a new social network.

Seems like a good idea, right? Today’s social media is a tire fire, the companies that dominate it rake in billions monthly, and you have a novel concept for a social app that might make people feel less blue, while making you a lot of green.

So where do we start? Well, at the moment, the top result on Google for “how to build a social network” is an Inc. article so bad that it brings me physical pain to read:

The overall vision of your website is crucial. Macro scan that will break things down into categories such as user functions, administrative functions, and advertising is a must thing to do.

Macro scan? A must thing? Website?

Focus on the core values of your social media platform and build it the best you can. Success is inevitable if you plan everything the right wat.

Wat indeed.

I regret to inform you that success is extremely not inevitable, no matter how much you plan in advance. If you start building a social media app with any sort of “my vision’s strength will inherently lead me to success” mindset, your aspiring startup is going to get impaled on a sharp and very expensive spike.

Over the last ten years I’ve worked on almost a dozen social networking apps. I’ve worked on chat apps, sharing apps, and dating apps. I’ve seen product-market misfits, product launch faceplants, and strong teams that flirted with traction but just couldn’t get the numbers required to find a path to profitability.

Given this experience, I’d like to share a guide of my own. A resource for future generations of social media hopefuls, informed by my years of walking this path. What is the best way to build a social network?

1. Don’t build a social network.

That’s it. That’s the article.

Good night everybody!

This post is now over.

When I say “Don’t build a social network” it’s not some kind of “hack” where I claim the real way to build a successful social network is to not think of it as a social network.

Trust me, half the social networks I’ve worked on had executives insisting that they were not in fact social networks. “Just because our app revolves around people posting things, following one another, and viewing the aggregated content in a feed doesn’t make it a social network”. 🙃

I’m not saying don’t call it a social network, I’m saying it is a bad idea to try and build a new platform that revolves around consumers posting content and viewing one another’s content, and you should not do that.

Thanks for tuning in – please like and subscribe, and remember to smash that bell!

You’re still here.

Okay. I’ll make you a deal.

As long you promise not to use this information to actually go and try to build a social network, I’ll share a couple of the things that I’ve learned about why it’s incredibly hard to do. The goal is to convince you not to do it.

Although it can take a lot of engineering work to meet the “table stakes” of user expectations in this space, the truth is that it’s not entirely difficult to build a social network. The truly difficult part – fiendishly difficult, really – is successfully launching one, and then turning it into a profitable business.

Trying to iterate a community

Gall’s Law tells us that “a complex system that works is invariably found to have evolved from a simple system that worked.” This generally holds true in the world of software. So much so, that it broadly outlines the challenges of building software products: understanding what parts need to be complex, keeping the rest simple, and evolving the key parts effectively enough that they get Good before you run out of time or money.

Successful software businesses are generally built this way: you make a thing that seems like it’d be useful, then you have some people try it. Based on what you learn from those people, you make the software better, in a repeating loop until the software is Good. Good, in this context, means that your app retains users well enough that you make more money from a customer than it costs to get that customer.

One awesome thing about designing and developing tools – that is, apps that solve a particular problem – is that you can usefully test most tools using a pretty small number of users. If you can find 10 engaged customers that are a reasonable representation of the target market for your tool, you can often learn a lot about how you should be improving your thing, or determine if you need a change of plans entirely.

As a rule, social software doesn’t work that way. If you cloned Facebook at full detail and fidelity – which would be a staggering amount of work at this point – plus made it meaningfully better in a way that you think users would significantly prefer over Facebook, you couldn’t just onboard 10 representative people and determine if your thing was good. Your possibly-awesome codebase with no users would just be a bizarrely complicated ghost town.

Search for a friend it says, no results. Recommended groups, none. Top photos from your network, nothing. Trends, zilch. What an overwhelming waste of time. What am I supposed to do with this? Invite my friends? Not likely.

Part of this is the well-known “network effect” where a social platform gets more valuable when there are a ton of people already on it. But there is also a subtle, related issue – a kind of “noise floor” where for a social product, it’s hard to get any signal at all from your users when there aren’t a lot of them.

Consider that even if your theoretically-better-than-Facebook platform started to get adoption in some niche, who’s to say those are the users that fit the product best? The same app in 10 parallel universes could have highly varying levels of success depending on who their early users happened to be, and how that effected the community norms, product evolution, and so on.

So sure, you might have this very nice app, only for it to be initially colonized by rabid fans of badly drawn Sonic cartoons. Next thing you know, all your user onboarding algorithms “learn” that new users always want to be recommended looping gifs of a MS Paint style Sega mascot attempting to locomote poorly.

While you’re now excited to finally be getting some user data to start validation, and you appreciate users’ feedback that they wish the app would “run fast,” your team is concerned that they may be hitting a local maxima. While you’re happy to tell your investors about your recent uptick in active users, your growth team is finding that the difficulty of acquiring and retaining new users who are not Sonic fans has actually increased, entrenching the existing userbase. Given that you’d still need to scale your network to the hundreds of millions of users to build an independent advertising business that can compete with Facebook and Google, your investors start pushing you to find an acquirer.

FOR SALE: One social network; better than Facebook (we think); as is where is; currently infested with hedgehogs. Will consider all offers.

Shooting the moon

There are countless things that can doom a social networking startup, but most seem to follow a common trajectory:

  1. Raise investment around an interesting concept and the vision of a thriving user community.
  2. Launch with engagement and retention rates so low that the system needs to be constantly “fed” with expensive new user acquisition to keep learning and iterating the product, after which maybe you see some user growth but it levels off well below the enormous size that could make an ad-driven platform profitable.
  3. The product team struggles to get traction fast enough to justify the high burn rate, and investors lose interest and cut off the venture.

To be fair, the arc of most tech startups follow a variation of the above. The issue with social networks specifically is that the number of contributing users necessary to have a compelling product and the number of active users needed to ever turn a profit are just far higher than for most software. This makes them expensive to iterate and experiment on, and necessitates a smash hit in order to be sustainable. All startups are hard, but this combo makes social media startups exquisitely difficult.

As it happens, realizing this points us to a potential formula for building a social app in a less risky way: develop a platform that is very compelling even with a small initial group of users. If you can make something so useful that you can get a small group to pay for it directly, rather than needing to scale to the point that you can profitably sell ads, you can be sustainable and then grow organically. This is perhaps then less of a social network, and moreso a social tool.

You can see this general approach in certain non-traditional social platforms like Pinboard, most modern dating apps, and even the subscription-required social spaces for fans that have proliferated due to Patreon and its ilk. If you build something that users will pay for directly, a quirky but rabid fanbase becomes an asset.

Of course, a paid social platform for Sanic GIFs has less potential upside than something that tries to dethrone Facebook or Twitter. So, just as people buy lottery tickets, people will still try and build new social networks.

And, inevitably, they will keep trying to hire our team at Steamclock to help them do so. And I will keep trying to convince them not to build a social network at all, partially with arguments like I’ve made here and partially by outlining our ever-growing list of special requirements we have for social app projects.

And – if history is any indicator – my efforts at rebuffing them will endear them to us, and convince them that they want our team of battle-worn app developers who have built who knows how many failed social networks to bring our experience to their project, giving it a better chance at avoiding the pitfalls of their predecessors. And they will probably fail too.

This is my fate. But it doesn’t have to be yours. I’ve said my piece, I’ve made my case.

Don’t build a social network.

That said, it would be great if somebody actually did build a better social network. The existing ones are kind of trash…

6 Months in the Closet

September 28, 2020

A famous notion in the business world is the “Curse of the new HQ”. The theory is that companies tend to build out a swanky new office just as their success peaks, at which point a fancy space full of potential becomes an expensive millstone.

I saw this happen up close when I was first starting out in technology. I watched a growing company design and build a beautiful new office building, only to lose a client that was too big to lose. Within a year, I was helping them move out to a much more modest space. Although there doesn’t seem to be a lot of evidence for this being a statistically significant phenomenon, I’ve long been cautious about building out any kind of office for Steamclock.

Eventually though, after ten years in business, last year we finally committed to building out an office space that fits our needs. A place we could call our own. It’s nothing monumental, but I think it’s a nice place to work. By February 2020, we’d settled in.

Working from home every Wednesday was already tough for me with a 3 year old bouncing off the walls, so with the impending arrival of our second child and a pressing bedroom shortage, I decided I was done working from home. I sold my home desk, assembled a crib in its place, and poured one out for remote work.


Within a month, our entire industry was working from home, as we waved goodbye to ye olde precedented times. Like everybody else on earth, I started searching for small desks online.

On account of our new space limitations, I didn’t have a lot of options for where to put a desk. Initially, it seemed there were no options. But as they say, “Desperate times call for removing the wire shelving from the closet near the baby’s crib and cramming a tiny standing desk in there.” A standing desk, not just for ergonomic reasons, but because there wasn’t room for a chair.

So there I was, six months ago today, wiring up a bedroom closet. Half CEO’s office, half sundress storage. Population: me.

At first, I resented it. It had no ventilation. Standing all day was tiring. The nearby breaker panel interfered with electronics. My elbow would often hit the doorknob. Getting in and out of the “office” was a mild feat of acrobatics.

This was all just slightly more annoying due to the fact we had literally just finished building a wonderful office that I loved to work in. Depending on our local advisories and statistics, I am still able to work at Steamclock from time to time, which was nice for a change but didn’t make the closet any more comfortable.

In time though, I came to terms with it. I made it nicer over time. I set up lighting and art so it wasn’t totally obvious I was working from a closet. It started to actually feel like a productive place where work gets done – a key station in my Spaceship You.

And work did get done. Our one-day-a-week working from home culture adapted to the new world. Since the initial “reorient and refocus” period, we’ve been productive and effective. We lost business in the travel sector, but gained more business in e-commerce. We kept the band together, and even have a new employee starting next week. Our work is far from over, but so far Steamclock’s doing well for a company in a world of turmoil, run from a closet office.

Still, it’s a very small office.

It’s so small that after a couple months I noticed out of the corner of my eye that I could see myself in the doorknob. Often, polished doorknobs get dull from frequent use, but this was the inside doorknob in a closet so it had rarely been touched over the years. Not only could I see my sorry mug in the reflection, I could see the entire 9 square feet I was working in.

I could see the tiny desk, and the various things I’d raised above it so there was enough space for a keyboard. I could see the lights in front of me, and the art behind me; the sundresses beside me, and the luggage above me. A 360° view of where I spend 30-50 hours a week.

Today, six months from the day I wired it up, is my last day in the closet. Like many people around the world, my family is moving to a new place that’s a bit bigger and a bit more suited to spending time at home.

As grateful as I am to be leaving the closet behind, there is a part of me that still feels the need to kind of say farewell. This space wasn’t what I wanted, but I’ve been very lucky to have it.

It was here that I learned how to work remotely, and how to make any space into a productive one. It was here that we turned lemons into lemonade. I almost feel like hiding a little commemorative plaque somewhere, tucked behind the clothing rack.

In this spot in 2020, somebody steered a business through a pandemic. It was dumb.

But it worked out.

The Case of the Missing Tuna

August 31, 2020

Fairly often, when I order food from DoorDash, I find that an item is missing. Of course, this should not be surprising, since DoorDash is a bizarre capitalist Rube Goldberg machine where every party – the restaurant, the driver, and DoorDash itself – seems to be having a bad time. It’s only fair that by patronizing and enabling this system, I should have a bad time too.

In their defense, DoorDash has long had a system for handling missing items. In the early days, they’d specially dispatch a driver to bring you the absent dish. This was impressive, but rather slow and hideously expensive for DoorDash.

In modern times, they scaled back to refunding the whole order if a part of it was missing. This leaves you a bit hungry, but it’s easy to get over a missing dragon roll when you’re eating free salmon nigiri. And let’s be honest, those dragon rolls taste so good that eating them might not have been advisable in the first place.

Still I’d often wonder, after receiving a notification that my dinner would be free, “How can this be sustainable?”

The answer will surprise you: it was not sustainable.

If you’re the sort of morbid person that likes to follow financial news about food delivery and other “gig economy” companies, you might have seen that, like its competitors, DoorDash has a margin in the range of negative 50%. That’s Wall Street speak for “giant cash-fuelled bonfire”.

As you may know, cash is not the ideal fuel for a bonfire, and as such it was only a matter of time before things changed. This year, the inevitable happened: DoorDash switched to only refunding the missing item. This is patently reasonable – I can’t fathom how many orders it would have taken for them to make up the cost of refunding me $40 when they missed a single salmon roll – but it can still be a downer.

For example, a few months back I ordered two personal pizzas – one for me and one for my wife. Only her pizza came. They refunded mine, but we still paid the full fee and tip, and I ended up eating cereal for dinner. My experience was not five stars. (For those keeping score, the cereal was Nature’s Path Flax Plus® Cinnamon Flakes, which are five stars.)

So it’s not great, but whatever. I shouldn’t be using a delivery app anyway. This is reasonable penance.

Something’s fishy

This week, things changed yet again. As it happens, my latest order was missing a mango tuna roll. Whether it was due to a policy change, a magic threshold, or my stubborn ass being too willing to keep ordering from restaurants that leave out items, DoorDash’s system flagged me as a problem customer. Perhaps the algorithm found it suspicious that anybody really wanted a mango tuna roll in the first place. I really can’t say.

In any case, the app informed me that I wasn’t getting the roll, and I wasn’t getting refunded for it, and if I was unsatisfied I should contact support. Eyebrow firmly raised, I politely informed their support chat about this injustice. The agent apologized, offered to “check what happened”, then after 60 seconds closed the chat.

A second attempt led to a message that they would no longer compensate me for missing food due to my account history.

The nerve! After the dozens of times I’ve offered them the opportunity to deliver me food at a loss, after all the money they’ve spent on me, they just toss me aside. They clearly don’t appreciate what a critical part of their business I am. I can only hope my tuna went to a good home.

I must say that it’s hard to justify using their service anymore if they’re going to continue charging me for food I didn’t get. From here on out, Doordash isn’t going to get any more chances to lose money on me, no sir.

Now, in theory, I should start ordering our sushi directly from the restaurant, but there’s a little complication: our preferred sushi place doesn’t have their own delivery.

Luckily for me, there are other fish in the sea. Not other sushi restaurants – there are hundreds of those, but any Vancouverite knows that finding the right sushi restaurant is a serious undertaking. But there are a variety of other delivery apps, eagerly waiting for a chance to bring my family sushi using their VCs’ money.

So for now, I’ll switch to another app. Maybe they’ll have a better system for helping the restaurant ensure the whole order is in the bag before it’s picked up. Or maybe they’ll find a way to earn enough money to comp the occasional wayward tuna and still stay in business. Or, most likely, they’ll just implode, one by one, until my entire generation starves – or at least becomes tragically deficient in Omega-3 acids.

In any case, so long DoorDash. Thanks for all the fish.

Being Good at Roulette

July 31, 2020

The first time I visited Las Vegas was on a business trip. I was 21. My official mission: train a large customer on our new software. My unofficial mission: try my hand at a Vegas table game.

Now, I’m a pretty logical person. Given that there is no such thing as luck, I knew that betting at a casino is irrational – unless perhaps you’re cheating, or you’re very good at poker. Still, I thought it would be fun. Pay $20 to say I lost some money in Vegas.

So on my first night, once I was happy with my slides, I ventured down to the casino floor of our hotel. I observed the various games as I passed by, but I knew where I was headed: roulette. It seemed to me that there was no simpler, no purer a way to lose your money in Vegas than roulette. The nakedness of its terrible odds were part of the charm.

I approached a table, and watched the guy ahead of me play, studying the etiquette. When he cashed out, I sat down and turned my $20 into 4 chips, $5 each.

Nervously, I reached out and made the simplest bet I could. $5 on black; I won $5. I put another $5 on black, and again won $5. “Okay, I get how this works.” But I wasn’t there to try and beat the house. I was there to lose my $20. So I took $5, and put it on 17. And won $175.

Of course, I made the next logical move: I cashed out immediately. I had gotten temporarily lucky, and I cashed out feeling like king of the world. I bought a hideously expensive whiskey cocktail and felt proud for trying something new.

The next day, as I was gearing up to fly home, I found myself passing near that casino floor again. Remembering how much fun I had last time, I thought I might as well take a second crack at my goal of losing $20. I sat down at a different table, but this time went right to my patented strategy: I bet $5 on 17. And holy shit, I won $175.

Now, this is not a great thing to happen to somebody. I mean, in one way it was extremely great – sweet, another $175! And cerebrally, I knew that hitting two single bets in a row is an extreme fluke, a 1444 to 1 chance. But the emotional high from that hit, the endorphins and adrenaline, it messes with you. You can enter a casino a logical human being, yet next thing you know you’re asking yourself, “Huh. Am I… good at roulette?”

You will be surprised to learn that I am, in fact, not good at roulette.

After promptly losing $100, I cashed out and headed to the bar. This time I felt less like king of the world, and more just a participant in the human condition. Still, I suppose, $100 was a small price to pay to learn conclusively that I am not good at roulette.

Luck tends to cause problems. When I say luck in this context, I don’t mean the fostered luck that results from being open minded, observant, and keeping a positive mindset. It does seem that people who think of themselves as chronically lucky do have more positive things happen to them, partially due to how they approach life.

Random luck, though, that just happens. Random luck is something you stumble upon. It’s the privilege you were born into, and the coin flips that have gone your way since. While it’s certainly nice to receive random luck, it’s not all roses. When something goes your way, your instinct is to feel like you’ve earned it. Random luck can initially make people feel guilty, and that cognitive dissonance often leads to people reframing their good fortune as the product of skill or hard work. The next thing you know, people feel entitled to the spoils of chance.

Besides the thorny problems of entitlement, if you’re not careful random luck can also make you a less effective person. At best, an unearned windfall can make you less motivated, less hungry to make things better. More dangerously, a lucky success can make you overestimate your skill, leading to a kind of luck-generated Dunning-Kruger effect.

As it happens, most great leaders seem to intentionally stay mindful of the role luck has played in their successes. When luck comes up, Barack Obama is eager to acknowledge the factor it played in his life – skill and hard work were necessary, but not sufficient to achieve what he did. Meanwhile, if you ask his successor about luck, you’re more likely to hear about how luck just amounts to hard work, or that success is not due to luck at all. Such are the differences between a thoughtful leader and a lucky idiot.

In fact, the majority of the highly successful CEOs they study in the book Good to Great name luck as a key factor in their success. While that is kind of strange – the whole point of the study was to determine what objective factors lead to successful companies – luck-awareness seems to actually make people more effective. Correctly attributing some of your success to luck seems to inoculate you against arrogance, and foster that lucky mindset, which we know can itself be helpful.

So, it seems, that’s the formula. Next time you have an unexpected success, don’t let it rob you of your humility. Don’t let your mind trick you into believing you’re somehow good at roulette. But do try to be mindful of your good fortune.

I bet you can think of five reasons you’re lucky right now, and you can create even more luck just by adopting a positive and open perspective on things. All because you happened to read some blog post about roulette.

I suppose you’re just lucky.

The Secret Rules of iOS Development

June 30, 2020

Two weeks ago, news broke that Apple rejected the iOS version of Hey, Basecamp’s highly anticipated new email product. The reasoning? Like many apps on iOS, Hey didn’t support Apple’s in-app purchase system. Not long ago, Hey’s app would have been approved, but a recent change to the secret rules – not the public guidelines, but the actual policies Apple uses to selectively enforce those guidelines – resulted in a surprise rejection.

As he often does, Michael Tsai compiled quotes from various articles and stories that resulted. The first comments were from pundits and observers, but they quickly gave way to a catalogue of greivances, unpleasant surprises, and weird injustices developers have faced over years of App Review, often due to rules that have never been publicly acknowledged by Apple.

In response to the ensuing bad press, Apple allowed Hey onto iOS – despite it still violating the guidelines – and announced that developers will be getting a mechanism to challenge Apple’s review guidelines.

Which is definitely something. The idea seems to be that Hey will have a chance to challenge Apple’s public guideline about multi-platform apps, which says that apps can only allow users to access content, subscriptions, or features they have acquired elsewhere if they are also available via IAP.

While it’s great that Apple is open to these rules being challenged, it seems that the things most worth reconsidering about App Review aren’t even part of the public guidelines. Will Hey be able to challenge the secret rule that says they need to follow the IAP guideline, but that Slack doesn’t? What about the policy that iOS apps can’t be distributed directly to customers? Or Apple’s habit of quietly changing the undocumented approval policies, without notifying people that apps that used to be approved will now be rejected?

Or the existence of secret App Store policies at all?

I suspect not. Chances are, iOS app development will continue to depend on reading tea leaves and following other developers’ tales of surprise rejections, never fully knowing exactly what can and can’t be distributed on iOS at any given time.

But hey, a developer can dream.

Half Here, Half There

May 31, 2020

There is a lot that needs fixing right now. There is a lot of injustice, a lot of suffering, and a lot of inequity. A lot of work to be done.

If you’re lucky enough to be in a position that you can donate something to organizations doing that work, there is no time like the present. But it can be difficult to decide exactly which organization to contribute to. There are a lot of good fights, and countless groups fighting them.

Do you fund activists in Minneapolis because you’re rightly furious about what is happening, or relief efforts in your own backyard because your community is your responsibility, or organizations fighting climate change because it’s a species-level threat, or groups distributing mosquito nets because Bill Gates says they prevent the most suffering per dollar, even though you’re watching a nation tear itself apart and really don’t care about mosquito nets right now?

It can cause a bit of analysis paralysis.

Maybe you give to all the causes you care about, or the first one that hits home for you each month, or you use some other philosophy that guides what you donate when. If you have an approach that is working for you, then awesome.

But if the paradox of choice has fuelled a bit of procrastination or inconsistency in your charitable acts, I have a suggestion that may help get you unstuck: Choose an amount to give. Give half of it near, and half of it far.

The parameters are up to you. Maybe you give $5,000 to Doctors Without Borders, and $5,000 to an indigenous rights organization in your city. Maybe you give $20 to a group in Minneapolis, and $20 to fighting climate change. The point is to break the loop of being overwhelmed by choice, and pick a couple places you can put your money to work.

As a bonus, you could consider evaluating how much impact your dollars – or euros, or whatever – might have. There are organizations that attempt to answer this question. For example in Canada, Charity Intelligence attempts to score charities on factors like demonstrated impact, financial transparency, need for funding, and what percentage of donations go to overhead costs. This is of course an inexact science – it’s a lot easier to demonstrate a local outcome like housing somebody in need than than a historic outcome like helping get a law changed. Still, it’s worth considering where your dollars are going, and avoiding a loop where donations primarily fund a marketing machine, rather than a change engine.

That said, the most important step is doing something. When we’re overwhelmed, making simple rules for ourselves can help. Don’t let the size of it all push you into doing less than you can.

The Unified Theory of Cereal

April 30, 2020

I like cereal.

It’s quick, it’s easy, it tastes good. Who doesn’t like cereal?

Recently though, I’ve been at home more than usual. What was once a weekend treat is now always available, often appealing. Cereal is there, whether I’m trying to kick off the day quickly, tiding myself over until bedtime, or diligently attempting to bury this month’s distinctive blend of angst.

Which is great, don’t get me wrong. Cereal’s great! But I have come to suspect that eating Honey Bunches of Oats 10-15 times a week is going to eventually have some negative consequences. The cereal reckoning was nigh.

I set out with a specific goal: I wanted to find the tastiest cereal that wouldn’t inspire gluttony. The healthiest cereal that was still appealing. The One True Cereal that was exactly the right amount of good.

So, I did what anybody would do in my situation: I collected the full nutrition info and ingredient breakdown of over two dozen cereals, and concocted a system for scoring each variety using a formula that I could then iterate and refine.

I built a Unified Theory of Cereal.

The Challengers

I started my list with the most popular cereals in the US and Canada, forming the bedrock of the system. Then, I added two cereals that could serve as bookends: an extremely healthy one, and an extremely unhealthy one. For the nutritious end I chose All Bran, since it’s so healthy I can’t even bring myself to eat it. For the epitome of trash I chose Fruity Pebbles, which aren’t even available in Canada but to me they’re the quintessential bowl of bad decisions.

To further my goal of actually finding well-balanced cereals that were pretty good, I added in a number of fairly healthy-seeming but potentially palatable cereals like Special K Low Fat Granola, Alpen, and some promising-looking cereals from Kashi and Nature’s Path.

Because I couldn’t help myself, I also revisited the archives of professional new candy evaluator Cabel Sasser, and found one last cereal for the gauntlet.

The Formula

For each cereal, I tabulated the nutrients that, based on my nutrition goals and common sense, were most concerning: calories, fat, sodium, and especially sugar.

I also recorded the nutrients that I believe have the biggest impact on making a cereal satisfying: fibre, protein, and being made from whole grains. While a lot of fibre, protein, and whole grains still aren’t exactly going to make a cereal “good for you”, they should mitigate the fact you’re basically eating a carb bomb, and make you less likely to be inclined to having seconds.

One big hurdle to comparing cereals is portion size. Honey Nut Cheerios and Shreddies both have 9g of sugar each, but wait a minute… the nominal serving size for Shreddies is 55g but for Honey Nut Cheerios it’s only 29g?! Are you really likely to eat half as many Cheerios as you do Shreddies? Luckily, food labels are changing in many countries to have stricter serving size standards – for example in Canada, starting in 2021, a portion will always be 30g for most cereal, and 55g for fruit/nut/granola cereals. In the meantime though, you need to convert the nutrition info into quantity per gram, which is not a convenient operation in the grocery store.

After a normalization pass, I simply gave each nutrient a weight to indicate if it was good or bad. Since this part is heinously arbitrary and the right weights vary depending on you talk to and the health theory du jour, I made the weights easy to edit in the spreadsheet, which I link to below. A heartening observation though: even if you, for example, make fibre half as good or sodium twice as bad, the relative ranks of the cereals don’t change much.

One final caveat: in an ideal world, you would also adjust for what size serving you would in practice serve yourself. I tend to pour myself more Vector than I would pour Cheerios, because Vector is goddamn delicious.

High Level Observations

Behold the full spreadsheet here. You can make your own copy to tweak the weights, try different formulas, and add the cereals you love or hate. I have comments on each cereal in the spreadsheet, but here are some of my favourite observations:

  • The cereals broke down naturally into four tiers: Pretty Good, Reasonable, Treat, and Candy. You can guess which category Cabel’s cereal fell into.
  • The Kashi and Nature’s Path cereals did generally quite well, though there is quite a bit of variance between them. I’ve started trying these and some are quite good.
  • All Bran isn’t all bran? That is literally its name, people, what is going on
  • I did not expect Frosted Mini Wheats to do so well. It’s 20% sugar by weight. It turns out, though, that almost every cereal is at least 16%.
  • If your go-to cereal is Honey Nut Cheerios, I have some bad news for you.
  • There is a bit more variation in the garbage-tier cereals than I expected.
  • The weights I chose gave Corn Flakes a natural score of zero, which is what it deserves. In case you tweak the weights (for example to make fibre and protein less important, or penalize sugar even more) there’s a field where you can enter the Corn Flakes Score to calibrate the scale back to Corn Flakes Zero.

Part of a Complete Breakfast

Cereal is good. I’m gonna eat it, you’re gonna eat it. My proposal is simply that you be thoughtful about what cereal you want to be bringing into your home. There’s never been a better time in our lives to buy 5 different random types of cereal you’ve never tried before because a spreadsheet on the internet said they’re less bad for you than Corn Flakes.

Seize the moment. Level up your cereal.

Explain Like I'm 3

March 31, 2020

Parents of young kids do a lot of explaining.

“Do hippos exist?” Surprisingly, yes!

“Does Totoro have a brain?” I don’t know! I don’t think spirits have brains.

“What does ‘remiss’ mean?” It’s… when you didn’t do something you were supposed to do.

“Do letters exist?” Yes! Well. They don’t exist in that there’s no… actual A, B, and C out there somewhere. We just draw them ourselves. So… no? Hm.

It’s delightful how as strange as the truth may seem, young kids just take it in stride. They’re constantly collecting new and surprising information, processing it, and promptly moving on with their new reality.

Often, explaining like they’re 5 – or like they’re 3½ in the case of my daughter – forces you to think think surprisingly deeply. What is the difference between sneaky and tricky? How can I explain London in terms of what she already knows? As a bonus, the tricky questions are frequently mixed in delightfully simple ones.

What is a guarantee? Was Hamilton real? What does “being cheesy” mean? Is Queen Elizabeth old? When baby brother is born, will I be a grownup? Where do goblin sharks live?

Most of the time, it’s a lot of fun. One hitch, though, is that occasionally a kid’s question will land with a wallop. Your guard will be down – you’ll be in the middle of something else – and with no warning, they’ll knock you off balance.

“Where will I live when I grow up?”

First you go to give the simple answer – wherever you want to live, kid. But you pause. Who knows if she’ll decide to live nearby when she grows up – or if she’ll even be able to afford to? But those are my hangups, not hers. For the most part, the naive answer is true. “You get to pick where you want to live, Ellie.” It’s true enough.

Kid questions like this aren’t hard because the answers are unclear, but because they bring up big feelings. What do nurses do? Who is Mama’s mama? Is Gran so old that she’s going to die? What is a soul?

“Why can’t we see Mama and baby brother anymore?”

I picked Ellie up, and we sat down on the floor, across from the sign that said “NICU Reception”.

“Well Ellie, you know how we get our flu shot, so we don’t get the flu? Well there’s a new germ, and they don’t have shots for it yet. So the hospitals made a new rule where they don’t have visitors, because they want to make sure the babies and nurses don’t get the new germ.”

She had a couple follow-up questions. No, we don’t have the germ, and yes, we’ll see baby brother again. Of course we’ll see baby brother again. Within seconds, she’d absorbed this surprising information. I was still reeling, but she was ready to move on with her new reality.

She reassured herself aloud: “We’ll be able to see baby brother when he comes home.” Heck yes we will.

“Is he such a cutie baby?” He really is.

“Can we play now daddy?”

As two rambunctious extroverts, social isolation doesn’t come naturally for my daughter and I. I know it’s for the best, but that doesn’t make it easy to wait around until baby brother can come home.

This wasn’t the plan, back when March 2020 commenced – many years ago.

But it’s clear now that all pre-existing plans are obsolete. The name of the game is adapting to being surprised.

And you know who’s used to being surprised? A 3 year old.

You see, a kid’s entire life, their daily existence, is about being surprised. Any plans a 3 year old makes are at best tenuous. Often, they’re literally impossible. But kids know their plans are fleeting, since their world turns upside down every time they learn something. So they process, and adapt. They might kick up a fit briefly, but then they adjust. By the next day their world is different, and they’re moving forward. It’s a goddamn miracle.

So my daughter and I made lemonade. We had long bath times, we moved to a deserted island. I taught her about blanket forts and pillow fights, and we watched quite a lot of My Little Pony. I even slept, which is not something I expected to do much of in the first 3 weeks of our new baby’s life.

And eventually, things worked out. Or, at least one specific thing, which was very important to me. At 3 weeks of age, baby Thomas Pike was given the green light and discharged from hospital. In fact, he’s hanging off of me right now. Say hi, Thomas.

He’s not much of a typist yet. We’ll cut him some slack.

Just like that, something that would have sounded like purgatory a month ago – isolating from the world in a 2-bedroom apartment with a newborn and a 3 year old – now feels like a gift from the gods. The world is still very weird, and things keep on changing. But being asked to explain each change to a 3 year old helps me feel ready to move on with each new reality.

“Is the aquarium closed because of the new germ?” Yup, you guessed it kid.

“Is baby Thomas a cutie cute boop?” He really is.

“Can we play now daddy?”

Heck yes we can.

Don't Drink the Cream

February 28, 2020

As I was told, some years ago a team of contractors were visiting the office of a big potential client. Hoping to impress, the sales lead on the deal brought a skilled product designer along to the meeting, as well as a software developer who was well versed in the relevant tech. The hope was that they’d be well-equipped to answer any remaining questions, put the client at ease, and finally seal the deal.

Now this was a pretty fancy client, and in preparation for the meeting a tray of refreshments had been laid out. Some pastries, tea, and even a little pitcher of cream for coffee. It was perhaps a more refined environment than the team was used to, but the discussion was going well.

After a time, the developer pointed to the pitcher of cream and interjected, “Is anybody going to drink that?”

A moment of surprised silence followed. Then, the answer: “No..?” Nobody is going to drink that.

So the developer nodded, said “Okay,” picked up the little pitcher, and drank the cream.

This was an unexpected turn of events. The client raised an eyebrow, but what was there to say? “Hey you, stop drinking that cream”? It was just established that nobody else wanted it. Who says you can’t drink the cream?

Well, nobody says that. Nobody says you can’t drink the cream, because “we all know” that you don’t drink the cream. We use observation, pattern matching, and sensitivity to social cues to conclude that even if you kind of want to drink the cream that’s been set out for coffee, you’re supposed to not.

No matter how much preparation the sales manager did before the meeting, it’s unlikely he would have thought to brief the developer on the etiquette around imbibing condiments.

I often think about this story for two reasons. The surface lesson here is that while most skills can be taught, there is a baseline level of EQ that is worth looking for when you’re recruiting a team, especially for people who might present with you in a high-stakes situation. It’s easy to underestimate how helpful it is to have team members with strong self-regulation and social awareness.

The second lesson, which to me the more interesting one, is that performing as expected in social situations is really complicated! Who cares if somebody drinks a pitcher of cream? It was probably going to get warm and go to waste anyway! For people who are predisposed to having lower social awareness, including many people on the autism spectrum, the implied rules of social etiquette are a minefield. Rather than picking up social cues instinctively, some people need to learn them one by one, by trial and error, and many of them are completely arbitrary.

The good news is that social awareness can be learned. In fact, it can be really helpful for some people to get a note or heads up when they’re out of sync with social expectations. Some folks may get defensive, sure, but you’d be surprised how often people simply appreciate the tip.

Even a well-meaning person may wonder to themselves, “Hm, I like to drink cream, but I’ve never seen anybody else do this before – is it considered okay to drink the cream?” But as of today, if you type “is it okay to drink the pitcher of cream” into Google, you just get a recipe for making a pitcher of White Russians, and a discussion on the health consequences of drinking whipping cream.

So, for anybody out there searching for the answer, a helpful tip. Despite there being no logical reason for this rule, even if you’re thirsty – even if nobody else is using it – don’t drink the cream.

Archive of all articles →

© Allen Pike. See also Twitter and Steamclock.