Sign in

Jake Bailey

@jakebailey.dev
4.5K followers 398 following 2K posts

Principal Software Engineer at Microsoft working on TypeScript Underground gopher, finally revealed jakebailey.dev github.com/jakebailey arch btw

PostsRepliesMedia
Jake Bailey @jakebailey.dev · 24/09/2026
that scene from the matrix except it's me reading articles, talk slides, PR descriptions, saying "that's Claude", "that's GPT", "that's Claude", "Claude", "GPT", ...
3939
Jake Bailey @jakebailey.dev · 22/09/2026
oh no, all this force pushing put me on the AgentScan list
2130
Reposted by Jake Bailey
Savannah Ostrowski @savannah.dev · 22/09/2026
my husband just interrupted putting dishes away because he wanted to show me something called a “jj megamerge”. i’m scared i’m losing my husband to jj.
621313
Jake Bailey @jakebailey.dev · 19/09/2026
help I'm turning into a jj megamerge sicko
4452
Jake Bailey @jakebailey.dev · 16/09/2026
don't make me tap the sign devblogs.microsoft.com/oldnewthing/...
devblogs.microsoft.com
It rather involved being on the other side of this airtight hatchway - The Old New Thing
Not every code injection bug is a security hole.
130
Jake Bailey @jakebailey.dev · 04/09/2026
this'll be exciting to a very specific kind of person github.com/microsoft/Ty...
github.com
Strongly type file paths by jakebailey · Pull Request #64159 · microsoft/TypeScript
This is a wacky change I've wanted to try out for a while and finally started screwing around with with copilot. Right now (and in Strada), we have just two kinds of paths: string - 🤷 Path - a...
6845
Reposted by Jake Bailey
NullVoxPopuli @nullvoxpopuli.com · 03/09/2026
I'm declaring TypeScript 7 for Ember: ready At work, on the 3 million line monolithic package, I'm seeing ~ 4m40s -> 12s a ✨ 23x ✨ speed boost
3658
Jake Bailey @jakebailey.dev · 03/09/2026
building a time machine just to go back and prevent the first ReDoS CVE from being accepted
0152
Jake Bailey @jakebailey.dev · 31/08/2026
This is now merged!!! 🎉
1400
Jake Bailey @jakebailey.dev · 21/08/2026
a cat paw can in fact proof-of-presense a yubikey during an auth flow
0131
Jake Bailey @jakebailey.dev · 20/08/2026
it's happened
Migrate repo to TypeScript 7- #63763
#63763
Merged
microsoft:main
jakebailey:main-ts7
2 minutes ago
+2,928,712
-6,073,031
Lines changed: 2928712 additions & 6073031 deletions
Conversation7 (7)
Commits2495 (2495)
Checks23 (23)
Files changed3000+ (3000+)
Conversation
@jakebailey
Jake Bailey (jakebailey)
4 hours ago
412211
Jake Bailey @jakebailey.dev · 20/08/2026
it's happening
+2,928,712
-6,073,031
4905
Reposted by Jake Bailey
Orta Therox @orta.io · 15/08/2026
I've bumped all of the @typescriptlang.org compiler usage in @puzzmo.com to now use TS7 and the new compiler API. All looks very reasonable and has every feature I needed for codegen and AST introspection Literally no notes :+1:
0201
Reposted by Jake Bailey
Andrew Branch @andrewbran.ch · 15/08/2026
If you’re not stalking TypeScript PRs, you might be surprised how much you can do with the API in nightlies (and even in 7.0 stable), so here’s a tiny demo that I think hits some of the highlights. 🧵
A package.json in VS Code after npm installing typescript@next
412720
Jake Bailey @jakebailey.dev · 13/08/2026
with the way GitHub issues are going these days, I think I now understand what it was like when Google Duplex came out and businesses were talking to bots on the phone
060
Jake Bailey @jakebailey.dev · 12/08/2026
it's so great knowing that so many resources out there are being spent on *checks notes* protecting me from yaml files that are a little too complicated
0110
Jake Bailey @jakebailey.dev · 12/08/2026
TypeScript, now downloaded... 1G a month?
TypeSCript

