Hello and howdy everyone, Welcome to another Adventures in Angular. My name is
Alyssa Nichel and today with me on the panel, I have Brooks for sith.
Hello. I was trying to remember which of you goes first, honestly,
so why I hick up there? So hopefully that was the right order,
Brooks. If the order is more about picks and Chris cost first,
Okay, okay, so you don't care in the beginning. Cool, cool,
I'm off the hook, and of course I lovely Chris Ford is with
us today as well. I mean we've already established I'm here. Thanks for
the spoiler of that, Eb Brooks shocker, and our guest of honor is
Alexi Quincivish. Welcome Alexi. Hello, Hello everyone, goodness, and I
do apologize if I messed up the first, last, or all of it
together as a whole, but welcome, welcome to the show. What are
we actually befo? Before we talk about our topic of the day, can
you introduce yourself for the audience? AH? Me right, so yes,
my name is Alex Concidge. I am an angel expert, mentor and independent
consultant based in Sydney helping companies to adopt ANGLA in the most efficient way by
applying solid architectures and best practices. So also I'm organizing meetups like Angler related
meetups and running online and un flying Angelo workshops and teaching Angle at consideration the
depth. I'm also creator of frontenach frontlage dot com. It's an nilary resource
where you can learn more about modern front front and frameworks. And I recently
become a part of ejecs escorting. Yes, pretty much about that's just a
small list of achievements. A long CV man. That's awesome, very important.
Hired you like, but the job is car and Ury Brocks. Oh
my goodness. So what are we talking about today, Alexi? So today
we're talking about progressive state management with ng access. So what's the progressive state
management? Right? This is the question? Probably, I mean, yeah,
most of the people wonder, like, let's progress that management the way
it's like today. I mean, maybe someone else have their own idea about
progressive state management, but my idea was Progressive state management is development technique when
you progressively enhance in the functionality of the application state in a way it won't
affect the existing data flow and existing structure of your application. So basically you
start in you're up just by implementing reactive services, and then if you won't,
you can go another level of state management. Right and if you like
in jecas, so you choose in Jexas because I'm in JAXA's friend, I'm
recommending to use in jaesas. Maybe someone wants to use different state management right
instead, but still it will be considered that in my world, in my
view as a progressive state management if you go from reactive services to any other
state management solution, and what's reactive services? So you're asking all the questions
just the long term ride. So that's the last one problem I want to
answer. So the reactive services is the services implemented is eric jazz behavior subject.
It's like a wrapper on top of a jazz behavior subject. Yep,
that's all. There's all the basic concepts in my talk today. So the
next logical step from reactive service or reactive services, if you only have one
service I think apps probably in trouble, is to bring in like a state
management solution such as mgxcess. Okay, now I have I have heard of
NNGXSS, I have used NNGRX right, So what I suppose I should probably
ask for the benefit of our day listener, what is what is state management
beyond a reactive service? And then and then we'll come back to what I
was going to say before. So state management is a solution to manage state
of your single page in single page applications. So basically, you have some
data flow, you have data which changed along the time user interaction with application,
and so state management helps to manage this data. So manage the state
of your application, as theres lots of bits to it, like different sort
of data. I mean, even URL in a browser might be considered as
a something that is part of your state, as a dart that you want
to bring to your you were going to manage with the state management solution.
But yeah, so basically it's again, So state management is a solution which
helps you to manage data and data flow in your seeing Good Place application.
Just the way how I see it, I think I'm marvelously concise. I've
used mg and jr X on a couple of different projects, and the only
thing I know about MGXS is that the logo really reminds me of the Sega
logo, which I really enjoy about it, but that's all I know.
Can you can you tell us what what is mg excess and what makes it
what makes it stand out from because you could probably argue that mgr x is
the one that most people have heard of in the community. I guess,
So what what makes mgxcess stand out and what makes it different? So first
of all, you know the creator of jecs is still McDonald mcdenna, so
probably some of you know him. He's been released back in two thousand,
a team in two years ago by Japanda all the time beyond angular air with
me and you panned ahead, so very well known for that if if no
one else got the reference, so it must be really hard to write code
and a giant planned ahead hm also sweaty Yeah true. So the injeccess is
a simple step management solution with a less boarded plate. It has things like
depends the injection and declarators as a fast citizens So basically by using j access
you using normal angular thinking or you're doing things in an angular way, which
is most of which every Angler developers is familiar with. It has a life
action life cycles, and it has a great community. So there is a
select channel when where any one can join and ask questions on discuss edits.
So yeah, but simplicity is probably the number one feature for injeccess. I
know that a lot of people's issue with n g x is is how much
time it takes to get off the ground and with all the boiler plate.
I haven't actually used more recent versions of end X. I understand that they
have attempted to address that. So excess just comes out of the box with
less boiler plate. Yep. So how do you get all of your stuff
set up? Then? Like presumably you still using like actions and reducers and
selectors and things, or is it like a completely different way of thinking of
things. Yeah, So you think about injecis as a secure as pattern.
So you have your comments and curies, so comments actually actions and curious they
are selectors. So there's two basic concepts in injeccess you can think about.
And so it's pretty much like you dispatch an annection from a component and you've
got your piece of courts with this action executive right, and you can listen
for life cycles or yeah, it's pretty much combination. Yeah, I mean
it's very similar, Like there's a way of doing things in jer X so
despatch in the action and yeah, listening for events. Okay, I mean
I have to say it sounds it actually sounds quite similar to what we use
on the project where I work, which is it we use like a homegrown
solution, but it is much much simpler than jer x in that you're basically
we're literally just dispatching and then just subscribing in other places. It's it really
is just what we use is just building on top of behavior subjects. Really
but just in a in a more like formalized way. Is that is that
what ng access kind of tries to do as well? Or if I messed
the point, sorry, Like what do you so you're saying you using services
in yeah, yeah, yeah, we're using services and so we are we
are we have basically objects containing behavior subjects and then so we we dispatch off
to place data off the place data inside of behavior subjects, and then elsewhere
we've got things listening. So, as I say, it's a homegrown solution,
but it works quite well. I just wondered if it's like this was
similar to injects as well. It seems like you're talking about the reactive service
in my Yeah, so okay, like reactive services of wrapp around up of
behavior of subjects. Right, So I mean that's basically is just a stepped
number zero or state management zero in my in my view, so yeah,
and then next level is a stick management solution like in jixus so which is
different from using behavioral subject Okay, I fall at your feet and apologies as
for my huge slip up there, please go on tell us more. Yeah,
so there is like there is very easy for beginners and for like people
who just first comers to Angular to avoid a learning curve and be productive not
in a day number I don't know then, just let's be productive on the
two one is just working out the tour of heroes something like that. So
would you say that it's not a bad idea to learn this first then they
don't need to have an understanding of everything that is built into ERG access to
jump in. It depends, like it's very depends what you're trying to achieve.
If you just want to learn that, Yeah, like you can learn
into like on day one two. But if you know what you're doing,
maybe you don't want to learn state management at day one. You want to
just understand how you can actually build a simple solution first and then its rate
so closer to them take ten. Maybe on day ten you think, oh,
yeah, actually I want to try. Maybe it makes sense to bring
state management, but maybe it never comes. Maybe never one to print stand
management because maybe there's no sense at all. Maybe a solution is quite simple,
which maybe like yeah, oh a team you're working also there is it
depends like what's your team size? If your team maybe like look, there
is talking about state measurement. It's also that it's like also like a state
measurements a court style. So maybe this particular steate measgement solution doesn't allow aligned
with your team cold style like using as I said in jexcess heavily using like
dependency injection and decorators. As some people said, hey, it's actually cool.
I love it, and other people say, oh no, we don't
own decorators. The creators are evil, so it seems very harsh on the
Thatch writis, so yeah, I love the creators. Yeah, I like
I like the fact that they look so simple and they do all sorts of
mysterious things under the hood, and I don't have to worry too much about
was going on, And like people who coming from dot net background to job
background. I can talk about dot net because I've done lots of years in
dot net in my early career, so it's all, well, there's decorators
everywhere in net so and once I saw the creators, then you can actually
write the creators in your front end code, like, oh, yeah,
that's cool. I mean, that's if one of the things you see when
learning angler so uses lots of decorators. But yeah, once you see a
solution library which also have decorators, I mean, because I mean it's not
like, oh, let's like why would why Some people like decorators because they
make your code declare very declarative, and it's very easy to read. This
sort of code you can tell I mean, if unless your decorators have proper
naming convention, which is most of people probably following now these days. So
if the creators actually self explanatory and by reading the name, you can tell
what this decorator is about. This sort of code is very easy to read
and to explain to other people. And if you if you like a team
of developers and to tell a number, so if there is a newcomer to
your project, it's very easy for people to understand this sort of code because
they're just read like in plain English. So for example, the creator action
action, it means it's election. So if you despise this action is something
will happened. Yeah, it's good. Yeah, you're you're absolutely right,
You're absolutely right, of course, right. I have a question. It
comes with the story because I always like to tell stories. I've told this
story before, so apologies to anyone listening who is bored of my repeat stories.
Word on a project a couple of years ago, it was an Angular
project and we had a new fellow joined the team and he had come from
a React background. He had not used Angler before. He picked it up
remarkably quickly. It was very impressive. But literally the first thing he did
was he took a look at the app and went, where's my state management
solution? And then immediately implemented one and tried to raise a pr for it
and like our kick back on it. We don't Why did you do that?
Because we don't. Because the whole point is the difference between Angler and
React. There are many differences. One of the differences is that like Angular
kind of handles your state for you in a different way, right, so
we don't need to immediately put this state management solution in and yet people are
obviously using state management in anger application. So why why do I want to
use a state management solution above a reactive service in my Angler app? Because
it does kind of handle stuff for me. So actually it's a good point
about the React developers. And I used to like, we can go oh
no, not months ago, I was googling. I was finding some solution
for something. I can't remember what was that for some reason, was I
converting something. I was converting some format into another format once format of data
into another format of data. And found this project in direct project and just
for curiosity bring it up. It's like one or two components up one and
I saw in a source code there is like a state manasion. I was
like, okay, I was, isn't it to say? I was laughing?
Yeah, I mean I don't want to say that, but yeah,
I was like okay, So yeah, why you don't like when you like
in application? Right? Is different? Like not every person bringing state management
right away? And to answer to your question, why so if someone okay,
it's like in your in your new particular station, say you're working on
the project a couple of people. Then you're bringing some new developer with his
own opinions about state management. Maybe like he comes from rag the ground where
they're using reducks very heavily, and yeah, so he may made a PR
to your project and you open in the PR and realizing like okay, and
why, like maybe you want to ask the developer why you want to do
this, or maybe you have say you have guidelines about your project. But
yeah, so why you want to print state management? It needs like you
don't want just to print in stead management because oh, like I bring in
state management to every project. That's the way to go, right. It's
not it's not an excuse to bring a state management. First of all,
it's state management. Like every every state management is different. So first of
all, the state management you bring to your project should match the code style
of your team. So everyone needs to be great that Hey, you will
love this how you write in a code. We like how the code looks
like when you're using this particular state management. That's probably the first thing you
need to agree. Second thing, your solution needs to be not like you're
probably right in a complete application, so we're not You can hear about like
two maybe five components. Maybe we're talking like about pretty much meat. I
see, I'd say meat cluss need to big, mid, size, up
and high. So that's probably another consideration of state management. So if you
like, say you want a consistency in you are because if it's a big
application, or say you have a number of applications in your organization. So
people come and go and another day you can see another person joining your team
with his own opinions and start doing stuff in your project. But you want
you don't want new people to invent the bicycle, right, I come to
the bicycle later today. But so so you don't want people to enter these
bicycles. And that's why state management helped you to keep since consistent consistence that's
consistent in your in your organization. So you do have to explain people,
spend time to explain people about those consistency. You just give them your wealth.
Hey that's A and j EXA's they please read it then like that's what
we're using. So and also you don't have to come up with your own
guidelines because it's already there. Opposite to that you say you're using, I'm
talking about the project. So you're using interactive services or wrappers on top of
behavior subject so you need to make sure that people who comes to your project
actually stay consistent so they write in typical code. So what you need to
do you probably need to spend some time to create documentation maybe customer so you
need to put people who work in on the commentation and also bring this docommentation
up to date. So this kind of additional exercise and additional resources you need
to dedicate for a project. I'm talking to here about big project. Right.
If it's small products, maybe no one writes the communication. Oh it's
like a long two people working on the same project, right, But yeah,
if you're talking about big organization and lots of developers involved, you have
to have something where people can go and read. Otherwise you end up with
having like prs like you. Like you mentioned, it's actually very interesting.
It hasn't even occurred to me that one of the reasons why you might want
to choose a state management solution is just just to make sure that everyone is
doing things the same. That is interesting and uh, and you I'm thinking,
I'm listening to what you're saying and thinking, oh, yeah, the
thing that I work on some docs for how we actually do stuff would have
been amazingly useful when I started. And then I'm also thinking, well,
hope someone else has a chance to write those because I don't have time that
is problem. So yeah, basically I guess this was the answer to your
question in regards like why when you need to bring the state management. It
was a great answer to my question. That's probably the best answer that I
could possibly vote for, because I didn't even it didn't even occur to me
that the answer might have been that. So I enjoyed it. Thank you.
Cool so speaking about the reactive services by we here our subject and stuff
like that. So I saw a picture of a cat go back. It's
like a kid who controls the scenes. As you can see for everyone listening,
Alexi is kindly providing us with a slide show for today's episode. And
I am mesmerized at the moment by a cat sitting in a cafe looking like
he gives zero fluffs. Very good, good. I wonder what you're going
to say there for a second. I mean to be honest, isn't that
just cats? I know my cat, My cat would do that, except
people, I would say, smash the cup of coffee on the floor,
who have like knowledgeable I've never really hung out with one. Yeah, cat
looks like it's got attitude. So yeah, that's exactly the kind of cat.
And the title of this light is elective Services, which helps you to
solve component communication data flow in your application in quite elegant and simple way with
our additional layer of complexity. So that's basically this attitude, this kettateitude,
this kind of tells this sort of love it. I love it because I
have this other slide like that. Oops, going back of this one,
there's an opposite to this slide. I just feel stressed looking at that.
I've been on projects like that. Yeah, so and yeah, at some
point I thought like, hey, girl, do you really want to expose
behavior subject into your component, into your services? So one don't again,
like I like this idea of consistency and so he can you do something like
to keep since consistent with behavior but not but by not using behavior subjects explicitly.
And I create this library called eric service. So basically it's like state
management zero so for lazy people. So basically it contains this upstore class with
a number of methods, so which allows you to set the fault value,
set new value, get current value, and subscribe to the current value.
And so this way your code, your services code becomes a little bit simpler
and more readable. So all but yeah, you don't have to use it.
I have this if you want, I can quickly show you what I'm
looking about here. So that's the normal behavior subject service is. You can
see you can basically I'm defining a the hearoor subject and like basically using explicitly
in this particular case. So I'm calling the next to set a new new
piece of data. But this ERIC service it's looking a bit differently, So
there is no behavior subject in my service. I'm just extended ERIC service.
And what I do I just use functions set state in this particular case,
right, so just to set a stage. So the code becomes a little
bit less borely plaiting and more readable using this approach. In my world,
maybe someone can say, yeah, I actually like like use behavior subjects implicitly.
That's fine, that's fine, But yeah, I don't like behavior subjects
in general. I think it can lead to a lot of spaghetti out.
But I think I've been on projects that have used them so like you're passing
them into components and and input and then updating the values that way and yep,
great, you get it. And I think spaghetti will gets if you
on the long running project. So it's not going it's not happening on day
one, maybe on then they on day seven. See what I mean.
You need a couple of iterations basically to get spaghetti the beaper subjects. It's
true. So and in this particular use case, like do you see that
state management might solve the problem if you replace the behavior subject to state management
solution in the project that you mentioned? Oh the yeah, yes, state
management would have helped a lot. I tried to suggest that, but I've
also been on a project with NIXSS. We actually started with n g R
and then people complained that that was too much, it would play They basically
it was a larger team. The team didn't use it right. We kept
on saying, you know, stop calling directly with service, don't switch to
I actually did the implementation of switching it to ng excess and it was it
was a lot smoother. We got people to buy into, other developers to
buy in and start using it everywhere, which was awesome. I really like
NG Access. There's also the cl I is super helpful when you, you
know, get things going, the n G Excess c l I and there's
a offline plug in but I've also used and that's really really cool because that
comes it's kind of magical, and the form's plug in as well is really
magical. I'm not sure how like NG Excess Labs or yeah add on,
Yeah, like plugs, I'll put them in the chat for anyone who wants
to. I also I am including in the show notes a linked to the
episode that we did with Lexi on Angular Air because sometimes, I mean he
blew my mind with the uh what is it is? It called the plug
in with the RX service that you wrote, Oh yeah, and showing the
difference between the code like before and after. It was like absolute magic.
So for the visual learner who wants to see that, definitely check out that
recording because I think sometimes you just have to see the code. So I
want to give you props for that because I really really really enjoyed that episode.
If you if you're going to promote your other podcast, I think you
need to make sure that the next time you do Angular Air, you point
we want to shout out too. I have something snickitty boys on the bud
guest today. Oh you guys know you're my favorite? I mean what now
we don't tell the others. Yeah, well Angular Air we are his favorite.
Yeah, I imagine they'll hear it when this episode comes out, because
yeah, absolutely So question now as that you are a part of You said,
you're now a new member of the Ndixcess team. So can we anticipate
the RX service that you wrote all of that functionality to just now be bundled
in default behavior of ANGI excess. We did not, I mean we didn't.
I don't think there is a need and it might create a little bit
of yeah, exactly exactly because it's kind of different scene. I just love
it so much and I'm like, it needs to be just how things work.
Just maybe it's possible, but it needs to be discussed and it needs
to be sold about it. But I don't know how and why needs to
be there. Yeah, but yeah, it's might big good idea. Yeah,
like if you want to use the full functionality, just use this little
bit and then if you ready, just use everything else. Yeah, just
call it NG excess light or diet yeah, Brooks, you are a new
marketing manager, right, I was thinking about it and I bring this to
the team. Just rise all right, Well, don't even mention it straight
in time. Well that's what was the process to join the project? I
mean, I assume you made some prs and I liked them and reached out
to you. How did that work? Just curious? Yeah, like it's
dependents like, well, I guess what how did it happen for you?
I guess it's yeah, I used to be a part of the I joined
the slack for quite a while and I done a couple of demos way back,
a couple of proposals. There is actually a proposal which is still active
and we're working on that. We just started working on that maybe months ago.
But the proposal is maybe two years old, maybe one year or at
least one year. It's actually two. It's about syschematic things because right now
schematics is a separate package for NG excess, which is a bit weird.
Usually you chematics lives and the same package. So if you want to install
any package, you do ERGI with English right, Energie add package name right,
and this will execute schematics and stuff like that and then you can actually
if you want, you can use these chematics, like say you want to
create an action or you want to create a selector, you say, just
go a G like whatever action name or something like that, and you can
it can scaffold the action for you. But in ang access, it's historically
it's like a pre package, which probably not everyone knows about it, and
it's kind of a little bit outdated. So currently be working on this story
to make schematics works better for in JAXSAS and to be a part of main
package which is at jecas, and then every plug in will have schematics in
it. So you would install plugging just by saying NG at plugging name,
and it will bring the plug in into your project and you'll do anything else
needed to actually, so to minimize your development effort. So yeah, you
need to be a little bit active. It's just a normal open source project.
So like basically if you a little detective and you show your interest,
which I just was, you know, I like JECSAS from first day I
saw it. I remember this tweet fasting back in time. Actually was using
n j X in my in this like two years ago. Yeah, at
this project and then once I saw NJXS, I said, oh, yeah,
it's exactly what I want so and signs signs then JXS is my favorite
state management solution. I recommended everyone, and I yeah, been a part
of the community for quite a while. And yeah, and some at some
point on the slack I was asking, hey, like they want to join
projects. I was like surprised they didn't expell that, and yeah, I
had the conversation with Mark, he's a lead and yeah, signs then,
like it's been like maybe two months ago, I think, so, Yeah,
pretty happy to be part of it. So we have lots of things
in the list, and yeah, we just want to make JCCESS is the
best solution, the best state manajorment solution for ANGELA applications as our goal.
Yeah, that's awesome. That's cool. I mean, like I said,
I will go in gss N g r X project right now. I miss
it, but yeah, very cool. And you from your perspective, like
do you see like you like what do you see by working on JACCESS projects
versus and jer X, Like what do you like or what you don't like?
Is there any instance in juccess might be you don't like you want to
be different. It's it's NGXS came a lot quicker and easier to me to
pick up on and that's probably you know, less boiler plate, et cetera.
The other thing that NXSS does, the documentation is really great. Like
I I that's probably what helped me pick it up so quick. Was like
going through the docks. It was like I went through them and all of
a sudden, I was I was done, you know, I just dived
right in and certain implementing it. And g RX has not been that smooth
for me, but I'll get there. It's just time. So is that
like with with your prior experience of using nj X that you like find nj
excess docks helped. Was it easier because you'd been using a different state management
solution or was it the like, no, I hadn't used this, Yeah,
yeah, so I hadn't used the state management solution before then I used.
Yeah. One thing I said about njr X is it it took me
so long to get my head around it, Like just I did a course
Todd Motto has on his Ultimate Courses platform. He has an ngr X course
which is like seven and a half hours long. I'd done it twice.
It's a great course, right, it was really good and it got me
there, but it just just absolutely no concept really at the beginning of what
on earth was going on? So super complex. So I really like the
sound of one that is actually just you can literally just read the docs and
know what's going on there. That's lovely. Yeah, in particular, there's
I was looking at. I was going through the ng RX docs and there's
some there's it. I'm pulling it up and I'm going to run in the
show notes. This one right here, there's a diagram that really is simple
and explains like basically the whole thing. I kept on referring back to this
going through it and how it works. It's in the intro this this show,
This podcast has been very visual for I know, I just brought up
a diagram. Quick, someone describe this chart with a bunch of circles with
arrows. Well, that part of it is, there's only three circles,
right, and then your component your component, right, and so the component
dispatches an action to the store and that updates the component again and that's kind
of a loop. And the action also talks to the back end and if
you have any plug in set as well. It's a very simplified. But
that's kind of how it ends up working. No side des No is that
good? Is that? Is that something you want? Is that? Is
that a goal? You mean the goal? What do you mean by goal?
Yeah? I mean perhaps the poor choice of words for me again going
back to the complexity even r X, like the effects was just this whole
other thing like that you have to learn. But I say, you say
that we've got no side effects? So is that is that what you want?
You want to go with a with an effectless state management? Yeah,
it's like less complex or less concepts is a simpler the solution and the easier
you can pick it up scripts already mentioned. So in j's quite simple because
it has less a trust, it has less concepts you need. And it
was the goal of Austin actually to make a solution stick measurement solution, which
is simple. It was like he kind of saw that about injury is quite
complex and what can I do in order to use the beauty of all these
wonderful ideas like reduxy and security together to actually like to have estate management for
my application? So without having all those spending all those time and learning neat
and implementing because effects, it can go really really crazy sometimes. Yeah,
I have seen that. Okay, that's interesting that how do you how do
you handle because the whole point of the of the effect part of nger X
is that as you are, as you're flowing through your you know, your
action action reducer cycle. The point is is that, like you, you
use the effect right to sort of off to the side and do something asynchronously
while your cycle continues going around. So is it just literally that you just
don't do that with mgxs, You just you have to stick inside of this
cycle? Is that? Is that how it works? If you want,
you can do something like that, but it's something not in the docks,
I guess. So maybe for people who is en and Geric's big ground,
they see, you know, once you get your head around it, you
continue in sinking the bosset managements this way, and when you come to ng
excess land you still want something like that. So you can do something like
that if you want. I haven't done it in g excess because like for
me, it's not necessary. But if you still sink it, you can
do something like that. Yeah, that's cool. We're talking about belligerent developers
who don't like to change. Now, that's fine. I mean, as
I said, I find the effects to be quite just another added layer of
complexity. I was just I was just interested in how how how you get
on without them? But it sounds like you get on absolutely fine, So
that's good. I have to say, like, just as the longer this
episode goes on, the more I'm thinking that MGXSS just seems like something that
I would like to try next time. Next time I'm in a position to
use, you know, a state management solution, because that all I'm hearing
is that it basically it's the same sort of thing you get with an njr
X, but it is much simpler and much more pleasant to use. And
I say, you know, by the time I'd used mgr X a bunch,
like I get it now and it's fine, and I kind of like
it, and I'm not too fussed by the boiler plate. But I'm never
going to turn down something simpler because I like simplicity the more. And also
I like you's saying like Injucess, it's like do more is less? I'd
see, Yeah, is that is that the official catchphrase of the of the
library. Not really, but yeah it might be. Yeah, I'll raise
a pr to get it on the website. H Also, there is a
thing called NGI Excess Labs. It's kind of a playground. It's a separate
on it up that exists to test the new and prototype new ideas and puts
for concepts, and that potentially may become a part of Jexa's core functionality.
And there is lots of stuff in it, like and most of some of
that it's actually production ready, so so like some of this is bulletproof,
like for example, I know people using Jex's data plugging on the production and
plugging for fire Base plugging as well. So if you want and a couple
of things about in Jexa's data, it's actually like the same idea even less
boil applies. So if you thought less boil apply was good, wait until
you try even less boilerpl Yes, that's basically a DA here. It's like
addition. Basically it's a plug and you installed on top of injects and you
can use the benefits of this plug in. So you're not writing actions,
you're not writing selectors. You just have your state. Okay, let me,
are you right in anything unfortunately at phonage that yes, So that's the
state I plementation just injeccess store implement normal implementation. So you have in normal
implementation you have a state file. You have you might have separate file for
selectors, and you have separate file for actions. But with injects data you
have just one single file. Wow, what and how you consume that?
So with the in normal energy access you consume your state like in components,
you inject the store and you you might want to select that. So you
using selectors and dispatching actions. That's a couple of lines, but with inject's
data it's just a little bit different. There is that's all you need.
You've got You've got literally nothing in that company. Yes, it's just exact
injecting the state and that's all. And then that's crazy. And the template
plot the template plots so basically on a template in a normal way. So
you yeah, you have something in your component, like some functions in your
component you want to call them, but in any dispatch in the action if
you want to, if you want to mutate state. But here in inject's
data you're referring directly to state, so you know, dispatching the action instead
you just you just call the function directing the difference. How you literally just
removed the dispatch you just yeah, Yeah, that's probably more closer to services,
like the normal way of using services. Yeah, pretty neat. Is
that your is that your projectors? Is that? Actually it's the also of
this project is maxive enough And if anyone have any questions about this project or
and it's not related to injeccess, you can join the select channel. It's
a fictional channel, like there's like thousands of developers there and yeah, to
discuss anything, to answer or plusk questions. So if something like this in
g access data is in labs, does that mean it might one day be
full time in ng access or will always live in under lads book. I
think there was the discussions about that, and it's a little bit different approach.
It's like you remember at least you said, like why don't you bring
e rec service into ng in jexcess, it's kind of similar idea, like
yeah, like it's just it's for now, it's as a part of labs,
but yeah, who knows my in the future, Like you know,
in ng REX there is a data like in data extension or whatever you call
it, right, I think it's something similar in injury on anng X lent
the ang X data and it leaves in angie rex repository. But it's a
little bit different way of you of using ng rex right, And so some
people choosing data to go and then they cut looks a little bit different.
Or some people say no, we don't want to use it, and they're
caught looking a little different. Right, Is it is the right way of
saying that in anngr X lent or not. I'm not sure, but yeah,
that's how it is in ngxcess because as you can see, your costyle
change a lot very drastically. Yes, yeah, I can see that your
your project in the open thing is called from services to ngxs. Is this
is this part of the tutorial that you have and is this something that we
can we can get out of it? Just a small snapshot that I'm looking
at. I feel I feel sad for the folks listening who have no idea
what we're just sort of staring open mouth that probably really frustrated, to be
honest. Yes, the elephant in the room there, British if they're still
listening. Everyone's everyone's still hanging on to here what your picks are this week,
Brooks, they're worry I got a good one, A good one to
But yeah, that's exactly the project is about. It's just like a tutorial.
It's so it's a project on the top. So it's a public project
and yeah, so here it's demonstratings away how are you going from here a
sublic services erected services to intinexcess and then how actually to go for intexcess to
anti excess data. So there is three three things. Maybe please have a
link to your to the th REEPO in the in their notes because for the
folks, for the for the one listener who is still hanging on because they
want to hear Brokes Peck, go and check this out because what we're looking
at looks it looks pretty pretty good. I also want to go to see
it. Yeah, So basically that's that's in jeccess. If you have any
more questions, maybe I missed something. We're working on releasing a new version.
It's official, like the new version soon. But after this version,
it's going to be another version which is probably breaking change version maybe not really
but yeah, at another major versions on the next version is not major version,
but at some point this year, thee next couple of months, we
will release a new major version with features. What's the biggest feature that you're
coming out in a new major version? So, first of all, it
is schematics as first of all. Then we want to I mean there is
not like there is sorts of good a polish going on and maybe if we
want to use yeah, I can't, I can't. I can't tell you,
like what the feature is going to be because as the new the new
merger major version, it hasn't been finalized the list of things, and we
want to pad you down. I want I want to that. Okay,
it's going to be the better version of the current version, even even less
boiler play. Yeah, that's not official. Don't don't say me if if
there's more boiler plays than you're expecting. Yeah, like also like bulletplate is
something new type right, and if there's something which can generate code for you,
can you consider this less boilerplate? Yeah? Yeah, I think so,
Yeah, I think so. Yes, A schematics yeah rightol prediction prediction
mat yeah so yeah, what else? Yeah, we're being another episode.
I can tell you all if you just do we do we want to do
some pic. This is this is what everyone's been waiting for. No,
actually that I do. I do a massive disservice because that was I just
I've just digested a vast quantity of new knowledge there. So thank thank you
Alexing for that. It was super super interesting and I feel like there's so
much more to learn and I want to learn it. You give us all
hope for the complexities of state management. Yeah, we've got even less boiler
plate. What more do you need? I'm going straight to that goodness,
I am another Another side of complexity is as a price, right, like
the business has to pay to maintains a complexity. That's another side that I
thought you were telling me there for a second that this is behind a pay
Well, it just forgotten to mention, by the way, and the access
the subscription. I had prime dollars. I had projects, not like not
even talking about state management, just general projects. So I had a project
or angular project and it's been abundant, no problems. There wasn't any problem
with this project. It was working well like no performance should nothing all good.
But the company, the developer left the company and they didn't find any
more Angular developers, so they had to rewrite it with another framework. The
nightmare right like, because the developers at the companies didn't didn't want to learn
Angela, they didn't want to learn new framework, and so they didn't manage
to motivate ang those developers to learn Angular and they didn't find then they didn't
manage to find a new developer. Yeah, same thing with state management.
So some people can implement the complexity, they can leave the company as a
company have to actually find try to find the need developers and those developers might
you might not even able to hire like students or meet beginners who can maintain
this code. This code might be maintainable only by experts and express the very
hard to find and they cost a lot. Is there are really good points
and it is something that I talked to my husband often about is the bus
factor because there's a lot of knowledge that only he or one of his other
coworkers knows at their company on them team, and it's just anything that you
can do to reduce that. So love that, well, gentlemen, was
there any other comments. We'll get into the picks for today, anything else,
let's do it. Well, my pick is a link. Any have
you guys any anybody? Oh? This is the thing. YEA watch the
live stream, got goose bumps, will be signing up to get one.
Seriously though, if you haven't heard of it. It is device to that
is implanted in your brain, creating symbiosis between our brains and AI so and
there's lots of applications for it. But I'm pumped. Does it reduce any
plate? How much? You should see the the other version of this basically
like they I think in the live stream he he said, the other version
of this that currently exists. It destroys quite a bit of brain matter.
And it's the essentially like kicking your TV in order to get it to work.
And it works sometimes right because it just sends like electric jolts into your
brain for certain use case medical use cases. But this is like the the
Finesse way of like you have to watch it if you haven't seen this story.
It's just brilliant, very specific reference. But I feel like this is
how the bar happened in Star Trek the next generation? Are you talking about
the downfall? Community? Scary? Scary? It is? It is it
also watching these electrodes like talk to the neurons in your brain. Like I
was like, oh my god, it's the future like where it's just I
know it's scary, but it's also like it has to happen next step.
We got to go there, right, Like, I don't know. That's
my personal opinion. I was going to follow on your pick. I saw
I saw a tweet yesterday probably about this, and it was like, Bill
Gates, we must have vaccines everyone, No, you're going to put micro
chips in us eat on musk. I'm literally gonna put chip in your brain
everyone. Ah, so revolutionary, it's so true. It's just how you
sell it. Am I going quicks now? Or are you going out of
order again? Yeah? Yeah, I'll go because I got I got a
great one, all right. So for anyone with toddlers or young children,
so you can't get in the bathtub, I use super super Bubble Night and
I use with the kids out of the tub ahead of time, use a
paintster on a drill and make the bubbles with the paintster and it gets huge
and the kids love it. So I've been able to get them into the
tub more successfully with this super bubble night. That's right. I linked a
paintster that I use for it. It's a lot of fun. That's that's
my pick. That's a great pick. I don't know if I could follow
that. So is it my goal for peaks big? So that's my peak.
It's a mug with a bicycle on it. Yeah, my pig is
a bicycle. It was really helpful for me at these times being isolated.
So it can keeps you isolated, but at the same time you can get
away from your computer desk, don't bring commute computer with you, just sit
on the bicycle and ride around. So that's what I do every month.
I like for the last four months or three months, I'm doing more than
three one hundred thousand in a month kilometers on my bicycle, which helps a
lot to keep your feet and get away from desk from computer desk and stay
isolated so you don't breathe and sneeze on other people. I can, I
can only we can obviously any say from the from the chest up, I
can't imagine you have legs the size of tree trucks after the three hundred thousand
kilometers on your bike. Yes, sort of. Actually, this month.
I done two hundred thousand eight nine. That's that's insane. Actually not this
month's I mean August. It's already September, so it's zero. This month
is you're speaking to us from the future. It's me from the future,
but you're still in August. Oh, this is in a mask with your
with your cyber pig. You we're literally talking to someone in the future.
That's what as you call it. By the way, if anyone starts using
that, I coined it. I want so do you want me to tell
what the stocks price or anything like? Yeah, you're in the future,
right exactly, take over the world. So the going price on September first
is and it's another pick price. I haven't looked at the coin price for
years. Okay, So what currency should they choose? US dollars? US
dollars? Where is US dollars? You know I don't have US dollars in
my list. Okay, I tell you in Singapore, Sincapore, Singapore Septempter
nine, point of reference, Sincapore. Okay, comes out in September.
Okay, hend on a second and need deserved. Okay, I tell you
US dollars. It's eleven. It's eleven thousand, point seven hundred. Wow,
this is the same with your end. Okay, it's eleven thousand and
seven thirty five at my end, so yeah, yeah, okay, but
down in the future, to be precise, it's a lot of size and
seven hundred forty four dollars forty point okay, yeah, yeah, all right,
so it goes up up if you buy Chris, what's your pick?
I will go with a short pick. Today my toddler has a cold and
this morning he had a temperature. So we did the sensible thing and booked
a family trip to go and get coronavirus tests, which we we I appreciate
this is different, going to be different in every country, but over here,
like literally booked it and three hours later we were getting the test.
It wasn't hugely pleasant to be like sticking that thing up my nose and in
the back of your mouth and things, but it was also it was pretty
painless and we got the kids done, and I think it's a sensible thing
to do. So my pick is, if for any reason you think you
might get a test, get a test, because then at least you know,
do you know when you'll get the results? Did they tas forty hours
get text apparently by text message, Wow, I hope it's negative, darling.
Yeah, I mean, I mean he's got a cold. And just
it seemed like a sensible thing because in the UK they're saying if you've got
and I imagine probably will what they say if anyone in your house has like
a temperature. It's like he's a toddler. Of course he has a temperature.
He's apparently got a temperature. But its lock yourself away for two weeks,
Like I'm not going to lock myself away for two weeks because the toddler
has a cold, Like I'm just going to get the test that I can
say is not coronavirus. I remember backings the months, like four months ago
in order to convince doctor to make a test to a stick in a while.
So this guy not in my office, like in my friend's office.
So in April he came from Europe, somewhere from Europe with lots of was
it Italy Probably he came from Italy, And basically it took a little bit
of time to convince doctors that he might want to make a test. Who
coronavarius test? Because I'm probably the station different. Now, if you want
to make a test, they just hey, here you are. But for
months ago, it was it was taking a little bit time to convince doctor
as that you need to make a test. Yeah, but when this all
started, we couldn't even get a test. I had in March, I
had had a chest infection and I just wanted to I just wanted to get
some antibiotics and like, because one of the things that you have with just
infection is a cough. Literally just all adopts on the phone like no,
you just have to self isolate for two weeks, Like no, I have
a chest, I want some antibotics. Like no, get self islate,
Like can I have a test? No? No, just self isolates.
It's like, yeah, it's really come on because that was rubbish and the
results are you saying for the eight hours or twenty four? Yeah? But
I mean I was. I was the guy said that some people have been
have been reported that can take twelve. It's it's public holiday in the UK
today, so it's possible that the old testing might be a bit slower.
But yeah, apparently forty eight hours to get a text. Yep, sorry
that I was going to say. It would be cool if if it came
through live on air unless it was positive, it would have not been cool.
And I think, like my point here on the results, like may
can move. One of my friends he made a test two weeks ago ago
something that so it took like a couple of days to them to get back
on the results results. Well it was negative, and he was surprised,
like why it took so long. And my theory, if you're negative,
so maybe taking like twenty four like whatever two days, but if you're positive,
they probably come back to you like right, waitah, true, actually
it's very true. But we've got to get these people off the street.
Yeah yeah, yeah, yeah yeah right right, Well, Alessa, it's
had to nip off, so I think that's probably a good sign that we
are done. I just want to say thank you to Lexi for coming on
and thank you. It was like super super interesting today and I really enjoyed
all visuals. I'm sure those of us listening at home perhaps slightly less,
but no, it it was fabulous, So thank you so much. And
I also saw you minimized your desktop at one point and it's like four thirty
in the morning there, which I hadn't realized. So also thank you for
thank you for getting up in the middle of the night to speak to us.
Yeah, I had to wake out, I had to get to bed
at the eat, serious dedication. I slept a couple of hours. But
yeah, yeah, it's not my first talk at as early morning. So
I done my first early money talk back in maybe two months ago at Angel
and New York. So at the first time, once you're speaking as early
money first in your life, it's hard, but after that it's getting now.
Yeah, yeah, it's fine, Yeah, brilliant. Right. Well,
I think that all is left to do is to say thank you to
everyone listening, and we will catch you next week.