All Episodes

December 11, 2024 46 mins
In this episode of Elixir Mix, we chat with Adolfo Neto, a professor of computer science at UTFPR in Brazil, about what it’s like to teach Elixir, how we as educators can support the Elixir community to grow and thrive, and what the Erlang Ecosystem Foundation’s Education Working Group is up to.

Links

Picks 


Become a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:06):
Hello, and welcome to today's episode of alex Er. Miss.
I am joined as always by our wonderful panel of hosts,
including Bruce Kate. Hi everybody, Hey Bruce, We've got Josh Adams, Hello, Hi, Josh,
Lars Vikmann what.

Speaker 2 (00:23):
Was that colloquial Swedish?

Speaker 1 (00:25):
Very nice?

Speaker 2 (00:25):
Hello?

Speaker 3 (00:25):
Hello?

Speaker 1 (00:26):
Hello? Hello, very cool?

Speaker 4 (00:28):
And Steven Nias helloes all.

Speaker 1 (00:32):
Our something Yeah, I think you do have to he
out there perfect and joining us as a guest. We
are very lucky to have an also netto who is
a professor of computer science and he's also very active
in the Elixir community, especially with regards to Elixir education.
I am super happy that you could join us today
because these are really some of my favorite topics, education

(00:53):
and Elixer. You wouldn't mind go ahead and introduce yourself.

Speaker 2 (00:56):
Thank you very much.

Speaker 5 (00:57):
My name is Ago From, a professor or at the
Federal University of Technology.

Speaker 2 (01:02):
But now which is it's here.

Speaker 5 (01:05):
In Critiba, Brazil, and I teach lodge for computer science
and also an introduction to Functional Programming course. And I
got interested in Elixir because it was created by a Brazilian.

Speaker 2 (01:17):
I have to say that because that was attracted me to.

Speaker 5 (01:21):
The language at first, but now I admire the language
and also it's community.

Speaker 6 (01:27):
So do you actually get to teach elixure at your university.

Speaker 5 (01:31):
Yes, I don't have many students, least offering I had
for students only because it's an optional course. It's you
don't have to take this course to graduate in computer science.
So actually we don't have computer science here. It's computer
engineering and information systems, but it's it's an optional. For instance,

(01:54):
I have an agual methods classes to class to and
it's it has much more students because it attracts more
interest for it. It's more interesting for the students to
learn what's screamed than elixir. But I hope that as
the time passes, more of the students are going to

(02:14):
get interested in this class.

Speaker 6 (02:17):
It's interesting. We've gotten to spend a little bit of
time together. For those who don't know, I have a
metroing group and Adolfo shows up as I don't know
something between a metro and amitee, which is kind of
great for my students. But I have some questions. Do
you have any techniques that you can throw my way
or are there anythings that we do that you're going
to take with you in your teaching approaches.

Speaker 5 (02:38):
Actually, I think I'm learning more with you than the
opposite because be for this introduction to functional Programming course,
I only taught and laudnge for computer science, so it
was not an introduction to programming. I'm still trying to
learn which is the best approach to teach programming. And

(03:01):
what I try to do is teach them how to
write a program in Elixir, but also the fundamentals and
papers about the actor model, and so it's kind of
makes There is also this academic approach that I think
that's what's different from your approach with your main keys.

Speaker 6 (03:22):
Yeah, it's been fun to actually have smaller classes where
we can flip the keyboard, and I think that that
has been an eye opener for me. Do you get
a chance to actually invite the key is to get
up in code ever?

Speaker 2 (03:36):
I know I never had that in my pression.

Speaker 5 (03:39):
Yes, yes, because I'm also a big fan of the
coding those who technique. I have written some papers about it,
and whenever I can, I invite my students to do
a coding those with whole class, and every five to
seven minutes they first they do pre programming. So there's

(03:59):
two persons on using the computer, and one of them
is the driver and the other is the audiency. I
don't remember the name, but the one that's observing and navigator, yes, navigator,
And after some time the navigators becomes a driver. The
drives go back to his seat, and another students takes

(04:21):
the place of the navigator. You have to be always
paying attention to what's happening to be able to write
some code in front of the class. That's something that
I really like. I had a Master's student who wrote,
actually the two masters students, they wrote their thesis on
coding those who so I tried to practice these with

(04:42):
my students.

Speaker 1 (04:43):
It's interesting that you mentioned giving your students I think
you mentioned some papers on like the actor model to
read and that made me realize that when I was
learning a lexur, I didn't really know what that was
or even have an opportunity to think too much about it.
And so maybe almost like a year into you know,

(05:04):
writing a lecture professionally, and I have an oh oh background,
Like I learned Ruby first, I was a real developer,
and so a lot of my journey into Alix was
characterized by like writing a lot of really messy sort
of oh oh inflected Elixer code. And so one of
the things I'm always curious about is, you know, what
is it like to teach and learn something functional first,

