At the height of One Million Checkboxes's popularity I thought I'd been hacked. A few hours later I was tearing up,…
Summary
The creator of One Million Checkboxes shares their favorite story from the viral project: discovering that brilliant teens had secretly encoded messages in binary using the checkboxes themselves, creating a hidden Discord community and generating creative ASCII art and visual tricks on the site.
Summarized by ThreadOut AI from the full thread. May miss nuance — read the thread below.
- #1
At the height of One Million Checkboxes's popularity I thought I'd been hacked. A few hours later I was tearing up, extraordinarily proud of some brilliant teens. A thread about my favorite story from running OMCB....
nolen@itseieio · Jun 26, 2024I made a website. it's called "one million checkboxes dot com". it has one million checkboxes on it. checking a box checks it for everyone. that's it. have fun!
- #2
If you missed it, One Million Checkboxes was a website that had...one million checkboxes on it. The checkboxes were global - checking or unchecking a box checked it or unchecked it for everyone in the world immediately. I thought it wouldn't get much attention; I was very wrong
- #3
Half a million people visited the site within days of launch. Folks checked 650,000,000 boxes in the 2 weeks I kept the site online. I did interviews with the New York Times and the Washington Post; there's a Wikipedia page and a Know Your Meme page. it was crazy!
- #4
I've written about how I kept the site online; you can read about it here: I'm not gonna talk about that - I'm gonna tell you my favorite story from the site. But to tell you the story, I need to give you some context.
nolen@itseieio · Jul 26, 2024Alright! I've finished a detailed writeup on how I scaled One Million Checkboxes to handle people checking 650 million checks (!) i spent more time writing this blog than i spent making the site lol More highlights + blog link below
- #5
I love to build sites that let you interact with strangers. People can be assholes on the internet, so when I build these sites I think about how people are gonna try to ruin things and how I can constrain that.
- #6
Often my favorite stories come from how people play with and subvert the constraints I add - it's a bit of a trope that constraints breed creativity but I've found that to be very true with these experiments. This is foreshadowing.
- #7
With OMCB I was worried about drawing. I know (you do too) what happens when you give the internet a public canvas. So I made the number of checkboxes in a row scale to the size of your browser. Here I've written the word "example" - but it only appears at a very specific width
- #8
This meant that if you drew something on your phone it wouldn't show up for me on my laptop and vice-versa. I think this worked well; we didn't get bogged down in gross graffiti and since the constraint was subtle most people didn't even notice.
- #9
SECOND BIT OF CONTEXT - how did I store state? One million is a really big number; I wanted to store state for OMCB efficiently. To do this, I said - a checkbox is like a bit. A checkbox is checked or unchecked; a bit is 0 or 1. So we'll just keep 1 million bits in a database
- #10
Bit 3 was "1" if checkbox 3 was checked and 0 otherwise. So we've got a million bits; 8 bits in a byte so that's 125,000 bytes. 125KB - not even the size of an MP3! Computers can totally handle that. (I promise this matters)
- #11
So a few days in I'm exhausted. I'd just finished rewriting the backend in go. And I decide to dump the my database in ascii. I have no idea why I did this. I just did it. This is what I saw.
- #12
WHAT THE FUCK IS THAT
- #13
a URL with "catgirls" in it was sitting there in my database and I PANICKED. I thought I'd been hacked! I started searching through my code, searching through my logs, trying to find the problem.
- #14
But I couldn't find anything. Everything looked ok. And then wait wait! I saw it
- #15
I looked at the checkboxes on the site that corresponded to that sketchy, repeated URL. Like this H here. That represents a byte. 8 bits 8 checkboxes *those 8 checkboxes*
- #16
And I realized there was a pattern in the checkboxes. And if I changed something in that pattern - if I unchecked a box - the pattern immediately reappeared. *somebody was checking boxes to write me a message in binary*
- #17
The way that works is - we can convert our binary data to ascii by reading it 8 bits (8 checkboxes; 1 byte) at a time. That gives us a number between 0 and 255, and we can use an ascii table to convert that to a letter (basically the letters on your keyboard)
- #18
So someone was: * Checking boxes * To make numbers * To form letters * To spell this URL probably with a bot to make sure that the boxes stayed checked a certain way. I wasn't hacked! I had found a secret.
- #19
So catgirls dot win slash omcb *catgirls dot win* I clicked the link
- #20
And the link went to a discord! And the discord was called "Checking Boxes" so I join the discord
- #21
And someone was very excited to see me.
- #22
And we chat for a minute, and then they ask me a question that blows my mind: "have you seen your checkboxes as a 1000x1000 image yet?"
- #23
And I said no, and they showed me, and it looked something like this
- #24
So there's a lot going on here! In addition to the drawings, we've got some secrets. There's the binary message I found, but above that is a base64 version of the same message. And we've also got a QR code (with full error correction) that linked to the discord.
- #25
The discord was full of very sharp teens, and they were writing this message in secret to gather other very sharp teens. And it totally worked!! There were 15 people when I joined the discord but over 60 by the time I shut down the site. (the discord is now hidden)
- #26
I tried to make it hard to draw but they said "1000 times 1000 is a million" - they found a way! And they started drawing some crazy stuff.
- #27
They put a windows blue screen of death on the site (pre crowdstrike!)
- #28
They put sexy jake gyllenhaal gifs on the site
- #29
Near the end I removed my rate limits for a bit as a treat and they put a realtime rickroll on the site!!
- #30
It was sick. It was so cool. And I found this so moving I spent my childhood doing dumb stuff on the computer. People mostly didn't get mad at me when I, for example, repeatedly broke my school mail server. There's no way I'd be doing what I do now without that encouragement
- #31
So getting to provide some encouragement of my own - providing a playground like this and seeing what folks were doing and telling them how much I loved it - was so deeply meaningful to me.