CI | passing
npm package | 7.0.2
downloads | 1G/month
9526
Jake Bailey @jakebailey.dev · 11/08/2026
self merged my own Go CL for the first time today 😎
2180
Jake Bailey @jakebailey.dev · 01/08/2026
i love when discourse happens, as it provides me with whole new classes of bad-takes-havers to mute
040
Reposted by Jake Bailey
TypeScript @typescriptlang.org · 28/07/2026
Have you been using TypeScript 7? @ahejlsberg.bsky.social shows off what 10x faster build & editing experiences look like with @vscode.dev!
youtube.com
TypeScript 7 Is Here (And It's 10× Faster)
YouTube video by Microsoft Developer
57018
Jake Bailey @jakebailey.dev · 27/07/2026
the worst part about talks is writing talks the best part about writing talks is finding all the oopsies in the code being talked about and thus, I now have PRs to make the TS AST 2% smaller, the parser 10% faster, the binder 1.5% faster
4673
Jake Bailey @jakebailey.dev · 26/07/2026
Nirvanna The Band The Show The Movie

(spoilers)

scene where they jump off the CN Tower
040
Reposted by Jake Bailey
Artem Zakharchenko @kettanaito.com · 21/07/2026
TypeScript 7.0 is incredible. I didn't even know type checking/generation took that much time in my build. Now it's 3-4x faster. Highly recommend updating.
1664
Reposted by Jake Bailey
Tom MacWright @macwright.com · 23/07/2026
switched to typescript 7 for coding on @val.town. extremely good.
2161
Jake Bailey @jakebailey.dev · 21/07/2026
Am I sick or procrastinating? You decide Anyway I made the Go compiler twice as fast at compiling the TS checker package go-review.googlesource.com/c/go/+/803462
go-review.googlesource.com
Gerrit Code Review
2573
Jake Bailey @jakebailey.dev · 19/07/2026
excuse me but how hasn't anyone recommended Tor's Cabinet to me sooner, were you all holding out on me
010
Jake Bailey @jakebailey.dev · 19/07/2026
Soo I hit the button to release TS 7 then swiftly went out of office for vacation 😅 How's it going for everyone? Hopefully speedy speedy good
5551
Jake Bailey @jakebailey.dev · 18/07/2026
My favorite thing about the most recent frontier models is how I'm not allowed to investigate compiler crashes anymore 🫠
090
Jake Bailey @jakebailey.dev · 12/07/2026
lived my dream and saw les mis in the front row in the west end, truly incredible experience and @savannah.dev liked it, which is a win i've now seen it three times, which I'm declaring to be normal
Front row, Sondheim theater, preshowMe sitting front row in Sondheim theater at les miz
3360
Reposted by Jake Bailey
npm @npmjs.com · 08/07/2026
npm v12 is now generally available. npm install now makes install scripts, Git, and remote-URL dependencies opt-in by default. We're also retiring npm 2FA-bypass GAT: no account management (early Aug 2026), no direct publishing (~Jan 2027). More info at github.blog/changelog/20...
github.blog
npm install-time security and GAT bypass2fa deprecation - GitHub Changelog
npm v12 is now generally available and tagged latest. This major release turns on the install-time security defaults we announced in June, and it’s also where we begin a deprecation…
26024
Jake Bailey @jakebailey.dev · 08/07/2026
Really excited that this is out the door! Super proud of the work the team has done in the past year to get this complete. Excited for the future; API stuff is in full swing, more perf improvements, and more. Please give it a try!!!
51468
Jake Bailey @jakebailey.dev · 05/07/2026
Pretty surprised to see movement in the "make regex backtracking not catastrophic" space: arxiv.org/pdf/2311.17620 Only learned about this by being cross referenced to github.com/le0pard/re2js on a Go CL fixing a regex bug
github.com
GitHub - le0pard/re2js: RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching
RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching - le0pard/re2js
1241
Reposted by Jake Bailey
Turn Down For Hwæt @mxlabradorite.bsky.social · 01/07/2026
This interview in Vanity Fair came out in 2010, and this exchange from it has lived rent-free in my head ever since.
So listen, I’m not sure how to broach this subject. There’s a lot of half-naked men in Jackass, and a lot of anal play and nipple torture and testicle touching. Is it possible that Jackass is at least a smidge gay?

Knoxville: I’m offended you just said a smidge!

It’s more than a smidge?

Knoxville: We’re over here sitting on rainbows and you say a smidge.

You’re a gay pride parade waiting to happen?

Knoxville: We’re a gay pride parade that’s happening! And in 3-D!

It’s not just homoerotic tension?

Knoxville: No, man, it’s all about release with us.

Steve-O: We always thought it was funny to force a heterosexual MTV generation to deal with all of our thongs and homoerotic humor. In many ways, all our gay humor has been a humanitarian attack against homophobia. We’ve been trying to rid the world of homophobia for years, and I think gay people really dig it too.

This was way too easy. I had all of these questions designed to lure you into admitting your subconscious desire to fuck each other. But apparently you’re not suppressing anything.

Knoxville: Suppressing?! Wait till I tell the guys you said suppressing! We’re not suppressing anything! We’re over here sitting on dicks!
2756431682
Jake Bailey @jakebailey.dev · 01/07/2026
A week on and it's still working well; it required a gopls change (go.dev/cl/795221, hope that's released soon!). With 5 day pruning like Go does itself, that 5 day window leaves me sitting at about 150GB of cache, which comes out to about 20GB on disk. Very good!
Configuration:
  Cache directory    /home/jake/.cache/gocachez
  Version directory  /home/jake/.cache/gocachez/v1
  Max size           20.0GiB
  Max age            5d
  Verbose            false

