Yevhen Bobrov retweeted
Message threads are now in public beta on the Messages API.
The API caches your conversation on the server between turns, so instead of resending the full conversation, you send only new messages and the previous message ID, and Claude starts responding sooner.
Yevhen Bobrov retweeted
Replying to @stevesi
If you’ve ever met a native Russian male, their greatest fear is being seen as non-masculine.
Putin will keep the war going until the treaty explicitly states that he is a Big Man, that he is no way gay, and that he is only ceding territory to be considerate to the women of Ukraine.
TUIs are the thing of the past. Move on
been testing the new multiplexer Rex for a while, and my feelings are very mixed
tl;dr i think i'll stick with herdr for now
while it's a beautifully designed app, i couldn't quite find any real reason yet to prefer Rex other than it being beautiful
biggest sticking point is that it's a middle ground between GUI and TUI. with a full on GUI like t3code we get rich visuals and interactions. with a full on TUI like tmux and herdr we get pure keyboard interaction and can run it from any ssh client consistently
with Rex i get neither of that. and i have to use Rex everywhere or otherwise i'm locked out of my own work. if i'm going to abandon some of the benefits of full TUI over simple ssh, i'd probably just go full GUI at that point, instead of locking my terminal sessions behind another GUI app
this also makes me question the new herdr app, because it seems to be heading in the same direction as Rex. they will both end up competing with other GUI apps without the strength of being a real terminal program
i hope herdr TUI stays because that's still my favorite. perhaps turn it into a client for herdr-core so people can choose to access the same sessions from either a GUI or a TUI?
Yevhen Bobrov retweeted
Twenty-six years later, coding agents have broken most of eXtreme Programming's assumptions, but not its best ideas. So I rewrote XP for the age of agents.
Yevhen Bobrov retweeted
I'm convinced that at this point, you could have an Opus 5.5 agent re-implement all of CPython probably within two weeks without any human input, against just the tests, and probably with full compatibility with including ABI, no GIL, a jit and probably beat it on all measurable metrics. It's completely crazy.
For the first time, working at Redis with agents is becoming a real struggle because of the many security stops I get while working at non security things. It is a real shame as system programming is one of the silver bullets of automatic programming.
Yevhen Bobrov retweeted
Take a moment to live in this moment. As in the next 10 years your life will change, your friends, family etc… lives will all change. Within the next 10 years, super intelligence and robots will be automating everything, making everything better and cheaper. There’s something special about living in the moment before everything changes. Cherish it.
Yevhen Bobrov retweeted
Introducing agent-desktop
agent-browser, for your whole computer
→ Computer Use for any coding agent
→ macOS, Windows and Linux
→ Runs in bg while you keep working
→ Agents use your computer in parallel, each with its own cursor
Shit, how I miss this rhythm of deploying changes in small increments 😭
Structure -> Behavior -> Structure -> Structure -> Behavior
Small safe changes. In succession.
Fuck this ISO/SOC crap!!! 😡
Next question: why are you still using branches?
We talked about PRs. I don't think they make sense anymore, if you rethink them from first principles.
Yes, if you only use them to trigger CI, then sure, go ahead. That's a fat commit, not a PR. But for mandatory code review? Knowledge sharing? C'mon.
But some of you said: "we use PRs because we use branches! I love to keep my stuff on branches."
And I'm here to tell you: you don't need branches! You can just push to main.
It's called trunk-based development and the idea behind it is true continuous integration: you continuously integrate your changes with the trunk, the main branch.
It's been around for a while, it works. Just yesterday I talked with someone who said they've used it in an org with 400 engineers, without any issues. Ruby, the project, uses trunk-based development.
The main idea is that you want to avoid long-lived branches. They're bad, because branches can diverge and merging can turn into a thing. And you don't want routine operations to become a thing.
Even when I worked in teams that used PRs and branches, I considered it a smell when a branch lived for longer than a day or two.
But when I shared this with others, I'd often get something back like this:
"Well, good for you, but no. MY thing, what I'm working on, that can't be done on main. It needs to be on a branch! It has a database migration, it changes the underlying shape, the architecture, it refactors this and changes that. It can't go on main yet! I need to merge it all at the end."
And then I'd say:
"Nah, I can merge nearly anything continuously in small commits to main. You split things up. Add the column first, merge that, deploy it, now it's out, works, safe.
Add the helpers first, merge them, get them out.
Want to migrate from legacy pattern A to new pattern B? Don't do it all at once. Add the dependency, then migrate A to B, one by one, safe."
If it can be merged in a large change, I bet it can be done in small increments that you merge to main.
Yes, there are exceptions, but it's 0.5% of cases, not 50%.
But there was a real problem with this approach: it was hard!
There's a lot of "meta programming" you have to do: make sure this small first change compiles and runs and the tests work, merge it, get it out, monitor it; then do the next small piece, make sure that works and get it out; then maybe push some still-unused dead code, add a feature flag, add a config variable; or keep both configurations working at the same time, etc.
That meant sometimes it was just easier to do it in a big fat branch. But big fat branches are risky!
A system that continuously flows is safer than a system that starts and stops in spurts.
But -- you guessed it -- here's the good news:
Now, with agents, all of these chores are no chores at all!
Agents are great at adding feature flags, they're great at splitting up code, they're great at keeping track of three changes and merging them one by one and watching them roll out. They're great at keeping two configurations working for a day. They're great at migrating one by one.
In other words: it's now 10x easier to just work on main and make sure everything is continuously integrated and working.
It's now easy to make sure the system constantly flows.
And look, ...
I'm not here to convince you to switch to trunk-based development. Just a ruse to get you to read this. (But also, hey: try it! Pushing to main is amazing.)
I'm here to make you RETHINK how you develop software.
Don't just use agents to replace your typing.
Use agents as the magic code-writing machines they are. Everything that was hard about software development because it involved writing code -- even the meta programming -- has become easier.
You can now reach for the stars! But you need to look up.
Yevhen Bobrov retweeted
There is just no good way to bring that news. The old times are not coming back. I don't envy anyone though who has a workforce who is not on board with the changing times. nitter.cf/steipete/status/211612…
Yevhen Bobrov retweeted
AI may well be able to write massive software projects “from scratch”, but that almost certainly isn’t the fastest / highest performance / highest security / most token efficient way to do things. Good building blocks matter.
In addition to RL’ing the agents on final task loss, we should try to get them to regularize the building blocks as well. What would the standard library look like that makes the agents most effective?
It is likely at the limit that it turns out to be some alien organization of code, but given the existing human-bias in training, I bet that in the near term it would be lovely code that old programmers would appreciate.
I suspect the same could be said for mathematics, but that is out of my lane.
Yevhen Bobrov retweeted
people of pi (durable). i did a round of performance optimizations in pi-durable.
quick primer. every step of an agent run is saved to a db before the agent moves on. 1 save = 1 commit. thats what makes it durable, crash mid run, resume from the last commit. ~12 commits per run
Yevhen Bobrov retweeted
You aren't addicted TO scrolling/ vaping/ overworking, you're addicted to anesthesia. This is why your attempts to curb addictions require so much willpower
There’s 100% a kind of mania you can get into with coding agents, where it feels like you’re getting a lot done and working all the time but nothing is really happening.
I think it's often a form of avoidance of something else in life.
Yevhen Bobrov retweeted
Everyone arguing over TUI vs GUI -- the message thread is going away regardless. Developers sitting infront of coding agents is the next version of developers hitting tab in Cursor.
If you want to compete, study where the Claude team is taking their architecture (Slack, Projects).
Yevhen Bobrov retweeted
Fun project on Perplexity Computer: Asked it to design a GTA V mission where you vibecode GTA VI from an in-game phone while the devs call the cops on you for shipping GTA VI before them.
It went through the FiveM docs (natives, ped models, server convars, the limits of the in-game browser) and built the mission as a FiveM resource in Lua. Then it built an MCP bridge, a small local Node service that signs in to the Perplexity Computer MCP server with OAuth and turns your in-game prompt into a real Computer task.
The phone streams Computer's steps live during the chase, you answer its questions and approvals while driving, and you ship the build by losing the cops at the airport hangars.
For the voices, Computer rented a cloud GPU and ran Qwen3-TTS locally on it, with no TTS API, to voice every line of dialogue.
Yevhen Bobrov retweeted
It is insane to me that there are still devs using terminals to prompt their agents

























