Hey, everyone, welcome to another episode of Alex a Mix. This is
your host Addie Anger, and today on the panel we have Alan Weimer.
Hello Audie, and I just want to say you sound very excited to be
here, man, I have. Yeah, I am, because you know,
I get to repay you hosting so many times in a row. You
know, I don't like having debt on my shoulders. And also I'm super
excited because we have amazing guests with the boom, Eric scare boom. I
hope my Froun's that right, Eric, Yeah, that's absolutely fine. Well
done, Prigs. I was a bit 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
the listeners have used it. And yeah, we're super excited to have Eric
here and kind of dig into what he does in Exorcism book Mark. I'm
really glited to be here. So awesome. It's like usually what we do
in this, you know, when you have a guest, we kind of
go over you know, their background, and you know, maybe give an
introduction. But I think your introduction is probably better given by yourself, because
I would love to know what kind of background you have to lead to this
kind of a unique title head of open source and I want to take into
that as well. But let's get started with like how did you get involved
with excess and kind of when around when did you get start, you know,
being involved with exorism. So I was working at the University of Naimesha
at the time, and we had a very generous budget to have available for
learning resources for like courses, et cetera. So I was always trying to
learn new stuff. I was doing c sharp at the time, and I
had heard of functional programming, but I didn't really know it. So a
colleague of mine found a course online of cours serah dot org. It was
free back in the days. Now it's paid, but it was given by
Martin Oderski, who's the main author of the Scala language. It was one
of the more popular function langue at the time, and we were like,
oh, maybe we could try this course and see if it is anything that
we that we liked. And I absolutely loved it. I loved functional programming.
Of course, there's this bit where you have to sort of get used
to all the new idioms. So it 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
form where all the students could ask questions, and I asked, well,
if I wanted to do more skal I 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 track and I was like, wow, this
is really really cool and I love functional programming, so let's try Haskell.
So I have sort of a deep dive. I definitely struggled quite a lot,
but where I was getting unstuck was because of all the lovely helpful people
commenting on my solutions, saying well have you looked into this, you could
do this that way, et cetera, et cetera things, and I never
came up with myself. So I was like, oh, these people have
all helped me, maybe I can also give back. I know c sharp,
so why not join the sea sharp track. 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. Maybe I can help build the track too,
so I add new exercises improve the existing ones. And I had just started
dabbling in open source a bit, so I quite like that open source aspect
of it, and it was like, maybe I can have my own bit
of open source where I'm not just contributing a bit to other people's projects,
but just having a bigger influence. And that was all fine, and they
were like, yeah, go for it. So I was almost given like
free reign. So that was really amazing 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,
I love function program. Let's try f sharp. So I then took
on the f sharp track. And once you started doing more tracks use you
get into the territory where we have like 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 with a lot of other people too, some
other track maintainers. So I sort of became a well known ish because I
was involved in all these discussions and doing open source stuff also to stuff that
they were would be using. And then at some point, I think it
was actually during COVID time, but just before COVID time, and Jeremy Walker,
one of the co founders, he asked me if I was interested in
helping build out EXORCISTMV three and I was like, well, yeah, that
actually cool. Though I did have to sort of get used to being alone
because we are not based on in an officer of something like that. We're
all promote so that was quite a thing for me. But I was well
prepared for the COVID pandemic because I was already working at home a time that
was sort of like a benefit. How they asked me, Wow, so
and what year was this like when you initially started started the sculptrick. I
think in twenty fifteen, Oh wow, very early, Yeah, they were
it was two years old or something like that, and like the very first
user or anything, but and then probably 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 twenty twenty when I actually joined. That's awesome,
Yeah, very cool. So I guess before getting into a current role,
like what kind of responsibilities did you have as you said a track maintained
role, right, like what you said, like there was a shared repo,
you'd make sure the questions are you know, the problems out there and
like every language, like what does that entail? Because I imagine, you
know, as you add more new languages, and I'm sure that's still in
process, you might need more candidates. And I'm just curious, like if
any of the listeners they want to Alan's like showing us as well either,
but I kind of wanted to give our listeners some insight into you know,
what type of work to track maintenance do or if they want to help out,
you know, just what can they like expect Well, it sort of
depends on what you like. It also depends on the other track maintainers what
they expect of you. It's it's not like there's a like a format you
have to fill out and you have to check this box that box. So
it's not really like that. It's usually it's it's word of mouth. So
when we see people that have been doing positive work, having contributions that work
that we value, people that are enthusiastics that learn, then we usually ask
them. It is rarely that people ask us, can we can I be
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 we were like, sure, but someone has
to build it. We see you and and often people were like, oh,
okay, yeah, sure, and then we have documentation of course to
help people with that. But for my the short track was well, it
was in a reasonable state, but it definitely didn't have a lot of exercises,
so I sort of made it my goal. 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 the shared 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 like eighty exercises or so, so quite a
lot. And then like I'm a programmer, 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 the shared exercises I all have adjacent structure with
it. So like consider the exercise leap. So leap is about detecting whether
or not something as a leap here. So you get pasted in the number
you have to return a booleon simple enough. But we have a canonical data
dot Jason file, so that lists all sorts of like test cases, so
it will be like two thousands and then the expected answer is well true or
whatever. So tracks don't have to come 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 the edge cases, et cetera, et cetera,
et cetera. But I was like, this is Jason. I'm a
programmer. Why can't I just convert Jason into sea Sharp. So that's why
I built a tool when we call them test generators. Other people had done
that too, and I went way overboard. So like you can add a
class and it would automatically automatically do a lot of stuff and you get output
a c sharp test file, and that would save me a lot of work.
Especially when you want to update your exercise, you could just rerun the
generator on the latest data. Nice, but it was a big undertake,
but something like it was a proper engineering problem. And that's what I really
loved. And I had other people too working with me, not that many.
I would prefer more, but it was still fun to build stuff with
other people together. And that's also part of the reason why I kept on
doing exercise and work, because you were building things with each other. It's
like the social aspect of it's like that was so great. So interacting with
very clever people. There were people that were way more clever than I am,
so I loved interacting with them and like, oh wow, that's that's
so interesting. How can you even come up with that? I couldn't for
the life of me. But so I really enjoyed that. That's awesome.
Yeah, there aren't very many opportunities. I guess these days it's like a
bit easier, but at least like twenty fifteen sixteen, there weren't very many
opportunities to interact with people like in a social way, for for coding,
and yeah, it's it's such an important aspect of growing and like kind of
bursting a bubble. Like you could like live in a small bubble of like
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 considering them the benchmark. But it's important.
It's to burst your bubble. And like see, you know, there's
like crazy people. They operate at a level that you can't even comprehend almost,
you know sometimes, and it's just it's I love platforms that kind of
like encourage that kind of you know, interaction and like you know, and
some people might be good at some other 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 is really 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 of features. You said you did maintain C
sharp and F sharp track, and you did Haskell track. Have you done
any other? Have you done the Elixa track? We have to ask that
question. Have you done the Elixa track on Exorcism? Yeah, yeah,
I've done the majority. I haven't finished it completely. I'm not actually sure
how many tracks have there, but I've done at least twenty years. Oh
wow. Yeah, so I'm definitely the definition of a public lot. I
love learning new languages. There's also this that found because every time I see
new language, I want to learn that. So it's like my focus just
shifts. Nice. What track you mentioned Haskell had like very encouraged you people
who were like, I guess like not maintenance, but like people in the
others doing the track right, Like what other would you consider Haskell like,
you know, like the best track like for that kind of support, Like
I mean it hascas a language does need support, you know if you're learning
without help. And I'm just curious that this like Elixir has a kind of
support. Or what's the state of other languages in terms of you know,
the social aspect where and they have discussions that encourages discussions. That's actually it
completely varies, but it not only varies by track but also by time.
So at the time in twenty fifteen, the people that were doing the HESPA
track, those will be for the most part different people that do now.
So this is what open source in general, like you only get to have
people for a limited amount of time before 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 when somebody leaves, it's completely natural. So
it's very hard to say what the best track is. Of course the extra
track is great, I can I can definitely tell you that. So we
have a lot of great mentors on many 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 little bit, but one people commenting on your
code that really takes your boxes. So the way that they talk about the
code is that suits you. There are suggestions aligned with what you would have
liked to hear, and then there would 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 to in the end come up with a great
result. But there are so many different opinions, and you know programs,
we're quite opinionated, so they can sometimes clash. But in general and over
the vast majority of cases, people are really pleased with just having somebody else
who is proficient in the language help them out with with stuff. So your
original question, I can't really say what's the great language. It depends on
the person, on the time, and depends on the track, so many
variables. Basically we'll just take a elixir from that answer. It's the best.
No, But that totally makes sense, like I said, Like,
I mean, that's a nature of open 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, necessary time and life changes. You have kids,
whatever, like they just at a different place in life. So you're
right, that's a very good point. And didn't think about it that way.
Yeah, so you were seeing something else there. No, I was
maybe should just talk a little bit about mentoring and how that works, because
that's one of the things that's different from other places where you can like do
these little programming puzzles. So you can work with the website online, so
you can if you want to do elixir, you can code Elixir online.
We have a little editor, well not exactly little has a lot of features,
but you can do stuff online and the 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 not want to install the b et cetera,
et cetera. I just want to try out the language, if the syntax
works for you, if you enjoy it, and then if you enjoy it,
and maybe you want to install install stuff locally, then you can work
with the Exorcism Cli, so like a command line tool that you download and
you can run locally. So that's one part. But when you finish the
test, we are like a test driven development usually where you get a set
of tests and your goal is to have the implementation that you build past all
the tests and the way in which you 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's the end. You're done, You've checked
all the boxes, all the tests are passing. Great work, but there's
only half of it on Exorcism because especially when you're learning a new language,
you might not the way that I learned has Call. I would be doing
stuff that many people would consider unidiomatic Haskell. Maybe I would write scala Ish
Haskell because I come from a Scala background back then, so they probably could
notice that. But what ecceism that gives you is the ability to request mentoring.
So each track has an n number of mentors, and those are people
that know the language well and they will review and review sounds like almost like
a critique, but you can see it as like a joint code looking at
your code with somebody else, So it's not like a critiquing, but it's
more like, hey, have you thought about this? Maybe you can try
it like this? Did you know that we have this built in function?
Did you know that in general, people that programming in this language do it
like this? And this is the documentation that you can look for. So
the idea is that it's often hard to find industry standards for a language language.
So those those conventions that you get used 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. Some languages do this better than others, but
for example, for c sharp, it was for a long time not even
like a code naming guideline, So there was a book and there was a
lot of stuff that that wasn't really properly available. And then helping other people
just help you and point you towards the right resources and the common mistakes that
you might make, especially when you come from a different language where things can
have the same name but can do subtly different things, and that's what trips
you up. So and that that's the mentoring part of exorcism. We're all
volunteer based, and you would just request somebody to look at your code and
then you have a nice little discussion and in the end you almost invariably end
up with better code than what you started 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 looking at the code too, right like that
Also, like further, like you said, 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 can like 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 of mentors though? What I mean because you
can't accept anybody right. Well, yeah, we have a like a criterion
where you have to have a certain amount of what street reputation, so you
have to have done a little bit of work on exorcism. But there's no
real proper vetting process or anything like that. The idea is that students can
give mentors a feedback at the end and like a rating, so it thumbs
up thumbs down stuff, and overall, once people have done maybe I don't
know, tennis sessions, we we get like this rating, we can use
this, we can find the mentors that are just like really bad. But
in general, even if you you can start mentoring before, you're not a
complete expert. So there's always stuff that you can comment on, and of
course it interacting with a mentor that is like maybe the language designer themselves might
give you more insight than somebody who has only been doing this for a couple
of months, But even so they could probably comment on your code in useful
ways. So we don't really have a vetting process except for that you have
to have a certain amount of reputation means that you have to have done a
certain amount of things like having sold exercises or maybe the PRS or whatever,
but any money can become a mentor basically, Yeah, I like that.
I think it's you could add that wedding process. But I mean it's also
like there is some subjectivity to that you want to get under that interview space,
Like it's it's not something you want to like set interviewing people for,
Like it's a lot of things for you 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 I don't think it will change the results as
much either, so that it might actually negatively influence. It might like discourage
people from mentoring. So I really like that you have maybe like a base,
like whatever credits you earn, just do show that you know they're bought
into the platform. And yeah, makes sense. Awesome. So I'm very
curious. You said you were hired for this position head of open source to
build Exorcism V three through. Yeah, what is that on tail? What?
What is you know? What can you 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 submit your solution and other people can comment on
it, like it's just a free commenting system. Anybody who can comment on
anything, which had a lot of benefits, but also downside where people get
like Internet nasty, so judgmental and maybe rude, and people like I'm not
even going to post my solution because people will be not that that's great.
So then we have launch fee two which aim to it this. So mentoring
between became required for you to a mentor basically had to sign off on things
before you could continue. And the idea was that we re ordered the exercises
to have like a curriculum where you would start up with very simple thing and
then you would move on to or different things. So it was more like
we provide you with a semi optimal path towards learning. But the mentoring sign
off was quite problematic in the end because there were tracks where you had to
wait maybe a couple of days before you can get your feedback and you couldn't
continue, and that would just be incredibly unhelpful to students that wanted to progress
quickly. Even though they would get a lot of useful comments, that waiting
bit was just too much, So we built V three to combat that.
So the things that we introduced in V 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 to sort of do automatic mentoring. So we
have a couple of things to help with that. We have Analyzer, which
is a bit of code that looks at 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 the code could detect that and could see that,
hey, this is a series of function calls. This could also have
been written in a way in which you would use the pipeline operator. So
it's a bit of software basically take some of the comments and the repetitive comments
I would say for that not always fund 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 for us, but it basically gives you a
source code and you sort of normalize it's like a hash almost where you normalize
for example white space formating, so using 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 the same way. And the idea is and
that if two solutions, because a lot 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 will be more people are very creative, but
in general, like the majority will be just a couple of variants. So
if you could just comment on the whole instead of the individual cases, that
would be great. And that's where we use that representaers thing. Every solution
will be like hashed and then if we see that two solutions have the same
hash, you can comment on that hash basically, so it will apply to
all the solutions with the same hash. So you do that once and somebody
submits the same solution a year later, they get the comment that you added
the year before. So it's all trying 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 question is, well, how much of a
commitment does this needed. It sounds like you're moving a lot of that quote
unquote commitment. How often do you think mentors need to kind of contribute to
this kind of stuff? Is it five hours, twenty hours, any idea?
Basically what you want? So we would like mentors to maybe do one
or two hours a week. Some do way more than There have been people
that have coming along tens of thousands of solutions that are almost like this is
their side job. But if you can just do an hour a week,
it's always helpful. Any work you do is helpful, so you don't have
to go overboard. And if there's like a couple of weeks that you can't
mentor, well, sure of course there will be other people. But any
help that we can get is basically beneficial. Yeah. I kind of think
that this role as like track contributor ish not maintaining, but contributor, like
a you know, like then a mentor. So I guess Ali is saying
like, you know, you would like to mentor and stuff, and I
actually think this role and correct me if I'm like kind of mistaken, Eric,
But it's like someone who is already bought into the platform, who is
like who you can be confident as a regular user of the platform, right,
not necessarily like you said, like an expert in that like in an
expert category at all, someone who would just add value to the platform,
right, Yeah, so so they would. I think it's almost like preferable
to have someone with like a mid tier knowledge who is more bought in the
platform and uses it regularly than like an suppose an expert who hasn't used a
platform and it's important to it and just as like not because because retention is
a big thing, contribution engagement is a big thing there. Yeah, I
don't know, Eric, Yeah, no, there's that, there's one undercent
true and the downside of experts that they all feel like they're right, so
there's there's less leeway there usually, yeah, where if you're not doing what
they are doing, then you're doing it wrong. So it can be hard
working with people that are very very opinionated, although of course you have experts
that that are not like that, of course, right, none of them
are mentals are like that, of course stick in my mind. You know
Linus being on the seat trae, Yeah, yeah, interesting, you know,
he's very amated and gives very strong opinion. If you're when you're committing
here code. No, but I understand that and sometimes you need that,
right. There's no such thing as necessarily 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 mind is about like the copyright, right.
I mean, it's work of our whatever you want to call it. You
know, we just have a copyright and stuff. But it's a bit my
code is this one? I think it'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 kind of questions are popping in my mind.
I'm not a very good in the legal aspect, but I'm fairly certain that
you're giving the rights of your code to us. So we don't necessarily own
the code as is. We could do stuff with it, but we won't
be using it for commercial purposes because we are a nonprofit. We're just doing
open source work. We don't have a corporation behind us or anything like that.
We are a formally registered nonprofit in the UK, so you can look
us up. But now we don't try to make money off people's code and
or the data or whatever. We're very privacy sensitive. The only way in
which we will use that data is to maybe help train our our like analyzers
and representers that that try to to better help people. But we don't sell
anything or like that. You know, obviously you also need help. So
maybe somebody's problems that I'm writing code for, 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 can recode this. You know, everybodys using
AAR to code, but you're using you know, you're using human humans to
code about your app. Obviously just a joke. I don't think you're doing
that, but that would be interesting. Well, this is just like problems
on Exorcism though, right, Like you can't just put like custom code there
and you know they'll fix it up for you. No, you have a
fixed set of exercise that you can work with and that's it. Although there
are maybe maybe you're doing what is it called mob programming or something like that,
where everybody's just pounding on the keyboard and designing the website. No,
not yet, No, maybe I think just to like also like Clarify.
Just so the the xism kind of like 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 owns the 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, which is like nonprofit. You you also like
don't own the entire right, your foregoing that right because using their platform and
they can, you know, it's part of the part of the service they
provide. So it is the case for 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 the tools are like that. Come on,
now, let's talk about exorcisms. I talk about other people, but I
just wanted to. I just wanted to make sure they don't know that.
Fine, no, no, no, they're the start of the show.
We got to just talk about them only, right, So what else do
you guys do. Let's take a look at this tnc together, right,
yeah, no, no. If there's anybody listening that is interested in this
topic, we link to our privacy policy online and you should just read it
as we have the code and our service, so we have to have some
sort of control over it, and we 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 the money. But there was one thing of
one V three feature which is probably the biggest one that I haven't yet discussed,
and I did that sort of on purpose too, because that's where Alex
really really shines and is arguably the best example on our website, and that's
concept exercises. So with v V two 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 were just 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 learn about I don't know streams or agents or
Boollians or whatever. So a lot of the people know programming, but they
no known programming in the language that they are now learning. So there's usually
if your complete newbie acism isn't really for 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 are working on. But for V three,
what we wanted was to have, like design exercises that are specifically designed to
help you learn a single thing. So what are strings in Elixir? And
then the idea is that you have a curriculum, you have a syllabus.
So you start out with debate. So you have to learn how to define
a function. You have to know how to maybe write comments. You have
to know how to assign a value to a variable or whatever your language calls
it, and then maybe return it or do maybe arithmetic. So like the
very very basics. So you do that exercise, you get exposed to it.
You have to use those concepts because that's how the exercises were designed.
And then once you're done checking the test is fine, then we say,
hey, you have now learned this. We have opened up more stuff for
you. So the next layer opens up, so then you get the slightly
more complex next so you maybe you move 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 or or like agents, which is very advanced
in the Elixir of course, so that's not something that a new student should
be working with immediately and unless they have already have a lot of background knowledge.
So that's what we set out to do with V three and it's called
concept exercise or learning exercises what we renamed them because it's probably easier for people
to understand what they do. So you have learning exercise and practice exercises.
So learning is all about learning the concepts and then practice exercises to put them
in practice basically, so to see how they how can you actually work with
strings and maybe you can do subtly different things that you didn't do with that
learning exercise, and that's what in Elixer. We had a couple of lovely
maintainers, so Angelica Tiborska and Tim tim hell I would say this is not
Tim Tim Austen I think they were so great. So they really took upon
themselves to build out the most awesome syllabus and it involves a lot of reviewing
on my apartment because they were so incredibly productive, and it ended up being
in one of the exemplar tracks on ecodism, so it is really if if
there are new people, I very often point them to the Elixit tract to
show them this is how it should be done. Proper structuring well written introductions
like this is a concept explaining succinctly. You don't so don't want to maybe
point out all the nitty gritty details of a feature. So if you're learning
about strings, you don't have to know how it's implementing under the hood.
If you're starting out, maybe you have a later exercise that goes into that.
But they did it such and in such a great way, so I
really love what they were doing. But the downside is this has to be
custom built, so even though text can sort of copy paste, modify,
it's still a lot of work because well, 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 a proper syllabus, maybe a little bit more,
but there are a lot of tracks that don't have it, and that's
absolutely fine. You can still learn the track by doing those practice exercises,
but if you the full fleds V three experience is with the syllabus, So
yeah, got a learning mode thing there'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 mentor in some of some of my groups.
I have a part of a few mentorship groups, and of them like recommend
doing the learan track in Exorism. At this point, I know, I
think it might some of the early ones might be a little too basic,
but I think it still gets your confidence up. And you know, I
think you have enough examples. One I haven't done. This is like after
I stopped doing Exorism, all of these things came out and I was helping
one of my mentees and there was a few process problems, like you could
have a gen server, you could even use a gen server or just a
process and that problem, and like the tests were written such that, oh,
if you're using a gen server, it would test for a presence of
a gen server. And I think it's pretty cool, Like you know that
you have the same problem, but if for the loan syllabus, it enforces
you doing it a certain way and stuff 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 server and some of these like ELEXA concepts at
this level, and I know exorcism ALEXA track doesn't have like you know,
all of it yet and I'm sure you 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 because that'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 to get into phoenix it, you know,
do like keep themselves silent into these like simple for lack of white simple projects
or non concurrent projects and the OTP gen 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 like towards 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
a point where I should be able to do this now, and you know,
it encourages them to like start like demystifying 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 you keep on doing the stuff that you know,
especially with languages that are changing a lot. So languages change in different
ways. But if you would do I don't know Java seven and you would
do Java twenty one, it's like a big difference. I used to have
all sorts of preconceptions a by Jova because I had done it in university,
which is way back year, and I was really I didn't like job,
I fully admit it, but now I 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 well it's still back was compatible. I think,
so anything that I had learned back in the day would still work,
but I would miss out on so much. And that's why having just the
syllables and so that you can see this is there that can already already help,
and then of course learning about them and why the exercise can help too.
So yeah, that's really cool. Yeah, I think all these speeches
are like really amazing. I think I think the mentorship, the way you
talked about it for V three like not waiting on a mentor mentor's approval or
whatever, and especially the syllables like learn aspect of it. Yeah, it's
that stuff, and that's probably the unique selling point in my opinion for Excess
And right now I think, yeah, awesome. So I guess, like
we're approaching. Then I want to know, like what what's in the roadmap,
like what else is coming? It could be I guess, like,
I mean, if you have something specific 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 the future, is to have a platform where
you can learn programming, if where you don't have any of the background knowledge,
so you you start out with zero programming knowledge and you slowly build up
your skills, and then the idea is that you could you could learn that
via and exorcism like to although with well, there will be a lot of
different features, but something like that we would really love to build. Other
than that, what I can talk about, 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 have a new language. But somehow we now
have a we have a form where people 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 building a new track. So we see lots
of new languages being added, and language I hadn't heard of at all.
I don't know if you've ever heard of pirates. No, okay, well
that's added. And we have people taking old languages too, so we have
we have Cobol for example, we have 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, an R 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 and quicker because it's apparently it's easier now
for them, which makes me good because I wrote a lot of the documentations,
so there wasn't for nothing, and yeah, no, I think just
having so many different tracks and that in the future we would love to have
something where if you would progress from one 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 lot of what you know is really really valid,
but there are a couple of things that you need to know, so
we could maybe do a bit of more like cross off things from the syllabus
or maybe only highlight the things nice stuff like that. Something we would really
love to maybe at one point have something like translating content, but that's really
a hard problem because we have so many different things. But with AI that
becomes maybe more useful because well chet GPT four oh is quite quite nice in
translating stuff, but it's still a lot of content and it's rapidly changing too,
so we would need to account for that fact. But yeah, that's
what I was thinking in my head is like, like you said, the
mentors, right, they don't need they may not always have time, right,
So is there been an effort to use chet TPT or something else to
actually start to valuid code. Yeah, so if you are an exorcism,
you can have a difficult premium. We changed the name. I forgot the
name, sorry, but you can sponsor us. Basically we rely on sponsorship
of people for our income. So if you sponsor us for a little bit,
then you get access to jet GPT integration, where you can ask questions
via JETDPT without having to confer with a mentor. I've USEDTPT a lot myself,
and it's so dependent on the language whether or not you you get used
for output. I still have a lot 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. So yeah, we do have a little bit
of that, and I expect that will 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,
it's very hard. The reason why I 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 is super exciting. Eric, thanks so much
for i mean coming here and sharing it, and thanks so much for you
know, all the work you guys are doing it, you know, providing
this kind of a tool for free, you know, being a nonprofit and
you know, like it adds a lot to the community. It's being used
heavily at least I mean I personally don'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 we like recommend to people who want to learn
LICKS right away and to those who are 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
know, suggestions to learn LICKS? And I again said Exorcism, like and
it's it's it's great, like like just a week later we have this recording.
This will probably go like three weeks after 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 to learn licks? You know what did you
get a job? Well, we have a great track, like you can
start from like you know, very basics, 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, you know, 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 that helped a lot. But having done these
these kind of like coding problems, gain confidence and have like a vetted syllabus
that you know, helps you get to a more confident like place where you
can call yourself, Oh, I'm an Alexa developer like that. That is
super important. So again, thanks for everything Axism is doing. Really appreciate
that. Yeah, our pleasure. There's always those stories where sometimes you forget
that you're doing this for actual people, can just get boged down in the
technology itself and then you get this email from somebody was life changing. So
they got a job with somebody was like 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 they have a house, and it's like you
can really make an impact. And sometimes it's easy to forget that. I'm
definitely I do forget it too much, but sometime you have to sort of
pause and appreciate what it can also do for people and completely change lives.
Although that sounds really dramatic. Of course, a lot of people like myself
is just fun, but for some people it can really change things. So
yeah, I mean, I don't think it sounds dramatic at all. I
think everyone needs to like fulfill that desire to want to do good to the
world, and I think this I think. 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 you want to add anything before? My question
is, weren't even to write this platform in Elixtra like it should be.
That's my question. Maybe we would have chosen differently if we would start it
right now. We've definitely talked about using a elixture for tooling of us.
We haven't yet done it, I have to admit, but I absolutely love
Elixtura as a language too and as as a platform and how it exposed.
It also helps popularize functional program so that's always something I really enjoy. And
other than that, it has a lot of stylistic choices that I really really
like. We do these weekly videos where we take one exercise, we have
a challenge forty eight and twenty four, so forty eight different exercises and each
week we feature one and there are three feature tracks that you solve them in.
We have a video where we just try 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's different than other languages. It offers a
lot of stuff that other lens don't and the guard clauses it's just really really
cool. So we feature liks for a lot. Awesome. Well, hopefully
hopefully some of the next two skary built in Alexa. But even if it's
not, like, having such a good 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 move to pis. Yeah. Sure, Alan,
they want to go first. Yeah, you know, I sponsored this
bag. Have you guys ever heard of 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 orbit Key. They make some kind of
interesting stuff, like designer kind of thing, 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.
You probably a keys on here. You guys can't see at home obviously if
you're listening. But anyways, what I like about is that usually I just
put, like you know, the traditional key ring put in my pocket,
scratches up all my stuff. I got this orbit Key thing. It's works
pretty well, you know, it kind of keeps myself organized. But what
I wanted to say is that they came 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,
but sometimes I'm switching bags, and so what I wanted was just something I
could put my most common stuff in so I could just you know, if
I want to change bag, I just changed that bag. It comes with
this interesting desk pouch, so you put your stuff usually work with in the
desk pouch. The desk pouts comes out of the big pouch and you can
kind of put on your desk and pack away. I see Audi's face.
I'm not sure if he's excited or not, like confused. No, I'm
just I'm just like it's always funny when 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 orbit key box and it's just too small.
Like he's a tech guy, you got 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 about finding the right connector right now is do
you have enough? That's the issue I 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, like mostly everything I want to carry with fits
inside. The way it works is pretty cool, so I'm pretty happy about
it. I just came in for me like last week, so yeah,
I just want to say, check it out. It's pretty interesting things.
So if you like me, gotta keep switching bags, take a look at
it. Yeah. Now I didn't mention 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's not 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 I could be anything, right, anything,
Yes, So my picks would be adaptations of games. So I used to
I'm quite a movie I was a movie addict, but I'm not anymore because
I don't have the time. So I tried to pick my series because I
like watching series now because I can split it up. But gaming adaptations will
always really really awful. Although I have 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 of really really excellent adaptations. So I've watched
the Last of Us and another big zombie fan, but the Last of Us
was excellent, and then I tried fall Out and to my big surprise,
that was fantastic too, So I was like, if you're into if you
know those games, do check out their adaptations too. So I really love
it, and I love them more than the games actually, so plus one
plus one, especially to the Fallout pick. I just watched it last weekend
read a long weekend in the US, and my wife and I watched it
on Friday. We just like ben shit and it made me want to replay
fall Out four and that's I just lept for like ten hours the entire weekend.
I just played forllart four. It's the series is so good and yeah,
it's really awesome. Plus one of that pick, I actually got a
couple more picks too on top of it. Or want to give a shout
out to CROXEO again last last I think a couple of weeks ago I mentioned
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. I joined every now and then as one of
the mentors. But they taken people from 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, hit Bruce State up. Bruce State leads them.
So yeah, it's great. One of the things to do in the
sessions is exorcism. But you get to you know, ask your questions to
your mentors. You know, they help you with like finding jobs. I
mean knowing Bruce State is like it's like I don't know that to me,
Like Bruce State is like very high in 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 State and get his autograph even though I already
have it. But yeah, so have having access to someone like that and
having like mentors who are in that group 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 and stuff. So yeah, if you're from
one of the underrepresented COMMU groups, you probably know if you are, so
hit me up, hit Bruce State up. If you're not from one of
them, you still want that mentorship, and there's a paid one. It's
on Drock grox do. Iow it's a very good training session. I haven't
done it, but I know people who have done it and they really like
it. It's called Professional Alexair slash OTP and it starts in July, but
you can start signing it up for now. It's two days or three days
something like that, but they cover everything and like kind of once you're part
of the groxy community, you are always for life out of grossy community.
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. Eric just mentioned it. I just quickly quickly
check it out as a functional programming language, 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 get back into exorcism. I'll probably like try
out the practice a few exercises there, and the language looks interesting. So
yeah, like I said, there's seventy plus languages not aspired, like if
you want to try languages, is clean track as well. And I also,
yeah, that's and they also have a learn I didn't realize that they
have a learning a syllabus. So Gleam is an amazing language. One of
my favorite people is the creator of gleam. Louis is such an awesome person.
Yeah, so yeah, prior to Gleam, 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 a tool 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 great having you. I'm sure we'll have you
again in the future when there's more updates and step from Mexicism. Yeah,
thanks for the time and again thanks for everything you guys. Doo. Yeah,
thanks for having me. It's my pleasure. All right. That's it
for today, guys, We'll see you next week. Bye.