MichiganTypeScript's Avatar

MichiganTypeScript

@michigantypescript.com

A place for advanced TypeScript to call home.

795
Followers
10
Following
161
Posts
28.12.2023
Joined
Posts Following

Latest posts by MichiganTypeScript @michigantypescript.com

Preview
Technical Deep Dive | Doom in TypeScript types YouTube video by Michigan TypeScript

we're live! www.youtube.com/live/9gqj7q1...

04.01.2026 18:00 πŸ‘ 8 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Technical Deep Dive | Doom in TypeScript types YouTube video by Michigan TypeScript

for the planner-types among us: here's a (scheduled) link youtube.com/live/9gqj7q1...

03.01.2026 22:01 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
typescript types with host Dillon Mulroy

typescript types with host Dillon Mulroy

livestream reminder: the full technical deep dive on the Doom in #typescript types codebase is happening tomorrow at 1pm Eastern with Dillon Mulroy hosting. let us know if there's anything specific you'd like to have covered!

03.01.2026 21:59 πŸ‘ 17 πŸ” 6 πŸ’¬ 1 πŸ“Œ 0
Post image Post image Post image Post image

πŸ€” what if we normalize apps embedding in-depth in-context docs that (if expanded) teach the concepts.... but with the user's own data? new (pretty chunky) page just landed in today's TypeSlayer release:

03.01.2026 04:01 πŸ‘ 9 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

oh, neat!

02.01.2026 16:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

re: MUI - it's mostly out of muscle memory. there's something magical about a framework you've used for years and has every little component you could wish for and is opinionated. it becomes very fluid to just crank out features - so that's why it's used!

02.01.2026 15:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

re: 3rd party dependencies, take a look at the first item in the FAQ (github.com/dimitropoulo...) and give your most brutal feedback on it. lookin' like it's a hill TypeSlayer might die on but your specific feedback of "filter the nodes by package" might be a middleground worth exploring

02.01.2026 15:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

re: hover in the type-graph: definitely need to look back into that. it was something we had working before (needing to) move the type graph to WebGL but it could be added back prolly.

02.01.2026 15:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

oh cool! loved your joke about it looking like fireworks! man! missed a great joke there launching on 1/1. it's SO interesting to see someone explore/use it (first time, actually!) so thanks!

02.01.2026 15:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

yolo

02.01.2026 12:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

ohhh that makes more sense - just clicked around violently until getting to a game to just see what it's like. definitely gonna try the tutorials! fun stuff!

02.01.2026 04:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

oh oh oh this is a fun game: and you needed `--stack-size=4096 --max-old-space-size=49152` too

02.01.2026 04:11 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

wow this is an interesting project! 1. what's the coffeescript doing? 2. playing it now - is it normal to think "wow, I'm not nearly smart enough for this lol"? 3. have any interesting discoveries been made through this or something like it?

02.01.2026 04:09 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

πŸ₯³ TypeSlayer is out! celebrate by posting what your type graph looks like! it legit has an actual leaderboard now: so bonus points if you win lol πŸ†πŸ†

run: `npx typeslayer`

source: github.com/dimitropoulo...

02.01.2026 01:59 πŸ‘ 82 πŸ” 22 πŸ’¬ 2 πŸ“Œ 3

that's a really cool one wow

01.01.2026 14:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
use std::collections::HashMap;

fn main() {
  let mut x: HashMap<Vec<i32>, i32> = HashMap::new();
  x.insert(vec![1], 0);
  x.insert(vec![1], 0);
  x.insert(vec![1], 0);
  assert_eq!(x.len(), 1);
}

use std::collections::HashMap; fn main() { let mut x: HashMap<Vec<i32>, i32> = HashMap::new(); x.insert(vec![1], 0); x.insert(vec![1], 0); x.insert(vec![1], 0); assert_eq!(x.len(), 1); }

x = new Map();
x.set([1], 0);
x.set([1], 0);
x.set([1], 0);
x.size

x = new Map(); x.set([1], 0); x.set([1], 0); x.set([1], 0); x.size

this is a sorta interesting difference between javascript and rust. something something values vs references

01.01.2026 03:27 πŸ‘ 6 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0
Doom on an Ableton Push! Doom-in-TypeScript Technical Deep Dive, Jan 4
Doom on an Ableton Push! Doom-in-TypeScript Technical Deep Dive, Jan 4 YouTube video by Michigan TypeScript

got Doom running on an #Ableton Push! prepping for the full technical deep dive on the Doom-in-TypeScript-Types codebase with Dillon Mulroy on Jan 4th at 1pm Eastern (FINALLYπŸ₯Ή)!

youtube.com/shorts/uLaf2...

20.12.2025 16:05 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

yeah lol that's strange. can you get in touch on the discord? you're the first person to report this (it's developed on Linux). would love to see what the problem is (just pushed a new release a few hours ago so maybe it's something recent?)

17.12.2025 13:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

cross platform native apps: they take longer but at least they're more complicated

15.12.2025 17:30 πŸ‘ 19 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

soon (tm). gotta make sure the core use-cases work and also that it doesn't die on windows paths lol

12.12.2025 12:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ur dms aint open

12.12.2025 12:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

yes - that's the idea!

12.12.2025 12:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

so! what you do is accept a generic to the func and/or remove the defaults on the upstream type. they really don't neeeeeeeed need a default and sometimes people in that situation see it as a "nice convenience thing" to add, when really you're plundering your perf for no real gain

11.12.2025 18:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

🫑

you paved the way with attest - such a cool tool

11.12.2025 18:31 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
3,513,934 types, 10,747,051 relations

3,513,934 types, 10,747,051 relations

hands down, best feedback so far: "this should have a leaderboard". we're talkin' multi-gigabyte json trace files lol.

11.12.2025 15:49 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

love this! yeah - it's one of those things that's like "man, if I only knew 10x more about TypeScript internals, I could probably do something cool with this data." lol. maybe now it's down to just 2x.

11.12.2025 15:31 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

bro let's totally absolutely do it! can you send me a booking link? in retrospect I keep thinking we should have just recorded that time I should you guyz Doom months before it was done and I was sorta unhinged/insane explaining it all in the thick of it. would have been funny to rewatch later lol.

11.12.2025 15:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
TypeSlayer - a TypeScript types performance tool
TypeSlayer - a TypeScript types performance tool YouTube video by Michigan TypeScript

now in early-access/alpha/beta/gamma/whatever-you-wanna-call-it.

here's a walkthrough: youtu.be/IP6EZXzXBzY

11.12.2025 03:44 πŸ‘ 18 πŸ” 3 πŸ’¬ 2 πŸ“Œ 0
Post image

βš”οΈintroducing TypeSlayerβš”οΈ A #typescript type performance benchmarking and analysis tool. A summation of everything learned from the benchmarking required to make the Doom project happen.

It's got MCP support, Perfetto, Speedscope, Treemap, duplicate package detection, and more.

11.12.2025 03:44 πŸ‘ 96 πŸ” 22 πŸ’¬ 13 πŸ“Œ 6

with this will come some other updates too (including the long-promised Doom wrapup videos, and future plans)

09.12.2025 18:46 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0