969: This guy is nuts (TypeScript Doom)
Scott and Wes sit down with Dimitri Mitropoulos to explore the wild edges of TypeScript—from running Doom in the type system to building tools like Typeslayer. They dig into Turing-complete types, performance limits, and what the future might hold for TypeScript and programming languages as a whole.
Show Notes
00:00 Welcome to Syntax!
00:27 Dimitri Mitropoulos Introduction
01:29 What is Doom in TypeScript?
03:10 TypeScript Types and Turing Completeness
04:06 Project Overview and Challenges
04:57 ASCII Art and Visual Representation
06:50 Performance Issues with TypeScript
09:27 Brought to you by Sentry.io
09:51 Typeslayer Tool Introduction
16:19 Building in Tauri
20:54 Challenges around packaging
24:03 Future of TypeScript and AI
27:40 Is the Go-based compiler significantly faster?
TSperf
30:23 Should there be something to follow Typescript?
36:27 Staying up to date with WASM.
37:08 SquiggleConf Overview
38:26 Hosting a conference
40:45 What are your thoughts on Zig?
45:07 Vibe coding as an end goal
50:01 Sick Picks & Shameless Plugs
Sick Picks
Dimitri: pullfrog
Shameless Plugs
Dimitri: Michigan TypeScript on YouTube
Hit us up on Socials!
Syntax: X Instagram Tiktok LinkedIn Threads
Wes: X Instagram Tiktok LinkedIn Threads
Scott: X Instagram Tiktok LinkedIn Threads
Randy: X Instagram YouTube Threads
Running Doom in TypeScript with Dimitri Mitropoulos
Doom has seemingly been ported to every electronic device imaginable, including picture frames, lamps, and coffee machines. The meme of “it runs Doom” has become so widespread that it spawned the r/itrunsdoom sub-Reddit.
Recently, Doom made headlines again for being ported to TypeScript. The project involved representing Doom entirely in TypeScript, three and a half trillion lines of types, 90 GB of RAM to run, and a full year to complete.
Dimitri Mitropoulos is the engineer who carried out this heroic feat. He’s also a developer at Vercel, the founder of Michigan Typescript, and a co-founder of SquiggleConf. Dimitri joins the podcast with Josh Goldberg to talk about what it took to pull off one of the most mind-bending TypeScript projects to date.
Josh Goldberg is an independent full time open source developer in the TypeScript ecosystem. He works on projects that help developers write better TypeScript more easily, most notably on typescript-eslint: the tooling that enables ESLint and Prettier to run on TypeScript code. Josh regularly contributes to open source projects in the ecosystem such as ESLint and TypeScript. Josh is a Microsoft MVP for developer technologies and the author of the acclaimed Learning TypeScript (O’Reilly), a cherished resource for any developer seeking to learn TypeScript without any prior experience outside of JavaScript. Josh regularly presents talks and workshops at bootcamps, conferences, and meetups to share knowledge on TypeScript, static analysis, open source, and general frontend and web development.
Please click here to see the transcript of this episode.
Sponsorship inquiries: sponsor@softwareengineeringdaily.com
The post Running Doom in TypeScript with Dimitri Mitropoulos appeared first on Software Engineering Daily.
It's all about the squiggles
Nick is joined by Josh Goldberg & Dimitri Mitropoulos to discuss SquiggleConf, a new conference focused on web dev tooling. We explore the motivations behind creating a conference dedicated to developer tools, the challenges of organizing both conferences and local meetups, and strategies for building engaged tech communities.
We also discuss the importance of developer tooling, the pandemic’s impact on tech events, and share insights on encouraging new speakers and creating inclusive environments & more!
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Fly.io – The home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun to get started in minutes.
Wix – Wix Sudio is for devs who build websites, sell apps, go headless, or manage clients. Integrate, extend and write custom scripts in a VS code-based IDE. Leverage zero set up dev, test and production environments. Ship faster with an AI code assistant. And work with Wix headless API’s on any tech stack.
Jam.dev – One click bug reports developers love — Never explain another bug report again. Jam auto-captures all the info engineers need to debug and repro.
Featuring:
Dimitri Mitropoulos – GitHub, LinkedIn
Josh Goldberg – GitHub, X
Nick Nisi – Website, GitHub, Mastodon, X
Show Notes:
SquiggleConf
ESLint
TypeScript ESLint
Mocha
Learning TypeScript book
Michigan TypeScript
Boston TS Club
NebraskaJS
Oh My Zsh (tool by Robbie Russell)
React
Vue
Go programming language
TypeScript
New England Aquarium conference venue
Squiggle Conf Discord
Something missing or broken? PRs welcome!
Going flat with ESLint
Josh Goldberg joins Nick & Chris to discuss the latest updates from ESLint, typescript-eslint & the new flat config format. They also discuss creating reusable configs & project generators before pivoting to talk about a new conference focused on developer tooling. Finally, Chris & Josh talk about the past, present & future of Mocha.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Neon – Fleets of Postgres! Enterprises use Neon to operate hundreds of thousands of Postgres databases: Automated, instant provisioning of the world’s most popular database.
Featuring:
Josh Goldberg – GitHub, X
Nick Nisi – Website, GitHub, Mastodon, X
Christopher Hiller – Website, GitHub, Mastodon, X
Show Notes:
ESLint’s new config system
Announcing typescript-eslint v8 Beta
dprint
Yeoman
Squiggle Conf
eslint-plugin-eslint-comments
JavaScript’s with keyword
Mocha
eslint-nibble
create-typescript-app
Something missing or broken? PRs welcome!
Ten years of TypeScript bliss
Nick celebrates a decade of writing everyone’s favorite language with guest Josh Goldberg, who contributes to TypeScript, maintains typescript-eslint, and is an all-around great person! Jerod is also here to join the celebration, but let’s keep that a secret from him!
Join the discussion
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You literally can’t get any faster!
Changelog News – A podcast+newsletter combo that’s brief, entertaining & always on-point. Subscribe today.
Featuring:
Josh Goldberg – GitHub, X
Nick Nisi – Website, GitHub, Mastodon, X
Jerod Santo – GitHub, LinkedIn, Mastodon, X
Show Notes:
Nick’s been writing TypeScript for a decade
TSConf
TypeScript 2.0 announcement
Nick’s utility type for deeply-nested objects
Kaka Ruto Vim tweet
A Language Server for Postgres
Learning TypeScript - Josh’s book
Deno
Bun
|> pipeline operator
Something missing or broken? PRs welcome!
ESLint and TypeScript
Josh Goldberg joins Nick, Chris & a very nasally-sounding KBall for a fun conversation around TypeScript ESLint. They discuss why we need ESLint when we have TypeScript, some useful rules in typescript-eslint, how it works, and a few hot takes along the way!
Join the discussion
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Sentry – Working code means happy customers. That’s exactly why teams choose Sentry. From error tracking to performance monitoring, Sentry helps teams see what actually matters, resolve problems quicker, and learn continuously about their applications - from the frontend to the backend. Use the code PARTYTIME and get the team plan free for three months.
Vercel – Vercel combines the best developer experience with an obsessive focus on end-user performance. Our platform enables frontend teams to do their best work. Unlock a better frontend workflow today.
Square – Develop on the platform that sellers trust. There is a massive opportunity for developers to support Square sellers by building apps for today’s business needs. Learn more at changelog.com/square to dive into the docs, APIs, SDKs and to create your Square Developer account — tell them Changelog sent you.
Featuring:
Josh Goldberg – GitHub, X
Nick Nisi – Website, GitHub, Mastodon, X
Kevin Ball – Website, GitHub, LinkedIn, X
Christopher Hiller – Website, GitHub, Mastodon, X
Show Notes:
📘 Learning TypeScript
typescript-eslint.io
@ts-expect-error
Execute Program
Chris’s Amazon Profile
Something missing or broken? PRs welcome!