Software developer. Prev @deno_land. Working on ts-morph, dprint, and more.

Toronto, Canada
Joined January 2009
Crunched the latest CVE/Pope numbers.
I'm tired boss
7
267
More progress compiling Prettier to Wasm then running it in dprint. 32 threads then 1 thread.
Current progress compiling Prettier to Wasm.
3
1
15
977
It's actually not faster when strictly looking at how long it takes to format text, but dprint traverses files really fast and the Wasm scales better on multiple threads (this chart is JS warmed up, which the Wasm doesn't need to do).
90
It's very hard to innovate on module resolution in JS because the TS user experience would be bad. TS needs something like content mappers, but for module resolution—you specify an npm package in a tsconfig and then TS sends it the raw specifier and referrer info to resolve.
1
9
430
Current progress compiling Prettier to Wasm.
1
17
2,143
A huge benefit is this allows distribution of the TypeScript compiler as JavaScript so it can keep working well in JS until JS can catch up.
New from Vercel Labs: tsc-ts TypeScript was written in TypeScript Then rewritten in Go We ported it back to TypeScript Compiled it with scriptc And it's 2-4x faster than tsgo
5
23
2,574
I had a similar idea when I became distraught after the TS team told me about their choice of Go... for several weekends I worked on a subset TypeScript to C# compiler that exposed things like Parallel.For Unfortunately, at the time, it was a ton of work so I gave up.
1
1
226
Nowadays this kind of stuff is trivial... super exciting, but also I feel bad for the TypeScript team because it's becoming easy for other people to come up with better solutions. You no longer need to spend millions of dollars to do this kind of work.
1
6
280
You can use bun's formatter in dprint now with `dprint add bun` (dprint.dev - code formatter for all your code formatters) It's also available to try in the playground here: dprint.dev/playground/#code/… Of if you want to use it in JavaScript: npmjs.com/package/@dprint/bu…
1
12
1,007
After many years, finally got the Roslyn (C#/VB) formatting plugin for dprint (dprint.dev) compiled to Wasm so it runs sandboxed instead of launching an executable. Amazing how far C# has come.
1
12
740
David Sherret retweeted
Range formatting is now supported in the json, markdown, toml, dockerfile, and jupyter plugins. Additionally, most of the bugs in all these plugins have been fixed and many new config options have landed. Run `dprint config update` on your project to get the latest versions.
1
1
84
David Sherret retweeted
My hot take from chatting to @poteto is that we should use MORE abstractions in the AI age You can use them (combined with harsh lint rules) to reduce the design space available to the agent and constrain them only to good decisions. Combined with the fact that high-leverage abstractions let you do more with less code - so, more token efficient. Plus, unwinding the damage from a bad abstraction is much cheaper with agents. This runs counter to a lot of folks thinking that agents just want to read the raw code. They can, but they're not maximally efficient that way. Be braver! Design abstractions.
263
214
108
3,915
449,515
I understand this, but I find PRs can serve as a good starting point/context for landing a patch. It’s like an issue with token/time savings and some projects still need guiding AI. I really hope more projects don’t take this route—I want to continue contributing places!
Due to AI, I have disabled external pull requests on all my repos. Open source, as we have known it, was fun while it lasted. (It’s been 15 years for me) I will still maintain projects and handle issues.
3
12
1,384
That said, a lot of PRs I see seem like the person is using a bad model or they don’t know how to provide direction to AI. Other times they’re not targeted. In those cases, I don’t feel bad closing or just rewriting their PR and landing with attribution when it makes sense.
101
Nowadays you can do anything and it won’t ever tell you no.
Looks like the gains were not from dropping down to asm And rather just better design: DOD (SoA), only re-painting what was changed, writev to reduce syscalls, etc All of which you could in Rust without asm!
1
6
562
One way you can bring value is explaining why something is a bad idea.
83
I know sometimes I just have to get over UI changes, but isn’t moving the back button far away to the top left corner in chrome mobile an objectively bad decision? Now I need to adjust my grip and stretch for it. Feels like c-suite design. I don’t think I’ll use “Ask Gemini”…
1
6
670
Here's a screenshot I found online of before. The back button is easy to reach in the bottom left corner.
1
2
137