Working Draft

Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« Schaefer
undefined
Jun 18, 2024 • 1h 22min

Revision 621: Software Craftsmanship und Clean Code mit Nicole Rauch

Nicole Rauch sorgt in dieser Revision dafür, dass Vanessa und Peter endlich mal anfangen, brauchbaren Programmcode zu produzieren. Unser Sponsor makandra bietet umfassende Unterstützung für Entwicklerteams mit Infrastruktur- und Operations-Expertise. Das DevOps as a Service-Angebot umfasst Beratung und Unterstützung in allen Bereichen der Infrastruktur, von der Dimensionierung über Technologieentscheidungen bis hin zum Aufbau mit Infrastructure-as-Code, automatisierten Deployments und mehr. Darüber hinaus im Angebot: Maßgeschneiderte Schulungen zu Kubernetes, Terraform und AWS. Sie suchen Unterstützung beim Monitoring Ihrer Infrastruktur oder fragen sich, ob Ihre Backup-Strategie für einen Disaster-Fall ausreichend ist? Sie suchen temporär Unterstützung, um Ihre Entwickler zu entlasten oder ein eigenes Infrastruktur-Team aufzubauen? Wir helfen gerne. Mehr Infos unter makandra.de/goto/workingdraft. Schaunotizen [00:02:19] Thema Nicole berichtet von ihrem Einstieg in die wunderbare Welt von Software Craftsmanship und Clean Code, u. a. über die SoCraTes-Konferenzserie. Clean Code definiert sich laut Nicole darüber, was er nicht ist, nämlich räudiger Legacy-Code (siehe Cheat Sheet). Dessen Räudigkeit manifestiert sich meist durch schlechten Stil, fehlende Tests und mangelndes fachliches Verständnis-Fundament. Wie viel fachliches Know-How einem ohnehin überforderten Entwicklerhirn zuzumuten ist, (und inwiefern Entwicklungs-Techniken wie Entities, Value Objects, immutable Objekte, Test-Driven Development und das in Revision 556 beleuchtete Domain-Driven Design helfen können) wird eifrig diskutiert. Am Thema Coding Conventions kommen wir natürlich auch nicht vorbei und stellen fest, dass die Zeit der Yolo-Styles definitiv vorbei ist; neuere Sprachen wie Go und Rust liefern schließlich ab Werk Formatierungs-Tools mit. Zum Einüben von varausschauender Entwicklung empfiehlt Nicole Code Katas (z.B. via CodeKata, jskatas.org, Coding Dojo und das dank Retro-Style damit nicht verwechselbare Cyber Dojo). Dazu passen Pair- und Ensemble Programming, Strategien für den Umgang mit Schlipsen, die Clean-Code-Bemühungen torpedieren und was immer das Gegenteil von Refucktoring ist.
undefined
Jun 11, 2024 • 1h 22min

Revision 620: Peak TypeScript

Es ist mal wieder Zeit für (angeblich) TypeScript und (tatsächlich) sehr viele andere Themen mit Stefan und Peter! Unser Sponsor Maximale Performance für all deine Projekte? Bei mittwald brauchst du dir nie wieder Sorgen um Performance-Einbrüche machen. Der Traffic kann ruhig durch die Decke gehen, deine Seite bleibt immer rasend schnell. mittwald hat Hosting neu gedacht und alles auf die besonderen Anforderungen und Workloads von Agenturen und Freelancern optimiert – inklusive Infrastruktur, benutzerfreundlicher Oberfläche und flexiblen Tarifen. Egal, ob du deinen Server selbst konfigurieren möchtest oder das mittwald-Team sich um die optimalen Specs kümmern soll. Der persönliche Kundenservice unterstützt dich 24/7 bei allen Fragen rundum WordPress, TYPO3, Shopware oder was auch immer dich gerade beschäftigt. Im firmeneigenen und TÜV-zertifizierten Rechenzentrum sind deine Daten in sicheren Händen. Und das Beste? Wer seine Projekte bei mittwald hostet bekommt nicht nur die besten Server, sondern auch ein Hosting mit Strom aus 100% erneuerbaren Energien. Also, worauf wartest du? Geh jetzt auf mittwald.de/workingdraft und buch dein erstes Projekt! Schaunotizen [00:02:16] Peak TypeScript Zum Start erzählen wir uns semi-frustrierende Geschichten aus der TypeScript-Praxis und diskutieren, ob TypeScript überhaupt bei der Fehlervermeidung hilft – und wenn nicht, wozu es sonst gut sein könnte. Das Ausbleiben von Revolutionen in neuen TypeScript-Releases lässt uns vermuten, dass wir Peak TypeScript erreicht haben. Wir quatschen ein wenig über Rust, Web Assembly, TypeScript-Externalitäten (z.B. Bugs in Non-TS-Projekten) und machen am Ende noch einen Speedrun durch die Feature-Listen von TS 5.3, 5.4 und 5.5
undefined
Jun 4, 2024 • 1h 9min