Summary:
  State               present
  Cached actions      87014
  Cached outputs      44924
  Oldest cache entry  4d 15h
  Live runs           0 active, 2011 inactive

Storage:
  Original output size    162.1GiB
  Compressed cache blobs  15.8GiB (44924 files)
  Blob max usage          15.8GiB / 20.0GiB (78.9%, 4.2GiB remaining)
  Retained go-list files  3.4GiB (16918 files)
  Total stored            19.2GiB
  Blob-only savings       146.4GiB (90.3%)
  Overall savings         142.9GiB (88.1%)

Compressed blob contents:
  Type                   Files  Original    Stored             Savings
  Go package archives    16353  160.6GiB   15.7GiB  145.0GiB (  90.2%)
  Go test input logs       248  930.3MiB   42.5MiB  887.8MiB (  95.4%)
  Go test outputs          660  560.7MiB   46.3MiB  514.4MiB (  91.7%)
  Go package indexes     20686   31.8MiB    8.7MiB   23.1MiB (  72.6%)
  Generated cgo sources    155    1.4MiB  261.4KiB    1.2MiB (  82.3%)
  Go source files          466    1.4MiB  378.8KiB    1.0MiB (  73.5%)
  Go source file lists    6232  860.9KiB  712.0KiB  148.9KiB (  17.3%)
  Go analysis facts        114  133.7KiB   35.4KiB   98.3KiB (  73.5%)
  C compiler IDs             6      660B      738B      -78B ( -11.8%)
  Go tool flag probes        2        9B       35B      -26B (-288.9%)
  Text files                 1        3B       16B      -13B (-433.3%)
  Empty files                1        0B       13B        0B (   0.0%)

Retained go-list files:
  Type                   Files     Size
  Export archives        16291   3.4GiB
  Generated cgo sources    155   1.4MiB
  Generated test mains     466   1.4MiB
  Other retained files       6  18.4KiB
1120
Reposted by Jake Bailey
Visual Studio Code @vscode.dev · 29/06/2026
⚡ Learn how the VS Code and TypeScript teams collaborated to bring TypeScript 7 to VS Code. The result: faster builds, faster iteration, and a better day-to-day development experience. Read more: code.visualstudio.com/blogs/2026/0...
TypeScript 7 logo on a blue gradient background.
25610
Jake Bailey @jakebailey.dev · 27/06/2026
HSTS should also be settable via DNS
050
Jake Bailey @jakebailey.dev · 26/06/2026
all concerts are ruined by standing people
350
Jake Bailey @jakebailey.dev · 25/06/2026
i should blog more
2200
Reposted by Jake Bailey
GopherCon @gophercon.com · 22/06/2026
The TypeScript port to Go is complete. Now what? 🚀 Join @jakebailey.dev at #GopherCon for a look at what happened after the port, including new tooling, Wasm support, lessons learned, and how Go continues to shape the future of TypeScript. 🎟️ gophercon.com #RoadToGopherCon #golang
0222
Jake Bailey @jakebailey.dev · 22/06/2026
Did a bit of hacking this weekend and cooked up "gocachez", a GOCACHEPROG which transparently compresses the Go build cache to save disk space at rest at the cost of CPU, with fairly good results. Building and testing TS would normally eat up roughly 4GB, but with gocachez it's only about 400MB.
 ~  go env GOCACHEPROG
gocachez
 ~  gocachez status
Configuration:
  Cache directory    /home/jabaile/.cache/gocachez
  Version directory  /home/jabaile/.cache/gocachez/v1
  Max size           20.0GiB (21474836480 bytes)
  Verbose            false

Catalog:
  State              present
  Entries            2465
  Outputs            1146
  Uncompressed size  4.5GiB (4856553973 bytes)
  Compressed size    428.5MiB (449308207 bytes)
  Savings            4.1GiB (90.7%)
  Runs               0

