1P by neo 21일전 | favorite | 댓글 1개

One Million Checkboxes의 비밀

몇몇 십대들이 나에게 비밀 메시지를 보냈음. 나는 그들을 찾았음.

One Million Checkboxes란 무엇인가?
  • 2024년 6월 26일, One Million Checkboxes(OMCB)라는 웹사이트를 출시했음.
  • 이 사이트에는 전 세계적으로 공유되는 백만 개의 체크박스가 있었음. 체크박스를 체크하거나 체크 해제하면 모든 사용자에게 즉시 반영되었음.
  • 사이트는 뉴욕 타임즈와 워싱턴 포스트에 소개되었고, Know Your Meme과 위키피디아에도 등재되었음.
  • 기술적인 세부 사항은 별도의 블로그에 다루었고, 이 블로그에서는 가장 좋아하는 이야기를 다루고 있음.
배경 1: OMCB는 그림 그리기를 어렵게 만듦
  • 인터넷에서 사람들이 상호작용할 수 있는 게임을 만드는 것을 좋아함.
  • 사람들이 무제한 캔버스에서 그리는 것을 제한하기 위해 브라우저 창 크기에 따라 체크박스의 수를 조정했음.
  • 이로 인해 특정 크기의 브라우저에서만 메시지가 보이게 되었음.
  • 이러한 제약은 사람들이 창의적으로 문제를 해결하도록 유도했음.
배경 2: 상태 저장 방법
  • OMCB에는 백만 개의 체크박스가 있었음.
  • 체크박스의 상태를 비트로 저장하여 효율적으로 관리했음.
  • 이 데이터를 Redis에 저장하고 클라이언트로 전송할 때 base64로 인코딩했음.
해킹당한 것인가?
  • OMCB를 출시한 지 며칠 후, 데이터베이스에서 이상한 URL을 발견했음.
  • 처음에는 해킹당했다고 생각했지만, 로그와 코드를 검토한 후 문제가 없음을 확인했음.
  • 결국 누군가가 체크박스를 사용하여 이진 메시지를 작성하고 있음을 깨달았음.
숨겨진 메시지
  • 체크박스를 사용하여 비트를 뒤집고, 숫자를 형성하여 문자를 만들고, URL을 작성했음.
  • 이 메시지는 수천 명의 다른 사용자와 함께 작성되었음.
토끼굴 속으로
  • URL을 클릭하자 디스코드 서버로 연결되었음.
  • 디스코드 서버는 "Checking Boxes"라는 이름이었고, 많은 사람들이 모여 있었음.
  • 그들은 백만 개의 체크박스를 1000x1000 그리드로 렌더링하고 있었음.
  • 이 메시지는 디스코드 서버로 연결되었고, 많은 사람들이 모여 봇을 만드는 방법을 논의했음.
그들이 한 일
  • 그들은 복잡한 그림을 그리기 위해 시스템을 개선했음.
  • 애니메이션을 실험하고 색상을 추가하는 프로토콜도 시도했음.
  • 사이트를 종료하기 전날, 모든 제한을 제거하고 얼마나 많은 트래픽을 처리할 수 있는지 테스트했음.
봇이 좋은가?
  • 많은 사람들이 OMCB에서 봇에 대해 불만을 제기했음.
  • 봇이 사이트 경험을 저해할 수 있다는 점을 이해하지만, 봇을 사용하는 사람들의 창의성과 기술에 감동받았음.
감동받은 이유
  • 고등학교 시절, 친구에게 장난으로 수백만 개의 메일을 보낸 적이 있었음.
  • 당시 어른들은 나에게 화를 내지 않고 격려해 주었음.
  • 디스코드에서의 활동을 보며 그들의 창의성과 기술에 감동받았음.
  • 그들이 앞으로 무엇을 만들지 기대됨.

GN⁺의 정리

  • One Million Checkboxes는 사람들이 창의적으로 상호작용할 수 있는 플랫폼을 제공했음.
  • 체크박스를 사용하여 이진 메시지를 작성한 십대들의 창의성과 기술에 감동받았음.
  • 봇 사용에 대한 논란이 있었지만, 그들의 창의적인 접근 방식은 칭찬할 만함.
  • 이 프로젝트는 사람들이 제약을 극복하고 창의적으로 문제를 해결하는 방법을 보여줌.
  • 비슷한 기능을 가진 프로젝트로는 Reddit의 r/place가 있음.
Hacker News 의견
  • 어른들의 격려: 어른들이 나에게 화를 내지 않고 격려해 준 덕분에 지금의 내가 있음

    • "Teena는 적당히 장난칠 수 있는 공간과 사회적 결과를 경험할 수 있는 기회가 필요함"
    • "어른들은 권위자가 아닌, 아이들이 배우고 싶어하는 멋진 재능을 가진 사람이어야 함"
  • 작가의 이야기: 사이트를 운영하면서 가장 좋아하는 이야기이며, 이 이야기를 쓰면서 여러 번 울었음

    • "발견 과정이 미친 듯이 흥미로웠음"
    • "제약이 필요하지만, 대부분의 사람들은 창의적이고 좋은 사람들임을 확인함"
  • 고등학교 시절 회상: 고등학교 때 Java를 배우며 장난스러운 프로그램을 만들었던 기억이 떠오름

    • "학교의 IT 담당자는 우리가 네트워크에서 게임을 실행하는 것을 알면서도 화내지 않았음"
  • 봇에 대한 반성: 봇을 싫어했지만, 이 글을 읽고 나서 생각이 바뀌었음

    • "수학 선생님이 내가 직접 작성한 프로그램을 사용하는 것을 허락해 줬음"
  • 체크박스 상태: 체크박스는 체크되거나 체크되지 않은 두 가지 상태가 있음

    • "true, false, null에 의해 상처받은 경험이 있는 것 같음"
  • 서버리스 아키텍처: 서버리스 아키텍처로 구축된 대체 역사 버전을 보고 싶음

    • "자원이 제한되면 다운될 가능성이 있음"
  • 창의성: 자원이 제한될 때 창의성이 꽃피는 것을 보여주는 또 하나의 데이터 포인트임

  • OMCB 사이트: OMCB 사이트를 처음 들었지만, 내 십대 자녀들이 이 사이트를 발견하고 즐기기를 바람

  • 흥미로운 경험: 정말 재미있는 경험이었음

  • 다시 돌아옴: 우리는 다시 돌아옴

  • 야생의 여정: 정말 야생의 여정이었음