Revision 619: Svelte Next

In dieser Episode hat sich Schepp mit Svelte Core Team Member Simon Holthausen (LinkedIn / Mastodon / Twitter) zusammengesetzt, um über die kommende Version von Svelte zu sprechen: Svelte 5! Leider hatte Simon während der Aufnahme einen Frosch im Hals 🐸, aber er hat sich tapfer durchgebissen. Unser Sponsor Maximale Performance für all deine Projekte? Bei mittwald brauchst du dir nie wieder Sorgen um Performance-Einbrüche machen. Der Traffic kann ruhig durch die Decke gehen, deine Seite bleibt immer rasend schnell. mittwald hat Hosting neu gedacht und alles auf die besonderen Anforderungen und Workloads von Agenturen und Freelancern optimiert – inklusive Infrastruktur, benutzerfreundlicher Oberfläche und flexiblen Tarifen. Egal, ob du deinen Server selbst konfigurieren möchtest oder das mittwald-Team sich um die optimalen Specs kümmern soll. Der persönliche Kundenservice unterstützt dich 24/7 bei allen Fragen rundum WordPress, TYPO3, Shopware oder was auch immer dich gerade beschäftigt. Im firmeneigenen und TÜV-zertifizierten Rechenzentrum sind deine Daten in sicheren Händen. Und das Beste? Wer seine Projekte bei mittwald hostet bekommt nicht nur die besten Server, sondern auch ein Hosting mit Strom aus 100% erneuerbaren Energien. Also, worauf wartest du? Geh jetzt auf mittwald.de/workingdraft und buch dein erstes Projekt! Schaunotizen [00:01:50] Svelte 5 Wir starten mit einer Einführung, was Svelte eigentlich ist und wie es sich von anderen Frameworks unterscheidet. Simon erklärt uns, was Svelte so besonders macht und warum es sich von anderen beliebten Frameworks abhebt. Anschließend gehen wir auf den Anlass für das neue Major Release ein. Simon erläutert, warum es Zeit für Svelte 5 wurde und welche Probleme in Version 4 die Entwickler zum Handeln bewegt haben. Die wichtigste Änderung ist das neue Konzept der Runes. Simon gibt uns eine Einführung in diese Neuerung und erklärt den Unterschied zu den bereits bekannten Syntaxen und auch zu Signals. Dies hilft uns zu verstehen, wie Runes das Arbeiten mit Svelte 5 beeinflussen werden. Wir reden ebenfalls über die neuen Snippets und erfahren, wie diese das Arbeiten mit Svelte 5 noch einfacher und effizienter machen. Ein weiteres Thema ist die überarbeitete Template-Syntax für Events. Simon erläutert, warum diese Änderung notwendig war und welche Vorteile sie mit sich bringt. Abschließend sprechen wir über den Upgrade-Pfad von Version 4 zu Version 5. Simon erklärt, wie der Upgrade-Prozess abläuft und welche Stolpersteine zu beachten sind. Zum Schluss sprechen wir darüber, was das Core-Team nach dem großen Release plant. Wird direkt an neuen Features gearbeitet oder ist erst einmal Urlaub angesagt?
undefined
May 28, 2024 • 1h 37min

Revision 618: Internationalisierung – Teil 2

Herzlich willkommen zum zweiten Teil unserer Mini-Serie zur Internationalisierung. In dieser Folge tauchen wir gemeinsam mit Schepp tiefer in die Herausforderungen und Best Practices ein, die mit der Anpassung von digitalen Produkten für unterschiedliche Märkte und Kulturen verbunden sind. In dieser Folge bauen wir auf der Revision 613, dem ersten Teil, auf und beleuchten weitere vielfältige Aspekte, die bei der Internationalisierung berücksichtigt werden müssen, beispielsweise, wenns um Währungen oder die Uhrzeit geht. Schaunotizen [00:01:30] Wir starten mit Use-Cases und Problemen aus der Community in die Internationalisierung. Danach geht’s weiter mit weiteren Themen: Telefone: Verschiedene Vorwahlnummern und Formate. Datum und Zeit: Unterschiedliche Datums- und Uhrzeitformate, Sommer- und Winterzeit. Geld: Verschiedene Währungen und Untereinheiten. Einheiten: Unterschiedliche Maßeinheiten (z.B. metrisches System vs. imperiales System). Kultur: Kulturelle Gepflogenheiten (z.B. Glücks- und Unglückszahlen, Farben). Danke an den Schepp, dass du uns die Themen näher gebracht hast.
undefined
May 21, 2024 • 1h 12min