Storage:
  Kind            Files  Size
  Blobs           1146   428.5MiB (449308207 bytes)
  Retained files  426    75.9MiB (79539189 bytes)

Blob types (best effort):
  Type                   Files  Uncompressed                Compressed                  Extra
  Go package archives    416    4.4GiB (4716189032 bytes)   421.0MiB (441457527 bytes)  export data: 75.8MiB (79487346 bytes)
  Text files             363    101.6MiB (106522835 bytes)  4.6MiB (4868707 bytes)
  Unknown binary files   56     30.0MiB (31468529 bytes)    2.4MiB (2496554 bytes)
  Go package indexes     259    2.2MiB (2303696 bytes)      454.5KiB (465442 bytes)
  Go analysis facts      40     45.4KiB (46439 bytes)       11.5KiB (11787 bytes)
  Generated cgo sources  10     22.8KiB (23343 bytes)       7.9KiB (8065 bytes)
  C compiler IDs         1      99B (99 bytes)              112B (112 bytes)
  Empty files            1      0B (0 bytes)                13B (13 bytes)

Retained file types:
  Type                   Files  Size
  Export archives        416    75.8MiB (79515846 bytes)
  Generated cgo sources  10     22.8KiB (23343 bytes)

Live runs:
  State     Count
  Active    0
  Inactive  1
3140
Jake Bailey @jakebailey.dev · 18/06/2026
brb compiling TS RC with Go RC
1250
Reposted by Jake Bailey
TypeScript @typescriptlang.org · 18/06/2026
📣 TypeScript 7's Release Candidate is now out! 📣 The new native rewrite is almost here. Try it out on your codebases, and make sure your team is ready for the upcoming 7.0 release!
devblogs.microsoft.com
Announcing TypeScript 7.0 RC - TypeScript
The Release Candidate for TypeScript 7.0 is now available!
525152
Jake Bailey @jakebailey.dev · 15/06/2026
@jorropo.net burst my bubble; this could actually be observable by a very goofy case of a boxed nil interface call, something that the Go test suite did not test! But, it's still salvageable; just generate one wrapper instead of zero, which is just a simplification of my second CL. redone
go-review.googlesource.com
Gerrit Code Review
2140
Reposted by Jake Bailey
WSDOT @wsdot.wa.gov · 15/06/2026
WELCOME TO WASHINGTON, SOCCER FANS. Get acquainted with our state via this highly accurate and mostly-to-scale map.
A hot mess of colorful scribbles all over a map of Washington, featuring doodles of iconic Washington features like mountains, orcas, ferries, cherries, onions, and other produce. The map emphasizes the busyness of the Seattle area, I-5, I-90, US 2, and the U.S./Canada border during the World Cup games.
822675765
Jake Bailey @jakebailey.dev · 15/06/2026
This is a fun one: I just sent go.dev/cl/790740, which elides method wrappers for embedded types at offset zero, common for mixins/inherited data types. Doing this removes 60 _thousand_ method wrappers from tsgo's AST package, dropping the compilation of our main exe from 49s to 28s on my machine.
Benchmark 1: go build -a ./cmd/tsgo
  Time (mean ± σ):     48.992 s ±  0.274 s    [User: 345.152 s, System: 12.545 s]
  Range (min … max):   48.702 s … 49.478 s    10 runs
 
Benchmark 2: ~/work/go/bin/go build -a ./cmd/tsgo
  Time (mean ± σ):     28.323 s ±  0.133 s    [User: 141.277 s, System: 4.853 s]
  Range (min … max):   28.075 s … 28.555 s    10 runs
 
Summary
  ~/work/go/bin/go build -a ./cmd/tsgo ran
    1.73 ± 0.01 times faster than go build -a ./cmd/tsgo
3656
Jake Bailey @jakebailey.dev · 30/05/2026
Still so angry at this Anyone have any note app suggestions
220
Jake Bailey @jakebailey.dev · 28/05/2026
Google Keep hiding the archive button is utterly maddening, I simply do not understand, why do that
140
Jake Bailey @jakebailey.dev · 27/05/2026
thank you YouTube for opening to a full page of shorts followed by "playables", both things I absolutely totally want and definitely have never clicked "show less" on multiple times before god forbid any product by any company actually respect my attention
2110
Jake Bailey @jakebailey.dev · 26/05/2026
it's not much but it feels cool to go to ichiran and speak to the staff in Japanese and not have them speak English back "it's not much" doing a lot of work because what i'm really saying is that I know simple phrases and numbers 🙂‍↕️
1170
Jake Bailey @jakebailey.dev · 23/05/2026
Star Trek Voyager title card, says "エンドレスエイト vi"
121