Running Doom in TypeScript’s Type System with Dimitri Mitropoulos - JSJ 684

Running Doom in TypeScript’s Type System with Dimitri Mitropoulos - JSJ 684

What if I told you someone managed to run Doom inside TypeScript’s type system? Sounds insane, right? That’s exactly what our guest Dimitri Mitropoulos did—and in this episode, we dive deep into the how, the why, and the mind-bending implications of this ambitious project. From type-level programming to the philosophical limits of Turing completeness, this is an episode that pushes the boundaries of what you thought was possible in JavaScript.

We talk about how the TypeScript type system evolved to become Turing-complete, how Dimitri pulled off this seemingly impossible feat, and why “Doom-complete” might just be the new gold standard for computational capability. Along the way, we touch on functional programming, generics, recursion, and even some Lambda Calculus. It’s part computer science theory, part coding madness, and 100% geeky goodness.

Episode Highlights
[3:05] – Dimitri explains how a simple thought experiment turned into a year-and-a-half-long obsession
[8:40] – The origins and significance of Turing completeness in type systems
[14:15] – Why running Doom in TypeScript is more about proving limits than just showing off
[19:55] – What it means to run programs inside the type system vs. TypeScript code itself
[27:10] – ASCII art as output, functional recursion for game state, and hover-over frames in your editor
[35:30] – How ignorance, determination, and obsession fueled the completion of the project
[45:20] – Personal insights: balancing family, burnout, and passion while chasing an impossible dream

Links & Resources
Dimitri Mitropoulos
Michigan TypeScript YouTube Channel – Dimitri's channel featuring the project
Type Challenges by Anthony Fu – Advanced TypeScript exercises
SquiggleConf – The TypeScript-focused conference Dimitri co-founded
Josh Goldberg – TypeScript expert and co-organizer of SquiggleConf


Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(723)

Defining and Learning Web Fundamentals - JSJ 585

Defining and Learning Web Fundamentals - JSJ 585

Austin Gil is a Senior Developer Advocate. He joins the show to talk about "Web Fundamentals". He begins by explaining its purpose, and the importance of knowing web fundamentals as a developer or programmer. SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksSeries on HTML form fundamentalsSeries on file uploads fundamentalsBlog post on progressive enhancementSocialsaustingil.com LinkedIn: Austin GTwitter: heyAustinGilPicksAJ - The Mentalist (TV Series 2008–2015)Austin - AkamaiAustin - $100 creditAustin - SolidStartAustin - Stash Licorice Spice Herbal TeaDan - FranceDan - React Streaming In Depth: NextJS! Remix! DIY!Steve - Vuetensils, HTML, HTML Forms with Austin Gil - VUE 214Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

6 Kesä 20231h 23min

Bun.js with Jarred Sumner - JSJ 584

Bun.js with Jarred Sumner - JSJ 584

Jarred Sumner is the founder and CEO of Oven. He joins AJ for today's episode to talk about Bun.js. Bun.js is a Node.Js replacement. He begins by explaining what it is, how this tool can be used, and what sets it apart from the others. On YouTubeBun.js with Jarred Sumner - JSJ 584SponsorsChuck's Resume Template Developer Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksBun is a fast all-in-one JavaScript runtimeoven-sh/bunSocialsLinkedIn: Jarred Sumner Twitter: jarredsumnerSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Touko 20231h 20min

Find Out More About Barry Pollard - BONUS

Find Out More About Barry Pollard - BONUS

Barry Pollard is a Web Performance Developer Advocate on Google Chrome. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference. He is going to talk about "Core Web Vitals". LinksThe main JS conference of 2023Discount: https://ti.to/gitnation/jsnation-2023/discount/JSJabberSocialsLinkedIn: Barry PollardSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

26 Touko 20239min

Find Out More About Tobias Koppers - BONUS

Find Out More About Tobias Koppers - BONUS

Tobias Koppers is an open-source developer. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference. On YouTube Find Out More About Tobias Koppers- BONUSLinksThe main JS conference of 2023Discount: https://ti.to/gitnation/jsnation-2023/discount/JSJabberSocialsLinkedIn: Tobias KoppersSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

26 Touko 20239min

React Server Components: Part 2- JSJ 583

React Server Components: Part 2- JSJ 583

Dan Abramov is a Front-end developer at Facebook and Joe Savona is a User Interface engineer at Facebook. They join the show to talk about React Server Components. They begin by explaining what it is, how it's implemented, the services it offers to the clients, and many more. On YouTubeReact Server Components: Part 2- JSJ 583SponsorsChuck's Resume Template Developer Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsDan Abramov GitHub: gaearonTwitter: @dan_abramovJoe SavonaLinkedIn: Joseph Savona josephsavona.comTwitter: @en_JSPicksCharles - Iberian Gauge Dan Abramov - Watch BEEF | Netflix Official SiteDan Abramov - The White LotusDan Shappir - Go speak at conferencesJoe - Diagonals Tejas - Watch BEEF | Netflix Official SiteTejas - BlueskyTejas - The Molecule of MoreSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Touko 20231h 7min

React Server Components: Part 1 - JSJ 582

React Server Components: Part 1 - JSJ 582

Dan Abramov is a Front-end developer at Facebook and Joe Savona is a User Interface engineer at Facebook. They join the show to talk about React Server Components. They begin by explaining what it is, how it's implemented, the services it offers to the clients, and many more. On YouTubeReact Server Components: Part 1 - JSJ 582SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipSocialsDan Abramov GitHub: gaearonTwitter: @dan_abramovJoe SavonaLinkedIn: Joseph Savona josephsavona.comTwitter: @en_JSSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

16 Touko 202352min

Find Out More About Brad Westfall - BONUS

Find Out More About Brad Westfall - BONUS

Brad Westfall is a full-stack web developer and works at ReactTraining.com. He is one of the speakers at the upcoming JSNation conference. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference. LinksThe main JS conference of 2023SocialsLinkedIn: Brad WestfallSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Touko 20234min

SolidStart with Ryan Carniato - JSJ 581

SolidStart with Ryan Carniato - JSJ 581

Ryan Carniato is the CEO of Signals and the Principal Engineer OSS at Netlify. He is the author of the SolidJS UI library. He returns to the show to talk about SolidStart. He begins by explaining the difference between signals and observables. Along with that, he discusses how he came to develop the framework, its features, and his future plans. SponsorsChuck's Resume Template Developer Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinkssolidjs/solid-startSocialsRyan CarniatoTwitter: @RyanCarniatoSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Touko 20231h 26min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
puheenaihe
ostan-asuntoja-podcast
rss-rahamania
hyva-paha-johtaminen
rss-seuraava-potilas
taloudellinen-mielenrauha
pomojen-suusta
rss-lahtijat
herrasmieshakkerit
rss-startup-ministerio
rss-bisnesta-bebeja
rss-paasipodi
oppimisen-psykologia
rss-doulapodi
rss-wtf-markkinointi-by-dagmar
rss-merja-mahkan-rahat