Revision 617: Die CODE – eine Hochschule wie man sie sich wünscht

In diese Revision haben wir Thomas „Tom“ Bachem aus Berlin zu Gast. Tom ist Unternehmer, Softwareentwickler, Angel-Investor, und vor allem Gründer der innovativen Tech-Hochschule CODE. Und um die geht es in dieser Folge auch. Unser Sponsor Workshops.DE bietet IT-Schulungen für moderne Web-Entwicklung. Dabei arbeitet Workshops.DE nicht als reiner Vermittler, sondern bildet eine Community aus über 80 Trainer:innen, welche gemeinsam Material erstellen, sich gegenseitig unterstützen und weiterbilden, um möglichst nachhaltige und hochqualitative Weiterbildungsangebote zu schaffen. Ein starker Fokus liegt hierbei auf den Frontend-Frameworks Angular, React und Vue. Neben diesen gibt es aber auch Weiterbildungen im Bereich Docker, Kubernetes und Spring Boot. Zum Netzwerk gehören ebenfalls die Community-Portale Angular.DE, ReactJS.DE und VueJS.DE. Seid ihr auf der Suche nach einer qualitativen Weiterbildung im Bereich Web-Entwicklung oder möchtet euch selbst als Trainer:in einbringen? Dann seid ihr bei Workshops.DE genau richtig. Schaunotizen [00:02:20] CODE Berlin „CODE“ steht als Akronym für „Curiosity Driven Education“ – dem Lernkonzept hinter der Hochschule. Gegründet hat Tom sie, weil er selbst so eine Art Ansatz in seiner Jugend vermisst hat. Wir diskutieren über individualisierte Lernansätze, kollaboratives projektbasiertes Lernen und die Bedeutung von Inspiration und Peer-Learning in der Tech-Branche. Wir sprechen über die starke Networking-Kultur, die an der CODE forciert und gepflegt wird, über die zahlreich von ehemaligen CODE-Student*innen gegründeten Startups und über die breite Unterstützung der Projekts CODE durch deutsche Unternehmer.
undefined
May 14, 2024 • 59min

Revision 616: Signals 2 – Reactive Boogaloo

Irgendein Spezialexperte dachte sich, dass ein Proposal für die Standardisierung von Signals Grund genug sei, einen Nachfolger von Revision 572 aufzunehmen. Hört euch gern an, wie der Spezialexperte zusammen mit Stefan und Gast Bernhard Mayr (Mastodon, Twitter) zum zweiten Mal erfolglos versucht, den Signals-Hype zu verstehen. Schaunotizen [00:01:12] Signaaaaaals! Das Signals-Proposal lädt zu Vergleichen mit dem (eingeschlafenen) Proposal für Standard-Observables ein. Wie bei Signals gibt es reichlich JS-Implementierungen (RxJS, Bacon.js) und nicht wirklich einen offensichtlich erkennbaren Drang nach der einen Standard-Lösung. Wir spekulieren dennoch über Alternativen zu (und besseren Wegen für) Standard-Signals (z.B. ein Standard-Event-Target als Schritt 0), über die Motivation (offizielle Angaben hierzu sind eher dünn), Perspektiven der Weiterentwicklung von JavaScript allgemein und den Zustand des ECMAScript-Standards und des größeren JS-Ökosystems.
undefined
May 7, 2024 • 1h 55min

Revision 615: Glücksrad gone off the Track

