Working Draft

Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« Schaefer
undefined
Sep 27, 2018 • 38min

Revision 359: HTML/CSS für EPUB und Print Stylesheets

Wisst ihr, wo semantisches (X)HTML, CSS und ganz, ganz, ganz viel Responsive Design unglaublich wichtig ist? Bei Büchern! Jedes EPUB ist im Grunde ein gezipptes Bündel an Web Dokumenten, für euren Lesespaß optimiert. Wie sehr sich diese Ausprägung der Web Technologien allerdings vom Rest der weiten Web Welt unterscheidet, erklären Sven Wolfermann und Robert Weber. Schaunotizen [00:02:00] EPUB, Mobi und PDF In E-Books stecken Webtechnologien. Und zwar eine ganze Menge. Sven und Robert erklären wie man von Word Dokumenten (dem Verlags-Format Nummer 1) zu semantischen HTML Dokumenten kommt, und welche Werkzeuge es dafür benötigt. Danach hören wir uns an, wie man das ganze in ein EPUB Format bringt und wo sich die E-Reader von den Webbrowsern unterscheiden. Dabei lernen wir von Mammoth, Cheerio, den Standards für Publikationen mit Web Technologien, PrinceXML und DocRaptor. Weitere Infos gibt’s zu EPUB, EPUB 3.1, CSS Paged Media Module Level 3 und CSS Books. Anschließend sehen wir uns an, wie man mit Print Stylesheets tatsächlich sowas wie Bücher produzieren kann, die direkt in den Druck gehen. Wahrscheinlich hatten die Belesenen von euch eines der Bücher sogar schon in der Hand.
undefined
Sep 23, 2018 • 1h 20min

Revision 358: Web Bluetooth & Web USB

As Schepp was left alone by his co-moderators (due to valid reasons) he reached out to Niels Leenheer in order to chat a bit about the Web Bluetooth and Web USB APIs. And as you might already have guessed this episode is in English :) Shownotes [00:02:25] Web Bluetooth We talk about how Bluetooth is structured and how we see it and interface it from the browser. We mantion the GATT standard/protocol and how you can find many devices documented in the OpenGATT Registry. We talk about LEGO stuff that can be remotely controlled via Web Bluetooth, like the LEGO Batmobile (hardware / demo) or the LEGO Tracked Racer which you combine with an SBrick Bluetooth receiver in order to then control it with the help of sbrick.js. We also talked about „the physical web“ in the form of Bluetooth beacons, and we talked about beacons that can run JavaScript on themselves! If you prefer Bluetooth-interfacable microcontrollers, then you might wanna have a look at the Espruino and its Bluetooth extension. And then finally, we also talked about Web USB and how there are security considerations to be made. [01:05:41] Links Videos of Niels doing weird things Namely: Fun with Bluetooth! Fronteers Conference 2018: October 4th/5th in Amsterdam One of the oldest and still one of the best frontend conferences in Western Europe! Non-profit and again with an amazing and diverse lineup. Although this time in a new venue in order to be able to offer more seats. Check it out, Western Germans… performance.now() Conference: November 8th/9th, Amsterdam The first edition of many more to come, this conference fills the vacuum that Velocity created and features a breath-taking array of webperf speakers. Don’t miss this once in a lifetime lineup!
undefined
Sep 18, 2018 • 49min

Revision 357: Der JAMStack

Ein Artikel aus grauer Vorzeit (also Februar) veranlasst uns mal den JAMStack genauer zu beleuchten. Schaunotizen [00:00:17] JAMStack JAM steht für „JavaScript, APIs und Markup“ und bezeichnet statisch generierte Seiten, die mit Serverless/Microservices/Cloud-Funktionen um dynamische Inhalte angereichert werden. Mit einher gehen eine ganze Reihe an Technologien, die es zu verstehen und zu verwenden gilt. Statt großen CMS Monolithen bedient man sich einem Baukasten an verschiedenen Technologien um das gleiche Ergebnis zu erzielen: Generatoren wie Jekyll mit Liquid, Gatsby.js und React sorgen für generiertes HTML Cloudfunktionen wie Azure Functions oder Dienste wie Disqus helfen bei dynamischen Inhalten. Build-Services wie Travis CI bauen die Seite, IFTTT sorgt für entsprechende Trigger Man schreibt Markdown in Git Repos, oder bedient sich einem Headless CMS wie Storyblok Man hostet auf GitHub Pages, oder irgendeinem anderen CDN Schnelle Auslieferung und bombensichere Websites sind die Folge. Dienste wie Netlify kümmern sich dabei von Cloud-Funktionen, Build Services und Hosting über alles. Neben all dem Lob schauen wir aber auch auf die Schattenseiten und zeigen, was alles schiefgehen kann, wenn man mit der Skalierung nicht mehr nachkommt. [00:43:50] Keine Schaunotizen TypeScript & Babel 7 TypeScript hat zwar einen eigenen Transpiler, kann aber nun auch als Preset für Babel verwendet werden. Falls ihr euren bestehenden Stack mit Type-Checking anreichern wollt. A tour of Javascript timers on the web Das Thema mit JavaScript Zeit-Funktionen (setTimeout, …) ist ja einfach, oder? Nolan Lawson zeigt was alles dahinter steckt.
undefined
Sep 17, 2018 • 45min

