1 pontos por GN⁺ 2024-08-30 | 1 comentários | Compartilhar no WhatsApp
  • One Million Checkboxes (OMCB) foi um site em que qualquer pessoa podia alterar, em tempo real, o mesmo conjunto de 1 milhão de checkboxes; durante a operação, um padrão de URL escondido foi encontrado no banco de dados, revelando uma colaboração inesperada
  • Depois de ser lançado em 26 de junho de 2024, 500 mil pessoas manipularam checkboxes mais de 650 milhões de vezes ao longo de duas semanas, transformando um experimento simples em uma grande brincadeira da internet
  • Como a estrutura armazenava o estado dos checkboxes como 1 bit, 8 checkboxes formavam 1 byte, e alguns usuários usaram isso para esconder caracteres ASCII e URLs como mensagens binárias
  • A URL escondida levava a um servidor Discord, e os participantes renderizavam o 1 milhão de checkboxes como uma imagem de 1000×1000, experimentando com QR codes, mensagens em base64, animações e representação de cores
  • Bots podiam prejudicar a experiência dos usuários comuns, mas o processo de contornar restrições para explorar o sistema e deixar rastros acabou ficando como uma colaboração criativa da internet

Como o One Million Checkboxes funcionava

  • One Million Checkboxes (OMCB) foi um site lançado em 26 de junho de 2024 que oferecia 1 milhão de checkboxes globais
    • Quando um usuário marcava ou desmarcava uma checkbox, o mesmo estado era refletido imediatamente para todos os usuários conectados ao site
    • O operador esperava algo na escala de centenas de pessoas clicando em milhares delas, mas, na prática, durante duas semanas, 500 mil pessoas manipularam checkboxes mais de 650 milhões de vezes
  • O site se espalhou a ponto de aparecer no New York Times, no Washington Post, no Know Your Meme e na Wikipedia
  • A tecnologia de escalabilidade do OMCB foi tratada em outro texto; esta história se concentra nas mensagens ocultas descobertas durante a operação

As restrições que dificultavam desenhar

  • Como, na internet pública, era difícil prever o que os usuários desenhariam, o OMCB foi projetado para dificultar o desenho livre
  • A quantidade de checkboxes exibidas por linha mudava de acordo com a largura da janela do navegador
    • Mesmo que fosse possível formar uma palavra como “EXAMPLE” em uma determinada largura, se a largura do navegador mudasse, as quebras de linha também mudavam e a mensagem desaparecia
    • Um rabisco feito no celular não aparecia com o mesmo formato em um notebook, ficando visível apenas para usuários com a mesma largura de exibição
  • Essa restrição funcionava de forma sutil o bastante para que fosse difícil os usuários perceberem que as letras que escreviam não eram vistas por outras pessoas
  • Muitos usuários pediram que o site fosse “consertado” para permitir desenhar, mas esse comportamento era uma escolha intencional

Como os checkboxes eram armazenados como dados

  • Para armazenar e transmitir de forma eficiente o estado de 1 milhão de checkboxes, o OMCB representava cada checkbox como 1 bit
    • Uma caixa marcada era armazenada como 1, e uma caixa desmarcada como 0
    • 1 milhão de bits corresponde a 125.000 bytes, ou 125 KB
  • Os dados eram armazenados no Redis e, ao serem enviados ao cliente, usavam codificação base64
  • Como 8 checkboxes podiam formar 8 bits, ou seja, 1 byte, surgiu a base para criar mensagens escondidas

A URL suspeita encontrada no banco de dados

  • Alguns dias depois do lançamento do OMCB, após reescrever o backend em Go para lidar com a carga, o operador fez um dump dos bytes brutos armazenados no Redis em forma ASCII
  • No dump, apareceu uma URL que levava a catgirls.win, e a princípio ele concluiu que o banco de dados havia sido hackeado
    • Ele verificou os logs de acesso e o código, mas não encontrou sinais de invasão
    • Como achava que o banco de dados deveria conter apenas 0s e 1s, parecia que uma string havia sido inserida ali
  • Ao verificar as posições das checkboxes correspondentes à URL, a causa real ficou clara
    • Um caractere h é 1 byte, e 1 byte são 8 bits; no OMCB, isso correspondia a 8 checkboxes
    • Havia um padrão repetido em blocos de 8 que se alinhava à URL, e, quando uma checkbox era alterada, o padrão original reaparecia imediatamente
  • O banco de dados não tinha sido hackeado; alguém estava manipulando as checkboxes para escrever uma mensagem binária

