You know.

Joined March 2007
510 Photos and videos
Mar 10
So I guess I built a browser in to my terminal?
1
134
Vibecoded the terminal app I've always wanted. github.com/markhuot/watchtow…
3
130
5 Dec 2025
So excited to be using @pestphp's browser testing in Craft Pest now! Makes testing JS functionality so easy. And with factories creating the world to test we get pretty reliable screenshot regression testing too!
1
5
815
5 Sep 2025
Every time I have to work in a stateful back-end I'm reminded how much "easier" stateless is. There's a whole class of memory bugs you just don't have to worry about when the request and its entire memory heap is thrown out at the end of the request.
1
2
113
8 Oct 2024
Improving console testing in @craftcms Pest has been high on my list. Finally got around to it so you can now test any console action and assert: the exit code, stdout, and stderr all without cluttering up/messing with the Pest console log.
2
2
392
13 Jun 2024
Not going to lie. I'm loving queue handling in `craft-pest` now. It's sort of an e2e test masquerading as a unit test but I don't care. The unit of work is saving an entry. I want to test that saving an entry calls the correct queue jobs.
4
166
12 Jun 2024
Always a good feeling.
1
4
193
30 May 2024
Oooo, React Server Components in v19 are opening up to anyone thanks to the `use` hook. Can't wait to make 🌶️ use of this from PHP.
2
152
26 Apr 2024
🌶️ takes get things done. I'm in the same boat and loving it.
Confession: I have never used SSL during local development and don’t see the point. 🤷‍♂️
243
16 Apr 2024
Is it crazy that I would love a Terraform as a Service. Something where I can interact with a UI to make all the changes I would normally make in Cloudflare or AWS UIs but those changes are persisted to .tf files and synced to some SCM for me?
167
7 Feb 2024
Any @CraftCMS developers know of a good way to type an EntryQuery for custom fields? I have CustomFieldBehavior typed on to craft\elements\Entry so I can $​entry->customField without issue. But now I want to Entry::find()->customField($​value)->one()
3
456
31 Jan 2024
Woo! @arcinternet on iOS supports iOS-native password vault. Just got 1000% easier to switch to Arc. (I wish they had a webkit-based desktop build now too and I'd be _all_ in on all my devices)
1
191
17 Jan 2024
Ryan with the most cogent response to the React FUD I've read so far.
REACT! Just got caught up on all the posts 😅 I'm near the top of the list of people who could justifiably complain about how they've handled communication, community, and technical details of the project But I'm not going to 🤗 With a spotlight as big as theirs, you're gonna find some warts--real and imagined--as you would with anybody imo React is still the best rendering library for the web and the people behind it are just doing their best, and actually doing a great job Fighting against it is going to set the web back a few years if you're successful. React has been been leading the pack for a decade now because it keeps raising the ceiling for UX with wonderfully encapsulated abstractions. Denying this is silly because every alternative looks exactly like it now They're doing it again with RSC, as part of the work they've been doing for several years that's finally coming to fruition. RSC is a solution to many problems most developers don't even know exist, that's why many people think it's "too complex of a solution" for the ones they do understand. As a framework author (and web developer since before JavaScript was created) I see them as absolutely revolutionary. If you can't acknowledge this, I'm not sure you've spent enough time on the front or back end of the stack of successful products with varying audiences. Yeah, the React team has fumbled the ball a few times in the last few years, most especially by accidentally torching relationships with prominent members of the community who didn't go work at facebook (I'm not alone, I have many DMs) and then accidentally coupling to Vercel But they're fixing this in earnest, and none of it was malice (I'd say just incentives) In the near future you're gonna feel like a kid in the candy store again building with React and we'll all be posting cool stuff we're doing instead of complaints, like it's 2014 all over again 🎉
1
296
11 Jan 2024
I read a couple tweets about Zuck feeding his cows macadamia nuts and now I’m getting nonstop ads for nuts. And now I’ve tweeted about nuts so here come even more targeted ads and now…

ALT Ps GIF

1
5
291
8 Jan 2024
Can anyone tell me why `await $nextTick()` does not focus the input in this example? I think I'm doing exactly what the docs explain… codepen.io/markhuot/pen/JjzK…
1
1
257
3 Jan 2024
I'd like to re-record this for @laravelphp using a traditional request/response/turbo. I know I'll come up against a bunch of focus/UX issues that Remix is able to handle out of the box. Still, would be fun to see how far stock Laravel gets you.
13 Dec 2023
Join us for the 12 days of Trellix 🎁 From now until Christmas we'll release a daily Remix Single, each based on Trellix, a Trello clone with some advanced UX. We're covering topics like User Auth, Pending & Optimistic UI, Drag & Drop, and much more! 🧵 youtube.com/playlist?list=PL…
2
5
1,511
11 Dec 2023
Those are some nice tests! @pestphp sure does make it easy to write simple & expressive @CraftCMS tests.
11 Dec 2023
Replying to @ben_pylo
Shout-out to @gaijinity for writing this challenge, and to @markhuot for Craft Pest, which we’re using to validate solutions!
2
388
8 Dec 2023
Yesss, frankenphp.dev is SO _exciting_. I just ran `frankenphp php-server --root web/` in a @CraftCMS install and it all just sort of worked… No more single threaded `php craft serve` for me!
1
4
449
8 Dec 2023
And with zero-conf local HTTPS too!
170