tiny little gizmos

Der Tickets für einen Hackerkongress würdig sein

Tickets für einen Hackerkongress kauft man nicht einfach – die muss man sich erarbeiten.

In diesem Jahr möchte ich gerne wieder den Chaos Communication Congress besuchen. Es ist der 33. Kongress, den der Chaos Computer Club seit 1984 veranstaltet. Aus einem gemütlichen Treff von eine paar Nerds ist ein Monster von zuletzt 10.000 Besuchern und Teilnehmern geworden. Weil der Andrang so groß ist, werden die Tickets in diesem Jahr in drei Tranchen verkauft. Die erste wurde am Montag, den 07.11. ab 20:00 verkauft. Weitere Termine sind Sa, 19.11. 15:00 und Fr, 25.11.2016.

Wie zu erwarten war der Andrang groß. So groß, dass die Server schon um 19:55 in die Knie gingen. Der Kauf der Karten hätte eine Sache von dreieinhalb Minuten sein können: Seite aufrufen, Karten in den Warenkorb legen, persönliche Angaben machen, bestätigen, E-Mail Bestätigung mit Referenznummer bekommen.

Das Positive vorneweg: Ich habe es geschafft.

Allerdings hat der ganze Prozess satte 42(!) Minuten gedauert. Zwischendurch habe ich geflucht, dass der Server permanent in die Knie ging und mit Fehlern um sich geworfen hat. Ich dachte: „Hacker sein wollen, aber nicht mal einen Onlineshop Spitzenlastfähig hinbekommen?“

Aber ich lag falsch.

Das ganze war offensichtlich ein Test, ob man auch einer Eintrittkarte würdig ist. Der Ticketshop als raffiniertes Auswahlverfahren. Man hat die Bestellung nämlich nur geschafft, wenn man sich ein bisschen in Webprogrammierung auskennt.

  • Zunächst darf man sich nicht von Ladezeiten im Minutenbereich abschrecken lassen
  • Vier von 5 Aufrufen endeten in verschiedenen Gateway Errors, 500 Internal Server Errors oder schlicht im Timeout.
  • Man sah auch nur das HTML Grundgerüst, weil Stylesheets und Grafiken gar nicht erst nachgeladen wurden. Davon durfte man sich nicht verwirren lassen.
  • Als ich nach 29 Minuten endlich soweit war, den Button „Place binding order“ anzuklicken, passierte… nichts!
  • Grund dafür war ein Javascript Fehler: „ReferenceError: django is not defined“. Um das zu bemerken, musste man schon mal die Entwicklerwerkzeuge des Browsers benutzen.
  • Also schnell noch das Network Profiling anwerfen und die Seite neu laden. Siehe da: Alles wird brav geladen, nur der Request zu /jsi18n/en/ bricht jedesmal mit einerm Code 504 ab.
  • Ich schaue mir daraufhin den HTML Code an und stelle fest, dass es sich freundlicherweise um ein normales Webformular handelt und nicht um ein eventgetriebenes Javascript-Ajax-was-weiss-ich-Gedöns handelt. Ich vermute, dass nur ein Event zur Eingabeprüfung auf dem Formular liegt. Javascript abzuschalten sollte reichen.
  • Stelle fest, dass man Javascript in Firefox gar nicht mehr offiziell abschalten kann. Das geht nur noch über die Spezial-URL about:config, wenn man weiss dass der gesuchte Key javascript.enabled auf false gesetzt werden muss.
  • Danach hat der Button wunderbar funktioniert.

Jetzt habe ich Tickets – ich bin würdig teilzunehmen!