Platform DX @Shopify. Created @preactjs. Do more with less. https://xitter.cf/t.co/z1d6J24DlE @developit@mastodon.social

Hamilton, Ontario, Canada
Joined September 2008
Jason Miller πŸ¦Šβš›@_developit6 Sep 2022
Introducing Preact Signals: a reactive state primitive that is fast by default. βœ… feels like using plain values πŸ₯³ automatic updates when values change ⏱ updates DOM directly (fast!) πŸ₯Ή no dependencies arrays preactjs.com/blog/introducin…
123
402
150
2,442
Jason Miller πŸ¦Šβš›@_developitSep 30
I just had to type "sorry, wrong agent". 2026 is weird
19
4
2
109
7,031
I just told an agent "you're absolutely right"..
1
6
180
Jason Miller πŸ¦Šβš›@_developitOct 5
oh god that's the beginning of the end I think
1
55
Jason Miller πŸ¦Šβš› retweeted
Git at Scale (by cursor) has been one of the most interesting blog posts i've read in a while. It came right when I was frustrated with Shopify's internal git system. As an exercise, I've implemented it over the weekend as open source. It's a single rust binary that you can point at any S3 type object store. It uses WAL and CAS primitives and requires no other data store. It also implements bundle-uri so large git repos (like our mono) are very fast to download as a chain of static bundles. Also comes with basic familiar UX. github.com/tobi/walgit
174
286
116
5,243
860,849
Jason Miller πŸ¦Šβš› retweeted
Preact, just build your apps with a familiar feeling tech! If it doesn't work, yell at me!
2
11
1,499
LOL I'm going to rip out every barrel module from 14 million lines of TypeScript πŸ˜‚. This is going to be a wild time.
9
1
43
6,715
Jason Miller πŸ¦Šβš›@_developitAug 20
late reply but: no, not really. the DX win from the performance improvement massively outweighed any familiarity loss. One thing we did to help was convert a bunch of "pseudo-package dirs" to real pnpm workspace packages with `"sideEffects"` configured.
1
1
208
Jason Miller πŸ¦Šβš›@_developitAug 20
the "sideEffects" config means packages can have their exported interface be a barrel without no performance hit (Vite dissolves re-exports, TS types are generated+cached so no source fan-out). And the packages made it so file moves usually don't change importer specifiers.
1
182
Jason Miller πŸ¦Šβš›@_developitJul 16
This got us to the end goal fast, but the main value was that it uncovered all of the incredibly nuanced bugs we had when barrel files were removed - module trees shifting between bundles, their exec timing changing, etc.
1
1
510
Jason Miller πŸ¦Šβš›@_developitJul 16
And then the bonus was that doing it as a bundler plugin meant it had to be fast, which forced decisions like doing it all via a Rust lexer (no ast), and those all got reused to build the codemod tool that we then used to stamp the barrels out of the source after.
2
3
251
Jason Miller πŸ¦Šβš› retweeted
ast-grep is so good I know I can trust software maintained by Hatsune Miku
8
4
195
9,955
Day 1 of vibecoding
2,265
11,222
1,925
106,757
59,036,684
Jason Miller πŸ¦Šβš›@_developitJun 22
it's spelled "Jason"
1
10
511
Jason Miller πŸ¦Šβš› retweeted
What if a signal on the server could just be a signal on the client? Wrote about @_developit's mixed-signals - it reflects server-side Preact Signals to clients over any transport. Write your state once as a model, decide where it runs. No fetch glue. No cache invalidation. Just signals. jovidecroock.com/blog/mixed-…
1
8
26
3,768
Jason Miller πŸ¦Šβš›@_developitMar 19
Has anyone else noticed mobile frontends (native and web) are getting increasingly terrible (as we descend into UX vibe coding?)? I keep noticing I've developed ridiculous coping strategies like constantly copying input to clipboard in case it gets lost when sending.
20
1
98
9,044
I feel like every site I visit has accidental horizontal scroll
6
1
52
4,526
Jason Miller πŸ¦Šβš›@_developitMar 19
lol yeah. though... I'd lay partial blame at the feet of CSS for that specific one haha
1
477
Replying to @_developit
New hobby: pressing End to jump directly to the end of landing pages which look like one of the 5 designs every LLM will spit out, and watching the obligatory scroll fade fall apart as I scroll up
1
1
230
Jason Miller πŸ¦Šβš›@_developitMar 19
or the copyright that tells you what year the LLM training data was collected rather than the date the page was last updated
1
144
Replying to @_developit
100%. It feels like nothing is even tested anymore. wtf?
1
2
185
Jason Miller πŸ¦Šβš›@_developitMar 19
why test when you can RALPH
1
1
118
Replying to @wesbos @_developit
the home depot app is so fucking slow it's unusable. I literally wanted to buy something from them. My ADHD wouldn't let me wait. Now my cat 5 cable comes from amazon. This is on them.
2
1
153
Jason Miller πŸ¦Šβš›@_developitMar 19
probably comes from the same vendor on the same boat anyway
68
Replying to @_developit
I've resorted to similar techniques for very popular web frontends too, directly from the makers of LLMs
1
2
152
Jason Miller πŸ¦Šβš›@_developitMar 19
lol maybe that's the shift - I'm using more frontends from the folks building LLM stuff, and that stuff is all rushed
1
1
101
Ryan Florence
@ryanflorenceMar 19
Replying to @_developit
i've felt this for over half a decade
1
469
Jason Miller πŸ¦Šβš›@_developitMar 19
its been going downhill for sure, but really feels like it's accelerated
2
225