Revision 356: Neues vom Chrome-Browser!

Chrome hat ein paar neue Features, die in keinem anderen Browser funktionieren und für die es noch nicht mal anständige Spezifikationen gibt. Natürlich ist das für Schepp, Hans und Peter Anlass zu einer ganzen neuen Revision! Schaunotizen [00:00:30] Lazy Loading Wir besprechen sowohl Lazy Loading an sich als auch die Implementierung des lazyload-Attributs für Bilder und Iframes. Themenverwandt ist auch das asynchrone Dekodieren von Bildern, für das es sogar schon Spezifikationstext gibt! [00:14:47] intrinsicsize-Attribut Nicht mit den CSS-Werten für Intrinsic Sizing zu verwechseln, erlaubt ein neues Attribut die Angabe von intrinsischen Maßen für HTML-Medien wie Bilder und Videos. So lässt sich springender Content im Responsive Design besser bändigen, als mit CSS-Hacks wie max-width:100% und erzwungenen Seitenverhältnissen. [00:24:43] Kein JavaScript mehr mit 2G? Kontrovers: Mobile Chrome könnte demnächst bei 2G-Verbindungen JavaScript deaktivieren! Damit könnte Progressive Enhancement wieder zum Thema werden, falls nicht (wie Peter postuliert) einerseits PWA zur Abwehr des Problems taugen oder das Problem selbst vom technischen Fortschritt aufgefressen wird. In Zuge dieser Besprechung streifen wir Client Hints, die Network Information API und erwähnen einen Artikel, der beschreibt wie HTTPS Satteliteninternet drastisch verlangsamt.
undefined
Sep 10, 2018 • 1h 4min

Revision 355: Apache Kafka

„Kafka ist eine Bosna mit einer Käsekrainer“. Oder doch ein deutschsprachiger Schriftsteller der sich in riesige Käfer verwandeln konnte? Immerhin kommen Zoowärter vor. Und was haben die Apachen damit zu tun? Fragen über Fragen. Antworten liefert „Old Firehand“ Simon Streubel, der von seinem ganz besonders käferlosen „Simons Traum“ erzählt und Hans und Stefan durch Begrifflichkeiten und Funktionsweisen führt. Prostmahlzeit. Schaunotizen [00:00:26] Kafka Kafka ist ein Distributed Publish-Subscribe Message Broker, der ursprünglich von LinkedIn entwickelt wurde und 2014 bei Apache untergekommen ist. Das System liefert einen bequemen weg von Daten auf der einen Seite rein (Producer), und optimiert auf der anderen Seite wieder raus (Consumer). Die Verteilung sorgt für hohe Skalierbarkeit und ist daher super für Microservices geeignet. Der Zookeeper kümmert sich darum, dass alle Knoten und Quellen miteinander auch sprechen können. Ein eigenes Datenformat wie AVRO hilft zusätzlich dabei Daten sauber zu serialisieren. Die entstehenden Datenströme werden bequem mit reaktiven Stream APIs konsumiert. Zuviel an Begrifflichkeiten? Die Lücken im Text füllt unsere aktuelle Episode. Die Löcher in den Bäuchen die österreichische Kafka. Hans verlost dazu sogar etwas am Ende der Revision. [00:53:57] Keine Schaunotizen Kafka Tool Das Kafka Tool ist ein Tool für Kafka. In der Form einer grafischen Benutzeroberfläche. Sinek Sinek bringt Kafka nach Node.js.
undefined
Aug 29, 2018 • 43min

Revision 354: Babel-Presets und Konferenzen

Hans, Peter und Stefan erkunden Details von Babels Zukunftsplanung und bewerben in dreister Form Konferenzen, Konferenz-Ersatzveranstaltungen und Workshops. Schaunotizen [00:00:10] Removing Babel’s Stage Presets Babel plant, Presets (gemäß der Stages des TC39-Prozesses gebündelte Implementierungen neuer ESScript-Features) abzuschaffen. Bei der Diskussion dieser Nachricht kommt heraus, dass wir kaum Presets benutzen, sondern eher Einzelfeatures wie Object Spread und Class Properties nachrüsten. Wir sprechen über unsere Transpiler-Nutzung im Wandel der Zeit, Babel als Experimentier-Plattform für z.B. den Pipeline Operator, über Smoosh Gate und Modul-Bundler wie Parcel und Webpack. Im übrigen sind wir der Auffassung, dass wir alle dem Babel-Macher Henry Zhu für eine harte Arbeit ein mehr Geldeinheiten rüberschieben sollten! [00:37:19] Keine Schaunotizen NightlyGrill Das beste Event, dass man anstelle einer Konferenz besuchen könnte. OAuth2 Workshop am 18.10. Lasst euch in Nürnberg von Aaron Parecki erleuchten! Webkongress Erlangen Gemütliche Konferenz im gemütlichen Erlangen.
undefined
Aug 20, 2018 • 1h 15min

