Software engineer in London. TypeScript and AI. VP SWE @jpmorgan @chase_uk

London
Joined February 2022
Include

Only show posts containing:

Exclude

Hide posts containing:

Time range
-
Minimum likes
building on this: port 65536 is now a compile error. no runtime check, no recursion 🧱
turns out TypeScript types can enforce a min and max string length too
1
2
148
turns out TypeScript types can enforce a min and max string length too
turns out TypeScript types can enforce an exact string length
3
1
7
538
cc @ctatedev @theo @boshen_c @jarredsumner if anything's set up wrong for your tool let me know and i'll fix it and rerun
1
58
errors: tsc-ts matched tsgo byte for byte on all three. bun printed the same error lines plus its own summary tsc-rs and tsrs report 1 extra on outline and 10 on vscode, and the 7.1-dev builds they port report the same. so that comes from 7.1, not the ports
1
75
tsgo 7.0.2 as the reference, plus tsc-ts, tsc-rs, tsrs and bun check type-fest, outline and vscode, each pinned to a commit, fresh process every run, no incremental cache tsc-ts 0.0.4 and tsrs 0.18 shipped today, after this ran. rerun with those coming
1
103
Built an open benchmark off the back of this: 5 typescript checkers, 3 real projects, raw output behind every result Controlled numbers come in under my quick first run. tsc-ts is 4.5x faster than tsgo on type-fest at defaults, 3.4x with both at 10 threads. ts-checker-bench.danfry.dev
TypeScript is 6 times faster than go[*]
3
1
12
1,149
The errors matched tsgo 7.0.2 byte for byte on type-fest, outline and vscode with tsc-ts 0.0.3, clean and with errors planted on purpose. Early days but that's a good sign
1
26
Daniel Fry retweeted
hey. here's a little demo of the most meaningful improvement to my productivity since speech-to-text.
200
136
84
3,225
279,743
Replying to @cramforce
ran the new tsc-ts against tsgo 7.0.2 on type-fest tsgo: 18.3s tsc-ts: 3.0s identical errors too, even with 6 checks broken on purpose. tsgo with 8 checkers gets to 13.6s so it's not just threads
3
1
1
31
23,723
Replying to @tavus
Impressive work, but I can't get past the worry that technology like this makes life a lot easier for scammers and bad actors. What are the use cases you're most excited about?
1
20
Replying to @techsavvytravvy
the key is `"" & String` vs `"" & {}`. TS folds `"" & {}` away, so the last D swallows the rest. `"" & String` stays a real placeholder and pins the end, so "12345678" fails and "1234" works (no leading zero needed) side by side: typescriptlang.org/play/?#co…
1
2
146
Replying to @JitPackJoyride
thanks for sharing Ajit, this looks great!🦾
1
127
another use: Ethereum addresses vs hashes (the case @MicahZoltu asked for in TypeScript issue #52243). Address = exactly 40 hex chars, Hash = exactly 64, so mixing them up is a compile error. no brands, no runtime code. playground: typescriptlang.org/play/?#co…
1
288
xitter.cf/techsavvytravvy/status… builds on @techsavvytravvy's non-empty string trick. his gives you a minimum length, the `"" & String` end marker gives you an exact one.
i found a way to represent a non-empty string without branded types and without using `any`
2
799