(05:24):
as opposed to learning oh and then like trying to
sort of fight your way into a functional way of thinking.
I don't know if you've taught oh oh as well
as functional or you know how you think about these
different totally different frameworks and mental models.

Speaker 5 (05:37):
Yes, the problem is that my students, when they come
to this optional course, they already know how to problem.
So I don't know how it is to teach functional
programming first because they already The problem that they have
is in that I tweeted a few days ago, was
that they do what you said, They know how to

(06:00):
do objective or in the program, and they try to
do something like that with Elixir and they have it's
really difficult for them. For the few students that I had,
tried to write some more ideomatic codes, some code that
looks like Elixure that makes use of pattern matching and
small functions and lots of things that you can do

(06:22):
in Elixir you can do in functional programming language, and
it makes the code more readable, but you can't do it.

Speaker 2 (06:29):
Know.

Speaker 5 (06:30):
Also, at first, I'm not a professional programmer, so I
program whenever I can. But I did my phdtas is
used in Java, so I can say that I could
write some reasonably good Java codes. And when I started
Elixir now and before Alix, I started closure, and it
was difficult to say.

Speaker 2 (06:50):
Now, how do I do that? How do I do
a for loop? Here?

Speaker 5 (06:54):
There's no for loops, so I had to try to
do things differently. So it's problem that I still don't have.
But I want to have one of my projects. I
have many projects, not all of them I put them
in practice, But one of them was to create a
programming chorse or even write a book for complete beginners,

(07:17):
people that can't program in any language, and say oh now,
let's learn Elixir without the telling them that it's Elixir.

Speaker 2 (07:25):
Let's because there are.

Speaker 5 (07:26):
Many productory books about Elixir that, for for example, my
friends Police is all made that he wrote a great
book about learning functional programming and with Elixir, but he
kind of expects that people already know how to program
with some other language.

Speaker 2 (07:43):
I believe Dave Thomas's book.

Speaker 5 (07:46):
Also expects even more such a uric book, So there's
no program no programming book or that teaches functional programming
with Elixir for complete beginners.

Speaker 6 (07:58):
As far as yes, such books do exist for the
Haskell language, which is kind of a big step, right
because you're you're not just grappling with the paradigm of
you know, with an object and things, but you're also
working into a completely different kind of type theory. And
these these concepts are just pretty stunning to me. So

(08:21):
another professor that that I really like is a man
named John Hughes, one of the creators of Pascal, and
he came to Chattanooga to attend our conference and I
was fortunate to spend another couple of days with them.
But he regularly taught students without any kind of mental corruption, right,

(08:41):
and these are computer science students. So what's interesting to
me is the students that I get that that are
starting to proscritch are normally professionals that have tried to
make a go in something else, right, So they they
have the benefit of not having some of the baggage
of a for programming paradigm that we have to deconstruct,

(09:03):
but they also don't have the experience with the tools
that they need for basic fluency, how to navigate the
command line, how to use source control, how to do
things like that, and and that's that is a tremendous obstacle.
So you find the same thing teaching at university.

Speaker 2 (09:20):
You mean the.

Speaker 6 (09:23):
Basically a fluency with with the basic tools, you know,
source control, editors, navigation of the command line, things like that.

Speaker 5 (09:31):
Yes, the first year students here at the Universe, some
of them don't have any fluence, so they learn. See
the teachers that teach them in the first semester they
teach them. See, so they learned their basically in the
first semesters. When they arrive in my class, they or
I don't know how to do that, but I see

(09:52):
what I mean. In there there are some.

Speaker 2 (09:55):
Online ideas like rep I don't know rip those do
it and.

Speaker 5 (10:01):
Also win the box where you don't have to learn
everything that create a file and all those things to
be able to write some basic programs in ELIKSU.

Speaker 4 (10:12):
Yeah, on the subject of just teaching absolute beginners, one
of the best books I ever found for this was
Chris Pines Learned a Program which is in Ruby. I
have a friend who was sort of modely technically competent.
He learned the program Ruby using that book. He's the CTEO.
Now have a startup.

Speaker 1 (10:31):
Really fun to watch that that actually can work. That's
not a testimonial for chris Pine's book. I really don't
know what it is. Yeah, it's really interesting to think
about how to teach absolute beginners. And that's something that
when Steven and I were teaching together at the Finer School,
that's exactly what we did and what we were teaching
was Ruby. And I think, at least at the time
when I was a student there, which I was for
being a teacher there, Chris Pine's book was I don't

(10:53):
know if it was required, but it was sort of
recommended pre reading of starting the course. And I think
one of the things that I loved about teaching Ruby
to absolute beginners, and one of the reasons why the
school kind of touted it at such a great language
for beginners is because it's easy to see how it
models the real world. Right. There's an early assignment, I think,
where we have students build out like a pet store