Revision 353: Kommunikation in (agilen) Teams

In dieser Revision widmen wir uns mal einem Soft-Skill und reden über Herausforderungen bei der Kommunikation im Team und darüber, wie gute Kommunikation aussehen kann. Als Fachmann für diese Themen haben wir uns Coder & Kommunikations-Coach Marcel Koch (@_mknet_) in die Sendung geholt. Schaunotizen [00:00:50] Kommunikation im Team Während unserer Unterhaltung erwähnten wir folgende Publikationen: Die kommunikationspsychologischen Modelle Rhetorik – Die Kunst der Rede im digitalen Zeitalter (Buch / Hörbuch) Soft Skills für Softwareentwickler: Fragetechniken, Konfliktmanagement, Kommunikationstypen und -modelle [01:11:42] Keine Schaunotizen transform Ein Online-Transformationstool zur Umwandlung von Daten in zahlreiche Formate belly „Git shortcuts for common tasks“
undefined
Aug 16, 2018 • 59min

Revision 352: TypeScript 3.0

Hans, Peter und Stefan nehmen den aktuellen Release von TypeScript 3.0 her um über ihre Erfahrungen mit dem Thema zu plaudern. Querbeet, von einsteigerfreundlich bis zu unverschämt fortgeschritten. Schaunotizen [00:00:17] TypeScript 3.0 Die dritte Version von TypeScript ist da, und bringt gar nicht mal so viele Features mit sich. Das liegt zum einen daran, dass TypeScript bewusst und richtig auf semantische Versionierung pfeifft (jedes Release ist ein breaking change) und lieber durchzählt. So kann man auch einfach mal einen „unknown“ Typ reinschmuggeln oder die React Unterstützung verbessern. In unserer Elaboration reden wir über mapped types, conditional types und wie union types sowieso alles einfacher machen. Nach einem kurzen Ausflug zu ParcelJS, JSX und eierlegenden Wollmilchtools schließen wir auch ab mit einer kleinen Diskussion zu Typsystemen im Allgemeinen, und Type Aliases vs Interfaces im Konkreten. Zuviel des Guten? Wir revisionieren gerne noch einmal Schritt für Schritt. Keine Schaunotizen Type Zoo Fesche Typoperatoren im Stile von Readonly, Partial und Pick. Typelevel TS Type level Programmmierung. Typical Experimentelle Typ primitive. TypeScript oddities Ein Vortrag von Stefan zu TypeScript und Schrägheiten, die auftreten können.
undefined
Aug 13, 2018 • 1h 9min

Revision 351: JavaScript und die Google Suche

Schepp und Stefan haben sich Verstärkung aus Zürich geholt. Martin Splitt, seit kurzem Dev Rel bei Google für die Google Suche, klärt einige Mythen auf. Schaunotizen [00:00:54] Die Google Suche Der Googlebot, der Seiten in Googles Suchindex aufnimmt, hat JavaScript aktiviert. Soviel ist soweit bekannt. Doch was bedeutet das im Detail? Martin gibt uns Auskunft über Browserversion, Feature Set, das Vorgehen des Google Bots bei Links und weiteres. Wir erfahren, welche Voodoo Tricks so gar nichts bewirken und worauf man tatsächlich schauen muss, wenn Google die Seite indizieren soll. Als Hilfe gibt’s Werkzeuge wie die bekannte Search Console formerly known as Webmaster tools und den weniger bekannten Mobile Friendly Test
undefined
Aug 9, 2018 • 52min

Revision 350: HTTP Header

Hans, Schepp und Peter fanden sich zusammen um einfach mal eine komplette Revision über nichts anderes als HTTP-Header zu quatschen! Schaunotizen [00:00:10] HTTP-Header Bei der Besprechung des geplanten feature-policy-Headers, der helfen soll Third-Party-Scripts einzuhegen, erfährt Peter von der Existenz des Google Tag Managers. Weitere security-relevante Header sind CSP und CORS (wobei hier besonders die praktischen Umgehungs-Proxies zu beachten sind) sowie service-worker-allowed und x-frame-options. Ebenfalls in die gleiche Kerbe schlagend, aber nicht ganz so umfassend unterstützt werden auf die eine oder andere Weise DNT und der prähistorische P3P-Header. Das Thema der effizienten Ressourcenübermittlung wird über Link, Cache Digests, Client Hints sowie Prefetch, Preload und Preconnect bedient. Als finalen Geheimtipp verweist Schepp auf Transfer-Encoding: chunked und dazugehörige Fußangeln.

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