News 28/23 –
Tailwind 3.4 // Threads // Vercel Skew Protection // ChatGPT-4 API
12.07.2023
- // Podcast
- // News 28/23
Shownotes
Neben wichtigen Themen wie dem Wetter und den Farben, die wir sehen können, unterhalten wir uns heute über folgende Technik-Updates:
- Vercel hat eine neue Funktion veröffentlicht, die die Versionierung einer API obsolet machen kann: Skew Protection.
- GPT-4 ist nun für alle als API verfügbar.
- Meta launcht Threads als Twitter-Alternative außerhalb der EU.
- Tailwind 3.4 wurde auf dem eigenen Tailwind Connect-Event vorgestellt und hat unter der Haube einige große Änderungen, die unter anderem Schnelligkeit bedeuten.
/transkript/programmierbar/news-28-23-tailwind-3-4-threads-vercel-skew-protection-chatgpt-4-api
Hallo und herzlich willkommen zu einer neuen Programmierbar News Folge 28 23 mit.
Dem.
Sebi. Hi.
Und dem Fabi. Hallo, ich bin Dennis. Wir freuen uns, dass ihr uns wieder zuhört. Und Sebi, wie gefällt dir das Wetter aktuell?
Gut. Fabi, wie gefällt dir das Wetter aktuell?
Naja, mir ist zu heiß.
Dir ist zu heiß. Bist du einer, der die ganze Zeit rummeckert?
Nee, ich meckere nicht rum. Ich vegetiere aber vor mich hin. Es lässt sich aushalten. Wir haben letztes Jahr im Winter, wo mich fragt, warum es eigentlich in eine Klimaanlage investiert? Es ist zumindest jetzt in den Schlafbereichen aushaltbar nachts.
Was heißt denn aushaltbar? Kannst du auf 18 Grad machen.
Oder nicht? Ja, aber wir haben es in kleinen Räumen und die Klimaanlage zeigt relativ genau aufs Bett. Das kann auch nicht mit einer Klimaanlage, die an ist bei Nachtpennen … Von daher machen wir es dann irgendwann nachts meistens aus und dann am Anfang ist es an und dann wird es irgendwann ein Abendteil. Dann in der Nacht über so warm wieder, dass es... Nee, ist das schon okay. Letztes Jahr im Sommer sind wir dann immer runtergezogen. Warum findest du es toll oder was gehst du auf in dieser Hitze?
Ich gehe nicht auf, aber ich finde es nicht so schlimm. Ich finde es nicht so schlimm. Ich finde aber bei den Leuten, aber die so, da ist es auch viel Kopfsache. Also man kann sich halt doch, doch, du kannst die ganze Zeit denken: Boah, ist es heilend, so ekelig undwitzig, keine Ahnung was. Und du denkst halt: Boah ist okay, es ist heiß und es ist schön, drin zu sein, aber ist auch nicht schlimm, wenn ich mal draußen bin und ein bisschen schwitze.
Du sagst die Kopfsache. Florida hat ja jetzt Wasserm Meerestemperatur 35 Grad gemessen an manchen Stellen. Oh Gott. Ja, dann ist da Florida.
Richtig … Im Meer.
Deswegen haben sie auch Angst vor Korallen sterben und so was. Also nicht nur Klimawandel, sondern auch El Nino, das klingt nach Mexikanisch. Also El Nino nennt man das Auftreten ungewöhnlich ein nicht zyklischer, veränderter Meeresströmung. Aber tatsächlich ist das ein Phänomen, das in unregelmäßigen Abständen auftritt, in durchschnittlich vier Jahren. Also es ist nichts, ist jetzt kein dauerhafter... Also ja, es ist ein Phänomen, das aber auftritt.
Letzte Woche, letztes noch zum Klima. Der Juni war der heißeste Juni weltweit. Dieses Jahr? Genau dieses Jahr. Das war der heißeste.
Juni weltweit. Dieser Juni.
War der heißeste Juni weltweit. Wenn man die Durchschnitts temperaturen auf der ganzen Welt zusammenrechnet, dann kam man auf 17, irgendwas Grad und das war über allem, was man bis jetzt gemessen hat. Also einfach auf der ganzen Erde war es noch nie in einem Juni durchschnittlich so warm, wie es jetzt war. Wie berechnet sich die Durchschnittstemperatur der Erde? Ist das praktisch, man macht eine Fläche, wie beispielsweise 10 Quadratkilometer, und guckt dann, wie warm es da drin ist. Und du kannst ja nicht sagen, Deutschland hat 18 Grad und die USA 15.
Ach so, da zählst du auch Temperaturen über dem Meer dazu? Ist es nur Landtemperatur?
Oder können wir das alles von oben messen? Wahrscheinlich.
Ja, du kannst mal das Erdbeobachtungsprogramm Kopernikus fragen, das Europäische, die diese Zahlen.
Herausgegeben haben. Okay, mache ich. Vorher unterhalten wir uns noch mal kurz über ein paar technische Themen, bevor ich Kopernikus schreibe. Und zwar gibt es hoffentlich neue Farben in Tailwind drei vier.
Das erzähle ich dir gleich.
Okay, dann haben wir etwas zu JGPT, das General Availability.
Was auch immer.
Ein paar Dinge gibt. Und Versell macht was, da kann ich erstens den Namen nicht aussprechen und zweitens weiß ich nicht, worum es geht. Skuh! Skuh!
Skuh Protection!
Sehr gut. Und dann gibt es noch so ein neues Meta Produkt, was gelauncht ist letzte Woche.
Dann erhalte ich es noch. Auf der Meta Ebene.
Vermittelt mich immer, wenn du Meta Produkt. Ich dachte sowas. Ein Meta Produkt, also kein richtiges Produkt.
Wer weiß was es ist. Vielleicht wird es irgendwann mal so eine Meta.
Vielleicht ist es ja gar kein richtiges Produkt.
Ja. Okay, fangen wir an mit Skuh. Skuh!
Dann lass uns doch erst mal den Begriff.
Skuh erklären. Kennst du den Semi?
Also buchstabiert SKEW.
Das ist doch, ich kenne ich es nur vom Transform bei CSS, dass man irgendwas so schieflegt.
Ja.
Aber im Endeffekt hat es, kann man dieses Bild vielleicht neben das schieflegen. Es hat damit zu tun, wenn im Endeffekt verteilte Systeme zu unterschiedlichen Zeiten deployt werden und ein unterschiedliches Version Mapping auftritt. Ich glaube, wir kennen vielleicht eher so was wie Versionierung von APIs ist ein Grund dafür, dass das, weil SCO ansonsten auftreten könnte, ein Version SCO, also dass im Endeffekt inkompatible Zustände entstehen können, weil du beispielsweise, wenn du noch Microservice Architektur hast, es gibt verschiedene Arten. Es gibt zum Beispiel Microservice SCO, wenn du Microservice unterschiedlich deployst und im Endeffekt Zustände entstehen, die inkompatibel sind miteinander. Aber es gibt zum Beispiel auch den Frontend Client SCO. Also wenn du da irgendwie, also keine Ahnung, dann hast du eine Website, könnte aber auch eine App sein, wie auch immer, und einen Backend dafür und du deployst dein Frontend, du deployst dein Backend dafür und dann machst du irgendeinen inkompatiblen Change. Und es kann ja trotzdem bei Frontends irgendwie sein, dass du die Seite in deinem Cache hast, hast sie noch geöffnet, machst nichts und das Backend ist schon neu deployt und willst jetzt irgendein Formular abschicken, was auch immer, hast du einfach nur offen und willst jetzt erst mal Mittagessen gehen und später abschicken.
Das heißt, du hast eine Frontend Version und die nicht mehr passt zum deployten Backend. Und da ist natürlich die Frage, was gibt es für Möglichkeiten, das Ganze zu mitigen? So habe ich ja vorhin gerade schon gemeint, eine Variante, die man durchaus gut kennt, wäre Versionierung der API, sodass du einfach immer Backbackwards kompatibel bist. Oder halt grundsätzlich gibt es ja verschiedene Prinzipien. Dann gibt es ja auch die Möglichkeit, dass man sagt, es gibt einfach gar keine, also API Changes können, du kannst niemals ein Requared Feld in der API einführen. Im Endeffekt musst du immer in deinem Code darauf achten, dass es unterschiedliche Client Versionen geben kann. So, und was, was Hell jetzt eingeführt hat, ist Scoop Protection, dass du sozusagen das Prinzip Out of the Box hast. Also eine, sagen wir, nehmen wir es mal eigentlich am Ende, wenn du eine Versionierung der API Out of the Box so ein bisschen hast. Eingeführt jetzt in Next. Js wird aber auch dann in, ist aber grundsätzlich etwas, was sie auf der Plattform Ebene gemacht gemacht haben und ein bisschen darauf fußt, was Malte Ubel uns damals in dem Podcast der CTO von Wessell ja auch über Wessell erzählt hat.
Wir haben ja bei Wessell auch die Möglichkeit, einen Instant Rollback zu machen, also dass man nicht irgendwie zum Beispiel einen Deployment zu rollbacken musst du nicht nur deployen, sondern sie halten eigentlich alle Versionen, die du irgendwann mal deployt hast, weiterhin vor, sodass sie einfach dadurch, dass sie ja komplett Serverless unterwegs sind im Backend, so was kann sie eigentlich jederzeit irgendwie eine alte, wie nennt sie, AWS Cloud, ne wie nennt sie, Lambda, sie haben das alles auf AWS Lambda, die Lambda Funktion einfach ansprechen alte Version davon, so ohne dass sie sozusagen laufende Server haben müssen. Und was jetzt dieses Google Protection sozusagen macht, also es gibt jetzt ein Experimental Feature in Next. Js, das heißt Use Deployment ID. Und im Endeffekt ist in jedem Environment, was man auf der Shell hostet, sei es irgendwelche Edge Functions, sei es einen Client, gibt es als Environment Variable die Next Deployment ID. Also im Endeffekt gibt es immer eine Deployment ID, an die sozusagen das Backend gebunden ist, was man über einen HTTP Header mitgeben kann und sagen kann, welche Deployment ID möchte ich ansprechen? Und das Frontend kennt sozusagen die Deployment ID, mit der es gesprochen hat und im Endeffekt macht dann Wessell ein Routing auf das richtige Version des Backends, wenn du diese Deployment ID mitgibt.
Und entweder du nutzt Next. Js, das Experimental Feature, Use Deployment ID, dann geht es out of the box und sie supporten bis zu 24 Stunden alte Clients. In der Zukunft soll das noch, soll es noch länger gehen, so dass ein Frontend Client kann 24 Stunden alt sein und diese Deployment ID mitschicken und sie ist sozusagen noch nutzbar. Oder man macht das Ganze händisch in einem Fetisch Request, kann man sich wie gesagt als eine Variable die Next Deployment ID holen und das händisch dann als Header, also X minus Deployment minus ID mitgeben und hat sozusagen so eine automatische Scoop Protection, dass es eben nicht passieren kann, dass ein Client mit einem neuen Backend spricht, obwohl es noch die alte Version ist. Auf jeden Fall ganz cool, finde ich.
Also 24 Stunden.
24 Stunden und dasDas haben Sie jetzt gerade releast vor was war?
24 Stunden.
Nee, vor zwei Wochen oder so. Und sie haben nur gemeint, sie wollen es aber weiter. We are Planning to hello externing this to Multiple Days in the future.
Und Use Case ist?
Der Use Case inden sie hier gebracht haben, ist: Keine Ahnung, du hast ein Formular, an dem du irgendwann merkst: „Fuck, ich habe ja hier damals nicht gemerkt und habe mein Input E Mail Feld im Namen nicht E Mail, sondern E Mal genannt. So, so und dann willst du es einfach glatt ziehen. Und wenn du dieses Group Protective nicht hast, musst du überlegen: „Okay, was mache ich denn jetzt? Will ich es umbenennen, was eigentlich ein super easy Ding ist. Es ist nur eine Zeile. Vielleicht noch mal im Parzing auf der Backend Seite auch noch mal zu verändern, sowohl auf der Backend Seite. Na gut, aber will ich es jetzt wirklich machen? Dann muss ich jetzt Versionieren dafür, dass ich eigentlich nur das E Mail Feld wirklich E Mail nennen möchte. Und dann wird man wahrscheinlich es. Also entweder man hat ein robustes Versionierung System schon drin oder man sagt halt gut, das heißt halt einfach nicht E Mail und ich lebe damit, dass es nicht E Mail heißt. Oder man sagt halt gut, scheiß drauf ich deploye einfach und dann habe ich halt ein paar Anmeldung gehen halt in die Snewaner. Also es sind so, es ist glaube ich so, gerade in größeren Projekten und so hast du ja dann oftmals halt eine Versionierungstrategie und so.
Ist jetzt nicht absolutes No brainer, aber halt gerade bei kleineren Anwendungen, wo du dir darum keine Gedanken machst oder halt einfach sagst Gut, notfalls verliere ich halt einfach ein paar. Das ist glaube ich ein Feature, so den Kopf ausschalten, einfach machen und darüber freuen.
Wir hatten da das Code Review gemacht bei dem Beispiel.
Das frage ich mich auch. Das war wahrscheinlich der nicht vorhandene zweite Entwickler.
Oder.
Der ChatGPT.
Der müsste das sogar automatisch machen. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben. Eben.
Eab die erste Tailwind Konferenz, nämlich die Tailwind Connect 2023.
In?
Ich wusste, dass die Frage kommt, weiß ich nicht. Amerika. Okay. Und?
Wenn du wusstest, dass die Frage ….
Ja, ich wusste gerade und ich war im Flugmodus, da habe ich gedacht, ich kann jetzt nicht Google.
… Cambridge, Toronto.
Kanada? Ach, toll. Okay. Also das Besondere daran ist, dass sie von den Machern von Tailwind ausgerichtet worden ist. Also ich glaube, sonst gibt es das irgendwie. Weiß ich nicht. Also jedenfalls, sie haben nichts releast. Sie haben irgendwie nur erzählt, was ihre Pläne so sind. Und ein großer Plan ist die nächste Version von Tailwind, nämlich die Version 3.4. Aktuell sind wir bei 3.3. Und der Change, den Sie jetzt bei 3.4 machen wollen, erst mal warum gehen Sie nicht auf Tailwind 4? Weil Sie gesagt haben, es ist Ihnen sehr, sehr wichtig, dass Sie keine Breaking Changes machen. Und das finde ich erst mal cool. Und was Sie allerdings alles umbauen, ist mehr oder weniger unter der Haube. Und zwar die ganze Tool Chain von Tailwind aktuell baut sich das ja so zusammen, dass ich ein Auto Prefixer habe und PostCSS und noch ein paar andere Plugins, die ich brauche, das Nesting zu unterstützen und so was. Und das wollen sie alles rauswerfen und durch Lightning CSS ersetzen. Das ist ein RESTBase CSS, Parser, Transformer, Minifyer, der die Performance noch mal auf ein ganz anderes Level hebt. Ihre neue Engine dazu nennt sich Oxide.
Aber Lightning CSS kommt nicht von denen?
Nein, Lightning CSS ist von jemand anderem, der allerdings die REST Bibliotheken von Firefox verwendet. Der Firefox Browser hat ja die, unser Unterbau ist ja auch in REST geschrieben und so was wie CSS, Parzing etc. Haben die ja, haben die von Mozilla halt alles schon implementiert und Lightning CSS hat sich das genommen und dadurch stellen sie auch sicher, dass es eben tatsächlich so funktioniert, wie es im Browser funktionieren soll. Erst mal gar nicht so dumm und auch im Nachgang gar nicht so dumm. Also coole Idee, das so zu machen. Und performance technisch sagen sie Faktor zwei schneller. Also wenn ich das Ganze bilden möchte, mein CSS, bin ich halt doppelt so schnell. Das erst mal cool, ohne dass es Breaking Changes gibt. Und es kommen noch ein paar coole Sachen, Hookepack mit Oxide und Lightning CSS. Und das sind CSS Transformations. Und also erst mal ich kann jetzt, ohne dass ich die Post CSS und den Autoprefixer verwende, kann ich die Features davon verwenden. Und beim Autoprefixer werden diese Vendor Präfixes eben hinzugefügt, weil manche Attribute eben vergangenheitstechnisch in der Vergangenheit nur mit einem Browser Präfix funktioniert haben und dann wurde das irgendwann zum Standard erhoben und dann konnte man den Präfix weglassen.
Wenn man aber diese alten Browser noch unterstützen möchte, muss man die Präfix dazu schreiben. Und das den Entwicklern leichter zu machen, haben sie gesagt: „Lass einfach alles weg. Und wenn du eine Browser Version supporten möchtest, die diesen Präfix benötigt, dann schreiben wir das eben hin. Das macht der Autopräfixer. Und CSS Nesting.
Ist.
Das, was jetzt auch native in einigen Browsern gelandet ist, dass ich innerhalb eines Selektors einen anderen Selektor schreiben kann und er verkettet das dann korrekt und macht daraus zwei Selektoren. Das wird unterstützt. Und das andere, was ich super cool fand, ist, dass er die neuen CSS Farbfunktionen wie LCH Lab, OKC, OKLCH, also diese ganzen Color Spaces, die neuen, die von den, weiß ich nicht, zumindest gerade diesen evergreen Browsern so weit unterstützt werden, glaube ich, aber eben erst seit Chrome 111 oder so was. Also wenn ich jetzt Chrome 105 oder so was jetzt nicht so wahnsinnig alt ist, noch unterstützen möchte, dann würde das eben meine Farben brechen und es würde nicht funktionieren. Und dieses Lightning CSS schreibt diese Farbfunktion so dass der Next, also der am nächsten.
Dranne, am nächsten dranne, ne, ist.
Glaube ich richtig, ist ein deutscher, der am nächsten dranne, RGB Wert verwendet wird. Aber finde ich eine ganz coole Sache, weil dann kann man sich darauf einstellen, dass man jetzt die coolen neuen Farbfunktionen verwenden kann und das wird dann unter der Haube.
Abwärtskompatibel dargestellt. Alles zu schwarz gemacht.
Alles zu schwarz.
Hauptsache nicht kaputt.
Sebi, kannst du mal ganz kurz einen Exkurs in Farbräume machen?
Ja.
Also warum haben wir die ganzen neuen Farbräume? Weil unsere Bildschirme mittlerweile mehr können als RGB oder wie?
Ja, genau. Seit einiger Zeit, weiß ich nicht, seit 2016 oder so als Apple glaube ich, das erste Mal diese, wie auch immer, also die Displays mit diesem P3 Farbraum veröffentlicht hat. Man sieht zumindest auch der Vorreiter oder die Vorreiter, die dann im Betriebssystem natürlich, aber auch im Safari Browser schon seit Ewigkeiten den größeren Farbraum unterstützen. Und jetzt so langsam tröppelt das nach im Chrome. Wie gesagt, erst glaube ich seit 111, aber lag nicht fest. Also jetzt noch nicht so lange, aber es ist jetzt da Safari schon seit 12 oder 11 oder sowas. Ist schon ein bisschen länger. Und der Vorteil von den größeren Farbräumen ist, dass die Farben… Mehr Farben. Mehr Farben, genau. Und dann eben Brillanter und Farben mehr Farben genau und dann eben brillanter undFarben dargestellt werden können, die aktuell nicht dargestellt werden können. Ich glaube, das geht hauptsächlich im grünen Spektrum. Das kann ich noch grüner als grün darstellen. Es ist ein bisschen schwierig für mich, mir das vorzustellen, weil bisher bewegt man sich halt in diesem SRGW Farbraum und wenn ich jetzt da das Grün komplett aufdrehe, ist es schwierig vorzustellen, was kann denn jetzt noch grüner sein? So, aber der Monitor kann das tatsächlich.
Und wenn man dann mal versucht, die Farbwerte gegenüberzustellen, also ein SRGW grün und dann ein voll aufgedrehtes, also es gibt eine Color Function in CSS jetzt, die farbraumunabhängig sagt, stell mir bitte das grünste Grün dar, was der Monitor darstellen kann. Und wenn du das gegenüberstellst, siehst du es ja okay, ist geil grün. Und dann will man eigentlich nicht mehr zurück.
Das will ich.
Nur machen.
Und andere Fun.
Fact ist, du.
Kannst auch weißer als weiß darstellen. Und dann sagen sie, ist das einecoole, ein cooler Anwendungsfall für, wenn ich einen QR Code auf dem Display darstellen möchte, im Browser. Also nativ ist es ja so, dass du sagen kannst, dem Telefon, irgendwie mach jetzt die Display Helligkeit hoch, aber im Browser kannst du es ja nicht, hast du keine API dafür, kannst aber dafür sagen, mach bitte das Weiß Weiß als Weiß und halt ein Schwarz und dann leuchtet es halt ein bisschen mehr oder kontrast es halt ein bisschen höher.
Und warum haben die sich nicht auf ein neues Modell geeinigt?
Weiß ich.
Auch nicht. Die behandeln alle das Ähnliche oder den gleichen neuen Farbraum oder gibt es auch noch Unterschiede?
Ich glaube, es gibt acht, neun oder zehn Farbräume, unterschiedliche. Keine Ahnung. Also warum der eine besser oder für was der verwendet wird, zahlen wir nicht auch raus.
So früher hat man immer erklärt, mit RGB kann man alle Farben abbilden.
Also wahrscheinlich war die Aussage sogar gar nicht so verkehrt, weil der Monitor ja auch nur erst RGB konnte. Und dann konntest du halt alle von dem Monitor abbilden.
Ja, aber damit, man hat nicht irgendwie im Studium so ausgerechnet, okay, diese, was ist das dann, 256 Hochdrei oder was? Nee. Ja. 16 Millionen Farben. Oder was sind das? Dass das alle sind, wie viele, wie viele Farben können das menschliche Auge denn sehen?
Das ist dann wahrscheinlich dieser, dieses komische Viereck mit dem, wo alle Farben drin sind, viele.
Viel, viel mehr als 16 Millionen.
Ich mache gerade hier, guck mal hin und her, guck mal drauf. Ich mache hier hin und her. Sag mir mal, welches das schlechte Grün ist. Sag Stopp, wenn ihr sagt, dass es das.
Schlechte Grün ist. Das ist das bessere.
Das ist schlecht. Das ist schlecht. Das ist besser.
Obwohl.
Ne. Ja, doch. Also richtig erkannt. Ich habe gerade parallel bei den einfach auf irgendeiner Website mal den Hintergrund mit dem P3, das ist der Farbraum, der richtig ist.
P3 ist der große.
Und da muss auch sagen, im Vergleich wirkt der RGB grün wert. Also wie so ein gelb grün? Das ist ein Faden. Das andere wirkt halt so wie richtig Giftgrün, so will ich nicht trinken. Das andere ist so, da haben wir noch ein bisschen Gelb beigemischt.
Krass. Verrückt.
Ja, ich.
Muss.
Auch sagen sorry, ich habe auch hier den gelben Modus an. Ich habe ja hier mein, das war jetzt auch nicht ganz fair, was ich hier gemacht habe. Ich habe ja immer mein Display auf dem Nightshift Modus.
Okay.
Ja gut, jetzt ist das Gelb ein bisschen weg, aber jetzt sieht man ganz klar, jetzt sieht man eindeutig das andere ist einfach so ein Abgeschwächtes.
Genau. Also dannJa, das ist ja auch so, wenn man es so gegenüberstellt, sieht man so, was ist eigentlich grün und grün?
Das heißt, wenn ich jetzt diesen Display P3, also das ist jetzt die Colorfunktion, Display P3 und habe grün auf voll gedreht, dann würde jetzt Fallback auf, was macht Lightning CSS? Ja. Lightning CSS macht dann Fallback auf RGB 250 bei Grün. Genau. Das hat mal jeder gelernt. Ja, schöner Ausflug.
Ansonsten in Lightning CSS, die können auch das entstandene CSS noch ein bisschen kleiner komprimieren, indem sie … Es gibt auch immer … Ich weiß nicht, ich kann Animation schreiben oder ich kann Animation minus Property Animation minus … Diese Zusammenfassungssachen irgendwie. Also da ist er ein bisschen smarter und macht das alles so. Okay, also ist jetzt nicht die Welt, aber kommt damit auch. Und der letzte Punkt, den diese neue Engine mit sich bringt oder was sie ganz gerne machen möchten, ist, dass sie die Konfiguration von Tailwind vereinfachen. Aktuell gibt es ja immer eine Tailwind Config. Js, wo dann drinsteht, wo findet Tailwind eigentlich die Dateien, die minifiziert werden sollen? Und wenn ich irgendwas erweitern möchte an den Themes, ich will eine Farbe hinzufügen oder so was, muss ich das da alles reinschreiben. Und das oder ich brauche auch immer eine CSS Datei, wo ich dann die verschiedenen Layer von Tailwind importiere. Und diesen ganzen Komplex müssten sie massiv vereinfachen, sodass ich im besten Fall überhaupt gar keine Konfigurationsdatei mehr brauche, weil sie den Content eben automatisch detekten. Dadurch, dass eben alles in, also auch von dieser Oxide Engine in REST sehr viel gerewitet wurde und REST eben alle Kerne des Prozesses auslasten kann, können sie eben sehr, sehr viel schneller die kompletten Verzeichnisse durchsuchen, wo liegen eigentlich deine CSS Dateien?
Also für den Fall, dass du es nicht angeben möchtest, würde sie das automatisch machen. Und sie haben beim Importen, wenn du Tailwind verwenden möchtest in deinem CSS, musst du nur noch schreiben @Import Tailwind. Css und nicht mehr @Import TailwindCSS/Reset/ Utility/ noch was. Und ja, also man, theoretisch könnte man es, Tailwind Konfig, weglöschen, wenn ich die Themes erweitern möchte, da sind sie sich noch nicht ganz klar, aber da möchten sie eine API anbieten, die alleine in CSS stattfindet, über vielleicht CSS Variablen oder sowas. Aber das ist, glaube ich, noch nicht ganz so fix. Jedenfalls klang das alles, Tailwind drei vier sehr Promising.
Um vielleicht noch mal den Begriff Konferenz ein bisschen zu relativieren, die Tailwind da gemacht hat. Das ist einfach.
Also ich finde es... Das ist nur eine Keynote.
Ja, es war eher ein Meetup. Das sind drei Agenda Punkte, opening Rezeption und Evening Social sind zwei Agenda Punkte, anderes einfach nur Keynote Präsentation.
Und es war begrenzt auf 150 Leute.
Und kostet 50 Dollar. Ja.
Aber.
Toll. Schon mal eine gute. Trotzdem gut. Gefällt mir. Ja, wir machen schon viel Cooles.
Bevor wir zu ChatGPT kommen, nur mal ganz kurz so. Man kann das wahrscheinlich gar nicht definieren, wie viel Farben wir sehen können.
Weil... Frag doch mal einen ChatGPD.
Weil das ist ja irgendwie, das muss ja irgendwie abgebildet werden und das ist ja nur...
Du meinst zu quantifizieren, also dass man es irgendwie. Dann müsstest du ja jeder Farbe irgendwie, aber wahrscheinlich doch, wahrscheinlich kann man es physikalisch irgendwie. Also einmal kannst du physikalisch sagen wahrscheinlich wie viele Frequenzen im Licht sind ja dann, wenn du Nachkommastellen. Oh je, sind viele.
1 Million to 10 Million Colors sagt TBT.
1 Million to 10 Million? Million. Million.
Million auch.
Und gut, wasDas sind 1 bis zehn Millionen?
Und wie kann... Sie sagen also, sie sagen also Sie. Sie Chattbty sagt RGB und sie sagen 100 Levels of each Primary Color. Also das macht keinen Sinn.
Na ja, gut, okay. Ich wollte schon sagen, ich meine, jetzt kommt es, wenn man den Durchschnitts Menschen, wir können wahrscheinlich nicht alles unterscheiden. Wenn du uns jetzt, also wenn du zwei Grüns nebeneinander legst, die einen Wert Unterschied im RGB Wert haben, können wir das wahrscheinlich nicht sehen.
Also eine Million wären 100 Werte pro RGB im RGB Raum so und sie sagen...
Und vielleicht gibt es Leute von uns, die besonders gut Farben erkennen können und es gibt welche, das wissen wir ja auf jeden Fall, die eine Schwäche haben, Farben.
Zu erkennen. How ever, somm people are get the people I can't think a small level. Und deswegen kommen sie auf 10 Millionen.
Also ich sage.
Jetzt mal, bei.
Einer Anzahl weiß ich nicht. Ich weiß nur, dass wir eben mit diesen Zäbchen und Stäbchen im Auge die ganzen Sachen wahrnehmen und die Zäbchen, ich weiß nichtglaube ich Faktor 10 weniger vertreten sind in den Nervenzellen. Und es davon, glaube ich, dann auch für jede Farbe ein Spezielles gibt oder so. Und das ist zumindest auch die Grundlage für die JPEG Kompression ist, weil da ja viermal so wenig Farben drin sind wie im eigentlichen Bild.
Hauptsache wir haben P3.
Ist das im Heik Format, Hei, I, C? Wofür steht das nochmal? Ist doch egal.
Kompression von Apple.
Ist das auch so? High Image Compression Format?
Werden auch die Farben reduziert?
Das.
Ist auch High Efficienc wahrscheinlich, Heik? Auch.
Da ist bestimmt auch so eine, wie heißt das, Foyer Transformation?
Ach, Sebi, was wird dir alles entlocken können?
Wir sollten einfach so einen Farb Podcast machen. Nicht nur so dieses App und Web entwicklen.
Gleich nach dem.
Wetter Podcast. Farb und Wetter Podcast. Von den interessanten Teilen dieser Folge bisher.
Chatschy PichyJa.
Kann man eigentlich dann schnell machen. Hat mehrere Farben introduct, gibt es auch grün und rot.
Aber die unsere schlauen Zuhörer dürfen auch gerne mich korrigieren. Also ich bin das auch alles nur so, was irgendwann mal irgendwo hängengeblieben ist, Halbwissen. Von daher ich bin da kein Farbexperte.
Ja, aber eigentlich kann man schnell machen. Also GPS 4 als API ist jetzt verfügbar, das 8K Modell für jeden Pro User, der bis zu dem Zeitpunkt, ne, das ist nicht Pro, ne Plus heißt es. Der Plus User ist bis zu diesem Zeitpunkt, wo das Announcment kam, also das war jetzt irgendwie 6. Juli oder sowas. Und bis Ende des Monats soll jeder, der dann Plus hat, auch Zugriff haben darauf, weil sie haben es so leicht gegatet, so jeder, der bisher Plus hat, dass halt jetzt nicht der Run darauf so riesig ist. Und dann, also bisher wie gesagt, 8K Windows, 32K Windows soll auch kommen. In dem Zuge haben sie auch einige der alten Modelle deprecated, und haben auch im gleichen Atemzug jetzt die... Wie heißt nochmal die? Den Code Interpreter für jeden freigeschaltet. Habe ich vorhin dann mit dem Sebi auch schon mal ein bisschen rumprobiert, also dass man jetzt direkt Code im Interface ausführen kann, was auf jeden Fall echt ganz cool ist.
Aber ich fand das auch mega cool, dass ich das gelesen habt, weil der kann ja Graphen malen, also Zeug irgendwie machen, Daten analysieren. Und dann stand ich da vor und wollte irgendwie was. Was war euer Beispiel? Weil ich saß da und.
Ich habe eins gemacht, ich hatte letzte Woche angefangen, dafür hatte ich auch schon ChatGPT genutzt, mir so ein bisschen Base Code erstellen zu lassen. Ich hatte probiert, für eins unserer neuen Games eine Dauerentwicklung, also Daily Active Userentwicklung zu modellieren und habe als Inputwerte sozusagen gesagt, hier sind ein paar Retentionwerte unserer User. Hier ist so ungefähr eine Zahl an täglichen neuen Usern, die einfach so reinkommen, plus das sind Entwicklungswerte von Social Invites, also jeder User, derrein kommt, lädt nach Tag eins, sieben und so weiter ungefähr so und so viele User noch dazu ein und habe probiert zu modellieren, wie ist ein Dauerverlauf auf Basis der gegebenen Retentionwerte bzw. Dass ich es verändern kann. Und da war es dann letzte Woche so, dass ich halt immer mein Workflow war, weil ich bin nicht der größte Python Experte, sage ich okay, lass mal GPS einfach mal so ein Grundgerüst schreiben. Das war dann auf jeden Fall alles nicht richtig, aber ich konnte es als Grundgerüst nehmen, mich so ein bisschen zu orientieren und dann das in die richtigen Richtung zu dehnen und dann per Jupyter Notebook mir dann Graphen dafür ausgeben zu lassen, zu visualisieren okay, wie ist Dauerentwicklungund so, weil es dann meistens so ein Vor und Zurück war, so passt das ungefähr so, und dann darauf basierend den Code angepasst.
Und jetzt war es wirklich cool, dass ich eigentlich dieses Zurück und Vor eigentlich gar nicht brauchte, sondern ich habe GPS4 einfach genau das gesagt, so hey, ich möchte Dauerentwicklung machen, das sind die Inputparameter, hat sie mir vorgeschlagen, okay, ich nehme jetzt einfach mal diese Retentionwerte an, willst du andere geben? Habe ich die anderen gegeben, dann habe ich gesagt, und fühl mich bitte Step by Step durch und zeig mir Graphen davon. Und dann war es halt wirklich so, eigentlich den Code, der vorher auch ausgegeben wurde, wurde halt ausgeführt. In dem Fall hat sie mir dann die Dauerentwicklungs Graphen gegeben. Dann habe ich gesehen: Okay, beim ersten, was da modelliert wurde, macht noch keinen Sinn so. Hab dann gefragt, warum ist da in dem Graphen, warum geht es da an den Stellen immer runter? Und dann sagt sie: Ah ja sorry, entschuldigt dir, tut mir leid, Freund. Das mache ich besser. Kriege ich besser hin. Und es war wirklich cool, dass ich diesen ganzen Flow, ich meine, ich kam jetzt am Ende bei einem Ergebnis an, wo ich immer noch weiß, das und das ist falsch im Code, aber es hat auf jeden Fall, ich kam super nah ran ans Ergebnis, müsste jetzt sozusagen das echt nur noch mal rausnehmen, Jupyter Notebook und so ein paar Anpassungen machen.
Aber bin einfach viel weitergekommen, ohne das Interface überhaupt verlassen zu müssen. Aber es war halt auch ein Beispiel mit den Graphen. Das war echt cool so. Also der Code ausgeführt, immer die Graphen direkt, hat selbst Fehler ausgegeben, die irgendwie im Code waren. Und das war schon ein ganz, ganz cooler Flow. Also ich weiß nicht, wie viele andere Use Cases mir jetzt aus dem Stehgreif eingefallen wären, aber das war wirklich eine, die ich letzte Woche eh gemacht habe und schon den Unterschied kannte. Ich habe wie gesagt letzte Woche auch schon ChatGPT dafür genutzt, die Basis zu machen und das war schon nice mit dem Code Interpreter. Von daher jetzt für jeden mit Plus Account verfügbar.
Sehr gut. Okay, ein Satz noch zur Verfügbarkeit. Da ist Google irgendwie auch wenn sie später geschwartet haben, ein bisschen schneller. In Vertex AI ist jetzt das Chat PAM 2 Modell unter General Availability. Und bei Google heißt es ja auch immer, dass da direkt auch schon SLA und sowas dabei ist. Also das ist dann schneller und stabiler verfügbar, als glaube ich vieles von Open AI aktuell noch verfügbar ist.
Ja, PAM 2.
Gut, letzte Service Meldung, falls ihr es noch nicht mitbekommen haben solltet. Es gibt ein neues, einen neuen Twitter, eine neue Twitter Alternative von Meta und zwar nennt die sich Threats. Ist ein bisschen in das Instagram Universum angebaut. Das heißt, man nutzt einfach sein Instagram Account, dort sich einzuloggen. Und das hat vermutlich einer der Gründe, warum es ChatGPT als schnellstwachsende, wachsendste Onlineplattform abgelöst hat, nachdem man noch gesagt hat: Wow, wie konnte ChatGPT so kurzer Zeit so viele Millionen User haben, ist Threats jetzt bei 100 Millionen Usern innerhalb von zehn Tagen. Und ich glaube, da hat ChatGPT auch irgendwie noch sechs Wochen gebraucht oder so.
Klassische Influencer, muss ich sagen.
Also... Obwohl sie Europa rausgenommen hat. Genau das ist noch das Ding, wenn ihr es versucht, Europa ist raus und es kann sogar sein, also es ist jetzt nicht gerade so absehbar, dass das jetzt nach Europa kommt, sondern Meta sagt, es kann durchaus sein, dass die Datenregulatorien, die es einfach gibt, gegen unser Businessmodell sind, also wir damit nicht erfolgreich sein können in Europa und von daher uns vielleicht da komplett raushalten.
Das Hauptziel ist ja Digital Markets Act, das ja irgendwie für die großen Social Media Plattformen im Endeffekt Einschränkungen gibt und die nicht unterliegen wollen da in dem Fall.
Genau. Und da geht es ganz grob darum, Daten nach Amerika zu senden. Also das müsste dann, müsste dann halt hier irgendwie eine Infrastruktur sein und dürfte nicht verknüpft sein mit den anderen.
Ich weiß nicht Digital Markets Act nicht genau, auf jeden Fall, dass sie einigen Dingen unterliegen. Also auf jeden Fall auch Audits und sowas, wenn sie, wenn sie sozusagen klassifiziert sind als so etwas. Und ich glaube, es hängt an Userzahlen und die haben sie, glaube ich, mittlerweile wahrscheinlich schon überschritten. Aber ja, sollten wir vielleicht noch mal, vielleicht macht unser Richard uns noch mal eine Zusammenfassung über ein Digital Markets Act, was da, was da genau drin steckt. Aber falls man trotzdem daran interessiert ist, ich glaube, man muss einfach noch mal Threats Europa googeln und so und es gibt die, gibt auf jeden Fall Links, wo man rankommt, auch als iOS User.
Ja und genau für VPN funktioniert es glaube ich auch. Könnt ihr nachsuchen. Gut, gut. Feedback zu dieser Folge über unsere Website Programmier. Bar oder ein Podcast der Programmier Bar. Wenn ihr euch mit Wetter auskennt oder mit Farben, schreibt uns gerne und korrigiert uns, was wir heute alles falsch gemacht haben. Wir wünschen euch eine schöne Woche nächste Woche wieder AI News in dieser Runde in zwei Wochen wieder. Vielen Dank und bis bald.
Bis.
Dann. Tschüss. Macht's gut. Ciao.