(11:15):
or something, right, and you have a dog and the
characteristics of a dog, and then you hadstantia dog objects
and you know, take them to the vet or something
like that. And for a while I was really just
totally sold on oh oh models the real world, like
that is the mental model for writing code that models
the world. But now that I'm working with Elixir and
thinking about things more functionally, I'm kind of thinking like,

(11:36):
does it isn't it that message passing models the world?
And that's certainly what Joe Armstrong, you know, would argue,
And isn't it that the actor model really models the world?
So it still feels like these things are at odds,
like can they both be accurate representations of the way
that you know, people and objects move through the world.

Speaker 2 (11:54):
Well, I think that.

Speaker 5 (11:56):
As I said, I came from a large in computer
science background, and there is one thing that's it's real
large even before in program is that there are many
many models of the world. There is, for instance, loge.
There is a classical propositional logic that we use mostly

(12:17):
on programming is only one loge. There is multi valued loge.
There is relevant lodge into an KI logic, there's minilarge.
I believe that depending on the problem, one model is
going to be the best. For other problems, there are
two possible models, and you can choose so I don't

(12:38):
think that's the problem. Maybe this book that teaches an
absolute beginner how to program in Ruby is good for
a person, and this other book that teaches how to
program in Haskell is good for a mathematically inclined person,
And so there there. I think that the great thing
about all these programming languages there are many options. So

(13:02):
I know people love closure. I know people hate closure
because there is so many parentheses, and closure is even
has less apparences than LESP.

Speaker 2 (13:14):
There's everything. It's made with perencies. So I don't think
it's a problem. But I think here is that we
have to provide options, and the.

Speaker 5 (13:24):
Students, the users, the persons, the people that want to
learn programming, they choose what's best for them.

Speaker 6 (13:31):
I think that we're kind of entering a golden age
of programming in some ways, because we've come out of
a place when there was one true way, right, there
was the Java way, and then the darkness find them right.
So we were starting to get to the point where
it's not just useful, but almost expected to have more

(13:54):
than one tool in your tool back. And so for
that reason, I think that probably the most important thing
that we can learn is the skill of learning right.
And so that's that's something that I've always really respected
about you in your work, and especially this dojo approach
where where you teach people to roll out their slaves

(14:15):
and get their hands dirty first, really early in the process.

Speaker 5 (14:19):
Yes, And what's great about codin dozho it was created
by two French guys. I believe that it was created
in France. I can't remember the names of the loo
Bosavi and I don't remember the.

Speaker 2 (14:33):
Name of the other guy.

Speaker 5 (14:34):
But one of the goals when I learned the coding
doozho from one of my students, it is one of
the goals I know you you do.

Speaker 2 (14:46):
During one two three.

Speaker 5 (14:47):
Hours, you solve a problem a code kata. And this
concept of code kata was created by the great Dave Thomas,
which you know well, and his idea was it was
a small problem that you'd solve several times with.

Speaker 2 (15:03):
Different techniques in different languages.

Speaker 5 (15:06):
And so in there it's it's the de seed for
this idea that you for you to be a good programmer,
you can't be just don't know, I'm going to become
perfect with Java and forget all about the other language. No,
you can learn product you can learn, list you can learn.
Of course, you have to decide. That's something that was

(15:28):
happening at the Elixir World telegram group today is that
sometimes you have to choose you cannot. I'm going to
learn a bit of ELM, a bit of Elixir, a
bit of Irland, a bit of Java, and and that
being competent nothing you have to choose. I'm going to
be good in elixure, I'm going to study other language

(15:49):
so that I will be a better Elixir developer, a
better developer in general, and maybe in the future again,
oh no, Now I don't have a job with elik serve,
but they have a Java job, so I can do
Java too.

Speaker 2 (16:04):
And this is.

Speaker 5 (16:06):
Sorry, this is a real case. A friend of mine
she had an elixirve job and then she went to
Sweden to be an airline developer, and then she found
a Java job.

Speaker 2 (16:17):
So yeah.

Speaker 3 (16:19):
In my experience, the whole idea of being a generalist
sort of turns out to be a pretty good specialty
and just having multiple things to lean on and having
a wide knowledge of technology servers. For example, the field
of web development is by its very nature extremely wide.

(16:40):
There's a ton of things you should know to be
really knowledgeable about the web, both back and front end,
and the web standards and the APIs. There are so
many things, and every domain in programming is basically like that,
and there's a lot of depth and there's a lot

(17:00):
of width. And of course you can focus down on
a language to become an absolute expert in wielding the
minute details of Java or Elixir or Python or c.
But you can also pick up a few different languages
or pick up a wide skill set where Okay, you

(17:21):
need a SEQL database up and running, or now we
need to set up some additional servers, or we need
to write something in this language because we're using a
project written in an entirely different language. Is there anyone
that can actually read the code and work with it?

Speaker 2 (17:38):
Okay? Yeah.

Speaker 3 (17:39):
If you know a few languages, picking up a new one,
for example, is usually fairly straightforward, except when you run
into like the paradigm shift of functional programming, for example.
But I think having that generalist approach tends to I've
often heard the advice to specialize, you need to be

