Episodes
After talking about Bazel in one of our previous episodes, we are now looking at Nix, a build system that has been getting increasing attention lately.
Resources:
OTMT Bazel episode Surma's video on Nix Eelco Dolstra's PhD Thesis Nix & NixOS A branch of Squoosh using Nix Nixpkgs manual Comparison of size and freshness of different package managers Home Manager Nix pills
Published 10/29/24
We're finally getting a element we can fully control with CSS! A bunch of other stuff needed to be added to the platform to make it work, and the good news is we can use it a lot of them independently of .
Resources:
Chrome's article on the new , and how you can provide feedback. The CSS appearance property. Nope, I still don't know what it does. The Popover API. "On popover accessibility: what the browser does and doesn’t do" by Hidde de Vries and Scott O'Hara. The CSS anchor...
Published 10/08/24
Chrome is experimenting with exposing an LLM to the web platform. Jake and Surma dig into how the API works, and whether something like this could work on the open web.
Resources:
The explainer ChatGPT functions Chrome's initial vague docs about the feature Gemini terms of use The EURion constellation WebNN
Published 08/30/24
Luca found a hidden Chrome extension that is installed by default in Chrome and most Chromium derivatives. Surma and Jake dig into what this extensions does and how reasonable it is to get angry about it.
Resources:
Luca’s original tweet thread The extension’s source code Discussion on blink-dev The original PR that introduced the extension Brendan Eich’s response Brave PR disabling the extension
Published 08/06/24
In this episode, Jake and Surma chat about web components. Why they were invented, what they're useful for, and how they would improve.
Resources:
Surma showers his eyeball. The old custom elements 'v0' spec. The old shadow DOM 'v0' spec. The old HTML imports spec. The initial version of Polymer. Lit (formally lit-html). HTML attributes vs DOM properties. Issue looking at ways custom elements could have behavior. The ElementInternals API, for making custom elements interact with forms. ...
Published 06/12/24
In this episode, Surma shares with Jake all the things he learned reading up on source maps and DWARF.
Resources:
Jake's Jericho triangle source-map-explorer Hacker News comment by Joseph Shorr on the origins of source maps The Source Map "specification" EvanW's source map visualizer Wikipedia: VLQ DWARF specification llvm-dwarfdump gimli addr2line bundlephobia Wasmphobia WebAssembly Debugging Chrome Extensions by Ingvar TC39 source maps spec Squoosh Animal Well .kkrieger: Gameplay...
Published 06/03/24
In this episode, Jake and Surma chat about the complexities of adding common framework patterns into the web platform, and work that has been done on that so far.
Resources:
Michael Jackson's tweet. Is WebAssembly magic performance pixie dust? - Surma's investigation into wasm performance. defaultValue reflects the value attribute. The value property is complicated. HTML template instantiation. DOM parts API. DOM Parts Imperative API. DOM Parts Declarative Template API. Atomic move...
Published 04/22/24
In this episode, Surma talks about web apps that (partly) abandon the DOM and use canvas instead, to take rendering matters into their own hands. Figma is one popular app that uses this approach, while Flutter is an entire app platform that went with this technique to provide portability. Jake and Surma discuss the tradeoffs of building apps this way.
Resources:
AI text-to-speech having a stroke ServiceWorker Static Routes Targeting the browser with Bevy Flutter’s “Showcase” section with a...
Published 03/25/24
In this episode, Jake chats about the latest EU ruling that requires Apple to allow other browser engines on iOS, and how Apple is reacting to it.
Resources:
Microsoft vs the EU Microsoft vs the US BrowserChoice.eu IBrowse Mobile operating system market share Web platform tests dashboard The internal Apple email about HTML5 The Open Web Advocacy group The EU digital markets act Safari is "three browsers" Same Safari, different device Apple's "Using alternative browser engines in the...
Published 03/01/24
In this episode, Surma shares what he learned while getting started with the Bevy Game engine, Entity Component Systems and why they might be useful for the Web. Jake rounds up the newest JavaScript language features that landed in TC39’s Stage 3.
Resources:
Bevy Game Engine Bevy Rendering Pipeline Buffer-backed Objects, a library by Surma to store objects in ArrayBuffer Surma built Boids with Bevy: Tweet 1, Tweet 2 When should your alarm go off when daylight savings time kicks in? TC39...
Published 01/24/24
In this episode, Jake investigates whether the existence of build tools is a symptom of the web being underpowered, or if they are part of the solution to make the web better. Surma shares his experience of learning about Bazel and how it can be used to build web projects.
Resources:
Touching cloth. Emirates silly class. Yes, we have done "The big build tool bonanza" before. Jake: Although "Terry's ringpull museum" isn't a real thing, the closest thing that comes to mind is a site I still...
Published 12/27/23
In this episode, Surma talks about the “GPU” in “WebGPU” and how this new web standard makes programming for the GPU more accessible. Jake talks about how different browsers approach standards and their perceived ideologies around what they prioritize.
Resources:
Surma’s blog post on WebGPU A 13-part blog post series on the architecture of GPUs. The OpenGL internal state object explained Dawn, a C++ library that brings the WebGPU API to C++ wgpu, a Rust crate that brings the WebGPU API to...
Published 11/29/23
(This is an episode from our previous podcast HTTP 203, originally published on June 29th, 2022)
In this episode:
- Surma changed jobs.
- The Shopify interview process.
- Pair programming vs pair problem solving.
- Surma's also doing bits of work for Deno.
- The complexities of testing image codecs.
- Jake forgot to tell Ada how HTTP 203 filming ends, so it almost never did.
- Keeping animations fast but simple for page transitions.
Transcript: https://goo.gle/3ns4TTK
Published 11/13/23