A mensagem binária lida como ASCII

  • Quando o Redis imprimia os dados em ASCII, ele lia os dados brutos em unidades de 1 byte, ou seja, 8 bits
  • Cada byte era convertido em um número de 0 a 255
    • Se o valor estivesse na faixa de caracteres ASCII imprimíveis, de 32 a 127, o caractere correspondente era exibido
    • Caso contrário, aparecia uma representação hexadecimal como \x00
  • O usuário que criou a mensagem ligava e desligava checkboxes para alterar bits, fazendo com que esses bits passassem por números e caracteres até formar uma URL
  • Esse padrão se manteve mesmo em um ambiente em que milhares de outros usuários manipulavam o site simultaneamente

A passagem escondida para o Discord

  • A URL escondida https://catgirls.win/omcb levava a um servidor Discord chamado Checking Boxes
    • O Discord original foi depois trancado, e a URL passou a apontar para outro lugar
  • Os participantes do Discord baixavam todos os dados de checkboxes do OMCB e os renderizavam como uma imagem em grade 1000×1000
    • Caixas desmarcadas eram exibidas em branco, e caixas marcadas em preto
  • Essa imagem continha mensagens em várias formas
    • O ruído repetido na parte inferior era a mensagem binária descoberta
    • Acima dela havia uma versão em base64 da mesma mensagem
    • À esquerda havia um QR code com correção de erro
    • Todas eram mensagens que levavam ao Discord
  • Os participantes presumiam que pessoas com maior probabilidade de criar bots veriam os dados em base64, os dados binários ou a imagem 1000×1000, então usaram vários caminhos ao mesmo tempo
  • O Discord tinha menos de 20 pessoas no momento da entrada do operador e cresceu para mais de 60 até o encerramento do site

Bots, desenhos e experimentos de animação

  • Os participantes do Discord criaram um sistema de desenho melhor e, enquanto faziam engenharia reversa dos limites de velocidade do OMCB, passaram a produzir desenhos cada vez mais complexos
    • O operador se ofereceu para informar os detalhes dos limites de velocidade, mas o líder do Discord preferiu descobri-los por conta própria
  • Com o tempo, também fizeram experimentos com protocolos de animação e representação de cores
    • Um exemplo foi tratar células adjacentes como canais vermelho, verde e azul para desenhar cores em uma grade menor
  • Na véspera do encerramento do site, o operador removeu todos os limites de velocidade após um aviso para ver quanto tráfego o sistema aguentaria e o que os participantes conseguiriam criar
  • Nesse momento, várias animações foram feitas, e um dos exemplos era uma animação de Rickroll

A ambivalência em torno dos bots

  • Houve muitas reclamações sobre bots no OMCB, e chegaram centenas de mensagens criticando bots
  • Os bots que usuários comuns encontram com frequência — como bots de revenda de ingressos ou de reservas em restaurantes — muitas vezes são percebidos como egoístas e injustos
  • No OMCB também havia bots que poderiam ser vistos como antissociais
    • Alguns usuários criaram pequenos bots em JavaScript que desmarcavam todas as checkboxes possíveis e avisaram sobre isso
    • Também houve usuários que disseram que esse comportamento arruinou a experiência do site
  • Os participantes do Discord estabeleceram algumas regras sobre onde usar bots, e o operador às vezes pedia que reduzissem a intensidade
  • É possível que o uso de bots tenha piorado a experiência dos usuários comuns, mas, ao mesmo tempo, também foi um exemplo de exploração do sistema dentro das restrições e de criação de trabalhos criativos

Uma experiência que ficou como uma travessura criativa

  • O operador, na época do ensino médio, fez uma travessura criando regras recursivas de e-mail que enviavam milhões de mensagens a um amigo e, por acidente, derrubou várias vezes o servidor de e-mail da escola
  • Na época, os adultos ao redor não ficaram muito bravos; disseram para parar e até fizeram camisetas
  • As mensagens escondidas, ferramentas e desenhos criados pelos participantes do Discord do OMCB foram um resultado criativo inesperado
  • O operador considerou significativa a experiência de ver isso em tempo real e poder incentivar os participantes, e sentiu orgulho de o Discord ter visto o OMCB como algo com que valia a pena brincar e dos resultados que eles criaram

