 Hallo Kongress, hallo Welt. Hier bei der C-Base folgt jetzt der Vortrag Restriade-Technikgeschichten von Rufus und Senf. Ein Vortrag der letztes Jahr auch schon gehalten wurde, allerdings damals aus technischen Gründen leider nicht aufgezeichnet werden konnte und es gab auch ein paar Tonschwierigkeiten. Deswegen halten die beiden den Vortrag jetzt einfach nochmal und hoffentlich jetzt mit funktionierender Aufzeichnung. Es geht darum, dass die Restrealität seit 2002 in liebevoller Handarbeit entwickelt wurde, die Software und genau, die zwei geben uns jetzt einen Einblick in die letzten 19 Jahre Entwicklung und da haben wir ja vielleicht Glück, dass im letzten Jahr auch noch was passiert ist, wer weiß, dann lohnt sich das ja auch, dass die Aufzeichnung nicht geklappt hat letztes Jahr. Viel Spaß und genau, wenn ihr Fragen habt, wir sammeln die einfach über Twitter oder sonstige Kanäle und genau, dann werden wir wieder nachstellen und ich wünsche euch jetzt viel Spaß mit Senf und Rufus. Ja, hallo und herzlich willkommen zum Vortrag Restriade-Technikgeschichten. Mein Name ist Rufus, mein Kompagnon bei dem Vortrag ist Senf und wir leiten euch jetzt durch eine kleine Geschichte, wie sich die Technik der Restrealität in den letzten fast 20 Jahren entwickelt hat. Das ist mal ein klein Überblick, was es jetzt so geben wird. Also wir werden ein bisschen so die technische Entwicklung zeigen, zeigen, dass das Ganze eben keine Software von der Stange ist, kein Standard Software, sondern wir betrachten es als Gesamtkunstwerk und dass eben auch nur dadurch Spezialevents möglich sind, die wir in der Vergangenheit hatten, wie zum Beispiel die Kulturrevolution oder den Spetsamen of Love. Das Ganze macht mehr Arbeit, aber es dafür halt auch ein liebevolles Unikat und das ist auch ein großer Punkt, der jetzt auch im CCC-Umfeld interessant ist, dass die Datenspaßigkeit halt für uns einfacher zu haben oder zu bewerkstelligen ist, wenn das eine Software von einer, also deshalb handgeschriebene Software ist und nicht von der Stange. Und ja, da würde ich jetzt erstmal an Senf weitergeben. Genau, vielen Dank. Und zwar vielleicht sollten wir kurz einführen, was die Restrealität eigentlich ist für diejenigen, die uns zuschauen, die es nicht die Ehre haben oder nicht die, die keinen Zugang haben. Es ist ein Forum letztendlich, ein Forum mit verschiedenen, na ja, wie in einem Forum so üblich mit verschiedenen Themengebieten, das fing ganz klein an. Da kommen wir gleich noch zu mit zwei Themenfeldern oder zwei Orten, zwei Foren, die man bespielen konnte. Und es gab immer eine Tanzfläche. Und die Tanzfläche war immer so ein Veranstaltungskalender, bis zum letzten Jahr, oder bis zu diesem Jahr muss man ja sagen, weil dann ging es halt nahe null runter, dass Veranstaltungen ja im Grunde nicht möglich waren. Aber vorher war die Tanzfläche, so wie wir es halt intern bei uns bezeichnet haben, ein Veranstaltungskalender für Berlin, fürs Umland, für, na ja, darüber hinaus. Und die ganze Restrealität ist im Grunde gegründet worden, ganz zu Anfang, weil sich eine Community gebildet hatte, so eine kleine Fire-Community, muss man schon sagen. Und die wollten auch nach der letzten Party des Damaligen Ostguts irgendwie in den Austausch bleiben. Und man dachte sich, na ja, ein Forum, okay, die 2000er-Jahre waren gerade rum, ein Forum klingt irgendwie toll. Und dann hat man sich die Foren Software angeguckt. Und natürlich, die Foren Software damals, manches bis heute, ist eher nicht so schön und auch nicht so unikat. Also ich sage nur, das BB-Forum, das sieht halt aus wie ein Forum und es sieht halt auch nicht besonders schön aus. Und damals kam dann der Heimleiter Martin auf die Idee, ein Forum selbst zu programmieren. Der war halt Makromedia Flash Programmierer und Designer teilweise auch. Und dann gab es halt die Idee, na ja, dann müssen wir das irgendwie mit einer Datenbank kombinieren und machen daraus ein Forum und diese Tanzfläche und so weiter. Der Anfang war also Makromedia Flash und Action Script. Das ist diese Programmiersprache, die sich Makromedia damals ausgedacht hatte. Um halt visuelle Elemente mit Programmieren auch zu verbinden. Und da gab es dann halt die ersten Ansätze für Sachen aus einem Backendlesen, Sachen aus einer Datenbank lesen oder halt irgendwie Daten darstellen. Er fragte damals in seinem Freundeskreis, beziehungsweise in seinem bekannten Kreis rum, wer kann programmieren und irgendwie kam man dann auf mich und ich hatte da irgendwie Bock drauf und gehörte nicht zu der Szene unmittelbar dazu. Aber so rutschte ich dann so rein und am Anfang hatten wir alles im PHP implementiert. Das war damals, war das halt eine der Sprachen. Perl war noch irgendwie wahnsinnig, unhandlich bis heute. Aber damals war es PHP. Wir haben als Datenbank natürlich damals MySQL genommen. Das war so die freiste, die, na ja, die Datenbank, die am unkompliziertesten war. Wir hatten aber auch überhaupt keine Ahnung davon. Das muss man wirklich so sagen, das retrospektiv betrachtet, ist es ein Wunder, dass die Anfänger so waren, wie sie waren. Und wir haben auch, also mein Professor für Datenbanklehre würde mich wahrscheinlich hauen, wie wir die Datenbank damals gebaut haben. Aber es hat funktioniert. Es gab einen Wochenende, wo wir mit Martin irgendwo in Mitte in einem Loft-Büro am Wochenende was zusammengeschoben hatten und unseligerweise hatten wir auch Bier dabei und irgendwie waren wir danach wahnsinnig betrunken. Aber die erste laufige Version war geboren. Und das Ganze war die ganzen Jahre so ein Learning While Doing. Das heißt, wir sind ran gegangen und haben gesagt, okay, wir wollen es irgendwie lösen. Wir wollen es irgendwie machen. Wir wollen es irgendwie selbst machen. Und dann gucken wir uns das halt mal an. Und so sehen wir hier den ersten Versuch der Restrealität. Das ist halt, das oben ist ein Layout. Das ist ein Sketch-Layout. Und da sieht man, dass man halt so verschiedene Bereiche hat. Es gibt halt, das war rum die Garderobe. Die Garderobe ist ein Forum. Es ist einem Club angelehnt. Es gibt eine Garderobe, es gibt eine Tanzfläche. Es gibt Musik, gut, gut. Und es gibt eine Toilette. Die Idee war halt in der Garderobe, kann man sowas wie, ich suche was oder ich suche irgendjemanden und so weiter, wie man sich halt an so einer Clubgarderobe halt so trifft. Und in der Toilette ist halt der ganze Gossip Talk und Chitchat und so weiter. Das Ganze hat so angefangen und ist dann halt über die Jahre doch tatsächlich sehr explodiert. Das heißt, die Anzahl der Foren war, wurde erheblich größer. Es gab halt die Differenzierung einfach. Also bestimmte Themen passten dann nicht mehr so auf die Toilette. Da war ja immer so ein bisschen rotziger Ton. Die Garderobe war so eine Suchebiete. Aber vielleicht ist in einem Club auch ein Sofa drin. Also hat man einen Forum geschaffen, was Sofa hieß, wo man halt so ein bisschen tiefgründigere Gespräche führen konnte. Dann gab es die Kuschelecke und so weiter. Es gab halt immer so eine Bewegung, in dem Forum halt auch das weiterzuentwickeln. Und so ein Forum lebt natürlich von den Nutzern. Und Nutzern sind manchmal so ein bisschen, unser Wernhalt auch vielleicht Träge oder irgendwie, will man eine Aktion machen. Und da kamen zum Beispiel diese zwei Aktionen, diese Spezialevents, wie sie hier genannt werden, die Kulturrevolutionen, wie sie vorhin zu sehen war und der Spätsommer auf LARV. Das waren Sonder-Sachen, die so gleich eine Woche, zwei Wochen liefen. Und bei der Kulturrevolution war es so, dass es Wächter, Kulturwächter gab. Und diese Kulturwächter konnten andere Foren-Nutzer sanktionieren. Und das führte natürlich, es musste in so eine Katastrophe reinführen. Und so eine Speße kann man natürlich nur machen, wenn man so ein Forum selbst programmiert hat und die Technik dahinter einfach komplett im Griff hat. Und da sind wir halt von Anfang an ganz gut unterwegs gewesen. Wie gesagt, auch wenn der Anfang halt jetzt aus jetziger Perspektive unglaublich war, das hat funktioniert. Man kann ja auch sagen, eine relationale Datenbank zu haben in allen Verästelungen ist wunderbar. Wir hatten ein funktionierendes Forum und es ging um das funktionierende Forum und nicht um die Schönheit der Datenbank. Das war das über die Jahre dann auch geschafft haben, sei mal dahingestellt. Aber es ist halt, so, dann haben wir, und genau, wir hatten Ansätze, also ich habe das Backend bzw. den Unterbau, den Wartenbank und so weiter habe ich tatsächlich von 2002 bis 2015, 2016 begleitet bzw. halt irgendwie die ganzen Sachen programmiert. Und da gab es halt, es gab die Restrealität, das ist sozusagen das Produktivsystem. Es gibt die Testrealität, das ist, naja, Nomin ist oben, da probt werden Sachen ausprobiert. Und ein Nutzer hatte sich mal den Spaß gemacht, die Testrealität zu registrieren. Hatte das dann aber relativ schnell auch uns übergeben, das war mehr ein Spaß, aber natürlich, wie sagt man, lebt halt. Und so eine Gruppe von Nutzern interagiert auch miteinander, sodass sich da Freundschaften gebildet. Da haben wir natürlich auch Sachen auseinandergegangen, wie auch immer. Wir hatten dieses, natürlich braucht man hinter so einem Forum so eine Art Admin-Tool. Wir mussten also schauen, dass wir die ganzen administrativen Tasken, sowas wie okay thematisch, passt das Thema in ein anderes Forum rein. Das wollte man nicht in Action Script und Flash implementieren, sondern da musste man halt so ein Admin-Tool für haben. Das haben wir denn in PHP zusammengeschoben und es kam nach und nach natürlich immer mehr ordentliches SQL dazu. Also die Datenbank wurde schöner und das Ganze wurde alles ein bisschen so, wie man es sich eigentlich von der reinen Lehre auch vorstellt. Das Ganze wurde immer am laufenden Objekt, also wir hatten natürlich die Testrealität und wenn man halt eine Sache ausprobiert hat und man hier 5.000 Nutzer drauf jagen wollte, dann hat man es in der Restrealität ausprobieren können. Das war also für die Technik im Unterbau, war das immer ein toller Stresstest und auch ein toller Performance-Tweaking-Möglichkeit, irgendwo auszuprobieren, bringen dann so Mikrooptimierung, bringen die irgendwas oder bringt es eher nichts oder so. Also man konnte da viel testen und wir haben auch eine große Nutzerbasis und irgendwann wurde das komplette Backend auch mal in Pearl neu geschrieben. Das war damals meine Programmiersprache der Wahl. Nicht von jedem, wie man ja immer zugeben muss. Pearl hat einen gewissen schlechten Ruf, manchmal zu Recht, manchmal zu Unrecht. Auf jeden Fall wurde das komplette Backend in Pearl neu geschrieben in dieser Zeit, im laufenden Betrieb natürlich. Das heißt, wir sind da immer im laufenden Betrieb gewesen. Wir hatten bis auf wenige Stunden keine Down-Times. Also wir hatten eine Bombenverfügbarkeit. So, dann brauchen wir die nächste. Das Hauptinterface war jahrelang das Flash-Interface. Also wir hatten Flash kurz bevor es cool war und wir hatten es lange nachdem es noch cool war. Also Flash war ja doch lange Zeit eher ein großes Sicherheitsproblem. Und wir hatten einen gewissen Handlungsdruck neben dem Flash-Interface, gab es ganz zu Anfang. Damals hatte man keine Telefone mit hdml-Ränder an, sondern wir hatten so ein WAP, so ein WAP-Interface. Weil ich jetzt beruflich hatte, ich musste sich da was entwickeln und dann hatte ich halt irgendwie die Möglichkeit, naja, dann machen wir die Tanzfläche halt als WAP-Interface unglaublich datensparsam und hochgradig optimiert, aber natürlich grauselig zu bedienen. Also jeder, der jemals so ein WAP-Interface bedienen musste, der wird, also das war keine Freude, das zu bedienen. Es war halt einfach ein funktionales Auskunftssystem, abseits von dem Flash-Interface. So, und dann gab es noch den Mobile-Reader. Das war ein off-mobile, das datensparsames Interface, damit wir die Nutzer, die halt tatsächlich, also damals gab es halt noch nicht die Multiligarbeit-Verträge, sondern man hatte dann vielleicht so 100, 200 Megabyte auf seinem Tarifvertrag. Oder ist halt irgendwo durch die Brandburger Botanikerrand, dann hat man, dann wollte man schon ein eher sparsames Interface haben. Und das wurde halt mit diesem Mobile-Reader irgendwie zusammengeschoben und optimiert. Da wurden also das Forum lebte schon immer davon, dass es bis auf dieses Basis-Layout quasi kaum Grafiken hat. Also man konnte jetzt als Nutzer keine Bilder einbinden oder keine, also keine echten Bilder oder so was. Man konnte sich so einen kleinen Avatar basteln. Das war schon das Höchste der Grafikgefühle, die man im Forum selbst anwenden konnte. Einfach, weil Bilder so ein Forum halt ein Stück weit kaputt machen, es geht ja eher ums geschriebene Wort oder halt um den Austausch. Das Bilder oder Memes sind halt irgendwie, naja, das nicht so zielführend. Da hatten wir uns damals überlegt und die sogenannte Heimleitung, die das ganze Projekt immer im Hintergrund gesteuert und begleitet hat, als die Entscheidungsinstanz in welche Richtung geht, da wurde das halt gerade auf diese Textkomponente extrem großer Wert gelegt. So, wir hatten aber natürlich irgendwann ein Relaunch vor uns, weil wir mussten irgendwann mal das Interface, das Frontend austauschen. Und da kamen wir dann halt auf den, ja heutzutage würde man jetzt auch sagen, okay, das waren jetzt auch nicht die besten Komponenten, die wir ausgewählt haben oder ich ausgewählt hatte damals, muss man schon so selbstkritisch sagen. Wir hatten halt JavaScript Backbone, das ist so ein JavaScript Framework, was damals sehr modern war. Dann hatten wir Torax, das war ein Aufsatz und Backend, wie der Perl, weil es damals halt noch meine Programmiersprache der Wahl war. Es ging halt hauptsächlich darum, dass wir besser warten können. Das heißt, dass wir einfach Sachen austauschen können und Features entwickeln können, die vorher nicht möglich gewesen sind. Also einmal im Frontendfeatures entwickeln und aber auch die Features zu entwickeln wie so eine Bühne. Das heißt, wir haben so eine Funktion. Da hat man so eine Art, also eine Seite vom Bildschirm ist die Bühne. Da sind halt verschiedene ausgewählte Schauspieler, Bühnen, Leute oder so weiter, die sich auf dieser sogenannten Bühne befinden. Die können dort schreiben. Und auf der rechten Seite vom Interface ist das Publikum. Und das Publikum kann live die Sachen der Bühne kommentieren, kann aber auch nur zugucken, kann halt irgendwie darauf reagieren und so weiter. Und die beiden Sachen laufen quasi visuell parallel. Das ist natürlich eine schöne Sache. Nur war das halt auch vom Frontend her, konnte man das nicht mehr in Action Script und Flash entwickeln, weil zunehmend das Problem war, dass die, also Makromedia hatte ja Flash schon so ein bisschen erwähnt und damit war das halt klar, das können wir da nicht entwickeln. Und also musste das sozusagen für diese Feature-Entwicklung auch quasi der gesamte Frontendbereich neu gebaut werden. Und es sollte damals schon eine gemeinsame Webapp für Desktop und Mobile geben. Das heißt, also es sollte nicht mehr ein Unterschied sein, ob ich ein Telefon habe oder ein schmales Mobilgerät oder halt einen großen Desktop, sondern es sollte halt eine Code-Basis sein und damit waren wir, damit sollte es dann gut sein, damit die Wartbarkeit an der Stelle halt auch nicht mehrere Sachen umfasst. So, der Rihlausch sah dann so aus, man sieht schon eine leichte Evolution zum ersten Screenshot. Es gibt da viele, viele Foren, es gibt die Tanzfläche auf der linken Seite, es gibt dann so die besagte Bühne, dann gibt es Garderobe, Bar, DJ-Pult, Sofa. Also das sind diese ganzen Foren, die Garderobe, Bar, DJ-Pult und so weiter. Das sind Forenbereiche, wo es halt thematisch um diese Sachen geht. Also an der Garderobe immer noch Suchebiete verkaufe oder ich habe den und den suche ich oder ich brauche eine Auskunft von dem und dem. Die Bar, ganz klar, man hängt an der Bar rum und unterhält sich über Musik oder über Partys und keine Ahnung. DJ-Pult ist klar, da geht es um Musik. Sofa ist, wie gesagt, tiefgründige Gespräche wenn man auf dem Sofa rumliegt, Kuschelecke, Geburtstagsgürtel, Gwünsche und so weiter, Bima für Fernsehen und so weiter. Also thematisch ist die Sache extrem aufgefächert und hier sieht man jetzt auch, dass wir auch forenmäßig dem klassischen Grau geblieben sind, aber jetzt auch die, also verschiedene Goodies mit drin haben, wie halt die Anzahl der gelesenen Kommentare und wie viel habe ich beim letzten Mal gelesen, wie viel sind jetzt dazu gekommen seitdem und so weiter. Das war denn überhaupt möglich mit dem neuen Frontend. Gut, kommen wir zum Status quo 2016. Das heißt, also wir hatten dieses Backbone Frontend und das Pearlback End und alles andere in PHP. Das war also so ein bisschen die Lage, wie ich das dann sozusagen, wie wir das zu Relaunch gebaut hatten und wie wir das dann weitergemacht hatten. Und wir hatten, wie gesagt, das alles fröhlich vermischt. Das Pearlback End hat verschiedene Sachen, teilweise vom PHP gepowert im Hintergrund, aber das PHP hat selber auch die auf die Datenbank zugegriffen und so. Also das war alles so ein bisschen vermischt und jetzt sehen wir noch ein Screenshot von dem Admin Interface, was tatsächlich 2003, 2004 zusammengeschoben wurde und auch bis zu dem Zeitpunkt noch drinnen war, also ganz klassisches Interface, wo man halt so verschiedene Sachen einfach realisieren konnte. Statistiken sich angucken, also Statistiken im Sinne von Zugriffstatistiken, nicht Nutzerstatistiken oder so was, aber ganz viele Sachen, die man da mitmachen konnte. Gut, und dann habe ich die Ressortitäten der Admin ja nicht verlassen, aber zumindest bin ich dann sozusagen ein wenig zurückgetreten und habe den technischen Part an Rufus übergeben. Ja, das hat an einem denkwürdigen Moment auf ein Festival in Brandenburg stattgefunden, wo ich da gefragt wurde, ob ich das nicht irgendwie machen möchte und wie konnte ich denn da Nein sagen. Ja, und da würde ich jetzt einfach mal sagen, um das für mich überhaupt erst mal greifbar zu machen, das ist ja immer nicht so einfach mal so ein lange gewachsenes technisches System auf einmal übernimmt und das betreuen soll, wo es sich erstmal irgendwie dazu recht finden und das für sich selber laufrecht bekommen und so. Und ja, da geht es jetzt auch gleich ein bisschen tiefer auch direkt in Technik rein. Was ich als erstes gemacht habe, ist die Komponenten sogenannte Dracation durchgeführt. Also das waren halt vorher aber das halt alles, also es ist auch größtens als immer noch so ein manuell gepflegter, sondern das Snowflake-Server. Das heißt, dass halt einfach der eine Server, der die Konfiguration so enthält, aber die Konfiguration ist sonst nirgends so anders abgelegt. Um das zumindest zwar den ersten Schritt so ein bisschen unabhängiger zu bekommen und auch für eine Lokalentwicklung ganz nützlich habe ich das alles im Docker-Container gepackt, also jeder Einzelkomponente aus dem das System so besteht, auch automatisch die Roll-Arts konfiguriert mit einem damaligen Team-City-System um generell halt eine bessere Developer-Experience zu bekommen, wie das heute zurzeit so schön heißt. Und generell, dass es halt auch mal möglich ist, das auf eine neue Infrastruktur umzuziehen. Neue Entwickler, die jetzt halt vielleicht nicht den ganzen Server sich installieren wollen, die vielleicht ein bisschen konzentrierter auf bestimmte Systeme sind oder sowas, eine bestimmte Technik, dass die das einfacher halt auch bei sich zum Laufen bekommen. Zur Orchestrierung, das ist auch heute immer noch so, dass das ein ganz einfaches Docker-Compos, also wir haben jetzt da keinen wirklichen Cloud-Service oder sowas, das ist immer noch ein Server, das Ganze drauf läuft, also da reicht das aber auch völlig aus. Dann so als erstes System, was ich dann halt sozusagen neu machen wollte, 2017, das ist der so 100er-Mailer, es gab nämlich kein wirklich gutes System bis zu dem Zeitpunkt, um Newsletter zu verschicken. Also es hat schon irgendwie funktioniert, aber war halt alles ein bisschen hakelig und so, und Newsletter versand das jetzt auch kein so ganz einfaches Thema so, also man muss da schon gucken, dass man nicht zu viele E-Mails auf einmal verschickt, wegen Spam-Protection und solchen Sachen, und ja, aber was wir eben nicht haben wollten, ist jetzt irgendeine Dienstleiste, wie Send-Grid oder sowas zu verwenden, weil man ja dann quasi alle Nutzerdaten erst mal an so ein Anbieter weitergeben muss. Also klar, wenn man E-Mail verschickt, gibt man auch irgendwie Nutzerdaten immer weiter, weil das ist ja dann wirklich explizit nur für den E-Mail versand so, um diese Datenrohre da auch weiterzubehalten, haben wir das eben da nicht genutzt, sondern eben erst mal also ganz einfaches System angelegt. Das anfängt, dass man an Subscribing kann. Ich glaube, das war vorher auch nicht explizit möglich in der E-Mail, also so ein paar rechtliche Sachen, die halt sich mit der Zeit da so eingestellt haben. 2003 war das glaube ich nicht rechtlich vorgesehen. In der Zwischenzeit eben so. Dann sollte das auch die Spam-Filter jetzt nicht irgendwie unnötig stressen, dass also die E-Mails auch ankommen. Und wenn, was auch ein Thema ist bei, wenn man viele E-Mails verschickt, gerade bei einer 14 Jahre alten Benutzerdatenbank mit doch recht vielen Karteilichen, ist, dass man eine Bounce Detection hat, also dass man dann ungültige E-Mail-Adressen auch ausfällern, und die beim nächsten Mal nicht nochmal anschickt. Ja, das wurde dann auch noch so ein bisschen erweitert. Das ist dieses Mailer-System, also das ist inzwischen auch auf dem Stand, dass das auch alle System-E-Mails verschickt. Also System-E-Mails sind so Sachen, wie möchte man Kennwort ändern, dann muss ich ein Link bekommen mit E-Mail und dann nochmal draufklicken. Auch eben das Double-Opt-In bei der Registrierung, dass man auch sagt, ich möchte die Newsletter haben dazu. Und was es halt in der Weile gibt, ist das sogenannte Depatient-Dienst. Das ist als Datenspaßames direkt Nachrichtensystem sozusagen gedacht. Und zwar ist da so, dass da die Nachricht direkt per Simple-Mail, das SNTP, verschickt wird und auch nicht vom Restrede-Hit-System irgendwie gespeichert wird. Also damit auch nicht mal gespeichert, dass irgendwohin was verschickt wurde. Das geht also direkt über die Mail-Surfer so. Und das war ursprünglich gedacht, dass Nutzeradministratoren, die jetzt aber nicht Teil der Heilleitung sind, auch an Nutzer-E-Mails verschicken können, die Zugriff auf die echten E-Mail-Datenbank haben müssen. Einfach auch, um Datenschutz halt zu haben. Und da war dann die Überlegung so, das ist ja eigentlich ganz praktisch, das kann ja dann eigentlich jeder haben. Da kann man ja also noch ein Dienst im Herzen deaktivieren können, wenn man keine Depressionen haben möchte, da kriegt man auch keine. Aber wenn die meisten hatten, möchten das das stickig schon. Und das ist auch ein Feature, was ganz gut ankommt. Was es nämlich bisher war, wenn sie den wollten, dann mussten sie irgendwie ihre E-Mail-Adresse entweder ins Forum packen oder in die sonnende Sprechblase, also in ihrem Mini-Benutzer-Profil. Und das ist ja auch wieder so ein bisschen, also das hat schon funktioniert, aber es ist schon ein bisschen kritisch insofern, dass solche Sachen ja theoretisch dann auch ausgelesen werden können. Und das findet das eben auch, also sozusagen wird dadurch auch die E-Mail-Adresse nicht veröffentlicht. Also es ist nicht notwendig, aber auch eine andere Kommunation. Danach ist natürlich dann, die schicken sich E-Mails hin und her. Hat dann auch mit der restlichen, also dann nichts mehr zu tun. Ja, das ist also auch relativ einfach und funktioniert ganz gut, so weit würde ich sagen. Da kann ich mal kurz ein bisschen so Technik-Bubble runter sagen. Das Ganze ist, wird das einfach so mein beruflicher Hintergrund, das ist von der JVM-Basis in Java programmiert, mittlerweile auf Kotlin migriert, das ist das, was mir gefällt. Ein Spring Boot Framework benutzt einfach SMTP und IMAP für die Kommunikation, um die Nachrichten zu verschicken und das Bounce Detection zu machen. Das ist eben wie gesagt, kein Newsletter-Dienstleister, aber auch kein Click-Tracking oder sowas ähnlich, als wir sehen nur, falls das einzige Feedback, was wir bekommen ist, dass halt Leute auf eine E-Mail antworten oder halt irgendwie Bounce sonst haben wir da nichts. Ja, das war so bis, also das erste, was das mal so wirklich notwendig war. Und dann, ja, hat ja Senf schon gesagt, das Backend, was er zuletzt geschrieben hat, das war im Perl geschrieben. Perl ist eine Sprache, die ich nie wirklich gelernt habe. Ich muss sagen, ich kann das Perl, was da ist, kann ich lesen. Das ist also auch bei Perl eigentlich schon mal eine gute Sache. Das ist nämlich nicht selbstverständlich, aber ich kann es halt nicht, ich kann halt nichts schreiben damit. Also das wäre halt sehr umständlich für mich da, als was weiter zu entwickeln. Weswegen ich dann ein, das weiß ich auch nicht mehr, warum ich das Jbk genannt habe, irgendwie Java Backend oder sowas, ein neues Backend angefangen habe, wo ich halt nach und nach neue Funktionen eingebaut habe. Was da auch notwendig war, dass diese ganzen, so einen User-Selfservice, also Login und Registrierung und E-Mail-Adresse vergessen, Kennwort ändern und sowas, sodass das einfach alles noch mal quasi neu gemacht und da auch also ja, so das Best Practices, was so Security angeht, angewendet, dass auch explizite Bestätigungspflicht für neue AGBs irgendwie mal drin ist ja, das ist halt schon wichtig, sodass diese Sachen gut funktionieren, eben auch, also auch, das ist ja auch ein Teil des Datenschutzes, dass man das Leute ihre Daten selber verwalten können und auch also nicht, dass die nicht so einfach geklaut werden können. Ja, dann weitere Features, was da so nachmacht, was wir z.B. Bühnen-Events, die man haben, dass die dann auch promoted werden können, also dass dann auf der Startzeit und oben immer so ein Mann auf dem Bühnen-Event ansteht und ja, was das auch nicht, was auch nie ein Teil der RR war, ist eine Suchfunktion. Also es gab es in allen Voren, hast du eigentlich immer so ein Volltext-Suchfeld und das war nie ein Teil davon aus verschiedenen Gründen. Also, ich denke mal einfach noch, dass da halt vieles, das ist ja jetzt nicht ganz weg, man kann es ja trotzdem irgendwie lesen, aber es soll halt nicht alles so einfach im Dunkel der Vergangenheit bleiben, sozusagen. Aber es macht da halt Sinn, da ist jetzt so das, dass da Kompromiss, dass das gibt ein Stichwort-Suche von den, von uns admins halt vorgegebenen Stichworten, die dann unter Vorn edizieren. Also z.B. im Reiseform ist halt für jedes Land sozusagen da ein Stichpunkt da. Und ja, da gab es, lange war das halt auch so manuell das zu warten und so was. Und da gibt es dadurch dann eben auch Neues. Ja, also eine Möglichkeit und da halt noch die Stichwort-Suche noch mehr auszuweiten. Also das war dann auch noch mal eine Sache, die glaube ich viele User dann auch gut angenommen haben, dass das in mehr unter Vorn ist. Bis heute nicht in allen unter Vorn drinnen. Es soll halt einfach nicht sein, es soll jetzt einfach nicht irgendwie, es sollen halt welche Sachen einfach nicht durchsuchbar sein. Punkt. Ja, dann so 2, 17, 18 da habe ich dann angefangen ein neues Admin-Tool zu machen. Also einfach, ja, es ist halt so, wenn man so ein Admin ist und ein Admin-Tool benutzt und das einem nicht gefällt. Das ist halt auch schon, dann hat das Screenshot mehr gesehen. Es ist halt schon ziemlich alt gewesen. Und so, dann ja, dann fängt man halt an sich selber Neues zu programmieren. Dafür kann man ja programmieren und so sich Sachen schöner und einfacher zu machen. Und ja, die Hauptfunktionen sind halt da, was es vorher auch nie so wirklich gab, also dass man einfach ein neues Bühnenübend anklicken kann, zusammenklicken kann. Newsletter können damit einfach jetzt angelegt werden und verschickt werden. Es gibt da eine vernünftige Benutzer-Verwaltung. Also, man muss ja manchmal auch, ja, Benutzer irgendwie, die schreiben E-Mail, das irgendwie, ihr kennt was vergessen haben oder ihre E-Mail, dann muss man gucken, ob das stimmt, wenn wir das in den Wort zugeben oder manchmal muss man leider auch Benutzer-Sperren hinterher. Und ja, da eben auch nochmal diese Suchtrop-Downs, das man die damit dann befüllen kann, in dem, in dem Backend-Tool. Da habe ich mal einen kleinen Screenshot davon, wie das da so aussieht. Das ist also, sieht man, erkennt man vielleicht, manche ist also so ein Standard UU-Framework und das ist, ja, so ein Projekt geschrieben und benutzt halt so einfach APIs. Genau, oder oben sieht man auch noch so ein bisschen Stats, das ist jetzt auch so reine Schreibstatistiken, also jetzt auch nicht so wirklich was, was man unter normalen Tracking fällt. Also wirklich ein Datenwust immer so da, dass es einfach nur, man kann da sehen, wie viele Benutzer pro Woche irgendwie da sind und was schreiben. Das ergibt sich ja, sieht sich ja dadurch, dass wir ja die Abspeichern mit jemandem was schreibt und das kann man ja dann einfach statistisch auswerten, wie oft das passiert ist. 2.17.18 Weitere Sachen, was ich mir so ausgedacht habe, sind ein AP Gateway. Das klingt jetzt erstmal, warum braucht man jetzt ein AP Gateway für so ein Forum oder so was. Da ist die Idee dahinter, wenn es so was gibt, dann können halt neue Funktionen in unabhängigen Services oder unabhängigen Diensten, die unter einer Suburl oder so was geliegen können, die halt völlig unabhängig programmiert werden, ohne dass irgendwie ein Zugriff z.B. auf den Nutzer-Datenbank notwendig ist. Also dabei kommen, das ist dann so gedacht, dass die Unter-Service, die bekommen einfach nur die ganz notwendigen Daten, die man halt da so braucht, also einen Chasen-Web-Token. Also da ist dann z.B. nur eine UserID und eine Name drinnen und mehr nicht und noch irgendwie die Bewächterung, die der User für das Untersystem hat. Und der erste Use Case dafür, das war eben die Tanzfläche neu zu machen, eben komplett neu zu machen und das könnte aber auch für irgendwelche anderen externen Anwendungen könnte man das sogar relativ einfach als Identity Provider für O auf einrichten. Also da könnte man das dann haben, dass man sich halt, wie man das von anderen Seiten auch kennt, logge dich hier ein mit einem Facebook Account mehr, dann logge dich hier ein mit deinem RR-Account und dann müsste man sich halt nicht nochmal auf den anderen Seite registrieren, sondern könnt irgendeine Webseite nutzen mit seiner RRID. Weiß ich nicht, vielleicht gibt es da mal jemanden, der da konkrete Vorschläge, Interesse hat, aber wenn man das vielleicht nochmal machen, aktuell ist das also eine Reihe Theorie. Ja, da würde ich auch nochmal kurz ein Tech Overview, also das Ganze ist, das ist komplett in Java geschrieben, auch in JVM auch eine Spring Boot Anwendung Datenbank Zugriff, da oft mit Hibernate das ist einfach was man schnell zu starten bekommt, allerdings bin ich da auch immer weniger ein Freund von und versuch das auch für so viele Sachen nicht mehr zu verwenden. Dann gibt das das ganze Log in Fronten, das ist jetzt getrennt von der eigentlichen Forum Seite so, das sind Serverseite rendered HTML mit Timelief, das ist halt nur ganz einfaches Java script, das heißt da hat man dann halt auch, ja hat man halt eben wenig Abhängigkeiten, ich hab da halt nicht irgendwie in den Frontend Framework fürs Login und muss mir sorgen machen, dass da eine von den eine Million Abhängigkeiten die ich mir da reinlade, dann irgendwie dass die Login Daten der Benutzer auf einmal irgendwann das hinschickt, das ist halt da einfach erstmal so ein bisschen piece of mind für einen selber und ja, wie gesagt, so die admin GUI in React geschrieben und Bootstrap für die GUI Komponenten dann hatte ich ja grad schon gesagt was dann kam mal so die neue Tanzfläche das ist eben wie gesagt der Veranstaltungskalender und ja, der war halt in dieser Backbone App war das halt sehr, also schon schön nutzbar so, aber ein paar Sachen, die ging damit halt nicht, die wir da nicht so einfach hätten machen können in dem wie das da integriert war also zum Beispiel dass Veranstaltungen auch eine feste URL haben, dass die Veranstaltungen werden, dass die Veranstalter möchten auch sichtbar sind, wenn man nicht in der RR registriert, also das sozusagen auch ein öffentlicher Veranstaltungskalender sein kann, das ist tatsächlich so, dass das jetzt die meisten Klubveranstalter dann auch so machen, aber man kann trotzdem noch seine privaten Sachen da auch noch eintragen und ja, das sollte eben auch insgesamt der Anspruch sein, so halt so eine datenspaßame alternative Infrastruktur zu haben, vergleich zu Facebook, wo halt das meiste passiert oder restet in Advisor und ja, das Schöne daran war, dass das ja, das war also fünf Personen insgesamt daran beteiligt, die halt das Ding komplett neu geschrieben haben und das war halt völlig unabhängig von dem bisherigen Textex, das Einzige, was ich vor früher gesagt hatte, was die Verbindung war, ist über diesen API Service und ja, da ist halt auch nicht mehr MySQL, was bisher die Standarddatum war, sondern nur für den speziellen Fall der Tanzfläche wird dann eine MongoDB verwendet. Also da auch nochmal den Textex dazu nur für die Tanzfläche, das ist ein React-Redux-Frontend das Backend, das auch komplett den JavaScript geschrieben ist, ein Express-Server mit Node.js und ich glaube, Express ja, ich hab mir doch schon gesagt Express-Datenbank eben, wie gesagt, als MongoDB und die Integration an den Rest-RR ist über das API Gateway. Das heißt, also auch alle Entwickler, die da waren, die mussten halt jetzt nicht eine Datenschutzvereinbarung unterschreiben oder sowas, weil sie halt einfach gar keine personenbezogene Daten der Nutze bekommen können und die auch nicht auslesen oder irgendwie verarbeiten können, deswegen, das macht das dann halt so ein bisschen einfacher. Also Datenschutz ist dann auch wieder so ein organisatorisches, nicht technisches Problem, über so Sachen, die man halt so beachten muss. Ja, das Ganze sieht dann aktuell so aus, vermutlich mit ein bisschen weniger einträgen, aber es wurde trotzdem am Ende das Lockdowns am Anfang des Jahres so, wurde das dann auch wieder weiter genutzt. Ja, jetzt muss ich glaube ich ein bisschen schnell machen noch so, das ist noch 2019, was wir noch gemacht haben, das da geht so ein paar kurz ein, also bisher hat man doch mal so eigene Systeme für Packages und für Bildsysteme und das haben wir eben mal integriert auf kostenlose Cloud-Angebote, also für das so ein kleines Ding, da reiche das eben aus, wenn man so ein Profi GitHub Account hat, der kostet nicht so viel, hat man das alles drauf und für Docker Repository, da bekommt man sehr viel Schweicherplatz, wenn man die benutzen möchte, bei GitLab zum Beispiel, also nutzen wir da so, was es halt möglichst preiswert ist, umsonst Netz gibt ohne, dass da jetzt auch wieder, lassen auch wieder wie gesagt keine personenbezogene Daten auf, das ist der reine Code drauf. Nächstes Projekt, was jetzt dann immer noch nicht abgeschlossen ist, ist der so ein Rrrrrr Launch Ja, es war Lockdown-Zeit, es gab, man überlegt sich, was man so macht, so, dann lacht man so, dann kümmert man eigentlich es halt auch schon, dieses Backbone, ist auch schwer, da durchzusteigen, machen wir das alles doch nochmal neu, das Frontend so. Und da war der erste Beta-Test war die so eine Blank-Reality, das Blank-Reality, das ist eine Webseite für den überbaut Blank, die hatten halt genau ihren berunden 10. Geburtstag während des Lockdowns und konnten die überhaupt nicht feiern, haben das dann eben auch nur online gemacht und die hatten sich das quasi so ein bisschen gewünscht, dass sie da so eine eigene Restrealität auf den Dat haben, aber nur für das eine Wochenende, kann man noch einkucken, die URL gibt es noch, aber kann man halt nichts mit uns schreiben, so. Und da waren die Projektziele so, wie das halt immer so ist, ein Texteck, das soll besser wartbar sein, also wie Features sollen einfach sein, höher Performance und was als großes Feature wichtig war, dass das nochmal so viele von diesen alten Adminfunktionen tatsächlich ist, dieses schwarzweise Adminfool immer noch in Benutzung, was im PHP war, aber das sollte eben dadurch abgelöst werden, dass man da direkt Moderatorenfunktion drin hat, im Forum direkt, dass man da also zum Beispiel ja, ein Beitrag irgendwie nochmal was editieren kann, als Admin oder den verschieben oder löschen kann. Gut, dazu auch noch kurz ein bisschen Technik, das Frontend, also wie gesagt, ist immer noch nicht abgeschlossen, das ist alles noch so, ja, gibt da so Probleme, die man da halt immer so hat, wenn man so was relauncht und man sieht, wie das dann sich so weiterentwickelt, aber das Frontend des Vue.js und ein Vuextor dazu, ist alles in TypeScript geschrieben, also sehr modern eben, das Backend ist auch ein neues, das wird tatsächlich, das ist eigentlich die ganze Zeit jetzt schon aktiv seit einigen Monaten, das ist in Kotlin geschrieben und Reactive Springer, also das ist so ein ja, weiß ich auch, so ein bisschen moderner, funktional Programm während der Ansatz. Und ja, da werden wir denke ich auch noch ein bisschen weitermachen und ja, wie das immer so ist, bei solchen ja, Community-Projekten wie gesagt, das ist ja alles nicht von der Stange, sondern alles selber gemacht. Freuen wir uns immer über Unterstützerinnen, die auch dann mal ein bisschen Zeit haben und sich auch ein bisschen längerfristig einbringen möchten, das ist immer immer sehr offen, wenn da jemand Zeit und Lust hat sich da einzubringen, also es ist viel Freude, man kann da schon viel so machen, wie man das halt möchte, es ist immer ein schöner Spielplatz also halt mal auszuprobieren, die man anders vielleicht nicht kann. Und ja, das war so die, die aktuelle Technikgeschichte und wie das jetzt gerade ausschaut. Und dann sind wir eigentlich jetzt auch am Ende von unserer Präsentation und bin gespannt, ob wir da jetzt noch ein paar Fragen aus der Zuhörer-Rünnenschaft haben. Ja, danke schön euch beiden. Wir haben jetzt nicht wahnsinnig viele Fragen erhalten, aber unter, also die erste Frage wäre, also zwei Stück haben wir, die erste wäre ob es denn stimmt, ob die 20 Jahresfeier nächstes Jahr in der Mercedes-Benz Arena stattfinden soll. Also, wir sind es noch nicht so ganz sicher, ob die vom Platz ausreichen wird, aber da muss mal gucken, wie der Vorverkauf läuft, ob wir das dort machen oder dann doch noch mal anders. Doch im Olympia-Stadion, okay, na gut. Olympia-Stadion ist ja immer sehr gut für solche Sachen. Dann hätt ich ja eine Frage, und zwar einfach so, Reiner's Interesse, habt ihr irgendwie oder würdet ihr das überhaupt sagen, wie sich so die Nutzerzahlen in den letzten Jahren entwickelt haben, ob das irgendwie, also ob sich wie viele Neuregistrierungen gab es so in den letzten paar Jahren im Vergleich zu, weiß ich nicht, von mir aus der Anfangszeit oder so, genau. Also jetzt so komplette Zahlen kann ich jetzt so nicht direkt sagen, aber es ist also ganz klar, gibt es da schon was, was man sagen kann, und zwar so bis 2005 oder so war das ein sehr kleines Forum, mit, sag ich mal, wo sich wahrscheinlich alle auch wirklich irgendwo hergekannt haben oder jemanden kannten, der sich kannte, würde ich jetzt mal so behaupten, auch wenn ich da selber noch gar nicht mit dabei war und so bis 2010 ist das sehr stark erwachsen. Also das war dann gerade, ich würde es 2010 mal denken, auf jeden Fall so der Peak, da war auch Facebook noch nicht so verbreitet, da war das in Berlin schon das so schön Network, was man halt benutzt hat, wo sich alle irgendwie angemeldet haben, wo ich glaube ich auch gegeben gesagt wurde, wenn er nach Berlin kommen und irgendwie sich für elektronische Musik interessiert, melde ich da an, da sind die Partys und ja, aber seitdem ist das eigentlich so ziemlich wieder runtergegangen und ja, es gibt immer noch neue Registrierungen, aber es ist schon noch auf ein eher klein Live hoch, sag ich mal, so als jetzt auch 2010 war auch zu, dass der Höhepunkt der illegalen Partys in Parks jedes Wochenende, 3, 4 Stück und so was, das war da halt der Pfund, sich auszutauschen, da gibt es jetzt halt ganz viele andere Möglichkeiten im Netz, wo man das auch machen kann. Also ich denke 2010 war es dann, also ich korrigiere mich, aber wir waren dann schon fünfstellig von den Nutzerzahlen also auch von den, also jetzt nicht alle aktiv, nicht zeitgleich aktiv, aber so im Jahresmittel doch tatsächlich schon doch sehr viele, die da mal reingeguckt haben oder nach Newslettern mal reingeguckt haben. Am Anfang da dachten wir noch, na wunder, wie viele Nutzer wir haben bei 500 Nutzer, vergeben wir ein T-Shirt, ich glaube derjenige wartet heute noch drauf, weil wir das ja noch wieder noch verdödelten hatten und das explodierte irgendwann, aber ich denke, ja die Klinik war 2010, 2012, 2013 ungefähr. Man kann jetzt so, kann ich grob mal sagen, also es sind immer noch, es klingt wahrscheinlich sehr wenig, aber es sind immer noch ungefähr ja 2.000 User, die sich da jeden Monat einlocken und irgendwie was mit dem Forum machen und also es sind immer wieder mal fluktuiert, das kommt immer wieder mal neu dazu, manche sind jahrelang weg und kommen dann wieder zurück und freuen sich, dass das immer noch da ist und sind dann auf einmal wieder sehr aktiv. Ich muss auch sagen, dass im letzten Jahr die natürlich eine der Hauptfunktionen quasi nicht möglich war, die Tanzveranstaltung zu promoten und so, weil da war halt einfach gähnende Lehre, weil keine Veranstaltungen stattgefunden haben, natürlich kommen die Leute da nicht vorbei, wenn sie nicht am Forum selbst interessiert sind. Das stimmt, aber ich muss auch sagen, dass da was sich da auch interessant fand, dass wurde sich halt auch sehr viel ausgetauscht über die ganze Pandemie-Lage und auf einem doch wo was jetzt so angeht. Also es ist so krasse Corona-Leugner oder so was gab es vereinzelt und die haben wir dann eigentlich auch aus dem Forum ausgeschlossen. Also so ein großem Ganzen bin ich da schon froh, dass es da nicht so völlig, das hätte ja auch Anlass sein könnte, auch völlig abdriften können oder so was wie es, aber das war es eben nicht. Es wurde sich sogar, weil sie nicht anfangen, im Frühjahr wurde sich sehr aktiv ausgetauscht, wo bekomme ich den Impfstoff als erstes her und da war es auch so, dass es da nicht so sehr viel in der Pandemie-Lage war. Okay, cool, vielen Dank. Dann gibt es noch eine weitere Frage und zwar, wie viele Stunden pro Monat beziehungsweise pro Woche ungefähr in Arbeit da reinfließen, vielleicht aktuell? Also das ist sehr unterschiedlich, sagen wir im Sommer, ihr sehr wenig bis gar nichts das ist wirklich so, kann ich wirklich jetzt gar keine Zahl sagen, weil das so unterschiedlich ist. Manchmal, da hat man Bock, da macht man ganz das Wochenende nichts anderes und programmiert halt und ansonsten, ja, weiß ich nicht, es gibt halt immer wieder mal Sachen, wo man administrativ was machen soll, da muss ich auch nochmal großen Shout-out an alle im sogenannten RAT, das ist also diskriminativ basierte Moderatoren-Team die da also sehr viel also vor und moderatoren-mäßige Abfangen so, also da ohne die wäre es glaube ich mittlerweile nicht mehr möglich das zu betreiben. Sehr schön. Die anschließende Frage daran wäre jetzt, wann denn die Besoldungsstufen vom RAT und vom Schiebeschnips steigen? Ja, das passiert direkt im Anschluss an die Feier im Olympiastadion, also da werden dann die neuen die neuen Ernennungs-Urkunden werden dann da ausgegeben und dann ja wir kommen noch ein bisschen drauf an wie gut das mit den Sponsoringen für die Party funktioniert. Okay, wunderbar. Ja, dann vielen Dank an euch beide und genau, bei uns ist jetzt eine kleine Pause und um 4 Uhr geht es dann weiter mit your data-Mirror die Macht der Daten, wie die Macht der Daten die Demokratie untergräbt geht um politisches Microtargeting, wie das funktioniert genau, dann jetzt erstmal eine schöne Pause und bis später. Alles klar, danke und tschüss. Tschüss.