José Valim's Avatar

José Valim

@josevalim.bsky.social

Creator of Elixir. Working at Dashbit and Livebook.

5,582 Followers  |  17 Following  |  90 Posts  |  Joined: 09.05.2023  |  1.9674

Latest posts by josevalim.bsky.social on Bluesky

Tidewave

Friends, @josevalim.bsky.social will speak at the special SF Ruby x Elixir meetup at PlanetScale HQ already on Wed, June 18.
Sign up: lu.ma/rzyjxo93

13.06.2025 01:07 — 👍 32    🔁 8    💬 1    📌 1
Post image

🚀 We're excited to welcome Dashbit (dashbit.co) as a Bronze Sponsor of SE4FP!

Co-founded by @josevalim.bsky.social, Dashbit drives Elixir adoption in production and invests heavily in open source projects like Elixir, Ecto, Nx, and Broadway. 💜

#SE4FP #ElixirLang #OpenSource

09.06.2025 18:30 — 👍 11    🔁 2    💬 0    📌 0
Preview
Release v1.19.0-rc.0 · elixir-lang/elixir Type system improvements Type checking of protocol dispatch and implementations This release also adds type checking when dispatching and implementing protocols. For example, string interpolation i...

Elixir 1.19 is a banger! Honestly I'm so pleased with the direction that #ElixirLang is going. My programs just get faster and more correct every time. I just know that we're in good hands. Thank you to everyone on the team for your hard work!

github.com/elixir-lang/...

09.06.2025 13:17 — 👍 114    🔁 23    💬 2    📌 1

FWIW, I almost never ask it to correct itself. Usually I start again, giving more information (or by updating my rules file), and then if it doesn't work, I just do it myself.

It feels like once it goes in the wrong path, it is very hard to "right" it.

09.06.2025 10:12 — 👍 12    🔁 0    💬 1    📌 0
A HEEx template:

~H"""
<ul>
  <li :for={%{id: id, name: name} <- @items} :key={@id}>
    Count: <span>{@count}</span>,
    item: {name}
  </li>
</ul>
"""

Notice the special `:key` attribute.

A HEEx template: ~H""" <ul> <li :for={%{id: id, name: name} <- @items} :key={@id}> Count: <span>{@count}</span>, item: {name} </li> </ul> """ Notice the special `:key` attribute.

One common pitfall when using lists in #LiveView is that they are not change-tracked. We might have something to improve that situation in an upcoming update! #MyElixirStatus #Phoenix #ElixirLang

07.06.2025 16:53 — 👍 54    🔁 7    💬 2    📌 1

Just to confirm, it is all working as expected. It compiles on Erlang/OTP 27, but not on Erlang/OTP 28. It can't really work on Erlang/OTP 28 so I appreciate you going ahead and submitting PRs for those projects.

07.06.2025 13:33 — 👍 1    🔁 0    💬 1    📌 0

I have been busy doing too much community and ecosystem stuff to be a good prospector and salesman. If you think I could be helpful to your business, holler. We do big picture consulting on Elixir projects and their teams as well as hands on keyboard work.

#elixirlang

05.06.2025 10:27 — 👍 9    🔁 9    💬 0    📌 1

Both algebra and reflection. For example, every binary has to be traversed twice, one to figure out to print it as a binary/string and another for the algebra document. Similar for maps deciding between keywords or => and so on.

07.06.2025 06:46 — 👍 3    🔁 1    💬 1    📌 0

That code will always fail on Erlang/OTP 28, so we added an earlier warning, but we should probably have gated it around a OTP_RELEASE check. I will do it now.

Btw, don't expect me to check bsky/twitter, this would have been seen earlier on official language channels. :)

07.06.2025 06:42 — 👍 1    🔁 0    💬 1    📌 0

I can confirm it is expensive, it traverses data structures, reflecting on them, then it builds an algebra document, and then it figures out the best way to format them. Although there may be some low hanging fruits somewhere.

07.06.2025 06:32 — 👍 2    🔁 0    💬 1    📌 0

Join our next KRUG meetup, powered by @rubycentral.org & Fastly, with venue support from Forte Digital

Talks:

- Michał Papis: Code UnCov & Pluginator
- @josevalim.bsky.social: Livebook - where Web, AI, and Concurrency meet

🗓️ June 10, 18:00
📍 Forte Space, Krupnicza 3, Kraków

🔗 RSVP lu.ma/0852jl2w

03.06.2025 16:45 — 👍 4    🔁 2    💬 0    📌 0

As we're getting ready for the first release candidate of #Phoenix #LiveView 1.1, I want to write about some of the new features and improvements we've been working on. A thread!
#ElixirLang #MyElixirStatus

30.05.2025 10:40 — 👍 85    🔁 32    💬 3    📌 3