(17:59):
good at a specific thing, and I think I think
people mistake what that should be and what that needs
to be. I think you can be very experienced. It
can be an expert. That doesn't mean that you know
every detail of the language. It can, but then you're
a language doctor or a language specialist. That's usually not
the most useful value add for a particular endeavor in

(18:24):
my experience, and I.

Speaker 6 (18:25):
Mean, it strikes me, Adolpho, that you are essentially starting
to move people in this direction right with your functional
programming course and with the way that the world is
moving or needs to move. Maybe it's a movie there
fast enough, but it strikes me that you've you've at
some point you've made a decision and to take people
in this direction. When when was that? When did you

(18:47):
start to be more of kind of open up the
blinders a little bit. In the United States, there are
a whole lot of schools that are invested in teaching
Java and teaching Microsoft because that's where the certification, and
they've made investments in those places and they just can't
break away.

Speaker 5 (19:03):
I have a lot of freedom here in the public university,
where the government owns the university and it's free for
the students, so I can offer the course. I have
some freedom to offer some courses, and I decided to
start this functional programming course and functional programming is getting

(19:26):
more well known with Brazilian software developers because there is
a big company called New Bank, which it's a kind
of a banking additional banking company. They have a credit
card and they bought platform Attack, which is the company
where Gioseffelin.

Speaker 2 (19:44):
Actually Giosefeline not only worked with that, but he was
one of the owners of the company.

Speaker 5 (19:49):
And after that, the same company bought cogny Tact, which
was the company is it still is the company behind Closure.

Speaker 2 (19:59):
So there was some kind of publicity for.

Speaker 5 (20:03):
Functional programming language here in Brazil because of these two
companies that were bought. So I hope that in the
near future I have more students for my functional Programming plus.
I tried to offer them this because they what they
learn as mandatory courses is c C plus plus and job.

Speaker 2 (20:26):
That's what they have to learn. But if they want,
they can learn Elixir too.

Speaker 1 (20:32):
I think related to this kind of on the topic
of teaching and producing generalists, sort of what you're saying like, okay, well,
students are if not required, then they're kind of put
into these boxes to learn these three languages, and if
they want to they can come over here. And learn
this as well really releases something you said earlier, which
is that you're not teaching students alixir, although you know

(20:52):
hopefully you are. You're teaching them how to learn, and
I've always found that one of the best ways to
do that is to make your students strategically uncomfortable, like
kind of let let them suffer a little. And I'm
gonna actually put Stephen in the hot feel a little
bit because I think that this is if that's my
teaching ploss that I think I probably stole that from.

Speaker 2 (21:11):
You a little bit.

Speaker 7 (21:13):
Yeah, I think that you know, there's they're sort of
thinking about learning that you learn through and comfort the most.
So the closure you can safely push people into being uncomfortable,
the faster they'll sort of learn. I think everything is
sort of theoretical until you've gotten to the point where
you're like, oh, I have a deadline and have to
build this project and I'm going to present in front
of my entire class in two days. Oh my god,

(21:35):
this is the end of the world if I do
this wrong. But yeah, I think suffering is important, even
if I sound a little low mean when I say it.
I think that suffering and struggle is where you get
the best learning and where it sticks.

Speaker 2 (21:46):
It's funny.

Speaker 6 (21:46):
There's a there's a man named Evan Miller, which we
should definitely have on this this this podcast at some point.
He's behind the Earl Project Chicago boss and so Adulfo.
We were doing this Mint group that you're part of,
you know, long before you and I met. We were
doing it in Chattanooga, and everyone would show up right
pre pandemic. But Evan would look up my shoulder when

(22:09):
I was teaching somebody and someone would start to go
off in the wrong direction, and that kind of give
them a general nudge, you know, kind of nuts the
rudder every now and then, and you know, I turn
around and if it will be shaking his head right,
and then, you know, so I would try to explain
harder and he would be shaking his head. And then
so this one time I turned around, I said.

Speaker 2 (22:32):
What Evan, what you know?

Speaker 6 (22:34):
And everybody just turned around. I'm usually pretty unflappable, right,
but I was not that day. And he said, Bruce,
it's all about the struggle. And so you know, that's
that's probably my great weakness in a classroom setting, is
building in enough struggle, right, So I teach a lot

(22:57):
of technique. So what I should do is all the
mistakes to happen in the right context and be kind
of a guide, be a guard rail so that when
the struggles happen, you can leave opportunity to bring people
back on course and then and then cast them into
the wind again. But yeah, you saw that first time.

Speaker 5 (23:19):
Yes, yes, and it's important because it's related to that
model that used the Drifus model. Of course, if someone
is a beginner, he or she needs more the direct instruction.
But if someone that has a little bit more of
experience than you are, okay, right, go to the internet