Mit Gast Hans-Christian Otto (Chef bei Suora und Tröter bei @muhdiekuh@ruhr.social) starteten Schepp und Peter einen Glücksrad-Versuch. Unser Sponsor Workshops.DE bietet IT-Schulungen für moderne Web-Entwicklung. Dabei arbeitet Workshops.DE nicht als reiner Vermittler, sondern bildet eine Community aus über 80 Trainer:innen, welche gemeinsam Material erstellen, sich gegenseitig unterstützen und weiterbilden, um möglichst nachhaltige und hochqualitative Weiterbildungsangebote zu schaffen. Ein starker Fokus liegt hierbei auf den Frontend-Frameworks Angular, React und Vue. Neben diesen gibt es aber auch Weiterbildungen im Bereich Docker, Kubernetes und Spring Boot. Zum Netzwerk gehören ebenfalls die Community-Portale Angular.DE, ReactJS.DE und VueJS.DE. Seid ihr auf der Suche nach einer qualitativen Weiterbildung im Bereich Web-Entwicklung oder möchtet euch selbst als Trainer:in einbringen? Dann seid ihr bei Workshops.DE genau richtig. Schaunotizen [00:11:13] Popover und die Weiterentwicklung der Web-Plattform allgemein Über das Popover-Attribut nebst der kompletten Popover-API und das verwandte <dialog>-Element entspann sich eine Diskussion über Polyfills (u.A. für die Popover-API) und die Weiterentwicklung der Webplattform allgemein. Von Turbolinks über View Transitions bis zu ExtJS und TailwindCSS und ts-reset mäandern wird und glauben, auf Abschweif-Rekordkurs zu sein … [01:04:38] Character class escapes Peter glaubt, endlich mal ungestört über reguläre Ausdrücke und speziell das v-Flag und seine Implikationen für Unicode Character Class Escapes referieren zu dürfen, doch wir bleiben nur kurz beim Thema. magic-regexp, ein Proposal für den x-Mode sowie eine Empfehlung für Regexr passen noch in den Relevanzkorrididor, doch das lässt sich über die Folgethemen nur bedingt sagen. Unter anderen sprechen wir über: den PHP-Package-Manager Composer TurbineCSS, ein altes Projekt von Schepp und Peter die Programmiersprache MUMPS die ähnlich elegante Programmiersprache Go Optionale Tags im Google HTML-Guide Peters Artikel zu MutationObserver-Performance Intersection Observers das scrollmargin-Feature des Intersection Observer die checkVisibility-API Lazy Loading in seinen diversen Facetten
undefined
Apr 23, 2024 • 1h 30min

Revision 614: Zusammenarbeit in der Software-Entwicklung – eine Diskussionsrunde

Anlässlich eines tiefgehenden Metatalks, den Vanessa auf der VueJS Amsterdam 2024 von ihm erleben durfte, luden wir Niklas Dzösch, Developer Relations bei Shopware und selbst Podcaster, zu uns ins virtuelle Studio ein. Unser Sponsor Maximale Performance für all deine Projekte? Bei mittwald brauchst du dir nie wieder Sorgen um Performance-Einbrüche machen. Der Traffic kann ruhig durch die Decke gehen, deine Seite bleibt immer rasend schnell. mittwald hat Hosting neu gedacht und alles auf die besonderen Anforderungen und Workloads von Agenturen und Freelancern optimiert – inklusive Infrastruktur, benutzerfreundlicher Oberfläche und flexiblen Tarifen. Egal, ob du deinen Server selbst konfigurieren möchtest oder das mittwald-Team sich um die optimalen Specs kümmern soll. Der persönliche Kundenservice unterstützt dich 24/7 bei allen Fragen rundum WordPress, TYPO3, Shopware oder was auch immer dich gerade beschäftigt. Im firmeneigenen und TÜV-zertifizierten Rechenzentrum sind deine Daten in sicheren Händen. Und das Beste? Wer seine Projekte bei mittwald hostet bekommt nicht nur die besten Server, sondern auch ein Hosting mit Strom aus 100% erneuerbaren Energien. Also, worauf wartest du? Geh jetzt auf mittwald.de/workingdraft und buch dein erstes Projekt! Schaunotizen [00:02:13] Zusammenarbeit in der Software-Entwicklung – eine Diskussionsrunde Diesmal hatten wir keinen roten Faden, an welchem wir uns lang arbeiten wollten. Stattdessen nahmen wir Niklas‘ Talk als Aufhänger, um in die Welt der fehlerhaften und gelungenen zwischenmenschlichen Interaktionen in der Software-Entwicklung einzutauchen. So kommen wir von Hölzchen auf Stöckchen und möglicherweise wurde das Ganze mehr eine Therapiesitzung mit uns allen abwechselnd auf der roten Couch :) Links Covve Die von Niklas erwähnte App zur Beziehungspflege. DevRelCon Die Konferenz mit und über Developer Relations.
undefined
Apr 16, 2024 • 1h 20min

Revision 613: Internationalisierung und Lokalisierung, Teil 1

