Wo wir sind, ist vorne, Folge 24. Heute geht's um Editoren, IDEs und mysteriöse Entdeckungen in SVGs.
Herzlich willkommen bei Wo wir sind, ist vorne. Frontend-Fakten-Frotzelein.
Der Late-Night-Frontend-Talkshow rund um Webdesign und Entwicklung.
Es reden sich um Head und Kragen, HTML-Fundamentalist Moritz Gießmann und JavaScript-Jungleur Konstantin Groß.
Hallo und Überraschung, es gibt uns doch nicht nur exklusiv auf Onlyfans. Unser Tweet dazu war natürlich ein April-Scherz.
Aber es gibt uns jetzt auf Onlyfans.
Es gibt uns tatsächlich auf Onlyfans, den Account haben wir dafür angelegt. Aber natürlich gibt's uns, wie man jetzt nicht überraschenderweise feststellt, im Podcatcher der Wahl nach wie vor zu hören.
Genau. Und wer nicht weiß, was Onlyfans ist, einfach nicht googeln.
Genau, richtig. Wie immer, wenn man sagt, nicht machen, dann ist klar, was rauskommt. Es fühlt sich wieder ganz heimelig an, zu Podcasten, nachdem wir jetzt zwei Twitch-Streams über die Bühne gebracht haben.
Oh ja, das war so stressig.
Davon berichten wir auch gleich noch in der Retro, wie stressig das sich anfühlt. Aber erst nachdem wir die Getränkefrage geklärt haben.
Ja, soll ich anfangen?
Du darfst gerne, ja.
Ja, ich hab vorhin dem Konstantin schon gesagt, ich falle jetzt wahrscheinlich in die Ungnade von euch, weil ich heute kein Bier hab. Aber ich hab als Ersatz mal wieder einen Scotch. Den hab ich schon mal getrunken.
Der Glen Moray Single Malt Scotch Whisky. Jetzt wollt ihr bestimmt wissen, wie viele Jahre. Das hab ich irgendwann auch schon mal gesagt. Ich kann's nur gerade nicht sehen.
Ist auch egal. Den trinke ich jetzt aber nicht so viel wie Bier.
Ich habe einen Kiemseher hell. Ich zeig's mal dir in die Kamera.
Das ist so verrückt. Weil ich hatte doch im Stream diese Flasche, diese Mate-Flasche mit der Eindellung.
Und die hat jetzt auch wieder ein Loch.
Vielleicht hast du auch einen Knick in der Optik.
Ich fühl das ja, ich seh's ja nicht. Und bei der Flasche reiß ich jetzt nicht das Etikett ab, um rauszufinden, was da los ist.
Ja, genau. Ich verschenke mal einen.
Ja, wie gesagt, Kiemseher hell. Hab ich im Regal gesehen im Supermarkt.
Schon mal mitgenommen. Vorne steht drauf, bitte Rückseite beachten.
Und dann steht hinten, ist da ein rotes Pfeilchen.
Bitte vorderseite.
Das wär's, ja.
Nee, da sind dann die Zutaten drauf und irgendwie nur so ein Pfeilchen.
Wir brauen in Rosenheim. Ja, herzlichen Glückwunsch.
Die brauen in Rosenheim.
Okay, ich mach mal auf.
Bitte wenden.
Große Flasche. Diesmal auch nicht übergelaufen.
Ja, dann zum Wohl.
Wir können auch anschlüssen hier.
Achso, ja.
Naja, ein bisschen dumpf.
Bei der großen Flasche.
So.
Ui, ui, ui.
Oh ja.
Gut.
Ich trinke den.
Ja, immer pur.
Eieiei, da muss man sich immer erst dran gewöhnen.
Jetzt gleich die Stimme weg.
Aber es ist lecker.
Nee, nee.
Ich hatte, ich hab so das Gefühl, also wenn wir Bier trinken im Podcast, dann ist es ja
oft so, dass das, also ich krieg da manchmal so eine Frosche in den Hals.
Und ich hatte, ähm.
Oder musst du aufstoßen.
Bei der, das ist mir noch nie passiert, wer das behauptet, ist ein Lügner.
Und ich hatte, als wir, als wir den ersten Twitch-Stream gemacht haben, da hatte ich ja mehrere
Getränke gleichzeitig am Start, unter anderem auch den Scotch.
Und ich hatte das Gefühl, dass der, dass der quasi so das Gegenmittel ist, gegen den
Frosch im Hals von Bier.
Und wenn ich einen Schluck, äh, Schluck Whisky nehme, das, das, äh, klärt das dann ganz,
das Ganze wieder weg.
Also, das heißt, ich muss eigentlich noch schlimmer zum Alkoholiker werden.
Also wenn der Moritz im Laufe des Podcasts anfängt zu lallen, dann ist das einfach die
bunte Mischung an, an Getränken.
Ähm, wer, wer sehen will, wie, wie ich, äh, aussehe, wenn ich ein bisschen zu viel getrunken
hab, der muss unseren ersten Stream nochmal, nee, besser nicht angucken.
Okay, mach mal, leg mal los.
Jo.
Ja, wie gesagt, wir haben, äh, unseren ersten und auch unseren zweiten Twitch-Stream hinter
uns, das hatten wir ja schon angekündigt.
Und, ähm, da ja die, die Schnittmenge an, an Podcast-Hörern und, oder sagen wir es mal
so, die Schnittmenge ist mit Sicherheit gegeben, aber, ähm, ich sag mal, es ist noch ein kleiner
Bruchteil an, an Hörer, Hörerinnen-Zahlen, die auch tatsächlich den Stream gucken.
Deswegen erzählen wir so ein paar Sachen wahrscheinlich doppelt, die wir jetzt im zweiten Stream schon
erzählt haben.
Und zwar hatten wir beim ersten Stream das Lust, naja, lustig war es eigentlich nicht, aber
das, äh, dubiose Phänomen, dass, äh, alle achtenhalb Minuten unser Stream abgebrochen
ist.
Und, ähm, das Tool, das wir da zum Stream benutzt haben, das hab ich selbst gebaut und
im ersten, äh, Stream auch vorgestellt und da mal reingeschaut, zusammen mit den Zuschauerinnen.
Und, äh, ja, wie gesagt, nach achteinhalb Minuten war irgendwie immer Schluss und halt wirklich
ziemlich exakt nach achteinhalb Minuten.
Und, ähm, ja, das Problem war, dass ich das Konsole-Logging auskommentiert hatte.
Ich hatte den, äh, den Output von FFM-Pack, die Info-Star über den Zustand und die, die
Fehlermeldungen, wenn welche auftreten, in die, in die Dev-Konsole, äh, gespült von
meiner, äh, Node-NWJS-Lösung.
Und da hab ich mir gedacht, naja, bevor wir jetzt richtig anfangen, so performance-technisch
ist so viel Loggen ja nicht so gut, äh, kommentierst du das mal aus.
Und der Grund war jetzt tatsächlich, dass der Output-Buffer von FFM-Pack vollgelaufen ist
und den Prozess gekillt hat.
Ähm, ja, wieder was gelernt.
Darf man also nicht einfach machen.
Man muss den dann ignorieren, den Output-Buffer.
Du hast verhindert, dass Konsolen-Nachrichten geschrieben werden und dann ist dadurch vollgelaufen?
Ja, ich, ähm, ich starte ja aus einem WJS, äh, einen Child-Prozess, äh, zapfe da FFM-Pack
an und schicke dann das, was ich über den Media-Recorder bekomme von dem Media-Stream, ähm, das
schaufle ich dann da rein in den Input.
Und FFM-Pack hatte man, also es gibt dieses STD-In und STD-Out bei Prozessen, äh, wo man eben
Input reinspült und, ähm, Output rausbekommt.
Ja, und, äh, FFM-Pack schickt halt an den Output immer Informationen, wenn man jetzt
nicht irgendwie sagt, äh, hier verbos, äh, ausgestellt über die, über den Command-Line
oder so. Ähm, beziehungsweise man kann eben den Prozess auch gleich mitgeben, wenn man
ihn aufruft, ähm, ignoriere den STD-Out komplett.
Und, äh, das war jetzt dann auch das Rätselslösung, mit dem, mit der es dann funktioniert.
Ähm, aber FFM-Pack hat halt immer Daten geschickt und nach einer Weile war halt dann irgendwann
dieser Buffer voll und wurde nicht abgefragt und dann kam es zu diesem Abbruch.
Ah, okay.
Das war das Ding.
Genau, aber ansonsten, also Streamen hat Spaß gemacht, ähm, auf jeden Fall.
Es ist was, es ist eine ganz andere Nummer als, als Podcasten, vor allem wenn man das Podcasten
nicht live macht normalerweise. Ähm, es ist viel mehr Interaktion, das ist super, das macht
echt Spaß, ja, so direkt Feedback zu bekommen von euch. Ähm, aber es ist halt auch echt Multitasking
gefordert, ja, gleichzeitig, also erstmal schon der Stress, ich hab vorhin schon zu Moritz
gesagt, äh, als wir uns getroffen haben, jetzt zum Aufnehmen, es war halt irgendwie schon
nach 8 und wenn du streamst, ne, dann ist halt, du kündigst an um 8 und dann willst du
die Leute ja nicht zu lang warten lassen und beim Podcasten ist halt, ob wir jetzt um
8 anfangen oder von mir aus auch um 9 oder schon um 7, ist völlig wurscht. Also das ist
schon entspannter und so generell fühlt sich das Podcasten ein bisschen entschleunigt
an, im Vergleich so zum Streamen, oder?
Es ist quasi, als wären wir, äh, als wären wir jetzt vorhin die ganze Zeit Bob gefahren
und jetzt fahren wir halt, jetzt rutschen wir quasi, äh, auf der, auf der grünen
Wiese, so, äh, es ist ein komischer Fall.
Ja, man muss auch nicht schauen, bin ich jetzt, ne, ist schon, ist schon was dran, also man
muss auch nicht schauen, bin ich jetzt in der Kamera zentriert, schaue ich richtig, äh,
darf ich nicht in der Nase bohren, äh, kann ich jetzt zum Beispiel hier machen?
Ähm, äh, der Konstantin hat gerade in der Nase gebohrt, für alle, die...
Richtig, richtig tief, genau. Ich hab mich nur gekratzt, aber die Bewegung hat
gestimmt. Ähm, ja, also es ist, es macht immer Spaß, also wir, wir, wir,
machen das weiter, aber wir geben auch den Podcast nicht auf, keine Sorge, also, ähm,
das läuft auf jeden Fall parallel und unser Podcast ist unser Baby, also das, äh, dem
passiert so schnell nichts.
Ja, aber ich muss, ich muss auch nochmal sagen, also ich fand das, ähm, ich wusste gar nicht,
wo ich hingucken soll, so beim Stream, weil, äh, ich hab da irgendwie so eine Kamera hängen,
da seh ich irgendwie noch so mich selbst irgendwie drauf, ähm, dann möchte ich natürlich auch
irgendwo den Stream laufen haben, damit ich sehe, ähm, was kommt denn da überhaupt jetzt
genau an, ähm, weil ich nämlich das, das, äh, komponierte Bild, äh, was der Konstantin
baut bei sich mit OBS, ähm, das erst im Stream sehen kann und nicht vorher irgendwo sehe.
Genau, also für die Uneingeweihten, warum OBS, also OBS Studio ist so ein, so eine Streaming-Lösung
und wir sind jetzt doch da von unserem kleinen Tool nach diesem ersten Patzer, äh, bisschen
abgekommen und streamen jetzt damit.
Dann will ich auch den Konstantin sehen, also ich hab mehrere Bewegtbilder gleichzeitig,
die ich irgendwie im Blick halten muss und dann gibt's noch den Chat, der irgendwie sich
auch noch bewegt, wo man dann auch noch sehen will, wenn jemand was schreibt und da drauf
reagieren will, äh, und dann will man ja eigentlich auch noch über irgendein Thema
reden, muss ich das auch noch denken.
Und dann will man sich ja auch nicht blamieren, während man da was im Code zeigt, ja.
Ja, genau, also das ist, und, und dabei, und da muss ich sagen, ähm, der Konstantin hat
ja viel mehr im Code gezeigt als ich, ich hab ja nur so ein bisschen nebendran kommentiert,
äh, für mich war es eigentlich leichter und trotzdem fand ich es schon wahnsinnig, äh,
anstrengend irgendwie, da muss man sich, glaube ich, erst mal dran gewöhnen.
Wir machen hier, äh, normal so, so ein bisschen, ähm, wie soll ich sagen, wenn wir einen
Podcast machen, ist es so ein bisschen Single-Core, äh, wir, wir haben halt einen Prozess.
Und da ist halt Multithreading.
Genau, und da ist Multithreading gefragt und zwar nicht nur zwei oder sondern eigentlich
irgendwie so fünf.
Also ich bin, ich bin danach auch in so einem Zustand, als hätte ich irgendwie gerade
ein Workout gemacht, was eigentlich nie vorkommt, aber, aber ich, äh, aber ich war mal eine
Zeit lang im Fitnessstudio, ob man es glaubt oder nicht, und, äh, der Zustand danach, der
fühlt sich so ähnlich an.
Also ich bin einerseits völlig durch und andererseits, andererseits total pumpt, ja, so, so richtig
so, uh, ähm, ja, ist echt, aber es, aber es macht Spaß, auf jeden Fall.
Ja, also das, das Ganze wird, glaube ich, noch schlimmer, wenn wir dann irgendwelche Alerts
irgendwann haben, die wir dann noch einbauen werden.
Oh ja, und sonstige lustige Sounds.
Genau, falls du jetzt, ähm, dich fragst, was soll dieser ganze Käse behaupten, was ist,
was hat's denn, was ist denn dieses Twitch und was, was machen wir denn da?
Einfach mal vorbeifauen.
Sei beruhigt, bis vor drei Wochen wussten Moritz und ich das auch nicht.
Ja, genau, also wir, wir lernen jetzt, wir lernen jetzt im Prinzip, wie die Plattform Twitch
funktioniert, einfach durch Benutzen, das kann ich auch immer empfehlen.
Und durch unsere Zuschauerinnen, dankenswerterweise.
Genau, und dadurch, und dadurch, dass wir halt immer mal wieder fragen, ja, wie funktioniert
eigentlich das, wie funktioniert denn eigentlich das, wo ist denn der Knopf?
Und die sagen uns das dann immer, wir haben auch jetzt schon so ein bisschen befürchtet,
dass die uns dann irgendwie zu schlechten Twitch-Streamern machen, so einfach nur, um uns zu trollen,
weil wir denen jetzt erstmal alles glauben, was sie sagen.
Kann passieren.
Aber ja, wir haben schon ein total geiles Feedback gekriegt und, äh, wenn du jetzt wissen
willst, was hat's denn damit auf sich, ähm, und vielleicht mal fünf Minuten Zeit investieren,
möchtest, dann guck doch einfach mal vorbei auf twitch.tv slash wwsev.
Man muss sich auch nicht anmelden, also man kann sich auch einfach so zuschauen.
Man kann live zuschauen, ähm, äh, ohne sich anzumelden.
Man kann aber auch die alten Streams nochmal anschauen, ohne sich anzumelden.
Genau, auch auf YouTube, wir haben jetzt einen YouTube-Kanal, da ist der Stream noch drauf,
da ist jetzt der zweite Stream drauf.
Aber du würdest uns einen riesen Gefallen tun, wenn du uns folgen würdest bei Twitch,
falls du einen Account hast oder falls du noch keinen Account hast, ähm, würde es uns extrem
helfen, wenn du uns folgen würdest oder wenn alle, die das hören, uns folgen würden auf
Twitch.
Wie gesagt, äh, Account ist auch schnell angelegt, ähm, weil wir würden gerne Twitch-Affiliate
werden, also das ist dann so die, die, diese, also da kriegt man dann neue Funktionen dazu
bei Twitch, ähm, und hat dann auch die Möglichkeit, äh, über Twitch bespendet zu werden von den
Zuschauern und Zuschauerinnen. Ähm, und das geht aber erst, wenn man so ein paar, so ein paar, äh,
Dinge erreicht hat, und da, da gehört die Followerzahl dazu, und zwar müssen wir 50 Follower
erreichen, ähm, und wir haben momentan jetzt, glaube ich, gerade 25, und, äh, wenn, wenn
einfach, äh, jetzt jeder zweite, der das hört, das einfach macht, dann, dann, dann schaffen wir
das, äh, locker. Locker, locker, locker. Äh, und, äh, oder auch jeder, jeder fünfte reicht
wahrscheinlich auch. Ja. Genau. Genau, das, das wäre großartig, da, da sind wir euch
ewig dankbar, wenn ihr uns dabei helfen könntet. Ihr könnt auch dann, ähm, nach einem halben
Jahr den Account einfach wieder löschen, wir brauchen jetzt erstmal nur die Follower, aber
das solltet ihr natürlich nicht, ihr solltet uns natürlich dann weiter auf Twitch folgen
und da auch mal mit dabei sein. Jo. Ja, das war's eigentlich zum, zum Thema Stream, zu
unserem gemeinsamen. Das hab ich noch schön Werbung gemacht, die hab ich gar nicht geplant, aber ich war
gerade so, ich war gerade so. Ich hatte die für den Schluss angeplant, aber das passt
doch jetzt, hat jetzt wunderbar gepasst. Da haben wir einfach nochmal am Schluss. Genau, genau, doppelt hält
besser, und die Leute überspringen ja vielleicht, äh, wenn's ihnen zu lange geht. Keiner seit nie.
Hat noch nie gehört, dass es jemand zu lange geht. Nein, hat sich da jemand beschwert? Nee.
Nee, also wir haben schon Ärger gekriegt dafür, äh, dass unsere Folgen manchmal, äh, lang sind.
Deswegen versuchen wir jetzt heute, ne? Heute wird nicht so lange. Nee. Wir geben uns Mühe. So, und damit, äh, zum nächsten Retro-Punkt. Ähm, und ich darf schon wieder, ich glaube, ich red schon wieder so viel heute. Äh, ich hab einen, einen Rant der Woche wieder. Das hab ich ja so ein bisschen ins Leben gerufen, nachdem wir jetzt schon mehrfach hier in der Retro irgendwie, genau.
Ta-da! Der Rant der Woche.
Ähm, und zwar hat sich eines Morgens vor zwei Wochen, äh, hab ich mein Handy angemacht und es gingen plötzlich etliche Apps nicht mehr. Also so Instant Close draufgetippt, kurz auf, weißer Bildschirm, aus. Ähm, unter anderem halt meine Mail-App, wo ich auch Geschäftsmails drüber lese, äh, Type-App nutze ich da, äh, Amazon-App, DHL-Sendungsverfolgung, also alles.
Und dann hab ich, äh, meinem Bruder so geschrieben, ja, irgendwie kann ich meine Mails nicht mehr checken. Und dann sagt er, ach, äh, dann bin ich halt alleine. Und, äh, dann haben wir da so ein bisschen rumrecherchiert und stellt sich heraus, die System-Webview wurde geupdatet.
Aber Chrome noch nicht automatisch. Da stand zwar auch ein Update bereit, aber das hat sich irgendwie nicht automatisch installiert. Und dadurch gab das dann irgendwie Kompatibilitätsprobleme, weil diese Apps, wenn die dann solche Webviews nutzen, wurden anscheinend teilweise auch
dann trotzdem noch von Chrome irgendwas brauchen, obwohl ich eigentlich dachte, diese Webview
ist da nur halt dieser Wrapper. Ähm, aber wahrscheinlich zieht der dann von, von der Chrome-Library dann wieder irgendwas, äh, da rein.
Jedenfalls waren die Apps kaputt und das war halt echt ein Großteil und halt wirklich auch, was die Arbeit beeinträchtigt.
Und nachdem ich dann aber den rausgefunden hab, in dem, in dem Play Store, äh, dass da auch ein Update zur Verfügung steht für Chrome und das aktualisiert hab, zack, ging's wieder.
Aber ich finde halt, dass sowas dürfte eigentlich nicht passieren.
Also entweder würde ich erwarten, dass es einfach rückwärtskompatibel ist, das heißt, egal was für eine Version ich drauf hab, dann funktionieren halt neue Features von mir aus nicht.
Aber so an sich, die Grundfonditionalität ist gegeben. Ähm, oder halt irgendwie ein gescheites Dependency-Management für System-Apps.
Also es kann ja nicht sein, dass so eine essentielle App, dass da nicht irgendwie was hinterlegt ist von wegen,
naja, ich brauche Minimum-Chrome-Version, was haben wir jetzt, 89, 90 schon, weiß ich nicht.
Ja, ich brauche mindestens das und erst dann aktualisiere ich die Webview.
Vorher geht's nicht. Also, dass das überhaupt, dass dieser Fall überhaupt, dieses, dieser Zustand eintreten kann, das, das hat mich schon gewundert.
Mal abgesehen davon, dass Chrome sich hätte auch einfach selber aktualisieren dürfen.
Ähm, und, also selbst, selbst für den Fall, dass das gar nicht hätte auftreten sollen und jetzt irgendwie ein Glitch war, der halt unentdeckt und unbemerkt, äh, gewesen ist von Google,
dann muss ich sagen, also von einem Hersteller eines Mobilgeräte-Betriebssystems, da würde ich erwarten, dass die Test-Cluster entsprechend groß sind, ja.
Also es ist jetzt, es gibt sehr viele Geräte, ja, der Android, also das ist mit Sicherheit nicht einfach, ja.
So viele verschiedene Android-Geräte und jeder Hersteller kocht wieder sein eigenes Süppchen mit Systemanpassung und so, ist mir klar.
Und von, von irgendeiner Klitsche, von irgendeiner Start-up-Klitsche, äh, Start-up, von irgendeiner Start-up-Klitsche würde ich das auch nicht erwarten, ja.
Oder selbst auch von, von einem größeren Unternehmen, wie das, für das du arbeitest, da hab ich ja auch so ein bisschen, weiß ich ja auch, wie so Test-Cluster aussehen und so,
auch da ist klar, dass nicht jedes, aber ich mein, die, die, die erstellen dieses Betriebssystem, ja, und aktualisieren munter irgendwelche Betriebssystem-Komponenten
und da erwarte ich dann irgendwie schon, dass Geräte, die halt jetzt auch nicht irgendwelche No-Name-Geräte sind, dass die da in den Cluster mit abgedeckt sind, ja.
Also meins ist ein Honor 9, das hat jetzt auch schon ein paar Jährchen auf dem Buckel, okay, aber ist jetzt auch nichts irgendwie Außergewöhnliches und das von meinem Bruder ist ein Samsung Galaxy, ich weiß es gar nicht, S8, S9, ja.
Also auch jetzt nichts irgendwie komplett Absurdes und da würde ich irgendwie erwarten, dass das getestet ist und dass das einfach funktioniert und solche Probleme nicht, nicht entstehen.
Aber gut, es ist, wie es ist und es funktioniert und es war irgendwie nur eine Sache von einer Stunde, bis ich das dann raus hatte, wahrscheinlich nicht mal eine Stunde, aber jedenfalls nichts Gravierendes, aber es hat mich einfach genervt und ich dachte, eigentlich dürfte sowas nicht passieren.
Ja, Mensch.
Ja.
Ich hab's mitgekriegt, aber ich glaube, es hat mich nicht betroffen.
Also ich hab auch ein Android-Telefon, ich hatte aber keine Probleme in der Zeit.
Ich hab's über die Presse so ein bisschen mitverfolgt und hab mir an den Kopf gefasst und hab gedacht.
Ach, tatsächlich, das hat dann tatsächlich sogar in der Presse irgendwie, ach, das wusste ich gar nicht.
Durchaus hat das Wellen geschlagen.
Okay, als ich nämlich gegoogelt hab, da hab ich einen Beitrag gefunden von, ich glaube Februar 2021, also Februar dieses Jahr, wo das wohl schon mal irgendwie so der Fall war, aber ich hab nichts Aktuelles gefunden an dem Tag oder an dem Vormittag.
Es kann sein, dass du früh dran warst.
Dann hab ich wohl als einer der Ersten das so mitbekommen und dann gab's da, vielleicht hast du da irgendwie Heise oder Golem-Links, die wir dann noch in die Shownotes posten.
Ich suche, ich suche gerade, ja, da gibt's auf jeden Fall was, äh, es war diese Web-View, System-Web-View, ja.
System-Web-View, ich guck gerade, ja, keine Ahnung, müssen wir mal gucken, gibt's auf jeden Fall was.
Gut, das heißt also, ähm, es scheint nicht nur ich empfindlich zu sein und irgendwie da so eine Ausnahme gewesen zu sein, sondern das hat wohl schon, schon Wellen geschlagen.
Das hat sehr viele Leute betroffen offenbar, ja.
Interessant.
Ja, das hätte ich vielleicht gar nicht jetzt als Retro-Punkt, wenn das eh irgendwie die Hälfte der Leute sowieso hautnah mitbekommen haben, aber ich, wie gesagt, an dem Tag war ich wohl einer der Ersten oder sogar gab halt noch nix, äh, noch nix in den Veröffentlichungen.
Ja, okay, also für den Ding reichen wir nach, ähm, und dann darfst du jetzt.
Genau, ähm, ich hab nur einen kleinen Retro-Punkt heute, äh, und zwar ist das mein, ich weiß gar nicht, hab ich schon mal drüber gesprochen, über mein neues, äh, Gerät hier, das ich jetzt verwende, auch zum Podcast und so.
Also im Stream auf jeden Fall.
Im Stream hab ich, glaub ich, drüber gesprochen, ja.
Im Podcast weiß ich jetzt gar nicht.
Also ich wollte sagen, ähm, ich bin jetzt, äh, der stolze Besitzer eines MacBook Air mit M1-Prozessor, ähm, und, äh, ich, ich, ich,
war ja lange, ähm, nicht so unbedingt gut zu sprechen auf Apple, oder früher mal, für eine etwas längere Zeit.
Irgendwann hat sich das so neutralisiert und dann irgendwann hab ich gemerkt, ja, vielleicht ist er doch nicht so schlecht.
Ähm, und ich war immer ja sehr genervt, äh, von den Geräuschen, die mein alter Laptop gemacht hat, ähm, gerade, also, nee, eigentlich hat er immer Geräusche gemacht, es war halt so ein, äh, Gaming-Laptop von 2011, glaub ich.
Ähm, man hatte so das Gefühl, der Lüfter ist quasi nie aus.
Aber, ähm, ich hatte auch verschiedene, äh, Geräte letztes Jahr, ähm, mal gekauft, wo es so hieß, das sind jetzt so die, das sind jetzt so die Laptops, die man jetzt haben will.
Also, ich hatte mal so ein Dell, äh, XPS da, ähm, und auch mal einen Razer und, äh, keins von den Geräten hat's geschafft, einfach, ähm, vom Lüften her die Schnauze zu halten, wenn wir unsere Podcast-Situation hier hatten.
Also, das ging dann irgendwann so weit, dass ich gesagt hab, ähm, ich mach jetzt das Jitsi, über das wir uns jetzt gegenseitig sehen, ähm, einfach übers iPad und stell das nebendran, weil das dann auf jeden Fall still ist.
Das hat keinen Lüfter. Ähm, also keins dieser Geräte hat's geschafft, irgendwie leise zu bleiben, wenn ich, äh, hier unser, äh, Reaper am Laufen hab mit der Aufnahme und dann eben noch Video.
Aber ich glaub, in erster Linie, das Jitsi war da das Problem.
Jo, und jetzt, äh, hab ich dieses wunderbare kleine Gerät. Ich hab, ich hätte nicht gedacht, ähm, dass mir jetzt plötzlich jedes andere Gerät groß vorkommt, aber das hat ja nicht mal einen Lüfter und es läuft trotzdem alles flüssig.
Ich hab überhaupt gar kein Problem, ähm, es kann gar kein Geräusch machen und ich liebe diese Stille einfach. Es ist, es ist fantastisch und trotzdem ist dieses Gerät extrem schnell.
Also, was ich jetzt hier gerade offen hab, ist, äh, mehrere Browser, äh, Jitsi, äh, Reaper nimmt gerade fleißig auf, äh, über Studio Link schick ich meinen Sound woanders hin.
Ähm, und ich hab keinerlei Lags in irgendeiner Art und Weise. Also, ich merke, ich hab das Gefühl, es sind noch Ressourcen da, aber es interessiert mich eigentlich auch gar nicht, ob noch Ressourcen da sind, solange es irgendwie sich schnell verhält, äh, macht das Spaß.
Genau. Das ist so mein kleiner Retro-Punkt. Ich hab das Gefühl, ich bin so ein bisschen in einer friedlichen Welt jetzt angekommen, was, äh, Rechner angeht.
Genau.
Sehr schön. Endlich. Wurde ja Zeit. Hat ja lange genug gedauert.
Ich hab ja, also, ich hör vielleicht zur Vorgeschichte, ich such eigentlich schon nach einem Nachfolger für mein altes Laptop seit vier Jahren oder so und hatte schon diverse Geräte zu Hause und hab sie getestet und war am Ende immer unzufrieden.
Und, äh, jetzt, jetzt ist es soweit, glaube ich, jetzt, äh, hab ich was gefunden. Keine Ahnung, was passiert, wenn jetzt dann irgendwann im Laufe des Jahres die neuen MacBook Pros rauskommen sollten.
Ja, dann willst du wie jeder Apple-Mensch, äh, natürlich sofort das neueste Gerät haben, ist doch ganz klar.
Na klar, natürlich will ich das dann. Ähm, weil ich würde mich echt freuen, oder ich bin echt gespannt, was da vielleicht für neue Designs kommen, weil das, das ist irgendwie die, äh, die Leaker, äh, sagen vorher, dass, äh, die neuen MacBook Pros, ähm, dass die auf jeden Fall irgendwie dann mal so ein bisschen weniger Rand am, am Display kriegen.
Äh, ich bin da durchaus sehr gespannt, verfolge das, hab aber jetzt gesagt, nee, ich brauche jetzt ein neues Gerät, ich will jetzt was, ich will jetzt was reißen damit und hab jetzt mir das einfach noch schnell gekauft und hab nicht mal die größte Ausstattung, sondern ich hab jetzt, äh, nur irgendwie 8 GB RAM und, äh, 512 GB, äh, SSD.
Okay, aber ich hab gedacht, naja, ich probier's jetzt mal wieder mit was Kleinem, also hab mal genau das Gegenteil gemacht von dem, was ich vorher so hatte, wenn du so ein Razer Gaming Laptop dagegen hältst, äh, das hat dann irgendwie eine, eine GeForce RTX Grafikkarte drin und, und 32 GB RAM oder, oder 16, ich weiß nicht genau und so, äh, das heißt, nee, einfach mal jetzt genau das Gegenteil, ich bin echt tatsächlich sehr zufrieden damit, was mich selbst überrascht.
Ja.
Sehr schön.
Und der Nachbar kocht, ich riech es.
Mmh.
Ist gut?
Ich weiß nicht, irgendwas mit Kartoffeln, glaub ich.
Okay.
Dann, äh, hab ich noch einen, einen Retro-Punkt, der ist eigentlich schon fast, fast eine Property der Woche, aber es ist eine kleine Code-Pen-Bastelei und das stellen wir ja auch immer so gerne hier vor, in den Retros, wenn wir ein bisschen was gebastelt haben und, äh, du kannst auch mal draufgehen auf, äh, wenn du es nicht schon gesehen hast.
Nein, ähm.
Ähm, ich nicht.
Genau, ich hatte das auch, äh, getwittert und zum ersten Mal, ich hab mir jetzt auf dev.to so einen Account angelegt, dachte, teilst das da auch, weil Code-Pen gesagt hat, oh, guck mal, teile doch auf dev.to.
Ah, richtig.
Hab ich halt mal gemacht, ja.
Und darüber kam nämlich dann auch Feedback und da komme ich dann nachher noch dazu, deswegen wird's dann fast schon, schon eine Property der Woche.
Aber jedenfalls, ähm, also was man da sieht, ist, äh, so ein grauer Kreis mit einer Prozentzahl drin und da läuft dann so ein außen, so ein farbiger Kreis außenrum, äh, und die Prozentzahl erhöht sich.
Also es ist ein End-Progress-Loader, ein, ich hab's mal Single-Element-Circle-Progress-Loader, Loader genannt.
Und, äh, das, ich hatte sowas ähnliches mal irgendwo gesehen, schon vor einer Weile, aber wollte ja nicht einfach klauen, sondern ich hab dann gedacht, oh komm, baust du sowas doch mal selber.
Und ich wollte's halt vor allem, als ich hatte da gesehen, dass es mit SVG gemacht, ähm, komm ich auch noch dazu, wie man das normalerweise machen würde.
Ich wollte aber halt einfach, ne, weil, genauso wie so aus dem Grund, warum man CSS-Art macht, war einfach, man will's halt mal ausprobieren und, äh, testen und einfach nur Proof-of-Concept, Hauptsache es funktioniert.
Und ich wollte halt so ein Single-Element-Lösung haben und halt auch gucken, funktioniert das überhaupt oder kommt man da einfach nicht hin.
Es gibt ja manche Fälle, du denkst, naja, das muss doch irgendwie Single-Element-mäßig gehen und dann stellst du halt fest, aus dem und dem Grund, äh, kommt man einfach nicht zur Rande, man braucht irgendwie doch noch was.
Jedenfalls hab ich das gebastelt und hab das, ähm, ja genau, ich erklär mal ein bisschen, wie ich das gemacht hab.
Also das ist, äh, mein klar, Kreis macht man inzwischen einfach mit, mit Border-Radius 50%, ähm, und dann da drin positioniert mit, äh, ich weiß gar nicht, ob es im Before oder im After ist, muss ich jetzt selber nochmal gucken, ähm, die, die Prozentzahl.
Und dann hab ich mir die Frage gestellt, ja, wie mach ich das mit diesem äußeren Ring?
Und, äh, wie ich's jetzt gelöst hab, ist, ich hab den Radial-Gradient genommen, der in der Mitte transparent ist, bis zu dem grauen Ring, und dann den Rest bis so ein Stückchen drüber hinaus, also das hat dann eine Größe von, ich weiß gar nicht, 105%, oder was ich genau.
hab, ähm, also es ist ein bisschen, bisschen größer halt als der, als das eigentliche Element, und, äh, das letzte Stück ist dann eben in einer anderen Farbe.
Und das hatte recht schnell funktioniert und war eigentlich recht straightforward, wie ich das machen könnte, ähm, dann hab ich mir gedacht, okay, wie mach ich das jetzt mit, äh, also wie krieg ich den hin, dass der so, äh, rund läuft, und dass der so nach und nach halt sich auffüllt, die kompletten 360 Grad.
Und bin dann gelandet bei Mask-Image, ich weiß gar nicht, wir hatten's, glaub ich, auch schon mal drüber in irgendeiner Folge bei Mask-Image.
Und dieses Mask-Image ist wiederum kein wirkliches Bild, sondern generiert aus einem Conic-Gradient, auch den hatten wir schon mal, weil der relativ neu ist, soweit ich mich erinnere.
Ähm, deswegen, also ich hab auch geschrieben in der Beschreibung hier, äh, vor, vor Modern-Browsers, ja, also mit IE-Browser das Ding gar nicht, gar nicht versuchen anzuschauen.
Und wahrscheinlich auch wirklich erst mit so ein, zwei Versionen, oder, ja, paar mehr Versionen, äh, zurück von den aktuellen Evergreen-Browsern.
Ähm, jedenfalls ist das, wie gesagt, ein Conic-Gradient, ähm, und dessen Werte wiederum mit Calc aus der Progress-Variablen berechnet.
Also das ist eine CSS-Variable Progress, die dann tatsächlich diesen Wert, wie viel Prozent das jetzt fertig ist, ähm, an den, an das Element übergibt.
Und das benutze ich dann in Calc entsprechend, äh, auf Prozent ausgerechnet, ähm, also durch 100 und dann mal, äh, 360 Degree.
Und dadurch funktioniert das dann.
Und, äh, also Farbe, Farbe und Progress, wie gesagt, beides über, ähm, CSS-Variablen gesteuert.
Und dann gab's aber noch so einen kleinen Stolperstein.
Und zwar wollte ich, ich brauch ja den Progress als Zahl, weil ich muss ja damit rechnen in der, der Calc-Funktion.
Das heißt, ich übergebe da einfach mal nur Zahl und wollte dann aber in der Mitte das natürlich über die gleiche Variable befüllen als String, ähm, im Content.
Also das ist dann im, im, wie gesagt, ich weiß gar nicht, ob's before oder after ist, äh, warte mal, die Zahl, äh,
Also bei after ist so, äh, after ist Content-Counter-Progress.
Ja, genau, genau, ah ja, genau. Ähm, da ist eben in dem after ist das, ist das, äh, die Prozentzahl ist im after.
Ähm, äh, äh, äh, genau. Äh, das bringe ich mich selber raus.
Und da gab's diesen Stolperstein, ich wollte, das wollte eine, äh, eine Variable haben und damit beides abdecken.
Und das Problem ist, was ich jetzt festgestellt hab, man kann eine CSS-Variable, die eine Zahl enthält, also nicht in den Anfangstrichen, wirklich eine Strings, sondern wirklich eine Zahl, ähm, kann man nicht im Content-Property verwenden.
Also das wird dann nicht automatisch als String gecastet. Ist ein bisschen schade, weil wäre jetzt das, was man erwarten würde, was passiert.
Aber zum Glück bin ich dann auf einen Workaround gestoßen, ähm, und zwar Counter-Reset, das Property.
Da mach ich dann ein Counter-Reset, äh, auf, stelle da einen CSS-Counter. Ich glaub, über CSS-Counters hatten wir's auch schon mal irgendwann.
Ähm, und...
Das ist so eine Wissenschaft für sich.
Ja, den befürchtet, also damit kann man so Sachen machen wie, ach genau, da hatten wir's mal über Listen.
Über Listen, die nicht mit 1, mit 1 anfangen, also so OL-Listen, die nicht mit 1 anfangen, sondern mit einer anderen Zahl.
Oder sogar negativ geht, glaub ich, auch. Das macht man mit diesen Countern.
Und in dem Fall ist das so ein bisschen ein Hack. Also ich mach den Counter-Reset und setze den CSS-Counter mit dem Namen Progress auf die Progress-CSS-Variable.
Und dann kann ich im Content nämlich sagen, Content und dann Counter als CSS-Funktion, Progress, kann ich mir dann den Counter reinladen und den kann ich dann konkatenieren, also zusammenfügen mit dem Prozentzeichen.
Und dann funktioniert's.
Also da hab ich in diesem kleinen Anwendungsfall wieder jede Menge gelernt und wieder festgestellt, dass so eigentlich simpel erscheinende Dinge halt doch nicht so simpel zu realisieren sind oft.
Und man da irgendwie Sachen übersieht.
Und jetzt wollte ich auch noch sagen, ja an sich ist das ja nur, ne, das sind zwei Kreise ohne Zahl.
Ja gut.
Genau, also anderer Ansatz wäre, und so macht man das üblicherweise, ein SVG und dann gibt's da das Property Stroke-Dash-Array.
Das heißt, das ist eine Linie, die unterbrochen ist, also wie jetzt Border-Style-Dash.
Und die animier ich dann. Also da kann ich sagen, wie lang ist so ein Strich und wie lang ist das dazwischen.
Und dann kann ich quasi das so verschieben mit einem Offset, dass die Linie gar nicht sichtbar ist.
Und dann schiebe ich die so lange raus, bis quasi der komplette Kreis gefüllt ist.
Also so sieht man das öfter, auch wenn irgendwelche Linien animiert werden in SVG, dann ist das oft Stroke-Dash-Array.
Und das hat einen Vorteil, und zwar den Vorteil, dass die Bewegung von dem Kreis, der sich dann da aufbaut, schön flüssig ist.
Und den Nachteil hat man eben bei meiner Lösung, dass das so ein bisschen, ne, das ist halt wirklich schrittweise.
Jedes Mal, wenn der Counter sich erhöht, dann springt es direkt zu dem neuen Zustand.
Aber auch dafür gibt es ein Workaround. Und zwar würde man dann einfach den Progress als Float und nicht als Integer übergeben, als CSS-Variable.
Und einfach öfter aktualisieren.
Ja, sodass ich dann halt 12,253% hab und dann 12,5 und 12,74.
Und dann hast du es kleinschrittiger und dann sieht das auch flüssig aus.
Musst du halt gucken, dass das so oft aktualisiert wird.
Je nachdem, wenn du ein Framework halt von 60 FPS haben willst, musst du halt wirklich 60 Mal die Sekunde das auch aktualisieren.
Aber so flüssig muss es ja wahrscheinlich gar nicht sein.
Und das hätte dann wiederum auch den Vorteil, dass man für die Darstellung gar keine, also man hat ja eh zwei Variablen dann.
Du würdest ja, die Prozentzahl würdest du ja trotzdem runden wollen, weil du willst ja dann nicht 12,374% drinstehen haben, sondern dann halt trotzdem nur 12.
Dann hätte man eh wieder zwei CSS-Variablen und dann wäre auch dieser Workaround mit dem Counter nicht mehr, der wäre dann hinfällig.
Aber ich wollte das, so weit wollte ich dann doch nicht gehen und hab das jetzt einfach als Proof of Concept mal so in die Runde geschmissen.
Und unser ehemaliger Kollege Alex hat dann einen wichtigen oder zwei wichtige Accessibility-Hinweise noch geliefert.
Ich bin ja da immer so noch ein bisschen, noch nicht so ganz im Bilde, wie man die Sachen perfekt löst.
Und du hättest das wahrscheinlich auch direkt gefunden.
Und zwar hat er einmal gesagt, ja mach es doch als Progress Element auch tatsächlich.
Es ist jetzt in dem Fall ein Span.
Oder füge wenigstens Roll Progress Bar hinzu.
Progress Element ging nicht, weil ich das nicht so umgestylt bekommen habe.
Das ist wie so ein Select umstylen so ein bisschen.
Das ging einfach nicht, das so umzustylen, dass es am Schluss so gepasst hätte.
Ich hatte immer irgendwie so einen grauen Hintergrund oder so.
Oder vielleicht habe ich einfach nicht genug versucht, das hinzubekommen.
Aber wie gesagt, mit Roll Progress Bar, das habe ich direkt noch hinzugefügt.
Dann weiß der Screen Reader oder die andere Accessibility-Software, okay, das ist ein Progress.
Und dann gibt es noch was.
Und da frage ich dich mal, ob du das kennst, ob das dir bekannt ist, ARIA Live.
Ja, genau, ARIA Live ist ein Accessibility-Attribut.
Du willst natürlich die Updates auch announcen, ne?
Richtig, genau.
Und in dem Fall gibt es da drei Settings.
Also Off ist der Default-Wert.
Das heißt, der Screen wieder beachtet das gar nicht, richtig?
Wow.
Oder fällt der dann auf eine Standardlösung irgendwie zurück?
Da muss ich ganz ehrlich sagen, ich habe es selten eingesetzt.
Okay.
Ich kenne die grobe, also Assertive, glaube ich.
Also so, wie ich es verstanden habe, würde das, ja, beziehungsweise, gut, aber komplett ignorieren kann er es nicht.
Er würde wahrscheinlich den Standardwert, der initial drin steht, vielleicht vorlesen.
Weiß ich jetzt nicht genau.
Also er wird es wahrscheinlich nicht, ja genau.
Davon gehe ich auch aus.
Er würde es wahrscheinlich nicht verstecken.
Genau, weil sonst machen die anderen beiden Settings, die anderen beiden Settings machen sonst keinen Sinn.
Weil dann wäre eine von den anderen beiden Settings quasi der Default-Fall.
Es gibt natürlich noch Polite, das ist das, was er vorgeschlagen hat, was ich auch eingesetzt habe.
Das heißt, der Screenreader liest die Änderungen dann vor, wenn der Benutzer idle ist, wenn der gerade keine Aktionen ausführt, sodass er nicht irgendwie ständig da attackiert wird.
Achtung, jetzt sind es 74,3 Prozent.
Und Assertive, und Assertive macht eben genau das, das ist besonders wichtig, Screenreader liest wirklich jede Änderung vor.
Und das wäre natürlich, also das wäre in dem Fall katastrophal, ja, also ich will jetzt wirklich nicht bei, gerade wenn ich jetzt diese, wenn ich das jetzt mit dieser höheren Auflösung der Animation oder des Updates mache, das wäre ja irre.
Naja, es kommt, ich würde sagen, es kommt drauf an, was diese Animation macht.
Gut, wenn die Animation wirklich den kompletten Zustand einer App oder sowas lädt und sonst nichts zu sehen ist, dann will ich vielleicht tatsächlich jedes Update haben.
Wobei, selbst dann wäre ich trotzdem für idle.
Also wenn der Benutzer irgendwas macht, weiß nicht, ob er da unbedingt jedes Mal reingekrätscht bekommen muss, dass er jetzt irgendwie, dass er sich da was verändert hat.
Wie sinnvoll das ist, naja, dazu müsste man einfach mal einen Test machen und mal gucken, wie es anhört, wie sinnvoll das ist, muss man sich dann überlegen.
Ich weiß eh nicht, wie sinnvoll es generell ist, wenn man zu viel über den State irgendwie so anzeigt, keine Ahnung.
Aber es kann auf jeden Fall schon interessant sein, ja, ich weiß gar nicht, Progress Bar, also kannst du sagen, wofür du es gebaut hast?
Also eigentlich war das gar nicht als Progress Bar gedacht, sondern so ein bisschen, um was anderes prozentual anzuzeigen.
Also so ein bisschen wie ein Pie-Chart, aber es gibt quasi immer nur, es gibt nur 0 und 1, ja, es gibt nur zwei Zustände.
Und um da nicht jetzt jedes Mal so ein volles Pie-Chart zu haben, war das einfach so quasi, wie viel Prozent sind denn davon betroffen oder so, ja.
Dafür war das eigentlich gedacht, gar nicht mal jetzt wirklich als Loader, aber es ist halt eigentlich klassisch eher so ein Loader oder halt wirklich, keine Ahnung, eine WESM-Anwendung, ja, die erstmal irgendwie 50 MB WESM-Datei runterlädt und ansonsten noch nichts machen kann, ja.
Was macht man dann? In dem Fall möchte man schon darstellen, was passiert jetzt gerade und es lädt irgendwas und wie lange dauert es noch etwa.
Wenn es so ein Widget ist irgendwo, dann möchte ich vielleicht gar nicht, weil da möchte ich vielleicht eigentlich nur announced haben, ist jetzt geladen.
Genau, genau.
Also da interessiert mich die Zahl zwischendrin wahrscheinlich überhaupt gar nicht, weil wieso muss ich das jetzt wissen, ja.
Aber es ist jedenfalls echt interessant, wenn man da nicht so tief drin ist in der Accessibility-Geschichte, wenn man dann mal sieht, wie viele Möglichkeiten es da gibt und was es alles zu beachten gibt.
Alter Schwede Hut ab vor jedem, der sich da wirklich gut mit auskennt. Also so Geschichten, ja, da denkt man einfach als sehender Mensch, der nicht betroffen ist und der auch nicht irgendwie Accessibility geschult ist speziell, man denkt da einfach nicht dran und das ist, ja, schade.
Ich muss zugeben, auch wenn ich mich viel damit beschäftige, ich beschäftige mich leider auch nicht Vollzeit damit. Also ich mache auch viel, viel normalen Webkram in Anführungsstrichen, sag ich mal. Und ich denke oft auch manchmal nicht dran.
Ich habe so verschiedene, ich habe das Gefühl, ich habe immer so verschiedene Persönlichkeiten und ich wechsle zwischen denen hin und her. Und wenn ich gerade nicht die Accessibility-Persönlichkeit habe, dann vergesse ich sowas auch.
Oder denk nicht an die einfachsten Dinge manchmal. Es ist, ja, vielleicht ist es auch einfach nur das Alter und mein dahin siechendes Gehirn.
Ach je.
Keine Ahnung.
Nee, ich glaube, es ist einfach so, wenn man, wenn man, ja, Accessibility besteht oder sich mit Accessibility damit auseinandersetzen, besteht meistens darin, dass man sich was genau anguckt.
Aber manchmal muss man auch einfach vorankommen mit dem Code und sich dann hinterher nochmal den Accessibility-Hut aufsetzen und dann sich, auch wenn ich was baue, ist das nicht immer sofort gleich mit dabei, sondern manchmal brauche ich schnell Ergebnisse, baue dann was und gucke es mir hinterher nochmal an und sage, okay, jetzt gehe ich nochmal mit dem Screenreader drüber und schaue mal, wie sie es anhört.
Ich kenne auch, wenn ich, ich bin ganz ehrlich, ich kenne nicht jede ARIA-Eigenschaft und weiß ganz genau, wie sie funktioniert.
Jetzt bin ich aber enttäuscht.
Weil mit manchen, mit manchen davon, nö, also bin ich, bin ich ganz offen, überhaupt kein Problem.
Ja, wie könntest du auch, also das ist wie jemand, der, der sagt, er kann, er kennt alles aus, er kennt alles von JavaScript, ja, er kennt, das ist ja immer auf so, ja, auf so Dev-Portfolios oder auch auf Bewerbungsschreiben so, so und so viel Prozent JavaScript, so und so viel Prozent CSS, so und so viel Prozent HTML5, also, ist ja Quatsch.
Also jetzt gerade, was du jetzt erwähnt hast, ähm, was war das, ARIA-Progress oder irgendwie ARIA-Roll-Progress und, äh, und ARIA-Live.
Also, das hätte ich jetzt zum Beispiel nicht gewusst, dass es das gibt, aber, ähm, ich hätte es mir denken können, dass es das gibt, weil eigentlich so ziemlich alles, was du in HTML mit Semantik abbilden kannst, dafür gibt es auch eine ARIA-Entsprechung, weil eben genau dafür ARIA da ist, dass man, wenn ich keinen Einfluss darauf habe, was für ein HTML-Element verwendet wird,
ich eben dem trotzdem die semantische Information so notfallmäßig noch dran tackern kann.
Ja.
Wenn ich irgendwie kann, sollte ich aber immer das native HTML verwenden.
Naja, klar.
Und deswegen, äh, das ist auch einer der Gründe, warum ich mich, glaub ich, äh, mit, mit, mit viel ARIA, ähm, Geschichten nicht kenne, weil ich sie, versuche, sie nicht zu verwenden.
Naja, klar.
Also, ich versuche immer, semantisches HTML zu verwenden, soweit es geht, weil da die Rollen einfach, äh, schon fest mit eingebaut sind. Ich muss mich da gar nicht drum kümmern.
Und dieses ARIA Live, das ist aber was, was einem immer mal wieder begegnet, weil man hat immer mal wieder so den Fall, dass ein State Change irgendwie ist.
Oder es wird jetzt, äh, Klassiker wäre, äh, ich hab irgendwie, ich krieg eine Errormeldung rein, die aber asynchron geladen wird.
Da möchte ich unbedingt, äh, unbedingt, äh, da würde ich dann auch assertive nehmen, da muss ich unbedingt dem Nutzer Bescheid sagen jetzt, äh, du, da ist jetzt grad irgendwie, da ist jetzt grad ein Fehler passiert.
Was machen wir jetzt damit?
So, ne, ähm, aber in deinem Fall würde ich wahrscheinlich sogar fast sagen, je nachdem, was es ist, ähm, gar nicht announcen oder nur sagen, ähm, übrigens, ich muss da jetzt was runterladen und dann, ach ja, ich bin jetzt fertig, ich weiß nicht.
Gut, aber, äh, ich bin auch niemand, der, der den Screenreader nutzen muss.
Falls jetzt jemand den Podcast hört und sagt, ey, für mich wäre das eine total wichtige Information, dann bitte mal in die Kommentare schreiben.
Ähm, ich glaub, da braucht doch jeder was anderes.
Und ich, ich find's, äh, auch, auch wenn ich mich mit Accessibility beschäftige, ähm, oft schwer, mich zu 100 Prozent in jemanden reinzuversetzen, der diese Technologie wirklich braucht.
Klar, kannst du, glaub ich, auch nicht.
Genau, ich bin da immer drauf angewiesen, auf Feedback, äh, von Leuten, die Screenreader benutzen und ich bin da auch immer sehr dankbar, wenn die dann sagen, ey, ähm, da an der Stelle, da ist das noch nicht so optimal, mach, mach doch mal, da bräuchte ich irgendwie das und dann, äh, kann man da auch irgendwie drauf reagieren.
Also, ich seh mich da mehr so als Advocate, weniger als, äh, weniger als der betroffene Anwender. Ich bin da immer sehr dankbar, äh, über Feedback an der Stelle.
Also, wenn ihr mal was findet, auch auf unserer Seite oder so und, äh, ihr Screenreader-Nutzer seid und da ist irgendwas komisch, ähm, dann bitte mal Bescheid sagen, weil ich hab nicht immer alle Hüte auf.
Ich hab manchmal viele auf, aber nicht immer alle.
Genau, ja, aber cool. Ähm, was mich jetzt noch interessieren würde an der Stelle, also, ich find, ich find die technische Lösung total interessant.
Ähm, ich hab mir das angeguckt und hab erstmal gedacht, wow, gar nicht mal so einfach. Ähm, diese DevTO-Geschichte, ähm, was für eine, wie, wie, was für eine Erfahrung hast du da gemacht?
Hast du da jetzt dann irgendwie sofort Community-Feedback gekriegt oder wie?
Äh, tatsächlich mehr, als ich jetzt so gedacht hätte. Ähm, mal gucken, also, das ist natürlich nicht viel, aber, beziehungsweise, ich hab hier irgendwelche Notifications, das ist doch mehr, als ich dachte.
Ähm, also, man kann da irgendwie so Einhörner vergeben. Ich hab das vorher noch nie, ich hab ein paar Mal Beiträge da drauf gefunden, die auch ganz interessant waren.
Aber warte mal, ganz kurz, also, wie war jetzt dein Workflow?
Du hast dieses Code-Pen, äh, erstellt und hast dann auf den Dev-Link geklickt?
Also, ich bin auf diese, auf diese, äh, Details-View gegangen, weil ich die halt auch teilen wollte, damit man unten dann die Description sieht.
Und dann war hier so Share, Twitter, äh, und eben Dev.to und halt einfach den Link kopieren.
Und dann dachte ich so, okay, also, auf Twitter wollte ich's eh.
Dann dachte ich, na gut, Dev.to, ähm, war ich schon ein paar Mal drauf, wie gesagt, hab da interessante Sachen gelesen, dachte, ach komm, warum eigentlich nicht?
Vielleicht erreicht man damit mehr Leute, die es vielleicht interessiert, die es benutzen wollen oder halt eben Feedback geben.
Ähm, bin da einfach drauf, schnell ein Account, äh, registriert und das dann schnell gepostet.
Also, das war, ging ruckzuck, es baut automatisch das Code-Pen auch ein, ähm, ja, und dann kam, also, echt innerhalb so von einer Stunde oder, oder so, äh, kam dann, wie gesagt, es kam ein Herzchen und es kam ein Einhorn und zwei Leute haben das sich gespeichert in den Bookmarks.
Und das war, obwohl ich ja dort niemandem vorher, also, ich bin ja, war ja frisch drauf, ich bin da niemandem gefolgt, ich bin dann irgendwie so ein, zwei Leuten, äh, die ich vom Namen her kannte, bin ich dann gefolgt.
Ähm, aber ich glaube, außer eben Alex war da sonst niemand dabei von denen, die das dann auch am Schluss geherzt haben und so, also, muss da irgendjemand zufällig drauf gekommen sein.
Aber, ja, also, fand ich, fand ich ganz nett und wenn man so, so kleine Basteleien hat und so, die vielleicht für andere interessant sein könnten, äh, ist einfach, ja, auch ein bisschen SEO, ne, du findest es dann unter dem Stichwort halt da und auf Twitter und, äh, das Code-Pen wird halt vielleicht ein bisschen gehypt oder so dadurch, also.
Okay, aber jetzt, äh, schreibst du da dann quasi ein Artikel?
Du schreibst da, du kannst da Text reinschreiben, du kannst ein Code-Pack rein, äh, ein Code-Pack, ein Code-Pen reinpacken.
Also, du hast da jetzt einen kleinen Artikel geschrieben, weil der ist jetzt, glaube ich.
Genau, also, es ist im Endeffekt, es packt automatisch das, was du als Description für das, äh, Code-Pen eingibst, das packt's da auch automatisch oben drüber.
Ah.
Und mehr ist es nicht in dem Fall, also ich hab, ähm, ja, ist genau das, was ich da, was ich da reingeschrieben hab und das Code-Pen selbst und mehr nicht.
Mensch, das muss ich, ey, das, das muss ich auch mal machen.
Wenn das so einfach ist.
Ja, und das ist halt, ich mein, ja, es ist wieder ein zusätzlicher Account irgendwo, aber, äh, das war dann eh mit, mit, mit, mit OAuth, ähm, glaube ich, also, ja, warum nicht?
Ich hab grad mal auf den Link geklickt, ähm, und hab, ich, ich find's ja, da, da, da mag ich jetzt wieder Apple, äh, weil ich könnte mich da jetzt nämlich mit Apple einloggen, äh, was nämlich ja dann auch meine E-Mail-Adresse schützt, sozusagen, vor, vor bösen Sachen, ähm, fänd ich ja irgendwie nett.
Ich könnte mich auch mit Twitter oder mit GitHub einloggen, ich find ja solche, äh, Logins dann immer cool, würd ich jetzt wahrscheinlich mit GitHub machen, aber total cool, weil ich hab ja so die eine oder andere Demo, äh, gemacht, die auch so ein bisschen, ähm, ähm, irgendwo mal gelandet ist, hab ich ja auch im Podcast.
schon mal drüber gesprochen und wenn man das jetzt irgendwie nochmal da so ganz easy zweitverwerten könnte.
Ja, richtig.
Vielleicht kriegt man da noch ein bisschen, noch ein bisschen cooles Feedback, so im Sinne von, äh, hast du das bedacht oder so, wie jetzt grad bei dir, ähm, wenn diese Community da cool ist, dann, äh, vielleicht probier ich das auch mal.
Mach das.
Cool.
Kannst mir dann gleich mal folgen.
Äh, ja, warte, ich continue with, äh, das mach ich später, aber ja.
Ja, alles klar.
Cool, yo.
Dann kommt jetzt.
Ah, das hat funktioniert.
Yeah, endlich hab ich mal nicht reingelabert.
Nee, auch nicht reingelabert und auch wirklich grammatikalisch, dass der, dass das, was da gesprochen wird, dann auch mit dem Satzende, ne?
Ja, das hab ja ich immer kaputt gemacht, von daher, ähm, ich hab einfach jetzt, ich wusste, jetzt kommt was, ich halt mal die Schnauze, sonst mach ich's wieder kaputt.
Jetzt bin schon immer ich am reden, also ich hab heute hier irgendwie 80% Redeanteil, ne?
Ja.
Ja, ich hab's ja angekündigt, ich hab ja gesagt, hier mysteriöse Entdeckungen in SVG-Elementen, hier ist heute ein Fall für Galileo Mystery.
Ähm, ich hab, ich hab ein UFO gesehen.
Ein, ein, ein, ja, ein unbekanntes Foreign-Object.
Ähm, und zwar bin ich über einen Tweet, äh, auf, äh, einem Repository gelandet, äh, mit einem animierten SVG-Header in, in der Readme.
Und ich, ich weiß gar nicht, der Tweet ging, glaub ich, expliziv von wegen, oh, cool, was, was sie da gebastelt haben, oder so.
Ähm, und ich dachte zuerst auch, wow, cool, und dann dachte ich, aber kann man nicht eh schon Style in SVGs benutzen und Dinge animieren?
Und dann hab ich das probiert, also ich hab dieses SVG genommen und ich hab dann, also ich, ich komm gleich noch dazu zu erklären, was denn dieses Foreign-Object, was da drin war und so, aber ich hab das mal rausgemacht und hab nur das Style-Tag reingemacht und dann hab ich sogar auf GitHub hochgeladen in, in Repositories zum Testen und da hat's auch funktioniert und dann dachte ich irgendwie, okay, also unten hatte noch jemand kommentiert sogar, oh, mit Foreign-Object ist das gemacht und so.
Und dann war ich irgendwie so ein bisschen, hä, Fragezeichen, weil ich nicht ganz verstanden hab, was denn jetzt dann das Großartige daran ist, wenn's auch mit einfach nur Style-Tag rein funktioniert.
Also jetzt kurz erklärt, das ist ein SVG, ne, da wobbeln so ein paar Sachen, ich weiß gar nicht, hab ich den, den, äh, Link rein, da ist jetzt auch nicht, äh, ich, äh, ja.
Ich kann ihn dir schnell, schnell da ins Trailer hauen, dass du wenigstens weißt, wovon, äh, ich weiß, wo er ist, ich weiß, wo er ist, ich find ihn, ich find ihn.
Ich hab ihn schon drin, zah, ähm, äh, äh, jedenfalls ist das ein SVG und da ist so ein, so ein, da ist ein Element drin, Foreign-Object.
Und das SVG ist halt, ja, da ist ein Text, der wabbelt so ein bisschen hoch und runter und so Kreise, die wabbeln hoch und runter, so ein Viereck, das sich dreht und so.
Also es sieht echt, es sieht hübsch aus und man denkt so, oh, cool, weil man das halt einfach nicht so oft sieht.
Zuerst denkt man so, okay, animiert das GIF, aber es sieht so scharf aus und es ist halt tatsächlich ein SVG.
Wie ihm auch sei, also da ist ein, wenn man in den, in den Quellcode reinguckt von dem SVG, ist ja ganz normal das SVG-Opening-Tag und dann Foreign-Object als Opening-Tag.
Und da drin ist dann ein Diff, äh, dem ein expliziter XML-Namespace von XHTML angegeben ist.
Und da drin ist dann ein Style-Tag mit den, mit den Keyframes und mit den Selektoren, wo die Keyframes zugewiesen werden an die Animation.
Und dann wieder ein SVG drin und da drin dann eben die Gruppe, Circle, Line, Path, so.
Und dann natürlich wieder hier SVG zu, Diff zu, Foreign-Object zu und dann das eigentliche SVG zu.
Und wie gesagt, ich hab das probiert, ich hab, ähm, einfach komplett diesen ganzen Rapper hier mit nochmal Foreign-Object, mit nochmal Diff und mit nochmal SVG raus.
Und hatte also nur öffnendes SVG-Style-Element und hatte dann die Gruppe mit dem Pfaden und so drin.
Und das hat funktioniert, das hat in Firefox funktioniert, das hat in Chrome funktioniert, das hat wie gesagt in einem Git-Repository als Readme funktioniert.
Und dann war ich irgendwie ein bisschen baff.
Weil, es gibt nämlich sogar einen CSS-Tricks-Artikel darüber, ähm, nicht genau zu dem Hedder, aber zu einem anderen, der auch einfach nur so Text so ein bisschen animiert.
Ähm, also CSS-Tricks von Chris Coyer, wie wir jetzt wissen.
Dank unserem Hörer Lars, der uns darauf hingewiesen hat, dass das nicht Chris Coyer ist, sondern dass Coyer sich auf Lawyer reimt.
Also jetzt sprechen wir es hoffentlich in Zukunft richtig aus.
Genau, danke, danke nochmal an den Kommentar.
Ähm, was ich dann daraufhin rausgefunden hab, ähm, war, dass es tatsächlich eine Seite gibt, die heißt howtopronounce.com.
Und da gibt es tatsächlich den Namen Chris Coyer und da kannst du auf Play drücken und dann kriegst du es sogar irgendwie, äh, kriegst du es einmal vorgelesen sozusagen.
Also es gibt, äh, howtopronounce.com slash Chris Coyer.
Wieder was, äh, was gelernt, bloß nicht blöd sterben.
Ja, fantastisch. Genau, also Lars, danke.
Vielen Dank für den Hinweis, ja. Immer dankend angenommen.
Ja, jedenfalls dachte ich dann, okay, also auch Chris Coyer, ähm, preist das da irgendwie an und er hat's dann so, also er hat dann, da stand auch eine Erklärung dabei, nach der ich dann aber doch nicht schlauer war und er schreibt, dass, äh, Markdown, also grundsätzlich HTML unterstützt, soweit auch nix Neues, ähm, aber dass halt Style und Script-Text, äh, gestrippt werden.
Ich weiß nicht, ob das generell Markup macht, aber wahrscheinlich eher halt GitHub aus Gründen, damit man nicht, äh, da die Styles überschreibt und irgendwelche, natürlich nicht einfach irgendwelche Skripte ausführen kann.
Ähm, das heißt, ich kann kein Inline-SVG nehmen und dann mit, mit Style-Tag irgendwie animieren, ähm, sondern ich muss es halt einbetten über einen Image-Tag.
So weit, so gut, aber das erklärt mir jetzt trotzdem nicht, warum ich nicht einfach in dem SVG selbst dann einen Style haben kann.
Und, äh, noch dazu kommt, dass Foreign-Object, ich post natürlich auch die Kenner-Uselinks wieder, äh, Foreign-Object im EE nicht unterstützt wird, aber normale Style-Tags im CSVG schon.
Also irgendwie leuchtet mir das nicht ein, warum, also man findet auch noch andere Artikel und, und Zeiten zu, es gibt sogar eine, eine, äh, Sammlung, so ein, ein Git-Repository, wo so, so, so Header so animiert und so gesammelt werden.
Und überall so, oh, voll cool, mit, mit dem Foreign-Object irgendwie und ich, also ich verstehe den Hype nicht, weil mir immer noch nicht klar ist, was das denn jetzt genau in dem Fall macht und was das mit der Animation zu tun hat, die ja so auch funktioniert.
Ähm, ja, keine Ahnung, vielleicht kann mich da jemand auf, auf, aufklären, ich hab's nicht verstanden, also vielleicht ist es irgendwas mit Browser-Kompatibilität doch, wobei, wie gesagt, man sich, äh, den IE nimmt, wenn man das tut, ähm, vielleicht die Unterstützung in irgendwelchen Clients oder Apps, also dass man halt nicht auf GitHub.com, sondern in irgendwelchen, äh, Apps und, und, und, und nativen Anwendungen, keine Ahnung, dass, das dann da nicht funktioniert, aber mit Foreign-Object doch, ich weiß es nicht.
Und hab's auch irgendwie nicht herausgefunden bei meiner Recherche. Also vielleicht hab ich auch sonst noch irgendwas übersehen, aber trotzdem noch zum Foreign-Object, weil an sich hat es nämlich einen großen Vorteil für mich und das ist das, wofür es eigentlich ursprünglich gedacht ist und, äh, es gibt auch auf Self-HTML einen Artikel zum Foreign-Object und darüber ist mir das dann nochmal so ein bisschen klar geworden.
Also, man kann damit wirklich XHTML in SVGs einbinden. Und da fallen mir jetzt zwei Sachen ein, also eins ist, man kann nicht alle CSS-Properties auf SVG anwenden, also Text-Shadow zum Beispiel funktioniert, glaub ich nicht, glaub, da muss ich einen, äh, SVG-Filter dafür nehmen.
Das wäre eine Sache und vor allem, was wichtig ist, weil ich den Fall tatsächlich schon mal hatte, ähm, in SVGs generell gibt's keinen, keinen automatischen Textumbruch.
Sondern du platzierst T-Spans und wenn du willst, dass das dann ein Umbruch ist, dann machst du halt einen neuen T-Span, den du da drunter, äh, da drunter positionierst.
Und wir hatten mal den Fall, ähm, wo wir für den Kunden ganz viele, äh, es waren so technische Zeichnungen quasi, die dabei animiert waren, so zum, zum tatsächlich durchklicken auf SVG-Basis und animiert, allerdings mit JavaScript über die GreenSock-Library.
Ähm, und da waren, war zusätzlich auch noch gegeben, dass die SVGs lokalisiert waren in verschiedene Sprachen.
Und dann mussten wir halt, da ging halt nicht einfach nur, hier ist der String auf Deutsch, hier ist der String auf Französisch, sondern weil das halt nicht richtig umbricht, mussten wir für jede einzelne Sprache, auch wenn wir die Sprache gar nicht sprechen, äh, gucken, wie fließt das und mussten dann händisch die T-Spans setzen und für manche Sprachen mehr und für manche Sprachen weniger.
Und wenn ich das damals gewusst hätte, hätte das da einiges an Arbeit gespart, weil ich dann halt einfach über ForeignObject mir da ein P-Element reinhaue und dem eine Breite gebe und dann bricht der Text da drin einfach automatisch um.
Crazy.
Und, äh, es gibt noch andere Beispiele, da habe ich was gefunden, auch ein CodePen, das ich verlinke, da hat jemand, äh, das poste ich dir jetzt auch schon natürlich schnell noch, habe ich jetzt schlecht vorbereitet, ähm, auch noch hier schnell ins Trello.
Ach, das ist so angenehm, dass du auch mal schlecht vorbereitet bist.
Und da hat jemand ein, auch ein SVG genommen, also ein Inline-SVG dann in dem Fall und da drin aber dann eben dieses ForeignObject und darin wiederum dann ein Canvas eingebunden.
Und dadurch kann er SVG-Filter auf dem Canvas anwenden.
Also das ist ein bisschen pervers, finde ich.
Das ist schon pervers, ja.
Also das ist dann im Endeffekt auf dem Canvas, das ist jetzt in dem Fall einfach nur gelb eingefärbt, aber da könnte jetzt ein Video drin liegen oder was auch immer man mit Canvas machen will, irgendwas WebGL-Gerendertes.
Und darauf dann ein SVG-Filter.
Also das ist jetzt in dem Fall so ein gezackter Rahmen und so.
Sicherheitsexperten lieben dieses Tag, äh, SVG.
Ähm, weil du kannst ja damit quasi alles machen.
Alles, alles.
Äh, das ist, äh, ich weiß jetzt, ja, ich weiß jetzt warum.
Gut, in dem Fall ist das natürlich nicht, also du würdest jetzt nicht dieses SVG mit einem Canvas dann in einem Image-Tag einbinden.
Also ich glaube, das, weiß ich gar nicht, ob das überhaupt funktionieren würde.
Das glaube ich fast sogar nicht.
Aber du würdest das halt in eine Seite reinmachen, damit du dann diesen SVG-Filter darauf anwenden kannst.
Ja, ich meine, wenn ich ein Canvas reinpacken kann, dann kann ich auch ein Script-Tag reinpacken, oder?
Vermutlich schon, ja.
Ja.
Aber wie der dann im Image-Kontext, wenn ich das jetzt wirklich als Image-Source angebe, wie das dann ausgeführt wird und ob das ausgeführt wird, weiß ich nicht.
Müsste man jetzt mal ausprobieren.
Ja, aber das wird ja nicht ausgeführt im Dokument.
Also es wäre schlimm, wenn es das täte, sondern das ist ja quasi gesandboxed in so einem Image-Tag.
Ähm, ja, ich weiß es nicht.
Ich meine nur, ähm, mir kommen da lauter komische Sachen in den Kopf, die man damit machen könnte.
Wir haben ja schon gesagt, wir machen einen Spin-Off-Podcast, wo wir krumme Dinger drehen, wo wir solche Dinger ausprobieren.
Krumme Dinger, der, der kriminellen Podcast.
Genau.
Ganz schlecht verpixelt unsere Gesichter dann.
Der kriminellen Podcast.
Aber jeder weiß, dass wir das sind.
Für Leute mit krummen Dingern.
Oh je.
Ähm, ja, schnell, schnell überspielen.
Ähm, nee, das war's eigentlich auch.
Ja, das war meine Erfahrung mit diesem Ufo.
Ja, das fand ich, also ich fand das Wortspiel übrigens auch sehr gut.
Danke.
Mir ist sehr viel Mühe gegeben.
Ja, das hast du vorbereitet, oder?
Das war ganz spontan.
Ich habe das noch vor der Sendung kurz reingetippt, so ha ha.
Hab Ufo gesehen.
Also ich fand's gut.
Also von mir kriegst du auf jeden Fall Props dafür.
Jo, dann.
Also wenn du da nichts mehr dazu hast, dann sind wir tatsächlich schon unter einer Stunde bei.
Hier ist WWS IV mit dem Tagesthema.
Bei hier ist WWS IV.
Ja, okay.
Ja, genau.
Gut, danke, dass du es auch mal verkackt hast.
Na klar doch.
Ähm, ja, wie schon angekündigt von Konstantin ganz am Anfang, es geht heute um IDEs und Editoren und Tools.
Aber ich glaube vor allem IDEs und Editoren.
Ich habe nämlich auch mal ein paar Tools auf die Liste geschrieben und habe dann gemerkt,
ah, ich glaube bei so anderen Tools könnte man vielleicht auch mal eine eigene Sendung machen.
Das führt vielleicht ein bisschen zu weit.
Es ist übrigens eine Anregung aus dem Stream.
Ich weiß jetzt leider nicht mehr, wer es genau war, aber wir haben im Stream so gefragt.
Ja, wir haben noch nichts für die nächste Folge.
Sag doch mal, was würde euch interessieren.
Da kam das mit den IDEs und Editoren.
Und das kam auch, glaube ich, schon mal irgendwie auf Twitter auch, wo jemand meint, ja, stellt doch mal vor, so euer Setup und so.
Deswegen machen wir das jetzt.
Ja, ich befürchte, unsere Setups, also zumindest meins, sind relativ unspektakulär.
Vielleicht, aber das denkt man ja über sein eigenes Setup immer.
Dass das irgendwie jeder genauso hat und dann am Ende stimmt es vielleicht gar nicht und dann ist doch noch vielleicht irgendwie was dabei, was man davon lernen kann.
Und deswegen machen wir das hier auch.
Wollen wir mal früh anfangen?
Wollen wir mal in die Geschichte einsteigen?
Können wir gerne.
Ich wollte ganz kurz nochmal, weil ich meine, nicht jeder ist irgendwie so tief drin und vielleicht haben wir auch Zuhörerinnen, die so komplett neue Einsteiger sind und irgendwie IDE, Bahnhof, IDE.
Was das überhaupt ist, kurze Begriffserklärung, also Integrated Developer Environment, also eine integrierte Entwicklungsumgebung.
Das heißt, das ist nicht nur ein einfacher Editor, sondern da ist noch ein bisschen mehr drin, also ein Compiler, eine Bildintegration, Debugging teilweise.
Und die IDEs sind auch oft spezialisiert auf eine bestimmte Programmiersprache.
Also es gibt dann irgendwie für Java was und für PHP gibt es nochmal einen spezialisierten.
VS Code ist zum Beispiel sowas jetzt im Web-Bereich, das relativ breit aufgestellt ist, da kann man relativ viel mitmachen, also theoretisch könnte man damit auch wohl irgendwelche C-Sharp- und C++-Geschichten machen, oder?
Wenn man das entsprechend anbindet, aber weiß ich nicht, ob man das unbedingt jetzt tun sollte, aber es gibt bestimmt Leute, die damit entwickeln und nicht irgendwie Visual Studio tatsächlich.
Also bei VS Code ist dann halt, glaube ich, oft so das Zauberwort, die Plugins, wie du dir das eben zusammenbaust.
Da kommen wir auch noch drauf, also ich habe mal so ein paar rausgepickt bei mir, kommen wir gleich auch noch drauf.
Aber genau die, ja?
Ja, ich glaube, ich habe meinen VS Code vorhin extra auch mal parallel noch geöffnet, damit ich direkt live nachgucken kann, aber fangen wir mal, gehen wir mal in die dunkle Vergangenheit.
Was war denn, wie ist es denn, was bei dir passiert? Wie hast du angefangen und wo bist du hin? Ich glaube, du hast es sogar schon mal erwähnt, aber wir machen es an der Stelle jetzt nochmal.
Genau, ich habe mich erinnert, dass, ja, wir haben, glaube ich, in der 0. Folge drüber gesprochen, glaube ich, auch so ein bisschen, was wir früher gemacht haben.
Genau, und ich habe auch mal, da gab es mal im 2019 im Sommer, nee, im April, nicht im Sommer, also eigentlich, ja, stimmt, also ziemlich genau, vor zwei Jahren, gab es mal so ein, bei Twitter so ein Trend, so, ich, my Code Editor Journey.
Aha, genau.
Und da haben dann Leute geschrieben, welche Code Editoren sie schon verwendet haben und quasi so einmal von vorne nach hinten durch, was, was, ja, was für Code Editoren, was war mein erster und so weiter und wo bin ich jetzt gelandet.
Und da habe ich mal aufgeschrieben, ich lese einfach mal vor, also das ist jetzt, also der Älteste zuerst, Frontpage, Dreamweaver, Notepad++, Eclipse, Aptana, Komodo Edit, Sublime, Text, IntelliJ und VS Code.
Und VS Code ist jetzt, also das stimmt auch noch, obwohl es jetzt zwei Jahre her ist, also ich bin immer noch bei VS Code.
Da hat sich jetzt auch, glaube ich, nee, da hat sich nichts getan jetzt zwischenzeitlich, das ist jetzt gerade der aktuelle Stand.
Ja, ähm, ich weiß nicht, ob ich, soll ich was zu den Alten sagen?
Zu den ganz, ganz Alten. Ach, ich würde sagen, die Leute sollen, sollen die Folge Nummer Null nochmal anhören, wenn sie es nicht getan haben schon, oder?
Ach, so ein bisschen, komm, so ein bisschen.
Oder, ja, okay, dann erzähl doch mal.
Weil, äh, weil es ist, äh, da ist kein, äh, man muss sich nicht schämen für irgendeinen alten Editor, den man mal verwendet hat.
Und Frontpage war tatsächlich so mein Einstieg in, in Web überhaupt, als ich noch überhaupt gar keine Ahnung davon hatte und, aber irgendwie eine Webseite bauen wollte.
Da, ich glaube, wiederhole ich mich jetzt ein bisschen zur Folge Null, aber das macht nichts.
Und Frontpage war halt so ein klassischer What-You-See-Is-What-You-Get-Editor.
Oder, naja, ich sage immer gern What-You-Might-Get-Editor.
Das war ja auch damals noch so die, die, die grimmige Zeit, ähm, wo es zwei Browser gab, die komplett unterschiedlich funktioniert haben.
Und in dem einen hat es dann irgendwie halbwegs gepasst und in dem anderen hat es gar nicht gepasst.
Ähm, aber ist auch egal, das war so die Zeit, ähm, um 2000, 2001 rum bei mir.
Und, äh, ja, da, da war das dann so mein Einstieg.
Ähm, ich, ich versuche irgendwie grafisch was mir so zusammenzubasteln und dann irgendwann merkt man, man kommt an die Grenzen und, äh, will dann mal, verändert mal so einen Wert.
Und, äh, genau, das war so der Einstieg.
Und das nächste war auch ein What-You-See-Is-What-You-Might-Get-Editor, äh, Dreamweaver.
Aber schon deutlich, den fand ich schon deutlich besser, weil der einem viel mehr, viel mehr Tools gegeben hat, auch wirklich im Code rumzuschreiben.
Dann Notepad++ ist ja so ein, äh, so ein Windows-Tool, das man sich auch sehr viel mit Plugins aufbauen kann.
Gibt's auch immer noch.
Ich glaube, Dreamweaver gibt es nicht mehr. Frontpage gibt's sowieso schon lange nicht mehr.
Ähm, dann, äh, Eclipse.
Aber das ist, äh, das war dann, das ist schon so eine richtige Idee.
Die anderen, äh, jetzt bin ich schwierig.
Also Frontpage ist ein Editor, aber so ein bisschen What-You-See-Is-What-You-Get.
Dreamweaver auch ein Editor, aber auch schon noch mit viel mehr What-You-See-Is-What-You-Get.
Und ich glaube, Dreamweaver konnte auch, hatte auch so eigene Widgets, die man einbauen konnte.
So eigenes JavaScript hat das, glaube ich, mitgebracht.
So hier, du möchtest hier, ähm, eine kleine, äh, kleine Galerie haben.
Hier, tu die, tu die mal rein. Ich glaube, sowas gab's damals.
Notepad++ ist super minimalistisch, wenn man keine Plugins drin hat.
Das ist im Prinzip nicht viel mehr als Text-Edit.
Das ist wirklich, ja, Editor, ganz, ganz klar abgegrenzt, ja.
Aber gibt's extrem viele sehr mächtige Plugins.
Man kann das, man kann es ziemlich aufbohren.
Zumindest war das damals so.
Gibt's auch immer noch.
Eclipse gibt's, glaube ich, auch immer noch.
Das war damals, das ist schon so eine richtige Idee.
So mit diversen Zusatzfunktionen, äh, abtana ist, glaube ich, sehr, ist, glaube ich, sehr ähnlich wie Eclipse oder kommt sogar aus dem selben Code, war nur so ein bisschen mehr für Web und weniger für PHP.
Ich glaube, viele haben Eclipse für PHP verwendet früher, aber ich glaube auch Java, oder liege ich da jetzt ganz falsch?
Äh, weiß ich nicht.
Ich bin nicht raus.
In meiner Reihe, äh, wo ich das Gefühl hab, ich bin der Einzige von den Leuten, die ich kenne, der den Deal verwendet hat.
Und ich hab den wirklich ein paar Jahre verwendet.
Komodo Edit.
Und da gab auch Komodo IDE und das war dann irgendwie kostenpflichtig.
Und Komodo Edit, ähm, war so, ich fand den so toll damals, weil der, also der hatte erstens schon ein Dark Theme, das war so 2009 oder so, glaube ich.
Äh, und da war Dark Theme in Editoren, wobei ich Dark Theme in Editoren schon in Dreamweaver verwendet hab, muss ich dazu sagen.
Das konnte man sich damals da irgendwie so reinpatchen mit irgendwelchen fiesen, äh, ich, ich leg Files irgendwo da ab und dann, äh, keine Ahnung.
Da gab's offiziell kein Dark Theme und dann irgendwann gab's das, äh, zum reinpatchen, genau.
Komodo Edit hatte einfach, war für die damaligen Verhältnisse super schnelle, ähm, Vervollständigung von HTML und CSS.
Äh, und das war, ähm, das war so bei Uptana und Eclipse, was ich vorher benutzt hab, extrem lahm gefühlt.
Da hat man irgendwie immer so eine Sekunde warten müssen, bis was kommt und bei Komodo Edit war es sofort da.
Und das hat dann, dann, das nächste war es ab Lime Text und da war das Ganze noch schneller.
Und noch so ein cooles, ähm, sehr, sehr zurückgehaltenes minimalistisches Interface.
Aber da kannst du vielleicht auch noch was dazu sagen.
Du hast, äh, ich hab, ich hab rausgehört, dass du noch so ein bisschen dran hängst an Sublime, aber es nicht mehr benutzt.
Ja, ähm, das war, äh, ich muss mal den Tweet nochmal öffnen.
Irgendjemand hatte drunter geschrieben, äh, also genau, wir haben noch gar nicht gesagt, wir haben eine Umfrage ja gemacht.
Wir haben ja heute eine Umfrage auf Twitter gemacht und dachten noch, naja, ein bisschen kurzfristig, vielleicht kommt da ja nichts bei rum.
Aber, äh, es wurde fleißig abgestimmt und es ging darum, welche, welche Editoren oder IDEs nutzt ihr denn?
Über 60 Leute haben abgestimmt, war echt irgendwie ziemlich cool.
Ähm, du wolltest, du wolltest die, äh, deine Antwort da drauf.
Genau, jemand hat geschrieben, äh, ich komme von Sublime und bin noch emotionally attached.
Und dann hat er auch geschrieben, äh, ja, die Extension für Sublime Keyboard Shortcuts ist so das Erste, was ich mir in VS Code installiere.
Also es gibt, ähm, also Steuerung Shift D zum Duplizieren der aktuellen Zeile oder auch zum Duplizieren von dem, was ich gerade markiert habe.
Das ist sowas, das, das brauche ich und das nutze ich auch ganz viel und das, das fehlt mir immer.
Und deswegen ist das für mich so ein Muss.
Also man kann das auch mit, mit, wenn man die Config, also VS Code ist ja richtig mächtig, was man da alles konfigurieren kann, äh, dann kann man sich das auch selber einstellen.
Aber so eine Extension ist schnell installiert und, äh, ja, ist für mich einfach wichtig, das zu haben.
Ja.
Ansonsten muss ich sagen, also es gibt, glaube ich, eine Extension, die holt einem komplett alle Shortcuts von, also die richtet dir VS Code von den Shortcuts her so ein, als wär's nur noch in Sublime.
Die hatte ich eine Zeit lang auch, aber nachdem ich dann VS Code neu aufsetzen musste, hab ich das dann nicht mehr so, ja, irgendwie hab ich dann gedacht, na komm jetzt, du willst eh nicht mehr zurück zu Sublime, sondern du willst VS Code nutzen, gewöhnlich an die neuen Sachen.
Und da hab ich dann eben diese, äh, gibt es noch eine andere Erweiterung, da kommen wir nachher noch dazu.
Ich hab ja wie gesagt meine Liste mal so ein bisschen durchgegangen, ähm, die halt genau dieses, dieses Duplizieren von, von Lines, äh, ermöglicht.
Okay, also ich bin, äh, auch auf Sublime gewesen, dann hab ich ja vorhin schon gesagt IntelliJ, ähm, das war tatsächlich, äh, team, äh, bezogen, weil in diesem Team eine große Java-Applikation entwickelt wurde und da hatte jeder IntelliJ, da war das quasi gesetzt.
Da bin ich dann zum ersten Mal so mit dieser, äh, JetBrains-Welt in Verbindung gekommen und fand das eigentlich auch, äh, ganz gut.
Ich meine, gut, ich konnte mich damals quasi nicht entscheiden, aber ich fand's gut, weil das war mal, mal so eine Idee, so richtig kennenzulernen und was sie so alles kann, weil das hatte ich zwar vorher schon, aber hab's nie wirklich benutzt.
Das war dann irgendwie schon auch, äh, ganz nett und ich fand auch, äh, zum Beispiel die Git-Integration in IntelliJ ziemlich gut, ähm, da, da gibt's einige nette Sachen, die man da machen kann, wenn man irgendwie mal einen alten Commit sucht oder so, dann, äh, fand ich das irgendwie ganz, ganz gut.
Das geht natürlich alles auch mit irgendwie mit Git-Bordmitteln, aber ich, ähm, wenn, wenn man ein gutes, äh, GUI hat für was, dann ist das auch meiner Meinung nach viel wert, zumindest also für mich, ähm, nicht, ich nicht Kommandozahlen-Purist, ähm, sowas es natürlich auch gibt.
Genau, äh, so, und dann jetzt aktuell, ähm, seit, äh, ein paar Jahren, wie ist Code?
Genau, so.
Wie so viele, ja, muss man sagen, also 72,1 Prozent, die Umfrage läuft noch, aber 72,1 Prozent aktuell schon für Wiers Code, also ich glaub, das ist schon im, im Web-Bereich so zum quasi Standard geworden.
Ja, ich muss mal dazu sagen, damit man das mal, äh, für die, die die Umfrage nicht gesehen haben, was für Auswahlmöglichkeiten gab's denn, also ich mein, bei Twitter hat man immer maximal vier Antworten nur, mehr gibt's nicht, das heißt, äh, ich musste mich da jetzt sehr beschränken, äh, in was, was gebe ich denn da jetzt zur Auswahl?
Und ich hab einfach mal, äh, äh, versucht zu raten, was vielleicht die Leute sagen könnten, ähm, und hab aber auch die Möglichkeit gegeben, noch einen Kommentar zu schreiben, also ich hab eingetragen, wie ist Code als Möglichkeit, Sublime Text, ähm, Wim, beziehungsweise ich hab mir gedacht, naja, wenn jemand, äh, Wim, VI, zähl ich da auch dazu, ähm, oder halt eben siehe Kommentar, und da kamen auch ein paar Kommentare rein, ähm, aber wenn ich's richtig sehe, also wenn ich mir überlege, wie viele Stimmen wir bekommen haben, also wir haben 72,1 Prozent, wie ist Code?
Sublime Text 6,6 Prozent, Wim 6,6 Prozent und siehe Kommentar 14,8, also es sind ein paar, kamen auch ein paar Kommentare rein, aber ein paar Kommentare bezogen sich dann auch darauf, dass jemand zum Beispiel, ähm, eine andere Variante von Wim verwendet, nämlich in dem Fall, äh, Neo Wim, ähm, oder, äh, oder Notepad++ wurde auch genannt, oder ich benutze viele dieser Editoren, je nachdem, was ich gerade mache.
Genau, also, da muss ich sagen, da hab ich mir auch ein bisschen wiedererkannt, also ich hab Sublime tatsächlich immer noch drauf, und wenn ich jetzt wirklich irgendwie nur schnell eine Textdatei, also ich mein, VS Code, ne, das dauert halt schon ein bisschen, also nicht jetzt arg lang, aber das dauert halt schon, bis das aufgebaut ist, ist nicht sofort da, gerade wenn's dann irgendwie versucht halt alle Projekte, die man zuletzt offen hatte, dann zu öffnen, deswegen, wenn ich jetzt nur schnell irgendwie eine Readme oder sowas lesen will, dann öffne ich die über Sublime.
Ähm, und, äh, für, wenn ich wirklich an Projekten arbeite, dann, wie ist Code?
Das wäre bei mir jetzt tatsächlich Textedit, äh, auf dem Mac, oder tatsächlich, was ich mir auch mal eingerichtet hatte und was dann, wo ich dann gemerkt hab, das ist gar nicht so schlecht, ähm, äh, auch VS Code tatsächlich, äh, für, für eben mal eine Readme oder irgendwie so ein, so eine einfache Textdatei, irgendwie eine Markdown-Datei oder sowas.
Hab gemerkt, äh, es lädt nicht wirklich, äh, langsamer oder so, aber ich hab auch kein Sublime mehr, weil Sublime, das war ja auch immer stark, das war immer alles extrem schnell.
Mhm.
Hatte ich so den Eindruck.
Soll ich mal kurz meinen, meinen Werdegang, Editor-Werdegang ganz kurz, oder warst du, du warst durch, ne?
Äh, äh, ja, ich, ich würde, ich würde, mich würde das auf jeden Fall, also ich, äh, wir, ich glaube, wir packen den Tweet nochmal, meinen alten Tweeter in die Shownotes, also ich hatte diese Aktion nicht erfunden, ich hab da nur so mitgemacht.
Ähm, würde, würde mich extrem interessieren, was hattet ihr denn so für obskure Editoren in eurer Historie, also so wie es jetzt bei mir Komodo Edit war und ich hab auch noch 25 Millionen andere ausprobiert, also gerade in meiner Zeit, als ich noch viel auf Linux irgendwie Sachen gemacht hab, äh, Genie, Giri, keine Ahnung, wie sie alle hießen, also ich hab bestimmt, bestimmt schon 50 verschiedene Editoren ausprobiert, aber ich hab jetzt da nur die aufgelistet, die ich wirklich mal für längere Zeit verwendet hab.
Also mich würde es auf jeden Fall interessieren, ich, ich bin ein Freund obskurer Editoren, äh, schreibt mal rein, was ihr so noch verwendet habt.
Aber mach mal du, genau.
Okay, ja, also ich, äh, hab angefangen tatsächlich mit Notepad unter Windows, mit dem klassischen Notepad und ich hab das tatsächlich auch, glaub ich, länger benutzt, als es vernünftig gewesen wäre.
Also da war dann Code-Highlighting schon längst an der Tagesordnung und ich hab immer noch mit, äh, mit Notepad rumgewerkelt, ähm, und bin dann tatsächlich auf Notepad++, vielleicht weil mir, weil ich mich vom Namen her nicht umgewöhnen musste, äh, umgestiegen.
Ähm, auch relativ lange, also ich bin da ja, äh, hatten wir das, glaub ich, schon mal drüber, was das Software und so angeht, da gewöhne ich mich relativ langsam um, bin da kein Early Adopter.
Ähm, dann hab ich, jetzt weiß ich nicht von der Reihenfolge her, ob ich da vorher schon Sublime dann genutzt hatte, ich, ja, so war's, glaub ich.
Sublime und dann ganz kurz mal PHP-Storm für eine Weile, aber das hat sich irgendwie bei mir nicht so manifestiert und deswegen dann wieder zurück zu Sublime oder wie gesagt, weiß ich nicht mehr die Reihenfolge genau, ähm, und dann letztendlich auch vor einigen Jahren bei, bei VS Code dann gelandet und damit auch zufrieden und, äh, ja.
Ich hab, ja, bei VS Code, äh, so das Gefühl, dass es immer mehr, äh, zu, ähm, Visual Studio umgebaut wird, also es wird immer dicker, immer mächtiger, es kann immer mehr, das ist irgendwie cool, aber eigentlich war das Coole bei VS Code, als es rauskam, eben, dass es das nicht ist.
Dass es keine riesige, fette Idee ist, sondern dass es sehr schlank war und es, also, äh, als es rauskam, eigentlich ähnlich schlank gefühlt, äh, wie Sublime Text, aber es, es hatte dann irgendwann relativ schnell, äh,
finde ich die cooleren Plugins und deswegen hat's mich da auch irgendwie so ein bisschen, wie gesagt, ich hatte auch IntelliJ dazwischen, aber hat's, deswegen, äh, war das nicht mehr mein schlanker Zweit-Editor, sondern, ähm,
ähm, VS Code, weil's eben ähnlich schlank war und das wird's, davon geht's irgendwie gerade weg, hab ich das Gefühl und das ist so, ich seh das so mit gemischten Gefühlen.
Auf der einen Seite freu ich mich tatsächlich und ich lese nicht oft Release Notes, also es gibt nicht viele Tools, von denen ich Release Notes lese, aber bei VS Code lese ich sie meistens, weil da kommt, glaub ich, jedes, äh, jeden Monat, glaub ich, äh, kommt eine neue Version raus,
oder jeden zweiten, ich bin mir grad nicht sicher, ähm, aber ich lese die tatsächlich, weil es sind oft wirklich coole, neue Sachen dabei, es lohnt sich.
Man kriegt sich auch ins Gesicht geklatscht, ne, nach jedem Update hast du die Release Notes in den Browserfenster auf dem Browserfenster.
Ja, kann man ja wegklicken und vielleicht gibt's auch ein Setting, dass man die nicht sieht, was weiß ich, aber ich find's tatsächlich interessant.
Also ich lese auch immer drüber und guck so.
Wo ich denk, ah, äh, echt cool jetzt, ähm, und es wird immer dicker.
Ja, das stimmt schon, das stimmt schon.
Und ja, trotzdem, ich hab noch nicht das Gefühl, dass es langsam geworden ist, aber, äh, ich, ich befürchte das, oder vielleicht wird's einfach immer ganz langsam, langsamer und dann merkt man's nicht.
Ja, das ist wie der Frosch im Kochtopf, wenn man das Wasser langsam erhitzt.
Richtig, ja.
Der bleibt einfach drin sitzen, bis er kocht und, äh, vielleicht ist das die Taktik von Microsoft, uns wieder in ein Visual Studio reinzubringen hier.
Ähm, oder dann am Ende zu sagen, ja, Visual Studio Code, das brauchen wir jetzt nicht mehr, wir machen jetzt hier, ladet doch mal Visual Studio runter, das ist doch genauso cool.
Das, äh, das hatte ich tatsächlich, äh, letztes Jahr mal installiert.
Okay.
Äh, für die, für die ganzen 3D, äh, Geschichten da, also ein bisschen C-Sharp, äh, mit Unity.
Ah ja, da hast du rumgebastelt, stimmt, ja.
Genau, da haben wir ja, haben wir, glaub ich, auch schon.
Auch drüber gesprochen, ja.
Ja, ähm, gut, dann gehen wir noch weiter zu den Extensions, ähm.
Also ich, ganz kurz, wir haben, glaub ich, klargemacht, wir sind beide, äh, gerade intensive Visual Studio Code Nutzer und nutzen gerade nichts, nichts, nichts groß nebenher, sondern nur so ein bisschen.
Ähm, also wir reden jetzt über Visual Studio Code Extensions und ich hab's auch bei mir mal aufgemacht.
Äh, genau, also ich glaub, das ist mit ein Grund bei mir, warum das so langsam ist beim Öffnen.
Äh, ich bin diese Liste durchgegangen und bin echt erschrocken, wie viel ich hab und ich muss da auch echt mal ausmisten.
Also ich hab jetzt mal nur die rausgepickt, die ich tatsächlich nutze und das sind doch schon einige, aber keine Angst, ich werd die jetzt nicht alle durchkauen, sondern einfach mal nennen, was ich wirklich so täglich benutze und einfach nur den Namen sagen und kurz, was es macht.
Und, äh, wer es ausprobieren will, soll es im Detail ausprobieren, aber ich werd mir jetzt da keine Abhandlung halten, weil sonst knacken wir die drei Stunden wieder.
Ja.
Soll ich anfangen, magst du?
Ähm, äh, ich will gerade überlegen, wir können abwechselnd oder, ach, fang einfach an.
Ich fang einfach mal an. Ähm, ach genau, eine Sache noch zu, zu VS Code Extensions, wollte ich noch sagen, und zwar, man kann je Projekt Vorschläge für Extensions anlegen, sodass jemand, wenn man jetzt mit mehreren, äh, Kollaboratoren, da hatten wir es im Stream auch drüber,
Collaborators, äh, zusammenarbeitet, dass da alle auf dem gleichen Level sind. Oder manchmal ist ja vielleicht auch eine Extension quasi so im Workflow verankert, ähm, komme ich nachher zu einem Beispiel, ähm, dass man die auf jeden Fall braucht, um da mitarbeiten zu können, sinnvoll.
Und das macht man, indem man einen, in dem Projektordner einen Ordner .vscode anlegt und darin einen Ordner Extensions .json. Und dann kann ich nämlich angeben, ich glaube, ich kann sogar unterscheiden, Recommendations und was man wirklich vielleicht verpflichtend sogar installieren muss, ähm, und da gebe ich dann einfach den Namen, das ist ja so mit, mit Punkten getrennt, die, die Kürzel von den, von den Plugins, äh, die kann ich dann da einfach auflisten in, in einem Array.
Und dann kriege ich, wenn ich das Projekt öffne in vscode initial, kriege ich dann einmal angezeigt, hey, hier sind die vorgeschlagenen Erweiterungen, kann die auch mit einem Klick dann alle installieren. Und das finde ich schon ganz cool. Also wenn ich irgendwas, äh, hauptsächlich anlege bei uns meistens, bin ich das, und mein Bruder will dann auch mal damit arbeiten, ähm, dann ist das ganz gut, wenn er sieht, was ich da so an Extensions nutze und er die dann auch benutzen kann.
Ich hab mich übrigens grad umentschieden, ähm, du hast vorhin gesagt, du hast heute schon so viel geredet, und, äh, ich hab, äh, die Befürchtung, dass wir bei unseren Extensions viele Doppelungen haben, und wenn du jetzt anfängst, dann hab, äh, dann nimmst du mir quasi ganz viele weg, und dann redest du wieder mehr als ich.
Und deswegen hab ich grad gedacht, äh, also wenn's dir nichts ausmacht, dann würd ich anfangen, ähm, und du machst dann quasi nur noch, äh, das Diff, das Diff dazu.
Ähm, genau, also meine erste, die sind jetzt, äh, ja genau, die sind nach, die sind alphabetisch sortiert, ähm, und ich erwähne jetzt nicht die extra, die, ähm, die quasi schon standardmäßig installiert sind, von, äh, die, die, die, die einfach, ja, es gibt welche, die standardmäßig einfach schon mit drin sind, das ist irgendwie so ne C-Extension, die hab ich nie von Hand installiert,
zum Beispiel, ähm, die erwähne ich jetzt nicht extra.
So, ähm, genau, also es fängt bei mir an mit Auto-Close-Tag.
Ja.
Ähm, hast du auch?
Ist die vielleicht auch standardmäßig installiert? Weil ich weiß gar nicht, ob ich sie installiert hab.
Da bin ich mir tatsächlich nicht sicher, aber, äh, äh, ich glaube, die hab ich tatsächlich, ich hab mich nämlich grad schon gefragt, wieso braucht man für sowas eigentlich eine extra Extension?
Vielleicht ist sie mit an Bord.
Die hat 4,4 Millionen, ähm, Installationen, ähm, oder Downloads, das ist schon...
Ist ja eigentlich auch wurscht, aber, also, jedenfalls ist das sowas, ne, man öffnet ein Tag und das wird automatisch geschlossen. Ist praktisch.
Genau.
Kann man, glaube ich, nicht drüber streiten.
Bin ich zwar blöd, dass man, dass man's braucht, dass es eine Extension ist, aber, nun, nun gut.
Ähm, als nächstes Auto-Complete-Tag, äh, äh, das ist, äh, aber warum hab ich das eigentlich?
Ja, eigentlich ist das halt um HTML, um HTML zu Auto-Completen. Ähm, ich bin mir grad nicht sicher, der hat auch relativ viele Downloads, äh, weiß gar nicht, ob ich's wirklich brauche, äh, ehrlich gesagt.
Und dann geht's noch, nochmal Auto kommt bei mir, Auto-Rename-Tag. Und das finde ich tatsächlich, äh, das nutze ich tatsächlich relativ häufig. Ähm, also, was das macht, ist, dass ich, äh, wenn ich jetzt ein Tag, wenn ich jetzt den Tag-Namen verändere, dass auch das schließende Tag gleich mit verändert wird.
Also, ich kann, ich tipp da drin rum, ich sag jetzt, aus dem Diff wird jetzt, äh, blödes Beispiel, ne, aus dem Diff wird jetzt ein Artikel, ähm, und dann, äh, wird das schließende Tag gleich mit verändert.
Das ist sehr praktisch, weil ich muss mich dann, ich muss nur einmal das dann schreiben.
Gut, ich mach halt dann Doppelklick auf Start-Tag, äh, äh, Steuerung D, dass das Enter markiert wird, ne, aber es erspart einem halt diesen Schritt.
Aber so, genau, so erspart's dir das, weil du, du, es läuft quasi automatisch sofort mit, du musst gar nichts weitermachen.
Ähm, jetzt kann man sich natürlich fragen, warum, äh, benennt man denn Tags so oft um, aber bei mir ist das tatsächlich so, in meinem, in meinem Workflow ist es oft so, ähm, dass ich versuche, relativ schnell was hinzuhacken, ähm, damit es irgendwie so aussieht, wie ich es haben will.
Und dann guckst du doch mal mit dem Semantiker-Auge drauf und stellst fest, vielleicht.
Genau, genau, genau, dann kommt, dann kommt, dann setze ich den Semantik-Hut auf und sag, was hab ich denn jetzt eigentlich gerade für einen Käse gemacht, ich hab hier ganz viele Diffs, ähm, was ist denn da jetzt, was, äh, was ist denn da jetzt vielleicht,
vielleicht irgendwie ein Artikel, was ist denn da jetzt vielleicht, keine Ahnung, ne, also, so geh ich da nochmal drüber und ändere dann tatsächlich meistens nochmal relativ viele Tags.
Ja.
Und dafür ist es extrem, äh, hilfreich.
So, ähm, dann als nächstes, da bin ich mir tatsächlich nicht sicher, warum ich das hab.
Beautify, CSS, Sass, Less.
Also quasi so ein, so ein Linter, aber halt nicht im Bildprozess, sondern als ...
Genau, also wahrscheinlich beim Schreiben, ähm, ich guck grad nochmal rein, also ich hab mich, ich hab mir die vorher jetzt nicht angeguckt nochmal.
Ähm, genau.
Ja.
Dann Better Comments kommt als nächstes.
Ähm, wenn ich's richtig weiß, ohne jetzt das nochmal nachzulesen, ist das, wenn ich jetzt zum Beispiel, äh, in CSS schreibe, äh, Slash Stern Stern und dann Enter, dass dann, ähm, der Kommentar unten weiter fortgeführt wird und ich dann quasi Stern Leerzeichen krieg in die nächste Zeile und da dann weiterschreiben kann.
Und das schließen wir dann auch automatisch.
Bis ich ihn wieder schließe, genau. Also dass man da so schöne, so schöne Kommentare kriegt. Also ich lese hier nochmal, also hier steht auch Alerts, Queries, To-Dos, äh, genau, To-Do, äh, hilft es, dabei hilft es einem auch, wenn man so To-Do-Kommentare schreibt.
Ähm, Highlights, ich, ich, ich, wahrscheinlich nutze ich nur einen ganz kleinen Teil davon, ähm, aber diese, diese Geschichte, äh, Slash Stern Stern zu drücken und dann Enter und dann, äh, dann macht er mir den schönen Kommentar und macht den unten schon wieder zu und ich kann dann Zeile für Zeile weiterspringen und ich krieg immer wieder den Stern dahin, dafür lohnt sich das schon.
Also ich hab witzigerweise die Extension nicht, aber ich hab die Funktionalität, aber ich glaub, die kommt bei mir, ähm, von einem anderen Plugin.
Kann ja sein, die, das Interessante bei VS Code ist ja, dass Plugins auch Dependencies haben oft.
Also, dass ein Plugin ein anderes haben kann.
Mhm.
Ähm, vielleicht hast du's quasi mitinstalliert, das gleiche.
Bei mir ist es, glaub ich, von den Dockblocks von, von PHP.
Ah ja, okay.
Und das macht aber nicht nur für PHP-Files, sondern das macht dann, glaub ich, auch automatisch, äh, bei allen, die halt diese Art von Kommentaren unterstützen, quasi.
Vermute ich jetzt mal.
So, genau, also nächstes bei mir, äh, Bracket-Pair-Colorizer-2.
Ist immer noch bei B, wohlgemerkt.
Es, es, es sind nicht, es sind nicht so viele.
Ich weiß nicht, ob ich, ich bin mir doch nicht mehr so sicher, ob du, äh, ob du mehr als ich hast, vielleicht.
Äh, ja, kann sein, nee, da kommen aber auch noch einige, die ich überspringe gleich, also, äh, die, die, die irgendwie standardmäßig schon da sind, oder die ich jetzt arbeitsbezogen installiert hab, aber die ich jetzt nicht extra erwähnen würde, weil ich jetzt grad ein bestimmtes Projekt in einer bestimmten Sprache hab, die würde ich jetzt nicht erwähnen.
Ähm, genau, also Bracket-Pair-Colorizer-2, warum auch immer zwei, ich weiß nicht genau, ähm, äh, nimmt halt die, äh, verschiedene Klammern und,
färbt die in verschiedenen Farben ein, sodass man sehen kann, was zu, was zueinander gehört.
Das ist eigentlich ganz nice.
Und jetzt kommt das, das Allerschlimmste, mein Theme.
Nämlich Cyberpunk.
Und das, das hab ich, glaube ich, jetzt schon seit, seit, das, das ist echt wild, wenn man's zum ersten Mal sieht.
Das ist nämlich so lilaner Hintergrund und dann kommt da so eine hellgrüne, schlimme Schrift drauf.
Ähm, und ich hab das jetzt bestimmt schon seit, seit zwei Jahren oder so.
Ich hab das damals mal zum Spaß installiert und dachte so, ja, das mach ich jetzt mal so für eine Woche.
Mal gucken, wie lange ich das aushalte.
Total drauf hängen geblieben.
Ja, krass.
Wirklich, und ich, ich liebe es, ich liebe es.
Es ging sogar so weit, dass ich, ähm, auf diesem, basierend auf diesem Theme ein eigenes Firefox-Theme für mich gebastelt hab,
weil ich diese Farben einfach mag.
Verrückt.
Also, das Theme heißt Cyberpunk.
Es macht, es macht mir mega fun.
Also, es ist, es tut am Anfang echt in den Augen weh und dann, ähm, da macht's Spaß.
So, jetzt kommen, jetzt kommen wir als nächstes, jetzt springen wir direkt zu E.
Äh, und jetzt, äh, kommt noch was, worüber wir vielleicht auch noch in einem extra eigenen Blog sprechen wollten, nämlich Editor-Config.
Genau, das hab ich auch, äh, genau, da sprechen wir nachher nochmal drüber.
Okay, dann heben wir uns das auf.
So, dann, ähm, Git-Lens, äh, ist super mächtig, ähm, so, für, für Git in, in, in VS Code direkt so machen zu können.
Ähm, und ich glaub, die Hauptfunktionalität davon, die ich regelmäßig nutze, und jetzt mittlerweile schon ohne drüber nachzudenken,
ist, dass ich bei jeder Zeile, die ich, äh, wo mein Cursor ist im Code, die letzte Commit-Message dazu sehen kann.
Und sehen kann, ähm, wer hat's committet und wann.
Das ist so genial.
Das ist so cool, das ist so cool.
Also, ich mein, du arbeitest ja mit vielen Leuten zusammen, bei mir bin's ja tatsächlich meistens nur ich und da alleine schon, ja.
Was hab ich mir dabei gedacht?
Und ich muss es nicht erraten, weil ich vielleicht das auch nicht kommentiert hab, obwohl's nicht offensichtlich ist,
sondern ich seh's in der Commit-Message und weiß, oder weiß zumindest, wo gehört das denn dazu, zu welchem Feature und was hab ich denn da genau gemacht?
Also, das ist echt sehr cool.
Also, bei mir ist es so geil, also ich arbeite ja wirklich mit ein paar, also wir arbeiten, äh, zu, weiß ich nicht, zu fünft oder so an der gleichen Code-Basis, ähm, und da ist es total nützlich, weil ich dann auch genau weiß, wen ich fragen kann, äh, warum hast du eigentlich das so gemacht, ähm, und der mir dann sehr schnell antwortet.
Oder auch bei Open-Source-Projekten, wo halt relativ schnell mal vielleicht auch hundert Leute da irgendwas gemacht haben, äh, ist auch einfach gut zu sehen.
Also, um's visuell nochmal, äh, zu, zu erklären, äh, ich krieg dann in der Zeile rechts so ein bisschen ausgekraut, seh ich dann immer den Text sofort und kann dann aber auch, glaub ich, wenn ich mit der Maus drüber bleibe, seh ich dann auch noch weitere Informationen dazu, da geht so ein kleines Fenster auf.
Also, du kannst dann zu dem Commit hinspringen und dann alle, äh, Sachen da sehen, also das ist echt cool.
So, äh, nächstes, Highlight-Matching-Tag.
Also, im Namen steckt eigentlich schon drin, was es ist, ähm, aber man kriegt dann, äh, wenn ich auf ein, auf ein HTML-Tag gehe, seh ich das schließende Tag dazu, dass da wird dann Unterstrich drunter gemacht und, ähm, sogar in der, ähm, in der Scroll-Leiste, äh, gehen dann auch Highlights auf, dass ich sehe, wo wird denn dieses Tag eigentlich geschlossen, weil manchmal kann da relativ viel Code dazwischen sein, dann hat man nicht so gut modularisiert, aber sowas habe ich auch.
manchmal. Äh, also wirklich sehr viel Code, sodass der außerhalb der Scroll-Reichweite ist, ähm, zwischen öffnendem und schließendem Tag. Also, wie gesagt, das ist ein Zeichen dafür, dass man besser modularisieren sollte, glaube ich. Ähm, aber das hilft extrem zu sehen, wie weit geht denn, wie weit geht denn ein Tag. Hast du das auch?
Nee, das habe ich nicht, tatsächlich.
Jetzt kommt eins meiner Lieblings, das mag ich allein schon wegen dem Namen, Indent Rainbow.
Und zwar macht das Folgendes, dass, ähm, äh, wir fangen, wir fangen jetzt nicht den Flame War an, ähm, Spaces vs. Tabs, das machen wir nicht.
Oh, da habe ich ja mal letztens was Interessantes gelesen.
Nein, nein, nein, das machen wir jetzt nicht.
Nee, doch, nee, doch, doch, doch, warum?
Warum eins doch besser ist.
Weil du, weil du Accessibility Advocate bist. Und da ging's drum, um Tabs vs. Spaces und warum Spaces aus Accessibility-Sicht nicht gut sind. Weil die Tab-Wid, die kannst du dir einstellen im Editor.
Ah, ja.
Und, und, und er hatte dann ein Beispiel, er hat gesagt, das war das Beispiel, was ihn, er war immer Advokat für Spaces, wie es ja viele sind, das ist ja fast überall, sieht man nur noch Spaces, bis er auf der Arbeit dann zwei Kollegen hatte, die, die, äh, hier seh eingeschränkt waren und die gesagt haben, sie strugglen damit immer, sie, sie konvertieren, wenn sie an einem Projekt arbeiten oder mit anfangen oder an einer Datei was bearbeiten, erst alles in Tabs um und um es wieder einzuchecken, konvertieren sie es dann wieder zurück in Spaces.
Ja, weil die, weil die quasi Schriftgröße auf halt irgendwie, keine Ahnung, 40 Pixel, 80 Pixel, was weiß ich, weil die halt wirklich fast, fast erblindet waren und dann aber auch die entsprechend, nur mit den, mit der höheren Schriftgröße natürlich auch extrem riesige Tabs hatten und das aber wiederum nicht wollten. Also, da gibt's tatsächlich Gründe für Tabs. Aber das jetzt wirklich nur kurz als Einschub, wir wollen jetzt keine Seite uns festlegen, nur, dass man sich mal Gedanken
drum macht, warum denn eigentlich, ja? Ja. Und was vielleicht ein Vorteil sein könnte. Damit schon wieder Einschub, Ende. Okay, also, ähm, genau, Indent, Rainbow, äh, macht folgendes, jede, also, je nachdem, wie viel man halt jetzt eingestellt hat, zum Beispiel in der Editor-Config, wo wir gleich noch draufkommen, ähm, wenn ich jetzt Einrückungen mache, halt auf zwei Spaces oder einen Tab oder was auch immer, jede dieser Einheiten, sag ich mal, also, wenn ich jetzt zum Beispiel zwei Spaces eingestellt habe, als eine Einrückung, ähm, dann kriegt, kriegen die ersten zwei Spaces,
eine bestimmte Hintergrundfarbe, sehr dezent, aber die nächsten zwei Spaces kriegen eine andere Hintergrundfarbe, auch sehr dezent und so kriegt, äh, baut sich quasi so ein kleiner Regenbogen auf und da, das hilft einem, das hilft dem Auge zu sehen, wo, in welcher Ebene bin ich denn jetzt gerade?
Ich weiß nicht, ob man's wirklich braucht, aber ich find's nett und es ist wirklich nicht aufdringlich, also, Rainbow klingt jetzt sehr, sehr hart, es ist aber wirklich sehr dezent gehalten von den Farben her, hilft mir aber, äh, offenbar, äh, dass ich's jetzt, äh, gut finde und hier erwähnen wollte.
Ja, klingt gut.
Genau, so, und jetzt kommen wir wahrscheinlich zum magischsten, jetzt bin ich schon bei L, ich hab doch gesagt, das geht jetzt dann auch, geht jetzt dann auch schnell, und zwar Live Share.
Oh ja, das hab ich, hab ich gar nicht bei mir aufgeführt, weil das irgendwie so, für mich schon so als Feature dazugehört, ja, aber ist ne Extension.
Nicht vorinstalliert, es ist keins, es ist aber, ähm, es ist von Microsoft selbst und es ist, es bietet einem die Möglichkeit, dass man zu mehreren am gleichen Code arbeitet gleichzeitig, also so klassisches wie, wie bei, äh, Google Docs zum Beispiel, dass man dann den Cursor vom anderen sieht, ähm, und man gleichzeitig tatsächlich am gleichen File auch editieren kann und sieht, was der andere gerade macht, wo, äh, wo ist der, wo ist der Cursor vom anderen gerade, oder auch am gleichen Projekt in unterschiedlichen Files gleichzeitig geht auch,
und man sieht trotzdem, wo der andere gerade unterwegs ist, also wir haben es meistens nur zu zweit genutzt, ich glaube, es gehen aber auch noch mehr Leute, und, ähm, das ist, das funktioniert folgendermaßen, man muss da sich entweder mit dem Microsoft- oder, glaube ich, GitHub-Konto, was letzten Endes ja wahrscheinlich jetzt dann auch ein Microsoft-Konto ist, in irgendeiner Art, ähm, einloggen, ähm, dann kriegt man einen, also als derjenige, der hostet, äh, kriegt einen Share-Link, den schickt man dem anderen, der kann sich dann damit einloggen, muss sich auch eben Microsoft- oder GitHub-Konto einloggen,
und dann, ähm, sieht der, kriegt der quasi den Editor und den aktuellen Zustand zu sich gespiegelt, und es gibt dann noch so diverse Features, wie, ähm, jemand darf irgendwie machen, was er will, oder man kann auch, äh, äh, äh, festlegen, auf was der Zugriff hat,
es wird teilweise sogar das integrierte, man kann sogar das integrierte Terminal sharen, und man kann, wenn man ganz wild ist, auch den anderen da rein tippen lassen, was natürlich, äh, Security-mäßig, sollte man sich genau überlegen,
wem man das machen lässt, bei meinen Kollegen habe ich da keine Bedenken, ähm, aber das ist halt tatsächlich aufschlussreich, also wenn man jetzt hier gerade irgendwie, ähm, Docker-Container laufen hat, äh, mit, mit irgendwelchen, äh, Ausgaben, und dann, äh, dass man da sieht, was da irgendwie gerade reinläuft, ähm, durchaus interessant, ähm, dass man auch die Kommandozeile,
also das Terminal mitshared, und noch verrückter, und da wird es dann wirklich abgefahren, und ich frage mich echt, was für eine verrückte Software dahinter steckt, ist, man kann sogar seinen Localhost mit dem anderen sharen, den er dann im Browser sehen kann, also, da wird man gefragt, möchtest du, ja, du hast doch hier einen Localhost.
Das ist wahrscheinlich Engrock, was da dahinter steckt.
Bestimmt.
Das ist ja so ein, das baut so einen Tunnel auf, und dann kann man dann einfach teilen, auch mit Kunden und so, also das ist gut.
Also das ist einfach der Wahn, also das, äh, wirklich der Localhost auch mitgeshared wird, also im Prinzip,
Es ist so, als ob man selbst auf der Maschine wäre, äh, und das ist jetzt gerade in, äh, in unseren Zeiten, wo man, äh, nicht mehr zusammen im Büro am Rechner sitzt,
ist das eine wahnsinnige Hilfe, wenn man gemeinsam irgendwie was angucken will, und, äh, das kann ich auf jeden Fall nur empfehlen.
Ich hab zwar ein bisschen Angst vor der schwarzen Magie, die da im Hintergrund passiert, und hab ein bisschen Angst davor, dass Microsoft das alles mitschneidet heimlich.
Weil da kommen wir nachher auch noch, das ist ein gutes Stichwort, da kommen wir nämlich nachher auch noch, äh, dazu, was Microsoft denn da so macht.
Ja, das ist, ähm, das ist wirklich total krass und mächtig und hilft extrem.
Und für uns wird's zugutekommen beim Streamen tatsächlich, wenn wir dann beide da drin arbeiten können, aber wir werden das, äh, machen.
Ähm, sag mal am Schluss vielleicht noch, was wir so beim Stream vielleicht so ein bisschen geplant haben, dass wir noch ein paar Leute anlocken.
Ja, genau.
So, äh, dann bin ich jetzt auch dann schon bei R angekommen, ähm, und das schneide ich jetzt nur kurz an, weil ich glaub, da könnte man eine ganze Sendung drüber machen.
Ähm, ähm, Remote-Containers.
Ich brauch's mittlerweile nicht mehr, weil ich hab's mal, äh, sehr, äh, intensiv benutzt, oder ich glaub, es heißt einfach nur Remote, Remote-Development.
Falsch, Remote-Development.
Und dann gibt es verschiedene.
Das, das macht Folgendes.
Ähm, man braucht für Remote-Development noch, äh, noch ein extra, äh, entsprechendes Plugin für, wo will ich denn mich hier Remote-Connecten?
Also zum Beispiel gibt es noch Remote-SSH, ähm, oder Remote-Containers, und, ähm, da, eben, wenn ich mich zum Beispiel, also SSH, wenn ich mich per SSH auf den Server verbinden will und da was editieren will, oder eben in den Docker-Container.
Ähm, die SSH-Variante habe ich relativ lang intensiv genutzt, und zwar macht das Folgendes, das öffnet quasi in dem, in dem Remote, in der Remote-Verbindung, also auf dem Server, oder es tut so, als ob auf dem Server ich Files direkt editieren kann.
Und auch ein Terminal auf dem Server benutzen kann, aber ich bin nur per SSH dorthin verbunden.
Das heißt, ähm, ich kann tatsächlich dann auf dem Server direkt Sachen anfassen und speichern, ohne, dass ich jetzt, äh, das irgendwie über Nano oder Wim oder irgendwie sowas machen muss, sondern ich kann das über VSCode machen.
Und das zieht dann einfach, also du hast die Dateien wirklich offen als Dateien, und dein Terminal unten ist aber quasi das, das, äh, SSH-Terminal.
Der Terminal unten ist der SSH-Terminal, ist das Server, ist das Server-Terminal, und ich kann da drin sogar Extensions benutzen, die dann quasi nochmal extra tatsächlich auch das, äh, also, äh, also VSCode-Extensions.
Ich glaub, denen muss man dann extra nochmal sagen, ja, jetzt auch bitte hier in diesem Remote-Container installieren, und dann funktionieren die da drin auch. Also zum Beispiel sowas wie, wenn da jetzt irgendwie ein Git-Repository liegt, Git-Lens funktioniert dann da drin zum Beispiel auch.
Krass.
Äh, das ist wirklich total crazy. Also ich hab das verwendet weniger, um direkt auf Servern zu, äh, zu arbeiten, sondern um in einer Virtual-Box zu arbeiten, die, äh, wo unsere Entwicklungsumgebung drin war, und hab mich da per SSH aber rein connectet.
Äh, und konnte dann darin direkt arbeiten, ohne irgendwie einen Share zu brauchen, der dann irgendwie wieder, wieder das, das File-System nach draußen, ähm, äh, irgendwie verfügbar macht.
Ich konnte direkt darin arbeiten. Und das ist auch so ein bisschen, das ist auch von Microsoft direkt, ähm, und das ist auch so ein bisschen Magie. Ähm, also ich weiß auch nicht, ob das auf jedem Server geht, und das installiert tatsächlich auch auf dem Server dann was.
Da, da muss man sich dann überlegen, ob man das möchte, dass Microsoft das darf, auf dem Server was installieren. Ähm, aber das ist total verrückt. Ähm, ja, also das kann ich auch für jeden, der in so einer Situation ist, dass er irgendwie extern, ähm, warte mal, ich glaub, es gibt SSH, es gibt Docker-Content,
Trainer und WSL gibt's auch noch. Also wer das Windows-Subsystem, äh, für Linux verwendet, ähm, da rein kann man sich auch connecten damit. Cool. Und kann dann direkt da drin Sachen machen. Also es ist wirklich, und es ist so, als ob du einfach, äh, das VSCode dann da drin hättest. Und das, äh, das macht echt Fun.
So, machen wir weiter. Äh, Style-Lint habe ich noch. Ähm, das ist einfach nur damit Style-Lint, falls man ein Style-Lint-File in seinem Projekt hat, also, ähm, bestimmte Regeln, wie CSS auszusehen hat.
Ähm, dass das einem die Fehler dann auch direkt im Browser schon anzeigen kann. Äh, sowas kann man natürlich auch in seine Build-Chain integrieren.
Direkt im Code meinst du, ne? Direkt im Code anzeigen. Äh, genau. Im VSCode kriege ich, im Code, im Editor kriege ich direkt die Fehler angezeigt. Also es läuft dann immer direkt rüber, wenn ich speicher. Äh, dann, also brauche ich, glaube ich, nicht noch mehr drüber zu erzählen.
Wer Style-Lint kennt, äh, da, da, man kann es auch in VSCode direkt, äh, einbinden. Äh, was, was ich sehr schätze und immer wieder benutze, SVG-Preview.
Wenn ich ein SVG im Code offen hab, ähm, kann ich mir direkt eine Preview aufklappen, wie das Bild aussieht und kann auch, äh, dann, wenn ich jetzt am SVG selbst Änderungen mach, kann ich die auch dann direkt live sehen. Äh, direkt nebendran in der Ansicht.
Äh, und jetzt das Nächste, das nehm ich dir nicht vorweg, das hast du nämlich schon mal erwähnt. Tab 9 hab ich nämlich mittlerweile im Einsatz.
Ja, hast du auch, okay, ja. Ähm, das darfst du...
Ja gut, das brauchen wir, äh, werde ich nachher auch nicht mehr was dazu erzählen, weil, das ist so geil, dass das mal das Geilteil war in Folge 6. Also wer wissen will, was, äh, Tab 9 ist, ähm, ganz kurz, es ist ein Autocomplete mit künstlicher Intelligenz.
Aber wer mehr Details will, Folge Nummer 6, äh, das Geilteil anhören.
Genau. So, dann, äh, wir sind auch jetzt gleich fertig. Ich hab noch To-Do-Highlight. Ähm, wenn man in Kommentaren...
...so To-Do reinschreibt, ähm, dann, oder Fix Me, das ist auch noch so ein Klassiker, dann kriegt man das farblich gehighlighted, so, nach dem Motto, mach mal was.
Also es wird dann richtig aggressiv, irgendwie gelb oder pink hinterlegt, äh, so nach dem Motto, hier, hier ist was zu tun, mach mal, mach mal, mach mal.
Ja, sehr gut.
Müssen wir mal aufschreiben hier.
Ja.
Und dann, äh, das Letzte auf der Liste, was ich hier noch hab, ist To-Do-Tree. Ähm, das, äh, legt einem über das ganze Projekt hinweg,
hinweg, was man geöffnet hat, äh, so ein, ähm, in dieser linken Spalte, da gibt es ja so einzelne Reiter, nenn ich das jetzt mal,
so einzelne aufklappbare Bereiche, sind eigentlich keine Reiter, ähm, wie zum Beispiel, äh, äh, was wär denn jetzt ein Beispiel?
Also du hast oben den Explorer und unten hast du ein Outline, Timeline, NPM-Scripts hab ich da.
Genau. Und das legt mir dann eben auf meinem Projekt, ähm, ein, ein Bereich To-Do-Tree an, wo alle To-Dos, oder ich weiß nicht, ob er Fix-Me's auch nimmt, da bin ich mir jetzt grad nicht sicher, aber auf jeden Fall alle To-Dos, die, was ich gerade angesprochen hab, ähm, auflistet.
Und in welchem Pfeil das ist. Und ich kann draufklicken und dann öffnet er direkt das Pfeil und springt zu dem To-Do hin. Das heißt, wenn ich, äh, also, ich glaube, man könnte sagen, so To-Dos sind eine bad practice, weil, wenn es ein To-Do gibt, warum, warum, warum, ja genau, warum macht man es dann nicht?
Das ist wie das Schild, Achtung, Straßenschäden, also bevor du ein Schild hinstellst, beheb doch einfach die Schäden.
Genau, aber manchmal, ähm, manchmal geht's nicht anders, oder ich, ich mach sowas tatsächlich, ich bekenn mich schuldig, äh, ich schreib manchmal To-Dos, Fix-Me hab ich, glaube ich, selten geschrieben, aber To-Dos.
Nee, Fix-Me, also, wenn ich weiß, okay, das funktioniert definitiv nicht, dann beheb ich's, also, so kommt das bei mir nicht, wird das nicht released. Aber To-Dos schreib ich tatsächlich doch häufig, weil ich denk, okay, das ist auf dem, auf dem Schirm und ich weiß auch, das muss an die Stelle, weil das ist halt schon, äh, die To-Dos hat man üblicherweise hoffentlich in, in, in, äh, woanders noch notiert und weiß, was, was, was ansteht, aber dass man wirklich an der Stelle weiß, okay, da muss das hin und da muss ich nicht lang suchen und kann einfach auch durchgehen, ne, ich suche alle To-Dos und dann seh ich das, äh, schnell, wo ich da noch was zu legen hab, also.
Das ist sehr praktisch.
Das war's, äh, von meinen Extensions.
Okay, ich hab, äh, eine schlechte Nachricht für die Zuhörerinnen, wir haben nicht so viele Überschneidungen, aber, äh, ich hätte eh vorgehabt, das ganz schnell zu machen und ich mach's jetzt auch ganz schnell, versprochen, weil wir, äh, wollen wir ja nicht schon wieder die, die, den Zeitrekord knacken.
Also, ich hab, äh, Apache-Conf, äh, Syntax-Highlightung für HT-Access-Dateien, weil ich da doch recht häufig mal was, äh, machen muss, ähm, Autoklosterk hatten wir, äh, äh, Duplicate-Section hab ich vorhin schon erwähnt, was
was genau das macht. Ich markier was und es wird dupliziert oder die Linie wird, äh, die Line wird dupliziert.
Easy-Less. Das ist auch sowas wie deine Lint-Geschichten, ähm, normalerweise hat man, hat man das im Bildsystem integriert, aber wenn ich jetzt ein einzeln einfaches Projekt hab, wo ich kein, kein Bildsystem aufsetzen will,
dann, äh, kann ich auch einfach sagen, sobald ich eine Lest-Datei abspeichere, wird die, äh, kompiliert in eine, in eine CSS-Datei und automatisch
abgelegt unter dem gleichen Dateinamen. Ähm, Editor-Config kommen wir gleich noch drauf. Äh, ES6-String-HTML
ist Syntax-Highlighting
für HTML und SQL
in Template-Literals, also
die Backticks, ne, das, was man kennt, diese Multi-Line
in ESX, diese Multi-Line-Strings, ähm,
Folge Nummer 17 dreht sich bei uns um, um, äh, Tagged Template-Literals, wenn das interessiert, äh, und da ist einfach, wenn man da so hat, also man braucht das nicht, wenn man View oder React nutzt, um da Templates zu bauen, wobei bei View kann man die Templates theoretisch auch als, als, äh, Property direkt übergeben, wenn man keine, äh, Single-File-Components benutzen will, aber wenn man das häufig hat, dass man irgendwie so, das reicht auch schon für kleine HTML-Schnipsel, ist das eigentlich ganz, äh, ganz interessant.
und das basiert einfach darauf, indem man, äh, den entsprechenden Kommentar, also mit Slash-Sternchen, HTML-Sternchen-Slash, setzt man vorne dran, ähm, damit das Plugin weiß, da ist HTML drin, und es schadet ja nicht, wenn das da drin ist, die paar Byte, äh, und dann hat man ein Syntax-Highlighting da drin, das ist ganz praktisch, ähm, File-Utils als nächstes, äh, Steuerungsschiff-P, da hat man ja, kann man ja dann suchen nach seinen Plugins und was die da alles bieten, also wenn man eben Git-Lens hat oder eine Git-Integration,
kann man, äh, Steuerungsschiff-P und dann sieht man alle Git-Commands, ähm, und generell alle Plugins können da irgendwie was, was reinlegen, äh, und
mit File-Utils, kann ich jetzt einfach sagen, File, äh, Delete, Move, Rename, Duplicate, und muss dann nicht dafür in Explorer oder muss nicht hier im, im, im, im Baum links, rechtsklick machen und so, und das ist ganz praktisch, wenn ich wirklich eine Datei umbenennen will, dann muss ich nicht die, äh, schließen im Editor, und weil sonst sagt er, ne, die wurde gelöscht, die gibt's nicht mehr, und muss die dann händisch umbenennen und dann wieder neu öffnen, sondern, oder halt links das machen, sondern, äh, das geht recht schnell.
Ähm, Git-Lens hatten wir, Markdown-Preview, GitHub-Styling, ähm, ist ganz nett, wenn man öfter an Open-Source-Projekten arbeitet und dann doch öfter mal so Readme-MDs ablegt, äh, ist das ganz cool, dann zu sehen, was dabei rauskommt.
Weil mir dann manchmal schon passiert ist, ich mach was, dann hab ich mich irgendwie vertippt mit der, mit der, äh, Headline, äh, mit der Anzahl der Ist-Gleichzeichen oder sowas, mir fällt das nicht auf, ist committed, und dann müsste ich jetzt extra ein Commit machen, um das wieder zu fixen, und so kann man einfach kurz gucken, passt die Readme, sieht die gut aus.
NPM und NPM-Intellicense, äh, sind einfach so Tools und Commands, eben auch wieder STRG-SHIFT-P, dann kann ich hier NPM-Run-Script, dann seh ich meine Scripts aufgelistet, die ich in dem, in der Package-JSON angegeben hab, zum Beispiel, äh, kann den Build starten, oder
Init-Command und so weiter, ähm, einfach auch, wenn man mit NPM arbeitet, ist es einfach hilfreich, das zu haben.
Ähm, und Intellicense ist nochmal irgendwie mit, mit Autocomplete speziell für, also der erkennt dann, welche Node-Module sind installiert, und wenn ich dann Require anfange zu tippen, dann zeigt er mir schon, kann ich auswählen aus einer Suggestion, ähm, welche, welches, äh, Package ich da benutzen will.
Path-Intellicense ist auch, im Endeffekt das gleiche, nur eben für Pfade, für alle Pfade, also Build-Pfade, CSS-Pfade und so weiter, schlägt es mir einfach automatisch vor, ähm, relativ von dem ausgehend, wo ich mich gerade befinde,
was ich da für Dateien, oder wenn ich halt mit, mit Punkt, Punkt, äh, zurückgehe, entsprechend die Pfade von Dateien, die es da drin gibt.
Ähm, dann hab ich diverse PHP-Extensions, die zählen jetzt nicht alle auf, äh, Intellifense, Namespace, Reserver, Debugging, Doc-Blocks, und so weiter.
Wenn man mit PHP arbeitet, äh, Tab9, wie gesagt, haben wir vorhin gehabt, dann für Vue hab ich für Tooling und für Snippets, einfach auch, damit man schneller, so Sachen, die man häufig braucht, ähm, müsste ich mal jetzt aktualisieren, weiß nicht für, für, für Vue 3, ob das da schon mit drin ist,
ähm, WordPress-Snippets, genau das gleiche, einfach, ja, fertige Snippets, äh, die halt relativ schnell erscheinen als Suggest, wenn ich anfange, was einzutippen, was man häufig braucht.
Puh, das war's.
Ach, das war's schon?
Ja.
Ah.
Ähm, an der Stelle, äh, sei vielleicht noch kurz erwähnt, äh, ich hatte jetzt, äh, bis eben nicht, also bis kurz vor der Sendung, ähm, nicht meine ganz normalen Extensions, äh, installiert, weil der Rechner ja, wie gesagt, noch relativ neu ist, ähm, jetzt hab ich sie aber alle, die ich auch bei der Arbeit benutze.
Wie habe ich das gemacht?
Ding, ding, ding, ding, ding, Magie.
Äh, was auch ganz cool ist, und da bin ich auch wieder überfragt, wie es genau hinten dran funktioniert, und wahrscheinlich, äh, liegen bei Microsoft jetzt wieder irgendwelche geheimen Daten, die, die da, die wissen alles über mich wahrscheinlich jetzt wieder.
Ähm, aber ich nutze da Settings Sync, das ist, äh, fest in VS Code eingebaut, das heißt, man kann sich da, wenn man sich da einmal einloggt oder, äh, anmeldet, ähm, dann kann man diese, die Settings, äh, von VS Code, äh, also alle, soweit ich das weiß, so ziemlich alles, äh, wird da synchronisiert.
Äh, also wenn ich irgendwie Standard, äh, Tastatur-Shortcuts hab oder, äh, irgendwas, was ich mir so selbst angelegt hab, und aber auch eben Extensions und alles mögliche, äh, weitere Themen und alles wird dann, äh, synchronisiert.
Und, äh, wenn ich dann irgendwo anders mich wieder anmelde, hab ich eben wieder genau dieselbe Konfiguration, das hab ich vorhin gemacht, und hab jetzt auch hier wieder mein schönes Cyberpunk-Theme, obwohl ich es nicht jetzt direkt, äh, selbst installiert hab, sondern hab einfach nur gesagt, hier einfach synchronisieren wir mal wieder alles.
Äh, genau, und ich glaub, man kann auch sogar sagen, ähm, was alles synchronisiert werden soll, also man kann jetzt zum Beispiel sagen, lass mal das Theme weg, oder so, ich will hier, will hier ein anderes Theme haben, oder so.
Genau, äh, das, das wollte ich noch kurz erwähnen, ähm, das ist eigentlich, das ist echt nice, weil das war früher immer so ein Ding, ich hab irgendwie einen Arbeitsrechner und ich hab einen privaten Rechner, und die sollen zwar vielleicht nicht exakt gleich sein, aber irgendwie dann doch ähnlich, und ich will nicht alles, und da hab ich jetzt das installiert, jetzt muss ich's da auch noch installieren, und dann ist, da, brauch ich da wieder das, und
das behiebt dieses Problem, also ich hab schon obskure Sachen früher gemacht, bei Sublime Text zum Beispiel, dass ich, äh, mir Simlinks gemacht hab, in die Dropbox, äh, von beiden Editoren aus, und die dann quasi, äh, die Konfiguration über die Dropbox gesynkt wurde, und so, aber das, das Problem gibt's jetzt nicht mehr, mit Settings Sync, das wollte ich noch kurz erwähnen an der Stelle.
Ja, sehr gut.
Hast du gerade eigentlich wieder Settings Sync weggeklickt, und ich hab auch gleichzeitig geklickt?
Äh, nee, nee, aber ich hab's hochgeschoben, weil das eigentlich erst, äh, drei, vier Punkte unten dran kam, und ich hab's da schnell hochgezogen, weil du's jetzt, äh, da erwähnt hast.
Genau, ähm, aber weil du gerade sagst, äh, wer weiß, was Microsoft da macht, ähm, und das vorhin auch schon mal an einer anderen Stelle gesagt hast, äh, unter der Umfrage hat jemand kommentiert, also, er nutzt, wie ist Code, genauer gesagt, wie ist Codium.
Und das musste ich erst mal, äh, suchen, das wusste ich gar nicht, was das ist, und das ist...
Ich kenn das.
Ähm, aber willst du's erklären? Dann hab ich nicht so viel Redezeit wieder.
Äh, ich, oh Gott, am, am Ende sag ich was Falsches. Das ist die Open-Source-Variante von VS Code, ne? Also, so, ohne Microsoft.
Ja, nee, also Open-Soft, äh, Open-Soft, oh Gott, ähm, VS Code ist ja generell, ist ja generell Open-Source, aber Microsoft stellt die Binaries wieder unter einer leicht anderen Lizenz zur Verfügung,
und, wenn die das bilden, haben die halt eine Config, die dann entsprechende Endpunkte setzt für Telemetrie und Tracking, ganz kurz gesagt.
Ja.
Und man kann natürlich VS Code sich selber vom Source bilden, wenn man das denn möchte, und dann ist es auch MIT-License, also wirklich so, ne, offener geht's eigentlich nicht, ähm, und da ist das ganze Telemetriezeug natürlich dann nicht enthalten.
Wenn man das jetzt aber nicht machen möchte, den Aufwand mit den Bilden jedes Mal, dann stellt eben VS Code, das ist ein Repository, die stellen, ähm, auf GitHub unter den Releases fertige Binaries für Windows, für Linux, für macOS, ähm, einfach breit, die auf MIT-Basis auf diesem selbstkompilierten Source-Code basieren.
An sich nur nette Sache, kannte ich jetzt noch nicht, ähm, coole Idee, aber ein bisschen auch mit Vorsicht zu genießen, ich hab da mal so ein bisschen durch die Issues, ich hab gesehen, okay, da gibt's, weiß gar nicht wie viel, 90 Issues oder so waren da offen, äh, mal so ein bisschen durchgeklickt,
Ja, und so manche Sachen sind wohl dann doch Bugs, die in VS Codeium auftreten, aber halt im Default-Bild nicht.
Ja, genau, das hatten wir bei uns im Team schon.
Ne, also wirklich halt so Sachen wie, dass halt einfach irgendwas nicht funktioniert, also ein Feature ist halt einfach kaputt, und wenn man dann ausprobiert, ob's mit dem Default-Bild dann vielleicht funktioniert, dann funktioniert's.
Ist ein bisschen schade, dass Microsoft da halt doch wohl ein bisschen mehr rumfuscht, als sie so sagen, und das dann eben halt nicht geht, weil das müsste ja dann vom, selber vom Source-Bild auch müsste das auftreten, ähm, und das sollte man halt wissen, wenn man sich darauf einlässt, ja, und dass man halt vielleicht ein bisschen Zeit dafür opfert, solche Sachen halt rauszufinden und dahinter zu kommen.
Ja, also der Klassiker dafür ist, ähm, man hat jetzt irgendwie eine Linux-Distribution, die vielleicht in ihrem Paketmanager nur bestimmte, äh, Lizenzen duldet, das, das gibt's ja immer wieder, also Linux-Distribution.
Die sagen, hey, ähm, was nicht mindestens Lizenz-Bla hat, ähm, das, das gibt's bei uns nicht standardmäßig zu installieren, weil wir wollen, dass alles irgendwie frei ist.
Ähm, und, äh, genau diesen Fall, oder ich, ich glaub, das war in dem Fall ein Kollege, der, äh, Arch Linux hatte, und eben auch Vs-Codium, ähm, und da wollten wir eben mal, äh, genau live, äh, äh, äh, Live-Share benutzen, äh, also ich mit meinem normalen Vs-Code und er mit Vs-Codium, und das hat nicht funktioniert.
Gut, das basiert halt wahrscheinlich wirklich auf irgendwelchen Microsoft-Geschichten, ja.
Genau, das ist eben, das ist eben so eins von den, deswegen habe ich es vorhin noch extra dazu gesagt, das ist eins von den Microsoft-Plug-Ins, und, äh, ebenso auch Remote-Containers hat auch mal nicht richtig funktioniert bei einem Kollegen, ähm, und da war dann tatsächlich die Lösung, nimm halt das echte Vs-Code und dann ging das.
Kann man jetzt drüber streiten, ist das gut, ist das schlecht, das, äh, ich find's ein bisschen merkwürdig, dass das nicht geht, wenn das quasi nur ein alternativer Bildweg ist, sozusagen.
Ja, also, äh, irgendwas scheint da anders zu sein, und man weiß es nicht so ganz genau.
Ja, also ich hab diese Probleme schon, ähm, miterleben dürfen und hab dann, äh, auch schon mal sagen können, ah ja, guck mal, nimm mal das Normale und damit geht's und dann ging's auch.
Also, das war jetzt schon mehrfach der Fall.
Ja, sollte man halt einfach wissen, worauf man sich dann halt auch einlässt und was man sich für diese Unabhängigkeit dann halt erkauft, quasi.
Genau.
Gut.
Machen wir jetzt Editor-Config.
Editor-Config, genau.
Ja, äh, Editor-Config generell, äh, vielleicht mal kurz erklärt, was es überhaupt ist, und wir nutzen das, glaube ich, beide auch in Vs-Code.
Ich hab vorhin gesagt, ich hab da ein Plugin für.
Äh, Editor-Config ist, äh, ein, ein relativ einfaches Format, äh, wofür man ein, äh, File, äh, im, im Projekt ablegt.
Also, das ist Punkt-Editor-Config, heißt, heißt das File auch.
Genau, Punkt-Editor-Config sollte normalerweise im Root liegen, ne?
Die Syntax ist so ähnlich wie eine Indie-Datei, also vom Aufbau her ist das eigentlich relativ ähnlich.
Genau.
Und was da drin steht, ist, ähm, so, so ein bisschen, wie, Editor, wie verhältst du dich jetzt?
Also, zum Beispiel, äh, wie viel, äh, haben wir irgendwie Tabs oder Spaces?
Ähm, wie, wie groß ist denn die Indent-Size?
Und dann bestimmt, dann kann man das auch für bestimmte Programmiersprachen eben nochmal, äh, genauer definieren.
Genau, also für die Dateiendungen, für die Dateiendungen kann man dann angeben.
Genau, für die Dateiendungen, ja, genau.
Also, so wie diese Indie-Sections gibt man da halt dann die Dateiendungen an und da kann man dann das nochmal überschreiben.
Also, man kann es einmal für alle festlegen mit Sternchen und dann sagen, für MD-Files will ich aber das nicht und, äh, für JavaScript nochmal anders und so, ja.
Also, warum das cool ist, äh, gerade wenn man im Team arbeitet, ähm, und man, oder gerade bei Open-Source-Projekten stelle ich mir das extrem wichtig vor.
Man möchte einen bestimmten Code-Style haben, ähm, ähm, dann, damit kann man den quasi forcieren.
Natürlich kann jemand was committen, was nicht dem Style entspricht, aber, äh, man kann ja sagen, hey, du musst, äh, Editor, äh, Config bei dir installieren, äh, und dann, äh, dann hilft einem, äh, die IDE oder der Editor eben dabei, genau das einzuhalten.
Also, der Standard, äh, wenn, wenn jetzt hier zum Beispiel steht indent-size und wir machen zwei und wir machen Spaces zum Beispiel, dann macht das dein Editor, der, äh, das Editor-Config-File liest und erkennt eben genauso, wie das Projekt das vorschreibt.
Und man kann wild zwischen Projekten hin und her springen und der passt sich immer anders an, was in der Editor-Config-Datei drinsteht und das finde ich ziemlich cool.
Kann ich auf jeden Fall nur empfehlen, wenn man nicht ganz alleine arbeitet nur an, äh, Dateien, dann, ähm, ist es auf jeden Fall cool.
Also, bei uns war das schon mal, ähm, bei einem Projekt, wo die Line-Endings, also die Line-Break-Types da was, was kaputt gemacht haben und zwar, also, da läuft da ein Bild, Bildskript drüber, ich, zu komplizieren, das genau zu erklären, warum es das macht, aber das erstellt für die Dateien dann ein Hash und, äh, gleicht das dann irgendwie ab mit einem Cache und so.
Und da war halt das Problem, dass je nachdem, wer das eingecheckt hat, dann manchmal, äh, die CR-LF-File-Endings waren und manchmal halt nur die LF-Line-Endings.
Oh ja, wunderschön.
Also, man kennt das aus, aus JavaScript oder auch anderen, äh, Sprachen mit dem Backslash-R und Backslash-N, ja, also Backslash-N sind ja normale Line-Breaks und manchmal sieht man aber auch Backslash-R, Backslash-N und zum Beispiel sollte man, wenn man per RegX irgendwie Line-Breaks, äh, berücksichtigen oder ersetzen will oder so, sollte man auch immer berücksichtigen,
Und das vielleicht halt nicht nur ein Backslash-N ist, sondern auch ein Backslash-R, Backslash-N, das heißt, das Backslash-R mit einem Fragezeichen dahinter, ne, als optional markieren, aber sollte man nicht vergessen, weil sonst kommt vielleicht mal was bei raus, was man nicht erwartet.
Und da ganz kleiner Exkurs dazu, weil ich mir schon ganz oft die Frage gestellt habe, woher kommt das dann eigentlich? Und jetzt habe ich gedacht, als ich das vorbereitet habe, jetzt googel es doch endlich mal, nachdem du dich das schon seit Jahren eigentlich fragst, woher kommt das?
Das kommt aus DOS-Tagen und, ähm, also man, es ist generell so, Windows hat oft noch oder inzwischen nicht mehr so oft, aber an manchen Stellen eben diese CRLF, also mit beidem, R und N und, äh, Unix-Systeme oder, oder so, alle anderen, alle normalen, haben das, haben das nicht, haben dann nur das, ähm, das normale, äh, Line-Feed.
Und, wie gesagt, es kommt aus DOS-Tagen und manche Geräte brauchten da wohl ein CR und andere brauchten ein LF, also hat Microsoft gesagt, wir machen einfach beides hintereinander, dann sieht's auf allen Geräten gleich richtig aus.
Ja, und so kommt das.
User-Agents, äh, ja, wir, Mozilla, irgendwie jeder Browser heutzutage ist ja Mozilla-Browser.
Mozilla und WebKit auch und hier und da und, äh, ja, genau, äh, ja, User-Agents, können wir mal eine eigene Sendung drüber machen.
Richtig, ja.
Oh Gott, ja.
Das klingt, äh, also, da war das eben, da hat das dann geholfen, dass wir dann diese Editor-Config hatten und dann war klar, ne, der VS Code hat das dann automatisch umgesetzt und wenn jemand was eingecheckt hat, wurde das automatisch beim Einchecken.
Man kann das auch mit irgendwelchen Git-Hooks und so, also, ne, da gibt's zig Möglichkeiten oder auch im Build-Skript irgendwie zu sagen, also du musst was, äh, oder im ganzen Prozess, im Ablauf, dass da irgendwas drüber gejagt wird, was sicherstellt, dass, äh, die Line-Endings gleich sind und so.
Also, es gibt mehrere Möglichkeiten, aber Editor-Config ist eben eine davon und hat uns in dem Fall recht schnell aus der Patsche geholfen.
Genau, passt halt jetzt gut, äh, zu unserer Sendung heute, weil wir über Editoren sprechen.
Ja.
Äh, fand ich das, äh, cool, das mal irgendwie zu erwähnen.
Das ist so eins der Tools und das gibt's in, eigentlich so in jedem gängigen Editor gibt's, ist es entweder fest mit eingebaut oder es gibt ein Plugin dafür und ich kann extrem empfehlen.
Wie gesagt, sofern ihr nicht der Einzige seid, der an eurem Code editiert, dann, äh, nutzt das unbedingt.
Gibt's ja auch keine Verwirrung.
Gut, das war's dann auch schon dazu, ne?
Jo, äh, genau.
Theme hast du vorhin schon gesagt?
Theme hab ich vorhin schon gesagt.
Ähm, äh, vielleicht geh ich da nochmal auf einen Tweet ein, den ich mal, äh, geschrieben hab.
Ähm, da hab ich auch, da ging's drum, wie sieht denn der Editor aus, der eigene und, äh, was hat man denn da so drin und, äh, wie es Code ist, wisst ihr schon, äh, Cyberpunk-Theme.
Ich kann's jedem nur empfehlen, das ist wirklich ein sehr schönes Theme.
Wenn man das Theme installiert hat, dann ändert sich automatisch, also zumindest merkt man dann auch, dass man auch seinen Hinterstopp-Hintergrund anpassen möchte.
Das, äh, das, äh, das will man dann.
Okay.
Man will dann so eine isometrisch gebaute Landschaft mit so einer komischen bunten Sonne und, und sowas.
Das will man dann automatisch gleichzeitig noch haben.
Äh, genau.
Ja, eigentlich hab ich's schon alles gesagt, aber diesen Tweet, den packen wir vielleicht noch in die Shownotes, weil da ging's auch noch darum, was für ein, äh, Terminal hat man denn?
In dem Fall ist es in meinem Fall, äh, OMIZSH.
Also nicht nur, weil das jetzt beim Mac, äh, mit eingebaut ist, sondern das hatte ich vorher auch schon tatsächlich unter Windows mit Siren, äh, ziemlich fies reingefrickt.
Ähm, geht aber auch, äh, und da, wenn ich mich noch recht erinnere, das Agnoster-Theme, aber da bin ich mittlerweile umgestiegen.
Und als Font im Editor, und deswegen, äh, wollte ich das nochmal aufgreifen, ähm, hab ich, äh, also als Code-Font hab ich Denk Mono.
Ähm, das ist ein Font, der kostet was, das ist ein, ein Code-Font, aber den hab ich mir tatsächlich mal gekauft, weil ich den einfach so schick fand.
Ähm, der hat so, ähm, diverse Ligaturen, die ganz nett sind, also so diese, der Klassiker irgendwie, äh, so ein, äh, so ein Doppel ist gleich und so ein Dreier ist gleich, wo dann so eine schöne Ligatur draus wird.
Ähm, fand ich einfach nett und hat auch, äh, äh, in dem kursiven Schnitt wird der dann so ein, wird der dann so ein bisschen, ähm, äh, Schreibschriftartig, fand ich einfach sehr schön, macht, macht Spaß damit, äh, Code zu schreiben.
Äh, äh, ich fand, der war das Geld wert, äh, ich würde jetzt nicht sagen, jeder soll sich den kaufen, ich meine, man muss, ich weiß gar nicht mehr, was er kostet, ich guck grad nochmal, weiß gar nicht, gibt's den noch zu kaufen?
Irgendwie meine ich im Kopf zu haben, dass der Entwickler den nicht mehr weiter, äh, entwickelt.
Äh, okay, hier sehe ich grad, 24 Pfund kostet er.
Also so 30 Euro wahrscheinlich, ne?
Da muss man sich überlegen, ob das einem wert, ob es das einem wert ist. Ich hab irgendwann mal beschlossen, ich möchte den haben, äh, mir ist es das wert, ich kauf ihn, äh, Commercial License sehe ich grad 60 Pfund, gut, äh, ich weiß gar nicht, was, eigentlich, vielleicht hätte ich auch Commercial, ich weiß gar nicht, was ich gekauft hab, ich weiß es ehrlich gar nicht.
Ähm, find ich persönlich sehr hübsch, kann man auch zu verspielt finden, aber ich find, äh, also ist es der schon seit langem der Pfund meiner Wahl auch im Terminal, ähm, weil, weil das da auch dann irgendwie nett aussieht, wenn man da die schönen Ligaturen hat, die für Code bestimmt sind.
Ähm, und der kann auch diese ganzen Powerline-Geschichten, äh, wer weiß, wovon ich spreche, wird sich darüber freuen und ich, äh, da geh ich jetzt aber nicht genauer drauf ein, weil da können wir mal eine Sendung zu Terminals machen. Ähm, das sind so spezielle Erweiterungen, ähm, die dann bestimmte Zeichen im Terminal anders darstellen, sodass da so ein bisschen grafische Darstellung möglich wird.
Ich hab jetzt gerade spontan noch was hinzugefügt.
Ähm, ich hab's gesehen.
Genau, also einfach als kostenlose Alternative, wer, äh, keine 30, äh, Euro in die Hand nehmen möchte, äh, die Vierer-Code ist das, was ich nutze.
Und die hat auch, ähm, Support für Powerline, auch wenn ich das, äh, nicht unbedingt brauche, ähm, aber halt auch diese Geschichten mit, mit den Pfeilchen und den Doppelpfeilen, also man, ich, äh, kommt natürlich auch in die Shownotes und man sieht da auch Beispiele, was da wie umgewandelt wird und so, ähm, ja, das hat mir gut gefallen und deswegen nutze ich die.
Ich muss tatsächlich sagen, ähm, die Denk-Mono-Seite, die gibt es nicht mehr, die, äh, von der ich das gekauft hab, ähm, wenn, ich würde den heute nicht nochmal kaufen, weil auf der Seite von Denk-Mono, als ich sie gekauft hab, war so ein schöner Editor, wo du also erstens mal die ganzen Zeichen gezeigt bekommen hast und dann konntest du auch selbst noch mit reinschreiben und ausprobieren.
Das fand ich ziemlich cool gemacht. Ähm, also nix, nix spektakuläres, aber das hat mir extrem geholfen zu verstehen, was mir dieser Font denn überhaupt bringt. Ähm, das würde ich, ja, heute würde ich es nicht nochmal kaufen. Ähm, ja, also, das ist auch was, was ich als Thema schon mal, äh, auf unsere Liste irgendwann geschrieben hab.
Coding-Fonts, vielleicht ist es, reicht's nicht für ein ganzes Thema, aber wir wollen...
Dann ist ja gut, dass wir es jetzt, äh, das was jetzt, äh, das was jetzt...
Ja, irgendwann, also da gibt's noch einige weitere, über die man sprechen könnte, die man sich im Detail mal angucken könnte. Vielleicht gibt es irgendwann nochmal ein eigenes Thema oder vielleicht eine Property der Woche oder so, ich weiß nicht genau, auch wenn's keine Property ist, aber, ähm, ja.
Genau. Ähm, okay. Vierer-Code könnt ihr euch angucken. Es gibt auch noch einige andere, aber die will ich jetzt nicht erwähnen, weil da machen wir vielleicht mal noch was Größeres draus. Oder vielleicht zeigen wir die mal im Stream.
Genau, genau.
Wo man sich angucken kann. Können wir uns, gucken wir uns mal gemeinsam Coding-Fonts an. Das wäre ja auch eine Idee. Äh, by the way, folgt uns auf twitch.tv slash wwsiv.
Genau. Äh, so genau. Den Tweet habe ich, äh, dann wollte ich nochmal übergehen zu, ähm, ähm, ähm, was für andere Editoren gibt's denn noch so oder was wurde denn in der Umfrage noch genannt?
Habe ich mir gedacht, auf jeden Fall sollten wir, wir haben nämlich eine Menge Antworten bekommen, ähm, von Leuten, die nicht Vierer-Code benutzen oder, äh, Sublime Text oder Wim, was ich ja aus Spaß noch da reingeschrieben hab.
Ähm, genau. Da hatten wir auch das Vierer-Code umher, ähm, wir haben jetzt ganz so ein bisschen, habe ich schon angeschnitten, diese ganze JetBrains-Geschichte.
Also ich habe vorhin gesagt IntelliJ, ähm, aber von JetBrains gibt's noch eine Menge mehr. Also es gibt noch, äh, äh, WebStorm, PHPStorm, es gibt auch was für Python.
Ähm, da fühlen sich viele Leute auch sehr zu Hause. Und wie gesagt, IntelliJ habe ich auch mal, äh, benutzt und das fand ich echt gut.
Jetzt, ich gucke gerade mal noch durch. Okay, Notepad++ haben wir auch schon gesagt.
Ähm, Neo-Wim wurde erwähnt. Habe ich jetzt nie verwendet. Ich bin, äh, bei Wim, ich glaube, das Einzige, was ich über Wim weiß, ist, wie man Exit macht.
Ey, mal hin, das ist schon mal, da bist du schon mal einigen Leuten uns voraus.
Da bist du, wenn man das nicht weiß, kann man unter Umständen sehr verloren sein, weil, wenn man jetzt, äh, wenn man Git öffnet auf dem Server irgendwie mal einfach so ein Wim, wegen Commit-Message.
Und wenn man da nicht weiß, wie man rausfindet, dann kann man echt, äh, ein Problem haben.
Wir verraten es jetzt aber auch nicht, oder?
Nee, wir verraten es nicht.
Guck, guck, googelt es mal, wie man aus Wim rauskommt.
Das muss man aber, also eigentlich, das muss man wissen, weil man kann echt in blöde Situationen kommen, wenn man nicht weiß, wie man aus Wim rauskommt.
Ähm, für die, die nicht wissen, was Wim ist, ich glaube, das ist so, es ist ein extrem, äh, minimalistischer Kommandozeilen-Code-Editor, der aber, äh, glaube ich, auch mit Plugins aufgebaut, extrem mächtig werden kann.
Und es gibt Leute, die schwören da drauf, aber man darf den Leuten auf keinen Fall sagen, dass Wim doof ist.
Das ist, das ist so wie die Diskussion Tabs versus Spaces, das endet nicht gut.
Da gibt's Krieg.
Also, ich sage, ich respektiere Leute, die Wim benutzen, weil man muss krass viele verrückte Shortcuts auswendig kennen, um das Ding richtig benutzen zu können.
Und ich, ich ziehe wirklich alle Hüte, die ich hab, vor Leuten, die das regelmäßig, oder die, die den, als ihren Standard-Editor benutzen.
Ich weiß, das gibt es.
Es gibt Leute, die nutzen Wim nicht nur, wenn sie sich mal eben auf dem Server verbinden, weil das offenbar der, ist, glaube ich, der Standard-Editor auf der Kommandozeile, wenn man sich auf Linux-Server verbindet, glaube ich.
Da erinnert sich, wenn man da irgendwie ein Text-Pfile öffnen will, dann ist das standardmäßig, glaube ich, wie I oder Wim.
Also, man sollte zumindest wissen, wie man da rauskommt, um dann Nano öffnen zu können.
Das kann ich an der Stelle nochmal sagen.
Also, wer nicht die Wim-Shortcuts alle auswendig lernen will, der sollte Nano auf der Kommandozeile nehmen.
Das ist meistens auch auf Linux-Servern installiert.
Und das sagt einem auch die Shortcuts, mit denen man zum Beispiel irgendwie speichern oder im Text was suchen kann oder so.
Das hilft einem da ein bisschen mehr.
Oh Gott, jetzt habe ich es getan, gell?
Jetzt kriege ich Ärger von der VI-Wim-Community, die mich jetzt kaputt flamen.
Und von den Leuten, die uns gerne unter zwei Stunden sehen wollen, weil die haben jetzt auch wieder geknappt.
Kriegen wir einen Shitstorm, einen VI-Shitstorm.
Was wird über PHP-Storm haben wir erwähnt?
Ich gehe hier gerade nochmal durch die Liste durch.
Sublime, VS Code, PHP-Storm.
Genau, viele Leute sagen auch, sie nutzen mehrere Sachen, je nach Anwendungsfall.
Das haben wir ja auch schon gesagt.
Ja, wenn du eh was Spezialisiertes hast und mehrere Programmiersprachen programmierst, dann brauchst du sowieso eine IDE für jede.
Ja, nee, ich meine aber auch sowas wie, man nutzt mehrere Sachen je nach Anwendungsfall und jetzt nicht gar nicht mal Programmiersprache, sondern du hast vorhin gesagt, du öffnest ein Markdown-File auch mal in Notepad++.
So habe ich das, dass ich eben manchmal ein Markdown-File auch hier in TextEdit öffne, weil ich brauche dafür keine Vervollständigung unbedingt oder allgemein irgendwie Text-Files öffne ich nicht unbedingt in VS Code.
Mache ich aber mittlerweile manchmal, weil es dann doch irgendwie noch eine schöne Vorschau hat oder so ein bisschen Highlighting.
Auf dem Server, haben wir gerade angesprochen, wenn ihr nicht dran vorbeikommt, wie I oder Wim, aber Nano, tippt mal Nano ein und guckt, ob es installiert ist.
Das erspart euch vielleicht Ärger und mir bringt es Ärger, wenn ich euch das empfehle, aber das nehme ich jetzt auf mich aus der Community.
Ja, also wie gesagt, da kommt man nicht dran vorbei, außer man installiert, wie wir vorhin schon gesagt haben, VS Code Remote, was ja auch teilweise geht, aber wahrscheinlich nicht auf jedem Server.
Und dann eben vielleicht trotzdem noch eine IDE, falls man eine braucht.
Also kann durchaus ein normales Setup sein, dass man ab und zu VI oder Nano benutzt auf dem Server.
Wie es Code oder Notepad++ für kleinere Sachen und dann eben noch eine IDE hat, weil man eben jetzt ein Python- oder ein Java-Projekt hat, also irgendwie dann, keine Ahnung, IntelliJ noch am Laufen hat oder sowas.
Und dann alle drei, je nach Anwendungsfall, kann durchaus auch sein, ist glaube ich gar nicht so unüblich.
Ja, vielleicht noch, weil das glaube ich nicht genannt oder wurde, wurde noch Atom genannt? Ich glaube, es wurde auch irgendwo noch Atom genannt, oder?
Äh, warte mal.
Es gab so in der Zeit, als auch wie es…
Ja, ja, für simple Projekte Atom, wenn es so auffällig ist, dass ich eine IDE brauche, PSP-Store.
In der Zeit glaube ich jetzt, das ist jetzt nur mein Gefühl, ich habe es nicht recherchiert, als VS Code entstanden ist, gab es noch zwei andere Editoren, die nach einem ähnlichen Prinzip gebaut sind.
Ich glaube, das sind alles Elektron-Apps oder zumindest irgendwie so auf Browser-Technologien basierende, ne?
Also VS Code ist ja eine Elektron-App, heißt, ist mit Javascript, CSS und HTML gebaut und Brackets und Atom glaube ich auch.
Und Brackets ist, glaube ich, von Adobe, wenn ich richtig liege und Atom von GitHub oder ist es umgekehrt?
Keine Ahnung, ich bin daraus.
Also so irgendwie so, warte mal, ich guck mal, ich glaube, es war Adobe Brackets.
Ja, ist ja auch egal, oder?
Genau, und das waren beides sehr ähnliche Editoren, die, also das war, auch vom Style her, haben die so ein bisschen an Unsublime erinnert.
Ja, es ist Adobe Brackets, genau.
An Unsublime erinnert, also relativ minimalistisch, aber halt mit Browser-Technologien irgendwie gebaut.
Und ich weiß nicht, ich glaube, beide haben immer noch Anhänger, aber ich befürchte, wir müssen uns damit abfinden, dass da geht es nicht mehr so arg viel weiter.
Ich glaube, VS Code frisst das Ganze auf, so diesen Markt.
Es gibt einfach so viele coole Plugins und da kommen die anderen nicht mehr so richtig mit.
Ich gucke gerade nochmal Atom, Atom, Auf zum Atom.
Auf zum Atom, genau.
Auf zum Atom, also Atom.io ist von GitHub, genau.
Ich sehe jetzt gerade nicht, von wann ist denn die letzte Version da?
Hackable Text Editor for the 21st Century.
Keine Ahnung, Peter, ich sehe es nicht, egal.
Ja, Sommers.
Die gibt es noch, ja, wir können das Thema damit jetzt abschließen.
Und dann kommt jetzt.
Das Geiltein, Geiltein.
Nur noch einen Applaus hinterher, weil du es richtig gemacht hast.
Wir waren, ja, aber wir waren, ich glaube, das war jetzt so ruckartig, wir haben gar nicht jetzt irgendwie das zu Ende gebracht.
Ich habe einfach gelabert, gelabert und jetzt fertig.
Ja, ich glaube, wir haben uns jetzt aber auch langsam so ein bisschen im Kreis gedreht.
Ja, stimmt.
Ich habe beim Geilteil, ich habe ja so eine, ich habe eine relativ lange, oder wir haben gemeinsam eine relativ lange Liste an Geilteilen bei uns in unserem Trello.
Die gehen uns so schnell nicht aus, ja.
Und ich wollte jetzt heute mal was auswählen, was jetzt nichts mit Code zu tun hat, weil ich dachte einfach, es ist jetzt mal wieder Zeit für was anderes.
Und die Geilteile, das ist nicht definiert, dass es mit Code was zu tun haben muss, das kann alles sein.
Das kann auch ein Musikstück sein, ihr habt es ja vielleicht auch schon mal gehört, irgendwie ein Künstler oder irgendwas, was einem halt über den Weg gelaufen ist.
Und finde ich jetzt auch passend, immer noch zu unseren Zeiten, in denen wir leben, wo wir uns vielleicht treffen wollen, aber nicht unbedingt sollten, ist mir ein Tool empfohlen worden, was ich dann auch mal ausprobiert habe, was ich total cool fand.
Und dachte so, damit kommt man so ein bisschen näher zusammen, aber kann trotzdem zu Hause auf seiner Couch sitzen bleiben.
Und zwar heißt das Tool Gather.town.
Ich glaube, Konstantin, wir haben wir beide das eigentlich mal ausprobiert.
Wir haben es mal kurz ausprobiert, ja, so Zwischentür und Angel so kurz.
Wir haben es mal kurz getestet.
Also, was ist das?
Das ist, ihr kennt vielleicht Zelda.
Ich finde, mit Zelda kann man es irgendwie gut vergleichen.
Ihr kennt vielleicht das Computerspiel Zelda und zwar so in alten Varianten, wo man so eine Draufsicht hat, so von schräg oben, sage ich mal.
Es ist in dem Fall, glaube ich, nicht isometrisch.
Es ist nicht schräg, aber es ist so von oben, schräg oben sieht man irgendwie so Pixelräume, Pixelmännchen, Pixel, alles Pixel, Pixel.
Und man kann da so ein Männchen steuern durch Räume und da können mehrere Männchen sein.
Und das sind tatsächlich dann auch andere Menschen, die in dem Raum oder in dieser Welt unterwegs sind.
Und wenn man dann noch irgendwie da seine Webcam, also das Ganze funktioniert im Browser.
Und wenn man da noch seine Webcam und sein Mikrofon berechtigt, dann kann man, wird direkt ein Videochat geöffnet, wenn man einer anderen Person, die da rumläuft, also dem anderen Avatar, der da rumläuft, näher kommt.
Und dann kann man direkt miteinander sprechen.
Und dann gibt es noch so Orte, wo so abgeschlossene Orte, abgeschlossene Räume innerhalb von denen jeder den anderen hören kann.
Aber wenn man nicht drin ist, hört man nichts davon oder kriegt nichts davon mit, was da drin ist.
Oder zum Beispiel einen Spieletisch, an dem man dann Spiele, Online-Spiele gemeinsam spielen kann.
Und es ist irgendwie eine ziemlich coole Sache, wenn man irgendwie mal ein Meeting machen möchte, aber man möchte jetzt nicht unbedingt das klassische Online-Meeting über Jitsi oder Teams oder keine Ahnung, Zoom, was man halt verwendet.
Sondern man möchte irgendwie das so ein bisschen mehr so wie ein echtes Meeting machen, wo man auch mehr so wie ein echtes Community-Meeting, sage ich mal, so ein Community-Meetup, wo sich dann auch mal Grüppchen bilden können, die über ein Thema sprechen.
Also ich habe es tatsächlich in der Form noch nicht verwendet, kann also nicht genau sagen, ob es wirklich auch funktioniert.
Aber ich hatte so den Eindruck, das ist cool.
Dann kann man sagen, ja, da in der Ecke, da sprechen wir jetzt mal über dies und in der Ecke sprechen wir mal über das.
Und da wird noch ein Spiel gespielt.
Und man kann diese Welt auch gleichzeitig noch irgendwie mit dem Editor, der da mit eingebaut ist, tatsächlich erweitern.
Man kann da irgendwie seine eigenen Pixel-Sachen noch mit reintun und kann, glaube ich, noch Sachen von extern mit reinscheren und so.
Das ist total fancy.
Und ich fand das einfach eine coole Sache, dass mal jemand weitergedacht hat, wie kann man denn sich treffen online und nicht nur, ich sehe die Gesichter von den anderen und rede jetzt mit denen, sondern wie kann man das dann irgendwie noch ein bisschen weiter treiben und noch so ein bisschen ein besseres Gefühl vielleicht dabei vermitteln.
Und drauf gekommen, dass es so was gibt, bin ich eigentlich über, wo ich nicht teilgenommen habe, aber so ein bisschen mitgekriegt habe, den letzten Congress.
Und das war eigentlich nicht der Congress, sondern die Remote Chaos Experience oder Chaos Experience.
Also so der Ersatz für den Chaos Communication Congress jetzt Ende letztes Jahr war in so, also das war nicht bei Gather Town, aber in so einer Pixel-Welt, wo man den Avatar durchsteuert und wohl auch mit sich sofort öffnenden Jitsi-Räumen und sowas muss ziemlich fancy gewesen sein.
Ich finde es eine coole Sache einfach.
Also Konstantin und ich haben es mal ausprobiert und es macht Spaß und ich würde gerne mal, weißt du was, wir könnten mal ein HörerInnen treffen da drin.
Oh ja, stimmt, das hatten wir ja eh mal vorhin wirklich und jetzt könnte man das mal darüber machen.
Ja, dann machen wir das einfach mal darüber, weil das können wir auch jederzeit einfach mal machen.
Man muss auch dazu sagen, also das ist kostenlos für bis 25 Personen. Also so im kleinen Freundeskreis kann man das einfach kostenlos nutzen.
Wenn man jetzt ein großes Unternehmen ist und da irgendwie und einzelne Räume und was weiß ich, kann man da verschiedene Pakete in verschiedenen Größen buchen und dann kostet das so ein paar Euro stundenweise oder auch monatsweise abgerechnet.
Aber so an sich kann man das auf jeden Fall mal kostenlos ausprobieren.
Wir machen eine exklusive, genau, 25 und dann.
25 und wenn jemand geht, dann darf jemand Neues rein, so wie ihm.
Sagt uns doch mal, ob da Interesse besteht, dann machen wir sowas mal.
Ja, also gerade, war tatsächlich nicht vorbereitet, gerade aus dem Gedanken geboren, Mensch, wofür könnte man es eigentlich einsetzen?
Ja, ein HörerInnen treffen wäre einfach mal geil.
Ja.
Das könnte man da drin machen.
Können wir mal ein bisschen quatschen und ein bisschen Scribble.io spielen oder sowas, man da drin halt spielen kann.
Tja, cool.
Ja.
Dann sind wir jetzt.
Das ist jetzt wieder der Nicht-End-Jingle.
Der nicht existierende End-Jingle, ja.
Der klassische, sehr gut.
Aber guck mal, wir sind nur ein bisschen über zwei Stunden.
Das ist, glaube ich, jetzt, okay, dafür kriegen wir jetzt vielleicht nichts.
Ist das jetzt vertretbar?
Also, ganz ehrlich, also unter anderthalb Stunden wird man uns, glaube ich, nicht mehr bekommen.
Wenn es nicht gerade eine Ankündigung ist von Wir streamen diese Woche, aber also eine Folge mit Thema und so unter anderthalb Stunden, ich glaube, das ist einfach nicht mit uns.
Es geht, es geht, es geht, es ist positiv. Wir reden einfach auch so gerne miteinander, weil ich meine, wir machen das, wir machen das jetzt im Stream jetzt noch viel öfter und uns gehen die Themen nicht aus und wir haben trotzdem Bock, miteinander zu reden und es ist ja, also von diesem Podcast, außer irgendeiner macht mal Spin-Off und macht dann irgendwie alleine, was nur halb so gut wäre, glaube ich, weil das wäre dann die Hälfte von WWS-IV.
Es ist einfach ein sehr gutes Zeichen, dass das so gut funktioniert und dass wir eben lange miteinander reden wollen, dass es uns, dass uns die Themen...
Ich glaube, es wäre sogar weniger als halb so gut.
Wahrscheinlich.
Weil die Summe, das ist ja nicht nur die Summe, sondern das Zusammenspiel.
Ja, also ich...
Aber egal, jetzt reden wir nicht in die letzte dreiviertel Stunde, damit wir wieder auf drei Stunden kommen über Meta.
Ich nehme jetzt meinen letzten Schluck aus meinem Glas und ich hatte mal wieder eine gute Zeit mit dir, Mensch.
Ja, hat wieder sehr viel Spaß gemacht und vor allem auch in diesem Setting jetzt mal wieder und schauen wir mal nächste Woche, also genau, dann kommen wir doch jetzt schon zur Verabschiedung und sagen noch kurz so Twitch-Pläne.
Also wir haben jetzt vorgenommen, uns so jeden Mittwoch fest zu streamen um 8 Uhr, also 20 Uhr abends, nicht 8 Uhr morgens und alle zwei Wochen so im Wechsel mit dem Podcast, auch Freitags.
Genau.
Wir wissen nicht genau, wie lange wir das durchhalten, weil das ist relativ viel, aber wir wollen das jetzt mal machen, das haben wir jetzt einfach uns mal vorgenommen.
Wie gesagt, wir würden gerne Twitch-Affiliate werden, wenn ihr uns helfen würdet dabei, indem ihr uns folgt und auch gerne natürlich zuschaut bei Twitch, würden wir uns sehr drüber freuen.
Aber wie gesagt, für alle, die nicht genau zu diesem Zeitpunkt dabei sein können, euch entgeht, dass ihr mit uns dann direkt in Kontakt treten könnt über den Chat, aber ihr könnt das natürlich auch nochmal nachschauen auf Twitch.
Und ich glaube auch auf YouTube, so ganz heimlich, oder ist das schon öffentlich?
Ja, richtig, das habe ich vorhin schon gesagt. Wir haben da keine Follower und das ist schon die zweite Folge, die erste Folge mit diesen 8,5 Minuten Schnipseln, die verschonen wir euch mal damit.
Aber die zweite Folge kann man auch auf YouTube nachschauen, genau.
Ja, wir haben noch keine schöne URL, weil da braucht man irgendwie 100 Subscriber. Ich glaube, die kriegen wir so schnell nicht zusammen.
Aber erstmal nach, wo wir sind, ist vorne schauen auf YouTube und da sieht man dann die Folge. Da sieht man auch unser Intro in Bewegung.
Ja, genau, stimmt.
Das ist ja auch für die Podcast-Hörer, die wissen das ja gar nicht.
Allein dafür lohnt sich's schon.
Ja, und vielleicht stellen wir es auch mal irgendwie so als Clip auf Twitter oder so, mal gucken. Aber wer es sehen will, muss jetzt aktuell den Stream auch wirklich mal angucken.
Also ich finde das schon auch, das Intro lohnt sich, das Feedback war auch entsprechend gut.
Ja, und wer hat's gemacht? Der Konstantin hat unser grandioses neues Video-Intro gemacht. Natürlich mit dem bekannten Sound, aber mit noch viel geileren und verstörenden Bildern.
In Farbe und bunt.
In Farbe und bunt, ja. Und sogar bewegt. Nicht nur Farbe und bunt, sondern es geht jetzt richtig zur Sache. Also schaut mal bei Twitch vorbei, wir würden uns wirklich freuen.
Genau, und Pläne, also wir haben schon Feedback von euch, also von denen, die zugeschaut haben, bekommen. Was sehr angesagt ist, sind so Seiten-Reviews, dass ihr uns Seiten vorschlagt und wir gucken uns die mal an, was man besser machen könnte, was gut ist.
Performance-mäßig, Accessibility, vor allem durch den Moritz und halt Live-Coding. Das ist, glaube ich, auch so das Ding, dass wir uns, dass wir live uns irgendwas, dass wir uns eine neue Technik aneignen zusammen, die wir beide noch nicht können.
Oder irgendwie ein Plugin schreiben für OBS, für Twitch, was auch immer. Das sind so die zwei Dinge, die wir, glaube ich, hauptsächlich machen werden auf dem Kanal.
Neben halt einfach nur Höreraustausch, Zuschaueraustausch, Zuschauerinnen-Austausch, Hörerinnen-Austausch.
Ja, das macht uns auf jeden Fall, das macht uns auf jeden Fall mega Spaß, so in Austausch mit euch zu treten. Und wir haben jetzt auch gemerkt, wir können auch eine Menge von euch lernen, immer wieder.
Das fand ich einfach fantastisch. Also es ist nicht nur so wie im Podcast, so ein bisschen Frontalbeschallung, sage ich mal. Es hat ja auch alles seine Berechtigung.
Aber so dieser Austausch, so, ja, guck mal, irgendwie da, da kenne ich mich aus, mach doch mal dies hier an der Stelle im Code oder so, ist extrem wertvoll, finde ich total cool.
Ich glaube, da können alle, die teilnehmen, inklusive uns, können da noch viel von lernen und es ist einfach eine ganz andere Art der Interaktion.
Es ist für uns irgendwie neu. Wir haben das jetzt gerade zweieinhalb Mal gemacht, sage ich mal. Ist auf jeden Fall mega spannend. Wir haben schon gesagt, Multitasking.
Unsere Köpfe glühen dabei, aber es macht trotzdem riesen Spaß.
Wir haben es ja so im ersten Jahr unseres Podcast-Daseins, haben wir es ja ein bisschen übertrieben mit dem Einfordern von Feedback.
Und das erübrigt sich da halt einfach, weil da kriegst du im Chat automatisch Feedback.
Und seitdem sind wir auch ein bisschen beruhigt, dass wir was zurückbekommen und merken, es gefällt euch, was wir da so tun.
Okay, und damit sind wir am Ende und sehen uns entweder auf Twitch oder hören uns in der nächsten Folge.
Macht's gut, bleibt gesund. Bis dann.
Bye, bye.