Introducing Plinky: My Love Letter To Links

The post below was written by me, originally featured on the Plinky blog.

To celebrate the launch of Plinky you can get 50% off of a yearly subscription by redeeming this offer:

There are few words I've ever said more excitedly than these: I want to tell you about my latest app, Plinky.

Plinky Screenshots

Plinky makes it incredibly easy to do something we do every day, save links for later. You may already have a way to save links, I know I've tried every method under the sun, to the point where I decided to build my own app. That app is Plinky, and today it's available to download on the App Store. Over the last 18 months people have been loving Plinky, because it fixes the same problems I ran into when I've tried to save links in the past. Continue Reading →

The Reasoning Computer

The Turing test is dead, and we killed it. The Turing test is a test of a machine's ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human. From the 1940s 1 to the 2010s people programmed computers, and computers could only do what they were programmed to do in a rules-based deterministic manner. Sometimes a person would program the computer and it would do something unexpected, but 100 out of 100 times the computer was doing what it was programmed to do whether the person liked it or not. While there has been experimentation with what today we call AI since the 1950s, those machines were a long ways away from passing the Turing test.

Why does using ChatGPT feel more like a conversation with the smartest person you know than a computer? It's because ChatGPT doesn't solve problems deterministically the way a programmed computer does, it solves them probabilistically. 2 ChatGPT demonstrates the ability to think about something in a logical, sensible way, the definition of reasoning. 3

We've created something completely new here, a reasoning computer. 4 Continue Reading →

The Present Should Be Signed

When I wrote The Future Will Be Signed almost six years ago the latest in AI advancements was Google Duplex. If you're like me and have never used Google Duplex, it's a feature of Google Assistant that could make calls on behalf of a person and automatically perform a task, such as booking restaurant tables. While you may have never heard of Google Duplex there's a good chance you've used a generative AI tool like ChatGPT, Midjourney, or GitHub Copilot.


We’re going to need a way to prove the authenticity of a piece of digital content, everywhere, in a simple manner. This is where public key cryptography comes in. Our current solutions are noble efforts, but remain too complex.

It's quite an understatement to say that AI has come a long way since 2018, and yet the blog post's core thesis is even stronger today than when it was written. At the time I was concerned about a future where deepfakes, audio manipulation, and text generation spread across the internet. We're now living in the beginning of that future, this is our present. It has never been faster or easier to generate inorganic content, the tools to do so are more usable and accessible than ever.

AI already has us questioning what we see on the internet, and the problem isn't going away. Fake news articles are being written by ChatGPT, fake books are being written with ChatGPT, and of course fake reviews made up by ChatGPT are being used to sell all of this. Continue Reading →

Displaced And Disillusioned On The Internet

Sometimes I think about all of the societal issues I cared about 10 years ago: privacy, government overreach, and platform accountability. More and more as I look at the technological landscape it feels like none of that care seems to have mattered.

When I worked on the Societal Health team at Twitter I had a voice and direct impact on these matters. If the feedback I received and still hear from my peers and higher ups holds true, that voice was not only well-received but considered thoughtful and led to meaningful change. With hindsight I can't say that every choice we made was right, there are few easy answers and no correct answers, but we made the best decisions we could with the information we knew at the time. These days I build indie apps like Short Circuit and Plinky for many reasons, it's what I think will make me truly happiest right now, but one of my reasons is to carry less emotional weight on my shoulders. I still have my morals, but without having the position I once had it’s harder than ever to translate my values into change.

The self-induced immolation of Twitter has caused a schism with the community I formed, cultivated, and connected with on the platform. People I follow, people I learn from, and many people I’d call my friends have all scattered to the four winds across a myriad of text-based social networks. I’ve spent the last week thinking about whether to join the latest Twitter-esque social network Threads, where many people close to me have made their way. Continue Reading →

Year Of Focus

To set expectations for you my dear reader, this blog post was written for me, not for you. It's very long (quite long), but I'm still proud of it enough to post for the world to read.

