Reposted by José ValimIrina Nazarova @inazarova.bsky.social · 13/06/2025Friends, @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/rzyjxo93tidewave.aiTidewave 2328
Reposted by José ValimSE4FP Workshop @se4fp.github.io · 09/06/2025🚀 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 0102
Reposted by José ValimZach Daniel @zachdaniel.dev · 09/06/2025Elixir 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/...github.comRelease v1.19.0-rc.0 · elixir-lang/elixirType 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... 211723
José Valim @josevalim.bsky.social · 09/06/2025FWIW, 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. 1120
Reposted by José ValimSteffen Deusch @steffend.me · 07/06/2025One 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 2577
José Valim @josevalim.bsky.social · 07/06/2025Just 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. 110
Reposted by José ValimLars Wikman @lawik.bsky.social · 05/06/2025I 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 099
José Valim @josevalim.bsky.social · 07/06/2025Both 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. 131
José Valim @josevalim.bsky.social · 07/06/2025That 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. :) 110
José Valim @josevalim.bsky.social · 07/06/2025I 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. 120
Reposted by José ValimLucas Mendelowski @lucas.mendelowski.com · 03/06/2025Join 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 042
Reposted by José ValimSteffen Deusch @steffend.me · 30/05/2025As 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 38632
José Valim @josevalim.bsky.social · 09/05/2025Thank 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). 060
José Valim @josevalim.bsky.social · 06/05/2025That 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...hexdocs.pmmix xref — Mix v1.18.3 1213
José Valim @josevalim.bsky.social · 02/05/2025Cool <3 We also have a Discord server on the website in case you want to join us and chat. There is a #rails channel! 110
José Valim @josevalim.bsky.social · 30/04/2025After 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? 120
José Valim @josevalim.bsky.social · 30/04/2025Sweet! 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) 110
José Valim @josevalim.bsky.social · 29/04/2025Introducing 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!tidewave.aiTidewave 517760
Reposted by José ValimSoftware Mansion Elixir @swmansionelixir.bsky.social · 23/04/2025Make 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... 25512
Reposted by José ValimAndrea Leopardi @whatyouhi.de · 20/04/2025#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 18217
Reposted by José ValimTyler A. Young ⚗️🧑🏻💻 @tylerayoung.com · 16/04/2025Wow, 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: (🧵) 1341
Reposted by José ValimLucas Vegi @lucasvegi.bsky.social · 31/03/2025I 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 2342
José Valim @josevalim.bsky.social · 31/03/2025In 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?regex.runRegex dot Run: premium domain name (Buy now) - regex.runA beautiful modern domain for a RegEx-tutorial or RegEx-testing website 120
José Valim @josevalim.bsky.social · 30/03/2025I wonder if we could add it as "parts: -2", which means splitting the parts from the end? 110
Reposted by José Valimjohanna @jola.dev · 22/03/2025To 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 02920
Reposted by José ValimLars Wikman @lawik.bsky.social · 25/03/2025Powering 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 #mqttelixir-lang.orgCyanview: Coordinating Super Bowl’s visual fidelity with ElixirA case study of how Elixir is being used at Cyanview. 27025
José Valim @josevalim.bsky.social · 25/03/2025Fwiw, the "scaffold" generators (phx.gen.html/phx.gen.live/etc) are not using daisyUI, only the CoreComponents, so you can use them regardless if you keep or yank daisyUI from your app. 180
Reposted by José ValimJaime Iniesta @jaimeiniesta.com · 10/03/2025El próximo evento de Elixir Madrid pinta fenomenal: anuncian una nueva librería open source relacionada con Live View, y @josevalim.bsky.social contestará en directo en una sesión de Q&A. Nos vemos allí el 26 de marzo! #ElixirLang www.meetup.com/madrid-elixi...meetup.comQ&A con José Valim y lanzamiento relacionado con LiveView con Víctor Fernández, Wed, Mar 26, 2025, 7:00 PM | MeetupEste evento tendrá dos partes: * Víctor Fernández presentará una librería open source desarrollada en Doofinder, centrada en LiveView. * José Valim, creador de Elixir, es 011
Reposted by José ValimLars Wikman @lawik.bsky.social · 09/03/2025Goatmire Elixir & NervesConf EU early bird tickets sold out yesterday. Regular tickets are now up. They are limited. If you know you want to go, purchase early. Hotel and travel info will come in the next two weeks. #elixirlanggoatmire.comGoatmire Elixir & NervesConf EU 076
Reposted by José ValimJonatan Männchen @maennchen.dev · 26/02/2025Elixir now meets OpenChain (ISO/IEC 5230) standards! This milestone strengthens our commitment to open source license compliance and secure development. Get the full story and see what it means for contributors and users alike: elixir-lang.org/blog/2025/02...elixir-lang.orgAnnouncing Elixir OpenChain CertificationThe Elixir project now meets OpenChain (ISO/IEC 5230). Each release ships with Source SBoMs in CycloneDX 1.6 and SPDX 2.3, plus attestation. 0306
Reposted by José ValimLars Wikman @lawik.bsky.social · 25/02/2025Tickets are now on sale for Goatmire Elixir and NervesConf EU. goatmire.com/#tickets I am so excited for this 3-day setup that I can't even. There is a risk the Early Bird sells out quick so get on it if you need the discount! #elixirlanggoatmire.comGoatmire Elixir & NervesConf EUImagine a dark Elixir conference. 12114
José Valim @josevalim.bsky.social · 25/02/2025We said we will focus on interoperability for 2025 and we are ready to share the first results. Embedding Python in Elixir, it's Fine: dashbit.co/blog/running... More updates likely at ElixirConf EU 2025 :)dashbit.coEmbedding Python in Elixir, it's Fine - Dashbit BlogIntroducing Python interpreter embedded in Elixir and a Fine way to write your NIFs. 511836
José Valim @josevalim.bsky.social · 20/02/2025Congrats to the UFMG Compiler Lab for the presentation on CGO 2025 for the presentation on compiling Elixir to eBPF: www.youtube.com/watch?v=CoFN...youtube.comPresentation of the paper "Honey Potion: an eBPF Backend for Elixir" (CGO'25)YouTube video by CompilersLab 35210
José Valim @josevalim.bsky.social · 19/02/2025You can find my email on GitHub! But ElixirKit should work as a dep today if you point to the repo with the sparse flag! 030
José Valim @josevalim.bsky.social · 19/02/2025I am wearing the Dashbit hat in this post! Official LSP updates will come from the Expert team! 050
José Valim @josevalim.bsky.social · 19/02/2025We, at Dashbit, just announced expansion of our subscription team and our open source goals for 2025: dashbit.co/blog/dashbit...dashbit.coDashbit plans for 2025 - Dashbit BlogDashbit announces expansion of its subscription team and their open source goals for 2025 38921
José Valim @josevalim.bsky.social · 17/02/2025I'd say Agent and GenServer sit at the same abstraction level though. The Agent may have a more concise API but the abstraction level - the concepts you need to know and understand - are roughly the same. It is mostly a style preference although agents unfortunately cannot handle info. 280
Reposted by José ValimEthan Gunderson @ethangunderson.com · 28/01/2025Can confirm that having José and team review PRs is a super power. 0264
José Valim @josevalim.bsky.social · 28/01/2025Due to demand, Dashbit is increasing its consulting team for the first time! If you use Elixir, you have a team of 3+ engineers, and you want a direct line to me, Wojtek Mach (Req/Ecto), Jonatan Kłosko (Livebook/Nx) and Steffen Deusch (Phoenix/LiveView), please reach out! dashbit.codashbit.coDashbit - Boosting the Elixir ecosystemAt Dashbit, we help startups and enterprises adopt and run Elixir in production via the Elixir Development Subscription. Our goal is to advance the Elixir ecosystem through continuous adoption and sus... 310631
José Valim @josevalim.bsky.social · 21/01/2025Learn how Remote become a unicorn in two years and grew from zero to a team of more than 100 Elixir engineers: elixir-lang.org/blog/2025/01...elixir-lang.orgRemote: growing from zero to unicorn with ElixirA case study of how Elixir is being used at Remote. 414042
José Valim @josevalim.bsky.social · 15/01/2025Or spawn a process in test_helper.exs: spawn(fn -> ref = Process.monitor(MyRepo) receive do {:DOWN, ^ref, _, _, reason} -> IO.inspect(reason) end end) to tell you if it's crashing. If reason is shutdown, it's supervisor restart. Then use handle_sasl_reports to find which child causes it.hexdocs.pmLogger — Logger v1.18.1 190
José Valim @josevalim.bsky.social · 15/01/2025The process is most likely dead. Either a bug in Ecto or because another process in your supervision is crashing, causing it to restart the whole tree. You could enable handle_sasl_reports to print something when your supervisors act: hexdocs.pm/logger/Logge...hexdocs.pmLogger — Logger v1.18.1 130
José Valim @josevalim.bsky.social · 14/01/2025The challenge is to prove that your existing APIs will remain narrow for old types, and only widen for new types, which is what the article introduces: a type safe mechanism to emit such proofs. 010
José Valim @josevalim.bsky.social · 14/01/2025If it escapes, you will by definition get a typing violation, because you will pass a %Schema{name: string() or nil} to a place does not accept nils. That's the easy part and it works with the existing theory today. 110
José Valim @josevalim.bsky.social · 14/01/2025The cool thing about the article (note: I'm biased!) is that it shows "type widening is only permissible in a contravariant context" can be augmented with "We can also widen the output as long as it is widened for input types not previously handled", and that's also safe! :D 120
José Valim @josevalim.bsky.social · 14/01/2025Yes, that's exactly what I hope to start changing with this discussion. Why are we ok with forcing libraries to release breaking changes as the only way to evolve types? Maybe this is not the answer but it certainly shouldn't be grit your teeth. :) 010