Martin Asnong (@Valkendorm) header
Martin Asnong (@Valkendorm) profile picture

Programmeur Online Senior. Grand passionné d'informatique, d'automobiles, jeux vidéo et hockey.

Montreal, Canada
Joined October 2009
Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)Photo by Martin Asnong (@Valkendorm)
Replying to @thegranturismo
Fast but last
1
2
44
Martin Asnong retweeted
Agents don't choose `useState` because it's "better" Agents choose `useState` because you all flooded the training data with it
Replying to @infinterenders
the architectural state mistakes seem less common with reducers because you’re modeling all the possible state transitions explicitly which make you (or agents) confront them
11
11
2
235
9,777
Martin Asnong retweeted
If you're willing to go this far I strongly urge you to checkout Remix: - Keep your JSX/composability - State is a variable - No magic You can also easily integrate with libraries like XState if you want more sophisticated state management. No need special adapter libraries.
Debating just straight-up banning useState in my React apps Push the agent into the black hole of success
6
8
108
8,694
Martin Asnong retweeted
Timely reminder: your software is a giant implicit state machine, and an exploit is any path through it to some state that you didn't intend but an attacker found. Related reading: Weird Machines (Thomas Dullien) dullien.net/thomas/weird-mac…
9
13
233
10,291
Martin Asnong retweeted
State machines are super underrated: they make complex logic explicit, impossible states impossible, and agents are extremely good at making them now 💯 Also, Matt is a state machine expert
I think I'm addicted to getting agents to build state machines Every time I see an agent has built a state machine (or even just a reducer) I can feel a huge bump in the robustness And I know that future updates will be trivial and testable Would recommend for frontend
39
19
10
779
40,072
C'EST TIGUIDOU!! #GoHabsGo
58
388
92
3,282
124,825
So many tyres!!!
2
2
144
Martin Asnong retweeted
Been thinking about this a lot: there's still a gap between humans and agents in development. Not capability; agents will keep getting smarter. It's three things that look like weaknesses but aren't: Curiosity, pushback, and rest. Curiosity: we wander off & try things nobody asked for. We get bored/obsessed, want things to exist (like me with state machine tooling), and a lot of really awesome things come from that. Agents can explore, but only inside a "prompt" someone else wrote. They can't come up with ideas on its own (prompting "come up with ideas" doesn't count!) They can build our ideas and riff on them, but they don't have ideas of their own that they obsess over on their own. Pushback: "is this actually needed?" "will this move the needle?" We ask questions like that because we have experience/scar tissue. We've been burned by recognizable patterns before, and push back because of the emotional toll of being the one that has to maintain it. Agents push back too sometimes but there are no stakes; it's just them pretending to pushback without real emotional motive. Of course you can tell them to push back, but ironically that's just another instruction they're obeying. Rest: We know when to stop, more or less. We get tired, call it a day, and that boundary (not laziness!) is a feature. Every change widens the blast radius. Stopping is where you can check the last batch of work and verify everything before the state space explodes again. Agents working in their fancy overnight loops nonstop looks more productive, but it's just accumulating tech/cognitive debt faster than can be paid off. And sure there are tests, but tests catch what you thought to test for; they don't shrink the state space of things that can go wrong. Exhaustion is a feature: it tells us our judgment is slipping. Agents degrade too (context length, drift, etc.) but they don't "feel" it like we do. They just push on with full confidence and worse judgment. Sure you can approximate all three with fancy skills or prompts or harnesses or whatever. They help, but they're all simulations, because those three things come from the one thing agents don't have: a "self" that persists and needs to pay for its own mistakes. They don't need curiosity; we need to scratch an itch, they don't They don't need to give pushback; nothing's at stake for them They obviously don't need rest; although sometimes I wish they'd chill out they were close to hitting their token limits 😅 And no, this isn't something that's "fixed in the next model update" or "this harness/tool/skill/etc solves it". All these things are really the same thing: - Curiosity = what's worth doing? - Pushback = is it actually worth doing? - Rest = when is more not worth it? Agents are incredible at the *doing* part, but they don't have much to say about *worth*, because worth only matters to whoever has to live with the result. That's the human part. IMO it's still extremely important and will continue to be, and it's not something we should automate away. It's what gives agents their purpose.
15
14
1
143
8,407
Martin Asnong retweeted
Ollie Millroy delivers an emotional message to thank Loek Hartog for saving his life yesterday in Shanghai, China. "I am still alive tonight, entirely thanks to one man; Loek Hartog stopped instantly with no flag marshalls or fire crews in sight, and risked his own life to get me out of the car. "I don’t remember anything between 30 seconds before the crash and 1 hour after it, but I will remember his incredible act of bravery for the rest of my life. One day I will tell our three kids this story and Loek will be the biggest superhero in history in their eyes too." "I’m laying here tonight with 5 broken ribs, broken collar bone, broken hand and finger and a bruised lung, but it could have been much worse. Thank you Loek. I owe you my life for your selfless act today." [Ollie Millroy, via IG]
299
2,116
210
18,232
1,432,069
Martin Asnong retweeted
F40 💥 Stay tuned …
560
5,029
311
69,347
2,367,844
Martin Asnong retweeted
Replying to @SandroMaglione
Anything async has enough complexity to justify a state machine. If people don’t use FSM for it, they’re either reinventing a similar runtime or just ignoring unhappy paths.
1
5
316
Martin Asnong retweeted
I would still tell junior devs to learn how to code. "Why learn to code if AI writes it?" Because generating code is easy, verifying code is hard. You can trust a compiler w/o reading its output. You can't trust an agent the same way (nondeterministic, bad assumptions, etc). Devs w/real coding experience will write better prompts, build better automations, debug faster, and ship better software, even when they're not the ones typing it.
31
34
5
313
14,831
"Create a random image inspired by my X account." 💯 – at L'Assomption, Québec
🤖 Made with AI
"Create a random image inspired by my X account." Whoa, what the heck?
33
Martin Asnong retweeted
Making progress on an open-source library where you author agent logic as state machines in XState and run it *anywhere*: Mastra, Eve, Flue, Vercel AI SDK, Cloudflare Agents, or your own runtime. It’s coming along!
40
26
4
586
30,700
Martin Asnong retweeted
Learn state machines and the actor model. Thank me later.
Are we still talking loops or did we shift to graphs yet?
75
65
17
1,576
199,253
Martin Asnong retweeted
codex is really good at writing code on tldraw
84
155
31
3,699
269,334
Martin Asnong retweeted
Still working on this this: an open-source toolkit for defining agent logic as typed state machines/statecharts. Goal: make *any* agent loop/workflow/orch. pattern visualizable, reusable, testable, & framework/SDK agnostic. If you’ve used XState or similar (Langgraph etc.) w/ agents, I’d love your thoughts on what works, what doesn't, what's missing.
Releasing something I've been working on for way too long on Friday
12
6
125
10,064
Martin Asnong retweeted
Final Fantasy VII Revelation
12
5
59
10,292
Martin Asnong retweeted
XState Store v4 is released 🚀 Simple, small state management for stores (like Zustand/Redux) + atoms (like Jotai/Recoil) Works everywhere: vanilla, React, Vue, Svelte, Solid, and more. Event-driven, type-safe, batteries included, *really* agent-friendly. npm i @xstate/store Some new features:
25
59
3
567
40,774
Martin Asnong retweeted
I have been screaming this for years 💯
representing ui as a state machine makes it easier to manually and automatically test
12
31
3
633
76,088