1 comentários

 
GN⁺ 2024-08-30
Comentários do Hacker News
  • Sou o autor :)
    Essa é minha história favorita entre as que vivi operando o site, e talvez até a melhor história da qual já participei. Não sou de chorar muito, mas chorei várias vezes nos últimos dois meses enquanto pensava nisso e tentava escrever sobre o assunto. Claro, o próprio processo de descoberta — e a transformação do medo em empolgação — também foi meio insano
    O que mais gostei foi ver uma crença central que eu tinha ao criar algo assim ser confirmada. Algumas restrições são necessárias por causa de uma minoria de pessoas mal-intencionadas, mas, no geral, as pessoas que ficam pela internet são boas e muito criativas, e acabam transformando essas próprias restrições em brinquedo

    • Outro dia tive uma grande discussão com um amigo, e ele estava convencido de que a internet é um lugar cheio de trolling e comentários maldosos, e que as redes sociais fariam mal às crianças. Minha posição era que, se você vive olhando só para X ou Facebook, pode mesmo parecer um inferno, mas a internet tem muito mais possibilidades
      Este texto foi um dos melhores exemplos disso, e adorei o fato de você ter criado o site, observado como as pessoas o usaram e depois compartilhado essa experiência. Fiquei muito feliz lendo e pretendo compartilhar bastante
    • Entre as coisas que li sobre a internet recentemente, foi a que mais gostei por causa desse senso de brincadeira e desta história
      Estou claramente em burnout, então fiquei pensando que talvez eu precise fazer algo leve e aparentemente inútil. Isso me lembrou a história do Richard Feynman, deprimido por 10 anos antes e depois, que reencontrou alegria na física de um prato girando na hora do almoço e conseguiu deixar de lado, por um tempo, as coisas que vinha fazendo antes
    • Este texto foi realmente adorável e fofo. Queria que a internet fosse usada assim com mais frequência
    • Tanto o texto quanto o vídeo contaram a história muito bem. Foi bom poder parabenizar alguém por fazer algo do jeito como muitos de nós aprendemos tanta coisa
    • Este texto, o texto sobre escalabilidade e todo o trabalho em geral foram excelentes e muito inspiradores
      Também concordo totalmente com a ideia de que, em geral, há muitas pessoas boas e criativas. Fiz um clone do OMCB e, tomado pela ideia, coloquei no ar; um dia depois havia algumas pessoas maldosas, mas alguém desenhou uma The Great Wave de Hokusai gigantesca. A minha versão usava uma grande tela rolável com largura/altura fixas, então dava para notar imediatamente, e a sensação de ver aquilo foi muito boa e divertida
  • Este texto me emocionou um pouco. Aprendi engenharia de software no ensino fundamental II porque eu era ruim em matemática e queria criar um programa que resolvesse meu dever de casa. Depois disso, continuei criando um monte de coisas só por diversão — chat em LAN, servidor HTTP, antivírus e muito mais
    Era divertido, desafiador, recompensador e surpreendente. Mas, depois que comecei a trabalhar, fui ficando anestesiado pela enxurrada interminável de tecnologias novas, pelas discussões do tipo “X é ruim” e “J é melhor que K”, e pelo bombardeio incessante de novidades
    A alegria da engenharia já não parece mais um céu azul. Talvez ainda seja azul, mas para olhos lavados em prata, tudo parece cinza
    Ler esta história trouxe de volta a sensação que eu tinha quando aprendia software na infância. Ainda pode ser divertido, e ainda posso criar algo para mim mesmo, não por um exit nem por um novo SaaS brilhante. Isso me deu um raio de esperança de que ainda pode ser divertido

    • “Para olhos lavados em prata, tudo parece cinza” é uma expressão linda. Fico feliz que você tenha sentido esperança de recuperar essa sensação
      Você provavelmente já sabe, mas isso é sintoma de burnout, e quem estiver se sentindo assim deve levar isso a sério. Uma vez ajudei alguém no trabalho a aprender Python, e essa pessoa ficou realmente feliz quando entendeu um formato de arquivo binário. Naquele momento, percebi que eu não sentia algo assim havia anos, e pouco depois entendi que estava cansado demais para continuar naquele trabalho e que precisava de tempo para cuidar da minha saúde mental
    • Eu também já perdi a alegria de programar, mas consegui recuperá-la
      A chave foi ignorar aprender novas tecnologias a menos que fosse realmente necessário, e simplesmente focar em criar coisas novas. Acho que o que me fez lembrar de como programar pode ser lindo começou com os vídeos do Sebastian Lague
      [https://youtu.be/X-iSQQgOd1A?si=aqriiWmcqqphOiuI]
    • Senti o mesmo. Isso me lembrou “Calling All Hackers” [1], da edição mais recente da Phrack, e me deu esperança de que, se encorajarmos isso em vez de reprimir, o espírito hacker continuará existindo entre as gerações mais novas
      Lembrei da época em que, adolescente, eu escrevia código não porque precisava, mas porque queria. Usei essa habilidade para coisas boas, mas também para idiotices como hackear “concorrentes”, algo de que hoje me envergonho. Ainda assim, no geral, essa experiência me tornou quem sou, e fico feliz que a próxima geração ainda esteja encontrando alegria na programação
      [1] https://news.ycombinator.com/item?id=41306128
    • “Para olhos lavados em prata, tudo parece cinza” é uma frase realmente incrível. Fico curioso se é um idiomatismo ou uma criação sua
    • Às vezes é bom dar um passo para trás e fazer qualquer coisa aleatória. Faça Advent of Code sem competir, sem se preocupar com boas práticas, em qualquer linguagem, só para fazer funcionar
      Pegue o pico-8 e faça um jogo ou script ruim mesmo. Sem espaço nem motivação, então em vez de nomes longos de variáveis como longDescriptiveVariableNames, use variáveis de duas letras. Ou jogue TIS-100 ou Shenzen I/O, mas, se imprimir o manual, colocar na pasta mais velha que tiver e ainda derramar café em cima, melhor ainda
  • Esta parte é realmente importante:
    “Os adultos da minha vida, no geral, não ficavam bravos comigo. Diziam para eu parar, mas também fizeram até uma camiseta. Acho que, sem o incentivo que recebi naquela época, eu não estaria fazendo o que faço hoje.”
    Adolescentes precisam de um espaço onde possam aprontar um pouco, com algum nível de consequência social real, mas também com limites e apoio para que não passem demais do ponto. E, em vez de pessoas agindo como autoridades absolutas, precisam de adultos com talentos legais que elas queiram aprender.

    • Em 1999, quando eu estava no ensino médio, preguei uma pegadinha boba e inofensiva nos computadores da escola.
      Fiz uma apresentação de dois slides, ambos com fundo preto e texto cinza, imitando uma sessão de DOS como se o Windows tivesse sido apagado, e um dos slides tinha um sublinhado no prompt. Configurei para trocar automaticamente a cada 1 segundo e repetir em loop, então parecia um cursor piscando, e dava a impressão de que o computador estava quebrado, mas bastava apertar Escape para sair. Claro que aqueles computadores eram Macs, então nem tinham DOS ou Windows.
      A professora viu aquilo e achou que eu tinha hackeado ou estragado o computador, então me mandou para o diretor. O diretor não achou engraçado e me puniu fazendo com que eu passasse a segunda metade do horário de almoço, pelas duas semanas seguintes, com o responsável de TI da escola, observando o vandalismo com que ele lidava. Só que o cara da TI caiu na gargalhada assim que viu o que eu tinha feito e achou um absurdo tratarem aquilo como se eu tivesse danificado os computadores. Depois disso, mesmo quando a punição acabou, eu continuava indo ao escritório dele com frequência para conversar ou andar com ele enquanto consertava computadores.
    • No ensino médio aconteceu algo parecido. Fiz uma versão modificada de um vírus que infectou vários computadores e causou problemas, e por isso fui proibido de entrar no laboratório até o ano seguinte. Como era fim de setembro, não foi tão grave assim.
      No ano seguinte, perguntei ao professor se eu poderia ter acesso a um PC porque havia algo com que eu queria brincar, e ele me deu permissão para usar a sala de contabilidade depois das aulas, espaço extra de armazenamento no drive de rede e liberdade quase total, com a condição de não quebrar nada. Então eu não quebrei nada e passei a noite rodando Tierra em várias máquinas, vendo aquilo funcionar de um jeito incrível, e de manhã voltei para salvar tudo e reiniciar. Isso virou uma base enorme para o meu futuro. E eu também não quebrava nada porque não queria matar a galinha dos ovos de ouro.
    • No nosso ensino médio havia uma aula introdutória de programação que ensinava VB6 no laboratório de informática, e era bem livre, então dava para experimentar muita coisa.
      Os PCs do laboratório eram muito lentos, e havia uma pegadinha famosa em que, se você segurasse Win+E, centenas de janelas do Explorer se abriam e o PC travava. Então eu fiz um pequeno programa em VB6 chamado “DoraTheExplorer.exe” que, ao ser clicado, fazia exatamente a mesma coisa, e o coloquei no drive compartilhado da escola.
      No começo deu certo, mas as pessoas começaram a escapar fechando rápido com Alt+F4. Então fiz com que ele executasse a si mesmo de novo ao ser encerrado, mas isso também foi derrotado com repetidos Alt+F4. No fim, criei uma hidra que abria mais duas cópias cada vez que era fechada, e aquilo virou o ICBM da guerra das pegadinhas do Explorer, então a derrota foi declarada.
      O administrador sabia desde o início, mas no geral era tranquilo com isso. Ele deixou claro que, se alguém perdesse o trabalho ou sofresse algum prejuízo, eu seria responsabilizado, mas isso nunca aconteceu porque todo mundo sabia o que dora.exe fazia. As pessoas clicavam de propósito para ver se conseguiam travar o PC de um jeito idiota e escapar.
    • Eu também fiz quase a mesma coisa na escola. Derrubei o sistema com um script em VB6 que escrevia arquivos de texto infinitamente no armazenamento de rede, e a escola mandou uma carta para a minha mãe acusando-me de terrorismo.
      Já naquela época eu achava isso absurdo e injusto, e felizmente minha mãe concordava. Agora, olhando de volta com olhos de adulto, sinto que foi uma atitude quase criminosamente irresponsável em relação à criação de uma criança. Foi algo tão irremediavelmente tacanho e patético que até hoje fico com raiva ao pensar que ainda existem crianças crescendo nesse tipo de ambiente e aprendendo com esse tipo de gente.
    • Esse jeito de agir é realmente muito gentil. Acho que teria sido uma resposta muito melhor do que a que eu recebi enquanto crescia.
  • “Em particular, a forma típica como pessoas que não programam entram em contato com bots é por meio de coisas como bots de cambistas de ingressos ou bots de reserva de restaurantes. São bots que parecem egoístas, injustos e antissociais.”
    Essa parte me lembrou quando o resort de esqui Palisades Tahoe, no inverno passado, introduziu reservas de estacionamento gratuitas, mas escassas, para fins de semana. Como é naturalmente um dos destinos de esqui mais populares da Bay Area, claro que surgiram bots. Sempre que novas vagas eram liberadas, sumiam em segundos, e era claramente obra de bots. Então eu também acabei tendo que fazer um
    O meu bot só avisava pelo Pushover quando aparecia uma vaga por cancelamento, e não fazia a reserva diretamente, mas isso já era suficiente para mim e meu grupo. No Reddit, pessoas que não criavam bots diziam que os bots estavam abocanhando tudo, e eu também me sentia meio antissocial, mas realmente não havia alternativa

    • O triste é que a solução é muito simples. Basta receber manifestações de interesse por um período suficientemente longo para que todos possam se inscrever com calma e, ao fim desse período, fazer um sorteio. Os selecionados poderiam receber, por exemplo, um e-mail com um magic link dando a chance de comprar, e, se não responderem, basta sortear outra pessoa
      Caso contrário, em vez de entregar o recurso a quem está disposto a pagar mais, isso vira um “leilão” para quem programa melhor. Essas pessoas podem então revender para quem pagar mais. Programação é uma habilidade especializada e, se esse já é um contexto em que dar ao maior pagador não é aceitável, isso é bastante injusto. Pelo que sei, esse método é usado em partes do setor de tênis/sneakers e moda
    • Na época da covid, acabei tendo que criar um bot de reservas para conseguir horário na piscina pública da minha região. As vagas abriam à meia-noite, dois dias antes, e é raro que pessoas que querem nadar regularmente às 7 da manhã tenham o hábito de ficar acordadas até meia-noite. Quando eu acordava às 6, já estava tudo reservado. Então fiz um bot, e foi surpreendentemente divertido e eficaz
    • Eu uso bot para reservar hospedagem em abrigos de montanha de trilhas populares no meu país. Todo ano as reservas online abrem em um horário definido, e alguns segundos depois tudo desaparece. A única forma realmente confiável de conseguir ao menos uma é usar bot
      O engraçado é que todo ano saem notícias sobre o uso de bots nessas reservas de abrigo, e os operadores negam com veemência. Mas eu sei que o meu bot está competindo com inúmeros outros bots
    • Sistemas de agendamento de serviços públicos em partes do sul da Europa também passam pela mesma coisa. Grupos organizados monopolizam o sistema e depois vendem os horários
      É um segredo aberto que, para conseguir um horário dali a 6–12 semanas, você pode lutar contra bots ou pagar 50 euros à pessoa certa e conseguir um agendamento em poucos dias
    • No primeiro verão da covid, tive que fazer algo parecido para colocar meu barco no Lake Tahoe. O Lake Tahoe e a maioria dos lagos da Califórnia exigem uma inspeção do barco imediatamente antes de entrar na água, principalmente para evitar contaminação por quagga. Durante a covid, era preciso reservar essa inspeção online e, assim como nas reservas de estacionamento, como a oferta e a demanda eram parecidas, fiz um bot que avisava pelo Pushover quando surgia uma vaga
      Depois de conseguir a reserva, ainda tive que rebocar o barco por 9 horas, torcendo durante todo o trajeto para que não restasse nem uma gota d’água nele. A maioria dos inspetores reprovava na hora e mandava voltar se visse água. Felizmente, a equipe de inspeção no local era muito boa e lavou o barco inteiro com água quente, que, segundo eles, mata coisas como filhotes ou ovos de mexilhão-quagga
  • Gostei muito deste texto, e ele me fez lembrar da época em que eu aprendia Java no ensino médio. Eu tinha feito um app que cobria a tela inteira com uma grade de botões “x”, e só um deles realmente fechava a janela. Quando alguém saía sem bloquear o computador, eu colocava um disquete, executava o programa e ia embora
    O responsável de TI da escola sempre perguntava o que estávamos fazendo, e nós respondíamos honestamente. Ele não ficava bravo porque tínhamos descoberto como rodar jogos como Halo CE ou Starcraft pela rede, mas, quando a gente começava a abusar, mandava parar

    • Meu amigo decorou a chave de CD do StarCraft para poder reinstalar rapidamente. Bons tempos
      Nós tínhamos compartilhamento de arquivos na rede, então nem precisávamos de disquete, e era muito fácil mexer no computador de todo mundo. Eu fiz um script que lia os títulos das janelas abertas para fechar sites de jogos populares da época, como free games.com. Porque não era para jogar durante a aula. Mas, por causa do nome de um arquivo salvo, acabei fechando algum programa de modelagem 3D, e isso foi meio chato
    • Os computadores públicos da nossa escola eram, em teoria, bloqueados. Para conseguir acesso à internet, era preciso autorização do pessoal de TI; caso contrário, só dava para usar coisas como Word
      Eu encontrei uma forma de contornar isso: abria o Bloco de Notas, ia para a caixa de diálogo de abrir arquivo e, embora eu não lembre exatamente o passo seguinte, o Explorador de Arquivos acabava abrindo, e, se você colocasse uma URL na barra de endereços, ele mudava para o Internet Explorer. Claro, eu também tinha Linux para boot por CD, mas isso chamava atenção demais
    • Descobri que o Quake 2 rodava sem privilégios de administrador e o instalei em vários computadores da escola. Muita gente ficou viciada, mas no fim levei uma punição pesada, incluindo suspensão e convocação dos meus pais, por supostamente ter “estragado a internet”
      O pessoal de TI alegou que os jogos em rede estavam consumindo toda a largura de banda e que, para instalar, eu tinha “hackeado” os computadores para obter privilégios de administrador. Parece que há uma história minha em muitos dos comentários desta thread
  • Isso me lembrou a história sobre o Reddit em um artigo da New Yorker, especialmente a parte que explicava o r/Place:
    No último Dia da Mentira, em vez de anunciar uma paródia, o Reddit revelou um experimento social real. Chamava-se r/Place e era um quadrado vazio de mil por mil pixels. No início, todos os um milhão de pixels eram brancos. Quando o experimento começou, qualquer pessoa podia mudar um único pixel, em qualquer lugar da grade, para uma entre dezesseis cores. A única limitação era a velocidade. O algoritmo permitia que cada usuário do Reddit alterasse apenas um pixel a cada cinco minutos. “Assim, uma pessoa só não consegue dominar. É lento demais.”, explicou Josh Wardle, gerente de produto do Reddit responsável pelo Place. “Para fazer algo em escala, é preciso cooperar.”
    https://www.newyorker.com/magazine/2018/03/19/reddit-and-the...

    • Apesar da fala de que “uma pessoa só não consegue dominar”, administradores/moderadores do Reddit abusaram disso no Place burlando o limite de tempo para marcar quantos pixels quisessem
  • Eu também era uma das pessoas que odiavam bots. Eu precisava deste texto. Também já me meti em problemas na escola por criar um programa que não devia fazer
    Ainda assim, serei eternamente grato ao professor de matemática que disse que eu podia programar na calculadora TI-83+. A condição era que o programa tivesse sido escrito por mim e não fosse compartilhado com outras pessoas

  • Na época em que eu administrava um fórum vBulletin, instalei um sistema de arcade. Era uma função divertida em que você jogava e ganhava uma moeda inútil chamada “XMB Bucks” para se exibir para os outros
    Alguns meses depois, descobri que aquele arcade tinha um recurso de subfórum oculto e que bastante gente o usava ativamente. Parecia que eles tinham contornado a tela de cadastro do vBulletin e se inscrito diretamente nesse recurso oculto do arcade, e ficavam ali conversando entre si com afinco, como um bando de ratos vivendo sob o assoalho

  • Quando entrei na faculdade, a WWW era algo muito novo. Aprendi rápido a ver páginas com o NCSA Mosaic no laboratório CIP, mas não fazia a menor ideia de como aquilo funcionava. Mesmo assim, eu queria descobrir
    Li em algum lugar que, para criar minha própria página, eu precisava de um “patchy server”, então pesquisei por Apache no Altavista. Depois de me surpreender por um instante que o primeiro resultado não era sobre uma tribo, segui cuidadosamente todas as instruções sem saber muito bem o que estava fazendo
    Muito tempo depois, a página de teste apareceu no Mosaic, e fui para casa feliz. Já era tarde e eu estava cansado, mas fiquei pensando se deveria ligar o computador, conectar por discagem e verificar se minha página também aparecia de casa. Eu não entendia muita coisa, mas tive a sensação de que, se aparecesse de casa, então qualquer pessoa no mundo poderia vê-la
    Essa ideia não saía da minha cabeça, então acabei testando, e, para minha surpresa, realmente funcionou.[1] Para alguém como eu, que cresceu no interior sem nem ter biblioteca, aquilo foi uma experiência capaz de abalar o mundo
    Cerca de duas semanas depois, recebi um aviso da universidade dizendo que eu não podia operar serviços usando recursos da universidade sem autorização, então tive de tirar do ar. Fora isso, porém, não aconteceu nada, e sou muito grato por terem reagido de forma razoável
    [1] Na época, nossos computadores tinham IP público, e os firewalls ainda não tinham chegado

    • Não é exatamente o ponto principal, mas é curioso lembrar que o NAT nem sempre existiu, e que muitas redes tinham PCs com endereços públicos de internet e sem firewall. Naquela época, o NetBIOS também simplesmente funcionava pela internet. Se você digitasse \\x.x.x.x\c$, havia uma chance bem alta de acessar direto
  • Ótima história, deu um gosto extra ao meu café da manhã. Jovens desenvolvedores são livres das ferramentas e processos modernos do mundo profissional, que nem sempre são algo bom
    Estou criando uma plataforma parecida com uma alternativa open source ao Roblox, e esse tipo de criança acaba sendo atraído. Eles são realmente criativos, avisam sobre bugs e hacks potencialmente nocivos, e estão sempre tentando ajudar

    • De longe uma das histórias de que mais gostei no HN em muito tempo