¶ Welcome to DejaVue
Welcome to DejaVue.
It's your favorite Vue podcast. You just don't know it yet. Or maybe do. Maybe having a Deja Vu. And we are back for another episode here. With me is Michael Thiessen.
Hey, everyone. I am a Vue educator, if you don't know, and I do content and courses and all sorts of things like that. And with me is Alex.
Yeah. Hey. I'm Alex Lichter. I am a web engineering consultant by day, part of the Nuxt team as well, and also doing a little bit of YouTube, a little bit of streaming all around Vue, Nuxt, JavaScript, front end development, and so on so on. And, yeah, today, we want to talk about something very interesting that happened, well, a little bit ago, in France.
Yeah. Don't talk about recent politics, maybe, but it could be no, but something else we want to talk about a little meeting of a group of people.
Yeah. So I saw this, unfold on Twitter a little bit or X, I guess. I don't know. I still call it Twitter. Old But yeah.
¶ A real life Nuxt team meeting?
So you were you were live tweeting well, sort sort of live tweeting this, Nuxt team meetup that you were having. So I'm very curious. First of all, who was there and why did you choose, in France of all places?
Yeah. So, that that all it came a little bit spontaneous, like, not like months or years of planning, of course. The people from the Nuxt team meet every now and then happened before, like in Amsterdam, for example, last year where Anthony and Daniel were here, Pooya came from Harlem, which is more or less Amsterdam, like close by, and me. So we we met and did a bit of coding, a little bit of discussion for a couple hours. Pooya and Daniel and also Anthony already went to to Bordeaux once.
I mean, Anthony living in in France, and, okay. The Netherlands is not that far. And, yeah, this year, Sébastien was thinking, hey. He's he's living in Bordeaux. I was like, why not, come in all around?
The, NuxtLabs office is also there so you can meet some more people there, check out the office, and then we can do fun things, book some Airbnbs, close to to his home, and, yeah, having having a good time. So that's why, Bordeaux, France was chosen. Though it's it's not the it's not the only, possible location, of course. I'm also thinking the next time whenever that will be, to maybe check out Edinburgh or, yeah, Amsterdam, once again, even though I mean, everybody is in Amsterdam. At least once a year, it feels like for Vue.js Amsterdam.
Sadly, not always everyone, but that also might be good occasions to say like, hey, let's add a few days and just come over and hang out at Amsterdam more. So, yeah, that's location wise.
¶ Who was at the meeting?
And who was there? All the people from the Nuxt team except, unfortunately. Australia is, is sadly a bit far.
Yeah. Yeah.
And, also, we were there for like, I was there for 4 days, and the others were there for 5 days. I had to leave a little bit earlier. Yeah. It it was a blast. It was nice to see everyone from the team, at once once again, except Harlan, unfortunately, but we had him in our hearts and minds, of course. So it was really nice to to hang out and, yeah, just, having a good time.
Yeah. I think I can, emphasize with Harlan a little bit. Like, I'm not on the next team, but, you know, over here in Canada, sometimes feel like I'm missing out on on some Vue events and and things because everyone's almost most people are over in Europe and all the conferences happening there and the events and just like meeting up with people is a lot easier when you don't have to take an 8 hour or 9 hour flight across a giant ocean.
That's absolutely true. Yeah. Fair point. Even though, I mean, you have Vue Toronto right around your like right around your house, basically. And VueConf US, which is still far, but, yeah, that's so at least you have 2 close by, more or less. Let's not say close by, one at least, but in in reach.
They're in the same time zone. Yeah. So that's that's really nice too.
That counts.
The jet lag is is not always the the most fun thing.
No. Oh, I agree.
¶ A cake?
So you, you were in an Airbnb hanging out. Did you I mean, I'm sure you talked about Nuxt and Yes. Did some did some things. I saw there was a cake that was made.
Yes. That's absolutely correct. So, Julien, from the team, also was here in the podcast already talking about server components. Actually, lots of people were on already and probably have some more. Daniel as well, and, the rest is, is on the list to come for sure.
I just have to find suitable dates, because there's enough to talk about. But, yeah, everybody following Julien along, maybe he's, really into into baking things, and he got this, let's say this brand iron to, like with the shape of of the Nuxt logo. He, like, got it custom made on Etsy and bought it so he can actually just, like, put a little branding, on on the cake eventually. So, he tried it with a Galette du Roi, a typical French cake for King's Day in France. At least that's what I learned in school back in time.
Okay.
Yeah. And, yeah, he he he made that and put the log on it. And, that's that's how that story started.
Nice. I think I've had that cake before. I have a I have a friend who is from France. Is that the one where they hide
Yeah.
An almond in there and then whoever gets the piece with it
Exactly. Is the king, so to say. Yeah. Yeah. Like, finding finding the king. Yeah. So, yeah, that's that's the fun. But we didn't make a Galette du Roi. We made a like, Julien, made a cheese cake version of it.
Okay.
Like, a very, very lovely tasty cheesecake with some jam on top, and of course, nicely branded. With with the Nuxt logo. It's very important.
¶ Activities
And, yeah, activity wise, like, we we, in a way, we didn't have, like, a super big agenda as in, oh, yeah. Let's get up at 7, and then we code through, through the night, or the day and then the night. It was more like the idea was to get together and to spend actual time together and have some conversations. Lots mainly because, well, it's always nice to talk, even like like we do right now. Right? Like, video chatting is cool. But, like, personal communications.
Also, sometimes it's just in a group of, like, brainstorming. This is sometimes really difficult to replicate online. Yeah. So it it was really good to to do that. And, yeah, just, also ask questions, get some input, discuss who's going to do what next.
And, also, this maybe get some opinions on it can be anything. It can be code, but also can like, how to handle contributors, how to, make it more clear for the users what they should do when they report a bug. Like, also lots of meta topics, let's say, they were really helpful. Like, all the conversations, like, they they really, yeah, they really help because it's you get these opinion, but usually, you don't ask, like, straight away, like, hey, rest of the team, what do you think? And if you ask them, not everybody will unless they have a chance to input, like, give give their thoughts.
Not because it's like, okay. There's just one answer and that's it. It's more like we're all busy. Lots of us are not doing that full time, myself included, same for Lucy, for Julien, for for Harlan as well. More or less like, okay, Pooya, Sébastien, somewhat because he's also running last last laps, right, a company, and Daniel and Anthony are doing full time open source.
So, basically, 3 and and a half people are from from the team. And Yeah. That's that's also what made it a little bit difficult, like, okay, when to find a suitable date because some of us has to take time off. Okay. It might catch a bit easier. But, yeah, we we made it eventually.
Yeah. I'm sure there are a lot of open source teams. Probably most open source projects is just fully distributed online. Just people chipping in. However, and like all these decisions are made asynchronous, you know, through GitHub or whatever tool you use to plan things.
But yeah, hashing things out in person is very different. And like some, as you say, some things are better done in person. And once you get to, like, I don't know, 4 people or more, I find that video chats kind of fall apart and they're just naturally some people who are less likely to speak up in larger groups and it's hard it's even harder online. Then if your internet is lagging or something like, you know, you like to jump in and then you're just like, oh, okay. I guess I'll just stay on mute and listen.
Yeah. Just, like, maybe write in chat. That's also what I see every now and then. And people like, okay. I don't wanna don't wanna talk. I just put in my ideas in chat, and then you also have to take care of that and so on so on. So, yeah, it's Yeah. It's tricky. But I I like to see full remote companies also do that. Right?
They they go on retreat every now and then. Yeah. Also, not just the focus to, like, work hard, but, like, just meet your coworkers, spend time with them. And, I've seen the Vite Team, for example, also going on a a Vite Team retreat, so to say. I think that's also a good way once again to, like, strengthen the core in a way, like, also bonding Yeah.
And still, like, being productive in a way even though that was not the main goal. The main goal is, like, okay. At the end, we ship Nuxt 4 because it didn't happen as as we all see. But it wasn't that bad yet. Never.
¶ How DejaVue came to life
Yeah. Meeting people in person and getting to know them as real people and not just as, like, their commit history is a big thing, I think. And, like this podcast is a good example of that because we met in Toronto at a conference and we were just chatting about stuff. We weren't talking about. I don't know.
We weren't, we probably were talking about Vue, but not that specifically. We were just kind of hanging out and eventually we got around to talking about podcasting. I forget exactly how it came up, but you know, like it came up and that's, that's how how it goes.
Absolutely. Yeah. I remember it was like after a conference where just chatting around and yeah. Somehow it was like, we that's like maybe we talked if we talk about Erik, Erik Hanchett, in this case, shout out. Probably also will be on here very soon if we find find a time frame. It's always like, finding a good recording date across a couple of time zones is is tricky, but
Yeah.
That's, that's also another topic maybe for an episode where, like, how to make a nice podcast and the the challenges. But, yeah, I also talked about, the older other Vue Vue podcasts starting with, like, the the Vue Mastery, one about the official Vue news podcast, which I really enjoyed listening to when I was, starting with Vue.js development. And also every now and then submitted a few of my articles because there was submit function like, hey. Good content.
¶ Previous Vue Podcasts
Let's, put it in. Yeah. So so that was that was really fun. And I I like I really like the comments, that we also get on on YouTube, on Twitter. Every now and then also an email and other platforms, basically saying, like, hey, it's it's really nice.
Especially, I had that one in mind because I saw it, just yesterday where someone commenting on the the first part of the Even You interview and saying like, hey. I expected it to be like the the typical, like, topics Evan was saying in the conference, but it's so different and, it's really lovely. You never stop. You really fill a missing hole in the Vue community. And that's that's really nice to see. That's exactly why I do it.
Yeah. And and yeah. We're trying to, in some ways, kind of replace the the in person conversations that that are hard to have because everyone's in different places and then record it so that, you know, everyone else can come along for the ride. And, yeah, it's really nice to be able to do this.
¶ Vue.js Australia?
And maybe one day we can have an event in Australia perhaps so that Harlan can, it makes it makes it easier for him.
Vue.js Australia.
Have to
There we go. That would be lovely.
Yeah. And that like there are different parts of the world that that are harder for people to make it into a conference and actually see other people in person. But, I know that lots of cities have the Vue.js meetups as well, which is nice to see other people if you're not working in a company where there are other people using Vue or even, you know, if it's just you and someone else.
¶ Meetups
Or if you're freelancing.
Working with you. Yeah. Then you can actually meet up and chat with people in real life who are also using Vue. And so that's, it's a nice way to to be part of the community and to, yeah, to get connected. It's always it's always nice to to meet real people.
100%. And also, like, it's a good start if you wanna go into dip in the public speaking as well. Like, give us a talk there, have, like, a chill atmosphere, like, ask some questions or get some questions asked and answer them. It's awesome. Like, I I started doing lots of meetups and still really enjoy them, going there. It's it's like a really nice familiar feeling. Also as an attendee, you don't always have to have to give a talk actually.
Yeah.
Though often it's like, okay, if you're around and if you have something, you're like, okay, sure. We can talk about whatever. But yeah.
¶ Further activities
Like, coming coming back to the Nuxt meeting, there's also one more thing that we did a lot, which was food.
Good French, pastries, of course, some good Bordeaux wine. Sadly, I missed out the wine festival the last day, but I heard it was lots of fun. So we had a really good time. Of course, people know, Daniel is really into bouldering, so we also ended up bouldering because it was lots of fun the last times I've been with him and we're like, let's do this. So, yeah, we had some nice community activities.
We had a good time together. Mhmm. And in the end, like, the the result, I think, is will be a better Nuxt and a better Nitro because the team grew even closer together.
Yeah. Well, I'm I'm looking forward to seeing what the team produces, over the next while. I mean, it's kind of hard to imagine that, this pace that it could can be sustained, but I have faith in like it's, it's been actually pretty amazing to see what's happened, like with Nuxt 3. And once, once that rolled out and like the minor releases and all the features and the the the piece at which things are coming out. And I'm really excited to see to see what, Nuxt 4 brings and and the future of that.
¶ Nitro breaking changes
Same here. Like, I mean, for Nuxt 4, luckily, breaking change wise, we are in a pretty pretty good state. Maybe if if you listen to that task force already out, then you already know what's what's happened. But so Pooya, is is rewriting, with with the help of some others of the team. I mean, he is like rewriting, h3, the router, which was ready street before.
Now it's not a radix tree anymore. So it's just called rou3, like r o u and then s3, and to make sure that it works even better, it can, well, cater all the needs, and, eventually we get a Nitro major version with some changes, quite some breaking changes, of course, but nothing's like, oh my gosh, It will never be able to to migrate. Ideally, lots of things will we we can solve with extensive migration guide like we do with Nuxt 4 already. Also, also for people using Nitro standalone, that might be a good case. And, in the end, there will be lots of changes, but it will be good because still everything will be runtime agnostic.
So we make sure, that you can deploy things in Cloudflare workers, on Node, on Deno, and and things work out. But it also needs some sacrifices in terms of maybe it sometimes takes a bit longer to find a good solution, or maybe sometimes you have to cut out on the node specific things because they're not available on our platforms.
Great. Well, I'm looking forward to that as well. I'm sure everyone else's new versions and and making things better. So it's good.
¶ Nuxt breaking changes
Though, obviously, like, we have some discussions around some breaking changes, which is I think it was really good. Like, I was I was reading about the famous removal of the pending Boolean. This is something which we originally planned. And eventually, in the team, like, we came to the conclusion that we said, no, we don't want to remove it in version 4. We might remove it in version 5, and we just mark it as deprecated, but update the behavior.
So I think we even decided it in word over again, because, like, we we always have to make trade offs as in, like, okay, how much effort is it for people to migrate and what what benefit is there? It's like, okay. If there's a totally wrong implementation, I think it's really good to fix the bug. But do I fully have to remove the variable for that to indicate, hey, this is not working anymore and not like this is still silently working, but you don't know if there's maybe a change? In this case, we decided for the latter.
We said, okay, we changed the behavior a tiny bit because most of the users probably won't be affected, and the ones are, they see that in the migration guide. So I think that was a was a good choice. In the community, you wait in a lot there. It's like, hey, why do you remove it? Does it really make sense?
It's a lot of pain to migrate. And I I see lots of points there. Still a big fan of of booleans for for, like, states, like pending, idle, and so on so on. We have a status, enum there more or less, so just strings. But, it's I understand that people don't want to migrate over some tiny thing like that because lots of hours and and work, if you use it on a 100 places, maybe rename it.
Yeah. And maybe there's a good, like, what's the tool?
The codemod.
The code migrations?
Like a code mod, you mean?
Yeah. Code mod. Yeah. Maybe that could be a code mod for for that. That makes it, you know, not 100 of hours, but you still have to review that those changes and make sure you didn't accidentally break things.
Yeah. That's that's true.
I get that.
Yeah. There's actually a code mod for that, developed by by Jan-Niklas Wortmann. Still, the PR is open, so hopefully, we can use it for version 5. Only has some problems with semicolons versus no semicolons in code because it that's the only thing that was troublesome. But if if we remove it, and right now this is planned for v5, as you said, but not for an x four, then the code mod might be interesting.
Even before, it could be interesting because if it's deprecated, you might still wanna run the code and say, hey, how about you change that instead? Like, you check the status instead.
¶ Meeting IRL more often?
Right.
So, yeah, all in all, I I'm I'm a big fan of in person meetings. It's a bit sad that we can't do it more regular. Like, I think once every half a year is, like, the the smallest duration in between that we can do, like, the the smallest time spent. Mhmm. Because every couple of months, it's it's tough as in people have to take maybe vacation days or maybe we have to make it shorter, and we have to find a suitable date.
And we have lots of people. I mean, we all have, like, responsibilities. People have family, kids. That also doesn't make it easier. I mean, you you know better than I do at the moment. And, I'm just very happy that, that we could do it, that we had a really good time. And I'm looking forward, to the next, in person, but also a virtual, next meeting. And maybe one day, even a a nice conference. Who knows? Who knows?
Mhmm. That would be fun. In person one. Oh, I would love that. I mean, I heard that for ages, like even back in 2019, like, yeah, maybe at some point it might take a bit I wouldn't rule it out. It's not like, oh yeah, we have, like, precise plans what to do, but, folks, if you wanna see it in the next conference, then let us know in the comments or on Twitter.
¶ Wrapping up
And with that, I think, we're at the end here of this episode, but if you want to listen to more of our episodes on Vue and Nuxt, you can. We've got a pretty good backlog by now. We've got an episode with Evan, and then we have another episode with Evan You. We've got episodes with Daniel and Harlan, as were mentioned in this episode and Julien and,
so many amazing guests.
Yeah. Many more. So, take a look, and we'll see you in the next one.
Exactly. Have a good time. Talk to you soon, folks.
