PostHole
Compose Login
You are browsing us.zone2 in read-only mode. Log in to participate.
rss-bridge 2023-11-02T17:10:00+00:00

SE Radio 588: José Valim on Elixir, Machine Learning, and Livebook

José Valim, creator of the Elixir programming language, Chief Adoption Officer at Dashbit, and author of three programming books, speaks with SE Radio host Gavin Henry about what Elixir is today, what Livebook is, the five spearheads of the new machine learning ecosystem for Elixir, and how they all fit together. Valim describes why he created Elixir, what "the beam" is, and how he pitches it to new users. This episode examines things you can do with Livebook and how it is well-aligned with machine learning, as well as why immutability is important and how it works. They take a detailed look at a range of topics, including tensors with Nx, traditional machine learning with Scholar, data munging with Explorer, deep learning and neural networks with Axon, Bumblebee and Huggingface, and model creation basics. Brought to you by IEEE Computer Society and IEEE Software magazine.


José Valim, creator of the Elixir programming language, Chief Adoption Officer at Dashbit, and author of three programming books, speaks with SE Radio host Gavin Henry about what Elixir is today, what Livebook is, the five spearheads of the new machine learning ecosystem for Elixir, and how they all fit together. Valim describes why he created Elixir, what “the beam” is, and how he pitches it to new users. This episode examines things you can do with Livebook and how it is well-aligned with machine learning, as well as why immutability is important and how it works. They take a detailed look at a range of topics, including tensors with Nx, traditional machine learning with Scholar, data munging with Explorer, deep learning and neural networks with Axon, Bumblebee and Huggingface, and model creation basics. Brought to you by IEEE Computer Society and IEEE Software magazine.



Show Notes

Transcript

Transcript brought to you by IEEE Software magazine and IEEE Computer Society. This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.

Gavin Henry 00:00:18 Welcome to Software Engineering Radio. I’m your host Gavin Henry. And today my guest is Jose Valim. Jose Valim is the creator of the Elixir program language and I love this title, Chief Adoption Officer at Dashbit, a company that focuses on sustainable open-source and continuous adoption to boost the Elixir ecosystem. He’s also a seasoned speaker and author of three programming books and an active member of the open-source community. Jose, welcome to Software Engineering Radio. Is there anything I missed that you’d like to add?

JosÈ Valim 00:00:51 No, I think that was a good intro and thanks for having me.

Gavin Henry 00:00:55 Thank you, perfect. We’re going to have a chat about what Elixir looks like today and the challenges you face at the time you decided to create Elixir, what Livebook is, and finally, Elixir joining the machine learning world. So I like to always ask when we’re speaking to someone that’s gotten major achievements like you, what challenges were you facing at the time when you thought, you know what, I’m going to go and build something versus I’ll try and fix what I’m working with at the moment. What challenges can you remember you were facing when you decided to create Elixir?

JosÈ Valim 00:01:28 I’ll answer the second part of the question, which is why I decided to create something instead of fixing it. And I hope I’ll come back to the first part of the question, but to me, I like to say that most people when they have a problem, they don’t necessarily think that they will, I’ll create a new program language that’s definitely going to solve my problems, right? It’s the regular expression meme, right? Oh I like, you have a problem, you use regular expression and I’ll have two problems. And creating a programming language definitely going to bring way more problems than two. So when I started, I was interested in learning, I had issues writing, I was struggling to write concurrent software in languages like Ruby. And then I say, okay, if concurrent, this was what, 13 years ago? 2010, 2009?

JosÈ Valim 00:02:17 And then we’re starting to hear a lot about concurrency, right? And today you have four cores in your wristwatch, so it’s starting to hear a lot about concurrency and people saying concurrency is going to be the future. So I was like, well if concurrency is going to be the future, I really want to learn and figure out how I write concurrent software. And then I started on this journey of learning and thinking. I would learn ideas that I could bring back to Ruby for example. But throughout this process, I say, there are points of no return. Points there were things that I learned. So when I learned about functional programming, because a lot of the issues I had with Ruby at the time is for example, if you had two threads and they were trying to change the same place in memory, that place would get corrupted.

JosÈ Valim 00:03:03 And in functional programming we are not changing things in place. We are always transforming them. And that really resonated with me because I thought, well that’s a better programming model. Because I don’t have to track how things change over time and it also solves the concurrency issues. So it was a point where I was, okay, I think in the future when I write software, I want to write software that is functional or if not functional, where things are mostly immutable by default. Where I am transforming things. I don’t want to mutate things anymore. I definitely want to mutate things but not as the full way of building systems. Yeah. And then the other point was where I learned about the learning virtual machine and then I was well this is at the time, so going back to 2010, if you look at all the programming languages that were coming out at the time, they were all talking about concurrency.

JosÈ Valim 00:03:57 They’re like, go had a focus on concurrency. Swift came later, had a focus on concurrency, closure, had a focus on concurrency. So concurrency was certainly a big topic. And the thing about the in virtual machine was not only that they did concurrency, but they did it three decades ago and they also solved the next step, which is, if you’re writing a system where a machine is not enough to power that system, you need to use multiple machines. The next steps that is need to think about distribution and how all those machines, they’re going to work together to tackle a certain problem. And then I was, well the virtual machine not only solved the concurrency, but they solved the next problem, which is distribution. And I fell completely in love with it and this is what I want to use. So at some point in this, I just want to learn just by learning, I completely change my career in the sense that this is the software that I want to write, this is how I want to write it. And the more I use the virtual machine, I thought that there were new ideas that could be explored. And I thought that the most productive way to start this conversation of

[...]


Original source

Reply