13 avsnitt • Längd: 55 min • Veckovis: Måndag
The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together once a week to bring you news, updates, and interviews about TypeScript and the broader web development ecosystem.
The podcast TypeScript.fm – The Friendly Show for TypeScript Developers is created by Kamran Ayub and Erik Onarheim. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
This week on the pod, we talk to Dimitri Mitropoulos about building DOOM in the TypeScript type system. We walk through all the nitty gritty and explore this truly amazing engineering feat! We touch on things that Dimitri learned and discovered along the way, and how you might be surprised what you can accomplish by trying! In the news, Zod 4 Beta drops with awesome new features.
Links
DOOM with Dimitri
VGM Con
Excalibur Games:
Interview
00:00 Intro
00:37 SquiggleConf 2025
01:33 Personal News
05:34 Dimitri's Background and Michigan TypeScript
10:18 JSON Parser in TypeScript Types
10:55 Where do you start with DOOM in Types?
11:51 "DOOM" Complete
16:09 How do you run DOOM in TS?
20:15 Debugging an Emulator in TS Types
22:14 How does DOOM work?
23:54 Using Web Assembly
26:17 Understanding WebAssembly and TypeScript Integration
28:49 The Concept of Abstraction in Programming
31:03 Challenges in Implementing WebAssembly from the Spec
33:16 Ambiguities in Specifications and Their Impact
35:11 Debugging Techniques and Error Handling
37:06 Innovative Use of Overflow in Game Development
40:46 Insights Gained from TypeScript During the Project
43:49 The Complexity of TypeScript Types
49:18 Time Travel Debugging and Memory Management
51:20 The Most Challenging Aspects of the Project
55:16 Reactions to DOOM
01:00:28 The Dawn of TypeScript Go
01:10:33 Lessons Learned and Future Directions
01:17:45 Outro
News
01:19:06 News for the Week of April 7th
01:24:29 Community Posts
01:27:54 Secret of the Handbook
01:29:36 Cool Stuff
01:30:28 Debugging and Performance Optimization Techniques
01:34:31 Post-roll
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!
Also Please email us your feedback for your retro episode ([email protected])
00:00 Intro
00:50 VGM Con
02:07 IGDATC Talk Wednesday April 9th
02:41 Toddler Zone
03:28 Exciting Arizona Travels
05:53 (Almost) Missing Flights
07:33 Sponsored by Excalibur.js
08:44 JavaScript Enums Proposal
10:06 Deno v. Oracle
12:55 Parcel 2.14 and React Server Components
14:01 Build Browser Extensions with Parcel
14:18 NPM Ecosystem Updates
15:23 Mozilla JavaScript Sandbox Vulnerability
16:51 Community: ArkType Deep Dive
17:31 Community: JavaScript & TypeScript in my Database
20:00 Kamran's Cool Stuff: Data Visualization with TypeScript
20:40 Erik's Cool Stuff
21:27 Sprite Sheet Packing with Potpack
23:53 De-Google Your Life
25:46 HyperLight: A Lightweight VM for WASM
30:26 Post-roll
This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries.
Also Please email us your feedback for your retro episode (feedback at typescript.fm)
Personal News
(09:26) News for the Week of March 17, 2025
(17:33) Community Highlights
Bun Deep Dive
Outro
Other Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.
(00:36) Personal News
(04:28) Introducing Josh Goldberg
(45:02) Where to Find Josh
(46:55) News for the Week of March 10, 2025
(54:55) Cool Stuff
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.
Week of March 3, 2025
Deep Dive: TypeScript is Being Ported to Go
Other Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.
Erik's News
Week of February 24, 2025
Deep Dive: TypeScript and React Nuances
Secrets of the Handbook
Links
This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.
Week of February 17, 2025
Community Highlights
Deep Dive: TypeScript ORMs
Secrets of the Handbook
Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...
This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.
Community Highlights
Deep Dive: JSR
Secrets of the Handbook
Links
This week Kamran and Erik try to dissect the complex landscape of JavaScript and TypeScript compilers, transpilers, interpreters, engines, and runtimes (oh my!). What are the tools, what are they used for, why is the world so complicated, and what should you care about as a TS developer?
Community Highlights
Compilers and Runtimes Deep Dive
Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
This week Erik and Kamran talk about Vite (Vight? Veet?), what it's good for, how it works, and its status as the "go-to" tool for frontend tooling.
Vite Deep Dive
Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
This week Erik and Kamran make poor dad jokes, talk about Deno, and tour its ecosystem. If you're new to Deno, this will be a great introduction!
Deno Deep Dive
Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
In this episode, Kamran and Erik discuss the newly released TypeScript support with Node 23.6 and its implications. What's supported? What's not supported? And how does it differ from Bun or Deno?
Errata
Cool Stuff
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
In the inaugural episode of TypeScript.fm, the two fools introduce themselves, share their "origin stories," and share plans for the podcast. Briefly covered in the news: Vite 6, Deno 2's expansion of the ecosystem, Node 23's new TypeScript support, and the latest Excalibur.js 0.30.0 release.
Links
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
Creators & Guests
En liten tjänst av I'm With Friends. Finns även på engelska.