(23:41):
and try to find what's the solution. Because one thing
that I also think that's important nowadays that wasn't important when.
That's important when when I started to learn program because
when I started learning programming a long time ago, I
started with basic there was no internet, so all I

(24:02):
had was a book in the computer. But now we
have lots of place where you can go. If you
want to learn Elixir, you can go to Elixir School,
and there is also the Elixir Forum, Elixir on Slack,
Elixir on Discord, and I have just created the Elixir.

Speaker 2 (24:21):
World on in telegram and also tweetered.

Speaker 5 (24:24):
There's a lot of people tweeting about Elixir and so
I think nowadays, if you want to learn a language,
you have also to learn how to navigate all these
opportunits to learn from others in the community.

Speaker 4 (24:41):
I wanted to plass one alexir World on telegram. I'm
a big fan of telegram and I joined it once
I realized it existed, and immediately scrolled up and saw
interesting conversation.

Speaker 5 (24:52):
Thanks, I just started. My idea with Elixir Road was
exactly that. I'm part of the eliksu bersial telegram and
there's there are many interesting conversations there in Portuguese, of
course because it's our language, but there was no I
think there's no group like that in English. So I'm

(25:14):
going to create one for English speaking, of course, not
English speaking.

Speaker 2 (25:21):
It's people from all over the world. I once I.

Speaker 5 (25:24):
Listed there are people from many countries and so don't
expect perfect English there, but people that can understand and
write based English.

Speaker 6 (25:35):
That's so important too. Also that that we don't all
look alike or sound alike. I think that one of
the things you get is different problem solving perspectives, and
when when we have people who have come from different
backgrounds and different skills and and you get different language approaches,
and you have justice, you know, make everything. You know,

(25:59):
I will steamroll any obstacle. You know, I'll you know,
we write to the Linux kernel for nerves. And then
you have Bruce Williams and his approach and his kind
of zen like approach to making things beautiful and making
them flow and making them exactly in the right abstractions.

Speaker 2 (26:18):
And then you get absent. But that's what makes community special.

Speaker 6 (26:23):
And I'm really glad that you don't see perfect English
there right, that you see that you see such a
variety not just words, but of thought structures and paradigms
and things like that.

Speaker 1 (26:36):
And I think that's one of our responsibilities as teachers
and as educators. I think, is not just to give
people materials that they can learn how to do a thing,
but it's how to create conditions around them in which
they can learn. And part of that are the conditions
of this community, of the electric community, of the aline community,
of the functional programming community. And that's why I think,

(26:58):
in particular, you know a lot of the work that
you've done at all to create these resources and these
channels and these spaces where people can come together and
learn together. I think is really incredible And I would
love to hear from you what more do you want
to see in the elexir community? Like, what resource do
you wish existed that doesn't Maybe it's that Alexa for
Absolute Beginner's Book. You know, what kind of involvement or

(27:18):
participation do you want to see from people in the
group that you've created or or in other groups? You know,
what can we all be doing to keep this community
growing so we can keep educating and keep bringing in newcomers.

Speaker 2 (27:29):
Wow, that's a good question. Maybe I really like Exorcism and.

Speaker 5 (27:35):
That's a resource that I think it's not there's no
need to create another Exciscism. But maybe people in the
community that want to help others, they should go there
and become a mentor. And the orders that want tread
should go there and become maintees and try to learn
using research like that. And I mean, let me just

(27:57):
say what I see in the Brazilian community, there's a lot,
a lot. It's a lot, know, some like coding with
elixir when on t each some on YouTube. I would
like to see the more in English. Maybe I don't
see it because it has not arrived to me, but
it's there. So I if you know someone doing that,

(28:19):
please treat me and then I you try to include that.
I mean, I have a small bit help project where
I'm compiling. Maybe after some time I will give this
information to the Airline Ecosystem Foundation, because that's one of
the things that let me introduce this subject. I'm part

(28:42):
of the Education Working Group of the Long Ecosystem Foundation,
and we are doing lots of things to try to
make not on Elixir but also Airline and the other
being language, make them more populars, to allow more people
that want to learn that this length was to learn them.
So for instance, we have had Elixir called you VIRTUALO

(29:08):
a few months ago and there is a professor and
my students want to take part in the training. So
the foundation and supported the students and we have a
lot of initiatives going on. We had before the pandemic.
We've had some meetings where we we di scutted. For instance,

(29:30):
one of the initiatives initiatives was to try to find
professors in many universities that are teaching either airline or
Elixxure or other language, and to try to connect these
professionals that use Elixure in production with these professors that

(29:51):
teach Elixir or length, so that these professionals can give
talks to their students. And I believe there is also
I need, as I said, for a good introductory book,
but I know that that's because I particularly love books.
Maybe most of the people nowadays don't love book as

(30:12):
much as I do, so there's maybe no economic reason
for an introductory book, but I love books. I would
like to see a really introductory book leaks through, and
I think that's it.

