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

Montreal, Canada
Joined October 2009
Replying to @thegranturismo
Fast but last
1
2
44
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,091
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
778
39,845
C'EST TIGUIDOU!! #GoHabsGo
58
389
92
3,284
124,269
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,398
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,117
210
18,253
1,431,653
Martin Asnong retweeted
F40 💥 Stay tuned …
558
5,036
310
69,355
2,362,274
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,822
"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,636
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,577
199,229
Martin Asnong retweeted
codex is really good at writing code on tldraw
84
155
31
3,706
269,247
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
13
6
126
10,058
Martin Asnong retweeted
Final Fantasy VII Revelation
12
5
59
10,291
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,765
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
634
76,082
Martin Asnong retweeted
HTML in Canvas API is NUTS
64
143
40
2,419
1,191,502
Martin Asnong retweeted
Announcing JSON Alexander A really good JSON viewer browser extension. → Easily open/collapse objects → Copy property path → Access JSON in dev tools console → Funny hairy finger cursor github.com/wesbos/JSON-Alexa…
HEADS UP. Popular JSON formatter extension has started injecting geolocation tracking and donation UI into websites Reddit thread seems to think they are also swapping tracking IDs for affiliates (a-la honey) Uninstall and switch to another one
55
56
11
853
129,648