August 20th, 2025 ×
Text Editor Keybindings, WASM Replacing Docker, LLM apathy and hosting mini apps

Wes Bos Host

Scott Tolinski Host
Transcript
Scott Tolinski
Welcome to Syntax. Today, we have another potluck for you. We had so many awesome questions that we wanted to take an opportunity to, yeah, to answer those. And if you have questions for us, for our potluck episodes, they happen once every month, usually. This time, we get two. And, we answer your questions on the show here, so head on over to syntax.fm and ask a question. There's a link right up there in the top nav.
Scott Tolinski
We get we're gonna be covering all kinds of stuff today from if you're moving from Versus Node to something like cursor, how do you handle, weird things that might happen? There are key bindings, keeping things in sync.
Scott Tolinski
Will WASM replace Docker, getting promotions? Is LLM puking out React? Are we done? Are are we Is that it? Yeah. Is that it? Is this it? Or hosting mini apps inside of a larger app. My name is Scott Tolinski. I'm a developer from Denver, and with me JS always is Wes Bos. This show is presented by Century at century.i0sentry.io.
Scott Tolinski
Man, Century is just absolutely cooking lately, and there's almost too much stuff to keep up with, whether that's their AI debugging tools, which simply rule. Finding out exactly why things went wrong is really just the core message from Sanity, and it feels like their tools are always improving this stuff just nonstop. They even are now doing things that like logs.
Scott Tolinski
Like, we all need logging. And now instead of having to bring in another service, you just do your logging directly in Sentry, but it's more than just connect to your traces. So it's like part of your issues, which is that's what you want. You don't want to piece it together yourself.
Scott Tolinski
Right. It's not just a thing. It's a thing that's connected, and all this data connecting, really allows you to solve stuff in absolutely fast ways. There's a reason why, like, companies like Disney plus. Like, Disney plus has a lot of people clicking, play all the time. They say, I gotta get Mickey Mouse. I gotta get Minnie Mouse. And companies like Century make that possible by really helping the engineers over there, make that happen and fixing bugs and solving problems. So check it out. Century.i0/syntax.
Scott Tolinski
Sign up and get two months for free using the coupon code tasty treat, all lowercase, all one word. Let's get into it. Alright. So let's get started with this part two of our potluck a thon. With me, as always, is Wes Bos. My name is Scott Tolinski, of course. Wes, what's going on today, man? How you feeling?
Wes Bos
Good. Good. We're, back from the cottage right now. We're still going back up once more. It's in the August right now as we're recording, but we just got back from the cottage. It was awesome. It's getting it's really dry up there right now. Kinda scared about a couple forest fires out of Ragin, but I, I put, like, sprinkler systems in the cottage. For those who don't know, I've we have a cottage up in Northern Ontario, and I installed, like, almost an acres worth of sprinkler systems. And then we pump water from the lake and just just go nuts. So I've been just soaking the grass because it's it's super dry, and I don't want that catching on fire if anything were to come close to it. We've been having crazy wildfires here in in Colorado currently. So, yeah, definitely
Scott Tolinski
a tense situation all around with that stuff. I did see you got all dressed up today. What's the occasion for busting out the tuxedo?
Wes Bos
Oh, no. The the Canadian the Canadian tuxedo. No. This is this is actually a new, selvedge jacket. I've been wanting I've been wearing selvedge denim for, like, twenty years, and I absolutely love it. Selvedge denim is like a Japanese denim that, like, wears it's, like, really blue when you get it, and you get all kinds of cool fades and whatnot. Oh, yeah. It fits perfectly to you. So for many years, I've been wanting a selvedge jacket, and I've never I've never been able to, like, pull the trigger on one that I've liked.
Wes Bos
And finally, my wife is like, you need to to get one. You know? And I found this one. It's got little w's on the pocket. I've I researched it for a year. I had it in my, like, cart for for so long. And finally, I I pulled the trigger on it, and I'm just trying to wear it a little bit more right now to get the get the fades going.
Scott Tolinski
Yeah. I I love that. I I I've mentioned this before, but the very first day that I wore my first pair of, selvedge jeans, which are definitely stiff and tight, at least mine Wes, I I went to the Big House, which is one of the largest, if not the largest football stadiums in the country, to watch a football game. And I had to walk up and down, like, a 100 flights of stairs, and I, like, I had to, like, turn to the side and, like, walk down because I couldn't move my legs up and down the right way. It was absolutely absurd. And then Michigan proceeded to lose to Minnesota of all teams, and I was just like, what in the world JS Michigan doesn't lose to Minnesota. I know that doesn't happen. So doubly bad dad to sit in the heat in salvage jeans. I couldn't walk up the stairs,
Wes Bos
and Wes lost to Minnesota. Yeah. I've I've been buying them with, like, a little bit of elastic in them the last couple Yarn. Yeah. Just, like, having kids and, like, really stiff pants is I used to wear the, like, 20 ounces. There's this company called Naked and Famous here in Canada, and they make this they make a pair called the elephant.
Wes Bos
And it's like it, like, cuts your skin. Like, I would have never had blisters from wearing them previously. And I I stopped wearing those because it's just, like, it's hard to move around in them and, especially when trying to, like, kneel down and tie up shoes eight times a day.
Scott Tolinski
Yeah. It it's tough.
Scott Tolinski
Cool. Well, let's get into it. Let's talk about potluck questions. It's where you have the Wes, we bring the answers.
Scott Tolinski
Also, folks, we wanna get doctor Courtney Tolinski, my lovely wife and doctor of psychology, back on the show to talk about mental health stuff. If you want to leave a question for the doctor, you can do so on the potluck form. Leave it anonymously.
Scott Tolinski
I mean, you could put your name on if you want to, but I I would encourage you to just leave it anonymously.
Scott Tolinski
And then we can get a bunch of questions for her so that way next time she comes on the show, which will be once we get enough questions in here, that she can answer your your mental health questions. Again, she's a doctor of psychology, so she can answer things about, you know, learning disabilities.
Scott Tolinski
She can talk about all kinds of things related to mental health, learning disabilities, those types of things. So leave your questions in the potluck form, and let's get into it with the first question today, which is from DM.
Scott Tolinski
Hey, guys. Big fan of your work. Quick question. Have you tried switching from Versus Node to cursor? I'm running into weird issues with shortcuts. Wondering how or if you've dealt with shortcut weirdness when switching over. Did you rebind everything manually or tweak some settings? Appreciate any thoughts. I didn't have any weirdness. I don't know about you, Wes, but everything for me just synced over fine, with the exception of some extensions that don't exist for what is it? Open VSIX or whatever that is. Some extensions don't exist, and those extensions, therefore, did not sync over.
Scott Tolinski
But other than that, it honestly I I have Versus Code Insiders.
Scott Tolinski
I have Kiro, and I have Cursor all just sitting there in my dock. And some days, I open any one of the three, because they're always constantly being updated with new stuff, and I'm trying them all out. And I gotta say, it largely just
Wes Bos
JS a very fluid experience, seamless between the three of them. Yeah. I had a couple issues. So what I do is like, because I switch between Versus Code, Cursor, Winsor for a while. Don't have Kiro yet. I was on vacation while it was open.
Wes Bos
So I'm waiting for my my invite to that. What's the one from TikTok again? Why am I I blanking on that? We we just heard about I don't know. I have not used that one. Tray.
Wes Bos
Tray, which is the the one from ByteDance or TikTok. There's, like, there's a bazillion of them. Right? And I wanna be able to, like, hit the ground running. So what I did first of all, about a year ago, I've been running the Sublime Text key mapping for I don't know. When did I switch from to Versus Code? 2017? Like, six six, seven Yarn, I've been running the the Sublime Text key map plug in. And then I hated that because whenever I told somebody what a keyboard shortcut was, it was not the right shortcut.
Wes Bos
Yeah. Right. Like, nobody has that installed. You know? So what I finally did is I I scrapped that plug in and just relearned the the default Versus Node ones.
Wes Bos
And then I have in my dot files repo on GitHub, I have all of my custom key mappings on there. And what I do is I simply just copy and paste or or overwrite that file from one to another. I have to make sure that I keep it in sync, because, like, if I change something in cursor, I want it to also reflect in in Versus Node. So I try to keep them all in there. The one thing that I lost in cursor was hitting command, like, one through six will will bring you to tabs one through six. I love that. And it's in the browser. You know, if you wanna go to the first, second, third tab, I always hit command one, two, three.
Wes Bos
So I had to remap all of those. And then there was a couple that were kinda weird. Like, I'm pretty sure it's it's command l in cursor opens up the there's one of them that it it opens up the chat window that I was not Oh. Not used to. I still haven't gotten a, I still haven't gotten a shortcut for that. I just do the command palette and type chat. Oh, yeah. That's I'll say that's probably probably the move as well. But, yeah, I just I just had to remap it and explicitly set them.
Wes Bos
Even if you want it to be the same as VSCO, just explicitly set them in your key bindings file, and then they're they're gonna be the same across all of them. There's still, like, two or three that are a bit weird, but I just kinda deal with it and remember.
Scott Tolinski
That's that's par for the course when I'm switching between them so often. Yeah. Yeah. It JS for me, I I have set up a number of keyboard shortcuts, but I I did them all so long ago that, you know, I'm not like I guess I'm not changing that stuff that much right now. Maybe I You know what? Uh-huh. You know what I've been starting to do JS installing
Wes Bos
extensions on a project by project basis That's such a good idea. Instead of because, like, I I have, like, ESLint and Prettier just, like, globally.
Wes Bos
And then when and then there's, like, Deno and BUN extensions and whatnot. So what I'll do is I'll I'll install it and then disable it and then only enable it for that project, and then it goes into, like, the Versus Node settings, whatever.
Wes Bos
I have not found a good way to, like, sync my installed extensions between all of them. If anyone has has something for that, because I would love that. Like, I found that, like, I had to reinstall a bunch in Cursor that that didn't make it over for whatever reason even though I don't think Cursor uses the open like, there's basically, Versus Node has their own marketplace, and then there's, like, an open VSIX, which Scott said.
Wes Bos
And that's for for anyone who's using, like, not Versus Code. The extensions have to be published on there as well. Like, I have a I have a theme, and I have to publish it to both. That's kind of annoying.
Wes Bos
The cursor is, like, reverse engineering the Versus Code marketplace, which is apparently against terms of service. But, yeah, they they reverse engineered it.
Scott Tolinski
Ben, I I'm stuck in a hole trying to get the syntax theme on open v I VSX whatever because it's like, I've gotten everything approved. The organization is approved, whatever. And then you click publish, and it's just like, project does not exist. And then you in the butt. You start the whole thing over again, and it's like, it already exists. And, like, make up your dang mind. It either exists or it doesn't. And I can see it there, and it's like, I clearly am caught in some sort of database limbo state, but there's no, like, customer support person I can reach out to. There's a GitHub issue that I filed, like, a month ago.
Scott Tolinski
So I would love that theme in the other editors if that could happen somehow, but it's, yeah, it's it's that type of project. So That's a pain in the butt. Sanity says, I got promoted
Wes Bos
to senior at my previous job just a week before an offer from a new company came through. I did apply for a senior, but I was offered a mid Vercel. But the salary of a mid level was more than the senior in my previous job, so I went for it. Okay. So he got promoted to senior at his first job, got a new job as mid level, which paid more than his original senior one. Now I'm at the job. I've been doing good and enjoying it. My probation is at the end of this month. Do you think I should bring up the senior promotion, or is it too early? I don't think my manager was aware that I applied for senior.
Wes Bos
Interesting. So there's there's always two camps here. It's like, first of all, who cares what you're called? But a lot of people are paid according to what their actual name is, and that's why people care so much about this. Right? Like, like, Netflix or whatever, they have l one, l two, l three, and and your your salary is based on that.
Wes Bos
So some people like it just because it's it says I'm a senior. Right? Some people like it because it it means how much they pay. And some people also like it because
Scott Tolinski
in your job, like, resume, you're applying for a job, and it says you're a senior, then you're mid Vercel. And then, you know, somebody who's just glancing at that stuff looking at a resume might be like, what happened here? You know? Yeah. You got worse. So should should this person bring it up? I would probably wait until your your probation
Wes Bos
is over before before you do that, but I I I don't know. I probably wouldn't do it just yet.
Wes Bos
It sounds like you're making good money that you're happy with. And if it's just the the name of it, I would probably wait six months or so and just really prove yourself. Collect a whole bunch of, like, stories. Right? Like, I did x, y, and z. Here's what we did. You have to be able to to prove this stuff Wes it comes time to asking for a a pay bump or a a bump in in what you're calling yourself. You gotta Scott come to the table with, like, edit x, y, and z. We fixed all these things. This thing is faster. The client is much happier. And if you're only there for, I don't know, a month or two, I doubt that you have a lot of that ammo yet.
Scott Tolinski
I think you take this up in a different way. I think you do bring it up. Because this person says, should I bring up my the senior promotion? I think you cut the word promotion out of this. It says, I don't think you need to be looking at this like a promotion. Here's the angle I think you take. I think you take the ignorance, Here's the angle I think you take. I think you take the ignorance angle JS in and I'm talking about you talk to your direct manager in a casual way, not like, hey. I applied for this. Where's my title? Or I am listed as this. I thought I was gonna be a senior. Can I get promoted? I think you take the angle of, hey. Just checking in. When I applied, I applied for the senior role and is accepted, but I actually don't see that on my job title currently. Do you know what might have happened there? Like, this is casual. This is like, hey. Me just checking in. What's going on there? And then because then they can come back and say, oh, actually, you know, the way that we do things around here is that this band is not listed as senior, but we know that you had that title. Maybe, you know, whatever. We'll we'll keep that in mind. Because I think you don't wanna put any pressure on this.
Scott Tolinski
I think you kinda wanna act like, hey. Not not it's not a big deal, but, like, hey. I applied for senior. I'm just curious what happened there. To me, that's something that makes sense if you do it earlier because, you know, that I'm just getting used to this I just got here. I'm getting used to the new warp. What's going on here? Yeah. To me, that makes sense as a way. And I think you can do it in a way that is don't put any pressure on it. Don't make it into, like, a big deal. Come from a place of curiosity.
Scott Tolinski
I think we should all be able to talk to our managers like this, if if I'm being honest. I know some people could kinda walk on eggshells about, like, whether it is job titles or pay or anything like that. But I do think, you know, having casual conversation about it ain't isn't gonna hurt anybody. You can even do it in person if that's a possibility.
Scott Tolinski
I don't think it needs to be something that serious. Like, you're just seeking answers. I'm just asking questions here, but, you Node just wanted to wanna know what's going on there. But don't be like, hey. Where's my promotion? I should've been promoted. That's not gonna go over well.
Scott Tolinski
Next question from Ead, but you can call me Rusty. I'm struggling a lot with SQL and database logic in general. I use LLMs all the time and feel like a fraud most of the time. And for a nearly one point five year experienced web developer, I'm pretty weak on database logic. Bro, at one point five years, you should be pretty weak on a lot of stuff.
Scott Tolinski
Is it normal to use LLMs to help me in stuff like this, or should I study more to avoid being behind in back end and database logic? You know what? This is the stuff that's kind of important. It's important for security. It's important to make sure your apps are running well. It's important to make sure that, you know, data's not being leaked or you don't have any issues because, you know, the back end is that can write and access data. And and those things, to me, are higher stakes than, oops, a button is in the wrong place. So if you're asking me and you're handling a lot of this stuff and an LLM is spitting it out, you cannot put anything into your app that you don't know what it's doing on the back end. You just straight up can't because, like, we see hacks all the, all the darn time because of unsecured, rows or or whatever, unsecured tables. People can perform what they're doing. Too. Right? You you don't know what an index is or you don't know, like,
Wes Bos
what the, like, relational keys and and how to relate items to another, you can make a real mess. And that stuff sucks to have to to, like, change later. You know? Like, I I have a database table named customer and a database table called user. And in my head, I know what they are, but I'm so mad that they're named that because it makes no sense.
Scott Tolinski
I I've had so many situations like that, and I'm like, yeah. I could do migrations. I could do that. But, like, once you get your data in a place or whatever and it's fairly mature, man, changing it all around sucks.
Scott Tolinski
And so my suggestion here is we are not in a post learning environment.
Scott Tolinski
I would spend some major time, get your SQL, get your database, get your back end knowledge, like, locked down from that perspective into, like, intermediate territory Wes you know the best practices, you know the entry level stuff, you know the table stakes stuff, you know all of the the most important things about it before you just let the LLM write the code for you in that regard. It's not worth it. You're gonna get yourself into trouble. So many of these questions that we're getting are like, do I
Wes Bos
do I learn this anymore? You know? Like, what's the point? And, like, man Bro, you are responsible for the Node. Yeah. You're still responsible. Check out, Aaron Francis. He's got a bunch of courses on different database stuff. And even if you just, like, watch and, like, learn about databases and and how all of this stuff works, it's going to be helpful just to know what to type into the box when you say, Node know what? Use this as a primary key or add an index for the email field or for whatever reason, or you'd be able to look at your your performance. And because before you know it, you're gonna be having some some loop or, like, you're gonna have some crazy database bill because of some garbage that was written. So High level management.
Scott Tolinski
A bunch of sensitive data, and you're gonna be responsible for that. Like, you said, learning is fun, bro. Like, the a AI stuff is great that it can make you so much more productive, but at the end of the day, it should be an extension of what you're doing. It shouldn't be, like, the expert because it is oftentimes not doing things in the best way. I mean, at least, like, I know it it can be very effective, but, especially, it it it would be like you have a lion and no lion tamer. Right? That lion is gonna do whatever it wants.
Scott Tolinski
Yeah. Been there. The lion's eating people.
Wes Bos
You know? So you you have to be a lion tamer to this thing still. Yeah. And and who yeah. You gotta know what it's doing. Yeah. For sure. Vercel idea about what's going on. Question from Corey. I've always struggled with making decisions, and, unfortunately, after being in this field for a while, I realized that programming is basically a stream of constant choices and decisions. No kidding. It's like Mhmm. Something new comes out every single day. There's so everything is a trade off. Everything it's it depends on it all changes this? Do I do that? Yeah. Every every three days. So with the JavaScript ecosystem moving so quickly, every decision is followed with a dreadful self monologue.
Wes Bos
Is this the right way to go, or am I shooting my future self in the foot? Do you ever experience decision paralysis? If so, do you have any tips over not stressing over FOMO and falling into the pit of decision paralysis? Yeah. My answer here is this stuff doesn't move as quickly in production as it does on social media Yes. And and on this podcast. It's it's fun to to talk about all those type of stuff, but there's a reason why ten years later, everyone's still mostly just using React, for the these these types of things. And just know that picking something that is a little bit more established and safe over something that is new is often the better choice because these things, they they stop getting maintained. They get changed. They change their name. And, like, if I if I went for absolutely every single brand new thing, you realize that they're especially if there's a business behind it, they're gonna pivot into an AI site builder at some point, and you're gonna be you're gonna be out of luck. So just know that no one ever got fired for choosing IBM JS that's the saying. Right? And and no one ever got fired for choosing MySQL or or Postgres, and and no one ever got fired for like, there's so many people still using Express, and and they're totally fine with it. And it's still a very popular choice. Even though I think we're at a point where you should probably stop using Express Yeah. There's a reason why a lot of people are still choosing it. A lot of the really, like like, fancy stuff that people will, like, go on Twitter and say, this changes
Scott Tolinski
everything, ultimately can get you into trouble because the communities aren't mature. You end up hitting a edge case that hasn't been hit yet because there's not enough people using it or it's in beta and you hit a bug, then you gotta sit and wait. Like, as somebody who, you know, really is early on a lot of stuff because that's my job, man, it's frustrating world. And, like, there's so many times when I'm like, you know what? I wanna get this done. I'm picking pocket Bos. I'm picking Svelte, and I'm gonna crank through something because it's easy. And I know it's gonna work, and I'm very familiar with it. Not that pocket base is bad. Pocket base is great. But, like, I just am you know, it's not the latest and greatest new thing, but it it it works, and it's great, and it's easy. So, like Mhmm.
Scott Tolinski
Don't stress yourself out about this stuff. You Node, get good at a set of tools.
Scott Tolinski
Be effective with them. And then when you feel like they are showing their age or cracking for whatever reason, replace them here or there, and keep your ears open for what is new and maybe give it a try in your spare time.
Scott Tolinski
But don't let that kind of stuff slow you down. As far as decision paralysis goes, again, I think that's gonna come from establishing really, like, what are these things I'm very effective in and, like, locking them ESLint. Like, this is the stack. When I used to work at an agency, we were cranking out sites, like, every month. Like, we had specific stacks that we worked in for a reason because we were very good at that, and we didn't have to decide, alright, what are we using for this? No. We're gonna you we're gonna use Drupal. We're gonna use the Omega theme. I think it uses Stylus, so we're gonna use Stylus or or Sass.
Scott Tolinski
We're going to use this and that and these following Drupal plug ins, and we're gonna knock this thing out.
Scott Tolinski
And there was nothing like that productivity that you could get from not having to think about all of those little pieces, and you could just get to work. I think that's the one thing, and this is not related necessarily that AI has helped me with, is that, like, it's easier for me just to get to work because I'm not always thinking of the little tiny pieces that I do a 100,000,000,000
Wes Bos
times every single project. I'm just getting to work on the stuff that's important to me. There was a second question here that he asked JS, what do you do when you're writing code and have that sudden realization that the code you have written is starting to get too convoluted.
Wes Bos
Been there, brother.
Wes Bos
That's the right time to peel it back and to to refactor it. Don't just push it push it through because it's very unlikely that you're going to come back and fix that and change it, and you're gonna build stuff on top of it.
Wes Bos
So if things are getting too convoluted or if you're doing things in a weird way, and and even talking to people about your approach like, yesterday, I was working on some CloudFlare durable object stuff, and I had a I had a problem. And I I brought it into the Discord, and then some guy was just like, probably not the right way to do that in the first place. And I was like, oh, that that I'm glad that you said that. You know? Like, the Yeah. Yeah. Vercel solution to my problem was Scott, like, I I had to fix some bug. The solution was you're just not you're tackling this in the wrong way. It you shouldn't be doing this. So stop then. Peel it back. It's it's frustrating to go back a little bit, but your future self will thank you. The AI I want is the one that says,
Scott Tolinski
hey, dude. Just to let you know, this is not it. What you're what you're doing right now, you think this is it? Yeah. You're making a big a big wrong choice that you're going to, regret in in, like, another couple hours. And then if you didn't commit before this, well, you're you're gonna really regret it. So commit frequently.
Scott Tolinski
Yeah. Being able to jump back and, like yeah. Sometimes a a branch or sometimes a a pathway in your code is a learning opportunity.
Scott Tolinski
Yeah. You could maybe cherry pick some code, and sometimes you just say, let me just take some wooden boards and board up that branch and say, I'm not going back in that room. That was the wrong idea, and just moving on from that. So I Node happens. Yeah. I need the little clippy in the corner of my text editor. It says, it looks like you're trying to to write some code that will address all situations.
Wes Bos
Would you like to just create a new file and and duplicate a little bit of that code? You know? Like, sometimes I try to, like, make this amazing code that can can be used in any situation where it's just like, this would be better if I just duplicated these 20 lines and have a different implementation.
Scott Tolinski
Mine Node to be, hey, brother. I see that you are sidestepping the purposefully built way to do something because you think you have a novel use case. Let me tell you. Your use case, not novel, and you're making things harder on yourself.
Scott Tolinski
That's what I do. I'm always like, of course, no one's doing this. I need to do this on my own. Yeah. Yeah. Oh, that's great. Next question from Willie Mike. I've been seeing a lot more hots.
Wes Bos
What do you think hots is here? Hots around using like, hots. Like, people are, like, stoked about something.
Scott Tolinski
Okay. I've never heard that. The hots. I've been seeing a lot more of hots around using WASM, not for websites, but for more of Docker Lambda replacement.
Scott Tolinski
Do you see serverless stand alone WASM computing as potentially an answer to easier, more simple Kubernetes or Docker? Willie, I got no clue. Wes, what do you think about this? I don't use this stuff that much. I'm gonna be honest. I hate Docker.
Wes Bos
So WebAssembly the idea with with WASM is that you can take a some compiled code, like like, that's written in any language. Right? Could be written in c, could be Rust. It's just compiled.
Wes Bos
And you you convert it to what's called a a WASM file, WebAssembly.
Wes Bos
Right? And then you can run that code in something that run like, in the browser Wes was the first implementation if you wanna run FFmpeg or you wanna run some Python script or some you can even run PHP in the browser. We often do that because there are purpose built tools that are are not built in JavaScript. Doesn't make sense to to write them in JavaScript or they're just not. They're in other languages, but you still need to run them in a JavaScript environment. That's that's where we use Wasm. Right? Now you can run Wasm in in in Node.
Wes Bos
And it's nice because you just take this tidy little bundle, very much like a like a Docker container, and you can you can run it in in anywhere that you want. We use it on the Syntax website to stitch together m p threes. We have, FFM Pnpm Wasm running. So the question was, do you see serverless, stand alone Wasm computing as potentially an answer to easier Kubernetes Docker? Absolutely.
Wes Bos
Not in every single use case. You can't throw an entire Linux environment inside of, inside of a WASM container.
Wes Bos
But you can put a lot of purpose built tools that you simply just call from from JavaScript, and it works really well. I think even the creator of Docker said that, like, Docker might not exist if if Wasm was around.
Wes Bos
I I don't know that it's going to totally replace it, but there are a lot of situations where I will reach for WASM rather than having to try spin up a container in inside of Docker.
Wes Bos
That's cool. And, also, like, what I've been seeing a lot lately is now that we have Wes GPU hitting all the browsers like, one of the downsides to WASM is often significantly slower than running it native. Right? Like, the FFmpeg implementation is is much slower, and, also, it it's hard to do multi threaded unless you get into to some some complex stuff. So now that we have Wes GPU, you're seeing a lot of tools that are now built that will run on on metal, especially, like like, AI, LLM models, and whatnot running in the browser. So where sometimes you used to reach for WASM, now there's there's often stuff that has been built and and can run on the right on the GPU of of your computer, and that might that might even be faster.
Scott Tolinski
It's all very interesting to me, just not stuff I deal with then. Right? Yeah. Yeah. Or stuff I hope to not deal in. I'll say that.
Wes Bos
Yeah. You know what's one one interesting use of WASM is, Shiki. Yes. So Shiki is a code highlighter.
Wes Bos
Shiki uses WebAssembly because its syntax highlighting engine is built on top of on Gomera, a regex library written in c, and it's used by Versus Code's TextMate grammar system. So, like, in order to split up like, you have some HTML. And in order to split that up into, like, attributes and tag name and and and angle brackets and and all that stuff, what Versus Node uses is a huge regex library. In that in order for that to be fast as heck, because it has to, like every time you hit enter or or type a character, it has to re redo it. That's written in c. So if you wanna run that in a JavaScript environment, you have to use Wasm.
Wes Bos
Interesting.
Wes Bos
Probably probably goofed up the, the thing here. That's it sounds Japanese. How how would you pronounce that? On Onigimura? Let me send you the link.
Scott Tolinski
Yes. That is Onigiruma.
Wes Bos
There we go. I don't Yeah. Have that.
Scott Tolinski
Cool. Alright. Next one from Ben Demanban.
Scott Tolinski
Hey, Scott Wes and CJ. CJ is not here, Ben. Okay? We're tired of everybody being like, CJ.
Wes Bos
CJ, all the comments. CJ, CJ is so good. Jay. Yeah. They were real quiet when I beat CJ in the last, the last,
Scott Tolinski
coding video. So I don't know. The CJ bots got turned off, which is great. I'm on a major slump on those. I gotta get get going, folks. If you haven't watched our our CSS battles, you should tune those on there on on YouTube. No. I'm just joking. We love CJ. Folks, he's the best. Hey, Scott West and CJ. I'm currently building a side project that's a collection of mini app ideas to make my personal life easier. Its current form is an express app with templating and nunchucks, but I'd like to practice my Angular skills more since it's the main stack for the front end at my new internship.
Scott Tolinski
I would like to have a structure where each Angular app can be a stand alone and only accessible via route in the Express app, and each page already built can stay in their respective routes.
Scott Tolinski
This idea also keeps auth state in each page of the Express app, including the Angular apps. How would I best organize what looks like to be a micro front ends approach? Node repos, same repos, separate apps with a reverse proxy? Thanks. This is interesting. You could do this a number of ways. And these mini apps, to me, I think turning this into well, it depends on what you need here.
Scott Tolinski
In a big sense, if you need individual versions for packages in these mini apps, as in these mini apps have their own packages, and these packages are all versioned very specifically, then a monorepo makes sense or even, like, you know, when they when when you have, like,
Wes Bos
a linked Deno, what do they call that? Sub repo. That's it. Yes. So where you have, like, one folder of your Git repo is a totally another. You can get that if you just get ESLint it inside of a folder inside of an existing Git repo.
Scott Tolinski
Some people hate that, but I actually I don't mind that. And I I've used that before successfully.
Scott Tolinski
That said, if these apps don't have that strict version requirements and they're just, like, hacking together on some stuff and you're all using the same versions of everything in all these apps, you just put it as folders in one repo. That's gonna be the like, the last thing you wanna do when you have, like, a for fun mini app thing where you can hack on stuff and try something new and whatever.
Scott Tolinski
In my mind, if you bog that down with a bunch of tooling around it, man, you could spend so much time on that tooling. And Yeah. Sure, you could set it and forget it, but there are times when something, oh, this might be nice if I have this and then this and then this. And next thing you know, you're installing cross packages, and it's all just a it inhibits you from working on your mini apps, and suddenly, the mini app, you know, structure and everything is now what you your project is. Yeah. So if they are small apps that, you know, don't need self contained versions and stuff like that, just throw them all in, different folders and call it a day if you wanna if you wanna have that. To me, that barrier to entry. You can't beat a small barrier to entry in this kind of stuff.
Wes Bos
This is what I do with my hot tips repo. So I have a huge repo full of, I don't know, like, probably 80 different apps that I've built over the you know, just little demos to to actual big things. What I have is I have Vite in the root, and then I have a plug in called Vite dir, Vite list directory contents. And that's a plug in that I built to allow you to click through the folders and see, and then you click on one of them, and it will will actually build it. And that's why that way you can have you can run TypeScript and all of this stuff without having to do any build step.
Wes Bos
But if I do need a larger project inside of there, I can always put a package JSON in that subfolder, and then that allows it to be its own thing. And that I love that because, like, by default, half of them don't need their own package JSON. Right? And I can share code between the two if I want to. But if there is a situation where I do need its own package JSON, then I can go ahead and run that.
Wes Bos
That might be a good way. Putting that in production is a little bit trickier because you have to build them all, or I also have been tinkering with building them on demand as as you click on one of them. I don't know if that's maybe not the the best idea. I was also thinking maybe COOLIFY is a better approach here because maybe just you can keep them all on the same monorepo if you want. That way you can share content between the two. But simply just throwing it up on COOLIFY and, like, back in the day, I used to have a PHP server where I had just a folders full of stuff that I built, and you just drag a folder and put it on there. That's that's the kind of the dream with this type of stuff, but you can also have the the whole build system. So maybe a Coolify approach is is a bit better. And then your Express app that you're talking about, like, authentication to, like so that people can access all of these different applications, that might work better as just like a global middleware.
Wes Bos
Maybe a Cloudflare worker that sits in front of the entire domain name and checks the incoming request to see if you have you can access ESLint, or you can even use something like the Cloudflare access, where you you have to log in with your your Gmail account or whatever before you it allows you to go forward, and access each of those those values. It can help, but feel like this all seems overengineered for what it JS, though. You know? And then it if it breaks, then you don't feel like changing those those different apps.
Wes Bos
That's a good question. I don't think I would build an Express app that then then routes everything for you because then you're getting into like, your Angular stuff is going to need, like, a build system. Right? Turbo Deno so you don't build the things that haven't changed. That's what I'm talking about, the tooling. A bit of a pain. Project just becomes tooling. Yeah. That's why, like yeah. That's why my whole, like, Vite thing that I built, it doesn't do back end, though. It's just simply client side stuff.
Wes Bos
But that's beautiful because I can simply just add a folder.
Wes Bos
I can add a pack of JSON if I want, and then I just have to surf to the URL, and the whole thing will build on demand. Next question from AI and Morelevant.
Wes Bos
As more developers use AI to write code and AI models improve, the framework and implementation details become less relevant. New frameworks are built to solve problems that developers run into, but these problems become abstracted away by AI.
Wes Bos
More code on the Internet will be written by AI. It's heavily tilted towards React, which will lead to there being mostly old React code that current models are trained on and implemented into the new code written by AI. New improved coding paradigms and code for frameworks better than React will decrease, and new AI models will be trained on older React code and older models. So the the question is, like, is this just churning out a bunch of React code? And, like, is that it? Like, what is the point even to creating new new frameworks Wes, like the reason why we switch frameworks is because, like, developer experience and and performance and whatnot. And if you can just tell the AI model to do something, is there anything there? So I've gotten this question a lot where people just seem a little bit, like, apathetic about things getting better. You know? Like, we they we've arrived. This is this is all that's gonna be, and we're just gonna just spit out a whole bunch of React code and and whatnot. So I've said this many times on this podcast. As soon as something becomes table stakes, the bar is going to be raised.
Wes Bos
Meaning that now that these LLMs can churn out a CRUD app with a React interface that saves to a database, we're not done. That's that's not it. Anybody can make a CRUD app that saves to a database and logs in and whatnot.
Wes Bos
So that's table stakes. Now the bar is raised, and and everything now needs to get better. Right? I'll I'll give you one example Scott from this is just how technology works. One example not from LLMs is, like, search. Back in the day, and search in WordPress was simply just a like SQL query. Right? You wanna search your entire website.
Wes Bos
It looks through, your titles, and it looks through the body of your content with a SQL query where it looks for that word somewhere inside of that. Right? And that was search for for a very, very long time. But now that that was table stakes, it's so easy to do. Now we want more. We want embeddings. We want, to search inside of photos. We want algorithms that are based on our taste. You know? I wanna search, and I want it to show me things that I want, not just same search result for everyone. We want similarity to things. We wanna search wanna be able to upload a photo in search. Like, I get mad now Yes. When I I can't like, I wanted to find a photo on Flickr the other day, And I was like, how do you search by photo on Flickr? They don't have that. You know? What a old website.
Wes Bos
Yeah.
Wes Bos
So a single adhere to how I I run search Node. Yeah. Jeez. A single one line SQL query is now this massive thing that JS, like it's back end. It's front end code. It's databases indexing.
Wes Bos
It's embedding. It's comparing. It's it's custom algorithms.
Wes Bos
Technology gets better.
Wes Bos
Everything gets better, and users are going to expect more. So that that was my first thing. I I wrote a whole bunch of stuff here because I thought that this was was a a really interesting one. The second thing here is that the apps that stand out are the ones where developers are rethinking how to do things and using cutting edge APIs. They're creating joyful experiences. Right? We can all churn out a ShadCN crud app that looks like vercel.com now. That's that's not a problem for anybody to do, and and to a point where people are are getting tired of of that experience.
Wes Bos
So the good websites now are are people that are are, oh, this is fast. This is local first. This is Right. Oh, you're using a whole bunch of new CSS. You're using a CSS anchor API. Oh, wow. You're using all these new browser APIs.
Wes Bos
That's the stuff that that's going to stand out, and that stuff is hard because that's new.
Wes Bos
Ask an Pnpm to to write you a whole bunch of, CSS that was released two months ago. It's not going to do a great job. It'll probably get better as you can give it docs and specifications and things like that, but the people who are still learning this is the second time we've said this on this podcast. You should still learn. You know? You're not you still have to That's controversial.
Wes Bos
Past that. So that's good. And then my third thing here is that some cases, we just don't need to spend time on these things.
Wes Bos
At some point, the LMs are going to get very good at some things, and we simply would just not need to worry about spending time on those things. There are lots of other problems in this world that we can solve with technology, and I don't think that you're gonna be bored.
Scott Tolinski
I've been trying to, come up with just how I feel about some of this stuff in regards to the same thing, where, like, the AI has enabled people who don't know what they're doing to push out stuff that is not going to be good experiences.
Scott Tolinski
And so, like, for instance, I just saw on Twitter somebody being like, I really love this blur effect. How can I do this in React? And then somebody responds, here's a React package to solve to give you a blur effect. It's like, brother, it is a one line of CSS. You were installing a React package for one line Yeah. Of CSS.
Scott Tolinski
And so the bar needs to be like, those are the people you're competing with because that is not indicative, like, a a React package for one line of CSS, even though that's Node what it's doing, it's probably doing some JavaScript in there. Either way, like, that's not going to, in itself, make their app bad, but it's indicative of a bad app. Because if that is one thing in an app, then there there's gonna be a lot more. So, like, Wes. We need to focus on better experiences, faster apps. Faster apps, absolutely. I mean, there's a reason why people say the web apps are not as good as the native apps, and some of that is APIs available in Safari, and some of it is just straight up bad programming, low FPS, data that's taking too long to get into the device, react functions that are running anytime something way up here changes for no reason whatsoever because people don't understand how it works. So we need to definitely focus on better experiences, overall, whether that is joyful, whether that is UI, whether that is animations and tasteful and very specific ways to give context, but just speed, reliability, those things, that is what a good programmer is going to produce.
Wes Bos
Yes. I agree. And I also think that people are working on frameworks right now that are going to be tailored so that LLMs are good at writing them. The LLMs are very good at writing JSX. They're very good at writing Tailwind code. And if people look at at how these like, what these LMs are good at, they take a step back and say, okay.
Wes Bos
How do we now write a JavaScript framework that an LM will be very good at generating code for, at not making a mess out of it. You know? Like, it's very all all of the things that the LLM are good at, what if you made a framework that was was targeted towards that? Obviously, good for the developer as well to be able to to go through it, but what if the LM didn't make a mess and and whatnot? I think that we'll probably start seeing that, and and there people are trying to figure out. Like, part of that is, like, docs are super important right now, and and part of that is going to be supplying the LOM with what it needs to be able to figure out how to change things. So I'm I'm Yeah. Kinda excited about what that will look like in the next little bit.
Scott Tolinski
Yeah. Totally. Full show. Next is the part of the show where we talk about sick picks and shameless plugs.
Scott Tolinski
These are the things that we've been liking, enjoying using any of this stuff. I'm gonna pick something that I have sick picked at least twice now, but we've been doing this show since 2017, so I'm allowed to do that.
Scott Tolinski
And I bust this thing out every once in a while. And when I do, I'm always blown away just by how freaking dope it is. The Nimbot is this little thermal printer that prints onto labels, and it connects via Bluetooth.
Scott Tolinski
And, man, it is this little thing. It's it's little. The labels come on a thing. They're super cheap. You you go on your phone. You connect via Bluetooth. You type in what you want. You add images or whatever. You click go, and it prints you off a dang little label.
Scott Tolinski
And yeah.
Wes Bos
Oh, did you put a label on your Nimbot? You named it? Nice. Yeah. Well, we, we bought a whole bunch of the like, you can go on AliExpress and buy, like, different kinds of labels because it's thermal. Right? And,
Scott Tolinski
you can label like, you can buy kitty cat ones or clear ones. It's it's pretty good. It's thermal. And and so, therefore, you're not buying ink for this thing. Right? It doesn't run out. The only thing you would have to buy is labels, and that is super cheap. And, like, man, it recharges. The app is great. I just can't believe I've had this thing now for a while, and it just still rules. Anytime I need to label like, I was labeling some stuff in my kid's room, and it was just like, man, I love this thing. I I like this so much. It rules. It it it's been so reliable for me. So the Nimbot is going to be my pick. I have a funny, labeling story, Wes. Would you like to hear it? Yes.
Scott Tolinski
Okay. I worked at Target when I was 16 to when I went to college, pretty much. Target was a well paying job in my city. It was, like, one of the better paying jobs. We just Scott into Target, brand new Target. And, I got the job. I was on the Sales Floor, and I was really good at my job. You know? I don't know why. The ADHD and the spatial stuff, I was just really good at the job. So I was very well liked by all of my bosses. But I had a number of I had a number of, like, chaotic things I was doing behind the scenes for my own enjoyment, and one of which was naming the walkie talkies. Everybody had a walkie talkie, and they had a label maker in the back room. So if you forgot your name tag, you could print out a new name tag for the day.
Scott Tolinski
And I just started coming up with like, every day of the week, I would come up with a name, like, you know, like Steve, and I'd print it out, and then I'd put it on the walkie talkie.
Scott Tolinski
Because the walkie talkies all just had numbers. And next thing you know, all the walkie talkies got names. They're all named different stuff. And and the the staff members were always like like, the people were joking around about it. People love the names. And then they had to, like, send out a a a mailer that was like, please, whoever is naming the walkie talkie talkies, we need you to stop doing that. Like, that is like, that is we need you to stop. But the best part is is they couldn't take away the label maker because we needed it. At the same time, there was no cameras or anything where I was doing it, so I just didn't stop. And they were getting Oh my gosh. So angry. I did this for years, and I never got caught. And I would wait a couple weeks, and they'd, you know, die down. They'd take them all off, and then I'd put another one on. And, man, you could tell that Wes pissing off, some of the the higher ups there. No one Vercel suspected it was the employee. They all liked, doing something so it was so non hurtful. And at the same time, I was just like anytime we got a message about it, I was just in tears by myself, just being like, oh, this is so good. They're never gonna catch me. They're never gonna catch me.
Wes Bos
I I love my my Nimbot as well. The only weird thing is that it doesn't you can't, like, print it as long as you want. Like, we have, like, a Brother one with, like, the keypad on it, and I hate that because, like, I hate type I wanna type on my phone. Or, like, you can you can also Emoji.
Wes Bos
Like like, down yeah. You get emojis or you can often, what we'll do is we'll like, my kid we we sort our kids' like toys into boxes, and we have, like, a Minecraft box.
Wes Bos
And then what I'll do is I'll just go on Google, find the Minecraft logo, bring it into the app, and then it'll, like, it'll figure out how to print it black and white, and then you can put the actual logo on the, the label. It's it's just it's such a good thing. I've also marked the one bigger one.
Wes Bos
Yeah. Yeah. You'd it's the whole text editor is is amazing. And you there's also people who hacked them. You can use Canvas, to print to them now with the Wes Bluetooth API.
Wes Bos
I didn't know that. It's a wild world. I kinda wanna get the bigger one because, like, this I got the though they have, like, a wide one. Right? That's, like, maybe two and a half inches wide.
Wes Bos
Interesting. And they're they're so cheap. Like, this this one is 24 Canadian. Probably probably, like, 15 or oh, they got tariffs Node, Americans. Probably a $100. 99.
Scott Tolinski
$19.99.
Wes Bos
Oh, man. What a world.
Wes Bos
How much is that in Canadian? Man, stuff is cheaper in Canada than it is in The States. We've arrived.
Scott Tolinski
I'm gonna have to bust out my bust out my loonies.
Wes Bos
Man, yeah, you gotta come. We for my whole life, we've been driving over the border to buy beer and clothes in Target, and we would ship stuff. We have a mailbox in The States we would ship stuff to.
Wes Bos
The tables have turned, but they have a bigger one. I kinda wanna get it. $37.
Wes Bos
And, like, because I I put labels on everything. I just cannot love it. Live my life without
Scott Tolinski
having labels. You just My son was just having such a hard time ignore like, cleaning his room and, like, putting things wherever they went. And I was just like, listen. If we name everything, you could see exactly what goes away. I don't know where things go unless there's a label.
Wes Bos
Yeah. I have that problem. When we do the dishwasher and you know, like, when we use there we have some plates where we use all of them. And then when I need to go I don't know where they go. I need that, like, layout. You ever go to the store and they have, like like, somebody's merchandising and they they have, like, a photo of where everything goes? I need that.
Scott Tolinski
See, Anvi, that's my domain. Where things go in the kitchen, that is my domain. So I Sanity.
Scott Tolinski
Yeah. That's my yeah.
Wes Bos
Awesome. So I'll I'll second pick that as well. I'm a big fan of, the Nimbot label printer. It's it's been fantastic.
Wes Bos
And the only thing I'll tell you is it's not good for kids, like, kids' school stuff. We still comes off. They they come off. Yeah. It, like, rubs off for whatever reason, but, like, the the labels that we we buy with their names on it, they must be, like, printed on or something like that because they go through the dishwasher Node problem. But this stuff is they fade.
Scott Tolinski
You've had a thermal receipt before. They Node, whatever. Yeah. But for the most part, just, like, labeling anything, they're not gonna without a lot of rubbing. Just just your regular stuff. I've had it, like, all my hold on. Let let me see here. Like,
Wes Bos
I've had Yes. Yes. I've had this for, like, probably three Yarn. Cute. And they're like, micro USB, USB extension, and USB b. So I'm I'm showing a, like, a shoe box, which is another sick pick of mine to organize all your cables.
Scott Tolinski
And, like, I've go nuts with these. I didn't have any I don't have any cute labels.
Wes Bos
That's it. Alright. Let's, shameless plug. What do we wanna plug here? I'm
Scott Tolinski
I sick picked my Nimbot as well. I think I I like that one. I love talking about how good that thing is. I know. I can't talk about it enough. Shameless plug, we would love it, folks, if you were to well, maybe just just go to YouTube and click subscribe, please. Click, you know, the bell and all that. People still click the bell. I haven't heard that being said as a thing in a while. But either way, click subscribe, please. We do so much good stuff on YouTube beyond the podcast. So, you want some more technical, long, deep dives and all kinds of Tolinski. You want fun and games and just lots of laughs. We got LOLs over there by the dozen.
Scott Tolinski
Check us out on YouTube forward slash at Syntax FM or just search Syntax on YouTube. We should be, numero uno there. Again, we're doing all kinds of cool stuff, so check us out. We would love it. We would absolutely love it if you have I always search for Syntax, but I'm curious. Yeah. We are
Wes Bos
Wes are number one when we when you search it up. There's another and there's another channel, the perfect channel for survival game dinosaur enthusiasts called Syntac with a c.
Wes Bos
Nope. Don't beat us out. Nope. Cool. Alright. Thanks for tuning in. We'll catch you later.