1 Punkte von GN⁺ 2024-08-30 | 1 Kommentare | Auf WhatsApp teilen
  • One Million Checkboxes (OMCB) war eine Website, auf der alle dieselben eine Million Checkboxen in Echtzeit verändern konnten. Während des Betriebs wurde in der Datenbank ein verstecktes URL-Muster entdeckt, das eine unerwartete Zusammenarbeit sichtbar machte
  • Nach dem Start am 26. Juni 2024 manipulierten 500.000 Menschen innerhalb von zwei Wochen mehr als 650 Millionen Mal Checkboxen – aus einem einfachen Experiment wurde ein groß angelegtes Internetspiel
  • Weil der Zustand jeder Checkbox als 1 Bit gespeichert wurde, ergaben 8 Checkboxen 1 Byte. Einige Nutzer nutzten das, um ASCII-Zeichen und URLs als binäre Nachrichten zu verstecken
  • Die versteckte URL führte zu einem Discord-Server. Die Teilnehmenden renderten die eine Million Checkboxen als 1000×1000-Bild und experimentierten mit QR-Codes, base64-Nachrichten, Animationen und Farbdarstellung
  • Bots konnten zwar die Erfahrung normaler Nutzer beeinträchtigen, doch der Prozess, Beschränkungen zu umgehen, das System zu erkunden und Spuren zu hinterlassen, bleibt als kreative Internet-Kollaboration in Erinnerung

Wie One Million Checkboxes funktionierte

  • One Million Checkboxes (OMCB) war eine am 26. Juni 2024 veröffentlichte Website mit einer Million globaler Checkboxen
    • Wenn ein Nutzer eine Checkbox ein- oder ausschaltete, wurde derselbe Zustand sofort für alle anderen Nutzer der Website übernommen
    • Der Betreiber hatte damit gerechnet, dass einige Hundert Menschen ein paar Tausend Checkboxen anklicken würden; tatsächlich manipulierten innerhalb von zwei Wochen 500.000 Menschen mehr als 650 Millionen Mal Checkboxen
  • Die Website verbreitete sich so stark, dass sie auch in der New York Times, der Washington Post, bei Know Your Meme und auf Wikipedia auftauchte
  • Die Skalierungstechnik von OMCB wurde in einem separaten Artikel behandelt; diese Geschichte konzentriert sich auf die versteckten Nachrichten, die während des Betriebs entdeckt wurden

Einschränkungen, die das Zeichnen erschwerten

  • Da bei OMCB im offenen Internet schwer vorherzusagen war, was Nutzer zeichnen würden, wurde die Website so gestaltet, dass freies Zeichnen schwierig war
  • Die Zahl der pro Zeile angezeigten Checkboxen änderte sich abhängig von der Breite des Browserfensters
    • Selbst wenn man bei einer bestimmten Breite ein Wort wie „EXAMPLE“ formen konnte, verschwand die Botschaft, sobald sich die Browserbreite änderte und die Zeilenumbrüche anders lagen
    • Ein auf dem Smartphone gezeichnetes Gekritzel sah auf einem Laptop nicht gleich aus und war nur für Nutzer mit derselben Anzeigebreite sichtbar
  • Diese Einschränkung wirkte so subtil, dass Nutzer kaum bemerkten, dass ihre geschriebenen Zeichen für andere nicht sichtbar waren
  • Viele Nutzer baten darum, die Website so zu „reparieren“, dass man zeichnen könne, doch dieses Verhalten war eine bewusste Entscheidung

Wie Checkboxen als Daten gespeichert wurden

  • Um den Zustand von einer Million Checkboxen effizient zu speichern und zu übertragen, stellte OMCB jede Checkbox als 1 Bit dar
    • Eine aktivierte Checkbox wurde als 1, eine nicht aktivierte als 0 gespeichert
    • Eine Million Bits entsprechen 125.000 Byte, also 125 KB
  • Die Daten wurden in Redis gespeichert; beim Senden an Clients wurde base64-Encoding verwendet
  • Da 8 Checkboxen 8 Bit, also 1 Byte, ergeben konnten, entstand die Grundlage dafür, versteckte Nachrichten zu erzeugen

