nolen Profile picture
Aug 29 34 tweets 10 min read Read on X
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....
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 Image
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!

Image
Image
Image
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.
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.
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.
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
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.
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
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) Image
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. Image
WHAT THE FUCK IS THAT Image
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.
But I couldn't find anything. Everything looked ok. And then

wait

wait!

I saw it
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* Image
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*
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) Image
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. Image
So

catgirls dot win slash omcb

*catgirls dot win*

I clicked the link
And the link went to a discord! And the discord was called "Checking Boxes"

so I join the discord Image
And someone was very excited to see me. Image
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?" Image
And I said no, and they showed me, and it looked something like this Image
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. Image
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)
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.
They put a windows blue screen of death on the site (pre crowdstrike!) Image
They put sexy jake gyllenhaal gifs on the site Image
Near the end I removed my rate limits for a bit as a treat and they put a realtime rickroll on the site!!
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
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.
Many people were mad about bots on OMCB. I totally get that. Bots can be frustrating. But the people in this discord were so creative, so talented, so cool! The mischief makers of today will make the games of tomorrow.

I can't wait to see what this discord goes on to make
I've written a blog that writes this story up, and I've also created my first youtube video (!) to tell the story. I'm trying to figure out if youtube is for me so, uh, let me know.

Thanks so much for reading.



eieio.games/essays/the-sec…
And like I said before, the best stories from these sites come from subverted constraints.

Build more stupid websites. Constrain the assholes and see what happens.

The internet can still be fun!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with nolen

nolen Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(