Speaker 6 (30:25):
A Licture should be a good language to break into
functional programming. And I say that because I think that
a leixture can stand on its own when you just
get into the core, just the kind of the peer functions,
the exorcism size and shaped projects. And you can do
that without absorbing a whole lot of functional algebra in

(30:49):
terms of the type structures. But you still have the
full power of functional programming that you can.

Speaker 2 (30:57):
Bring to bear. So it should be.

Speaker 6 (31:00):
And the other thing that I think is critical is
that with the pipe, you have this idea of glue
between concepts, and that's the hard thing about teaching someone
that's new, or teaching someone from an abjectorian system where
we say, okay, objects don't do that, inheritance don't do that.
So there's a lot of things that we say not
to do. But unless you replace that glue, it's difficult

(31:22):
to get traction with a new programmer. But if you
have this framework of hey, there's a module that collects things,
and then that module surrounds this central type and then
you can kind of chain things together with simple transformations,
I think it should be I think you're definitely onto
something that learning programming one oh one in Elixer is

(31:45):
definitely something that you could do.

Speaker 2 (31:47):
I would like to say something else about this learning
the community.

Speaker 5 (31:52):
One thing that I noticed that it's really attracted me
to the language and the larger communits being community because
it's not only Elixir but also Aline.

Speaker 2 (32:05):
It's the podcasts.

Speaker 5 (32:07):
This podcast already has more than one hundred episodes, and
there are other podcasts, and there is great podcast that
it seems has already finished by It has a lot
of great interviews there that you can if you want
to listen to interviews with Joe Armstrong from the past.
That it's their own Alixir fountain. So I think that

(32:31):
this community. Of course, I I before Elixir, I was
following the Closure community, which seems to be smaller. It
has less resources for beginners. Maybe today it has the same,
but at the time it had more less resources for beginners.

Speaker 2 (32:51):
So I think the idea of podcasts.

Speaker 5 (32:53):
I love podcasts because I can learn unexpected things. It's
that that world that people use its certain deepity, right,
so you're not expecting to learn something. And I mean,
of course, the learning that happens in a podcast is
much it's at a much higher level than the learning

(33:14):
that you learn when you, for instance, you go to
that series in your channel, Bruce and they grow to
your channel.

Speaker 2 (33:22):
Of course you're going to learn some more.

Speaker 5 (33:25):
Technical things, technical details about how to write and a
live view app. But it's also you can learn a
lot of things and listening to people from the community
and that's a great resource too. And I'm planning to
do some research about this and the podcasts and how

(33:46):
they are perceived by the community. I hope that when
this episode goes on Earth, I will have a survey
that to survey the community about how because I know
there are some people that don't like podcasts, they won't
listen to podcasts. But I know also that there is
many people that listen to podcasts. But what do they

(34:07):
get from the podcast? What do they expect from the podcasts?
What do they value more a person because he or
she was a guest on a podcast, or because of
what he or she said on a podcast.

Speaker 2 (34:24):
There are some questions that I would like to see
answer it.

Speaker 4 (34:28):
Yes, I used to listen to I've forgotten the name
of it now, but the only airline podcast that existed
back in the day with Brian Hunter and Zach But
I would I would always get value from it from
things like Bruce saying, hey, you should really focus on
the transformations. And you know, it's a very pity statement
in exactly the right meaning of the word, like learning
hearing someone smart say that and go, huh, I wonder

(34:50):
how I actually put that into practice and then figuring
it out a month later. That's kind of the value
I always got from programming podcasts.

Speaker 2 (34:58):
I believe the name of the podcast was mostly Earling.

Speaker 1 (35:01):
It was mostly Earling.

Speaker 4 (35:03):
Yeah, I listened to that while I was painting a house.

Speaker 1 (35:05):
I definitely agree with you, and also that sometimes you're
listening to podcasts and you don't you don't really know
what to expect. You don't know what you're going to learn.
And that's what I appreciate about it, because I think,
you know, you pick up a book for a reason, right,
I want to learn how to do X and alixir.
You know, you probably read a blog post for a
reason as well. You were literally googling how to do
this thing. I'm like, oh, this came up and you

(35:27):
read it. But with podcasts, it's just kind of like
an open space to start encountering things that you didn't expect.
Here people talk about topics that weren't necessarily on your mind.
It's kind of like why I like, I don't know
how you guys are going to feel about this comparison,
but what I like about cable television is that I
only watch Law and Order on TV. They pick up
the Law and Order episode for you all day long,

(35:49):
from like eight am to eight pm. Like, you didn't
choose the Lawn Order episode. You're just watching whatever they
put in front of your face. And that's fun, you
know that kind of that's what I'm looking for when
I'm listening to podcasts, Like I'm interested in the broad topic,
you know, I'm interested in who these people are, and
I just want to hear what they have to say.
And I don't know where it's.

Speaker 2 (36:06):
Going to take me. You don't like if you're more
murder in your podcast, You're just I think I get it. Well.