I had to double check 😂

16.05.2025 20:15 — 👍 16    🔁 0    💬 1    📌 0

Thank you! I wanted to post it here but unfortunately there is a 2 minutes limit on videos (and I didn't want to go through the hassle of uploading it somewhere else either).

09.05.2025 19:02 — 👍 6    🔁 0    💬 0    📌 0
mix xref — Mix v1.18.3

That one is on me, sorry. It was very outdated. mix xref docs is the way to go and is always up to date on latest best practices: hexdocs.pm/mix/Mix.Task...

06.05.2025 15:45 — 👍 21    🔁 3    💬 1    📌 0

Cool <3 We also have a Discord server on the website in case you want to join us and chat. There is a #rails channel!

02.05.2025 19:20 — 👍 1    🔁 0    💬 1    📌 0

After discussing it for a bit, I am thinking a "get_package_location" should be enough, as it can then use the regular shell commands to interact with that directory. Can you try that instead?

30.04.2025 16:32 — 👍 2    🔁 0    💬 1    📌 0

Sweet! Would you be willing to send some PRs? I have to discuss with the team but I can say for sure the built-in get_source_location should be able to deal with gems Then next we need to find out a way to read them (it works in Elixir because packages are installed within the project root)

30.04.2025 16:14 — 👍 1    🔁 0    💬 1    📌 0
Tidewave

Introducing Tidewave: tidewave.ai

While working on our web apps, we run code, query the database, read logs, search docs… but our AI tools are limited to reading code.

Tidewave closes this gap by introducing Runtime Intelligence, for Phoenix and Rails. More coming soon, check out the website!

29.04.2025 20:20 — 👍 174    🔁 60    💬 6    📌 2
Video thumbnail

Make your LiveView development experience better – check out the first sneak peek of the upcoming features in LiveDebugger v0.2.0 🛠️

More coming soon – stay tuned!

Github: github.com/software-man...

23.04.2025 14:49 — 👍 55    🔁 12    💬 2    📌 1

It is .ai for "AI CARAMBA"

24.04.2025 10:57 — 👍 2    🔁 0    💬 0    📌 0

#elixir community!

I’m trying to write a blog post and need some sources/data.

Could you please run "mix test" on one or more of your @elixir-lang.org codebases and report results?

I’m looking for:

1. # of tests
2. # of async tests
3. Total time sync
4. Total time async

20.04.2025 15:49 — 👍 21    🔁 7    💬 17    📌 0

Wow, LiveDebugger is amaaaaaazing.

It's a dev-only package that adds a little blue "bug" button in the bottom right of the screen to open a debugging dashboard. From that dashboard, you can inspect all the LiveViews running on your local server. By "inspect," I mean do things like:

(🧵)

16.04.2025 13:34 — 👍 35    🔁 1    💬 1    📌 0

Thank you, I was also annoyed by this!

17.04.2025 06:55 — 👍 1    🔁 0    💬 0    📌 0
A rounded blue logo with a wave inside.

A rounded blue logo with a wave inside.

Soon™

16.04.2025 08:12 — 👍 134    🔁 17    💬 18    📌 2

I am happy to announce that my paper "Understanding Refactorings in Elixir Functional Language", co-authored by
Marco Tulio Valente has been accepted into #EMSE journal. Soon available! Again, thanks to the entire Elixir community who contributed to this research 🥳 #ElixirLang

31.03.2025 11:53 — 👍 36    🔁 2    💬 2    📌 0
Regex dot Run: premium domain name (Buy now) - regex.run A beautiful modern domain for a RegEx-tutorial or RegEx-testing website

In that case you can fallback to the less efficient version which is first only compute the indexes (using Regex.run / :binary.matches) but then build the strings afterwards after collapsing the indexes?

31.03.2025 15:04 — 👍 2    🔁 0    💬 1    📌 0

I wonder if we could add it as "parts: -2", which means splitting the parts from the end?

30.03.2025 14:35 — 👍 1    🔁 0    💬 1    📌 0

To help promote and bring more attention to events in the Elixir community, there's now a bluesky account for elixirevents.net!

As always, ideas and suggestions are super welcome! #ElixirLang

22.03.2025 16:51 — 👍 28    🔁 21    💬 0    📌 0
Preview
Cyanview: Coordinating Super Bowl’s visual fidelity with Elixir A case study of how Elixir is being used at Cyanview.

Powering the Superbowl, The Olympics and Paris fashion shows with Elixir.

I connected with Cyanview in my work and as I unpacked what they were up to I couldn't believe my ears.

The case study is finally up. Enjoy.
#superbowl #mqtt

25.03.2025 17:56 — 👍 71    🔁 25    💬 2    📌 1

@josevalim is following 17 prominent accounts