V8 JSON.stringify // Type-Aware OxLint // Cursor Preis-Updates // CSS Functions
- // Podcast
- // News 34/25
Shownotes
Die „programmier.con 2025 - Web & AI Edition“ findet am 29. und 30. Oktober 2025 statt. Sichert euch jetzt Tickets für die Konferenz auf unserer Webseite!
Die News dieser Woche:
Im V8-Engine-Team hat sich einiges getan: Eine neue Implementierung von JSON.stringify() verspricht bessere Performance. Fabi zeigt uns, wie das funktioniert und wie viel Aufwand das im Hintergrund war.
Auch bei Oxlint gibt es Neuigkeiten: Mit dem Update auf type-aware Linting wird der Codecheck nochmal eine ganze Ecke schneller. Garrelt erläutert, wie sie das geschafft haben.
Außerdem spricht Dennis über Cursor, denn dort hat sich das Preismodell geändert. Wir ordnen ein, was das konkret bedeutet und wie sich die Preise entwickeln.
Zum Schluss widmet sich Dave dem neuen CSS-Feature: Funktionen, die für mehr Flexibilität im Styling sorgen. Wir werfen einen Blick auf die Syntax und diskutieren, ob so ein Feature in CSS sinnvoll ist.
Verpasst auch nicht unser nächstes Meetup zum Thema „Security in Games“ am 11. September 2025!
- Dennis
- Hallo und herzlich willkommen zu 1 neuen News Folge. Wir befinden uns in Kalenderwoche 34. Ich bin wieder zurück aus dem Urlaub. Ich bin Dennis und wir haben im Studio neben mir auf dem Sofa sitzen, Dave Acker. Dave Brzeszky, hallo. Und noch einen Sitz weiter.
- Garrelt
- Garet, Mock. Ohne Zwischennamen Mock. Mock. Können wir mal hinaus ausdenken, find ich.
- Dennis
- Und remote uns zugeschaltet.
- Fabi
- Der Fabi Fink Hello.
- Garrelt
- Und der Mensch Sprecher Dennis Becker.
- Dave
- Ach so, hatten wir aber schon, ne?
- Dennis
- Ja, ich hab aber Der Wert
- Fabi
- voll der Name, ich
- Dennis
- hab jetzt nach
- Dave
- Dennis Becker, der schon
- Dennis
- wieder so lange her. Hast Du
- Dave
- 'n zweiten Namen? Nee, ne?
- Dennis
- Nein, Alter.
- Fabi
- So, ich find Julian würde ich, würde ich Julia nennen.
- Dave
- Julian passt, genau passt wirklich aus, den Juli. Aber ich find auch so, 'n weiblicher Zweitnamen passt so Dennis Josefine. Jacqueline. Dennis
- Fabi
- Jack. Dennis Maria Becker.
- Garrelt
- Maria ist cool, jeder Maria ist.
- Dave
- Maria passt zu jedem an, dass er zu einfach war. Fabi Maria. Fuck, pink. Also stimmt das. Hat die Literatur gekriegt? Fabi Fink, Fabi, nee.
- Fabi
- Die Marias.
- Dave
- Fabi Felix, Fink.
- Garrelt
- Fabienne. Fabienne. Okay, jetzt haben wir's. Jetzt. Ich hab noch kein Jetzt.
- Fabi
- Gut. Ja, Du kriegst doch keinen.
- Dennis
- Ja, gut.
- Fabi
- Und ich verdiene.
- Dennis
- Wir sprechen heute unter anderem über neue Pricing Modelle im AI Space. Dann haben wir einiges aus der JavaScript Welt. Einmal von V8, dass sie da was verbessert haben in der Engine. Und Gerald, ich weiß gar nicht, ob ich mich damit jetzt außer, dass es dass ich eigentlich überhaupt gar nicht genau weiß, was es alles ist. Also was der JavaScript oxidation Compiler ist und ox und so muss man das kennen oder ist es egal?
- Garrelt
- Was meinst Du damit? Was muss man davon kennen?
- Dennis
- Muss ich Ox kennen?
- Garrelt
- Also mittlerweile schon, ja. Okay.
- Dennis
- Waren das noch mal neu.
- Garrelt
- Wir sprechen wir sprechen danach. Also Okay,
- Dennis
- aber es geht auf jeden Fall, da gibt's was Oxlink typeware nennt sich das und da redet Karel gleich drüber. Stimmt. Sehr gut. Dann fangen wir doch mal an mit Barbie. Was gibt's da? Javascape mäßig?
- Fabi
- Das V8 Team hat Gas gegeben und zwar hat es Jason Stringify, unser allerliebst Methode als Entwickler im JavaScript Ökosystem, mehr als doppelt so schnell gemacht. Und ich fand diesen ganzen Artikel so, wie weit man geht, irgendwie diese diese Funktionen so viel besser zu machen, find ich auf jeden Fall superinteressant. Also Sie haben 'n Blogbeitrag geschrieben jetzt vor 2 Wochen, was Sie genau alles getan haben, Json Stringify schneller zu machen und in welchen Fällen es auch schneller ist. Und das ist auf jeden Fall definitiv sehr interessant. So grundsätzlich ist es so, dass sie, also sie haben 'n paar Benchmarks drangehängt, so wo sie gezeigt haben, dass es doppelt so schnell und schneller geworden ist, aber eben nur in bestimmten Fällen so. Aber Grund also oder grundsätzlich ist alles schneller geworden, aber nur in einigen Fällen ist es auch wirklich doppelt so schnell geworden. Und zwar unterhalten sich darüber, dass es halt bestimmte Limitierungen gibt, wo sie's dann nicht schneller machen können, so. Die grundlegende Sache ist, dass sie, es im Endeffekt 2 Implementierungen des der Seralisierung gibt, so. Weil sie sagen, in in V8 gibt es entweder eine Stringrepräsentierung, die ein Bit oder 2 Bit, 2 weit groß ist. Und das hängt davon ab, ob man nur Askie Charakter benutzt. Also solltet ihr nur Askie Charakter benutzen, nur Askie Zeichen, dann kann ein String ein Byte groß sein. Und das ist sozusagen der erst mal der schnellstmögliche Seralisierung von Jason, die man nutzen kann. Das heißt sobald ihr irgendwelche Special Cases wie Emojis, also wenn ihr Bock drauf habt Emojis in euren Jasons drin zu haben, dann seid ihr direkt auf dem langsameren Pfad so, also eben nicht mehr die 1 weitere Repräsentierung, sondern die 2 weitere Repräsentierung ist. Und aber erst mal grundsätzlich interessant, dass Sie sagen, Sie müssen 2 Implementierungen vorhalten sozusagen. Also Sie ist sozusagen 'n leichter Memory Overhead, aber Sie sagen, die Performance macht es wieder wett, weil Sie halt sagen müssen, Sie müssen halt nicht die ganze Zeit in dem Ser Realisierung machen, so was ist es jetzt grade, sondern können immer noch drüber ausgeben. Wenn das Ganze jetzt hier einen one Byte String ist, dann können sie die sehr viel schnellere Implementierung wählen. Und ansonsten gibt's auch einige Dinge, die sozusagen Seiteneffekte erzeugen, wo Sie sagen, dann können Sie diese schnelle Implementierung von JSON String gefallen nicht benutzen. Zum Beispiel keine constrings, also wenn man wenn ihr irgendwie Strings habt, die ihr konkatheniert, also String a plus String b macht, funktioniert es nicht. Wenn ihr irgendwie irgendwelche Objekte mit mit Zahlen als Kies habt, funktioniert es nicht. Und grundsätzlich schauen sie sich, machen sie das so, dass sie, war mir auch vorher gar nicht bewusst, dass es in V8 das Konzept von hidden classes gibt, also dass sie im Endeffekt jegliche jegliche Objekte, die irgendwie erzeugt, hinten dran noch mal Klassen erzeugen, sie sozusagen performanter in Memory ablegen zu können. Also sie sie schauen sozusagen, wie genau ist das Objekt aufgebaut, sozusagen gleiche Objekte zu finden und besser in Memory ablegen zu können. Und in diesen hidden classers gibt es dann pro property, die an so einem Objekt hängt, ein neues einen neuen Key, der sozusagen sagt, ist das, wie wie haben Sie's genau genannt, also sowas wie fast passable so oder nee, hier Fast JSON Itribble. Das heißt, Sie haben für jeden Key einfach direkt schon hinterlegt, so ist das möglich, dass wir das sehr schnell machen können so? Und dann können Sie können Sie im Endeffekt den One Byte Serialierer nehmen und das direkt kopieren. Und ich glaub, das Letzte, was Sie dazu auch noch gemacht haben, ist, dass Sie es optimiert haben, wie eine Number zu einem String gepast wird. Also dass selbst da Es gibt sehr viel implementieren, weil es wohl gar nicht so einfach ist, eine Number zu einem String zu konvertieren, gibt es verschiedenste Implementierungen. Dafür gibt's auch einige Paper und so und sie haben jetzt auf eine neue Implementierung gesetzt und zwar sind sie von der Grieso vom Grieso 3 Algorithmus auf den Dragonbox Algorithmus. Ja, das
- Dave
- klingt so fancy, geil. Drag. Jetzt hab ich euch wieder, oder? Ja,
- Garrelt
- Drag. Leider.
- Fabi
- Und sie sagen aber, das hat sogar noch mehrere Vorteile, und zwar wenn ihr irgendwie auf dem Number Prototyp to String aufruft, ist das halt jetzt auch schneller, also nicht nur für Jason. Also einfach wirklich, also es ist schon krass, wenn man sich diesen Artikel einfach mal durchliest, so was sie dafür tun. Und ich find's auch so interessant, das war mir auch gar nicht bewusst, es gibt bestimmte Fälle, wo, wenn ihr ein Objekt in JavaScript initialisiert, dass es schneller ist, wenn ihr das Objekt json dot par mit json dot pars initialisiert, also wenn ihr einfach sagt und dann irgendein Objekt reingibt, was 2 Properties hat, ist das unter Umständen schneller, als wenn ihr's wirklich in JavaScript Notationen macht, weil Jason Pass so sehr optimiert ist, wo sie sagen, es kann zum Beispiel einen Performance Impact haben, wenn ihr Start up Zeiten auf eurer Webseite sagt, ihr habt irgendwie 'n Konfigurationsobjekt, was irgendwie definiert werden muss, woraus der Applikationsstat sicher begibt, dass es schneller sein kann, dass ihr das mit Json Pass macht, als in Javascript zu schreiben.
- Garrelt
- Ja, weil sie da bestimmte Checks dann oder so nicht machen müssen.
- Fabi
- Ja, weil also weil's auch, vielleicht liegt's auch daran, dass Json nur bestimmte Typen sozusagen hat, also Javaskripte sehr viel mehr irgendwie Typen kennt, irgendwie viel mehr Dinge tun muss so, dadurch dass Jason halt nur mit Number Strings und boodiens vielleicht umgehen muss oder so. Aber dass das wirklich so sehr optimiert ist, dass das schneller sein kann, was irgendwie erst mal weird ist, wenn man das irgendwie liest.
- Garrelt
- Aber jetzt durch die Änderung wahrscheinlich erst mal
- Fabi
- Nee, das war, glaub ich, auch schon vorher. Krass. Also das war auch schon vorher so. Krass. Und jetzt, das heißt jetzt noch schneller. Also solltet ihr, sollte das ein Anwendungsfall sein bei euch, so Start up Zeiten wegen sehr großem Konfigurationsejekt. Nutzt Jason. Und man kann jetzt auch sehr viel tiefere Objekte Jason String affin, also wie viele Levels es runtergeht. Sie haben irgendwie, ich hab son Livestream geguckt von Theo, dem Youtuber, wo Sie das live gecheckt haben und vorher ging's wohl bis zu 4000 Levels deep so. Also Du können 'n Objekt mit 4000 Abzweigungen sozusagen erzeugen und dann ist Jason das Stringing für einen die Grenzen gestoßen und jetzt geht's noch mehr. Endlich je nach Hause?
- Dave
- Endlich. Endlich. 4001?
- Fabi
- Ich weiß nicht, das haben Sie nicht so dieser endlich, das, ich weiß gar nicht jetzt, ich hab ehrlicherweise auch gar nicht nachgeguckt, in welcher
- Garrelt
- Das haben Sie ja offen gelassen damit Theo noch 'n Video machen können. Das ist
- Fabi
- Genau, in welcher V-A-Version das dann jetzt kommt. Aber also im Blogbeitrag verlinken wir mal Jason Stringify doppelt so schnell.
- Dave
- Das macht den Inhalt
- Fabi
- auf jeden Fall schneller.
- Garrelt
- Ja, ist geil.
- Fabi
- Wirklich verrückt, wenn man da mal durchgeht, so was hier auch so son Assembly geschrieben haben, das irgendwie alles zu machen. Also es ist schon crazy, dass das Entwickler sind, die da einfach, denen die Aufgabe sind, sozusagen Jason Stringify und Jason Past für uns schneller zu machen und echt komplexe Probleme dabei lösen müssen.
- Dave
- Ja, ich find das auch schon sehr, sehr beachtlich. Ich, es gibt ja auch diesen Youtuber The Primetime, The Prime Agen oder so irgendwie. Der hat auch mal da erzählt, dass er bei, der hat ja bei Netflix gearbeitet und dass die da Wochen oder Monate dran waren, irgendwie auch nur diesen, also bis Du halt wirklich Videos sehen kannst, irgendwie 0.5 Sekunden zu reduzieren. Das war son voller Erfolg für die, über so Woche, Monate. Ich find das allein so krank, wenn Du dich damit so lange beschäftigst, wild.
- Dennis
- Ja, man muss halt nur genug skalieren, dann lohnt sich das ja.
- Dave
- Ja, ja, klar.
- Dennis
- Ja. Okay, keine Meinungsrunde direkt. Wie lange sind nur menschliche Entwickler*innen in der Lage, solche Verbesserungen zu machen und wann kann man AI so was vorwerfen? Und die können solche Komplexität runterbrechen, so was schneller zu machen.
- Dave
- Dave, Was kommt? Ja. Das geht jetzt schon, oder? Okay.
- Dennis
- Garald Es
- Garrelt
- kommt aus Problem an, so. Also es kommt aufs Problem an. Fabi,
- Fabi
- wenn die Schritte von gpt 4 zu gpt 5 ungefähr so weitergehen, dann nie.
- Garrelt
- Okay, ja, das ist eine klare Meinung. Dennis?
- Dennis
- Oh. Ja, ich weiß ehrlich gesagt nicht, weil ich frag mich
- Fabi
- Ach so,
- Dave
- ach, Alter.
- Fabi
- Beeindruckend. Weiß ich.
- Dave
- Gut, nächstes Thema.
- Fabi
- Dachte, Du löst es jetzt auf jeden Fall, oder jetzt mach's.
- Dennis
- Ich weiß nicht, was ich denken soll.
- Garrelt
- Ach so,
- Dennis
- Denn ja, ich weiß nicht genau, wie man das darauf ansetzen könnte, weißt Du, im Moment ist ja immer AI noch so getrieben, dass man irgendwie sein Problem formuliert und sagt und ne und ob Im aktuellen Freiraum würde ich mal sagen, wenn Du dem sagst, so macht das mal schneller, würde wahrscheinlich nicht diese Lösung rauskommen, So. Dafür ist es auf zu vielen Ebenen, auf zu vielen, zu tief in irgendwelchen Sachen drin.
- Garrelt
- Ach, ich denke mal, dass
- Dennis
- 3 Jahre. 3 Jahre.
- Dave
- Alter. Das könnte
- Garrelt
- ich mir jetzt auch vorstellen.
- Dave
- Guter Wert. Ich weiß nicht, irgendwie, also ich sympathisiere gerade mit 3 Jahren. Ja, ich revier dir meine Aussage. Ich sag auch, ich sag dreieinhalb Jahre.
- Dennis
- Okay. Gut. Dann machen wir vielleicht mal ganz kurz hier, weil wir 2 interne Neuigkeiten noch haben, die wir gerne heute mit euch teilen möchten. Machen wir eine mal zwischendurch und zwar unser nächstes Meet-up. Wow. Das können wir direkt ankündigen, einen Tag nach meinem Geburtstag, am elften September.
- Dave
- Oh, ich wollt grad zwölfter August sagen.
- Dennis
- Einen Tag vorher dann. Also,
- Dave
- also 11 8 minus ein, ja. Ja, ja, okay. Es ist Zehnter. Zehnter. Zehnter. Zehnter. September.
- Dennis
- Das kannst dir, kann man mit meinem Geburtstag was anfangen? Ah, ich bin immer datenschutzmäßig. Ach komm. Wieso. Ja, sonst teil ich hier noch, wie gut man sich meinen Geburtstag Das
- Dave
- ist wirklich supereinfach.
- Garrelt
- Ja, komm. Geburtstag, da bin ich
- Dave
- geboren worden. Also Dennis ist am zehnten September geboren geboren.
- Garrelt
- 19 und
- Dave
- das ist das, erwarte wir, genau.
- Garrelt
- 10.
- Dave
- Ganz genau, nein, aber also 10 9 8 7. Deswegen neunzehnhundertsiebenundachtzig ist dann also Ja, ja. Super einfach, ja. Das gute Ederzebrücke. Checkt.
- Dennis
- Sehr gut. Aber am elften September, das Datum kann man sich leider auch ganz gut merken. Warum? Seit 2001.
- Dave
- Da bin ich, da wurde ich, da war ich noch nicht auf der Welt.
- Dennis
- Seit 2000. Wer sagt das nicht? Okay. Wir, egal, wir haben den Vortrag Security in Games mit Philipp Klostermeier. Ja, der Titel. Haben wir eigentlich schon festgelegt, ob's Grill, ob es was von Grill gibt oder ist es noch in der Saison?
- Garrelt
- Es sieht danach aus.
- Dennis
- Es sieht danach aus. Also vermutlich ist es wieder eine Grill Session, wenn das Wetter mitspielt und es doch einigermaßen schön ist draußen. Kommt gerne vorbei, meldet euch an über Meet at dot com oder über einen Link auf unserer Webseite.
- Dave
- Von Bar. Insbesondere insbesondere für Dark Souls Fans ist das wahrscheinlich sehr spannend.
- Garrelt
- Was war's denn mal?
- Dave
- Kommt das Bike. Auch.
- Garrelt
- Ist es das, was Also wir haben, Dave und ich haben den Vortrag schon gesehen bei unserer Recherche. Recherche. Und es war cool. Es war superspannend. Also überraschend. Schön, dass man da so viel wiedererkannt hat von dem, was man hier schon kennt. Mhm. Und dann noch mehr erfahren hat.
- Dave
- Ja. Also sehr guter Vortrag, sehr gutes Thema.
- Garrelt
- Ja, kommt vorbei. Es lohnt sich.
- Dennis
- Kennen wahrscheinlich die Drinks?
- Dave
- Du kennst die Drinks noch.
- Dennis
- Machen wir noch. 2 neue Drinks aus der Programmyva Cocktailjacke.
- Garrelt
- Oh, sehr gespannt, aber wie dieser coole Namen ausdenken.
- Dave
- Na ja,
- Dennis
- wir haben die ja schon. Wir haben
- Dave
- die ja schon.
- Dennis
- Ist ja alles schon
- Garrelt
- Du sagst schon, neue Drinks.
- Dave
- Ja, neue Drinks. Die Leute, die's noch nicht
- Dennis
- live gab.
- Garrelt
- Ja, aber haben wir ja schon. Habtastet haben. Die Namen habt ihr euch aber bestimmt selbst überlegt, oder?
- Fabi
- Ja. Klar. Wirklich?
- Garrelt
- Ja. Ja.
- Dennis
- Gut. Machen wir weiter. Ach komm, wir bleiben im Ihr JavaScript Ding.
- Garrelt
- Damit meint er mich. Ochs. Ochs. Da Du, Dennis, schon gesagt hast, dass Du eine Intro möchtest, geborene ich dir eine ganz kurze Intro. Also ist ein Projekt, was von V-Zero ins Leben gerufen wurde oder von, sorry, nicht V-Zero. VoiceZero. Sagt dir das was, Dennis? Ja. Okay. Dann geh ich da nicht weiter drauf ein. Und zwar ist das Ziel von geh ich doch 'n bisschen drauf ein, dass sie das Javascript Tooling so alles 'n bisschen näher zusammenbringen wollen und ja, man so einen Anlaufpunkt hat, ja, so eine ganze Pipeline für son Projekt irgendwie abzubilden. Und dieser soll da eben den, den, den Resolver, Transformer, Vormeta, Minifier und so weiter alles mitbringen. Alles in einem Bundle, sodass man praktisch an eine Stelle geht und nicht an x stellen, dass Du nicht und was auch immer brauchst, sondern am Ende soll UXC UXC das alles abwenden abbilden. Alter, was ist los heute? Und eben ein Teil davon ist der Linter. Also sie wollen einen neuen Linter bauen. Und zwar ist Oxy auch alles in geschrieben, was ja alles schneller macht. Und sie haben schon einen ISlinter, der zu bis 50, 50 bis hundertmal schneller ist als normal, also bekannte ISlinter. Und sie haben jetzt eben auch type Skript, also type aware linting mit reingebracht, also linther für type Skript. Auch da praktisch ist eine Sache, dass es deutlich schneller ist als die linther, die es momentan gibt. Also es gibt den minus IS Lind, der ist aber bekanntermaßen bekanntermaßen relativ langsam. Und das Spannende daran ist, wie sie das geschafft haben, das schneller zu machen. Weil ein Einsatz ist und was viele machen, einen neuen Linder für typecript schreiben, also das Ganze noch mal neu aufsetzen, was irgendwie interessant ist, aber auch sehr viel Arbeit birgt. Und sie haben auch darüber gesprochen, haben gesagt, das wollen sie nicht machen, weil typecript einfach sich so schnell entwickelt,
- Dave
- dass
- Garrelt
- das doof ist. Und was sie dann gemacht haben, ist, dass sie type Skript, also dieses type Skript Go Projekt, was von type Skript kommt, nutzen wollten. Ich weiß nicht, darüber haben wir auch schon mal berichtet. Ich glaub, das muss ich jetzt noch mal Das hast
- Dave
- Du, glaub ich, erwähnt. Ich hab sogar letzte News vorgenommen noch mal drüber geredet.
- Dennis
- Nein. Also,
- Garrelt
- ja. Okay. Dann ist das bekannt. Und da gab's aber 2 Probleme. Einmal Oexi oder Oex Lind ist alles in was geschrieben. Go. Also das schon mal irgendwie eine schwierige Überschneidung. Und ein anderes Problem, was typeCope Go grade noch hat, ist, dass es keine gibt. Das heißt, Du kannst es zwar nutzen, dein Projekt zu kombinieren, aber Du kannst eben nicht andere Software darauf aufbauen. Normalerweise, was sie dann aber gemacht haben, ist, dass sie sogenannte Shims erstellt haben, die zu nutzen. Also sie haben praktisch eine auf dieses auf diese Software draufgesetzt und nutzen das dann in ihrem. Und wie genau sieht das aus? Sie haben also noch eine Software geschrieben, die eine ermöglicht, die ist aber auch 'n Go, weil hab's go auch 'n Go ist. Und das nutzen sie dann als Backend für ihren Linter. Also der normale Linter und alles, was so die Regelerstellung, das Anzeigen der der Ausgaben und so angeht, das macht alles immer noch Ojeslind, was in was geschrieben ist. Und sie haben dann, bringen dann aber eine zweite mit, die dann dieses Linting in Tabskip machen kann. Da schicken sie dann einfach nur rein, guck mal, hier ist der Code. Hier sind die Regeln, gib mir mal deine Diagnosen raus. Und Uix Lindh nimmt dann diesen Output und zeigt das deinem User. Und das ist also wie son Backend, was sie mitbringen, zu machen. Und also ist 'n lustiges Konstrukt. Sie sagen auch selber, dass das eigentlich so nicht der beste Weg ist, aber es scheint wohl sehr stabil zu sein. Sie wollen aber auch darauf warten oder sagen auch, dass sie hoffen, dass es noch eine gegeben wird
- Dave
- Genau.
- Garrelt
- Von Hypes go go. Aber das ist ja auch, soweit ich weiß, immer noch son bisschen in der Experimentierphase.
- Dennis
- Mhm.
- Garrelt
- Ja, aber damit bringen Sie ein sehr, sehr schnelles Type mit. Und
- Fabi
- Sie sagen aber auch trotzdem, dass man's schon nutzen kann in Projekten, ne. Das ist nicht irgendwie nur so
- Dave
- Mhm.
- Fabi
- Okay.
- Dennis
- Ja.
- Garrelt
- Es gibt, es gab noch Dinge, die ich sagen wollte, aber das war auf jeden Fall das Wichtigste und das, was man dabei wissen sollte. Und ich bin mal gespannt. Ich bin auch mal gespannt, wann wir uns zum Beispiel entscheiden, das Projekt zu nutzen, anstatt das was, also wir benutzen ja noch diese ganze, das ganze alte Tooling. Aber an sich klingt das so, als würd es Sinn ergeben, schon zu wechseln. Wird mir das eigentlich
- Fabi
- Auf der Seite. Frage zu was kannst Du sehen.
- Dave
- Ja, das ist echt eine gute Frage.
- Garrelt
- Stimmt, Du hast recht. Sie sagen, dass es noch Performanceprobleme bei sehr, sehr großen Projekten gibt. Das müssen sie auch noch fixen. Also dieses ist noch nicht in soner 1 Punkt 0 Version, obwohl Uix Lind eigentlich schon eine wie, also eine 1 Punkt 0 Version ist. Aber sie haben doch schon noch 'n paar Probleme zu lösen. Und am Ende hoffen sie halt auch darauf, dass sie, ja, dass am Ende nicht diesen Umweg gehen müssen mit den Shims. Kann nicht erst, Shims hatten mir vorher nichts gesagt und das find ich auch irgendwie komisch. Nur
- Fabi
- als Begriff, aber ehrlicherweise hätt ich dir nicht sagen können, wofür man's nutzt.
- Garrelt
- Ich hab das so verstanden, dass es im Prinzip wie 'n Adapter auf eine andere API. Also wenn Du eine API hast, die aber nicht mit deiner Software irgendwie funktioniert, dann baust Du halt 'n Schirm, das ist wie son Adapter, der den die API ändert sozusagen, also bisschen anpasst auf das, was Du brauchst. So hab ich, ist verstanden, aber so,
- Dennis
- ich kann's zwar
- Garrelt
- auch nicht sagen.
- Dave
- Wie wird das geschrieben? Also
- Garrelt
- SHIMS. Man sagt doch, schimming. So, scheißbrot.
- Dennis
- Gefällt bestimmt cool hast Du dir das so ein.
- Dave
- Unterlegscheiben heißt das auf Deutsch.
- Garrelt
- So, ich glaub, ich hab's sehr, sehr lang gelabert. Sorry, aber das war eine krasse Herleitung irgendwie. Lange
- Fabi
- Danke, geil. Bitte.
- Dave
- Nice.
- Dennis
- Dann kommen wir zu Dave. Nein, machen wir gar nicht.
- Dave
- Wie ich wollt schon sagen? Ah. Irgendwie das, ja, das wär
- Dennis
- ja komisch gewesen jetzt.
- Dave
- Ja, genau. Das wär, das find ich auch so. Keine gute Überleitung, bei Dubai. Ich brauch hier einen wieder. Ich.
- Dennis
- Ihr müsst das ja nur sagen, dass ihr diese komischen Überleitung wollt. Dann mach ich die auch. Okay. Ich rede ein bisschen über Pricing im AI Space, denn einmal auch Cursor, 1 der ganz großen Anbieter, ja, und unter anderem jetzt aber auch Jetbrins, passen sich alle ein bisschen an und irgendwo auch nachvollziehbar. Denn viele hatten am Anfang son Pricingmodell, wo man irgendwie monatlich was gezahlt hat und hatte dann x dafür, die man nutzen konnte. Und das wurde eben eher auf dieser Basis gemacht. Und durch das ganze Agenten tun, was jetzt damit einhergeht, ist einfach die Größe 1 einzelnen oder was dann passiert, so wahnsinnig unterschiedlich groß, dass man das nicht mehr wirtschaftlich abbilden kann. Sprich, immer mehr Unternehmen wechseln jetzt auf ein Pricing Modell, was dann auf tatsächliche Nutzung basiert. Also wo ja, dann geguckt wird, okay, wie viele Token werden benutzt, dieses zu machen? Weil man kann irgendwie mal einmal eine Zeile ändern lassen mit irgendwie einem prompt und man kann ja kompletten 'n p a irgendwie sich erstellen lassen mit einem sozusagen. Von daher ist es schon sinnvoll, einfach die Sachen anzupassen. Genau, bei Curseas ist jetzt eben für die Teams passiert. Und ja, ich gehe davon aus, dass es auch in der Zukunft bei den weiteren Tools so ist. Also nicht mehr Flatrate AI Nutzung und, sondern ein bisschen an der, orientierte an der echten Welt. Was irgendwie auch. Also es fühlt sich sinnvoll an.
- Dave
- Ich find
- Garrelt
- ich finde auch, vor allen Dingen, weil so eine Theorie, warum Cloud Code besser wäre als Cursor war halt, weil Cloud Code einfach bezahlt, was Du nutzt. Und CursA versucht das halt zu optimieren, weil sie dann weniger Kosten haben, so, ne. Und das dann son Trade off, Mhm. Der vielleicht am Ende gar nicht so klug ist. Deswegen find ich's eigentlich ganz gut.
- Dennis
- Ja. Und wenn die Entwicklung so weitergeht, wie es jetzt ging, ist ja auch weiterhin so, dass es tendenziell günstiger und ja, schneller wird. Von daher war's das.
- Dave
- Eine Frage noch, weil ihr habt ja Claude Cout überwiegend benutzt. Wie ist das mit mit der Usage eigentlich genau? Weil ich weiß ja als Nutzer nie vorher bei meinem prompt, wie viel Tokens das in Anspruch nehmen wird, oder? Das weiß ich nicht. Und das kann ja dann also auch richtig hoch sein und dann schließen die Kosten ja mega in die Höhe auf, oder? Ja. Okay, ja, das ist dann auf jeden Fall, ja, okay.
- Dennis
- Also in der Regel bei dir, ich weiß ja nicht, Claude hab ich selbst noch nicht benutzt, aber kannst Du ja auch Limits einstellen. Also wenn das jetzt, sagen wir mal, keine Ahnung, über 20 Dollar oder 50 Dollar oder was auch immer. Also Du kannst das schon, dass Du jetzt da nicht 'n Agent hast, der 3 Tage arbeitet, ohne dass Du das mitbekommst und dann 1000 Euro dann generiert hat. Genau, ja.
- Dave
- Okay.
- Dennis
- Und ich weiß nicht, hast Du eine Idee, was so dein teuerster Single mal irgendwie war?
- Garrelt
- Ja, ich mein, ich hab bei MAN mit Opos gemacht, was da ja so 3 oder viermal
- Dave
- so
- Garrelt
- teuer ist. Das war dann schon so ein 6 Dollar oder so, ne. Ist schon teuer dann.
- Dave
- Das müssen wir doch auch in unserem Teamplan sehen.
- Garrelt
- Nee, ich hab, also manche haben ja auch sone.
- Dave
- Also Ah, okay. Ja. Stimmt. Gut.
- Dennis
- Jetzt aber Dave. CSS Functions.
- Dave
- Ja, genau. CSS Functions, nämlich jetzt ist ab der Chrome Version 139 ist die at Function rule verfügbar. Tatsächlich auch aktuell nur bei Chrome, also Obacht bei der Nutzung. Es ist nur Chrome und zwar die neueste Version, die das unterstützt. Aber mal von vorne angefangen, was sind eigentlich diese CSS Functions? Ja, wie der Name sagt eigentlich, eine Funktion, ja. Unsere Funktion, wie man sie eigentlich aus allen Sprachen kennt, ne. Also die kannst Du da einfach selbst definieren in CSS und dann da irgendwelche Kalkulation durchlassen, ne. Also ist auch genauso aufgebaut. Du gibst den 'nem eigenen Namen, also so. Dann gibst Du den Namen an, wie man das von diese CSS kennt, also mit diesem Strich Strich Ding. Da kannst Du auch dann in den Klammern dann beliebige Anteil an Parametern einfach einfügen und dann kannst Du am Ende auch einen Wert zurückgeben, der dann dort ist, ne. Also hier 'n kleines Beispiel vielleicht, wie die Syntax jetzt aussieht, wenn man 'n Farbwert haben möchte mit 'ner Transparenz. Dann gibst Du halt dieses an, nennst dir, das ist jetzt zum Beispiel, und hast dann in Klammern auch den Parameter mit Strich Strich Color und Strich Strich Alpha dafür. Und dann ist wichtig so, dann gibt's die Signal noch, das ist quasi, wie man das aus Funktion kennt, aber dies. Genau, dann kannst Du da einfach dann eine, also halt dies, was was man dafür auch benötigt, also dieses rgb, wo dann, dann einfügst, dann mit diesem a-Value und so, dies das, was dann alleine kommt. Genau, kannst sogar in diesen Funktionen, das fand ich ganz cool, sogar lokale Variablen machen, ja, also sehr cool. Lokale Variablen in CSS.
- Dennis
- Dave freut sich. Geht auch?
- Garrelt
- Was noch?
- Dave
- Weiß ich. Ist auch cool. Genau und und diese und diese Function kannst Du kannst Du quasi auch in jeder nutzen, ne. Also man kann das irgendwie so, willst Du 3 Buttons 3 Buttons stylen. Ja. Genau und Du willst die mit irgendwie unterschiedlichen Farben und Hintergrundfarbe dann nehmen, kannst Du halt dann immer diese Funktion dort wieder. So, so wie halt Funktionen funktionieren.
- Garrelt
- Ich find's schön, wie Du das so verkaufst, als wär so wenn so Funktionen neu.
- Dave
- Ja. Na ja, CSS nativ sind sie natürlich neu. Ja. Ja, genau deswegen also aber ne, also Funktion kennt jeder so. Und ja, also ich glaub, Vorteile von Funktion muss ich nicht jetzt hier aufzählen.
- Garrelt
- Na ja,
- Dennis
- aber Wie findet ihr das denn?
- Garrelt
- Ja, genau. Das ist, wär jetzt auch meine Frage. Findest Du's denn wirklich 'n Vorteil, dass das in CSS jetzt drin ist? Also macht das das Ganze nicht irgendwie mega kompliziert? CSS war immer so straight forward.
- Dave
- Straight forward, ja. Aber ich sag mal, es gibt ja auch so, ich sag mal, diese ganzen CSS Präprozessoren wie jetzt, also LES oder SES, die das ja auch schon haben, ne. Also so die mir irgendwie gewisse Function so diese Mix sind.
- Garrelt
- Die vernichtet auch schon.
- Dave
- Oh, sass. Was war was was fandest Du halt denn schlecht?
- Garrelt
- Ja, ich mein, generell fand fand ich sie halt auch überkompliziert. Mhm. Gut, damals haben sie halt Funktionen geboten, die man heute teilweise auch schon drin sind, deswegen bin ich nicht jeder gegen fast mittlerweile sie zu nutzen. Und die Functions, ja, ja gut, manchmal hab ich sie schon genutzt. Ja, hast Du recht berechtigt.
- Dave
- Ja, also Du musst
- Garrelt
- mal antesten.
- Dave
- Genau, also alleine vielleicht son großer Vorteil ist einfach so für mich son bisschen so Lesbarkeit. Also ich hatte schon durchaus, grad auch in unserem Projekt, irgendwie manchmal so, ich seh, da wird irgendwas irgendwie Kalk, bla bla bla, dann irgend eine Variable wird genommen, da wird irgendwas worden. Ich hab keine Ahnung, warum und wofür das ist. War eigentlich irgendwie, die Größe zu berechnen oder Abstandsmessung zu 'nem anderen Objekt. Und wenn man natürlich dann einfach sagt, okay, das ist eine Function, die hat den Namen, ist so, ah okay, das oder so, ne.
- Dennis
- Also allein das
- Dave
- schon manchmal zu haben, so bei aufwendigeren CSS Sachen so. Ist wahrscheinlich also eher die Seltenheit, vermut ich auch so, aber einfach die Möglichkeit zu haben. Find ich irgendwie ganz cool. Genau, ist jetzt dann auch in nativ CSS verfügbar. Aktuell aber wie gesagt noch experimentell. Ich hab mal geschaut, auch diese aktuelle Chrome Version hat nur 0.02 Prozent Nutzung global. Also deswegen Vorsicht, aber gerne ausprobieren und vielleicht wird sie ja der neue heiße Scheiß, denn sollen, glaub ich, auch noch kommen irgendwann nativ css.
- Dennis
- Danke, Dave. Fabi, sag mal Der
- Fabi
- hat war noch im Zweifel, aber hätten soll.
- Dennis
- Unser unser unser Experte, der ja jetzt seit einigen Wochen und Monaten in Uni unterwegs ist. Ich mich richtig erinnere, hast Du mir am Anfang son bisschen vorgestellt, dass es so 2 Optionen gibt, das das Styling und das Layout in Uni zu machen. Und 1 ist 'n bisschen CSS mäßiger gewesen. Die Tools. Wofür überhaupt ihr euch jetzt entschieden am
- Fabi
- Ende? Nicht das CSS mäßige.
- Dennis
- Okay. Ah
- Fabi
- ja. Dann frage ich Aber liegt doch ein bisschen Liegt jetzt nicht an der Syntax, weil das so CSS like war, sondern daran, wie man es in Unity integriert und das es doch noch gefühlt so ein bisschen so ein eigenes Ökosystem ist. Also Du hast fast einen eigenen Editor, in dem Du da UI baust und wenn Du damit irgendwie auch einen Code interagieren willst, kannst Du es eigentlich fast immer nur über einen String Referenz des Namens von diesem Objekt sozusagen machen. Und also diese ganze Integration war super lame. Und am Ende ist es so, dass es auch fast mal Vorteile hat, in der Game Engine zu arbeiten, wo man Buttons einfach mit Nine Slicers macht und das nicht in CSS aus Figma heraus genauso definieren muss und überführen muss. Also, so am Ende,
- Garrelt
- ja. Ging's denn jetzt aber auch mehr Layouting als Stining, diese Entscheidung?
- Fabi
- Im Endeffekt geht's darum, wie baust Du deine UI Komponenten? So. Das ist sowohl das Layout als auch die einzelnen Komponenten. Und wir haben uns bei beiden dagegen entschieden so, aber sie sind auch nicht so so, also das weiß ich gar nicht mehr so Interoperabilität, weiß ich gar nicht, aber ich hab an keiner Stelle weder im Layout noch bei den einzelnen Elementen einen wirklichen Vorteil davon gesehen, UI Toolkit zu benutzen. Okay. Deswegen und dabei auch da hast Du so coole CSS Functions, hast Du da nicht. Also übrigens USS heißt das, Unity Style Sheets und es ist nur ein Subset von CSS. Die sind noch da ist sozusagen die der der Unterschied von Sust und LASS zu CSS ist sehr viel geringer als der Unterschied von CSS zu USS. Also die sind da sehr weit hinten dran.
- Garrelt
- Du brauchst eine Grafik
- Dennis
- mit dir.
- Fabi
- Ja, ich ich mal die eine. Also einfach so, die sind sehr weit hinten dran hinter CSS. Da ist CSS noch näher an all seinen anderen Prozessoren.
- Dave
- Und was ist UI Toolkit und das andere ist, was ihr jetzt nutzt, ist?
- Fabi
- Das heißt einfach nur, boah, ich weiß es gar nicht, Unity UI. Also ich weiß nicht, was Nein, genau, ja. Was der Begriff von dem alten System Ja, genau.
- Dave
- Nicht grad vergessen.
- Fabi
- Also ist auf jeden Fall das neue. Ich weiß gar nicht, ob's vorher einen, hat irgend einen Namen Ich
- Dave
- glaub, es warte sich Unity UI her.
- Garrelt
- Aber ist das was Offizielles von Unity oder ist das son Projekt?
- Fabi
- Genau, ist das neu, ist das Ist das UI oder UIUI sagt man, UI Tool Kit ist das New Kit on the Block, so an dem arbeiten Sie auch sozusagen. Aber Sie haben auch selbst eine Tabelle, wo Sie sagen, wann's Sinn macht und wann nicht und so und ist noch ist noch in der Mache.
- Dennis
- Cool. Gut. Dann zuletzt noch ein bisschen was, ein kleines Update zur Programmiercon und so.
- Dave
- Nee, 'n großes Update, oder? Also ist wahnsinnig, unfassbar groß. Warte, wer
- Garrelt
- was kommt denn jetzt? Okay.
- Dennis
- Ein großes Update zur Programmier war Konferenz, der Programmiercon dieses Jahr. Es gab ja die Specialfolge, die ich zu jemandem noch nicht gehört habe, was ihr da alles schon enounced habt, was dort kommt. Aber für die, die's bis jetzt noch nicht mitbekommen haben, wir veranstalten ja eine Konferenz, die ist ja mit den Themenschwerpunkten Web und AI. Die findet am neunundzwanzigsten und dreißigsten Oktober diesen Jahres statt. Mhm. Und da einfach recht transparent zu sein. Wir haben son bisschen auch gestruggelt mit dem Pricing, da den richtigen Punkt zu finden. Wir machen ja die programmier.bar neben, also in in unserer Arbeitszeit, aber letztendlich neben unserem eigentlichen Hauptjob, den wir so machen. Und versuchen auch, das Ganze immer kostenlos natürlich anzubieten, viel von dem, was hier alles passiert. Und haben da in dem Sinne auch, jetzt auf der Konferenz zum Beispiel, wollen wir aktiv auf externe Sponsoren verzichten, ja, weil wir das Gefühl haben, dass das zu 'ner schöneren Community führen kann. Und das heißt, wir sind da auch nicht irgendwie nach Groß Profit aus. Also wir wollen jetzt nicht irgendwie Geld verdienen mit der Konferenz. Aber wenn man so eine Konferenz veranstaltet, dann kommen dann doch einige Kosten zusammen, wenn man 'n gewissen Qualitätsanspruch auch an an die Konferenz hat. Und das hat dann eben dazu geführt, dass der Ticketpreis auf die 499 Euro geklettert ist, zu denen wir das jetzt initial vermarktet haben. Und genau, wir können jetzt verkünden, dass Lotum als Sponsor dann ganz offiziell sozusagen in den Ring tritt und nicht nur im Hintergrund, die war sowieso ja die ganze Zeit
- Dave
- Oh, nein, haben wir unterstützt, haben wir uns verkauft, Dennis.
- Dennis
- Oh. Und nein, An uns,
- Dave
- ja. An uns. Ja. An uns.
- Dennis
- Von selbst, genau. Und deswegen wir einfach mal 50 Prozent auf den Ticketpreis streichen und die Tickets jetzt ab 249 Euro zu kaufen sind für die Konferenz. Genau. Auf
- Garrelt
- Website ist noch
- Dennis
- Ja, die ja, das ist richtig. Es ist jetzt so sehr, sehr frisch diese Informationen. Wir updaten die Webseite noch, genauso auch die gekauften Tickets, die und wie Du das müssen wir noch rausfinden, wie wir das genau machen. Aber auf jeden Fall, auch die jetzt schon gekauften werden da noch reduziert. Und genau, vielleicht eröffnet das dann einfach noch mal mehr Menschen die Möglichkeit, hier in Nähe von Frankfurt zu kommen und mit uns die 2 Tage zu verbringen. Und da freuen wir uns auf jeden Fall sehr drauf.
- Garrelt
- Was 'n tolles Unternehmen, Claudem. Aber machen wir dann auch Werbung für uns?
- Dave
- Weil jetzt ist
- Fabi
- ja wohl 'n Schnapper, oder?
- Dave
- Ja. Also wer jetzt nicht kauft, der ist lost. Ach so,
- Dennis
- und ich glaub, Jan wollte noch, dass wir drauf hinweisen, dass das, also es gibt jetzt noch kein definiertes Ende dieses Angebots, aber das kann sein, dass ich die Tickets reise dann noch mal ändern, je nachdem, wie viele wir verkaufen. Aber für den Moment
- Garrelt
- So, also die meisten mäßig.
- Dennis
- Bekommt ihr sie erst mal für den Preis von 249. Genau.
- Garrelt
- Schön. Danke, Dennis. Es ist
- Dave
- so Hallo.
- Garrelt
- Big, Big News.
- Dave
- Willst Du noch die noch
- Fabi
- am Ende? Hoffentlich habt ihr alle bis hierhin gehört, sonst habt ihr Geld vertan.
- Garrelt
- Na, die, genau. Alle, die das nicht schaffen müssen, 500 oze, alles ja klar.
- Dave
- Wir wir erzählen aber noch nicht, wen Jan klargemacht hat, oder?
- Dennis
- Nein, das ist jetzt okay.
- Dave
- Das sehen wir noch nicht.
- Dennis
- Das ist
- Dave
- ja auch nicht. Na ja, spannend.
- Garrelt
- Ich bin noch nicht so bereit dafür.
- Dennis
- Wir haben ja jetzt schon 'n paar gute coole Speaker auf jeden Fall auf der Agenda. Es kommen noch ein, 2 dazu, die sicher auch spannend sind. Ich freu mich auf jeden Fall sehr. Von daher, genau, besorgt euch gerne euer Ticket, damit wir möglichst frühzeitig dann die Kapazitäten noch ein bisschen besser planen können. Und wir freuen uns ganz doll auf euch. Wenn ihr Feedback habt, schreibt uns gerne an Podcast at Programmier Punkt bar, sonst wünschen wir euch 2 wundervolle Wochen und dann hören wir uns zu den nächsten Macht's gut. Vielen Dank euch.
- Fabi
- Bis dann.
- Dave
- Tschau. Tschau. Tschau. Tschüssi. Tschau.
- Dennis
- Tschau.