Speaker 1 (36:11):
I'm also listening. That'll be one of my picks. Actually,
it's pretty good true crime podcast that I was introduced
to recently.

Speaker 3 (36:17):
So what you're saying is we'll get back to the
murder part.

Speaker 1 (36:20):
Yeah, we'll talk about murder later.

Speaker 2 (36:22):
Yeah.

Speaker 3 (36:22):
I'm very curious to hear what comes out of the
survey at all, because I do feel that the different
podcasts that are available for the Lexi community, and we
have a disproportionate amount compared to our community size, I think,
so we have a lot of them, and I find
I find all of them interesting, and I feel like

(36:43):
they we actually do manage to cover different focus points
and have wildly different styles. The Outlaws are definitely a
style into their own, and I feel like there's a
lot of difference between the Wizards and us, even though
we are both to some extent guest driven. And yeah,

(37:05):
the whole meta conversation of what podcasts are good for
and yeah, very interesting. I hope to see your survey soon.

Speaker 1 (37:15):
Well, speaking of picks, this might be as good a
time as any to wrap up our conversation and move
into picks. So we'll just kind of round robin and
if anybody has any links or recommendations to share, and
this is the time for it, start with las we.

Speaker 2 (37:28):
Have for us.

Speaker 3 (37:29):
Well, I have the newly launched being Bloggers Webring, and
I'll call out Sophie and well, Alex isn't here, so
I can't call him out. That you're supposed to p
army your blogs so they can be in the Webring.
But yeah, this is a fun little project that I
wanted to put together to just spread the love. Traffic

(37:50):
is rotating around the beam bloggers. There's more design to come.
Maybe it will even be pretty by the time this
episode launches. So yeah, check it out. It's beam blog
com or you can look around from my GitHub. But
beam blogger stuff com very cool.

Speaker 1 (38:04):
I'm very excited to pr that have included my blog there.
It'll inspire me to write more. Thank you for that.
How about you birth.

Speaker 6 (38:11):
You've got a couple of course, the Garroxio course is
going on now, the Lively Course, and that's been a
lot of fun. One of the things that I get
to do is look at techniques that are kind of
off the beaten path, and one of the things I
really like is gamerless chain sets. So I've kind of
been playing with where those live, right, It's an ecto thing,
but it's something that likes to live in the view.

(38:32):
So I'm working on a video this afternoon that'll go
out with the fourth chapter that that'll come out probably
about the same time as this episode, so.

Speaker 2 (38:40):
I'll post that.

Speaker 6 (38:42):
I'm also excited to be working on a new project.
But just to give you a teaser, here's a keynote.
There's a keynote on failure by guy named Brian Trotwine
and he's really just a fabulous speaker and an excellent
person to you know. The kind of is the anti Bruce, right,

(39:06):
So I'm optimist, happy path and Brian is how many
ways can things fail? And so we're kind of kicking
around the idea of putting together a video series of
how things fail why they feel less of a programmer
series and more of a kind of an exploration of failure.

(39:28):
So but this is a teaser for that project.

Speaker 1 (39:31):
There's a lot of good stuff there. I'm looking forward
to checking some of that out. Let's see who's up next,
Steven and he picks for us.

Speaker 7 (39:36):
Yeah, I guess a general pick. I'll give what I'm using,
but find something that does this. I found an like
a PDF reader that does text the speech. I don't
know why where this has been my entire life, but
like I now walk the dog and I'm listening. I
got Bruce in my ear while I have a robot
in my ear saying Bruce's words. I've got, you know,
everything that I've been meaning to read and then kind

(39:58):
of get around to just constantly going in my ears.
Now I have androids, so I'm using eReader Prestigio. They
have a couple of different services for reading, but when
they ask you to select, if you scroll down, you
can pick the local Android one, so you can get
the generic android voice doing Texas speech, which is good enough.

Speaker 2 (40:15):
But if you haven't done this, do this.

Speaker 7 (40:17):
You need this in your life, being able to just
throw a technical book, reading growing objectory into word guided
by tests in one ear.

Speaker 2 (40:24):
It's it's really cool. Do that good?

Speaker 1 (40:27):
Cah, Yeah, that's a good idea, Josh, any picks.

Speaker 2 (40:29):
I have two picks.

Speaker 4 (40:31):
The first is the GitHub Arctic code vaults tech tree,
which I've linked to, and it's just you mentioned curation
in the context of cable television. While I basically hate
cable television, I do like the concept of curation. And
this is they've listed just a ridiculous number of books
that Hey, if you want to know about how to
do stuff on computers, whether it be networking or software

(40:54):
development or whatever, here's a list of just really solid
book choices. And then also I a quote I don't
know who to attribute it to. My friend Michael Alvis
sent it to me, but it wasn't his set. Running
a successful open source project is just good will hunting
in reverse, where you start out as a respected genius
and end up being a janitor who gets into fights.

