Speaker 1: Hey, folks, welcome back to another episode of JavaScript Jabber.
Speaker 1: This week on your panel's It's just Me this week
Speaker 1: Charles max Wood. I'm also here with Aral Rocca Gomez.
Speaker 1: Do you want to just introduce yourself, let people know
Speaker 1: who you are and what maybe you're famous for that
Speaker 1: kind of a thing.
Speaker 2: Yeah, sure, Hello, Well, yeah, I'm at all. I'm from Barcelona.
Speaker 2: I love to contribute the open source, so I have
Speaker 2: a lot of libraries and I try to contrude as
Speaker 2: much as possible to open source.
Speaker 3: And the last seeing a Davy, it's a framework, Risa. Yeah,
Speaker 3: that's the topic of awesome.
Speaker 1: Yeah, I got in, had started having a look and
Speaker 1: it looks like it kind of does everything. So before
Speaker 1: we get too far in, I did want to ask
Speaker 1: why build another framework?
Speaker 3: Right?
Speaker 1: It seems like the running joke for a long time
Speaker 1: was another day another framework kind of thing, So yeah,
Speaker 1: why why create something new as opposed to just saying, oh,
Speaker 1: here's how you're doing reakay whatever.
Speaker 3: Yeah, it's yeah, it's a little bit different than the
Speaker 3: other ones.
Speaker 2: It's a it's a fully started framework, but it's not
Speaker 2: like solid the start jes or or as spal kids
Speaker 2: because all these frameworks, and really it's a top framework
Speaker 2: from some front.
Speaker 3: The library like noj is using React a library, and.
Speaker 2: That's the same for next, but it's using bw aspal
Speaker 2: Kit is using the spread et cetera. And in Brizil
Speaker 2: we implement it in the other way. So we started
Speaker 2: building the framework without any JavaScript from ten library and
Speaker 2: the main goal at the beginning was to be possible
Speaker 2: to create web applications without Java, skip playing code and
Speaker 2: bringing all the power on the server. And here we
Speaker 2: mix ideas from actually the makes that it's a great library,
Speaker 2: and also ideas from server actions, but implemented in a
Speaker 2: different way. And this was the first approach, but then
Speaker 2: we realized that well, really be playing interactions also makes
Speaker 2: sense in order to implement that. And one of the
Speaker 2: things that we like in presides to use the web
Speaker 2: platform as much as possible. And also we are transferring
Speaker 2: hypermedia and the best thing to support this front and
Speaker 2: part was to implement web components and but two in
Speaker 2: a different way because we wanted that the developers can
Speaker 2: write the components in an easy way, in the similar
Speaker 2: way that they are breeding the server components with.
Speaker 3: Yeah.
Speaker 2: Yes, and also we are using signals for these were components.
Speaker 2: So it is another idea of framework, so it's a
Speaker 2: little bit different, but the main goal is that, for example,
Speaker 2: if you have any commerce and almost everything are server interactions,
Speaker 2: you can build it without any component. That is the
Speaker 2: most powerful, more powerful thing, and then you have two
Speaker 2: kill whites.
Speaker 3: That is the size of the RPC.
Speaker 1: Of right, So let's go ahead and start with where
Speaker 1: you started, because you you mentioned that it was you know,
Speaker 1: it had kind of the server what was it, server
Speaker 1: actions and those kinds of things, and then yeah, you
Speaker 1: brought in some of the ideas from HTMX. By the way, folks,
Speaker 1: it's breeze a b r I s A. You can
Speaker 1: find it at Breeza br I s A dot build.
Speaker 1: But yeah, so, yeah, you want to explain how the
Speaker 1: server actions work and how the HTMX ideas kind of
Speaker 1: come in, and then we can move up from there
Speaker 1: to the front end.
Speaker 3: Yeah sure, Yeah.
Speaker 2: In Briza, all the events on the server are server
Speaker 2: actions and they are very similar that from ten events.
Speaker 2: So you can capture not only on submit, also on click,
Speaker 2: on a stroll, on double click, all the events and
Speaker 2: also the propagation is working on the server components so
Speaker 2: you can pass on a server component some event and
Speaker 2: up on the parent of the server components this action
Speaker 2: and the powerful thing here is that we move part
Speaker 2: of the web platform on the server and you can
Speaker 2: access to the to the event and you can access
Speaker 2: to the event current target of value for example or
Speaker 2: that attribute, or you can rest a form on the server.
Speaker 2: In reality, the responsible to the shop is the RPC
Speaker 2: or prison that all the code that the developers are
Speaker 2: Britain executities on the server.
Speaker 3: So this is the powerful thing.
Speaker 2: And then we add some extra attributes from IDA from
Speaker 2: a tetemis for example an indicator to handle pending the states.
Speaker 3: The rower states of this actions m H in a
Speaker 3: easy way.
Speaker 2: Also, for example, if it's an input, we are supporting
Speaker 2: at the bounds. If to support this the bounds on
Speaker 2: the server. It's not the client, but it's written on
Speaker 2: the server. And and also one.
Speaker 3: Of the the ideas of themics that we are supporting
Speaker 3: is hyper media, so all the server actions are transferring
Speaker 3: al but in a streaming okay, and but yeah, to
Speaker 3: understand a little bit better, the how does improved if
Speaker 3: we are thinking to the normal way to do a
Speaker 3: server interaction with other frameworks. Normally, we are adding a client.
Speaker 2: Client to normalize the event, then realize, and then we
Speaker 2: are calling some API endpoint. Then we are awaiting the
Speaker 2: response of the server, and then we are rendering on
Speaker 2: the client, also adding more client gode and in Briza
Speaker 2: we change this approach so all the things happen on
Speaker 2: the server and then you can decide if render the component,
Speaker 2: render the page, or render another component in another place.
Speaker 2: But all these things happen on the server and then
Speaker 2: it's transferring to themilin and streaming and the users see
Speaker 2: the changes much faster because it's the power of streaming
Speaker 2: or that doesn't need to await the response to them
Speaker 2: do this extra shop on the client.
Speaker 1: Gotcha? So how much faster are we talking? I mean,
Speaker 1: I hate asking that question because it depends a lot
Speaker 1: on what you're doing. But yeah, yeah, can you give
Speaker 1: us a ballpark if you benchmarked or anything?
Speaker 2: To be honest, no, because now currently the current version
Speaker 2: of Brisa, it's very experimental, it's not yet the one
Speaker 2: to zero and for the field public version, we focus
Speaker 2: a lot on all the ideas to be all these
Speaker 2: ideas and now one of one of the idea is
Speaker 2: to do all these major marks and also improve the
Speaker 2: disperformance and all these things. So it's something that I
Speaker 2: can tell you, but if you try it, Brisa, then
Speaker 2: you're going to experiment that it's so fast.
Speaker 1: Yeah that makes sense. So yeah, a lot of the work,
Speaker 1: it sounds like, is offloaded to the server. It's not
Speaker 1: done on the front end. It seems like some of
Speaker 1: the other systems that I've been playing with, like next
Speaker 1: jay As for example, you brought them up a couple
Speaker 1: of times, it does some of this, but it doesn't
Speaker 1: a lot of the focus is still on the front end.
Speaker 1: So how does Freeze balance that between what's done on
Speaker 1: the front end what's done on the back end?
Speaker 3: Okay, yeah, but by the fault, it's server component.
Speaker 2: But in Briza, we don't like to say server components
Speaker 2: and client component. But we are telling these people it's.
Speaker 1: More familiar for the understand the idea.
Speaker 3: But yes, but.
Speaker 2: Relative we like to talk about components that works on
Speaker 2: the server but also in build time part because if
Speaker 2: you have an esthetic side, you can do it with
Speaker 2: with Brizia, but then the server actions is not going
Speaker 2: to work. It's one of one of the things. But
Speaker 2: then we are supporting these were components, and thee of
Speaker 2: these were components is that is also powerful because it's
Speaker 2: only three kilo whites including the signals itself, and we
Speaker 2: with a lot of optimizations in thank it will be
Speaker 2: as more timey as possible. And then if you have
Speaker 2: hundred WEA components, it's not increase a lot, it's going
Speaker 2: to decrease.
Speaker 3: Very very small.
Speaker 1: Yeah, that makes sense. So you're kind of optimizing for
Speaker 1: how much information you have to send up to the client,
Speaker 1: including your code, And I like that. I guess the
Speaker 1: other question I have is how does it work as
Speaker 1: far as like you know, storage and things like that
Speaker 1: on the back end, right, are you counting on people
Speaker 1: to use something else there to store stuff in a
Speaker 1: database or use Firebase or something like that, or am
Speaker 1: I completely missing something there?
Speaker 3: Yeah? This is okay, this is an important question. We
Speaker 3: have support.
Speaker 2: Of course, you can use a database and it's not
Speaker 2: a problem. But we are supporting a store on the server,
Speaker 2: and this store lives on the request time by the fault.
Speaker 2: So but in reality we understand it well. And really
Speaker 2: there are two stores, one on the server code on
Speaker 2: the server components and the other one in their components,
Speaker 2: and then you can transfer some properties from the server
Speaker 2: store to the client store.
Speaker 3: And this is powerful because then.
Speaker 2: After transferring some properties from one store to another one,
Speaker 2: then on the on the actions and the sever actions.
Speaker 2: Also you can modify this store and also we create
Speaker 2: a new concept that is the action signals, because if
Speaker 2: you modify this is store on the server action, then
Speaker 2: the WAB components, the signals of the web components are.
Speaker 3: Okay or the changes.
Speaker 1: Yeah, that's nice. So what are you using for this store?
Speaker 1: Is it kind of a proprietary thing or is it
Speaker 1: you know, back it up on whatever database you want
Speaker 1: to use, or how does that work?
Speaker 2: Well, this is store. This is a store on the server
Speaker 2: is very useful for example, if you fetch something or
Speaker 2: or you take something from the database on the top
Speaker 2: level of the page and then all their components and
Speaker 2: consumiting just access with a store for example.
Speaker 1: Yeah, I guess what I'm asking about is like the
Speaker 1: longer term persistence. So I mean typically you see people
Speaker 1: using like an r M with post resql or my
Speaker 1: SQL or something like that. So does your store just
Speaker 1: have some kind of interface to that where it's you know,
Speaker 1: in the process of doing the store stuff also call
Speaker 1: these callbacks that push stuff to the database.
Speaker 3: Uh. Then, well, this is a job that the developers
Speaker 3: need to.
Speaker 2: Do, right, but then I can't do it, for example,
Speaker 2: in our several action. Then they can access to the
Speaker 2: store and save this value to the database, and then
Speaker 2: on the initial render then they can do the same
Speaker 2: job to the database and then incialize the store on
Speaker 2: the middleware for example or in the page.
Speaker 1: All right, so on the front end, I saw some
Speaker 1: stuff about web components, and I mean it, it seems
Speaker 1: interesting to me. It looks a lot like React, and
Speaker 1: that's probably on purpose. But yeah, so I guess I'm
Speaker 1: wondering what the difference is.
Speaker 3: At the end of the day.
Speaker 4: Yeah, when we are writing these WA components, it looks
Speaker 4: very very similar than React because this is it with signals.
Speaker 3: But then there are some difference. One of them is
Speaker 3: that finally.
Speaker 2: They are the components and these custom elements exist on
Speaker 2: the dome and for example, if you need to build
Speaker 2: a form, you need to know the attaching technots, for example,
Speaker 2: to expose this were component to be.
Speaker 3: Part of the form.
Speaker 2: And so there are some difference that we try to
Speaker 2: improve the developer experience to be more familiar for the
Speaker 2: developers in order to build these ware components. And the
Speaker 2: good part also is that thanks to create this JAY
Speaker 2: six component, then it's very easy to support the service
Speaker 2: rendering of this work component thanks to the declarative shovel
Speaker 2: bone on the server and also the type safe work
Speaker 2: pretty well because we know the the props et cetera.
Speaker 3: And then.
Speaker 2: When the good part of briss that when you are
Speaker 2: reading the x it's easy to identify if a component
Speaker 2: is at component or a Ceber component because the web
Speaker 2: component it's written as a crystal element and a Ceber component.
Speaker 3: It's like the free components with six and I prove
Speaker 3: this developer experience.
Speaker 2: What we did is that when you are typing some components,
Speaker 2: you can see all the components that you can consume.
Speaker 2: And the difference here with the normal way to build
Speaker 2: the components that the selector of this crystal element is
Speaker 2: by based on the file name. So you have a
Speaker 2: special folder. It is everything runs on the server except
Speaker 2: one one folder, and this folder is the components folder.
Speaker 2: And then each name of the each file it's a selector.
Speaker 2: So if you have like a custom counter or whatever,
Speaker 2: then is the selector of this crustal element.
Speaker 1: I'm not sure if I completely follow that. So, yeah,
Speaker 1: you want to just kind of give me a brief clarification. Yeah,
Speaker 1: I'm not even sure what to ask clarify.
Speaker 2: Yeah, okay, to understand it correctly. It's important thing because
Speaker 2: if you are building a web component in Briza, then
Speaker 2: if you want to use a component on a server component,
Speaker 2: not that server component, use a component, you don't need
Speaker 2: to do an import of the web component itself. So
Speaker 2: automatically this custom element exists. And and to do this
Speaker 2: relation between which were components you can consume on the
Speaker 2: JASS is based on the name of the web component file.
Speaker 1: Okay, so it's it's doing some kind of autoloading and
Speaker 1: intelligent discovery to know what what it's got and what's available.
Speaker 1: And so yeah, you don't have to goport on every
Speaker 1: single component.
Speaker 3: Yes, exactly.
Speaker 2: Yes, in build time, what we are doing is to
Speaker 2: read all the folder of the web components. Then we
Speaker 2: know the way components that can be consumed, and.
Speaker 5: Then when we detect someware component, it's uh importing Uh yeah,
Speaker 5: this rapper to do this the cloud tip show long
Speaker 5: of them, et cetera.
Speaker 1: That makes sense I mean, besides some of these uh
Speaker 1: you know, optimizations for developer experience, which honestly, that one's
Speaker 1: a big one for me because I'm always trying to
Speaker 1: keep it straight. Okay, where is this I pull it in,
Speaker 1: what do I have to do with it? What do
Speaker 1: I have to know about it? And so if it
Speaker 1: does all of that kind of a build time, then yeah,
Speaker 1: there's a lot less a lot less concern for me
Speaker 1: because I can just I just follow the convention and
Speaker 1: just have it work.
Speaker 3: Yeah.
Speaker 2: One of the things that we wanted to do with
Speaker 2: with this is to do like a sepparssion of concerns,
Speaker 2: so that on the server components, all the importance is
Speaker 2: for the server code, and then you can consume that
Speaker 2: we're components as we're components that is just for some elements.
Speaker 3: And this was the bea basically Yeah, it makes sense.
Speaker 1: So I mean, do the components look and function basically
Speaker 1: like React components or are there some differences that you
Speaker 1: ought to be aware of that are going to trip
Speaker 1: you up?
Speaker 2: They work on the as functions, so it's not working
Speaker 2: as class. Ah well, it's very similar time.
Speaker 1: So what are the differences you're going to see I'm
Speaker 1: assuming kind of the fundamental stuff all works the same.
Speaker 3: So the difference between that, so a React.
Speaker 1: Component versus a BRESA component.
Speaker 3: Okay, uh?
Speaker 2: Yeah, for example, in that we are not using capital
Speaker 2: and we are not using renders, so they dated the
Speaker 2: only happens one render and then thanks to signals, when
Speaker 2: some estate change, that is some sub signal change is
Speaker 2: reacting without ruining all the all the web component.
Speaker 1: So does that change the life cycle of the component then?
Speaker 1: And do you have to be aware of some of
Speaker 1: that stuff?
Speaker 2: Then all the mounting kind of mounting is working as
Speaker 2: an normal component. But then updating this component is uh
Speaker 2: is this signals approach?
Speaker 3: Yes?
Speaker 1: So then I guess my question is what's the primary
Speaker 1: benefit to using Freeza instead of a reactor view?
Speaker 3: Is it?
Speaker 1: Is it the developer experience or you know, you also
Speaker 1: mentioned the performance. Are those kind of the big reasons
Speaker 1: why I might want to look at this?
Speaker 3: Yeah?
Speaker 2: It of course that when when when when I started
Speaker 2: the prison, the main goal was what I said, to
Speaker 2: build our applications without Java strip playing code, and this
Speaker 2: for me is the most important part. For example, if
Speaker 2: you have any commerce, and any commerce almost all the
Speaker 2: interactions of sever interactions like ad item to the card
Speaker 2: or also an infinite scroll. You can do it with
Speaker 2: a server sever action in Briza. And and this is
Speaker 2: the big powerful tool.
Speaker 3: The load in time be very very fast. And and
Speaker 3: then also all the ideas of these surve reactions also
Speaker 3: it's too improve this time also during this interaction thanks
Speaker 3: to Attemli storm.
Speaker 1: I mean a few other things that I said.
Speaker 3: The developer experience no go ahead, Yeah sorry sorry. The
Speaker 3: developer experience is very similar in really React.
Speaker 2: But then also for example, the developers needs to take
Speaker 2: account that there are things that in really event is
Speaker 2: all the client parties with components, so there are important
Speaker 2: things that they need to know, like attach internal for
Speaker 2: example as recommend before or the forums, et cetera.
Speaker 1: So one other thing I saw on here and I
Speaker 1: kind of feel like I buried the lead here a
Speaker 1: little bit because this is something that I know a
Speaker 1: lot of people look for in whatever they're doing. But
Speaker 1: it looks like you have built offerings for fun no Dino,
Speaker 1: which kind of makes sense. But you've also got Android
Speaker 1: iOS and desktop, So what is that look like?
Speaker 3: Okay, about the run time, the Jabski run time.
Speaker 2: At the beginning, we started only with band because ah,
Speaker 2: when when I started to build Briza was with all
Speaker 2: the banding. For example, we are not using bits. We
Speaker 2: are using band or the build because it has some
Speaker 2: powerful things like the macross that we like, and also
Speaker 2: we have some features that thanks to these macros.
Speaker 1: But then if us fund to build it, can you
Speaker 1: build it for Node and Dino as well without beat?
Speaker 2: Okay, yes, yes, yes, yes yeah, thanks to band, we
Speaker 2: can build it also for Note and also or we
Speaker 2: know we yeah, we are building. We are building from
Speaker 2: a four note and also doing some abstractions to work
Speaker 2: correctly with with you know, because we realize and also
Speaker 2: things to feedback from people that we should support more
Speaker 2: run times. And then we implemented Node and then finally
Speaker 2: Dinner and also for the one dot zero version we
Speaker 2: won't also improve the room time agnostic thing and also
Speaker 2: support some clouds that we are not supporting now and
Speaker 2: but this is a thing for the future.
Speaker 3: And then about the Android iOS or desktop thing. In reality,
Speaker 3: what we are doing here is to.
Speaker 2: Support to integrate everything with touri okay in a easy way,
Speaker 2: so that the developers with only one configuration can turn
Speaker 2: your web application to an Android or adios or desktop
Speaker 2: in easy way, and all these figuration is automatically by
Speaker 2: the CILII of RISA.
Speaker 1: Yeah, I'm trying to find a link to Towery. Mhmm,
Speaker 1: maybe I'm spelling it wrong.
Speaker 3: Yeah, it's always very powerful because it's a rast web
Speaker 3: built or for the best stop.
Speaker 2: Application, and it's much powerful for example that Electron because
Speaker 2: it's tiny and also.
Speaker 3: Mattering performance.
Speaker 1: Yeah, definitely, and I was spelling it wrong. It's it's
Speaker 1: t A U r I for the folks that are
Speaker 1: out there looking for it. Wait, some of these folks anyway,
Speaker 1: So yeah, cool stuff. So when it does the the
Speaker 1: build for the native apps for Android or iOS or
Speaker 1: the desktop, you said it's faster than Electron, But does
Speaker 1: it have a JavaScript run time in it? Is it
Speaker 1: kind of like Capacitor or something like that, or Cordova
Speaker 1: or is it more like React native or something like that.
Speaker 2: You can use native things thanks to Towery and Towery
Speaker 2: you can do some buildings and then you can write
Speaker 2: things in rest.
Speaker 3: All.
Speaker 2: The thing is documented very well in the Towery documentation.
Speaker 2: So yeah, in Brisa, the only thing that here we
Speaker 2: are doing is an integration that then the developers can
Speaker 2: use in an easy way for that.
Speaker 3: But all the things are very native and you can.
Speaker 1: Yeah, makes sense. So are people using this today for
Speaker 1: their applications? You said you're still working on it, but.
Speaker 3: Mm hmm. Yeah.
Speaker 2: Here one of the improvements that we want to do
Speaker 2: for Android or idios, uh that is on the roadmap
Speaker 2: of the one is to do two different builds, one
Speaker 2: for the server part and the other one for the
Speaker 2: execuitable not for the the Android rios, and then to
Speaker 2: be connected automatically for these server actions.
Speaker 3: And well, yes your questions.
Speaker 1: So my question is do you have people actually using
Speaker 1: prison now in production.
Speaker 3: Or uh huh. Yeah, now a few people it's using it.
Speaker 3: But for example Albert that is one of the contributors.
Speaker 2: He has his company that is a travel agency all
Speaker 2: with RISA, not only the public part, also the back
Speaker 2: office with RISA. And yeah, but as I comment, curdly
Speaker 2: is experimental preside zero dot and we put that we
Speaker 2: don't recommend to use it in production. But of course
Speaker 2: there are people that is using it, but almost all
Speaker 2: the people is just playing with with with with it.
Speaker 2: And also we are creating a great community in Discord.
Speaker 3: And there are some production projects, but I feel for now.
Speaker 1: That makes sense. So are you hoping that this, you know,
Speaker 1: eventually gets to one dot oh and people can use
Speaker 1: it in production? Or is this mostly an exercise to
Speaker 1: just learn how to build something like this? Or I mean,
Speaker 1: what are you hoping to get out of it in
Speaker 1: the at the end of the day.
Speaker 3: Are you asking about one to zero programs?
Speaker 1: No, I'll ask about that in a minute. What I'm
Speaker 1: asking about is where do you want this to take you?
Speaker 3: Right?
Speaker 1: So are you just trying to learn about how to
Speaker 1: build things like these frameworks or are you hoping to
Speaker 1: build a company around it? Or are you looking to Okay.
Speaker 3: Yeah, and I understand.
Speaker 1: Hey, I like to give conference talks about it, or
Speaker 1: you know, my company that I worked for needed it.
Speaker 1: So I just want to solve their problems. There are
Speaker 1: a million reasons to do them. A lot of times
Speaker 1: it's more than one, right, So yeah, I'm just curious.
Speaker 3: Now.
Speaker 2: And really one of the things is that all the
Speaker 2: projects on my side projects I wanted to are using
Speaker 2: this out. So my blog PA is with Riza, and
Speaker 2: all the side projects that I want to do with
Speaker 2: I want to do it with my own Okay, but
Speaker 2: I'll so at the beginning when I started. Also I
Speaker 2: liked the idea of learning by the way and and
Speaker 2: also the idea of contributing to the web a little
Speaker 2: bit better, so and bring my ideas and.
Speaker 3: I really did. This was the origin that why I
Speaker 3: started in order to to to build prison.
Speaker 1: Gotcha. So yeah, what is on that?
Speaker 3: Also? Go ahead?
Speaker 2: Mhm no, just to comment that also thanks to Mincos
Speaker 2: from from Angola and quick that he came to Barcelona
Speaker 2: two years ago and and I talked with with him,
Speaker 2: and I remember that he talked about week like his baby,
Speaker 2: with a lot of passions and all these feelings.
Speaker 3: Uh. And then I remember that just at this moment I.
Speaker 2: Cameto my mind. Oh, I would like it to be
Speaker 2: the framework, but it doesn't make sense to be the
Speaker 2: framework without Aroma. And then it's when I started to
Speaker 2: I tried the xtgs server actions and at the beginning
Speaker 2: was wow. I like the DA, I like the via
Speaker 2: of server actions and also devia of archademics, but I
Speaker 2: didn't like how ter reactions is implemented in XTES. And
Speaker 2: there are a lot of things that I think that
Speaker 2: should be better implemented, but it's with a different part
Speaker 2: of the part of time. So that I can't contribute
Speaker 2: to an XTGS, and then I started writing my ideas.
Speaker 1: I have to say, one of the things that I
Speaker 1: don't love about some of the things in next GS,
Speaker 1: like server actions, is that some of them are a
Speaker 1: little bit tricky to get running on your own. Just
Speaker 1: to give you an idea, So I like to deploy
Speaker 1: my own apps to my own server, and you know,
Speaker 1: kind of live in that space. And I know people
Speaker 1: think I'm crazy. It's like, just just deploy it to
Speaker 1: vercell or just put it on the cloud, but I
Speaker 1: want to set it up and run it, you know,
Speaker 1: on on doctor containers wherever I want it. And some
Speaker 1: of that stuff's just a little bit tricky to do
Speaker 1: without the cloud infrastructure that's offered by evercell or netlefi
Speaker 1: or something like that. And so that that's kind of
Speaker 1: my hang up, the idea that there's a framework out
Speaker 1: there that kind of has it built in and I
Speaker 1: can just deploy however I want. I'm digging that. I
Speaker 1: like that a lot. What is the deployment story for Briza.
Speaker 1: Do you expect people to be using something like versell
Speaker 1: or can you deploy it on your own?
Speaker 3: Yeah, we.
Speaker 2: Have an adaptor for Burcel then Albert that it's a
Speaker 2: contributor that has his company with Briza, he is using
Speaker 2: a closer. However, we don't have the adapter of clothes
Speaker 2: or clover yet, so it's very working in progress. And
Speaker 2: also you can use a doctor file with.
Speaker 3: Ban or with not or, but for now the only
Speaker 3: cloud provider that we have some adapted it ourselves. But
Speaker 3: in reality and then it's used a server.
Speaker 1: So so I could go set up just a small
Speaker 1: droplet on digital or just say here's my code run
Speaker 1: and it'll it'll run just fine.
Speaker 3: Exactly. Or if you decide yes, or if you decide
Speaker 3: for example, the output as a static for example as
Speaker 3: my blog, then you can't build it in any city
Speaker 3: end for example.
Speaker 1: Yeah, I've seen that with a few of the other
Speaker 1: frameworks as well, where yeah people do that and then
Speaker 1: they deploy it like Amazon S three and then yeah
Speaker 1: they can put a web server in front of it
Speaker 1: really easily and then it just serves your stuff. So yeah,
Speaker 1: very cool. So what is on the roadmap for one zero?
Speaker 3: The most important part here is to be a stable.
Speaker 3: So now we are prioritizing all the issues that the
Speaker 3: community is founding. So for now we are growing the
Speaker 3: community and the goal is to to grow more.
Speaker 2: And also because we are interested that the people try
Speaker 2: it RISA and found issues in order to fix that,
Speaker 2: and probably this is the most important topic.
Speaker 3: But then also we have some dependency.
Speaker 2: For the navigation API that is experimental yet but it's
Speaker 2: in the interrupt of these year, so probably this year
Speaker 2: is going to be supported in all the browsers. And
Speaker 2: because for the single pet application approach, we are using
Speaker 2: it and we prefer to await in order to also
Speaker 2: be stable this and then in the roadmap, the need
Speaker 2: is to increase the adapters to be more room and
Speaker 2: diagnostics also and I'm more.
Speaker 3: Aligned to two clouds.
Speaker 2: Also we need to create a Netlify adapter the closer
Speaker 2: once and there are a lot of things to do
Speaker 2: in these terms.
Speaker 3: And then also for the components, what we want to
Speaker 3: do is UH is.
Speaker 2: Great mode like partial iteration, to that the developers can
Speaker 2: decide that for example that the components UH is iterated
Speaker 2: when it's visible for example or in elisible way, or
Speaker 2: or by the fault that it is the nature. Then
Speaker 2: also we want to support transitions that it is a
Speaker 2: proposal from the community, because one of the things that
Speaker 2: we did for this roadmap is we bring some ideas
Speaker 2: that we want to do it yes or yes, because
Speaker 2: at the beginning of the field roadmap, but we move
Speaker 2: it to the next one. And then we asked the
Speaker 2: community in discord and that they brought the proposals, et cetera.
Speaker 2: And also, for example, there is a good proposal to
Speaker 2: improve all the offline first things, and it's something very
Speaker 2: interesting that we want to implement also, and also in
Speaker 2: order to improve the developer experience, we also want to
Speaker 2: improve some the current playground because the current playground on
Speaker 2: the web site is working only for the components, but
Speaker 2: we can improve that because and then for the developers
Speaker 2: it's easy to play and see how it works. And
Speaker 2: also in increment the number of examples we have so
Speaker 2: examples that the developers can try it.
Speaker 3: But one also to.
Speaker 2: Improve and there are the most important part is to
Speaker 2: improve the harder loading that we have because now it's
Speaker 2: a little bit slow. It's fast because it's running with
Speaker 2: bang and ban all the build process is very fast.
Speaker 2: But currently one of the problems is that instead of
Speaker 2: running only the files that change is building all the applications.
Speaker 2: Every time, and if you have a very big website,
Speaker 2: a web, a very big project, then unitize that it
Speaker 2: is a little bit slower.
Speaker 3: And yeah, but now thanks to Band, they are improving
Speaker 3: that and.
Speaker 2: Then implementing new APIs for watch files during this field process.
Speaker 2: And also they are building a BAKE that is a
Speaker 2: server framework of Band that improves a lot all these things,
Speaker 2: and we want to integrate all these things.
Speaker 1: Cool. Was there anything else that we should get into
Speaker 1: with Breeza.
Speaker 2: Well, when I recommend for the developers is to go
Speaker 2: to the website is up build and here we have
Speaker 2: examples that they can try in ex way, for example,
Speaker 2: how to use.
Speaker 3: Sexual light in a ster reactions. And also one of
Speaker 3: the things that we are supporting that I don't comment
Speaker 3: is generators.
Speaker 2: So in order to have more control about the streaming
Speaker 2: part you can we are supporting as in components but
Speaker 2: also as in generators, and then you can decide each chank.
Speaker 3: Of the streaming and this is powerful.
Speaker 2: For example with a secular light of Band that is returning,
Speaker 2: example for a list, it's returning in the streaming, so
Speaker 2: then you can render this list in the streaming.
Speaker 3: And also your de developers can drive a playground and
Speaker 3: play with is that?
Speaker 2: And maybe another topic, it's about international internationalization. Maybe you
Speaker 2: can talk about it because brizge supporting internationalization, but not
Speaker 2: all for the rotin part, so it's also supporting international
Speaker 2: internationalization in order to translate all the content of the BASAs.
Speaker 1: So what's different about your internationalization because I saw it
Speaker 1: on your website. But to be honest, and maybe this
Speaker 1: is a naive take on things, but internationalization, I guess
Speaker 1: it depends on the app, right, because some apps it's like, look,
Speaker 1: I'm only building this for the US, I'm only building
Speaker 1: it for English speaking audiences, and so I don't do
Speaker 1: the internationalization. But if you're putting a product out there
Speaker 1: that could be used across the world or even you know,
Speaker 1: here in the US we have more and more people
Speaker 1: speaking Spanish, right your branch into Canada, you hit French
Speaker 1: pretty fast, right, So there are a lot of reasons
Speaker 1: to do it, But it seems like table stakes to me.
Speaker 1: For most of the apps that I'm building, it's like, Okay, well,
Speaker 1: I want this to work for English and Spanish speakers
Speaker 1: because they're in my market, right, and then as my
Speaker 1: market expands, I can add in internationalization. For the other stuff.
Speaker 1: So yeah, I guess I just kind of took it
Speaker 1: for granted. But yeah, why why are you making it
Speaker 1: first class? I guess is one question. And then the
Speaker 1: other question is, yeah, what what are you doing there
Speaker 1: that's different from maybe other things that I've seen?
Speaker 3: Okay, Yeah, Well, in international internationalization, the vaids to for
Speaker 3: for CEO.
Speaker 2: In order to improve it's important to provide a different
Speaker 2: en urils for each language you don't have, well, to
Speaker 2: have more content content in different languages, and then the
Speaker 2: Google and other searchers can get all the content in
Speaker 2: different in different bases. And then for all the routine
Speaker 2: we are supporting that exactly, the the isso and then
Speaker 2: the name of the page, and also you can't translate
Speaker 2: the page name. For example, in Spanish, about us can
Speaker 2: be translated to sobers that it's the same in Spanish.
Speaker 2: And you can define all these things in the Internal
Speaker 2: Internationalization configuration and then it's automatically handled for by BRIZA,
Speaker 2: so the developers don't need to do almost anything, so
Speaker 2: it's very easy to intepret it. Also, we are supporting
Speaker 2: a chair of lands, so if we know that page
Speaker 2: is supported in different languages, then to improve the CEO,
Speaker 2: we are supporting this tact and also.
Speaker 3: The lank attribute in the edgitment.
Speaker 2: This for one part that is all the routing part,
Speaker 2: and then for translations we are also supporting our implementation
Speaker 2: that it's a breach of the echmastry API the intel
Speaker 2: and I did it in this way because before doing Brizia,
Speaker 2: I have experienced with an open source library that is
Speaker 2: next time to late that it's the most use the
Speaker 2: library that I have.
Speaker 3: That it's internalization library for next years.
Speaker 2: And now CORD is used by a lot of people,
Speaker 2: so it has like eight eighty thousand dollars per week and.
Speaker 3: Have a lot of time of years now.
Speaker 2: And when I did this library for many yes, I
Speaker 2: see that there are a lot of things that I
Speaker 2: can do in the library because I don't have the
Speaker 2: control of the framework, and doing this integration directly on
Speaker 2: the framework, then it's much powerful for to do for
Speaker 2: the art lands, for translating the roots and.
Speaker 3: M and also then to bring on the client all.
Speaker 2: Of the keys and the cercies that we need to
Speaker 2: consuming the component for example, instead of all the dictionary
Speaker 2: and the code that is doing that. It's very funny,
Speaker 2: it's eight eight hundred bytes, so it's less than one
Speaker 2: killow white. And this is why we decided in order
Speaker 2: to build our translational scene would be very very tiny,
Speaker 2: and all the.
Speaker 3: Responsibilities like.
Speaker 2: Plualization, et cetera, and the responsibility to do that is
Speaker 2: the ex masculad.
Speaker 1: Cool, very cool. Yeah, I have to say so. Most
Speaker 1: of my development experiences, as most of the listeners already know,
Speaker 1: is in Ruby on rails and they have built in
Speaker 1: internationalization stuff.
Speaker 3: Right.
Speaker 1: You just provide the files that give the translations and
Speaker 1: the keys, and it just does it. And it looks
Speaker 1: like most yours mostly works the same way. It's hey,
Speaker 1: you know this, this is the phrase for this, and
Speaker 1: then it just does the thing, which is which is
Speaker 1: super nice.
Speaker 3: M hm. Yeah.
Speaker 1: So you mentioned you did mention having a different u
Speaker 1: URL for the different languages. Do you just expect that
Speaker 1: in the Oh yeah, it looks like it's in the routing.
Speaker 1: You could also do like yeah, domain routing. Yeah, so
Speaker 1: it looks like you have all of that, and then
Speaker 1: it also does the automatic locale yes detection. And so
Speaker 1: if I've got mine my browsers set to US English,
Speaker 1: you know, or sometimes I get a wild hair and
Speaker 1: I'll do Italian because I speak and read Italian fluently. Right, Yeah,
Speaker 1: this is a lot of.
Speaker 2: H I mean if he's not if it's a language
Speaker 2: that is not supported, then it's logging the old.
Speaker 1: Which makes sense. So you mentioned that, you know in
Speaker 1: the documentation on here is it looks like it's pretty thorough,
Speaker 1: you know, And you've also mentioned that, Yeah, you do
Speaker 1: your blog, which is static, and then you know the
Speaker 1: other guy is using it for his travel agency, and
Speaker 1: so it's actually probably managing data and images and stuff
Speaker 1: for people who want to travel. Let's say I decide, okay,
Speaker 1: you know what, I'm going to go build something in
Speaker 1: Breza and just see how it goes. And I mean,
Speaker 1: where do I start? Do I just start with getting
Speaker 1: started on the documentation? Should I join Discord? Follow you
Speaker 1: on Twitter? Are there other places?
Speaker 3: Yeah? If you are to the get the start of
Speaker 3: the recommendation, you can see that it's only one comment,
Speaker 3: a comment that it's the band Great Prison, and then
Speaker 3: you kind of start.
Speaker 1: With so I have to use ban some project.
Speaker 2: But okay, yes, one of the things is that you
Speaker 2: need you need bud for all the tooling part, and
Speaker 2: also you can go to the campos, and then you
Speaker 2: can try an example also with only one comment and
Speaker 2: you can say like band great prison, and then we
Speaker 2: have a flag that is an example, and then you
Speaker 2: can put the name of the example and unload.
Speaker 1: It makes sense.
Speaker 3: And also also we invite the people also to join
Speaker 3: to discord and any do anything.
Speaker 2: You you can talk on the on the general channel
Speaker 2: and we are mum hm, well, we are responding very fast.
Speaker 2: And also we like uh in the interaction and feedback there,
Speaker 2: so feel free.
Speaker 1: Good deal. I don't know if I have anything else.
Speaker 1: Was was there anything else that you wanted to hit
Speaker 1: or should we just move on to the last part
Speaker 1: of the program.
Speaker 3: I think we talked a little bit about everything. Of course,
Speaker 3: there are a lot of topics and there are a
Speaker 3: lot of topics that we didn't talk about it. But
Speaker 3: for example, about the layout, all the structure of the pages,
Speaker 3: and I want to comment that it's very inspired with
Speaker 3: nextges and the pages folder. So it's how we are
Speaker 3: defining the pages. And then also we are supporting more
Speaker 3: things like suspense or UH an error not if you
Speaker 3: have some error on the server component.
Speaker 2: It's it's implemented in a different way than Next years.
Speaker 2: Because why in React, because it's not boundary that it's
Speaker 2: not a ropper. It's like different phases that the component has.
Speaker 2: So for example, there're sin component has like appending the
Speaker 2: state that this is bands and then this error and
Speaker 2: in order to define them. It's a little bit different
Speaker 2: than than React. Also, we are supporting mid al ware
Speaker 2: web sockets, so we are supporting a lot of topics.
Speaker 2: But what I invite the developers is to go to
Speaker 2: the documentation ry. It alsopp forestyles we are supporting ah uh.
Speaker 3: Also tail wind. We have an adapter for for tail
Speaker 3: wind and also another adapter for the CCS. Also you
Speaker 3: can use ccs in a normal way. Also we are
Speaker 3: supporting CCS models and well but yeah, I invite the
Speaker 3: people in order to try it, and yeah.
Speaker 1: Very cool. All right, Well, the last part of our
Speaker 1: program is picks and picks are just shout outs. It's
Speaker 1: an idea I actually stole from a podcast I don't
Speaker 1: listen to anymore twit dot TV. I'm not going to
Speaker 1: go into why I stopped listening to them, but I
Speaker 1: like the idea, so I borrowed it. Incidentally, I'm looking
Speaker 1: at borrowing some other ideas from another show I'm listening
Speaker 1: to now. But picks is just shout outs about stuff
Speaker 1: that you like. So a lot of times people do
Speaker 1: like I do board games every time, right, so I'll
Speaker 1: do a shout out about a board game, and then
Speaker 1: but people do TV shows, they'll do technology stuff too, right,
Speaker 1: so they'll pick, Hey, I really like these computers, or
Speaker 1: I really like this library or whatever. So I'll go
Speaker 1: ahead and do my picks, and then you can go
Speaker 1: ahead and throw in anything that you want to make
Speaker 1: sure people check out. So my first pick is a
Speaker 1: board game. What we played last week with my buddies
Speaker 1: was Heat, and I've picked before, but Heat is a
Speaker 1: car racing board game. I'm not going to go into
Speaker 1: all the details, but the main component of it is
Speaker 1: that you're trying to get You're trying to win the race,
Speaker 1: and so whoever gets the furthest past the finish line
Speaker 1: on the last turn wins. And I guess there's a
Speaker 1: campaign mode that I haven't played, where you do multiple
Speaker 1: races and then you know, as you win the different races,
Speaker 1: you actually get winning money that you can spend to
Speaker 1: upgrade your car. But the trick of the game is
Speaker 1: that you have heat in your engine, and if you overheat,
Speaker 1: then your car spins out and you you have to
Speaker 1: go back. And so typically what it is is that
Speaker 1: you're taking a turn and then there's a speed limit
Speaker 1: on the turn, and so if you move too many spaces,
Speaker 1: every space you move past the speed limit on that turn,
Speaker 1: you take heat into your playpile, into your discard pile actually,
Speaker 1: and so then you shuffle your discard pile and you
Speaker 1: have all that heat. But if you run out of heat,
Speaker 1: you can't take any more heat out of your engine
Speaker 1: into your hand, into your deck, then you spin out
Speaker 1: and you go back to a line on the curve
Speaker 1: and so and then you have to still pass it
Speaker 1: with that speed limit. And so the trick is is
Speaker 1: getting as far around that curve and then managing the
Speaker 1: heat as you go through the next two or three curves. Right,
Speaker 1: most of them have a long stretch where you can
Speaker 1: you know, you can do some things to recover heat,
Speaker 1: or sometimes you can do other things to recover heat. Anyway,
Speaker 1: and you know there's some variability in your speed and
Speaker 1: stuff like that. There are cards that make it a
Speaker 1: little more randomized. You're not always playing numbers that you picked.
Speaker 1: But anyway, it's a super fun game. I think we
Speaker 1: played it in about forty five minutes to an hour.
Speaker 1: There were five of us, and so yeah, I'm going
Speaker 1: to pick Heat and then yeah, as far as other
Speaker 1: things go, I figured out that nineteen twenty three is back.
Speaker 1: So that's one of the Yellowstone spin off TV shows.
Speaker 1: It's got Harrison Ford and Helen Mirren in it. I
Speaker 1: don't know that any of the other actors or actresses
Speaker 1: or people that I could just name off the top
Speaker 1: of my head that oh they were in this thing
Speaker 1: that I also really liked, but it's it's a really
Speaker 1: good show. A little bit of a warning there's some
Speaker 1: nudity and some language that said. Another pick if you're
Speaker 1: if you want to wait for that kind of thing
Speaker 1: to be taken out is vid Angel, and so you
Speaker 1: can go sign up for vid Angel. Aroll is in Spain.
Speaker 1: I don't know if they offer it in Spain. I
Speaker 1: know they offer it in the United States. They're actually
Speaker 1: based here in Provo, which is not too far from me.
Speaker 1: But what they do is is you can load it
Speaker 1: up works with Amazon Prime, and then I think if
Speaker 1: you have your other subscriptions for like HBO or Paramount
Speaker 1: plus or whatever on Amazon Prime then you can watch
Speaker 1: some of those shows. Also works with Netflix, and the
Speaker 1: way that they do it is they actually have people
Speaker 1: who don't mind the language and the nudity and the
Speaker 1: sex and whatever else you want taken out, and they're
Speaker 1: pretty thorough Like. There's a lot of stuff that when
Speaker 1: my wife and I watch we turn it back on.
Speaker 1: It's like, Okay, you know, that guy gets shot with
Speaker 1: a gun, but you know, it's not super gory. We're
Speaker 1: not seeing anything that we don't want to see, so
Speaker 1: it'll turn it back on. Right. Some of the language
Speaker 1: doesn't bother us, but some of the other language does.
Speaker 1: Especially my wife, she's a lot more sensitive to it
Speaker 1: than I am. Right, And so we'll we'll say not
Speaker 1: these words, but those words, right, and so your sound
Speaker 1: will cut out when they say the word, you know,
Speaker 1: and it will skip the parts that have the nudity
Speaker 1: and sex in it. And so if anything else happens
Speaker 1: while that's going on, yeah, you might miss some stuff,
Speaker 1: but I haven't found that it really affects the quality
Speaker 1: of what we're watching. So anyway, but if you want
Speaker 1: to watch nineteen twenty three, I'm enjoying that, I'm also
Speaker 1: watching the new season of Reacher. Usually I wait and
Speaker 1: I pingj them, and this time I didn't, so I've
Speaker 1: been waiting for episodes to come out, which is strange.
Speaker 1: But anyway, so those are my picks. And then finally
Speaker 1: my final pick is I just got hired new job
Speaker 1: at Prize Picks and so they sent me a big
Speaker 1: box of swag and so I got a water bottle.
Speaker 1: I'm holding it up if you're not watching the camera.
Speaker 1: I got some stickers, I got a backpack, I got
Speaker 1: a T shirt. They're going to be shipping me a
Speaker 1: laptop to work on, but I'm pretty excited to be
Speaker 1: working on that stuff. So as we dive into that,
Speaker 1: I will get you more stuff that you know, let
Speaker 1: you know what I'm working on. But anyway, those are
Speaker 1: my picks. A roll. What are your picks?
Speaker 3: Okay? Cool? Okay? My are a little bit different. I
Speaker 3: recommend a book that for me change my life. That
Speaker 3: is why we sleep and it's very important to know
Speaker 3: how we are working and how the sleeps works.
Speaker 2: And it's from Matti Walker, and I recommend it and
Speaker 2: it's a very important topic. I had problems of sleep
Speaker 2: on the past, and I recommend that when for for
Speaker 2: every everyone in reality, but also for developers, sometimes we
Speaker 2: are thinking.
Speaker 3: That we to spend more time on the night with
Speaker 3: with a code and then but really is better to stop.
Speaker 2: I have a pettyquot routine and this is much powerful
Speaker 2: then and at them. So I recommend this book while
Speaker 2: we live. And also another topic is a sport. I
Speaker 2: recommend to do any sport for everyone. In my case,
Speaker 2: I practice parkour for a lot of years, more than twenty.
Speaker 3: Yeah, and it's very important to do some sport because.
Speaker 2: It's like doing decisions every in every moment you no
Speaker 2: and and also then you are focused.
Speaker 3: On the current moment. And when you are training some
Speaker 3: sport then also brings a lot of power for a
Speaker 3: different analysis than or when you're programming. Then it's.
Speaker 2: Then very similar because when you're programming, you are taking
Speaker 2: decisions every time, and it's a very good way in
Speaker 2: order to brain this in a different way, and it's
Speaker 2: very positive and I recommend the people to do some
Speaker 2: sport very cool.
Speaker 1: I have a question about that. I mean I I
Speaker 1: do triathlons and marathons, but my question about parkour in
Speaker 1: particular is if somebody goes, you know, I've seen videos
Speaker 1: of parkour or you know, you know TikTok videos or
Speaker 1: something right where somebody's jumping off of something or kicking
Speaker 1: off of something or you know, doing a flip downstairs
Speaker 1: or something like that. How do people get into parkour? Like,
Speaker 1: are there good resources for people to okay, here, here's
Speaker 1: baby parkour, here's you know, okay, now you're not going
Speaker 1: to hurt yourself parkour, and then here's the risky parkoer.
Speaker 3: Yeah, career is very.
Speaker 2: Different way in order to join that years ago because
Speaker 2: years ago was like a new thing. But now there
Speaker 2: are schools academies in almost each city that you can
Speaker 2: learn all the things in with crush mats in a
Speaker 2: soft environment. And the most important part of parkour is
Speaker 2: that you know your limits and all the decisions should
Speaker 2: be how you feel. If, for example, you have a
Speaker 2: bad day, you are the responsible to the side if
Speaker 2: not to the jump today, not because it's not like
Speaker 2: competition with other people. That also is an other topic
Speaker 2: because now exists competition in parkor. But for me, par
Speaker 2: the most important parties to train to ourselves and to
Speaker 2: know your limits. And I recommend to be very progressive
Speaker 2: in these terms. So to start in without hate, and
Speaker 2: and then uh, step by a step you are learning.
Speaker 2: So like programming, you you are not going to start
Speaker 2: building a framework. You start step by a step and
Speaker 2: then uh you're after some years, then you can do
Speaker 2: more complex things.
Speaker 1: I guess, I guess what I'm asking for is is
Speaker 1: there like a tutorial you like out there that says,
Speaker 1: here are the basics of how to do parkour.
Speaker 2: There are some web pages that there are the technique,
Speaker 2: the techniques, and the most important part is how to
Speaker 2: d and now how to learn correctly without impact and
Speaker 2: and then to learn the basics.
Speaker 1: Cool? Yeah, all right, well I'll just go on YouTube
Speaker 1: and how to land without hurting myself? Cool? What else
Speaker 1: are you going to pick?
Speaker 3: Absolutely? If you if you serve my name at Rocca h,
Speaker 3: you can't found the both topics about programming or about
Speaker 3: Parker in YouTube for example, my channel a Rocca it's
Speaker 3: about Parkle.
Speaker 2: But then in Twitter everything is about programming. So it's
Speaker 2: like two different walls. So it's it's like Britain not
Speaker 2: that have the server wall and the playing walls. But
Speaker 2: but yeah, two different topics.
Speaker 1: Very cool. You were going to pick something else? I think,
Speaker 1: and I interrupted you.
Speaker 3: I wanted to recommend a movie that I like it
Speaker 3: that it's Life is Beautiful and in Spanish is laveds Vedia.
Speaker 3: I watch it three times or four, I think, and.
Speaker 2: It's it's like the interpretation of it's there are something
Speaker 2: that is wrong, and you can interpret in a different way.
Speaker 3: To at least enjoy and be frustrated. And I like
Speaker 3: the movie.
Speaker 1: And I love that movie Lavi te Bella in Italian.
Speaker 1: And so the first part of the movie, they're not
Speaker 1: in the the concentration camp. They're in the city. And
Speaker 1: the city that they're in is all right, so and
Speaker 1: I lived there for five months, and so it's it's
Speaker 1: fun to watch the movie and go, yeah, I've been
Speaker 1: up that street and I've you know, I've been there
Speaker 1: and I've yeah. Anyway, but it's a tremendously good movie.
Speaker 1: It's it's a sad movie, but it's it's also a
Speaker 1: fun and it's a very good movie.
Speaker 3: Yeah, it's sad, but turns meet a lot. Yeah.
Speaker 1: Cool. Well you mentioned the discord. You mentioned Twitter. How
Speaker 1: do people find you on the internet.
Speaker 2: Yeah, in internet, you can find me in Twitter or
Speaker 2: inniches with al Raca, and then you can find Briza
Speaker 2: with brizea dot build. That is the website, and in
Speaker 2: the website we have all the links from Discord and everything.
Speaker 1: Yeah, I was going to say the Discord is easiest
Speaker 1: to find just by going to the website and clicking
Speaker 1: the link.
Speaker 3: Yes, and if not, Brizilt build live Discord and we
Speaker 3: have a cool.
Speaker 1: We'll go ahead and wrap it up. Thanks for coming.
Speaker 1: This was a lot of fun.
Speaker 3: Thanks for you learnt