Speaker 1: Hey everybody, and welcome back to another episode of the
Speaker 1: Elixer Mix. Today on our panel we have Audi, Hello, Alan.
Speaker 2: Hello, Hello, Sasha, Hello everybody.
Speaker 1: Is this your first week back?
Speaker 3: Yes? Regular it is.
Speaker 1: How how cool you are why we invited you back?
Speaker 3: So yeah, a while ago, I as the guests joining
Speaker 3: the podcast and talking about the library of Mind, Nigger
Speaker 3: and like behaviors and looking. I've been using alex for
Speaker 3: like a four years now and focus the libraries published.
Speaker 3: So it's great to know be here and talk to you.
Speaker 3: Exchange oudiens, happy to be here.
Speaker 2: Nice.
Speaker 1: I'm Charles Maxwood from dev chat dot TV, And yeah,
Speaker 1: so we decided to talk about kind of the history
Speaker 1: and evolution of Alixir. Yeah, I think I kind of
Speaker 1: want to start this one off and kick it off.
Speaker 1: So the first podcast episode that I ever did related
Speaker 1: to Alixir was on Ruby roachs and he has no
Speaker 1: surprise to anybody, I think if you've been in the
Speaker 1: Elixir community for very long. We interviewed this guy who'd
Speaker 1: been in the Ruby community for a long time, written
Speaker 1: a whole bunch of Ruby libraries, ruby gems, started a
Speaker 1: Ruby consultancy, and then he went off and was fiddling
Speaker 1: with this airline stuff and decided to write Elixir. So
Speaker 1: it was jose Vaalin and so yeah, we were like, well,
Speaker 1: come come tell us about this this thing, and so
Speaker 1: he came on and he talked about Elixir and it
Speaker 1: was kind of like this funky thing that he did
Speaker 1: on the side while he was still writing all the
Speaker 1: ruby stuff that we all used. So anyway, it's come
Speaker 1: a long way since then, obviously, But yeah, I like
Speaker 1: that flavor, right, because you never know if the wacky
Speaker 1: project is going to turn into something that's it this
Speaker 1: ecosystem that all these people earn a living at, right.
Speaker 4: Yeah, It's it's kind of crazy how fast things have
Speaker 4: kind of been rolled along, right that this language just
Speaker 4: came out what came out quite some time ago, but
Speaker 4: it still feels like quite new to me, although it's
Speaker 4: been changing a lot, especially with this recent one at
Speaker 4: twelve release.
Speaker 1: Yeah, I'm kind of wondering what are kind of the
Speaker 1: big milestones or sign posts I guess in Elixir's history
Speaker 1: that you guys see, right, I mean some of them
Speaker 1: are going to come in I guess after you discovered Elixir,
Speaker 1: But what what were the turning points I guess that
Speaker 1: got you in in the first place.
Speaker 3: Right, It's actually something which I'd say that got me in.
Speaker 3: When I started with Elixir, it was just because my
Speaker 3: employer used the Lixir, so I basically had to. But
Speaker 3: when I started, I think that was one point four
Speaker 3: or one point three, we didn't have a formata back then,
Speaker 3: so it was always like we always had these discussions about, Okay,
Speaker 3: how does the code look like superformata. It is like
Speaker 3: the superf like that. So it was pretty cool when
Speaker 3: I'm not sure which version accepted, but when Lyxi finally
Speaker 3: got the opinionfomata and a lot of these discussions just
Speaker 3: died down because the formata did this for you.
Speaker 1: Right. I have a question for you, Sasha, regarding that.
Speaker 1: So you said your employer was using it. Were they
Speaker 1: using it with Phoenix or were they using it for
Speaker 1: something else like Nerves or some other project.
Speaker 3: Yeah, at that point it was Phoenix. I think Nerves
Speaker 3: wasn't even in its existence back then, so I mean
Speaker 3: that was probably about four years ago. Maybe it was
Speaker 3: already there, but that definitely not a speaks today. So yeah,
Speaker 3: it was. The company I used to work back then
Speaker 3: was doing a lot of I WoT stuff. So the
Speaker 3: real time capabilities of Felix. They were pretty nice in
Speaker 3: that area, which is why are you using it?
Speaker 1: Right? The other question I have related to that is,
Speaker 1: so you came to it through a job, And it
Speaker 1: seems like a lot of people when they go look
Speaker 1: for their next job, it's like, Okay, I've got fifty
Speaker 1: zillion years doing JavaScript or Ruby or GHP or Python
Speaker 1: or whatever, right, And so they go and they just
Speaker 1: kind of stick with that technology because they've got so
Speaker 1: much seniority and they can kind of talk their way
Speaker 1: into whatever kind of job they want. So what made
Speaker 1: you take a job where you were going to be
Speaker 1: working in a different technology.
Speaker 3: The main reason was actually because I was switching over
Speaker 3: from a mobile developer job with like occasional backend what development,
Speaker 3: to like a full time back and development job, like
Speaker 3: junior side. Because I'm a previous employer, I did mostly
Speaker 3: iOS development, but I did the occasional PHP back end
Speaker 3: and that was always something which I enjoyed more So
Speaker 3: I was looking for an opportunity to work more in
Speaker 3: that area. And then I came across this other company
Speaker 3: and they used the licks here and the functional language,
Speaker 3: and I was like, oh, it sounds interesting. Enough and
Speaker 3: now I'm here today, so things, I guess things work out.
Speaker 1: That makes sense.
Speaker 5: Yeah, so me.
Speaker 6: It's one of the things I remember is so something
Speaker 6: very simple and trivial like the with statement that we
Speaker 6: now take for granted ALEXA. When it came out, it
Speaker 6: did not have that, and I remember even using I don't.
Speaker 5: Think that was even unless in all those things.
Speaker 6: And I know even using IF was like, don't use
Speaker 6: it unless they really want to use it, because it
Speaker 6: IF kind of uses case within like cases like the
Speaker 6: main statement. And it was actually my first job too,
Speaker 6: doing elexir in twenty fifteen, and so it looks it
Speaker 6: was like just one pointer at that time. And when
Speaker 6: they introduced with statement, it really kind of cleaned up
Speaker 6: our code quite a bit, because you know, now you're
Speaker 6: thinking in terms of the railway pattern, right, like returning
Speaker 6: okay result or error error, and that just cleans up
Speaker 6: your entire controller.
Speaker 5: And then Phoenix kind of.
Speaker 6: Adopted that pattern with the fallback controller, right, like cleaning
Speaker 6: up that error as well, and like standardizing what error
Speaker 6: is your APIs or return and stuff. So I think
Speaker 6: that with kind of catalyzed that entire list of tools.
Speaker 5: I was a really big fan.
Speaker 3: Of with Ford was basically nested case statements all the
Speaker 3: way down, right, like a lot of case statements, and
Speaker 3: there wasn't much anything else you could do. Like that
Speaker 3: was the way things were written it which also made
Speaker 3: sense when you think where Alexi came from from what's
Speaker 3: of Berlin, because that's how you do handling and arline.
Speaker 3: You do the case statements, or you pet on if
Speaker 3: you match explicitly on the okay with radio when you
Speaker 3: say okay, I want to raise you, but yeah, right.
Speaker 6: Or use the pipe operator, but the functions kind of
Speaker 6: can take okay or error energy like your entire pipeline.
Speaker 3: Definitely you have written code like that. I've just looked
Speaker 3: at the release notes from the LICKS and like the
Speaker 3: format actually came in one point six, but there's a
Speaker 3: lot of good stuff in one point six. Also, a
Speaker 3: dynamic supervisor came in there, so that was something we
Speaker 3: didn't have. I mean, I remember that that the supervisor
Speaker 3: still has the simple one for one strategy, right, which
Speaker 3: is like kind of akin to the dynemic supervisor. But
Speaker 3: there's one thing about the simple one for one strategy
Speaker 3: that it's like a lie. It's not simple. It's it's
Speaker 3: definitely not simple understand that. I mean, we had to
Speaker 3: use it in one project, and like, I mean, it
Speaker 3: was pretty new to addix. Yeah, so I was like
Speaker 3: trying to read the documentation and I grabbed my head
Speaker 3: around and I just I just failed. Just went to
Speaker 3: a colleague at some point and please explain to me.
Speaker 1: Yeah, I'm kind of curious because I can't like pick
Speaker 1: out the features or anything because I've just kind of
Speaker 1: been watching the community more than participating in it. And
Speaker 1: over the years, like it was kind of this thing
Speaker 1: that was just kind of out there, you know, and
Speaker 1: and the Airline community was also another community. It was
Speaker 1: just kind of I just kind of watched it and
Speaker 1: it's kind of steadily grown. And then I don't know
Speaker 1: what it was, but at some point it seems like
Speaker 1: the Elixir community just really took off. And I'm not
Speaker 1: sure where, I'm not sure why, I'm not sure what,
Speaker 1: but it really took off. And about I want to say,
Speaker 1: about four or five years ago was when it really
Speaker 1: kind of kind of caught up with me that a
Speaker 1: lot of the friends of mine that I had connected
Speaker 1: with over the years in the Ruby community, it all
Speaker 1: moved to it a lot of the people that I
Speaker 1: knew from some of the other communities that moved to it.
Speaker 1: I was actually getting asked on a regular basis when
Speaker 1: I was going to start an Elixer show, so we
Speaker 1: started this one. I mean, was there something around then
Speaker 1: that really just gelled? Was it that they finally there
Speaker 1: was Alixer comp and there were some of these other things.
Speaker 1: Those tend to be more the symptoms of the community
Speaker 1: growing rather than the cause. I'm trying to put my
Speaker 1: finger on, you know, Was there any one or several
Speaker 1: things that happened around then that that kind of came
Speaker 1: together for it?
Speaker 6: I guess must be like the bigger companies kind of
Speaker 6: adopting it, like Pepsi e commerce and I know, cars
Speaker 6: and you know, like the like who were in like
Speaker 6: more legacy kind of a programming language, just them adopting it.
Speaker 6: I actually remember like a more quantifiable like difference, the
Speaker 6: difference in the number of responses, the number of people.
Speaker 6: In alexir conf twenty seventeen and twenty eighteen, they announced
Speaker 6: it at the keynote that the number of sponsors they
Speaker 6: have more than quadrupled in one year.
Speaker 5: And it's just that what happened during that time.
Speaker 6: I don't know.
Speaker 1: Yeah, I guess that makes sense. I mean, I think
Speaker 1: another thing that I saw at the time was and
Speaker 1: I guess this isn't a technical milestone, but so I
Speaker 1: got invited to CODEBAM in twenty twenty eighteen or twenty nineteen.
Speaker 1: But there were a whole bunch of talks for Yeah,
Speaker 1: these bigger companies that were talking about and they weren't
Speaker 1: like talking. Some of them were talking about how they
Speaker 1: had built their infrastructure on the Beam and how they
Speaker 1: had built a lot of it on a elixer. But
Speaker 1: more than that, they were talking about how they had scaled,
Speaker 1: how they had lowered the response times, and a lot
Speaker 1: of the concurrency setups that they were doing and things
Speaker 1: like that. And so they had actually solved a lot
Speaker 1: of the issues that existed in some of the systems
Speaker 1: that they it had before by migrating to Elixir. And
Speaker 1: some of them were like these huge setups like WhatsApp
Speaker 1: I think was one of them. I think Discord does
Speaker 1: a whole bunch of stuff in the back end with Elixir.
Speaker 1: There are a whole bunch of other ones and they
Speaker 1: were like these massive massive back end systems that either
Speaker 1: run in like dedicated data centers or running the cloud,
Speaker 1: and I mean they just like crush the amount of
Speaker 1: bandwidth and data that just just course through them. And yeah,
Speaker 1: I think people really saw what elixor systems were capable
Speaker 1: of that you couldn't do with say a no JS
Speaker 1: or a Ruby on rails, and people started saying, Okay, well,
Speaker 1: if I need say data overforms, then dot net Ruby
Speaker 1: on rails, that makes sense, right, But if I need
Speaker 1: if I'm sending raw data, audio data, if I'm sending
Speaker 1: gobs and gobs and gobs of data, it makes a
Speaker 1: lot of sense to have a system that can handle
Speaker 1: the volume of data, but not just the volume, but
Speaker 1: the sheer number of discrete messages at a time. And
Speaker 1: that's that's where I think people figured out, oh, yeah,
Speaker 1: I need something that can do this. And Elixir was
Speaker 1: easier for the developers to digest than earline.
Speaker 3: I think a huge part of that is also how
Speaker 3: easy it is to pick up Phoenix, because I mean
Speaker 3: you just also, yeah, to like submit the form right
Speaker 3: safer form. It's super easy in Rails, but it's also
Speaker 3: super easy in Phoenix, so you can get started pretty
Speaker 3: easily there too. But then the skating story is a
Speaker 3: completely different one. So while earline, yeah, it is certainly
Speaker 3: something which could also super easily handle these these these
Speaker 3: skating scenarios, it's not as easy to pick up as
Speaker 3: serious So I think a lot of success came from
Speaker 3: that too, that that people could see, Okay, yeah, this
Speaker 3: can scale two different in different ways and maybe better
Speaker 3: than than other technologies out there, but it's also not
Speaker 3: as super hard to pick up as some of these
Speaker 3: more let's say these things totally.
Speaker 6: Yeah, that's definitely I think a huge point. And as
Speaker 6: you guys are talking about it, I just like it
Speaker 6: kind of reminded me of my older daid Alixa, and
Speaker 6: like why did I like Elixer, And I just like
Speaker 6: I also realized, like everyone around me seemed to just
Speaker 6: leve Alixer and the involvement of you know, Jose and
Speaker 6: Christma code in the community and like listening to feedback
Speaker 6: and advertising, and Jose was being involved in like Phoenix
Speaker 6: and writing marks and like kind of driving the community's
Speaker 6: vision forward while keeping it fun for developers, right, Like
Speaker 6: I mean, like everyone who's worked with Alixa wants to
Speaker 6: work in the Elixer. So like companies who've adopted a
Speaker 6: lix a little bit have no choice but to adopt
Speaker 6: it more because people who work there want to keep
Speaker 6: working in Alixer. So yeah, like in twenty fifteen, my
Speaker 6: first job project we built with the company's first Elixa app,
Speaker 6: And in twenty twenty we're probably building it's thirty thirty
Speaker 6: of the Elixa app.
Speaker 5: So just like because I didn't want to build Ruby
Speaker 5: on rails app.
Speaker 1: So yeah, it's interesting too. A friend of mine, he's
Speaker 1: actually the one that recruited me at my current employer.
Speaker 1: He just let everybody know he was leaving, and he's
Speaker 1: going to a company that was founded by the folks
Speaker 1: that founded the company that I guess I'm it's kind
Speaker 1: of the company I'm at that was acquired by the
Speaker 1: company that I'm at, So they they're his former bosses,
Speaker 1: not mine, but because he'd been there for several years.
Speaker 1: But yeah, they're doing rails and Elixer, and I'm wondering
Speaker 1: if it was that same kind of thing right where
Speaker 1: they started with rails, because this company uses rails pretty
Speaker 1: much exclusively, and then that somebody brought in the Elixer
Speaker 1: and it's just kind of taken over most of the
Speaker 1: new stuff it sent me.
Speaker 3: Something I observed with my current employee because also use Elixir,
Speaker 3: and we use Rails, and we have some very very
Speaker 3: long term Rails developers. We're like really attached to Rails
Speaker 3: and Ruby. But we are also some colleagues who like
Speaker 3: don't didn't have a lot of Rails or Elixir background
Speaker 3: before they joined. And what ends up happening is that
Speaker 3: especially the people who don't have like a strong attachment
Speaker 3: one way or another after a while, prefer to write
Speaker 3: things in elix heir. I can't like point to specific
Speaker 3: things and say, okay, this is one reason why. But
Speaker 3: it's an interesting trend. I've observed that, like if people
Speaker 3: basically don't don't come with pre attached notions, they tend
Speaker 3: to like cover Okay, like maybe I write this additional
Speaker 3: service in elix Hea just because I like it to
Speaker 3: do that that way. That's certainly something I've observed for myself.
Speaker 3: I mean, I'm just add the unicorn who did Ruby
Speaker 3: after I did elix heir, so I never wrote a
Speaker 3: line of Ruby before I've already written a bunch of
Speaker 3: lines in elix heir, So my my justment's probably bit
Speaker 3: clouded there. Yeah, it's interesting to see how people act
Speaker 3: to these technologies, even my dad experience before.
Speaker 2: Yeah.
Speaker 1: I try not to be too precious about it, but
Speaker 1: at the end of the day, I get in and
Speaker 1: I eventually just want to get crap done. And Rails
Speaker 1: is just the thing that I'm most familiar with, right,
Speaker 1: and so it's like, oh, I just banged out four features,
Speaker 1: right instead of I had to go figure out how
Speaker 1: to do this in Phoenix too, because I didn't know
Speaker 1: how to do it before. But I can definitely see,
Speaker 1: you know it, it has some characteristics and I see
Speaker 1: the performance metrics on Alixer and I'm just going, holy crap,
Speaker 1: that is just fast. So another milestone that I am
Speaker 1: fully aware of and was around when we interviewed Chris
Speaker 1: record for or when it came out, was live view
Speaker 1: and that was I mean that that was a big deal.
Speaker 1: And I have some friends that have kind of duplicated
Speaker 1: that for Rails with stimulus right, stimulus reflex, But that
Speaker 1: was amazing. That was freaking amazing.
Speaker 2: Yeah.
Speaker 3: I was actually on very elixy, kind of like a ELIXACONPUA.
Speaker 3: When when Chris mccle also did a demo and that
Speaker 3: was like super impressive because it did like it did
Speaker 3: this demo with like the way animated things. By the way,
Speaker 3: you also said like, okay, it's a super bad idea
Speaker 3: to do the animation with live View, but just to
Speaker 3: show you like you can, like it works. It's fast
Speaker 3: enough to do like an animation.
Speaker 2: It's smooth.
Speaker 3: So yeah, that was insane. Just did to see like
Speaker 3: this this thing on stage live by Chris and then
Speaker 3: it really took up steam. I mean they you just
Speaker 3: mentioned stimulus Reflex, but there's also like a PHP kind
Speaker 3: of version of it, and I'm not the one ninety
Speaker 3: percent sure how it's called that.
Speaker 1: No, it's it's rails. It runs over action cable on
Speaker 1: the rails.
Speaker 3: Yeah, I know, like as soon as we fixed it's
Speaker 3: all raised. But that's also a p spe clone of
Speaker 3: Life View. Like I'm not more on hundred percent.
Speaker 1: Yeah, there are other plans of it.
Speaker 4: Yeah, that one's called live Wire And actually, if you
Speaker 4: know Alpine Alpine actually came out as from the same
Speaker 4: guy and now we're using Alpine within Live View, right,
Speaker 4: So there's a lot of things that actually come outside
Speaker 4: the community that also inspire or help out us, to
Speaker 4: which I think is something that we should talk about
Speaker 4: too because or something that needs to be mentioned at
Speaker 4: least because it seems like we always inspire people, right,
Speaker 4: Live View came out and it seems like an explosion
Speaker 4: of people doing similar things like live Wire, and I
Speaker 4: think the wine and Rails, if you guys, is that
Speaker 4: culled stimulus or is that steamus is something else similar?
Speaker 4: And then there's yeah, now we got Alpine, right, and
Speaker 4: that came from the PHP community and that's part of
Speaker 4: the table, that's part of the pedal stack, right.
Speaker 2: Which is pretty huge.
Speaker 1: Yeah. I keep wanting to do Alpine on jobs for Jabber.
Speaker 1: We just haven't managed to get them around yet. But yeah,
Speaker 1: it's brought about kind of these mini frameworks bringing them back.
Speaker 3: And I think Alpine was also like a big prompt
Speaker 3: for Christmas call too at these script hooks into by
Speaker 3: a few. So it was interesting to see like all
Speaker 3: these ideas bounced back and forth between like these like
Speaker 3: different communities to inspire of it to build something that
Speaker 3: bigger than the parts of this the governments, some of
Speaker 3: the products. I was curious to see, like, well, what's
Speaker 3: going to be the next big thing? Right? Like I mean,
Speaker 3: we just talk Life View. It's like thing X yeah yeah,
Speaker 3: yeah probably yeah.
Speaker 1: Well that's interesting too because NX is the mathematics library, right, yeah.
Speaker 1: And what's interesting to me is that, so I host
Speaker 1: a whole bunch of the shows on the chatout TV,
Speaker 1: including adventures and machine learning. And what's interesting is is
Speaker 1: that we keep having conversations about some of the limitations
Speaker 1: of Python and JavaScript, because because those are the two
Speaker 1: primary languages, mostly Python and and specifically in their ability
Speaker 1: to parallelize, and Alix are laying beam languages kind of
Speaker 1: have I figured out yeah, just saying right, And so
Speaker 1: I keep thinking that, yeah, if you can train your
Speaker 1: your models and you can just here's the data, go go,
Speaker 1: go right, your limitation is your number of fours.
Speaker 5: Yeah.
Speaker 7: Hey, folks, if you love this podcast and would like
Speaker 7: to support the show, or if you wish you could
Speaker 7: listen without the sponsorship messages, then you're in luck. We're
Speaker 7: setting up new premium podcast feeds where you can get
Speaker 7: all of the episodes released after Christmas twenty twenty without
Speaker 7: the ads. Signing up will help us pay for editing
Speaker 7: and production, and you can go sign up at devchat
Speaker 7: dot tv slash Premium.
Speaker 5: It sounds like a great fit for Aleksir.
Speaker 6: Yeah, but when when I when I learned about that,
Speaker 6: I was like this, I thought that that would like
Speaker 6: break a lot of things, like bigger than live view
Speaker 6: at it. Yeah, it's just it's almost revolution and the
Speaker 6: amount that Jose is invested to see us through like
Speaker 6: they I know that within seven days of announcing n
Speaker 6: they had started and like kind of gotten like a
Speaker 6: neural network's library action on like workable.
Speaker 5: Like that's the amount of hours they're putting into it.
Speaker 5: It's crazy.
Speaker 3: It's super cool to see how Jose is also contributing
Speaker 3: to like stuff beyond the core language, right, Like I mean,
Speaker 3: what's Broadway and stuff like a lot of a lot
Speaker 3: of really cool things an ex accent also have like
Speaker 3: just has Today's do they has his hands in there?
Speaker 3: Like it's pretty cool to see that. Yeah, I was
Speaker 3: super impressed by an accent, but that they did most
Speaker 3: like pretty much all of that was done without getting
Speaker 3: new stuff to the language, like having these what's it
Speaker 3: called death and when the computation happens on the GPU
Speaker 3: if I remember correctly. To be honest, that's not my area.
Speaker 5: Of expert I think so, I think so yeah, I
Speaker 5: think you're right.
Speaker 3: Yeah, and just like build all of this with like
Speaker 3: the tools which were already there, like super cool, super impressive.
Speaker 6: And like speaking of NX, they are, they're also building
Speaker 6: they built. I don't know if you guys have tried
Speaker 6: the live book stuff for like like NX demoing, and
Speaker 6: I think I know they did like a lot of
Speaker 6: like scripting updates and the new ALIXA release for live view,
Speaker 6: like the mix install you know, abiliity to like without
Speaker 6: having to do a mixed project, you can just to
Speaker 6: mix install in a script and like pull a new
Speaker 6: package and try it out. I think they did that
Speaker 6: for live book, which I think is part of the
Speaker 6: NX ecosystem at the very least. And that's also very exciting.
Speaker 6: Like I actually have considered try to convince my publisher
Speaker 6: should we should we write a live book version of
Speaker 6: my book as well.
Speaker 3: Yeah, I certainly play a wrong with that. So at
Speaker 3: least one person's interested.
Speaker 5: Awesome, that's all I.
Speaker 1: Needed there, you go. Yeah. I mean the other thing
Speaker 1: is is that just the nature of the Beam and
Speaker 1: Elixir to me, there's so many directions that could really go.
Speaker 1: I mean that's what's hard on how to pin down
Speaker 1: what the next big thing is going to be. Right,
Speaker 1: the communities that got brought into it were kind of
Speaker 1: traditional communities, but.
Speaker 3: Yeah, especially with an accent now, I mean there's there's
Speaker 3: an influx of people from different communities now, right, So
Speaker 3: these people are going to bring in their ideas and like,
Speaker 3: who knows what that's gonna end up. I certainly don't
Speaker 3: because like machine learning is something for me, Like, yeah,
Speaker 3: that's like there he'll be dragons, magic captains here. That's
Speaker 3: not my area of expertise. So I wouldn't have expected
Speaker 3: this to work out like it did.
Speaker 2: I was.
Speaker 3: I was a bit when I had first heard about
Speaker 3: the announcement of an accent that people thinking of this
Speaker 3: might be a machine or anything. It wasn't bit skeptical,
Speaker 3: but yeah, that blew me out of the water. So yeah,
Speaker 3: it's really really hard to think what what's the next
Speaker 3: thing which is going to pop up? Especially with people
Speaker 3: coming in and they're new ideas.
Speaker 5: It sounds like whatever chose it gets into.
Speaker 1: That may not be so far off, but it is
Speaker 1: it because he got into machine learning, or because he
Speaker 1: kind of saw that that was kind of a right
Speaker 1: field to pluck.
Speaker 5: I think both, he said.
Speaker 6: He says very casually in his demos that I was
Speaker 6: just dabbling with machine learning, and you know, right now,
Speaker 6: obviously he thought about its futures, and Stephanie, he won't
Speaker 6: be like investing so much time without knowing that the
Speaker 6: right fit, like you said, shuck.
Speaker 1: Yeah, we're going to have quantum elixer. That'll be awesome,
Speaker 1: just running on some cue bits IBM, we're coming for you.
Speaker 1: But yeah, I think it occupies a lot of space,
Speaker 1: and I think some of it is right for disruption.
Speaker 1: I honestly think the traditional web development is right for
Speaker 1: disruption at this point. I don't know what's going to
Speaker 1: come in and hit it, but it is. And so yeah,
Speaker 1: you know, kind of seeing the next thing. It's exciting
Speaker 1: to see that they're looking at it. People like Jose
Speaker 1: You don't know.
Speaker 6: I know they were like box of like web assembly
Speaker 6: and Alixir or Beam at least last year. I don't
Speaker 6: know if anything happened with that. I don't know if
Speaker 6: you guys know.
Speaker 3: Lumen, it's called SOMs like this that assembly thing written
Speaker 3: in Rust where they try to basically get at Beam
Speaker 3: languages run in the browser and they deliberately don't try
Speaker 3: to like build the full beam because madness, but like
Speaker 3: a browsery five version of it very cold. But I'm
Speaker 3: not sure that's standing.
Speaker 1: I mean, yeah, we had a really interesting discussion on
Speaker 1: jobascript jabber about web containers and I don't think I
Speaker 1: could even do it justice, But they managed to get node,
Speaker 1: like full on node running in the browser. And yeah,
Speaker 1: the guys aren't stack blits. They were explaining how they
Speaker 1: put it all together and crap like that, and it
Speaker 1: was it was pretty wild, right, And it runs on
Speaker 1: web assembly and you is web assembly threads and things
Speaker 1: like that, and yeah, you're bringing up WASM. I mean,
Speaker 1: it does. It crosses my mind. It's like, how much,
Speaker 1: even even a slightly hampered version of Elixir running on WASM,
Speaker 1: what can we do in this kind of secure, sandboxed
Speaker 1: arena that is a web container. What kind of apps,
Speaker 1: what kind of functionality, what kinds of things can we
Speaker 1: do with that that may consume some of this? I
Speaker 1: don't know. I mean, it's it's it's crazy what people
Speaker 1: are coming up with.
Speaker 5: Yah.
Speaker 2: Yeah.
Speaker 3: One thing I think is also interesting there is that
Speaker 3: when you actually in for example, look at the performance
Speaker 3: characteristics of life, you're a lot of time to spend
Speaker 3: like encoding and decoding jacent. So for example, if you
Speaker 3: would then actually have something running in the browser understanding
Speaker 3: native Elixir data types, you lose that overhead. So maybe
Speaker 3: that also boosts performances into new areas which we haven't
Speaker 3: seen before, right, like who knows? Who knows?
Speaker 1: Yeah, I don't know.
Speaker 6: Ye, speaking of like similar projects, there was an open
Speaker 6: gl Elixir port that was happening at one point too.
Speaker 6: Someone gave a talk about that in Alexicon twenty seventeen,
Speaker 6: or at least like open gel like interface. I don't
Speaker 6: want to say open gl itself, but just graphics bringing
Speaker 6: graphics to Elixir.
Speaker 5: I don't know about that's it's state. Also, I'm not
Speaker 5: sure if it's a thing anymore.
Speaker 2: Yeah, that was void, wasn't it. I believe the guy
Speaker 2: came from Xbox.
Speaker 5: I think the name sounds familiar.
Speaker 2: Yeah, yeah, so that's still going on.
Speaker 4: Actually he created a whole company with that, and he's
Speaker 4: kind of working a lot of stuff and I think
Speaker 4: he presented something a year or two ago where it's
Speaker 4: really looking quite nice and you can remotely log into
Speaker 4: these guys and play with them like you're extra there
Speaker 4: so he's really moving forward with that. I fact, I
Speaker 4: think he just got a chair in the Alixir in
Speaker 4: the Airline Foundation. Oh wow something if I remember. Yeah,
Speaker 4: So it may seem like it's not going for it,
Speaker 4: but as far as I know, like if you make
Speaker 4: a company that's going to be selling this kind of service,
Speaker 4: you're moving forward. You're just you're selling to businesses, right,
Speaker 4: because what he's investing heavily into it. Business had the
Speaker 4: cash to pay for that, not individual people and you know,
Speaker 4: open source kind of communities.
Speaker 6: Oh wait, I think I think we might be mixing up. Yeah,
Speaker 6: I just I just googled it. I think what you're
Speaker 6: talking about is Scenic, right.
Speaker 2: Yeah, yes, that one I think also uses open gl. Right.
Speaker 3: I just want to just mention scene.
Speaker 6: Yeah, I don't think Scenic uses open gl at least
Speaker 6: I don't think it did. I thought it was just
Speaker 6: a very simple way to build. I thought he's used
Speaker 6: web gl for the desktop environments. But my understanding might
Speaker 6: be off.
Speaker 3: From what I thirsd Scenic is mostly used like where
Speaker 3: like more embedded areas, Like it's not really like BVV
Speaker 3: reactive your eye scenario or what monogopa. I know where
Speaker 3: I have a screen of size and x son of
Speaker 3: some kind of the face of that. But it might
Speaker 3: be off here, but that wasn't be something of a
Speaker 3: last look that sex.
Speaker 4: Yeah, that was also my reading that I remember is that, Yeah,
Speaker 4: you have to kind of know your screen size or.
Speaker 2: Else you could be in a world of pain right there.
Speaker 2: It's just no way to change.
Speaker 1: It, yeah, I will say. I mean one one thing
Speaker 1: that's also interesting is how many inroads Nerves is made
Speaker 1: in the IoT community, because it it makes a dent
Speaker 1: and it is a lot nicer to use than a
Speaker 1: lot of the other IoT library libraries that are out there.
Speaker 1: And and that may be a place where that things
Speaker 1: crack wide open because a lot more things are becoming
Speaker 1: programmer enabled. And so as you open that up and
Speaker 1: again you you spin up another process, you spin up
Speaker 1: another thing that is talking to your your stuff on
Speaker 1: your network, right, and and you have multiple cores and
Speaker 1: everything plays nicely together to share resources on your controlling machine.
Speaker 1: I mean it, it's cool stuff. I've been tempted for
Speaker 1: years to just figure out nerves and then to figure
Speaker 1: out how to make it do a big Christmas light
Speaker 1: display on my front lawn, you know, and just just
Speaker 1: program the crap out of it, right, and I think
Speaker 1: it'd be way fun And I don't know, but you
Speaker 1: can do all kinds of things with that, and I've
Speaker 1: I remember going to code Beam and going to some
Speaker 1: of the other conferences and seeing talks at some of
Speaker 1: the Elixir related conferences and Erlining related conferences where they're
Speaker 1: using things like nerves for commercial applications where they're literally
Speaker 1: speaking over modems, you know, sending data back and forth
Speaker 1: and doing really interesting stuff with that, and anyway, all
Speaker 1: kinds of different directions that this could go. It's it's
Speaker 1: really really cool.
Speaker 6: Speaking of NOSE, I know there's like a company Very
Speaker 6: They exclusively work on embedded apps with Alix. They're a
Speaker 6: consulting company and they I think they have that big
Speaker 6: enough that it's like surprising that there are and so
Speaker 6: many projects going on that use nerves.
Speaker 1: Yeah, one of the past panelists on this show wasn't Mark.
Speaker 1: I think Mark was the one that was running the
Speaker 1: Nerves online meetup group and they they were doing all
Speaker 1: kinds of cool stuff. And Yeah, I think we're gonna
Speaker 1: keep going more and more into a more enabled world
Speaker 1: and it'll just be cool to see where that can
Speaker 1: take us to and then if it gets opened up
Speaker 1: into a machine learning world, what can you do with
Speaker 1: all that data? Right?
Speaker 3: Yeah, now that we've talked about it like it's it's
Speaker 3: interesting to see in how many directions is this going?
Speaker 5: Right?
Speaker 3: I mean, if we have life few, we have an X,
Speaker 3: machine learning, we have nerves, we have scenic. There's a
Speaker 3: lot of motion in a lot of areas. That's it's interesting,
Speaker 3: true of surfs.
Speaker 1: We just need to get into mobile and then we'll
Speaker 1: be the new JavaScript's like Life few native that I'm
Speaker 1: just saying, Yeah, there we go. Oh well, should we
Speaker 1: start wrapping it up? Use some picks, all right, Audi,
Speaker 1: why don't you start us off picks?
Speaker 5: Great?
Speaker 6: So I don't really have like picks traditional picks this time.
Speaker 6: I have a couple really cool companies I know that
Speaker 6: are hiring for Elixir developers.
Speaker 5: Do we do that?
Speaker 2: Yeah?
Speaker 1: Okay, go ahead.
Speaker 6: Yeah. So first one is a simple bet. We spoke
Speaker 6: about NX. Unfortunately they don't use that NX yet for
Speaker 6: their machine learning, but they are using machine learning and
Speaker 6: Alixler and Rust in some capacity and they sound very exciting.
Speaker 6: And the other one is the company where I first
Speaker 6: started working and Cassam. They are in Boston and they're
Speaker 6: looking for junior mid or Senior Elixir developer. Both sound
Speaker 6: like great places to work and links will be in
Speaker 6: the description.
Speaker 1: Awesome, Alan, Do you have some picks?
Speaker 4: I definitely have one pick that I'm very happy about recently.
Speaker 4: It's been out for some time, but I don't think
Speaker 4: you guys ever play with it. But I've been trying
Speaker 4: to use Tailwind more and more these days, and they
Speaker 4: came out with this jig compiler that is really really
Speaker 4: interesting and really really fast compared to normal no JAS stuff.
Speaker 4: And the cool thing about is that you can dynamically
Speaker 4: create new classes as you're actually coding up your web pages.
Speaker 8: Have you guys seen this before or it's really really
Speaker 8: cool effort that they're doing. The sustain time compilation. I
Speaker 8: mean I used to the version one and like that
Speaker 8: was the thing like where you had to specify what
Speaker 8: you needed to brand like and then I had to
Speaker 8: include everything there to sustan time stuff is really really cool.
Speaker 4: So normally you'd have to extend using this kind of
Speaker 4: confake JS file and you have to kind of, you know,
Speaker 4: say okay, this is my color. So that's what I
Speaker 4: usually do is I put a bunch of brand colors
Speaker 4: in there, and then I just extend the current colors
Speaker 4: that they offer, so I've used them in the background,
Speaker 4: the text color, et cetera. But what you can do
Speaker 4: now is, say you have like one element you need
Speaker 4: to do something very specific, a very weird number or
Speaker 4: something that's not in the default library, you can always extend,
Speaker 4: but then you have to wait for to compile. What
Speaker 4: you can also do is you can say, like this
Speaker 4: thing is going to be like sixty four REM high,
Speaker 4: So you could say like, okay, h dash and then
Speaker 4: use left left square bracket sixty four RAM and then
Speaker 4: ending square bracket, and it'll dynamically create the class for you,
Speaker 4: so you don't actually have to go in and even
Speaker 4: have like a CSS filling more. You could basically do
Speaker 4: most of the work yourself just by adding in these
Speaker 4: arbitrary files. And what THEGIT does is it'll actually scan
Speaker 4: through your files. And I am doing this with the
Speaker 4: l e X and also the ex templates, so it's
Speaker 4: actually going through my Phoenix files and actually creating classes
Speaker 4: for me, which is really really cool. And then they
Speaker 4: could also purge anything I don't use, so it also
Speaker 4: knowses all that too, so the CSS file that comes
Speaker 4: out is super super small and very specific to my project,
Speaker 4: and it's really really really cool. I really like this
Speaker 4: thing because there's always some elements you always have to
Speaker 4: be very specific with, and I think this is definitely useful.
Speaker 4: Now I could just look at my htmail my CSS
Speaker 4: together at one place, I don't have to think about
Speaker 4: where this class is being used, where it's not being used.
Speaker 4: So that's that's really my big pick for this really.
Speaker 1: Cool Sasha, what are your picks?
Speaker 3: I just have one pick, and it might even be
Speaker 3: something which a lot of people already familiar with, but
Speaker 3: I've only recently discovered it. It's a library in Mili
Speaker 3: called Bypass, and what it does basically, it's like you
Speaker 3: it really opened starts a pluck server and you specify
Speaker 3: an expectations as a testing thing. So you start a
Speaker 3: pluck server, you specifically I'm not going to expect a
Speaker 3: request with your l here with these headers and parameters,
Speaker 3: and then I'm going to send back a response just
Speaker 3: with user usual plug things you olso do in Phoenix.
Speaker 3: And the cool thing there is because it really opens
Speaker 3: a connection from local hosts. You when you do tests,
Speaker 3: for example, for when you test your h GDP clients
Speaker 3: sending a request on API, it goes through the whole stack,
Speaker 3: right like, it really does build the ah GDP stack
Speaker 3: and really sends it so you don't leave out like
Speaker 3: this one thing in your test, which might then break
Speaker 3: on production because you didn't test it. So yeah, a
Speaker 3: lot of people might might already be familiar with it,
Speaker 3: but it's pretty pretty nice to years for all these
Speaker 3: its top clienty tests.
Speaker 1: All right, I'm gonna throw out a few picks. I
Speaker 1: tend to pick more stuff along the lines of, Hey,
Speaker 1: I'm running a podcast network and so it's just stuff
Speaker 1: that I'm learning things like that. If you want more
Speaker 1: in depth stuff, it's also kind of my personal journey
Speaker 1: alongside that. Go to devchat dot tv Slash Premium and
Speaker 1: you can pick up the Doing dev Chat Premium podcast,
Speaker 1: and I talk every week about Hey, this is what
Speaker 1: I'm working on, this is what I'm thinking about, this
Speaker 1: is what I've you know, gotten done this week, stuff
Speaker 1: like that. I've been on this who not how hiring
Speaker 1: slash getting people more involved in certain aspects of running
Speaker 1: the shows kick lately and anyway, so since I mentioned
Speaker 1: it Who Not How. I think I've mentioned it like
Speaker 1: every week for the last like three weeks on like
Speaker 1: every show I've been on. So but it's it's a
Speaker 1: terrific book if you're trying to build a team, if
Speaker 1: you're trying to run a business, if you're trying to
Speaker 1: figure out how to get more stuff done, if you're
Speaker 1: kind of a mission driven or outcome driven sort of setup,
Speaker 1: anything like that. I highly, highly, highly recommend it if
Speaker 1: you run any kind of organization. It basically just talks
Speaker 1: about how to build an organization, get people in, build
Speaker 1: relationships to get done what you want to get done
Speaker 1: by empowering people to get to do the things that
Speaker 1: they're really good at. And that way they're fulfilled doing
Speaker 1: what they're good at, and you're fulfilled doing what you're
Speaker 1: good at. So yeah, that's a pick. I really really
Speaker 1: dig these kind of growth books. Okay, And so I'm
Speaker 1: actually rereading Who Not How right now. I just I
Speaker 1: have the hardback version. It's sitting on my desk, and
Speaker 1: so when I get up in the morning and I'm
Speaker 1: going to pick another book. It's a resource. I don't
Speaker 1: follow their prescription really religiously, but I do kind of
Speaker 1: follow what they tell me to in the sense that
Speaker 1: I up in the morning and I follow up routine.
Speaker 1: The book's called The Miracle Morning by Hal L. Rod,
Speaker 1: and yeah, he kind of tells you to do a
Speaker 1: specific set other things in the morning. I do my
Speaker 1: own things, but the idea is pretty good. So definitely
Speaker 1: check that book out as well. The books that I've
Speaker 1: been listening to while I'm like either driving to swim
Speaker 1: the swim team or going on my runs or whatever.
Speaker 1: The latest ones that I've listened to are psycho Cybernetics
Speaker 1: by doctor Maxwell Maltz, which is terrific, by the way.
Speaker 1: It just talks about how you become the person that
Speaker 1: is or has what you want to have or be.
Speaker 1: And then the other book is As a Man Thinketh
Speaker 1: and that's kind of more conceptual version of psycho Cybernetics, honestly,
Speaker 1: but it just talks about how your mindset determines what
Speaker 1: you get. And those are both terrific, terrific books, and
Speaker 1: so I'm going to pick both of those. I know
Speaker 1: I am picking a lot of stuff, but honestly, I've
Speaker 1: just been thinking very very deeply about a lot of
Speaker 1: these things, and I really feel like, this is stuff
Speaker 1: that we don't talk a lot about as developers. You know,
Speaker 1: we kind of talk about it either as a job,
Speaker 1: or we talk about how we contribute to the community,
Speaker 1: or we talk about what's going on in the community,
Speaker 1: and we fail to talk about what we really want
Speaker 1: from our careers, from our contributions, from our open source,
Speaker 1: where we want to go and then how we get there.
Speaker 1: And I really want to help people get there, So
Speaker 1: these books will all help you get there. If you're
Speaker 1: looking for more of that, the dev Influencers podcast is
Speaker 1: where I'm talking more about that. I'm also trying to
Speaker 1: put out bonus episodes where I talk more about that,
Speaker 1: but I have other people putting demands on that sometimes,
Speaker 1: so dev influencers dot Com slash podcast where you get
Speaker 1: the rest of that. And yeah, that's pretty much my picks.
Speaker 1: I'll save the rest of it for next week. I've
Speaker 1: got a ton of stuff that I just want to share,
Speaker 1: but I don't want to take all your time just
Speaker 1: saying oh, and this and that and anyway, Well that
Speaker 1: was fun, guys, Yeah, totally