Eine verdächtige URL in der Datenbank

  • Einige Tage nach dem Start von OMCB wurde das Backend zur Bewältigung der Last in Go neu geschrieben; anschließend wurden die in Redis gespeicherten Rohbytes als ASCII gedumpt
  • Im Dump war eine URL zu sehen, die auf catgirls.win führte, und zunächst wurde angenommen, die Datenbank sei gehackt worden
    • Zugriffslogs und Code wurden überprüft, doch es gab keine Spuren eines Einbruchs
    • Da man davon ausging, dass die Datenbank nur Nullen und Einsen enthalten sollte, wirkte es so, als sei ein String hineingeraten
  • Beim Prüfen der Checkbox-Positionen, die der URL entsprachen, wurde die tatsächliche Ursache klar
    • Ein einzelnes Zeichen h ist 1 Byte, und 1 Byte sind 8 Bit; bei OMCB entsprach das 8 Checkboxen
    • Es gab ein sich wiederholendes Muster in 8er-Gruppen, das zur URL passte; änderte man eine Checkbox, erschien sofort wieder das ursprüngliche Muster
  • Die Datenbank war nicht gehackt worden – jemand manipulierte Checkboxen, um eine binäre Nachricht zu schreiben

Die binäre Nachricht, gelesen als ASCII

  • Wenn Redis Daten als ASCII ausgibt, liest es Rohdaten in Einheiten von 1 Byte, also 8 Bit
  • Jedes Byte wird in eine Zahl von 0 bis 255 umgewandelt
    • Liegt der Wert im Bereich druckbarer ASCII-Zeichen von 32 bis 127, wird das entsprechende Zeichen angezeigt
    • Andernfalls erscheint eine hexadezimale Darstellung wie \x00
  • Die Nutzer, die die Nachricht erzeugten, schalteten Checkboxen ein und aus, änderten so Bits und sorgten dafür, dass diese Bits über Zahlen und Zeichen eine URL bildeten
  • Dieses Muster blieb selbst in einer Umgebung erhalten, in der Tausende andere Nutzer gleichzeitig die Website manipulierten

Ein versteckter Durchgang zu Discord

  • Die versteckte URL https://catgirls.win/omcb führte zu einem Discord-Server namens Checking Boxes
    • Der ursprüngliche Discord wurde später gesperrt, und die URL zeigte danach auf ein anderes Ziel
  • Die Discord-Teilnehmenden luden alle Checkbox-Daten von OMCB herunter und renderten sie als 1000×1000-Rasterbild
    • Nicht aktivierte Boxen wurden weiß, aktivierte Boxen schwarz dargestellt
  • In diesem Bild steckten verschiedene Formen von Nachrichten
    • Das sich wiederholende Rauschen im unteren Bereich war die entdeckte binäre Nachricht
    • Darüber befand sich eine base64-Version derselben Nachricht
    • Links war ein QR-Code mit Fehlerkorrektur
    • Alle waren Nachrichten, die zu Discord führten
  • Die Teilnehmenden gingen davon aus, dass Menschen, die wahrscheinlich Bots bauen würden, entweder base64-Daten, Binärdaten oder das 1000×1000-Bild sehen würden, und nutzten deshalb mehrere Wege parallel
  • Zum Zeitpunkt des Beitritts umfasste der Discord weniger als 20 Personen; bis zum Ende der Website wuchs er auf mehr als 60 Personen an

Experimente mit Bots, Bildern und Animationen

  • Die Discord-Teilnehmenden bauten bessere Zeichensysteme und entwickelten durch Reverse Engineering die Rate Limits von OMCB zurück, wodurch immer komplexere Bilder entstanden
    • Der Betreiber bot an, Informationen zu den Rate Limits zu geben, doch der Discord-Leiter zog es vor, sie selbst herauszufinden
  • Mit der Zeit experimentierten sie auch mit Protokollen für Animationen und Farbdarstellung
    • Als Beispiel kam eine Methode auf, bei der benachbarte Zellen wie Rot-, Grün- und Blaukanäle behandelt wurden, um Farben in ein kleineres Raster zu zeichnen
  • Am Tag vor dem Ende der Website hob der Betreiber nach einer Warnung alle Rate Limits auf, um zu sehen, wie viel Traffic das System aushalten und was die Teilnehmenden bauen konnten
  • Dabei entstanden mehrere Animationen; eines der Beispiele war eine Rickroll-Animation

Die zwei Seiten von Bots

  • Bei OMCB gab es viele Beschwerden über Bots, und Hunderte Nachrichten mit Kritik an Bots gingen ein
  • Bots, denen normale Nutzer häufig begegnen, wirken oft egoistisch und unfair, etwa Ticket-Scalping-Bots oder Bots für Restaurantreservierungen
  • Auch bei OMCB gab es Bots, die man als antisozial betrachten konnte
    • Einige Nutzer bauten kleine JavaScript-Bots, die möglichst alle Checkboxen deaktivierten, und machten darauf aufmerksam
    • Manche Nutzer sagten, dieses Verhalten habe die Website-Erfahrung ruiniert
  • Die Discord-Teilnehmenden stellten einige Regeln dafür auf, wofür Bots verwendet werden sollten, und der Betreiber bat gelegentlich darum, die Intensität zu reduzieren
  • Der Einsatz von Bots könnte die Erfahrung normaler Nutzer verschlechtert haben; zugleich war er aber auch ein Beispiel dafür, wie Menschen innerhalb von Beschränkungen ein System erkundeten und kreative Arbeiten schufen