Speaker 1 (41:14):
And I just wanted to share that that definitely Roseye interesting.
All right, I'll run down to the mine and then
we'll hand it off to our guest. I've got a
few this time around. So we talked a little bit
about being a generalist and how as engineers as programmers it,
you know, is that's the way to go. I think
a lot of us feel. So there's a great book
by David Epstein called Let's See Range, How Generalists Triumph

(41:38):
in a Specialized World. Really interesting book on this topic
sort of more broadly speaking. And I was actually introduced
to this book by my partner, who is an artist
and who wrote what I thought was a very interesting
post on the topic of being a generalist from the
point of view of like an artist or a creative worker.
So I'm going to share that link as well. Not
quite shameless self promotion, shameless someone else promotion. And then

(42:02):
we've got a recent blog post from someone you may
have heard of, Stephen Nuniez, on the topic of managing
rabbit MQ connections with the library called x rabbit Pool,
and I just thought it was a really like, very clear,
very straightforward look at you know, why we need to
manage connections in this way, what this tool does for us,

(42:23):
And what I really liked about it is there were
all the pictures of I forget what it's called, like
you know, the airline guy, and it shows you the
processes what's that called, Stephen Earlin observer, Yeah, showing you,
like the various processes that are being managed by your
connection pool, and it's really fun to see, like, Okay,
well if I do this, and then we go back
to the airline observer and we see the tree kind
of grow and strength depending on what you're doing. And

(42:45):
I just thought you laid it up super well. And
of course you hit upon this library and it's tooling
as part of the work we're doing to prepare for
our very exciting, thrilling even conference at this year's elixri
compf on the topic of working with Elixer and Rabbit
and Queue and using it to bring in a green
field of water app into your legacy technical ecosystem. So you, yeah,

(43:07):
you might want to get on that. And that's for me.
Let's see if it also has any PEX for us.

Speaker 5 (43:13):
Yes, I have maybe too much, too many picks, but
I have already sent you the links the Elixir World
Telegram group, which a telegram group for any people related
to any being language. What I like about telegram groups
is that I don't have the fear of missing out
because when you go to when there is a telegram

(43:36):
group which is reasonably large, and you go there and
there is two hundred new messages and you can't keep
up you forget that you'll not be able to keep
up with.

Speaker 2 (43:48):
All the message.

Speaker 5 (43:49):
So whenever you have time, you go there, you see
what's happening, and then you go back to what you're doing.
I have already sent other links related to tell but
it's okay. I think it's parted to say that we
have the Education Working Group of the Arlang Ecosystem Foundation.
We have a list of issues at our git heub page,

(44:12):
so I think it's important if people want to help
our group. There are many issues issues open and Elixir
Breds you two thousand, twenty, Elixir Breds you twenty twenty.
Is it going to happen? It would happen in May
and Bruce would be here in San Paulo. But it

(44:35):
seems it's going to happen physically, we hope, only in
twenty twenty one, but it's probably going to happen online.

Speaker 2 (44:44):
So that's what I would like to say.

Speaker 5 (44:47):
If people want to learn Elixir in Portuguese, the language
of the creator of Elixir, it will be possible to
learn it online. And my last peak is going to
be a movie because I really like the I really
enjoyed the Elixir Fountain podcast.

Speaker 2 (45:06):
The last part it was.

Speaker 5 (45:08):
I think it was fire behind the code because I
could get to know better the people that were part
of the community and their For instance, I learned that
Joe Armstrong loved to play the piano. I can't play
the piano. But I love movies, and I love some
Brazilian movies. The last time I was a guest here,

(45:31):
I suggested people watch.

Speaker 2 (45:33):
The movie Aquarius.

Speaker 5 (45:36):
Now I have another suggestion from the same director, It's Back.

Speaker 2 (45:41):
It's okay.

Speaker 5 (45:42):
Some people will not like this movie because it's kind
of violent, but it has a very deep message about
Brazil today and about actually about the world today.

Speaker 2 (45:56):
So it's it's a movie that I really like. It's
called Back.

Speaker 1 (46:00):
This actually looks really cool. I just googled it. This
is my kind of movie. The locals are not exactly
what they appear to be in high dangerous Secrets. Yes,
sign me, Yes, all right, Thank you so much for
joining us today at although this was a great conversation.
And that's it for today's episode of a Listener Mix
Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

CrimeLess: Hillbilly Heist

CrimeLess: Hillbilly Heist

It’s 1996 in rural North Carolina, and an oddball crew makes history when they pull off America’s third largest cash heist. But it’s all downhill from there. Join host Johnny Knoxville as he unspools a wild and woolly tale about a group of regular ‘ol folks who risked it all for a chance at a better life. CrimeLess: Hillbilly Heist answers the question: what would you do with 17.3 million dollars? The answer includes diamond rings, mansions, velvet Elvis paintings, plus a run for the border, murder-for-hire-plots, and FBI busts.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.