All Episodes

November 27, 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.

Speaker 2 (00:15):
Hi everybody, Hey Bruce.

Speaker 1 (00:17):
We've got Josh Adams, Hello, Hi, Josh, Lars Vikmann what.

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

Speaker 1 (00:25):
Very nice?

Speaker 4 (00:25):
Hello?

Speaker 3 (00:25):
Hello?

Speaker 1 (00:26):
Hello?

Speaker 4 (00:26):
Hello?

Speaker 1 (00:27):
Very cool? And Steven Nias helloes all 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

(00:50):
that you could join us today because these are really
some of my favorite topics, education and Elixer. You wouldn't
mind go ahead and introduce yourself.

Speaker 4 (00:56):
Thank you very much. My name is Ago From, a
professor or at the Federal University of Technology. But now
which is it's here 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

(01:16):
was created by a Brazilian. I have to say that
because that's what's attracted me to the language at first,
but now I admire the language and also it's community.

Speaker 2 (01:27):
So do you actually get to teach a luxure at
your university.

Speaker 4 (01:31):
Yes, I don't have many students, less 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's it attracts
more interest for it. It's more interesting for the students
to learn what's scrounged than elixir. But I hope that
as the time passes, more of the students are going

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

Speaker 2 (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 amity, 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 and your teaching approaches.

Speaker 4 (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 program 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 2 (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 keys to get up
in code ever? I know I never had that my person.

Speaker 4 (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 the whole class, and every five
to seven minutes they first y they do programming so
there's two persons using the computer, and one of them

(04:03):
is the driver and the other is the audiency. I
don't remember the name, but the one that's observing and navigator, yes, navgator.
And after some time the navigators becomes a driver. The
drives go back to the to his seat, and another
students takes the place of the navigator. You have to
be always paying attention to what's happening to be able

(04:27):
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 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 until 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 a elixir
away 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 4 (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 know. The problem that they
have is in that I tweeted a few days ago,
was that they do what you said, They know how

(06:00):
to do objective ranged 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 elixuir you can do in functional programming languages and
it makes the code more readable, but you can't do it. Know. Also,
at first, I'm not a professional programmer, so I program
whenever I can. But I did my phddas is used
in Java, so I can say that I could write
some reasonably good Java codes. And when I started Elixir

(06:45):
now and before Alix, I started closure, and it was
difficult to say, now, how do I do that? How
do I do a for loop? Here? There's no for loops,
so I had to try to do things differently. So
it's a problem that I still don't have. But I
want to have one of my projects. I have many projects,

(07:06):
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, people that can't
program in any language and say, oh, now, let's learn
Elixir without the telling them that it's Elixir. Let's because
there are many productory books about Elixir that for for example,

(07:31):
my friends police is all made that he wrote a
great book about learning functional programming and with Elixer, but
he kind of expects that people already know how to
program with some other language. I believe Dave Thomas's book
also expects and even more such a uric book. So
there's no program no programming book or that teaches functional

(07:55):
programming with Elixir for complete beginners. As far as yes, such.

Speaker 2 (08:00):
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 another professor that that

(08:23):
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, and these
are computer science students. So what's interesting to me is

(08:46):
the students that I get that that are starting from
scratch 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
different programming paradigm that we have to deconstruct, but they
also don't have the experience with the tools that they

(09:07):
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 4 (09:20):
You mean.

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

Speaker 4 (09:31):
Things like that. 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

(09:51):
I see what I mean. In there there are some
online ideas like I don't know rip tho dot it
and 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 5 (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 to program Ruby using that book. He's the
CTO now have a startup. Really fun to watch that
that actually can work.

Speaker 1 (10:33):
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
Flanner 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 know if it was required, but it was

(10:55):
sort of recommended pre reading of starting the course. And
I think one of the things that I love 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 or something, right, and you have a dog

(11:16):
and the characteristics of a dog, and then you Hadstanty
a 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, does it isn't it that message passing

(11:39):
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 4 (11:53):
Well, I think that, As I said, I came from
a large in computer science background, and there is one
thing that's it's real in large given before in program
is that there are many many models of the world.
There is, for instance, loge. There is a classical propositional

(12:14):
loge that we use mostly on programming is only one loge.
There is multi valued loge. There is relevant loge into
an is ki loge, there's miny lodge. I believe that
depending on the problem, one model is going to be
the best for other problems. There are two possible models

(12:35):
and you can choose, So I don't 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.

(12:56):
I think that the great thing about all these programming
languages that there are many options. So I know people
love closure. I know people hate closure because there is
so many a parentheses, and closure is even has less
apparences than LESP. There's everything. It's made with perencies. So

(13:18):
I don't think it's a problem. But I think here
is that we have to provide options, and the students,
the users, the persons, the people that want to learn programming,
they choose what's best for them.

Speaker 2 (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 javaway 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 4 (14:18):
Yes, and what's great about coding dozho it was created
by two French guys. I believe that it was created
in France. I can't remember the names of loh Bosavi
and I don't remember the name of the other guy.
But one of the goals when I learned the coding

(14:39):
dojo from one of my students, it is one of
the goals I know you you do during one two
three 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 per all them that you'd solve

(15:02):
several times with different techniques in different languages, and the
s 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

(15:23):
learn of course, you have to decide. That's something that
was 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

(15:45):
to be good in Elixir. I'm going to study other
language 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 Elix,
but they have a Java job, so I can do
Java too. And this this is sorry, this is a

(16:07):
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. 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, and
the web standards and APIs. There are so many things,
and every domain in programming is basically like that, and
that 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:20):
need a SQL 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 4 (17:38):
Okay?

Speaker 3 (17:38):
Yeah, If you know a few languages, picking up a
new one, for example, is usually fairly straightforward, except when
you run into 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 and I think I think people
mistake what that should be and what that needs to be.
I think you can be very experienced. You 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

(18:19):
useful value add for a particular endeavor in my experience,
and I 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

(18:41):
you've at some point you've made a decision and to
take people in this direction. When when was that?

Speaker 2 (18:46):
When did you 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
came break away.

Speaker 4 (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, a digital banking company. They have a
credit card and they bought platform Attack, which is the
company where Giosefelin. Actually Giosefeline not only worked that, but

(19:46):
he was one of the owners of the company. And
after that, the same company bought Cognity Tact, which was
the company is it still is the company behind Closure.
So there was some kind of publicity for functional programming
language here in Brazil because of these two companies that

(20:08):
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.
That's what they have to learn. But if they want,

(20:28):
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 up 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 like make your students strategically uncomfortable,
like kind of let let them suffer a little. And
I'm gonna actually put Stephen in the hot seel a
little bit because I think that this is if that's
my teaching ploss. I think I probably stole that from.

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

Speaker 6 (21:12):
Yeah, I think that you know, there's they're sort of
the thinking about learning that you learn through uncomfort the most.
So the closer 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
I think that suffering and struggle is where you get
the best learning and where it sticks.

Speaker 2 (21:46):
It's funny. 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 Earling Project Chicago Boss
and so Adulfo. We were doing this mental 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

(22:09):
shoulder when 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.

Speaker 4 (22:28):
And then so this one time I turned around, I said.

Speaker 2 (22:32):
What, Evan, what you know what? Everybody just turned around.
I'm you know, 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,

(22:56):
So I teach a lot of technique, so what I
should do is a lot mistakes to happen in the
right context and be kind of a guide, be a
guardrail 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

(23:17):
saw that first.

Speaker 4 (23:18):
N 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

(23:40):
the internet 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 programing a long
time ago, I started with basic there was no in
so all I had was a book in the computer.

(24:04):
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 World on in telegram and also tweetered. There's

(24:25):
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 5 (24:41):
I wanted to class 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 4 (24:53):
Thanks, I just started. My idea with Elixir road was
exactly that. I'm part of the Elixir Vierzial 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:15):
going to create one for English speaking, of course, not
English speaking. It's people from all over the world. I
once I 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 2 (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 that
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.
And then you get absent. But that's what makes community special.

(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:37):
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 and at Altho 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 alexir 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

(27:19):
or 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 4 (27:29):
Wow, that's a good question. Maybe I really like Exorcism
and that's a resource that I think it's not there's
no need to create another Exscism, but maybe people in
the community that want to help others, they should go
there and become a mentor. And the orders that want
len should go there and become maintees and try to

(27:53):
learn using research like that. And I mean, let me
just say what I see in the Brazilian community a lot.
It's a lot, know, some like coding with elixir when
ont each some on YouTube. I would like to see
these more in English. Maybe I don't see it because

(28:13):
it has not arrived to me, but it's there, so
I if you know someone doing that, please treat me
and then you try to include that. I mean, I
have a small bitthub project where I'm compiling. Maybe after
some time I will give this information to the Airline

(28:34):
Ecosystem Foundation, because that's one of the things that let
me introduce this subject. I'm part of the Education Working
Group of their Longe 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

(28:55):
more populars to allow more people that want to learn
that the language to learn them. So for instance, we
have had Elixir call you virtualo a few months ago
and there is a professor and my students want to
take part in the training. So the foundation and supported

(29:19):
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, one of the initiatives
initiatives was to try to find professors in many universities
that are teaching either Airline or Elixure or other language,

(29:42):
and to try to connect these professionals that use Elixure
in production with these professors that 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

(30:07):
because I particularly love books. Maybe most of the people
now theys don't love book as 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 on my leaks through and I think
that's it.

Speaker 2 (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:50):
terms of the of the type structures. But you still
have the full power of functional programming that you can
bring to bear.

Speaker 4 (30:58):
So it should be.

Speaker 2 (31:00):
And the other thing that I think it's 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 Auditctorian 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 the Lixir

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

Speaker 4 (31:47):
I would like to say something else about this learning
the community. One thing that I noticed that it's really
attracted me to the language and the larger communits in
community because it's not only Elixir but also Aline. It's
the podcasts. This podcast already has more than one hundred episodes,

(32:11):
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 Elixir Fountain. So I think
that this community. Of course, I I before Elixir, I

(32:36):
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. So I think the idea of podcasts.
I love podcasts because I can learn unexpected things. It's

(32:58):
that that world that people use its certain deep ty, 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
that you learn when you, for instance, you go to
that series in your channel, Bruce and they grow to

(33:22):
your channel. Of course, you're going to learn some more
technical things, technical details about how to write and alive
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

(33:42):
some research about this and the podcasts and how 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

(34:04):
people that listen to podcasts. But what do they 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. There are

(34:25):
some questions that I would like to see answer it.

Speaker 5 (34:28):
Yeah, so 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

(34:50):
wonder 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 4 (34:58):
I believe the name of the podcast it was mostly Earlin.

Speaker 5 (35:02):
It was mostly Earl. Yeah, I listened to that while
I was paying a house.

Speaker 1 (35:06):
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 elixir.
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 Lawn Order on TV. They pick up a
Law and Order episode for you all day long, from

(35:50):
like eight am to eight pm. Like, you didn't choose
a 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. And 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 going to take me.

Speaker 6 (36:07):
You don't like if you're more murder in your podcast,
You're just I think I get it.

Speaker 4 (36:11):
Well.

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

Speaker 3 (36:18):
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 3 (36:22):
Yeah, I'm very curious to hear what comes out of
the survey. And although 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

(36:43):
feel like 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

(37:04):
and yeah, 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 laurs we
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
r mey 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 being bloger
stuff came where you can look around from my GitHub,
but being blogger stuff call very cool.

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

Speaker 4 (38:11):
You've got a couple.

Speaker 2 (38:11):
Of course, the Garroxia 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. So I'm working

(38:34):
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 is I'll post that. 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

(38:57):
really just a fabulous speaker and an excellent person to
you know. The kind of is the anti Bruce, right,
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

(39:19):
how things fail why they feel less of a programmer
series and more of a kind of an exploration of failure. 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 6 (39:36):
Yeah, I guess a general pick. I'll give what I'm using.
But find something that does this. I found an e
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.

Speaker 4 (39:54):
I've got, you know.

Speaker 6 (39:56):
Everything that I've been meaning to read and then kind
of get around to is 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.
But if you haven't done this, do this. You need

(40:18):
this in your life. Being able to just throw a
technical book, reading growing object or into word guided by
tests in one ear.

Speaker 4 (40:24):
It's it's really really cool do that.

Speaker 1 (40:27):
Oh yeah, that's a good idea. Josh An picks.

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

Speaker 5 (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 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. And I

(41:15):
just wanted to share.

Speaker 1 (41:16):
That that definitely roseate.

Speaker 3 (41:17):
Yeah.

Speaker 1 (41:18):
Interesting. All right, I'll run down to the mind 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 in a Specialized World. Really interesting book on this

(41:40):
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 promotion. And then

(42:02):
we've got a recent blog post from someone you may
have heard of, Stephen Naniez, on the topic of managing
rabbit m Q 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 arline 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 out 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
comf on the topic of working with Elixer and rabbit
Queue and using it to bring in a green field
of water app into your legacy technical ecosystem. So you have, 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 4 (43:13):
Yes, I have maybe too much, too many picks, but
I have already sent you the links the Elixi World
Telegram group, which is 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

(43:36):
telegram 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 all the messages. 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

(43:57):
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 ARLNG Ecosystem Foundation. We have a list
of issues at our git hub page, so I think
it's important if people want to help our group. There
are many issues issues open and Elixir breds you two

(44:22):
thousan twenty Elixir breads you twenty twenty. Is it going
to happen? It would happen in May and Bruce would
be here in San Paulo. But it seems it's going
to happen physically, we hope only in twenty twenty one,
but it's probably going to happen online. So that's what

(44:46):
I would like to say. 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 piek is going to be a movie because I
really like the I really enjoyed the Elixir Fountain podcast.

(45:06):
The last part it was 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,

(45:26):
and I love some Brazilian movies. The last time I
was a guest here, I suggested people watch the movie Aquarius.
Now I have another suggestion from the same director, It's
Back with It's okay. Some people will not like this
movie because it's kind of violent, but it has a

(45:48):
very deep message about Brazil today and about actually about
the world today. 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 Yes all great. 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.