Skip to main content
DM

Dimitri Metropolis

1episode
1podcast

We have 1 summarized appearance for Dimitri Metropolis so far. Browse all podcasts to discover more episodes.

Featured On 1 Podcast

All Appearances

1 episode
Syntax

969: This guy is nuts (TypeScript Doom)

Syntax
55 minTypeScript Developer

AI Summary

→ WHAT IT COVERS Dimitri Metropolis explains how he built Doom running entirely in TypeScript's type system, taking 11.5 days to compile, and introduces TypeSlayer, a diagnostic tool for identifying TypeScript performance bottlenecks in large codebases. → KEY INSIGHTS - **TypeScript Type System Performance:** TypeScript types can create matrix multiplications generating hundreds of thousands of union members, causing 100+ second compile times. A five-line fix removed 100 seconds from CI by eliminating accidental type explosions from utility type usage. - **TypeSlayer Diagnostic Tool:** Built in Tauri with Rust backend, TypeSlayer processes multi-gigabyte trace files to expose hidden TypeScript complexity errors that developers silence with TS-ignore comments, revealing performance bottlenecks that slow CI and editor responsiveness without fixing underlying issues. - **Packaging Native Binaries via NPM:** Publish platform-specific binaries as separate NPM packages (like @typeslayer/linux-x64, @typeslayer/darwin-arm64) with a 30-line post-install script detecting user platform. This delivers 9MB executables instead of 200MB+ Node bundles, matching ESBuild's distribution strategy. - **WebAssembly Runtime in Types:** Building Doom required creating a complete WebAssembly runtime purely in TypeScript types, processing 177 terabytes of type data. The project proves practical Turing completeness beyond mathematical theory, demonstrating types can handle physics engines, texture mapping, and sprite systems. → NOTABLE MOMENT Metropolis discovered JavaScript 1.0 in Netscape Navigator 2.0 lacked arrays, undefined, exceptions, switch statements, and first-class functions by booting Windows 95 in a VM. The language considered foundational to modern web development started with almost nothing functional. 💼 SPONSORS [{"name": "Sentry", "url": "https://sentry.io/syntax"}] 🏷️ TypeScript Performance, WebAssembly, Developer Tools, Tauri

Never miss Dimitri Metropolis's insights

Subscribe to get AI-powered summaries of Dimitri Metropolis's podcast appearances delivered to your inbox weekly.

Start Free Today

No credit card required • Free tier available