Eine Erfahrung, die als kreativer Streich bleibt

  • Der Betreiber hatte in der Highschool rekursive Mail-Regeln als Streich erstellt, um einem Freund Millionen von Nachrichten zu schicken, und dabei versehentlich mehrfach den Mailserver der Schule lahmgelegt
  • Die Erwachsenen in seinem Umfeld reagierten damals nicht besonders wütend, sondern sagten ihm eher, er solle damit aufhören, und machten sogar T-Shirts
  • Die versteckten Nachrichten, Tools und Bilder, die die Discord-Teilnehmenden bei OMCB erschufen, waren ein unerwartet kreatives Ergebnis
  • Der Betreiber empfand es als bedeutsam, dies in Echtzeit sehen und fördern zu können, und ist stolz darauf, dass Discord OMCB als etwas betrachtete, mit dem man spielen konnte, sowie auf die Ergebnisse, die sie geschaffen haben

1 Kommentare

 
GN⁺ 2024-08-30
Hacker-News-Meinungen
  • Ich bin der Autor :)
    Das ist meine Lieblingsgeschichte von allen Geschichten, die ich beim Betrieb der Site erlebt habe, und vielleicht sogar die beste Geschichte, an der ich je beteiligt war. Ich bin eigentlich nicht nah am Wasser gebaut, aber in den letzten zwei Monaten habe ich mehrmals geweint, wenn ich daran gedacht und versucht habe, es aufzuschreiben. Natürlich war auch der Entdeckungsprozess selbst und wie sich alles von Angst in Begeisterung verwandelte, ziemlich verrückt.
    Besonders schön fand ich, dass sich eine zentrale Überzeugung bestätigt hat, die ich beim Bauen solcher Dinge hatte: Einschränkungen für ein paar böswillige Leute sind nötig, aber im Großen und Ganzen sind Menschen, die im Internet herumspielen, gut und äußerst kreativ – und sie machen selbst aus diesen Einschränkungen wieder etwas, womit man spielen kann.

    • Vor Kurzem hatte ich eine große Diskussion mit einem Freund. Er war überzeugt, dass das Internet ein Ort voller Trolling und bösartiger Kommentare ist und dass Social Media Kindern schaden wird. Meine Position war: Wenn man nur auf Orte wie X oder Facebook schaut, kann es wie die Hölle wirken, aber das Internet hat so viel mehr Möglichkeiten.
      Dieser Beitrag war eines der besten Beispiele dafür, und ich fand es großartig, dass du die Site gebaut, beobachtet hast, wie die Leute sie nutzen, und diese Erfahrung geteilt hast. Das Lesen hat mich sehr glücklich gemacht, und ich werde es oft teilen.
    • Von allem, was ich seit Langem über das Internet gelesen habe, gefielen mir hier der Sinn fürs Spielen und diese Geschichte am besten.
      Ich bin eindeutig im Burnout, und das bringt mich auf den Gedanken, etwas Leichtes und scheinbar Nutzloses zu bauen. Es erinnert mich an die Geschichte von Richard Feynman, der zehn Jahre nach dem Krieg deprimiert war, beim Mittagessen in der Physik eines rotierenden Tellers wieder Freude fand und die Dinge, an denen er zuvor gearbeitet hatte, für eine Weile loslassen konnte.
    • Dieser Beitrag war wirklich liebenswert und süß. Ich wünschte, das Internet würde öfter auf diese Weise genutzt.
    • Sowohl der Text als auch das Video haben die Geschichte hervorragend erzählt. Es war schön, Menschen dafür feiern zu können, dass sie etwas auf eine Weise geschafft haben, aus der wir viel gelernt haben.
    • Dieser Beitrag, der Artikel zur Skalierbarkeit und überhaupt die gesamte Arbeit waren großartig und sehr inspirierend.
      Ich stimme auch vollkommen zu, dass es überwiegend gute und kreative Menschen gibt. Ich habe einen OMCB-Klon gebaut, war von der Idee besessen, habe ihn online gestellt, und einen Tag später gab es zwar auch ein paar böswillige Leute, aber jemand hat eine riesige Hokusais „Die große Welle“ hineingemalt. Meine Version nutzte eine große Scroll-Canvas mit fester Breite/Höhe, sodass es sofort auffiel, und es fühlte sich wirklich schön und erfreulich an, das zu sehen.
  • Beim Lesen dieses Beitrags wurde ich ein wenig emotional. In der Mittelschule lernte ich Software Engineering, weil ich in Mathe schlecht war und ein Programm bauen wollte, das meine Hausaufgaben löst. Danach baute ich aus Spaß immer weiter Dinge: LAN-Chat, HTTP-Server, Antivirus und vieles mehr.
    Es war spannend, herausfordernd, lohnend und überraschend. Aber nachdem ich angefangen hatte zu arbeiten, wurde ich durch den endlosen Strom neuer Technologien, Debatten wie „X ist schädlich“ oder „J ist besser als K“ und den unaufhörlichen Beschuss mit Neuem innerlich stumpf.
    Die Freude am Engineering fühlt sich nicht mehr wie ein blauer Himmel an. Vielleicht ist er immer noch blau, aber für Augen, die in Silber gewaschen wurden, sieht alles grau aus.
    Diese Geschichte zu lesen, hat die Gefühle wiederbelebt, die ich hatte, als ich als Kind Software lernte. Es kann immer noch Spaß machen, und ich kann etwas für mich selbst bauen – nicht für einen Exit oder ein glänzendes neues SaaS. Sie hat mir einen Hoffnungsschimmer gegeben, dass es immer noch Spaß machen kann.

    • Der Ausdruck „für Augen, die in Silber gewaschen wurden, sieht alles grau aus“ ist wunderschön. Es freut mich, dass du Hoffnung spürst, dieses Gefühl wiederzubeleben.
      Du weißt es wahrscheinlich schon, aber das ist ein Burnout-Symptom, und wer sich ähnlich fühlt, sollte es ernst nehmen. Ich habe früher einmal bei der Arbeit jemandem geholfen, Python zu lernen, und diese Person war wirklich begeistert, als sie ein binäres Dateiformat verstand. Da wurde mir klar, dass ich dieses Gefühl seit Jahren nicht mehr erlebt hatte, und kurz darauf erkannte ich, dass ich zu erschöpft war, um in dieser Stelle weiterzuarbeiten, und dass ich Zeit brauchte, mich um meine mentale Gesundheit zu kümmern.
    • Auch ich hatte einmal die Freude am Coden verloren, konnte sie aber wiederfinden.
      Der Schlüssel war, neue Technologien zu lernen zu ignorieren, sofern es nicht unbedingt nötig war, und mich einfach darauf zu konzentrieren, Neues zu bauen. Ich glaube, es begann mit den Videos von Sebastian Lague, die mich daran erinnerten, wie schön Coden sein kann.
      [https://youtu.be/X-iSQQgOd1A?si=aqriiWmcqqphOiuI]
    • Mir ging es genauso. Ich musste an „Calling All Hackers“ [1] aus der neuesten Phrack-Ausgabe denken, und es gab mir Hoffnung, dass der Hacker-Geist auch in der jungen Generation weiterleben wird, wenn wir ihn nicht unterdrücken, sondern fördern.
      Es erinnerte mich an meine Teenagerzeit, als ich Code schrieb, nicht weil ich musste, sondern weil ich wollte. Ich habe diese Fähigkeiten auch für gute Dinge genutzt, aber auch für dumme Sachen wie das Hacken von „Konkurrenten“, wofür ich mich heute schäme. Insgesamt hat mich diese Erfahrung aber zu dem gemacht, was ich heute bin, und ich freue mich, dass auch die nächste Generation noch Freude am Coden findet.
      [1] https://news.ycombinator.com/item?id=41306128
    • „Für Augen, die in Silber gewaschen wurden, sieht alles grau aus“ ist wirklich ein großartiger Satz. Ich frage mich, ob das eine Redewendung ist oder ob du ihn selbst geprägt hast.
    • Manchmal ist es gut, einen Schritt zurückzutreten und einfach irgendetwas Zufälliges zu machen. Mach Advent of Code nicht kompetitiv; kümmere dich nicht um Best Practices, sondern bring es einfach in irgendeiner Sprache zum Laufen.
      Du kannst auch pico-8 nehmen und ein miserables Spiel oder Skript bauen. Weil weder Platz noch Motivation da sind, nimmst du statt langer Variablennamen wie longDescriptiveVariableNames eben zweibuchstabige Variablennamen. Oder spiel Spiele wie TIS-100 oder Shenzen I/O – am besten druckst du das Handbuch aus, steckst es in den ältesten Ordner und verschüttest noch Kaffee darüber.
  • Dieser Teil ist wirklich wichtig:
    „Die Erwachsenen in meinem Leben waren meistens nicht wütend auf mich. Sie sagten mir, ich solle damit aufhören, machten mir aber auch T-Shirts. Ohne die Ermutigung, die ich damals bekommen habe, würde ich heute vermutlich nicht das tun, was ich tue.“
    Jugendliche brauchen Räume, in denen sie angemessen herumalbern können – Räume, in denen es bis zu einem gewissen Grad reale gesellschaftliche Konsequenzen gibt, aber auch Grenzen und Hilfe, damit es nicht zu weit geht. Und sie brauchen Erwachsene, die nicht als Autoritäten herrschen, sondern coole Fähigkeiten haben, die Kinder lernen wollen.

    • 1999, als ich auf der Highschool war, habe ich einmal einen albernen, harmlosen Streich an den Schulcomputern gespielt.
      Ich erstellte eine Präsentation mit zwei Folien: Beide ahmten mit schwarzem Hintergrund und grauer Schrift eine DOS-Session nach, die so aussah, als wäre Windows gelöscht worden; auf einer Folie war am Prompt ein Unterstrich. Ich ließ sie jede Sekunde automatisch wechseln und in einer Schleife laufen, sodass es wie ein blinkender Cursor aussah. Es wirkte wie ein kaputter Computer, aber mit Escape kam man einfach wieder heraus. Natürlich waren diese Computer Macs, sie hatten also weder DOS noch Windows.
      Eine Lehrkraft sah das, dachte, ich hätte den Computer gehackt oder kaputt gemacht, und schickte mich zum Schulleiter. Der fand es nicht lustig und gab mir als Strafe auf, die nächsten zwei Wochen jeweils die zweite Hälfte der Mittagspause beim IT-Verantwortlichen der Schule zu verbringen und ihm dabei zuzusehen, wie er mit Vandalismus zu tun hatte. Der IT-Verantwortliche lachte allerdings laut los, sobald er sah, was ich gemacht hatte, und fand es absurd, das so zu behandeln, als hätte ich einen Computer beschädigt. Auch nachdem die Strafe vorbei war, ging ich oft in sein Büro, um mich zu unterhalten, oder lief mit ihm herum und reparierte Computer.
    • In der Highschool hatte ich ein ähnliches Erlebnis. Ich hatte eine modifizierte Version eines Virus erstellt, die mehrere Computer infizierte und Probleme verursachte, und bekam bis zum nächsten Jahr Laborverbot. Da es Ende September war, war das keine große Sache.
      Im nächsten Jahr fragte ich einen Lehrer, ob ich Zugriff auf einen PC haben könne, weil ich mit etwas herumspielen wollte. Er gab mir nach Schulschluss Zugang zum Buchhaltungsraum, zusätzlichen Speicherplatz auf einem Netzlaufwerk und nahezu freie Hand unter der Bedingung, nichts kaputt zu machen. Also machte ich nichts kaputt, ließ über Nacht Tierra auf mehreren Maschinen laufen, sah morgens, dass es wunderbar funktionierte, speicherte und startete neu. Das wurde zu einer wichtigen Grundlage für die Zukunft. Ich machte auch deshalb nichts kaputt, weil ich die Gans, die goldene Eier legt, nicht töten wollte.
    • An unserer Highschool gab es im Computerraum einen Programmier-Einführungskurs, in dem VB6 unterrichtet wurde, und er war sehr selbstständig angelegt, sodass es viel Raum zum Ausprobieren gab.
      Die Labor-PCs waren sehr langsam, und ein bekannter Streich war, Win+E gedrückt zu halten, wodurch Hunderte Explorer-Fenster aufgingen und der PC einfror. Also schrieb ich ein kleines VB6-Programm namens „DoraTheExplorer.exe“, das beim Anklicken genau dasselbe tat, und legte es auf das gemeinsame Laufwerk der Schule.
      Anfangs war es erfolgreich, aber die Leute begannen, es schnell mit Alt+F4 zu schließen und so zu umgehen. Ich ließ es sich beim Beenden selbst neu starten, aber auch das wurde durch wiederholtes Drücken von Alt+F4 abgewehrt. Am Ende baute ich eine Hydra, bei der sich jedes Mal, wenn man sie schloss, zwei weitere öffneten; sie wurde zur ICBM des Explorer-Streichkriegs, und die Niederlage wurde erklärt.
      Der Administrator wusste von Anfang an Bescheid, war aber im Großen und Ganzen entspannt. Er machte klar, dass wir die Verantwortung tragen würden, falls jemand Arbeit verlor oder Schaden entstand, aber dazu kam es nicht, weil alle wussten, was dora.exe tat. Die Leute klickten absichtlich darauf, um ihren PC auf dumme Weise zum Absturz zu bringen und zu sehen, ob sie es vermeiden konnten.
    • Ich habe in der Schule fast dasselbe gemacht. Mit einem VB6-Skript, das endlos Textdateien auf den Netzwerkspeicher schrieb, brachte ich das System zum Absturz, und die Schule schickte meiner Mutter einen Brief, in dem sie mich des Terrorismus beschuldigte.
      Schon damals fand ich das absurd und unfair, und zum Glück war meine Mutter derselben Meinung. Wenn ich heute mit den Augen eines Erwachsenen darauf zurückblicke, empfinde ich diese Haltung gegenüber der Erziehung von Kindern als beinahe kriminell verantwortungslos. Sie war wirklich unverbesserlich engstirnig und erbärmlich, und es macht mich immer noch wütend, wenn ich daran denke, dass es Kinder gibt, die in so einer Umgebung aufwachsen und von solchen Leuten lernen.
    • Diese Art damit umzugehen ist wirklich herzlich. Ich glaube, ich hätte darauf viel besser reagiert als auf die Reaktionen, die ich beim Aufwachsen bekommen habe.
  • „Gerade für Menschen, die nicht programmieren, sind Bots typischerweise Dinge wie Ticket-Scalping-Bots oder Bots für Restaurantreservierungen. Bots, die egoistisch, unfair und antisozial wirken.“
    Bei dieser Stelle musste ich daran denken, dass das Skigebiet Palisades Tahoe im vergangenen Winter kostenlose, aber knappe Parkplatzreservierungen für Wochenenden eingeführt hatte. Es ist eines der beliebtesten Skigebiete in der Bay Area, also wurden natürlich Bots gebaut. Sobald neue Plätze freigeschaltet wurden, waren sie nach ein paar Sekunden weg, und es waren ganz offensichtlich Bots. Also blieb mir auch nichts anderes übrig, als selbst einen zu bauen.
    Mein Bot benachrichtigte mich nur per Pushover, wenn durch eine Stornierung ein Platz frei wurde, und buchte nicht selbst, aber für mich und meine Gruppe reichte das. Auf Reddit sagten Leute, die keine Bots bauten, dass Bots alles wegschnappen würden, und ich fand es selbst ziemlich antisozial, aber es gab wirklich keine Alternative.

    • Das Bedauerliche ist, dass die Lösung sehr einfach wäre. Man könnte über einen ausreichend langen Zeitraum Interessenbekundungen annehmen, sodass alle in Ruhe einen Antrag stellen können, und danach verlosen. Die Gewinner würden zum Beispiel eine E-Mail mit einem Magic Link bekommen, um kaufen zu können; wenn sie nicht reagieren, zieht man jemand anderen.
      Andernfalls wird es statt einer Vergabe der Ressource an die Person, die am meisten zahlt, zu einer „Auktion“, bei der sie an die Person mit den besten Programmierkenntnissen geht. Diese Personen können sie dann wiederum an die weiterverkaufen, die am meisten zahlen. Programmieren ist eine Spezialfähigkeit, und in Kontexten, in denen es von vornherein nicht akzeptiert wäre, es der Person zu geben, die am meisten Geld zahlt, ist das ziemlich unfair. Soweit ich weiß, wird so etwas in Teilen der Sneaker-/Modebranche gemacht.
    • Während Corona musste ich zwangsläufig einen Reservierungs-Bot bauen, um Bahnen im örtlichen Schwimmbad zu reservieren. Die Plätze wurden zwei Tage vorher um Mitternacht freigeschaltet, aber Menschen, die regelmäßig um 7 Uhr morgens schwimmen wollen, haben selten die Angewohnheit, bis Mitternacht wach zu bleiben. Wenn man um 6 Uhr morgens aufstand, war immer alles ausgebucht. Also baute ich einen Bot, und er war überraschend spaßig und effektiv.
    • Ich nutze einen Bot für Übernachtungsreservierungen in Hütten an beliebten Wanderwegen in unserem Land. Jedes Jahr werden die Online-Reservierungen zu einer festgelegten Uhrzeit geöffnet, und ein paar Sekunden später ist alles weg. Die einzige verlässlich funktionierende Methode, überhaupt etwas zu bekommen, ist der Einsatz eines Bots.
      Interessant ist, dass es jedes Jahr Nachrichten darüber gibt, ob bei diesen Hüttenreservierungen Bots verwendet werden, und die Betreiber das entschieden abstreiten. Aber ich weiß, dass mein Bot mit zahllosen anderen Bots konkurriert.
    • Reservierungssysteme für Behördentermine in manchen Regionen Südeuropas erleben dasselbe. Organisierte Gruppen monopolisieren das System und verkaufen anschließend die Termine.
      Es ist ein offenes Geheimnis, dass man die Wahl hat, entweder mit Bots um einen Termin in 6 bis 12 Wochen zu kämpfen oder der richtigen Person 50 Euro zu zahlen und innerhalb weniger Tage einen Termin zu bekommen.
    • Im ersten Corona-Sommer musste ich etwas Ähnliches tun, um mein Boot auf den Lake Tahoe zu bringen. Lake Tahoe und die meisten Seen in Kalifornien verlangen direkt vor dem Zuwasserlassen eine Bootskontrolle, hauptsächlich um Quagga-Kontamination zu verhindern. Während Corona musste man diese Kontrolle online reservieren, und da Angebot und Nachfrage ähnlich eng beieinanderlagen wie bei den Parkplatzreservierungen, baute ich einen Bot, der mich per Pushover benachrichtigte, wenn ein Platz frei wurde.
      Nachdem ich die Reservierung bekommen hatte, musste ich das Boot neun Stunden ziehen und hoffte die ganze Fahrt über, dass kein einziger Tropfen Wasser mehr im Boot war. Die meisten Kontrolleure lassen einen nämlich sofort durchfallen und schicken einen zurück, wenn sie Wasser sehen. Zum Glück war das Kontrollteam vor Ort ziemlich gut und spülte das ganze Boot mit heißem Wasser ab, was angeblich Larven oder Eier von Quagga-Muscheln und Ähnliches abtötet.
  • Dieser Artikel hat mir wirklich gefallen und mich an die Zeit in der Highschool erinnert, als ich Java lernte. Ich baute eine App, die den ganzen Bildschirm mit einem Raster aus „x“-Buttons bedeckte, von denen nur einer tatsächlich das Fenster schloss. Wenn jemand seinen Computer nicht sperrte und wegging, legten wir eine Diskette ein, starteten das Programm und verschwanden.
    Der IT-Verantwortliche der Schule fragte uns immer, was wir da machten, und wir antworteten ehrlich. Er wurde nicht wütend, wenn wir herausfanden, wie man Spiele wie Halo CE oder Starcraft im Netzwerk zum Laufen brachte, aber wenn wir zu dreist wurden, sagte er uns, wir sollten aufhören.

    • Ein Freund von mir hatte den StarCraft-CD-Key auswendig gelernt, damit er es schnell neu installieren konnte. Das waren gute Zeiten.
      Wir hatten Netzwerkfreigaben und brauchten deshalb keine Disketten, und es war sehr einfach, an den Computern aller Leute herumzuspielen. Ich schrieb ein Skript, das die Titel offener Fenster auslas und damals beliebte Spieleseiten wie free games.com schloss. Schließlich sollte man im Unterricht keine Spiele spielen. Wegen des Namens einer gespeicherten Datei schloss es allerdings irgendein 3D-Modellierungsprogramm, und das tat mir etwas leid.
    • Die gemeinsam genutzten Computer an unserer Schule waren theoretisch gesperrt. Um Internetzugang zu bekommen, brauchte man die Erlaubnis des IT-Verantwortlichen, sonst konnte man nur Dinge wie Word benutzen.
      Ich fand einen Workaround: Notepad öffnen, zum Datei-öffnen-Dialog gehen, und der nächste Schritt ist mir nicht mehr genau im Gedächtnis, aber irgendwie öffnete sich der Datei-Explorer, und wenn man eine URL in die Adressleiste eingab, wurde daraus der Internet Explorer. Natürlich hatte ich auch ein von CD bootendes Linux dabei, aber das war viel zu auffällig.
    • Ich fand heraus, dass Quake 2 ohne Adminrechte lief, und installierte es auf mehreren Schulcomputern. Viele Leute waren begeistert, aber am Ende gab es eine harte Strafe, einschließlich Suspendierung und Vorladung der Eltern, weil ich angeblich „das Internet kaputtgemacht“ hatte.
      Der IT-Verantwortliche behauptete, das Netzwerkspiel würde die gesamte Bandbreite auffressen und ich hätte die Computer für die Installation „gehackt“, um Adminrechte zu bekommen. Zu sehr vielen Kommentaren in diesem Thread scheint es jeweils eine passende Geschichte von mir zu geben.
  • Das erinnert mich an die Geschichte aus dem Reddit-Artikel im New Yorker, besonders an den Abschnitt, der r/Place erklärt:
    Am vergangenen Aprilscherztag veröffentlichte Reddit statt einer Parodie-Ankündigung ein echtes soziales Experiment. Es hieß r/Place und war ein leeres Quadrat mit tausend mal tausend Pixeln. Anfangs waren alle eine Million Pixel weiß. Als das Experiment begann, konnte jeder an beliebiger Stelle im Raster genau ein Pixel in eine von 16 Farben ändern. Die einzige Beschränkung war die Geschwindigkeit. Der Algorithmus erlaubte jedem Reddit-Nutzer, nur alle fünf Minuten ein Pixel zu ändern. „So kann eine einzelne Person nicht die Kontrolle übernehmen. Dafür ist es zu langsam“, erklärte Josh Wardle, der bei Reddit für Place zuständige Produktmanager. „Wenn man etwas in großem Maßstab machen will, muss man zusammenarbeiten.“
    https://www.newyorker.com/magazine/2018/03/19/reddit-and-the...

    • Entgegen der Aussage „So kann eine einzelne Person nicht die Kontrolle übernehmen“ missbrauchten Reddit-Admins/-Moderatoren Place, indem sie das Zeitlimit umgingen und so viele Pixel setzten, wie sie wollten.
  • Ich gehörte auch zu den Leuten, die Bots hassten. Ich brauchte diesen Artikel. Auch ich hatte in der Schule einmal Probleme, weil ich ein Programm geschrieben hatte, das man nicht hätte schreiben sollen
    Trotzdem bin ich meinem Mathelehrer bis heute dankbar, dass er mir erlaubte, Programme auf dem TI-83+-Taschenrechner zu verwenden. Unter der Bedingung, dass es Programme waren, die ich selbst geschrieben hatte, und dass ich sie nicht mit anderen teilte

  • Als ich früher ein vBulletin-Forum verwaltete, hatte ich einmal ein Arcade-System installiert. Es war ein nettes Feature: Man spielte Spiele, verdiente eine völlig nutzlose Währung namens „XMB Bucks“ und konnte damit voreinander angeben
    Ein paar Monate später stellte ich fest, dass diese Spielhalle eine Funktion für versteckte Unterforen hatte und dass ziemlich viele Leute sie aktiv nutzten. Offenbar hatten sie die vBulletin-Registrierungsseite umgangen und sich direkt für diese versteckte Arcade-Funktion angemeldet; dort plauderten sie eifrig unter sich, wie ein Rudel Ratten unter den Dielen

  • Als ich an die Universität kam, war das WWW noch ganz neu. Ich lernte schnell, wie man im CIP-Pool mit NCSA Mosaic Seiten ansieht, hatte aber überhaupt keine Ahnung, wie das funktionierte. Trotzdem wollte ich es herausfinden
    Irgendwo las ich, dass man einen „patchy server“ brauche, um eine eigene Seite zu erstellen, und suchte bei Altavista nach Apache. Nachdem ich kurz erstaunt war, dass das erste Ergebnis nicht von einem Stamm handelte, befolgte ich vorsichtig alle Anweisungen, ohne wirklich zu wissen, was ich da tat
    Nach einer Weile erschien die Testseite in Mosaic, und ich ging glücklich nach Hause. Es war schon spät und ich war müde, aber ich überlegte, ob ich den Computer einschalten, mich per Modem einwählen und prüfen sollte, ob meine Seite auch von zu Hause aus sichtbar war. Vieles verstand ich nicht, aber mir kam der Gedanke: Wenn sie von zu Hause aus sichtbar ist, kann sie jeder auf der Welt sehen
    Dieser Gedanke ließ mich nicht los, also probierte ich es schließlich aus, und erstaunlicherweise funktionierte es tatsächlich.[1] Für jemanden wie mich, der auf dem Land ohne Bibliothek aufgewachsen war, war das eine welterschütternde Erfahrung
    Etwa zwei Wochen später bekam ich von der Universität die Mitteilung, dass man ohne Genehmigung keine Dienste auf Uni-Ressourcen betreiben dürfe, und musste es abschalten. Aber sonst passierte nichts, und ich bin wirklich froh, dass sie vernünftig reagierten
    [1] Damals hatte unser Computer eine öffentliche IP, und Firewalls waren noch Zukunftsmusik

    • Es geht etwas am Kern vorbei, aber es ist interessant, sich daran zu erinnern, dass NAT nicht immer da war und viele Netzwerke eine Struktur hatten, in der PCs öffentliche Internetadressen hatten und keine Firewalls davorstanden. Damals lief auch NetBIOS einfach über das Internet. Wenn man \\x.x.x.x\c$ eingab, kam man mit ziemlich hoher Wahrscheinlichkeit einfach drauf
  • Eine großartige Geschichte, die meinem Frühstück eine angenehme Würze verliehen hat. Junge Entwickler sind frei von den modernen Werkzeugen und Prozessen der professionellen Welt – und von manchen Dingen, die nicht unbedingt nur gut sind
    Ich baue eine Plattform wie eine Open-Source-Alternative zu Roblox, und genau solche Kinder fühlen sich davon angezogen. Sie sind unglaublich kreativ, melden Bugs und potenziell schädliche Hacks und wollen immer helfen

    • Das ist eine der Geschichten, die mir auf HN seit Langem am besten gefallen hat