News 26/23 –
Svelte 4 // Langchain & Colab // Google I/O Connect Amsterdam
28.06.2023
- // Podcast
- // News 26/23
Shownotes
Heute sprechen wir in reduzierter Besetzung über Dennis' Mitbringsel von der Google I/O Connect, die letzte Woche in Amsterdam stattgefunden hat: Google hat eine Menge Python Notebooks zu Generative AI, die man direkt in Colab ausführen kann. Damit konnte er Fragen an ein LLM stellen, das die Antworten aus dem Confluence Wiki von Lotum zieht.
Svelte 4 ist draußen und dient vor allem als Grundlage für die nächste Major-Version des beliebten Frontend-Frameworks.
/transkript/programmierbar/news-26-23-svelte-4-langchain-colab-google-i-o-connect-amsterdam
Hallo und herzlich willkommen zu einer neuen Programmierbar. Newsfolge 26/23 sind wir mittlerweile schon und haben heute ein paar Leute verloren. Einmal an kranke Kinder und an Pausen und so weiter haben wir das hier. Aber wer ist am Start?
Der.
Siebi. Und ich bin Dennis. Und heute schaffen wir es, eine wie eigentlich immer Plan 15 Minuten Newsfolge für euch bereitzuhalten. Gucken wir mal. Also wir haben heute als Thema SWELT, gibt es eine neue Version Nummer vier. Und das zweite Thema. Und Ende. Und Ende. Und ich würde ein bisschen berichten von, ich weiß nicht, ob man das News nennen kann, aber ich war letzte Woche auf der Google IO Connect in Amsterdam. So nannte sich die Veranstaltung. Darüber kann ich ein bisschen erzählen und dann ganz explizit, einfach nur weil es für mich ein News war, ich habe es noch nie vorher gemacht, so ein bisschen AI Zeug ausprobieren in Colab und mit den neuen Language Models da, LangChain und so was, dass es eigentlich relativ easy ist und Google da schöne Beispiele hat und man sehr schnell damit starten kann. Da würde ich einen kurzen Überblick drüber geben.
Na gut.
Siggi, dein Auge ist ein bisschen blau. Was passiert?
Na ja, mein Gesicht hat meinen Sprung ins Wasser gut abgefangen. Ich wollte einen Salto Köpfer machen vom Boot ins Wasser und hatte unterschätzt, dass man nicht so hoch springen kann. Es war nicht genug Platz und dann bin ich halt, während ich in der Salto Drehung war, mit dem Gesicht aufs Wasser.
Ah, und deswegen ist es so stark dann, weil man sich noch zusätzlich dreht. Es ist nicht nur die Höhe, sondern der Schwung, der Drehung des Salto.
Das Momentum, was ich hatte.
Sehr gut. Aber sonst hat mir sie versucht zu helfen. Also ich weiß nicht, ob wir uns schon mal bestimmt kam das schon mal als Thema, dass du früher mal großer Turmspringer warst.
Haben wir alle den Kontext, dass wir zusammen …?
Nein, den wollte ich gerade noch geben. Aber kannst du auch gerne geben.
Ich trinke Kaffee. Gut.
Ja, wir waren gerade fünf Tage, hatten den Luxus, fünf Tage einen Firmenausflug zu machen nach Mykonos und waren da in Wind und Sonne und Wasser und an einem Tag waren wir auf einer Bootstour. Dieses Bootstour hatte ein kleines, nicht sprungfähiges Brett genommen.
Richtig. Das war das Problem.
Und da konnte man runterspringen und das hat sie wie gemacht. Nein, aber so wie ich verstanden habe, leidest du nicht unter allzu großen Schmerzen, sondern es ist vor allen Dingen ein optischer Mangel. Genau. Ja, sonst hatten wir auch eine schöne Zeit. War mega cool. Manche sind jetzt energiegeladen, manche sind ein bisschen vielleicht soziisch ausgelaugt und ein bisschen müde. Aber es war eine sehr, sehr schöne Zeit. Die Leute hattenWas war dein Highlight neben dem Sprung?
Neben dem Sprung. Ich fand Mykonos Stadt großartig. Sehr schön da. Und Cocktail. Sehr gut.
Dein Lieblings Cocktail in Mykonos Stadt?
Nee, andersrum. Mein Hass Cocktail, den ich kennengelernt habe, der heißt Kokochilie. Das war Kokosnuss und Chilie. Und ich dachte, das ist sehr interessant, aber es war irgendwie nur Chil. Das hat den Magen gut aufgeräumt. Geil.
Vielleicht ist das ein ganz guter Trink für einen gewissen Zeitpunkt am Abend. Ja, das stimmt. Yuti, Google IO Connect. Das ist eine Veranstaltung, die erstmalig dieses Jahr stattfindet, und zwar praktisch als Möglichkeit nach der großen Google IO, die ja in Kalifornien stattfindet, eine Möglichkeit, dieses Event und ein bisschen die Experience und die Hands on Sachen, die man dort haben kann, in andere Regionen zu bringen. Und Amsterdam war dieses Jahr die Location für den EMEA Bereich. Das ist immer Europe, MiddleEast und Afrika, die dazu gehören in diesem Bereich. Genau. Und ich glaube, das war auch so ein bisschen das Ziel, tatsächlich wirklich viele internationale Leute da einfach zusammenzuholen, so ein bisschen diesen Austausch zu fördern. Sie haben, glaube ich gesagt, dass 90 Nationen vertreten waren an Besucher*innen.
Und wie viele Teilnehmer?
Ich irgendwann zwischendurch hat mal einer was von 3000 Teilnehmern gesagt. Ganz so viele kam es mir nicht vor. Aber ja, irgendwie so in dem Dreh. Also durchaus viele, viele und halt wie Google, wie man es von Google gehört hat, so ein fantastisches Event aus Organisationssicht. Also jeder Sticker, jede Aufkleber, jedes Hinweisschild durchdesignt und wieder erkennt man, dass Google ist und viele, viel Zweck, den man mitnehmen konnte und kleine Spielchen und Drinks und Essen und alles sehr perfekt. War sehr cool. Hat sich auf jeden Fall gelohnt dort zu sein. Und es gab eben auch noch mal Vorträge, teilweise so ein bisschen Recap, was auf der Google ja auch schon genannt wurde. Ein, zwei neue Dinge haben sie da dann auch noch mal veröffentlicht. Und es gab aber auch eben so Hands on Workshops, die man machen konnte und sogenannte Office Overs, die man buchen konnte, wo man irgendwie mit eigenen Problemen eben zu Google Engineers gehen kann und sagen kann Hey, guck mal, wir haben ja dieses Problem, weil ich denke, wirs ihr das lösen. Und ich glaube auch, das ist eine der Haupt key Sachen, so dass man halt mit Google Leuten, Entwicklerinnen zusammenkommen kann, die halt die Teams das bauen, mit denen man irgendwie, die man als Tooling nutzt und da halt nachfragen kann und Kontakte knüpfen kann.
Von daher waren auch sehr, sehr viele Google Leute da, viele dann eben auch aus den USA und anderen internationalen Teams. Ja. Ja, super cool.
Und was hast du hands on mäßig gemacht?
Hand on. Tatsächlich habe ich dann, also es war ein Tag nur und den ganzen Nachmittag habe ich dann in so einem Workshop verbracht, wo ich eigentlich nur eine kleine Session von wollte. Aber mehr oder weniger waren sie aufbauend und das einzige war ein bisschen schade. Sie hatten, glaube ich, sich deutlich mehr vorgenommen für diese Workshops und sie sollten viel tiefer gehen und waren zeitlich immer sehr, sind sehr an der Oberfläche gekratzt von dem, was sie eigentlich machen wollten. Aber trotzdem wollte ich das praktisch als News oder Tipp mitbringen rund die Zugänglichkeit von den Lerche Language Models und was man da so ein bisschen aus Programmier Sicht machen kann. Also grundsätzlich ging es darum oder ein Beispiel, das sie auch in einem Vortrag gezeigt haben und was ich als Use Case häufig im Kopf hatte. Man ist ja oft ein bisschen aktuell begrenzt irgendwie mit dem Kontext, den diese Sprachmodelle irgendwie abbilden können. Das heißt, wenn ich ich kann da zwar relativ viel reinpacken und noch eine lange Konversation reinpacken oder langen Kontext reinpacken und dann kann ich darauf basierend Fragen beantwortet bekommen. Aber der ist ja trotzdem irgendwie auf ein paar tausend Tokens beschränkt, je nachdem, welches Modell man irgendwie benutzt.
Und ein Use Case, den wir hier mal intern besprochen hatten – wir haben relativ viel unserer Firmen, weiß nicht, dokumentierteine Dokumentation, ob man das Dokumentation nennt, ja, aber alles rund die Regel, rund irgendwelche Sachen – haben wir in Confluence niedergeschrieben. Und die Vorstellung war, es wäre es nicht ganz cool, einfach auch einen Chatbot zu haben oder eine Chatmöglichkeit, einfach Fragen zu stellen, die einem im Alltag aufkommen. So von keine Ahnung, wo muss ich meine Arbeitszeiten eintragen oder wie war das noch mal mit unserer DNA oder was auch immer? Irgendwie was darauf basierend. Und genau das wäre ja dann die Challenge, diesem Modell das beizubringen, dass das geht. Und dafür hatten sie auch selbst ein anderes Beispiel, wo sie dann die Keynote von der Google IO genommen haben und die das Video transkribiert haben. Und dann zum einen Highlights generiert, automatisiert mit Timestamps und dann aber eben auch das als Kontext gegeben, über eine Suche Fragen stellen zu können, wo die dann beantwortet werden, inklusive Timestamp. Wo in dem Video wird es denn gesagt? Um einfach zu sagen: „Welche Neuigkeiten gab es denn zu Google Music? Und dann kriegst du erst mal eine kurze Zusammenfassung, kannst draufklicken und springst dann in dem Video zu der Stelle.
Und doch den Exkurs mache ich noch kurz, weil das ganz lustig war. Das haben Sie so vorgestellt als eine dieser Möglichkeiten ist letztendlich vorher diese mehr Informationen, die man hat, in unterschiedliche Teile zu, in unterschiedliche Teile Chunks zu zerbrechen und dann den Sinn dieser einzelnen Chunks in einer Datenbank abzuspeichern. Und wenn du dann eine Query setzt, dann wird diese Query oder diese Frage ebenfalls in einen Sinn übersetzt und geguckt, welche Chunks sind am nächsten dran an dem, was ich eigentlich beantworten will? Dann werden die rausgesucht, die als Kontext gegeben und dann kann das Sprachmodell darauf basierend die Antwort geben. Genau. Und es gibt so verschiedene... Es gibt verschiedene Möglichkeiten, was man heute machen kann. Also eins davon ist, LangChain zu nutzen – kann ich auch nur oberflächlich erklären. Letztendlich ist das noch mal ein Python und nicht Framework, aber was rund Python, was einfach verschiedenste Komponenten anbietet, so mehrere Schritte auch mit so Modellen machen zu können, beispielsweise das in Datenbank zu machen und dann direkte Zugriffe darauf zu haben, also einfach entwicklerfreundlicher ein bisschen das Ganze zu benutzen. Und eine andere Art wäre, das bietet Google in der Cloud an, in dem Vertics AI Umfeld, dass man ein Modell nicht nachtrainiert, aber das sind praktisch, das Basismodell bleibt dann gleich, aber man hat dann hinterher noch mal so einen Schritt, wo eigene Parameter trainiert sind und wo man einfach ein Daten Set von, sagen wir mal irgendwie 500, so soll es aussehen, Sachen rein pasted, Beispiele rein pasted und dann kann das Modell demnach antworten.
Also es sind einfach unterschiedliche Arten, wie man einen größeren Kontext in ein solches Modell bekommt. Und in dem Vortrag, wo Sie dieses Beispiel gemacht haben, haben Sie eben davon gesprochen, dass man ja ein Vertex AI Modelle trainieren kann. Und dann hatte ich da direkt danach mit einem der Entwickler gesprochen, hat er gefragt, ob sie mir denn irgendwie mal zeigen können, wie denn diese Input Daten ausgesehen haben, mit dem sie dann das Modell weiter trainiert haben aus diesem Transkript des Videos. Und dann meint er: „Ja, das können wir uns nachher noch im Workshop mal angucken. Dann bin ich zu dem Workshop gegangen – das war dann auch nicht direkt Thema. Dann bin ich noch mal zu einem und hat gesagt: „Ja, wir können das gleich. Und dann habe ich später noch mal zwei gefunden, die damit zu tun hatten und habe die noch mal gefragt und die mussten dann zugeben – das war irgendwie eine ganz lustige Situation –, haben dann zugegeben, dass sie das für die Demo überhaupt nicht so gemacht haben. Das Video war kurz genug, es ist komplett in den Kontext.
Zu machen und.
Das die bessere Lösung an der Stelle war.
Aber ich meine, das ist doch auch das, so macht man es halt. Das ist das Publikum, bisschen Augenpulver Ja, ne, finde ich aber super interessant. Also die beiden Ansätze. Einmal wir packen alles in den Kontext, wir machen hinten an das Sprachmodell noch mal so einen Stapeld oder Lenkchain. Diese drei Sachen.
Haben wir. Genau. Und das, was ich dann gemacht habe und das jetzt vielleicht noch dann das, was ich den Link dazu in die Shownotes packen würde, gerne. Google hat unter dem GitHub Repository von Google Cloud einen relativ großen Teil, wo sie sehr, sehr viele Beispiele rund ums Lerche Language Models haben. Und was heißt Beispiele? Beispiele heißt, das sind sogenannte Colab. Ich weiß nicht, ob die dann auch Notebooks heißen oder Colab Files oder wie auch immer. Colab ist eine Alternative zu JupIPTER Notebooks und das sind Möglichkeiten, Code Blöcke und Dokumentation Markdown in einem Dokument zu schreiben. Das heißt, du hast Markdown Text, hast unterschiedliche Code Blöcke und das Ganze läuft in einem Environment, wo du Python Code, also die Code Blöcke sind in Python geschrieben, wo du Python Code ausführen kannst. Und das ist eigentlich ganz cool so zum Ausprobieren und Lernen, weil du einfach Markdown irgendwie Sachen runterschreiben kannst. Du kannst auch Bilder rein pasten, irgendwas anzeigen. Dann hast du Code Blöcke und die sind aber ausführbar und das ist dann das Environment gehört zusammen. Das heißt, wenn du irgendwie was erstellst, ein Modell trainierst, was ein bisschen dauert und dann später weiter unten im Dokument dann was ausführst, dann kann das darauf zugreifen.
Also das läuft praktisch in einem Container, könnte man sagen. Und genau für diese Python Notebooks heißen sie, glaube ich auch bei Colab am Ende. Da gibt es halt Beispiele in dem Repository von Google, die man sich dann einfach klonen kann in Colab und dann eben einfach Schritt für Schritt ausführen, die unterschiedlichen Steps, die da drin sind.
Und was ist das? Das hat man einen Use Case?
Und den Use Case, wo wir jetzt sind, ist ja beispielsweise LangChain zu nutzen, mit der Vertex. Ip, PAM API, also dem PAM Modell, Fragen zu beantworten auf einem größeren Kontext. Und dann ist das nämlich genau der Use Case, den ich eben probiert habe, wo wir eben angefangen haben. Ich wollte unser komplettes Confluence Gedöns da rein laden und in der Lage sein, Fragen darauf basierend zu antworten. Und LangChain beispielsweise bietet jetzt eben genau das Tools und angebundene Sachen und macht das eben einfacher. Und unter Long Chain gibt es beispielsweise einen Confluence Importer. Das heißt, da kannst du dann einfach nur sagen, du möchtest diesen Space runterladen, brauchst einen API Key und dann wird das automatisch in sogenannteDokumente, auch das ist dann was von langem, ein Objekt, was von Lang Chain definiert ist, ein Dokument. Und wie ich es dann gemacht habe, ich habe dann diese Dokumente, was letztendlich einfach ein Riesending ist, die habe ich in diese Chunks unterteilt. Da kann man ein bisschen experimentieren. Wie lang müssen die sein? Wie viel Kontext steht in einem Ding drin?
Mit Dokumente meinst du diese Seiten von Konfluenz?
Beim Import ja und auch danach, wenn wir sie unterteilt haben. Also einfach, stell dir vor, alle Dokumente, die bei, die in Confluence drin sind, sind einfach nur eine große Datei, ein großes Dokument oder ein großes großes Textding. Und das schneiden wir einfach willkürlich jetzt in kleine Teile.
Und diese … Nur für, wenn jemand Confluence nicht kennt, kann man sich so wie Wikipedia vielleicht vorstellen?
Ja.
Also es gibt verschiedene Artikel, die sind irgendwie miteinander ….
Ja, richtig. Genau. Wir sind ja ein eigenes Wiki.
Also das ist ein ganz großes Dokument alles und dann sind irgendwo jetzt diese Cuts.
Genau, und diese Cuts. Und da habe ich jetzt, keine Ahnung, bei uns waren das beispielsweise knapp 700 Stücke, die da rausgekommen sind. Wie groß waren die ungefähr? Ich habe sie in Chunk size von 500 gemacht, ob das jetzt Characters sind oder wieder Tokens sind, egal, aber so, run about. Diese Größe. Und man kann sie auch overlappen, diese einzelnen Bereiche. Also auch damit kann man spielen. Wie groß sind sie und gibt es Überschneidungen zwischen denen? Und dann ist was, was ich nicht verstehe wirklich, wie es funktioniert, aber nur ….
Also wie es.
Intern funktioniert? Ja, also da redet man von sogenannten Embeddings und Embeddings ist eine Übersetzung von Textbausteinen in eine Zahl. Das passiert ja sowieso in den Lerche Länge mit Models, dass jedes Token übersetzt wird in einfach nur eine Zahl. Und in so einem Embedding ist es aber ein größerer Bereich. Und so wie ich es verstehe, bildet er auf magische Weise auch den Sinn ab. Also das, waswas steht da drin in diesem Chunk? Und das wird ausgedrückt in einer Zahl. Und diese Zahlen schreibt man dann in eine Vektordatenbank. Vektordatenbank, soweit ich es verstehe, ist auch schon wieder der andere Bereich, ist einfach auch nur eine Datenbank, die sehr gut damit umgehen kann, nur Zahlen da rein zu speichern und das irgendwie in einem Raum darzustellen und deswegen möglichst einfach da Sachen zu suchen. Dann haben wir diese ganzen Dokumente, die ein Embedding haben, da drin sind. Und das, was jetzt noch kommt, ist letztendlich die Query auf die Datenbank mit der Frage, die wir haben, beispielsweise: Wo muss ich meine Arbeitszeiten eintragen?
Wo kommt jetzt diese Datenbank her?
Die Datenbank ist eine Datenbank, die ist auch von LangChain. Genau. Oder der Zugriff darauf, sie nennt sich ChromaDB in dem Beispiel, was wir haben. Wenn ich weiter nachgucke, ist eine von … Eine Vektordatenbank, gibt es wohl auch verschiedene, die man hat. Jetzt queren wir diese Datenbank, also unsere Query, die wir haben. Unsere Frage wird jetzt auch übersetzt über dieses Embedding in eine Zahl. Und jetzt suchen wir einfach all die Dokumente, die möglichst nah dieser Zahl ähneln, so ist mein Verständnis davon. Und das sind dann die Chunks, die uns interessieren. Und dann holen.
Wir die raus. Und das macht er aber dann automatisch? Das macht der automatisch. Ich mache nur das Query und dieses Lank Chain Framework.
Genau. Ja.
Schön. Können wir das jetzt fragen nach: Wo lege ich meine.
Krankmeldung hin? Ja, also du kannst beispielsweise, wo, ich habe so Sachen gefragt, wo finde ich mein Feedback Journal? Und dann kam die Antwort, das findest du in deinem persönlichen Miro Board. Musst du da hin? Es ist noch nicht, also die letzte Frage war, was sind die Hauptpunkte der LOTUM DNA? Und die Antwort war, die LOTUM DNA behinderte die Ansprüche an ein hochqualifiziertes menschliches und fachliches Team, eine gemeinsame Diskussionsgrundlage, eine Arbeitsumgebung, die den Bedürfnissen aller entspricht und ein WLAN Netzwerk für LOTUM Mitarbeiter und externe Gäste.
Ja, ja. Könnte vielleicht auch ein gutes Feedback sein, dass wir an der Dokumentation arbeiten, wenn uns das so wichtig ist mit dem WLAN.
Das stimmt. Und was tatsächlich da auch ganz, aber ganz cool ist, der spuckt auch automatisch die Source Dokumente aus. Das heißt, du hast da direkt einen Link zu dem und kannst dann da im Zweifel das noch weiter lesen.
Und falls sich jetzt alle da draußen fragen, was reden wir da eigentlich die ganze Zeit? Also ich glaube aber, dass das ein Use Case, den haben wahrscheinlich einige. Irgendwie, dass man mal so ein großes, großes Ding an Informationen, was man sowieso gesammelt hat, irgendwie einfach durchsuchbar oder eben noch besser, dass man die mal mit Verfragen stellen kann. Genau. Also super cool.
Super cool und in dem Sinne auch super. Also mit den Beispielen, die sie in diesem Open Source Repository haben, also super einfach, accessible, dass man es einfach mal wirklich ausprobieren kann und ein bisschen mehr versteht, in Anführungszeichen versteht.
Du hast das so gelesen und ich habe schon was gelernt, als du es mir gerade erklärt hast.
Das ist.
Doch schön. Siehst du Embeddings? Wusstest du schon, dass es solche Sinn Graphen gibt oder so, wo man den bei … Also kenne ich nur von Übersetzungen, wo du halt ein Wort hast und alle Worte in anderen Sprachen sind halt auf dieser Map irgendwie in der Nähe davon. Und dann sage ich mal, wie macht man das so? Hä, wie? Das sind wahrscheinlich diese Embeddings. Ja. Cool.
Ach, komm, jetzt haben wir es über 15 Minuten. Oh du Scheiße. Wir haben in 20 Minuten schon voll. Dann lassen wir doch das. Dann lassen wir es. Nein, zwelt.
Dann lassen wir zwelt einfach. Zwelt geht schnell, geht sehr lang, geht schnell, weil es ist so schnell geworden. Nee, okay, zwelt vier ist zwar eine Major Version Update und Major Version eigentlich nur weil ein paar Breaking Sachen dabei sind, so was wie jetzt nur noch mit Node 16 und ein paar Dependencys hochgepumpt, ein bisschen Performance verbessert, bisschen die Developer Experience eigentlich so vom Feature Umfang und so ist es ein Miner Release und dient hauptsächlich der Vorbereitung für die nächste Version. Aber ja, zwölf vier erst mal so, kann man mal machen. Also geht nicht so dramatisch viel kaputt. Sie haben auch einen Migration Guide dabei und sagen, sie sind in der großen Vorbereitung Svelte 5 bald irgendwie Ende des Jahres oder so auf die Straße zu bringen, indem sie den ganzen Compiler rewriten. Und die Tool Chain jetzt schon mal auf den neuesten Stand zu bringen, ready zu sein für die nächste Version von SWELT, haben sie jetzt die vierer Version rausgebracht. Also die Bundles werden ein bisschen kleiner. Also so ein bisschen alles halt mal so ein bisschen aufgeräumt und so, das finde ich eigentlich ganz cool.
Wann nicht so oft, oder?
Dass man mal so.
Einen Major Release macht, aufzuräumen für den nächsten Major Release.
Erinnerst du dich noch an Snow Lappard?
Ja.
Das war doch auch… Es gab vorher Lappard und dann gab es Snow Lappard. Und Snow Lappard war ja auch so ein.
… Für alle, die es nicht kennen, sind Mac OS Betriebssysteme.
Oh ja, stimmt. Es gab den Leoparden und den Schneeleoparden. Ja, und das war ja dann … Zumindest erinnere ich mich, damals war es eben auch so ein … Wir machen gar nicht so viele Features, sondern wir machen die Sache ein bisschen schneller, ein bisschen stabiler. Und ja. So stelle ich mir das bei Swellet4 jetzt auch vor. Yes. Und ansonsten natürlich wie jede Woche Bann. Da gab es auch ein Patch Release. So, fertig. Und jetzt haben wir natürlich nicht … Also ich habe nicht so viel gelesen jetzt auf Mykonos. Deswegen … Ja, dann.
Wird nächste Woche … Nein, nächste Woche haben wir wieder AI News.
Nächste Woche sind AI News und danach können wir von einer Fluttercon berichten.
Oh ja. Alle, die entweder Android oder Flutter cool finden, in der Zeit vorkommen. Die 19.
Zeit vom Anfang Juli.
Anfang, fünfter, sechster war das. Ja, genau. Fünfter, sechster und siebter Juli findet die Fluttercon in Berlin statt. Drei von uns sind dort und halten Vorträge. Oder andersherum. Mehrere von uns sind dort und drei von uns halten auch Vorträge auf der Fluttercon. Und von daher, wenn ihr da seid, kommt gerne mal vorbei. Wir haben tatsächlich auch einen Programmiererstand auf der Fluttercon. Oh, richtig. Ja, stimmt. Also auch da könnt ihr gerne mal auf uns zukommen und mit uns quatschen. Und ja.
Kann man sich da auch irgendwelche Merk.
Abholen von uns? Irgendwelchen geilen Zweck? Ich glaube schon.
Weißt du, Slack?
Slack ist, glaube ich, das Zeug, was man … Also zumindest in Google Kreisen. Ich weiß nicht, ob das ein generell anerkannter Begriff ist, aber ich glaube schon.
Ein niceer Slack. Okay, machen wir.
Wir haben sicher irgendwas. Kommt vorbei. Yes.
Noch was? Nein. War eine.
Schöne Woche euch.
Bis bald. Ebenfalls bis bald.
Tschüss.
Tschau.