Twitxy Saved

José Valim

Verified account This account is verified. Learn more

@josevalim

Creator of @elixirlang. Chief Adoption Officer at @dashbit, where we build tidewave.ai and livebook.dev.
Kraków, Poland dashbit.co Joined November 2007
96 Following 57K Followers 2.9K Posts

Latest posts 5

Pinned post

José Valim Verified account @josevalim
It is finally here: Tidewave now supports Claude Code and OpenAI Codex.

Tidewave unlocks the full-stack potential of your favorite coding agent by tightly integrating it with your web app and web framework at every layer, from UI to database. More info 👇
1:13
13 replies 48 reposts 344 likes 101K views View on X
José Valim Verified account @josevalim
Ok, this is neat!

Someone reported a bug that Elixir's Task.ignore/1 could leave messages in the caller's inbox. Reproducing it was tricky, out of 1.2M attempts, it only leaked 52 times: github.com/elixir-lang/el…

Therefore, to consistently "reproduce" the issue, I wrote a property in Lynx (@leanprover + @elixirlang) that Task.ignore/1 should not not leak messages: github.com/josevalim/lynx…

Of course, we could not prove this property to be true, because there was indeed a bug! And once we fixed the bug, the proof validated, showing that Task.ignore/1 no longer leave trailing messages in the scenarios dictated by the property.

Hooray!
github.com Task.ignore/1 can leave the task's reply in the caller's mailbox · Issue #16064 · elixir-lang/elixir Existing issue I have searched existing issues and could not find a duplicate. Elixir and Erlang/OTP versions Elixir 1.20.5 (compiled with Erlang/OTP 29) Also on main (1146e4f). Operating system ma...
7 replies 28 reposts 398 likes 14K views View on X
José Valim Verified account @josevalim
After a few months, I am back to using Opus (5.5) and it is fast, way less verbose than earlier versions, and the summaries it provides are quite helpful!

I know some people have complained it stops too frequently but I'd say it is most often a hit than a miss.

For example, it just stopped some ongoing work with "I'm stopping here for a decision, because the fix needs a line I shouldn't pick on my own" and it was 100% the right call (and I was able to provide alternatives it did not consider).

If I plan to not be in the loop (e.g. I am going to bed), I tell it I won't be available for the next several hours, so if it is undecided, it should explore all different approaches and write me a complete summary at the end.