Schepp tritt in dieser Revision als Gast auf und lässt Vanessa und Peter an seinen gesammelten Fun Facts rund um Internationalisierung und Lokalisierung teilhaben. Unser Sponsor makandra bietet umfassende Unterstützung für Entwicklerteams mit Infrastruktur- und Operations-Expertise. Das DevOps as a Service-Angebot umfasst Beratung und Unterstützung in allen Bereichen der Infrastruktur, von der Dimensionierung über Technologieentscheidungen bis hin zum Aufbau mit Infrastructure-as-Code, automatisierten Deployments und mehr. Darüber hinaus im Angebot: Maßgeschneiderte Schulungen zu Kubernetes, Terraform und AWS. Sie suchen Unterstützung beim Monitoring Ihrer Infrastruktur oder fragen sich, ob Ihre Backup-Strategie für einen Disaster-Fall ausreichend ist? Sie suchen temporär Unterstützung, um Ihre Entwickler zu entlasten oder ein eigenes Infrastruktur-Team aufzubauen? Wir helfen gerne. Mehr Infos unter makandra.de/goto/workingdraft. Schaunotizen [00:01:58] Fun Facts zu Internationalisierung und Lokalisierung Wir starten mit den zahllosen Herausforderungen schon bei der einfachen Übersetzung von Texten, wie z.B. der Sortierung von Sprachen in einem Sprach-Auswahl-UI (für das man natürlich keinesfalls Landesflaggen verwenden sollte). In mäandernder Form sprechen wir unter anderem über kulturell suboptimale Typografie, welche Sprache die längsten Wörter hat, die extrem relevanten Unterschiede zwischen ISO 639 (Sprachcodes) und ISO 3166-1 (Ländercodes) und die unterschiedliche alphabetische Sortierung in verschiedenen Sprachen (kein Problem mit Intl.Collator). Nebenher kommen auch text-overflow, <marquee>, die für Übersetzungen möglicherweise sehr relevante CSS-Funktion attr(), automatische Übersetzungen, LINGsCARS und erste Fragen zu Webdesign zur Sprache. Nach einem unerklärlichen Exkurs zu Macbook-Tastaturlayouts stellen wir fest, dass Namen beliebige Strings sein müssen, Adressen ebenso (u.A. dank Besonderheiten in Japan, Costa Rica und Mannheim) und dass diese Revision ein Mehrteiler wird werden müssen.
undefined
Apr 9, 2024 • 1h 37min

Revision 612: Neues in der Web-Plattform, Teil 2

Schepp, Vanessa und Peter setzen ihre Reise durch die Webtech-Features im neuesten Safari-Release fort. Schaunotizen [00:01:07] Re-Match Switch vs. Checkbox Nach einer Woche des Mental-Marinierens haben wir neue Gedanken zu <input type="checkbox" switch> ausgebrütet. Zusammenfassend lässt sich festhalten, dass Entwickler:innen (unter anderem) auch die Komplexität von Checkboxes, Selects und Formularen allgemein unterschätzen. Auch die WHATWG ist mit dem Switch-Thema noch nicht am Ende! [00:10:20] Alternativtext für generated content Der CSS-Property content kann ein Alternativtext mitgegeben werden. Wir denken auf Screenreader-Kompatibilität herum und überlegen wie :lang() bei der Internationalisierung und @supports bei der Implementierung helfen könnte. [00:17:55] Discrete Transitions Mit transition-behavior können wir festlegen, wie sich zu Transitions nicht kompatible CSS-Properties verhalten sollen. View Transitions haben damit nur am äußersten Rande zu tun, kommen aber natürlich trotzdem auch zur Sprache. [00:30:23] Custom Properties für ::backdrop Ging bisher nicht, weil Top Layer, geht jetzt aber schon! [00:36:18] checkVisibility() Nomen est Omen, aber die Use Cases für u.A. Web Components und ggf. in Kombination mit dem Intersection Observer bedürfen genaueren Durchkauens. Peter überlegt, ob er nach seiner großen Mutation-Observer-Profiling-Kampagne nun auch 100.000 Intersection Observer testen muss. [00:48:37] Custom State Set Kurzes Referat über CustomStateSet und warum es nützlich ist. [00:53:24] Promise.withResolvers() Wir besprechen, ob das neue Promise.withResolvers() oder das weniger neue new Promise() besser als Wrapping-Mechanismus für den gänzlich antiken FileReader taugt. Nebenher stellt sich raus, dass CSS einen infinity-Wert kennt! [01:12:30] Object.groupBy() und Map.groupBy() Peter erklärt schnell die Unterschiede zwischen den beiden neuen Gruppierungs-Features (Spoiler: eins macht Objekte, eins macht Maps) und was die beiden mit den neuen Iterator Helpers zu tun haben (Spoiler: nichts). [01:15:58] Neuer Mechanismus für die Source-Auswahl bei Media-Elementen Wer soll entscheiden, welche Quelldatei mit welchem Codec geladen werden soll, Entwickler:in oder Browser? Schepp argumentatiert recht überzeugend für letzteres.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app