The frigid days of December are often unbearable in New York City, but those same freezing temperatures combined with the slow down of work, life, and everyone's collective desire to rest up after a long year afford plenty of opportunity to sit and reflect. At the end of every year I start to think about what I'd like the next year to look like, and then I set a theme for the upcoming year to help me make those ideas become a reality.


Yearly Whats?

A yearly theme is explicitly not a resolution, but a guiding principle you can look to over the next year. A yearly theme shouldn't be too specific, otherwise you could just craft a resolution, and it shouldn't be so broad that anything could fall into that theme. I've borrowed the idea of yearly themes from the Cortex podcast, where they discuss at length what yearly themes are, and how they approach their own themes.

"We are what we repeatedly do. Excellence, then, is not an act, but a habit."

— A quote commonly misattributed to Aristotle

What I like to do for my yearly theme is to look at a part of my life that's stopping me from being the person I want to be, and then work backwards to figure out what ideas, practices, and habits I can adopt to become that person.

New year new me, right? Wrong. I treat yearly themes as a way to build upon the work I did in the previous year, always striving to become more the person that I want myself to be. Continue Reading →

Coding As Creative Expression

I've seen many versions of this question posed over the years, and to Matthew's credit it's a very good question. As you can see in the replies people translate their lived experience writing code and answer art or science based on however they conceptualize and practice programming. A few years ago MIT conducted a study that concluded "reading computer code is not the same as reading language", answering the question of whether coding is art or science with a rigorously documented "both". While I'm hard-pressed to argue with science, I'd like to provide a different answer, one that's a little more conceptual. Continue Reading →

One Last Visible Change, Goodbye Fellow Tweeps

Hard to believe it's over. My time at Twitter wasn’t perfect but it was incredibly special and there's little I would change about it (though less crypto would be cool). I was able to provide constant feedback about products across the entire platform and the entire organization, work on some of the most pressing digital societal health issues of our time, including the 2020 US presidential election, and help launch numerous products to minimize abuse and harassment. I never once felt like I couldn't advocate for the concerns of the sometimes thoughtful sometimes bonkers people who use Twitter, providing a voice for people who don't get to have a voice inside Twitter.

There's so much more I could say but instead I decided to post the going away email I sent to a thousand or so people at Twitter.  Continue Reading →

Designing A High Signal Interview Process

Crafting a great interview process is difficult1, especially for software development where a company is often trying to assess years of specialized knowledge and potential in only a few hours. The best interviews are said to feel like a discussion amongst peers, where each side is providing the other with signal about what it will be like to work together. Candidates share signals about their experience and thought process, while interviewers help provide signal and insight about a company’s values, the working environment, the state of a company, and more. Continue Reading →

The Best Twitter Bio? The Humble Tweet

Tell me who you are in 160 characters. I'll wait while you try and achieve the level of nuance necessary for the task. This constraint is why you end up with generic Twitter bios that don't tell you much about someone and all look like:

Father, cyclist, biz-dev, and fighting every day for the Quebec sovereignty movement. Working on saving democracy @Meta, ex-Palantir, ex-Accenture, ex of my ex.

Kinda hard to stand out, right? The inability to differentiate yourself on a platform built upon self-expression has always felt surprising to me, so I started to look for alternative means of letting people get to know more about me. The most common approach to gain additional room for expression is to use Twitter's Website field, linking out to a more information-rich bio. But that jump to the web is an opportunity to lose focus, especially in a world where nobody has the attention span to read (or leave Twitter). There are even solutions like Linktree that build upon the link to link to a link of links, letting those links speak for you. Continue Reading →

Creating Slick Color Palette APIs

The work of writing maintainable code is an ongoing endeavor and some of my favorite problems to solve are ones that build maintainable systems. Maintainable systems are ones you can learn once, easily manipulate, and ideally take from project to project. My favorite part of building maintainable systems is that it minimizes the amount of work I need to do when starting a new project, and like it is for many programmers hitting ⌘ + ⇪ + N to start a new project is one of the most satisfying feelings in the world for me. Continue Reading →