Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:06):
Hey, everyone, welcome to anotherepisode of Alex a Mix. This is
your host Addie Anger, and todayon the panel we have Alan Weimer.
Hello Audie, and I just wantto say you sound very excited to be
here, man, I have.Yeah, I am, because you know,
I get to repay you hosting somany times in a row. You
know, I don't like having debton my shoulders. And also I'm super
(00:28):
excited because we have amazing guests withthe boom, Eric scare boom. I
hope my Froun's that right, Eric, Yeah, that's absolutely fine. Well
done, Prigs. I was abit nervous about that, but yeah,
So for those who don't know Eric, he is the head of open source
at an amazing place, Exorcism.I'm sure many of us, many of
(00:49):
the listeners have used it. Andyeah, we're super excited to have Eric
here and kind of dig into whathe does in Exorcism book Mark. I'm
really glited to be here. Soawesome. It's like usually what we do
in this, you know, whenyou have a guest, we kind of
go over you know, their background, and you know, maybe give an
introduction. But I think your introductionis probably better given by yourself, because
(01:11):
I would love to know what kindof background you have to lead to this
kind of a unique title head ofopen source and I want to take into
that as well. But let's getstarted with like how did you get involved
with excess and kind of when aroundwhen did you get start, you know,
being involved with exorism. So Iwas working at the University of Naimesha
at the time, and we hada very generous budget to have available for
(01:37):
learning resources for like courses, etcetera. So I was always trying to
learn new stuff. I was doingc sharp at the time, and I
had heard of functional programming, butI didn't really know it. So a
colleague of mine found a course onlineof cours serah dot org. It was
free back in the days. Nowit's paid, but it was given by
Martin Oderski, who's the main authorof the Scala language. It was one
(01:57):
of the more popular function langue atthe time, and we were like,
oh, maybe we could try thiscourse and see if it is anything that
we that we liked. And Iabsolutely loved it. I loved functional programming.
Of course, there's this bit whereyou have to sort of get used
to all the new idioms. Soit was a bit weird at first,
but once you get used to that, I was like, oh, I
want more. I want more.So they had a little bit of a
(02:20):
form where all the students could askquestions, and I asked, well,
if I wanted to do more skalI want to learn more, where would
I go? Somebody suggested, hey, try exorcism. They have a couple
of exercise that you could do,and you can you can interact with other
people. So I was like,oh cool, I'll try it out.
And so I did the Scalar trackand I was like, wow, this
is really really cool and I lovefunctional programming, so let's try Haskell.
(02:43):
So I have sort of a deepdive. I definitely struggled quite a lot,
but where I was getting unstuck wasbecause of all the lovely helpful people
commenting on my solutions, saying wellhave you looked into this, you could
do this that way, et cetera, et cetera things, and I never
came up with myself. So Iwas like, oh, these people have
all helped me, maybe I canalso give back. I know c sharp,
(03:06):
so why not join the sea sharptrack. So at first I started
also commenting on other people's solutions,and then I don't even remember if it
was my idea if somebody asked me, but they were like or I was
like, I didn't know. MaybeI can help build the track too,
so I add new exercises improve theexisting ones. And I had just started
dabbling in open source a bit,so I quite like that open source aspect
(03:29):
of it, and it was like, maybe I can have my own bit
of open source where I'm not justcontributing a bit to other people's projects,
but just having a bigger influence.And that was all fine, and they
were like, yeah, go forit. So I was almost given like
free reign. So that was reallyamazing to me because that was not something
that was used to with open source. And then I started building up sea
sharp breck and then I was like, hey, well I know sea sharp,
(03:51):
I love function program. Let's tryf sharp. So I then took
on the f sharp track. Andonce you started doing more tracks use you
get into the territory where we havelike a shared repository of exercises that all
the tracks sort of are based on, although they can add stuff themselves.
And then I got to interact witha lot of other people too, some
other track maintainers. So I sortof became a well known ish because I
(04:15):
was involved in all these discussions anddoing open source stuff also to stuff that
they were would be using. Andthen at some point, I think it
was actually during COVID time, butjust before COVID time, and Jeremy Walker,
one of the co founders, heasked me if I was interested in
helping build out EXORCISTMV three and Iwas like, well, yeah, that
(04:35):
actually cool. Though I did haveto sort of get used to being alone
because we are not based on inan officer of something like that. We're
all promote so that was quite athing for me. But I was well
prepared for the COVID pandemic because Iwas already working at home a time that
was sort of like a benefit.How they asked me, Wow, so
(04:57):
and what year was this like whenyou initially started started the sculptrick. I
think in twenty fifteen, Oh wow, very early, Yeah, they were
it was two years old or somethinglike that, and like the very first
user or anything, but and thenprobably contributing within a year or so and
maybe doing that for a bit,and then well I think I'm now here
four years, so it was twentytwenty when I actually joined. That's awesome,
(05:18):
Yeah, very cool. So Iguess before getting into a current role,
like what kind of responsibilities did youhave as you said a track maintained
role, right, like what yousaid, like there was a shared repo,
you'd make sure the questions are youknow, the problems out there and
like every language, like what doesthat entail? Because I imagine, you
know, as you add more newlanguages, and I'm sure that's still in
(05:40):
process, you might need more candidates. And I'm just curious, like if
any of the listeners they want toAlan's like showing us as well either,
but I kind of wanted to giveour listeners some insight into you know,
what type of work to track maintenancedo or if they want to help out,
you know, just what can theylike expect Well, it sort of
depends on what you like. Italso depends on the other track maintainers what
(06:01):
they expect of you. It's it'snot like there's a like a format you
have to fill out and you haveto check this box that box. So
it's not really like that. It'susually it's it's word of mouth. So
when we see people that have beendoing positive work, having contributions that work
that we value, people that areenthusiastics that learn, then we usually ask
them. It is rarely that peopleask us, can we can I be
(06:23):
maintained unless it's a new track.So when people are very enthusiastic about their
language and it's not on Exorcism yet, they usually ask, hey, can
you add it to Exorcism And wewere like, sure, but someone has
to build it. We see youand and often people were like, oh,
okay, yeah, sure, andthen we have documentation of course to
help people with that. But formy the short track was well, it
(06:44):
was in a reasonable state, butit definitely didn't have a lot of exercises,
so I sort of made it mygoal. And I know that the
Elix track had the same thing.Whether the track maintainers tried to do this
where you want to get all theshared exercises implemented, so except for maybe
things that don't fit the track,so there's also a couple of exercises,
but I think I added maybe likeeighty exercises or so, so quite a
(07:06):
lot. And then like I'm aprogrammer, so I love to build complex
things and sometimes I go way overboard, and there wasn't It was definitely not
the best of examples. But theshared exercises I all have adjacent structure with
it. So like consider the exerciseleap. So leap is about detecting whether
or not something as a leap here. So you get pasted in the number
(07:27):
you have to return a booleon simpleenough. But we have a canonical data
dot Jason file, so that listsall sorts of like test cases, so
it will be like two thousands andthen the expected answer is well true or
whatever. So tracks don't have tocome up with all these these test cases
themselves. We provide them for them. And the idea is that we consider
all the things that we check theedge cases, et cetera, et cetera,
(07:50):
et cetera. But I was like, this is Jason. I'm a
programmer. Why can't I just convertJason into sea Sharp. So that's why
I built a tool when we callthem test generators. Other people had done
that too, and I went wayoverboard. So like you can add a
class and it would automatically automatically doa lot of stuff and you get output
a c sharp test file, andthat would save me a lot of work.
(08:11):
Especially when you want to update yourexercise, you could just rerun the
generator on the latest data. Nice, but it was a big undertake,
but something like it was a properengineering problem. And that's what I really
loved. And I had other peopletoo working with me, not that many.
I would prefer more, but itwas still fun to build stuff with
other people together. And that's alsopart of the reason why I kept on
(08:35):
doing exercise and work, because youwere building things with each other. It's
like the social aspect of it's likethat was so great. So interacting with
very clever people. There were peoplethat were way more clever than I am,
so I loved interacting with them andlike, oh wow, that's that's
so interesting. How can you evencome up with that? I couldn't for
the life of me. But soI really enjoyed that. That's awesome.
(08:56):
Yeah, there aren't very many opportunities. I guess these days it's like a
bit easier, but at least liketwenty fifteen sixteen, there weren't very many
opportunities to interact with people like ina social way, for for coding,
and yeah, it's it's such animportant aspect of growing and like kind of
bursting a bubble. Like you couldlike live in a small bubble of like
(09:16):
people and like just you know,have like a local maximum, right,
like someone who's like, you know, within my circle, the best developer.
But and like you could start consideringthem the benchmark. But it's important.
It's to burst your bubble. Andlike see, you know, there's
like crazy people. They operate ata level that you can't even comprehend almost,
you know sometimes, and it's justit's I love platforms that kind of
(09:37):
like encourage that kind of you know, interaction and like you know, and
some people might be good at someother something and some other ones might be
good at some other algorithms stuff,you know whatever. This exis, the
common social aspect of that is isreally cool. I'll be honest, I've
not really used it that much,the social aspect exism, but I appreciate
a platform like providing those kind offeatures. You said you did maintain C
(10:03):
sharp and F sharp track, andyou did Haskell track. Have you done
any other? Have you done theElixa track? We have to ask that
question. Have you done the Elixatrack on Exorcism? Yeah, yeah,
I've done the majority. I haven'tfinished it completely. I'm not actually sure
how many tracks have there, butI've done at least twenty years. Oh
wow. Yeah, so I'm definitelythe definition of a public lot. I
(10:24):
love learning new languages. There's alsothis that found because every time I see
new language, I want to learnthat. So it's like my focus just
shifts. Nice. What track youmentioned Haskell had like very encouraged you people
who were like, I guess likenot maintenance, but like people in the
others doing the track right, Likewhat other would you consider Haskell like,
(10:46):
you know, like the best tracklike for that kind of support, Like
I mean it hascas a language doesneed support, you know if you're learning
without help. And I'm just curiousthat this like Elixir has a kind of
support. Or what's the state ofother languages in terms of you know,
the social aspect where and they havediscussions that encourages discussions. That's actually it
completely varies, but it not onlyvaries by track but also by time.
(11:07):
So at the time in twenty fifteen, the people that were doing the HESPA
track, those will be for themost part different people that do now.
So this is what open source ingeneral, like you only get to have
people for a limited amount of timebefore they try to do something else,
which is absolutely fine of course,and we always we never are I don't
know, disappointed, and so whensomebody leaves, it's completely natural. So
(11:28):
it's very hard to say what thebest track is. Of course the extra
track is great, I can Ican definitely tell you that. So we
have a lot of great mentors onmany different tracks, but it's not always
like a one to one correspondent,because they could be one mentor so we
will get into mentoring in a littlebit, but one people commenting on your
code that really takes your boxes.So the way that they talk about the
(11:48):
code is that suits you. Thereare suggestions aligned with what you would have
liked to hear, and then therewould also be people that would suggest things
that you would be like, nah, this is just not this is not
what I would like to do.And then it's the social aspect of trying
to get those two people together toin the end come up with a great
result. But there are so manydifferent opinions, and you know programs,
(12:09):
we're quite opinionated, so they cansometimes clash. But in general and over
the vast majority of cases, peopleare really pleased with just having somebody else
who is proficient in the language helpthem out with with stuff. So your
original question, I can't really saywhat's the great language. It depends on
the person, on the time,and depends on the track, so many
(12:30):
variables. Basically we'll just take aelixir from that answer. It's the best.
No, But that totally makes sense, like I said, Like,
I mean, that's a nature ofopen source. Everyone's life changes. It's
like a volunteer it's volunteer work.Like it's something that you most people do
outside of their you know, necessarytime and life changes. You have kids,
whatever, like they just at adifferent place in life. So you're
(12:54):
right, that's a very good point. And didn't think about it that way.
Yeah, so you were seeing somethingelse there. No, I was
maybe should just talk a little bitabout mentoring and how that works, because
that's one of the things that's differentfrom other places where you can like do
these little programming puzzles. So youcan work with the website online, so
you can if you want to doelixir, you can code Elixir online.
(13:16):
We have a little editor, wellnot exactly little has a lot of features,
but you can do stuff online andthe benefit for new students is that
they don't have to set up anything. And the idea being that if you
want to try it a new language, you might not want to have to
install everything, So you might notwant to install the b et cetera,
et cetera. I just want totry out the language, if the syntax
works for you, if you enjoyit, and then if you enjoy it,
(13:37):
and maybe you want to install installstuff locally, then you can work
with the Exorcism Cli, so likea command line tool that you download and
you can run locally. So that'sone part. But when you finish the
test, we are like a testdriven development usually where you get a set
of tests and your goal is tohave the implementation that you build past all
(13:58):
the tests and the way in whichyou do it. We don't care really.
As long as they pass the test, you are free to build your
code whatever way you see fit.But that's not the end, so it's
not in many or many places that'sthe end. You're done, You've checked
all the boxes, all the testsare passing. Great work, but there's
only half of it on Exorcism becauseespecially when you're learning a new language,
(14:20):
you might not the way that Ilearned has Call. I would be doing
stuff that many people would consider unidiomaticHaskell. Maybe I would write scala Ish
Haskell because I come from a Scalabackground back then, so they probably could
notice that. But what ecceism thatgives you is the ability to request mentoring.
So each track has an n numberof mentors, and those are people
(14:41):
that know the language well and theywill review and review sounds like almost like
a critique, but you can seeit as like a joint code looking at
your code with somebody else, Soit's not like a critiquing, but it's
more like, hey, have youthought about this? Maybe you can try
it like this? Did you knowthat we have this built in function?
Did you know that in general,people that programming in this language do it
(15:05):
like this? And this is thedocumentation that you can look for. So
the idea is that it's often hardto find industry standards for a language language.
So those those conventions that you getused to once you work in a
language for a couple of years,it's not always the case that you can
find stuff like that online. Somelanguages do this better than others, but
for example, for c sharp,it was for a long time not even
(15:28):
like a code naming guideline, Sothere was a book and there was a
lot of stuff that that wasn't reallyproperly available. And then helping other people
just help you and point you towardsthe right resources and the common mistakes that
you might make, especially when youcome from a different language where things can
have the same name but can dosubtly different things, and that's what trips
(15:48):
you up. So and that that'sthe mentoring part of exorcism. We're all
volunteer based, and you would justrequest somebody to look at your code and
then you have a nice little discussionand in the end you almost invariably end
up with better code than what youstarted out with. Yeah, that's very
Yeah, that's like I said,it's very unique to exism. And you
said there could be multiple mentors lookingat the code too, right like that
(16:11):
Also, like further, like yousaid, if you're not very happy with
like a particular time of suggestion,you can always like you know, reach
out to more people and I canlike either like you know, like revalidate
what you're thinking or in value.Yeah, it's really cool what's the process
to become one of these kind ofmentors though? What I mean because you
can't accept anybody right. Well,yeah, we have a like a criterion
(16:34):
where you have to have a certainamount of what street reputation, so you
have to have done a little bitof work on exorcism. But there's no
real proper vetting process or anything likethat. The idea is that students can
give mentors a feedback at the endand like a rating, so it thumbs
up thumbs down stuff, and overall, once people have done maybe I don't
(16:56):
know, tennis sessions, we weget like this rating, we can use
this, we can find the mentorsthat are just like really bad. But
in general, even if you youcan start mentoring before, you're not a
complete expert. So there's always stuffthat you can comment on, and of
course it interacting with a mentor thatis like maybe the language designer themselves might
give you more insight than somebody whohas only been doing this for a couple
(17:18):
of months, But even so theycould probably comment on your code in useful
ways. So we don't really havea vetting process except for that you have
to have a certain amount of reputationmeans that you have to have done a
certain amount of things like having soldexercises or maybe the PRS or whatever,
but any money can become a mentorbasically, Yeah, I like that.
I think it's you could add thatwedding process. But I mean it's also
(17:41):
like there is some subjectivity to thatyou want to get under that interview space,
Like it's it's not something you wantto like set interviewing people for,
Like it's a lot of things foryou to over your kind of like you
know, like take over as well. Like it's like it's a lot of
work first of all. And Idon't think it will change the results as
much either, so that it mightactually negatively influence. It might like discourage
(18:03):
people from mentoring. So I reallylike that you have maybe like a base,
like whatever credits you earn, justdo show that you know they're bought
into the platform. And yeah,makes sense. Awesome. So I'm very
curious. You said you were hiredfor this position head of open source to
build Exorcism V three through. Yeah, what is that on tail? What?
(18:25):
What is you know? What canyou tell us about that you've been
hired? You said four years?Right, what have you been building.
What are yeah? What is existent? V three? Okay, So startup
exism P One was just you submityour solution and other people can comment on
it, like it's just a freecommenting system. Anybody who can comment on
anything, which had a lot ofbenefits, but also downside where people get
(18:47):
like Internet nasty, so judgmental andmaybe rude, and people like I'm not
even going to post my solution becausepeople will be not that that's great.
So then we have launch fee twowhich aim to it this. So mentoring
between became required for you to amentor basically had to sign off on things
before you could continue. And theidea was that we re ordered the exercises
(19:10):
to have like a curriculum where youwould start up with very simple thing and
then you would move on to ordifferent things. So it was more like
we provide you with a semi optimalpath towards learning. But the mentoring sign
off was quite problematic in the endbecause there were tracks where you had to
wait maybe a couple of days beforeyou can get your feedback and you couldn't
continue, and that would just beincredibly unhelpful to students that wanted to progress
(19:34):
quickly. Even though they would geta lot of useful comments, that waiting
bit was just too much, Sowe built V three to combat that.
So the things that we introduced inV three were the online editors so that
you can code in the browser.Also, we removed that blocking mentoring check
off, but we introduced tooling tosort of do automatic mentoring. So we
(19:56):
have a couple of things to helpwith that. We have Analyzer, which
is a bit of code that looksat code for patterns and then can comment
on that. So any Elixir,I don't know, maybe you see people
not using the pipe operator and thecode could detect that and could see that,
hey, this is a series offunction calls. This could also have
been written in a way in whichyou would use the pipeline operator. So
(20:19):
it's a bit of software basically takesome of the comments and the repetitive comments
I would say for that not alwaysfund for mentors out of their hands and
into automation. So there's one thing, and we build another tool that's called
a representaor it's very specific naming forus, but it basically gives you a
source code and you sort of normalizeit's like a hash almost where you normalize
(20:44):
for example white space formating, sousing I don't know, a mix has
a format command, I think,so you do mixed format first, so
all the code will be formated thesame way. And the idea is and
that if two solutions, because alot of solutions will not be unique,
especially to a simpler exercise like leap, which have maybe I don't know,
twenty ish unique solution, there willbe more people are very creative, but
(21:08):
in general, like the majority willbe just a couple of variants. So
if you could just comment on thewhole instead of the individual cases, that
would be great. And that's wherewe use that representaers thing. Every solution
will be like hashed and then ifwe see that two solutions have the same
hash, you can comment on thathash basically, so it will apply to
all the solutions with the same hash. So you do that once and somebody
(21:30):
submits the same solution a year later, they get the comment that you added
the year before. So it's alltrying to get you to have comments without
needlessly bothering the mentors with it.I mean, I wouldn't mind being the
mentor. But then my first questionis, well, how much of a
commitment does this needed. It soundslike you're moving a lot of that quote
unquote commitment. How often do youthink mentors need to kind of contribute to
(21:51):
this kind of stuff? Is itfive hours, twenty hours, any idea?
Basically what you want? So wewould like mentors to maybe do one
or two hours a week. Somedo way more than There have been people
that have coming along tens of thousandsof solutions that are almost like this is
their side job. But if youcan just do an hour a week,
it's always helpful. Any work youdo is helpful, so you don't have
(22:11):
to go overboard. And if there'slike a couple of weeks that you can't
mentor, well, sure of coursethere will be other people. But any
help that we can get is basicallybeneficial. Yeah. I kind of think
that this role as like track contributorish not maintaining, but contributor, like
a you know, like then amentor. So I guess Ali is saying
like, you know, you wouldlike to mentor and stuff, and I
(22:33):
actually think this role and correct meif I'm like kind of mistaken, Eric,
But it's like someone who is alreadybought into the platform, who is
like who you can be confident asa regular user of the platform, right,
not necessarily like you said, likean expert in that like in an
expert category at all, someone whowould just add value to the platform,
right, Yeah, so so theywould. I think it's almost like preferable
(22:56):
to have someone with like a midtier knowledge who is more bought in the
platform and uses it regularly than likean suppose an expert who hasn't used a
platform and it's important to it andjust as like not because because retention is
a big thing, contribution engagement isa big thing there. Yeah, I
don't know, Eric, Yeah,no, there's that, there's one undercent
true and the downside of experts thatthey all feel like they're right, so
(23:18):
there's there's less leeway there usually,yeah, where if you're not doing what
they are doing, then you're doingit wrong. So it can be hard
working with people that are very veryopinionated, although of course you have experts
that that are not like that,of course, right, none of them
are mentals are like that, ofcourse stick in my mind. You know
Linus being on the seat trae,Yeah, yeah, interesting, you know,
(23:41):
he's very amated and gives very strongopinion. If you're when you're committing
here code. No, but Iunderstand that and sometimes you need that,
right. There's no such thing asnecessarily the best code. I guess there's
definitions for that, but yeah,it's it's interesting too. One thing I
also kind of popped in my mindis about like the copyright, right.
I mean, it's work of ourwhatever you want to call it. You
know, we just have a copyrightand stuff. But it's a bit my
(24:03):
code is this one? I thinkit's probably being saved somewhere, I could
say perpetually. Does it go away? Do I own the copyright? I
mean, there's some of these kindof questions are popping in my mind.
I'm not a very good in thelegal aspect, but I'm fairly certain that
you're giving the rights of your codeto us. So we don't necessarily own
the code as is. We coulddo stuff with it, but we won't
be using it for commercial purposes becausewe are a nonprofit. We're just doing
(24:26):
open source work. We don't havea corporation behind us or anything like that.
We are a formally registered nonprofit inthe UK, so you can look
us up. But now we don'ttry to make money off people's code and
or the data or whatever. We'revery privacy sensitive. The only way in
which we will use that data isto maybe help train our our like analyzers
and representers that that try to tobetter help people. But we don't sell
(24:49):
anything or like that. You know, obviously you also need help. So
maybe somebody's problems that I'm writing codefor, you're actually saying, oh,
actually I got to solve this problem. Let me just hand over to the
Exorcism guys to see if they canrecode this. You know, everybodys using
AAR to code, but you're usingyou know, you're using human humans to
code about your app. Obviously justa joke. I don't think you're doing
that, but that would be interesting. Well, this is just like problems
(25:11):
on Exorcism though, right, Likeyou can't just put like custom code there
and you know they'll fix it upfor you. No, you have a
fixed set of exercise that you canwork with and that's it. Although there
are maybe maybe you're doing what isit called mob programming or something like that,
where everybody's just pounding on the keyboardand designing the website. No,
not yet, No, maybe Ithink just to like also like Clarify.
(25:33):
Just so the the xism kind oflike owning the code potentially legal stuff.
It might sound like a little weight, but that's the case for all like
Coding Sight, like lead Code ownsthe code and they're not nonprofit code Wars
like everywhere you put your code,like any of these platforms, they own
it, even repel it, whichis like nonprofit. You you also like
(25:56):
don't own the entire right, yourforegoing that right because using their platform and
they can, you know, it'spart of the part of the service they
provide. So it is the casefor all of these. It's not exism
only just but I don't want,you know, excellent to like look bad
in this like it's it's all thetools are like that. Come on,
now, let's talk about exorcisms.I talk about other people, but I
(26:18):
just wanted to. I just wantedto make sure they don't know that.
Fine, no, no, no, they're the start of the show.
We got to just talk about themonly, right, So what else do
you guys do. Let's take alook at this tnc together, right,
yeah, no, no. Ifthere's anybody listening that is interested in this
topic, we link to our privacypolicy online and you should just read it
as we have the code and ourservice, so we have to have some
(26:40):
sort of control over it, andwe will use it to train our toolingk
to give you a better experience.But we never never sell any data or
whatever, so we don't make themoney. But there was one thing of
one V three feature which is probablythe biggest one that I haven't yet discussed,
and I did that sort of onpurpose too, because that's where Alex
really really shines and is arguably thebest example on our website, and that's
(27:03):
concept exercises. So with v Vtwo we had that reordering of the exercises,
but the exercise that we reordered,they were not really designed to help
you learn a language. They werejust like cute puzzles, so like leap
yer and et cetera, et cetera. But there was no such thing as
a designed exercise to help you learnabout I don't know streams or agents or
(27:25):
Boollians or whatever. So a lotof the people know programming, but they
no known programming in the language thatthey are now learning. So there's usually
if your complete newbie acism isn't reallyfor you, you should know your coding
idioms at least a little bit,so that might change in the future.
We have interesting stuff that we areworking on. But for V three,
what we wanted was to have,like design exercises that are specifically designed to
(27:49):
help you learn a single thing.So what are strings in Elixir? And
then the idea is that you havea curriculum, you have a syllabus.
So you start out with debate.So you have to learn how to define
a function. You have to knowhow to maybe write comments. You have
to know how to assign a valueto a variable or whatever your language calls
(28:10):
it, and then maybe return itor do maybe arithmetic. So like the
very very basics. So you dothat exercise, you get exposed to it.
You have to use those concepts becausethat's how the exercises were designed.
And then once you're done checking thetest is fine, then we say,
hey, you have now learned this. We have opened up more stuff for
you. So the next layer opensup, so then you get the slightly
(28:33):
more complex next so you maybe youmove to bullyings and bullying ex expressions or
maybe floating point numbers or whatever whatever, until you end up with maybe,
I don't know, anonymous functions oror like agents, which is very advanced
in the Elixir of course, sothat's not something that a new student should
be working with immediately and unless theyhave already have a lot of background knowledge.
(28:56):
So that's what we set out todo with V three and it's called
concept exercise or learning exercises what werenamed them because it's probably easier for people
to understand what they do. Soyou have learning exercise and practice exercises.
So learning is all about learning theconcepts and then practice exercises to put them
in practice basically, so to seehow they how can you actually work with
(29:17):
strings and maybe you can do subtlydifferent things that you didn't do with that
learning exercise, and that's what inElixer. We had a couple of lovely
maintainers, so Angelica Tiborska and Timtim hell I would say this is not
Tim Tim Austen I think they wereso great. So they really took upon
themselves to build out the most awesomesyllabus and it involves a lot of reviewing
(29:41):
on my apartment because they were soincredibly productive, and it ended up being
in one of the exemplar tracks onecodism, so it is really if if
there are new people, I veryoften point them to the Elixit tract to
show them this is how it shouldbe done. Proper structuring well written introductions
like this is a concept explaining succinctly. You don't so don't want to maybe
(30:02):
point out all the nitty gritty detailsof a feature. So if you're learning
about strings, you don't have toknow how it's implementing under the hood.
If you're starting out, maybe youhave a later exercise that goes into that.
But they did it such and insuch a great way, so I
really love what they were doing.But the downside is this has to be
custom built, so even though textcan sort of copy paste, modify,
(30:22):
it's still a lot of work becausewell, language are different. Otherwise there
would be relatively little purpose to exorcism. So we have I don't know,
maybe ten inch tracks that have aproper syllabus, maybe a little bit more,
but there are a lot of tracksthat don't have it, and that's
absolutely fine. You can still learnthe track by doing those practice exercises,
but if you the full fleds Vthree experience is with the syllabus, So
(30:48):
yeah, got a learning mode thingthere's a learning mode like badge on some
sanguages. That's what that is.That is, Yeah, yeah, it's
it's a huge feature as a mentorin some of some of my groups.
I have a part of a fewmentorship groups, and of them like recommend
doing the learan track in Exorism.At this point, I know, I
think it might some of the earlyones might be a little too basic,
but I think it still gets yourconfidence up. And you know, I
(31:10):
think you have enough examples. OneI haven't done. This is like after
I stopped doing Exorism, all ofthese things came out and I was helping
one of my mentees and there wasa few process problems, like you could
have a gen server, you couldeven use a gen server or just a
process and that problem, and likethe tests were written such that, oh,
if you're using a gen server,it would test for a presence of
(31:32):
a gen server. And I thinkit's pretty cool, Like you know that
you have the same problem, butif for the loan syllabus, it enforces
you doing it a certain way andstuff like that, it's really cool.
I was very impressed. And yeah, I think I don't know if there's
like tools that teach you gen serverand some of these like ELEXA concepts at
(31:52):
this level, and I know exorcismALEXA track doesn't have like you know,
all of it yet and I'm sureyou guys are working on it, but
it's whatever it has. Also,like there's no platform that has that.
It was very useful, especially becausethat's like a that's a process as soon
as you learn ALIXA, right.I have noticed a lot of people when
they learn Alexa, they credit toget into phoenix it, you know,
do like keep themselves silent into theselike simple for lack of white simple projects
(32:16):
or non concurrent projects and the OTPgen server sort of that remains a black
box for x X number of years. But having that as part of your
syllabus, like I think it's liketowards the end or somewhere towards the end.
I can't get exactly. M Yeah, having that as part of syllabus
encourages them to be like, Okay, I am qualified or I am at
(32:36):
a point where I should be ableto do this now, and you know,
it encourages them to like start likedemystifying that. I really like that
about that syllables thing. Yeah,it's very easy to have like blind spots
in a language where you just youkeep on doing the stuff that you know,
especially with languages that are changing alot. So languages change in different
ways. But if you would doI don't know Java seven and you would
do Java twenty one, it's likea big difference. I used to have
(33:00):
all sorts of preconceptions a by Jovabecause I had done it in university,
which is way back year, andI was really I didn't like job,
I fully admit it, but nowI had to sort of relearn Java a
little bit. It was like,wow, this is not the same language
anymore. So it's completely different,and I could have easily use the same
things that I already know because wellit's still back was compatible. I think,
(33:22):
so anything that I had learned backin the day would still work,
but I would miss out on somuch. And that's why having just the
syllables and so that you can seethis is there that can already already help,
and then of course learning about themand why the exercise can help too.
So yeah, that's really cool.Yeah, I think all these speeches
are like really amazing. I thinkI think the mentorship, the way you
(33:43):
talked about it for V three likenot waiting on a mentor mentor's approval or
whatever, and especially the syllables likelearn aspect of it. Yeah, it's
that stuff, and that's probably theunique selling point in my opinion for Excess
And right now I think, yeah, awesome. So I guess, like
we're approaching. Then I want toknow, like what what's in the roadmap,
(34:04):
like what else is coming? Itcould be I guess, like,
I mean, if you have somethingspecific to atract to be great too.
But I think generally as a platform, like what what are the features you're
looking for that you can talk about? I think, well, we will
still are trying to do in thefuture, is to have a platform where
you can learn programming, if whereyou don't have any of the background knowledge,
so you you start out with zeroprogramming knowledge and you slowly build up
(34:28):
your skills, and then the ideais that you could you could learn that
via and exorcism like to although withwell, there will be a lot of
different features, but something like thatwe would really love to build. Other
than that, what I can talkabout, it's it's very hard. We
will keep on adding new languages,so that's actually it used to being quite
static, so occasionally we would havea new language. But somehow we now
(34:50):
have a we have a form wherepeople can discuss things. People start getting
more enthusiastic about building these things,and we have much better documentation nowadays,
so it's easier to get started buildinga new track. So we see lots
of new languages being added, andlanguage I hadn't heard of at all.
I don't know if you've ever heardof pirates. No, okay, well
that's added. And we have peopletaking old languages too, so we have
(35:12):
we have Cobol for example, wehave four truands well the fourtron is still
used of course in Cobol too,but very niche new languages. I'm not
building together with somebody else, anR two er track, which is a
stack based track. We have.We have a ton of really interesting languages,
and people start building these quicker andquicker because it's apparently it's easier now
for them, which makes me goodbecause I wrote a lot of the documentations,
(35:37):
so there wasn't for nothing, andyeah, no, I think just
having so many different tracks and thatin the future we would love to have
something where if you would progress fromone track to another track, that we
could sort of use your background knowledge. So if you come to Sea Shore
from a Java background, a lotof what you know is really really valid,
but there are a couple of thingsthat you need to know, so
(35:58):
we could maybe do a bit ofmore like cross off things from the syllabus
or maybe only highlight the things nicestuff like that. Something we would really
love to maybe at one point havesomething like translating content, but that's really
a hard problem because we have somany different things. But with AI that
becomes maybe more useful because well chetGPT four oh is quite quite nice in
(36:20):
translating stuff, but it's still alot of content and it's rapidly changing too,
so we would need to account forthat fact. But yeah, that's
what I was thinking in my headis like, like you said, the
mentors, right, they don't needthey may not always have time, right,
So is there been an effort touse chet TPT or something else to
actually start to valuid code. Yeah, so if you are an exorcism,
(36:43):
you can have a difficult premium.We changed the name. I forgot the
name, sorry, but you cansponsor us. Basically we rely on sponsorship
of people for our income. Soif you sponsor us for a little bit,
then you get access to jet GPTintegration, where you can ask questions
via JETDPT without having to confer witha mentor. I've USEDTPT a lot myself,
(37:04):
and it's so dependent on the languagewhether or not you you get used
for output. I still have alot of hate relationship with l lms,
so it can be incredibly useful,but it can also be very frustrating that
just doesn't really get it. Soyeah, we do have a little bit
of that, and I expect thatwill be more in the future because they
would just keep on getting better.I guess, yes, that's really cool.
I think I think it exorism insiders. I think that's probably. Yeah,
(37:29):
it's very hard. The reason whyI do it is I were dark
mode and it's okay, yeah,that's that's that's a cool feature too.
But yeah, all of this issuper exciting. Eric, thanks so much
for i mean coming here and sharingit, and thanks so much for you
know, all the work you guysare doing it, you know, providing
this kind of a tool for free, you know, being a nonprofit and
(37:50):
you know, like it adds alot to the community. It's being used
heavily at least I mean I personallydon't use it, but I know i'm
myself and my friends to mentor others, they use it heavily. This is
like one of our tools that welike recommend to people who want to learn
LICKS right away and to those whoare listening. I know a lot of
our listeners are big in this,And just last week I got an email
from one of our listeners like,hey, what are some of the you
(38:14):
know, suggestions to learn LICKS?And I again said Exorcism, like and
it's it's it's great, like likejust a week later we have this recording.
This will probably go like three weeksafter we're recording right now, but
it's like it happens very often.I'm sure Alan gets emails as well from
our listeners like how could how tolearn licks? You know what did you
get a job? Well, wehave a great track, like you can
(38:35):
start from like you know, verybasics, and yeah, like I said,
having some knowledge of programming is good, but my wife started from scratch
and shared Exorcism for Ruby and Alixir, and she had zero coding experience,
nothing, and you know, youknow, she got a job in a
couple of months, just yeah exorcism, And obviously she also had an interview
boot camp on top of it thathelped a lot. But having done these
(38:57):
these kind of like coding problems,gain confidence and have like a vetted syllabus
that you know, helps you getto a more confident like place where you
can call yourself, Oh, I'man Alexa developer like that. That is
super important. So again, thanksfor everything Axism is doing. Really appreciate
that. Yeah, our pleasure.There's always those stories where sometimes you forget
(39:19):
that you're doing this for actual people, can just get boged down in the
technology itself and then you get thisemail from somebody was life changing. So
they got a job with somebody waslike they were homeless, and at some
point they find their exposure to ecorism, they learned closure really well. Now
they have a proper job and theyhave a house, and it's like you
can really make an impact. Andsometimes it's easy to forget that. I'm
(39:40):
definitely I do forget it too much, but sometime you have to sort of
pause and appreciate what it can alsodo for people and completely change lives.
Although that sounds really dramatic. Ofcourse, a lot of people like myself
is just fun, but for somepeople it can really change things. So
yeah, I mean, I don'tthink it sounds dramatic at all. I
think everyone needs to like fulfill thatdesire to want to do good to the
(40:01):
world, and I think this Ithink. I mean, I can't even
imagine how many emails you get,but I have seen people who have really
benefit from exicism. And yeah,again, thank you so much for the
entire team. A don do youwant to add anything before? My question
is, weren't even to write thisplatform in Elixtra like it should be.
That's my question. Maybe we wouldhave chosen differently if we would start it
(40:22):
right now. We've definitely talked aboutusing a elixture for tooling of us.
We haven't yet done it, Ihave to admit, but I absolutely love
Elixtura as a language too and asas a platform and how it exposed.
It also helps popularize functional program sothat's always something I really enjoy. And
other than that, it has alot of stylistic choices that I really really
like. We do these weekly videoswhere we take one exercise, we have
(40:45):
a challenge forty eight and twenty four, so forty eight different exercises and each
week we feature one and there arethree feature tracks that you solve them in.
We have a video where we justtry to discuss all the different ways
in which you can solve it.And we read very very regular feature elixi
because they're always just this. It'sdifferent than other languages. It offers a
(41:06):
lot of stuff that other lens don'tand the guard clauses it's just really really
cool. So we feature liks fora lot. Awesome. Well, hopefully
hopefully some of the next two skarybuilt in Alexa. But even if it's
not, like, having such agood track is such a it's a great
contribution to the community. Awesome.I guess Eric, if you have nothing
else to share, we can moveto pis. Yeah. Sure, Alan,
(41:28):
they want to go first. Yeah, you know, I sponsored this
bag. Have you guys ever heardof orbit Key? I think maybe Addie
you have the company. Okay,maybe it was somebody else I'm confusing with,
but so it's a company called orbitKey. They make some kind of
interesting stuff, like designer kind ofthing, but some interesting kind of design
method of it, so like,for instance, actually have it over here,
so this is like my key ring. Now it's kind of interesting.
(41:51):
You probably a keys on here.You guys can't see at home obviously if
you're listening. But anyways, whatI like about is that usually I just
put, like you know, thetraditional key ring put in my pocket,
scratches up all my stuff. Igot this orbit Key thing. It's works
pretty well, you know, itkind of keeps myself organized. But what
I wanted to say is that theycame out with this thing. I think
I think it was finally released.I was a background it and it's called
orbit Key two in one tech pouch. I don't know about you guys,
(42:14):
but sometimes I'm switching bags, andso what I wanted was just something I
could put my most common stuff inso I could just you know, if
I want to change bag, Ijust changed that bag. It comes with
this interesting desk pouch, so youput your stuff usually work with in the
desk pouch. The desk pouts comesout of the big pouch and you can
kind of put on your desk andpack away. I see Audi's face.
I'm not sure if he's excited ornot, like confused. No, I'm
(42:35):
just I'm just like it's always funnywhen people come up with so problems I
don't even know existed problem. Yeah, but I mean what it came down
to was like I bought this orbitkey box and it's just too small.
Like he's a tech guy, yougot tons of wires. Everything's got its
own wire. Thank after USBC,we're getting closer. But but so the
problem with USBC now is not aboutfinding the right connector right now is do
(42:59):
you have enough? That's the issueI have now. So now I'm just
jamming cables in there for any case. What I want to say was like,
it's just perfect size for me.I could probably use a little bit
bigger, but in general, likemostly everything I want to carry with fits
inside. The way it works ispretty cool, so I'm pretty happy about
it. I just came in forme like last week, so yeah,
I just want to say, checkit out. It's pretty interesting things.
So if you like me, gottakeep switching bags, take a look at
(43:22):
it. Yeah. Now I didn'tmention it. I do remember you're picking
the key a few months ago,So yeah, I didn't runin the name.
But it's very very cool. It'snot a problem I'm familiar with,
but I'm sure people have that problem. That's really cool, Eric, you
gotta pick for us, so Icould be anything, right, anything,
Yes, So my picks would beadaptations of games. So I used to
(43:43):
I'm quite a movie I was amovie addict, but I'm not anymore because
I don't have the time. SoI tried to pick my series because I
like watching series now because I cansplit it up. But gaming adaptations will
always really really awful. Although Ihave a soft spot for the Mortal Come
Met movie, but like Street Fright, I really didn't like that. But
now there are just a couple ofreally really excellent adaptations. So I've watched
(44:05):
the Last of Us and another bigzombie fan, but the Last of Us
was excellent, and then I triedfall Out and to my big surprise,
that was fantastic too, So Iwas like, if you're into if you
know those games, do check outtheir adaptations too. So I really love
it, and I love them morethan the games actually, so plus one
plus one, especially to the Falloutpick. I just watched it last weekend
(44:27):
read a long weekend in the US, and my wife and I watched it
on Friday. We just like benshit and it made me want to replay
fall Out four and that's I justlept for like ten hours the entire weekend.
I just played forllart four. It'sthe series is so good and yeah,
it's really awesome. Plus one ofthat pick, I actually got a
couple more picks too on top ofit. Or want to give a shout
out to CROXEO again last last Ithink a couple of weeks ago I mentioned
(44:52):
they are looking for offering mentorship.There's also you can take like a training
course, which is obviously paid,but they have this like mentorship session that
goes on a weekly cadence. Ijoined every now and then as one of
the mentors. But they taken peoplefrom like underrepresented groups. So if you're
listening and you're one of them,you want to learn ALIXA hit me up
or you can you know, hitBruce State up. Bruce State leads them.
(45:14):
So yeah, it's great. Oneof the things to do in the
sessions is exorcism. But you getto you know, ask your questions to
your mentors. You know, theyhelp you with like finding jobs. I
mean knowing Bruce State is like it'slike I don't know that to me,
Like Bruce State is like very highin the celebrity list. Like if in
one room there's tale Is Swift,in another room there's Bruce Date. I'll
probably go and talk to Bruce Stateand get his autograph even though I already
(45:36):
have it. But yeah, sohave having access to someone like that and
having like mentors who are in thatgroup will not only help you feel more
confident and learn it looks a better, but also will you know, connections
are very important to get jobs andstuff. So yeah, if you're from
one of the underrepresented COMMU groups,you probably know if you are, so
hit me up, hit Bruce Stateup. If you're not from one of
them, you still want that mentorship, and there's a paid one. It's
(45:59):
on Drock grox do. Iow it'sa very good training session. I haven't
done it, but I know peoplewho have done it and they really like
it. It's called Professional Alexair slashOTP and it starts in July, but
you can start signing it up fornow. It's two days or three days
something like that, but they covereverything and like kind of once you're part
of the groxy community, you arealways for life out of grossy community.
(46:22):
That's something Bruce State says, So, yeah, a great way to build
connections and learn Alixir. Another pick, I just kind of picked it.
I didn't know what pirate. Ericjust mentioned it. I just quickly quickly
check it out as a functional programminglanguage, and it looks quite interesting.
I'm definitely going to try it,and you know, a great time for
me to also get try to getback into exorcism. I'll probably like try
(46:43):
out the practice a few exercises there, and the language looks interesting. So
yeah, like I said, there'sseventy plus languages not aspired, like if
you want to try languages, isclean track as well. And I also,
yeah, that's and they also havea learn I didn't realize that they
have a learning a syllabus. SoGleam is an amazing language. One of
my favorite people is the creator ofgleam. Louis is such an awesome person.
(47:07):
Yeah, so yeah, prior toGleam, I mean, just just
check out exercision. You know,we have we had we had some raxism.
It's a great reminder that's such atool exists in the community to check
it out. That's my other pick. All right, So I think that's
it for today. Eric goes greathaving you. I'm sure we'll have you
again in the future when there's moreupdates and step from Mexicism. Yeah,
thanks for the time and again thanksfor everything you guys. Doo. Yeah,
(47:29):
thanks for having me. It's mypleasure. All right. That's it
for today, guys, We'll seeyou next week. Bye.