Skip to main content
1002

May 6th, 2026 ×

The Real Pricing of LLMs

or
Topic 0 00:00

Transcript

Wes Bos

Welcome to Syntax. We got a Pollock episode for you today. We're talking about everybody is getting hacked. We're gonna talk a lot about that. The new LLM usage based pricing, I think the free lunch is over, and the GitHub Copilot is now 27 times the cost for some of these models, which thousands of dollars. Right? The best way to manage your Node and package manager Vercel, we got a little tip for you, and you have to get rid of node version manager for good. Why is nobody using standard HTML and CSS over these UI component libraries that ship 16 megs of JavaScript? And finally, a new CSS linter is on the way. We're excited to hear about it, and we're gonna detail what we hope and and what that looks like it'll be. Let's get into it. If you have your own questions, we would love to answer them. Please submit them. Go to syntax.fm/potluck, or just click on potluck in the nav bar, and you can submit your question or or link or whatever you want us to talk about, and and we'll cover it on an upcoming website. Keep them coming because we love hearing about it. What's up, Scott? Good to see you here.

Scott Tolinski

Oh, hey, man. Good to see you as well. It's

Wes Bos

it's a fine day. Fine day this morning. Fine day. Lot of stuff's been going on lately. Scott lots to talk about. Let's just jump into the first one here, which is, a question that says, what do you think about Copilot's new usage based pricing? So if you didn't see this, you probably got an email about it, but, GitHub sent out an email saying, like, we're moving to usage based billing rather than these, like, all you can eat subscriptions.

Wes Bos

And and I think we're starting to see this not just with with GitHub, Copilot. What we're seeing with a lot of people is they didn't nobody realized how much we are going to be using these models. Right? Like, initially, it Wes, like, you just type you have tab completion, or you you type in the box and you get an answer back, and then you copy paste and apply it to the thing. And and now people are just, like, agent maxing, running, like, 30 at a time. You have all these, like, sub things going. You're using it to simply people are just using it to simply, ask it to git commit, you know, like, unreal usage that people are using.

Scott Tolinski

Yeah. And, unfortunately Change the background. Right? Yeah. Like yeah.

Wes Bos

Change the background. But, unfortunately, this stuff is is very, very expensive.

Wes Bos

And for the last, I don't know, year, two years, whatever, we've been we've been getting heavily subsidized AI models for us. And I I think they're sort of looking at how much they're losing on these. This is not just GitHub, but, like, Anthropic had they, they were testing removing cloud code from the Wes plan.

Wes Bos

They're really tightening down how much you get on a $200 plan. And, and that's not because they're being greedy. It's simply because they're probably bleeding money. They're probably bleeding thousands and thousands of dollars on single people every single day. And the VCs are are sort of picking up the bill for a lot of the stuff right now, but eventually, things are are going to have to be paid for. And I know that, like, I don't know, what do you the computer. Do you think that the stuff will get cheaper eventually? You know, like, computers always get better and and cheaper?

Scott Tolinski

Yeah. Yeah. You'd I mean, you'd think so, but it is interesting to see, you know, you know, what is at the, it's not necessarily you could call it a rug pull of sorts, but, like, I think anybody who's been paying attention could have seen this coming given the progressive movement of all of these companies moving in this direction.

Scott Tolinski

And and I remember people talking last year saying, you know, the $200 a month Quad Scott Max plan and Node plans that ESLint like that as well, Like, those aren't going to be here forever.

Scott Tolinski

This is like I I saw people say, spend your tokens now because they're gonna cost a lot more in the future.

Scott Tolinski

And I I mean, I think that's really what we're seeing. I don't know if I mean, I I'm yes. Obviously, computing will improve.

Scott Tolinski

We'll be able to use these things for cheaper, but better models are going to continue to come out.

Scott Tolinski

We saw most recently with the latest Claude Opus 4.7 because of how they're tokenizing. It's like using a ton more, per general prompts. And because of that, it's not just that the model is more expensive or whatever. It's like the actual amount of tokens you're using is more. So, therefore, you're going to be spending your you're good yeah. Anybody who's worked in this stuff will see, like, the transition into API based billing, And that API based billing, that usage based billing Yeah. It gets expensive.

Scott Tolinski

Quite.

Wes Bos

Yeah. Holy cow. I sometimes I run the numbers on, like, the tokens that I've used in a single day, and I'm like, that would have been, like, $300 in a day, you know? Which is crazy for what, you know? It yeah.

Wes Bos

It's it's nuts. And, like, so GitHub released their, like, what's it called their multipliers, which is basically, like, if you're using these different models, here is how much faster you're gonna be using it. Right? And, like, Claude Opus four six, the multiplier was three, the new one is 27.

Wes Bos

So they're saying, like, this Wes essentially, like, multiple times more expensive than than it actually Wes, and it's absolutely crazy. And I I think one other thing we're gonna see with this type of thing is the model providers just simply either making API access unaffordable or just cutting it off entirely. Yeah. Because they don't Yeah. Like, I don't think Anthropic or OpenAI wants you using it in a different product. They want you using it in in their product. And we've already seen this. Like, Eleven Labs I love Eleven Labs, but, like, they're all they're, like, good features. They've, like, now locked ESLint, you have to have, like, a $20 a month plan, and then they give you a certain number of credits. I hate that. Like, just let me pay for what I'm using, and I wanna do that because I'm some months, I might use $20, and some months, I might use none. And then I have to like, MidJourney, also like this. I I subscribed to MidJourney again, like, a couple weeks ago just because, like, their image stuff is fantastic and the tooling around transforming or whatever. And, like, MidJourney has no API. Right? There's you you can't just simply pay. I needed to generate, like, a whole bunch of backgrounds. I was playing with my green screen.

Wes Bos

And they do the best at, like, matching the light that's coming on my face. So I was like, oh, man. Like, wouldn't it be cool if I could just, like, I don't mind paying, like, $50 to generate a whole bunch of backgrounds

Scott Tolinski

once, but I don't wanna have this, like, ongoing thing, and then you you'd the subscription is over, and then you lose all of your images from the the past. I but, unfortunately, I think that's the way it's gonna go. Like, I bet we're gonna see a cloud in the future where you you simply just cannot use it via an API. You have to you only use it via cloud code. Well, that is pretty much how the the Cloud Code Max plan. I I I mean, I think the API paying on a token base, I don't think that's going well. I think they want you to use that. Because the way that they've set this up is that if you're paying the $200 a month subscription plan, you can only use that in the cloud app or cloud code. Whereas before, you could use I mean, it was always kind of against the terms of service, but they weren't enforcing it. You could use that subscription in open code. You could use Node. You could use that subscription in Py, and and then they warp OpenClod. And then they they blocked all of that. So now they're forcing if you want to use Claude with those tools, they're forcing you into the API based billing, which costs a ton more. Yeah. So I I think they want you you because that's probably

Wes Bos

the path for them to not be bleeding money on this stuff. You gotta think that Microsoft is working on their own model because you can see, like, Cursor's coming out their own model own model because Yeah. I bet, at some point, like, Cursor is going to not be friends with Anthropic anymore, and they're gonna pull the that model from Cursor, and then Cursor would suck without without that. Right? So now they're working on their own own models, and you gotta think Microsoft is doing that as well.

Scott Tolinski

Here's what I think is gonna happen. I think we're all going to get better at using smaller models in more targeted workflows.

Scott Tolinski

One model does one thing very specifically. It costs way less. It needs to do way less, and we're going to move on from opening up one app and just being like, can you please do this and commit this and then run my checks and do this? Like, it the because you don't need Opus 4.7 to run your test suite. You don't need it to Yeah. Run git commit or create a commit message. You can use much smaller models than that. And I think we're gonna start to see systems pop up that allow and are based around the IP. A really good auto Node, small these tools have.

Scott Tolinski

Yes.

Scott Tolinski

I like that. Here's a fun question just about syntax.

Scott Tolinski

Yeah. Y'all seem to have stopped doing the clever ad transitions.

Scott Tolinski

Now I hear is that jarring sound bite that introduces the prerecorded syntax ad. Why did you stop doing these? Does it save time? Was it something syntax prefer? Did y'all get bored of thinking of them? Did you want to make them easier to skip because, all the ads are the same for the same company now? I may be in the minority, but I really enjoyed and missed the clever transitions. They sometimes made me chuckle and smile on a bad day. Some of my favorite podcasts are the ones with playful ads and ad transitions like, the climbing podcast on the EnormoCast.

Scott Tolinski

I've never heard of it. But yeah. You know what? I'll tell you why. We still do these, for Century, but we're owned by Century, and we don't have any more sponsors. So that's why there's no more different ones. Now why we don't do maybe fun ones into Century often be kinda we're we're we're just kinda forgetting, to even do it. We we wanna make sure we mention Century. We don't wanna be annoying about it, and we don't want to insert it into odd spots in each episode. But we do try to do it in a way that is more organic, I feel like. But I think because of that, there's less opportunity to be like, oh, we need to do two ad reads an episode. Let me think about this ad read. When am I gonna throw it in here? Okay. Now. You know? It it just feels different for me for some reason. But DK, Donkey Kong, thank you for,

Wes Bos

same thing then. Yeah. You know what we also have in there? Scott was always the pro at the transition. I was never very good about it, but I, I'll ESLint there. What do you think? Our our top issue, number of events is in Sanity right now for the Syntax website. Oh, for the Syntax website? Yeah.

Scott Tolinski

I bet my guess is something with the TypeScript anthropic API key.

Wes Bos

That is one. So we had at one point, we had had an old version of anthropic, summarizing them. And it turned out that they when we implemented it, it was not very good. And we need to, like, just bump it to a better model and and maybe make a better prompt, and that's that'll be part of the new site. But at that point, we just we stopped doing it. And one of our top errors is invalid request error. Your credit balance is too low. So we just didn't put any money in the in the machine for that type of thing. And then and there's another one.

Wes Bos

Invalid username password for Upstash. Scott, our caching.

Scott Tolinski

Invalid? Wait. Is that one when was the last time that one went away, though? When was the last time that one triggered?

Wes Bos

About three minutes ago.

Scott Tolinski

Three minutes ago. Okay. I did rotate It just popped up. Keys.

Wes Bos

It came back. You can see in our Sanity that it it popped up maybe last week.

Wes Bos

Looks like you probably fixed it within the last week. Right?

Scott Tolinski

Well, no. Here's what happened. We got a regression in Sentry is telling us. Well, you know, Vercel got pwned.

Scott Tolinski

And they said to rotate your keys. That was one of the keys. Wes, I have some linear tasks for you to rotate the keys on the providers that you have access to, so you should probably do that.

Scott Tolinski

I rotated my Upstash keys. And it's kinda surprising that I'm getting,

Wes Bos

Scott of the

Scott Tolinski

I got a regression. So that means something's wrong there. So I gotta fix it. The good news is the fallback for when that's not working is that it just doesn't use the cache. So hey.

Wes Bos

Oh, interesting.

Wes Bos

I think if I'm looking at my Sentry dashboard, and looking at the URL that this issue is happening on, it's actually happening on preview URLs.

Wes Bos

So I bet that this is not happening. This is probably happening on an older preview URL, which has not yet been updated. Maybe it was built with the old keys. That's probably what it is. Yeah. There we go. Solve the problem in Sentry.

Wes Bos

Thank you, Sentry. Go to sentry.io/syntax, and Yes. Solve your problems.

Wes Bos

Alright. I wanna talk about this, Adib Hana. He posted this crazy story about how he almost got hacked by, like, a recruiter. So basically he says, I had an interview with a crypto recruiter. We talked about forty for forty minutes, and they asked me to look at some code. Their first instruction was to clone the repo. I didn't. They seemed surprised, so I told them I and I waited a moment to check whether it was safe or not. I ran a quick analysis with Claude. Turns out the code had a backdoor that would have copied my environmental variables and sent them to the remote server. The recruiter was speechless and ended the call pretty quickly. Be careful. And then he goes on to, like, post the actual code of, like, what happened and simply by, like, cloning this thing. And I think it was like a pre commit, but basically, it was an Axios call that spread process dot e n v, which I didn't know you could spread process dot e n v. I thought you had to know the actual key for it. Like, I know you can't use object dot keys on process dot e n v.

Wes Bos

Maybe you can. But, yeah, it's crazy. There's a little base 64 encoded string, which turns out to be like a Vercel, hosted IP checker. Like, it looks like it looks like it was just simply, sending a call to check what your IP was to get the country and to come back. But really, it was just an app that was just, like, logging absolutely everything.

Wes Bos

And what a crazy, crazy story.

Wes Bos

So certainly, be very careful.

Scott Tolinski

It feels like this stuff's getting crazier, in terms of just the amount of things we gotta worry about these days in terms of attacks in this regard. And, like, man, this one is wild in particular. I, for a job interview, I don't know if I would have saved myself from this. Mhmm. Just because there's, like, the legitimization of it being a job interview can put you into a back foot where you are kind of inherently more at ease in trusting because you are asking something of these folks, you know, their time for a job.

Wes Bos

What's crazy is that the, like, the guy used his, like, full face and camera and, like, all that stuff. Like, not even Node even trying to hide it.

Wes Bos

Yeah. Yeah. Oh, that's true, actually.

Scott Tolinski

Yeah. I think that I mean, there's there's some shocking

Wes Bos

things. Yeah. To, like, make things. Like, previously, to do bad things on the Internet, you also had to, like, know how to code or or employ some people that also wanted to do bad things.

Wes Bos

But now the bad people can simply just boop, boop, boop in the box.

Wes Bos

So careful installing In the box.

Wes Bos

Even a lot of this, like, like Mac, you know how, like, there's like this, like, Mac app Sanity? You Node, there's Reddits or whatever. Like, check this app out. It, like, does this thing on the whatever. I just don't feel good about any of these apps that are new in the last, like, year or six months.

Wes Bos

I almost always, like, look and see, like, it was has this app been around for longer than this? Because I I don't feel good about these new apps that are vibe Node, because somebody can simply just say, like, here's let's make something useful, but also throw a backdoor in there.

Scott Tolinski

Yeah. I'm really nervous. And I'm so because I am I've been a long time subscriber to whatever that Mac apps Reddit is. And same thing, I had to unsubscribe from it lately because of just how many clearly vibe coded apps are there. And it's not like I'm inherently, like, against the idea of somebody using AI to make a desktop app. But in the same regard, it's like, there's a lot of people just pushing stuff out. And, like, if you're not installing from the Mac App Store for your I mean, even if you're installing from the Mac App Store, you don't know what's going on. But, like, you you have to say, yes. I approve of this. I accept the risk of installing insecure potentially insecure software, and you do that because you're so used to apps like that being signed and somewhat trustworthy. But another one that I see is

Wes Bos

people forking projects that are unmaintained.

Wes Bos

And, like like, I'll tell you one right now. I use this app called Deskpad, and it gives us a virtual Sanity, and we can use it to record, like, a smaller screen when we're doing our things.

Wes Bos

And it's it hasn't been maintained in a while. And there's one feature, which is you can't rotate the virtual display. So I went into the issues, looked for it, and then somebody says, hey.

Wes Bos

I am now maintaining this, and I I forked it, and I I did all these things. And probably that was fine. Probably some that was was somebody that did things fine, but I'm just like, do I trust this? You know? I don't I don't I don't necessarily know. Yeah. It it feels like it feels like the security thing has gotten really crazy lately. I mean, like, everybody. Lots of Bos of stories of Yeah.

Scott Tolinski

Yes. And next one from Max. Hey, Scott and Wes. Huge congrats on the one thousandth episode.

Scott Tolinski

Thank you, Matt. Doing the doing the apple. Thank you. Thank you.

Scott Tolinski

I still remember listening to the first episode nine years ago when I was, like, 15. Thanks for inspiring me to become a web developer. My Wes, I have always been an early adopter who tries out new tech the second it drops. For example, I was an early cursor and AI chat simple agents in the editor user when they dropped. Recently, I took a gap year and left my home country, Germany, to travel around Australia.

Scott Tolinski

I totally unplugged from coding. My only connection to the web dev world was listening to your podcast. Well, thank you. Now I'm getting back to work, and it feels like the landscape has completely shifted. The whole AI agent space exploded while I was gone. Every scene everyone seems to be talking about open code and building these ultra complex agent setups. But not just that, it feels like the whole ecosystem has moved forward a lot.

Scott Tolinski

From the first time in my life, I genuinely feel left behind.

Scott Tolinski

How do I get back to that cutting edge state quickly? What is your advice and the best way to catch up on these new workflows to figure out what's actually worth learning? Thanks, and greetings from Deno and Dan. This is like a whole thing. I actually just gave a keynote on this today about staying up to date with stuff in this world because as we as we march on and every single person that you know is creating an AI agent orchestrator, like, everybody is like, oh, I'm gonna I have this really Node idea of creating an agent orchestrator, you know, something that's never been thought of. And, the thing that often gets ignored is that, like, browsers are still shipping stuff.

Scott Tolinski

Like, just yesterday, Firefox shipped the ability to use light Yarn function without

Wes Bos

colors.

Scott Tolinski

Yeah. Because light dark was just colors, and now you can use it with images too.

Scott Tolinski

Man, that feels, like, exciting to me. And it's so easy to lose track of all of that that progress that's happening in native APIs because we're all built we're all, like, exploring this whole new world of AI, and it's exciting.

Scott Tolinski

And I think at the end of the day, you know, you gotta, like, think about what it is that you're actually care about working on. Do you care about working on this AI stuff, or do you care about building great experiences for the web? And you need to focus your time and energy on the tools and techniques that will get you to those results.

Scott Tolinski

Rather than worrying about the tech, worry about the results.

Scott Tolinski

And I I think that's something that people really lose in this stuff, and then they lose motivation because it's so overwhelming. There's this new harness or this new model or this new thing, and it's like, what are we actually building? Are you building anything? Like, sometimes I I pnpm a whole week working on something that is just a tool JS a tool for a tool rather than actually building anything useful.

Scott Tolinski

And, like, that that sucks to feel that way. Like, wait a second. What am I actually building here? Right? What am I actually needing to focus on? So I I would I would say focus on on the results first and then and work backwards from there.

Wes Bos

Yeah. I think I think that's really important JS focus on using this new tech that we have to get you better results.

Wes Bos

A lot of people are simply just focusing on the harness and whatever that we actually use to to write Node. And the frustrating part about that is in in two months, a lot of that is unnecessary because it's one thing I often think about is that, so many times there's, like, oh, we should have a feature for x, y, and z, or there should be a button for this. Like, I I even went into the cursor, chat, and I Wes, like, hey, like, it would be nice to have a button for x, y, and z. I forget what it was. And the their answer was just ask it to do that. And I was, like, oh, damn it. Yeah. You're right. Like, it's, like, don't even need to build that feature because you can simply just ask it to do that. So it's kinda frustrating that it moves so fast, and and what you're excited about one day is is totally gone. And I agree with Scott warp you should focus on how do you use this tech to build something that you are excited about or something that you previously couldn't do, something that would that that has interests interested you in in a while. Like, the other day, I I found this little Budweiser cup at a thrift store, and it has, like, a little Bluetooth thing. It connects to your phone, and it lights up when your team scores. And it's, like, it's, like, 12 years old or whatever. So I was like, I bet I can hack this. And I couldn't figure it out because it wasn't standard Bluetooth stuff. I've done quite a bit of web Bluetooth stuff, but I just couldn't crack it and couldn't figure out what commands to send to it. So I was like, why don't we try, like like, decompiling the Android app? And then so I found it, and I gave it to Opus, and it decompiled it. And I was like, that was that was really fun. Like, that was I I don't think I would have been able to do that without without Wes or or at least in this amount of time.

Wes Bos

So just keep pushing into the different areas that you're excited about. Last thing I wanna say about this is I think, like, everybody is going to be good at using AI because it's, you're simply just typing into the box and it gives you what you want. And, and everybody who has these like secret prompts and tricks, Oh man. Lists of skills and all this JS, you're not gonna, like, get ahead in in your career by being that person, I don't think. I'm g stacking, man. I'm g stacking. I'm like, I'm a g. Yeah.

Wes Bos

Those things are Node, like, any sort of competitive advantage for this type of thing.

Scott Tolinski

My agent, my my agent skill says, make it good though.

Wes Bos

Yes.

Wes Bos

Yeah.

Wes Bos

Exactly. You know, that's so frustrating. So like like where you will have have a competitive advantage is is just being able to figure out how to be creative with these things and and figure out how you can actually solve problems with this tech, rather than just, like, I don't know, crank out another slop coated vibe app, because I've certainly, I've built many, many of those. And then once it's done, you feel good in the moment. Right? Yeah. Yeah. I'm making something. I can't believe I can do this. And I often think about how exciting that is for people who can't actually code. If I'm this excited about what I'm building right now, people that have always wanted to build something, but couldn't because they couldn't code, that's even even more exciting. But that will wear off eventually, and, like, the table stakes of being able to build anything is sorta on the table there. Now now it's up to you figuring out. I don't know what I'm trying to say here. I'm I'm kinda rambling here, but, you Node, you know what I mean? Like Yeah. We should get Courtney on to talk about this, the psychological

Scott Tolinski

damage that some of these dopamine kind of, I'm doing something. I'm doing something. You know? Like, that that man, it really, like, plays on me too because I really do feel like I'd be doing something sometimes where, like, I need to take a step back and really think about what I'm actually doing. So

Wes Bos

Next question from Steven Greg. He says, I'm interested in your take on using React UI components versus native browser solutions.

Wes Bos

A specific example, base UI's accordion component versus HTML details summary. I'll throw in another example. It's just, like, drop downs, customizable drop downs. We now have that in customizable select in the browser. Right? To select, you can make it look like however you want.

Wes Bos

I understand that the base UI version is fully battle tested and covers all possible accessibility concerns, but to me, it feels like adding accordion.

Wes Bos

Battle tested.

Wes Bos

It's true though. So does there there's there's there's advantages with with accordions.

Wes Bos

To me, it seems like I'm adding unnecessary JS overhead. I like leaning on native browser behavior when possible, and I generally assume native browser behavior would have no accessibility holes, but this may not be the case. And he goes on to sort of give one example.

Wes Bos

I think the native browser stuff is is currently being slept on because like Scott said earlier, everybody is so hyped on all this AI stuff. People are not realizing that see we have CSS anchor and customizable Vercel, and, like, we have there's, like we we've talked about this on podcast every week. There's, like, 30 new things in the last year or so that absolutely nobody is using. You know? Like, I saw apple.com using CSS anchor and, Scott snap for one of those things. I was like, this might be the first time I've seen, like, a big website actually using a lot of this new native stuff. And it's I think it's made made worse by the LLMs not giving you those things by default. I have to explicitly ask and Deno, I wanna use CSS anchor. I wanna use customizable select. I wanna use the details box. Don't just make your own version of it.

Wes Bos

You have to explicitly go and ask for all of those things. I think it won't get much better once these types of things are Scott of they make their way into the the component libraries. I don't think we're gonna get rid of component libraries.

Wes Bos

Probably, we'll we won't have a need for some of the components here or there, but generally, what I think what will happen is we'll get rid of a whole bunch of extra JavaScript, and then the ShadCn implementation of a lot of these things is simply just gonna be some HTML with some classes and maybe a little bit of JavaScript here and there, to fill in different interactions that you want.

Scott Tolinski

Yeah. I'm gonna share my screen for a second. So audio folks, I'm sorry. I'm just warning you. This is a quick thing. I just wanna ask people, what would they rather have in their code base? This is an accordion, mind you.

Scott Tolinski

This, which is what? Like, 15 lines of code for a single accordion or this? Like, what are we doing here? Like, the the one is four lines using a details in summary, and I get get it. Details in summary, maybe not the most advanced API. It's an accordion.

Scott Tolinski

This base UI drives me nuts. And it's not just because the, the guy who does base UI didn't like my tweet that this button could have been a class or this this this component could have been a class. He didn't like that. Yeah. Because, apparently, we need eight components to do a stinking accordion.

Scott Tolinski

Accordion dot root, accordion dot item, accordion dot header, accordion dot trigger. Like I don't know. Is like this garbage? No. What is this?

Wes Bos

But, like, that those are just like it's composable. Right? Like, you can if you were to do that compose the accordion trigger outside of the accordion,

Scott Tolinski

root. Why, like, why do we need all of these individual pieces? It because, like, if if you were actually

Wes Bos

wanted full customization over the accordion that you just showed me, you would just add more elements. Right? And I agree that that's that's where we should be. But you would be adding spans and divs and and all kinds of stuff to make it look like you actually want. And that's why BaseUI has all these different pieces so that you have No. The composability.

Wes Bos

But it I agree. It drives me nuts that, like, this is I have to now know about these 18 different

Scott Tolinski

items here. Because these are just like wrappers, accordion dot Sanity. But inside of that is the actual HTML, so it's not even taking care of that. Accordion header, trigger. Yeah. I mean, like, yeah, I get it. But at the same time, that's not for me, man. I don't I don't need no. I I I you know, give me give me a link with a class of button Vercel a button that is a component wrapped up with a class of button or styles baked in, whatever. I don't know. Node many of these problems are just, like, complexity for the sake of it. And I don't think they're actually do you do you really think people are sitting around being, like, you know what I'd like to do?

Wes Bos

Super complicated accordion.

Wes Bos

Doing that, I'm spending my life's work. No. It's there's a need for for that type of thing, or there Wes, at least. And and now that we have the primitives in the browser, we don't necessarily need a lot of those. Or behind the under the hood, that's something we say a lot. Under the hood, that primitive is should be or hopefully will just be

Scott Tolinski

HTML. Details, in summary, was added to the browser in 2011.

Wes Bos

What? Yes. Okay. But it wasn't animatable for the long time. You know, there was all these, like, gotchas Wes it's, like, it doesn't exactly work that way. Or you wanna open, like, two at a time, or when you open one, the other one closes.

Wes Bos

And, like, those things have been added Node 2011.

Wes Bos

Right? We got we got animatable, detailed summary in, like, the the last year or so.

Scott Tolinski

Sure.

Scott Tolinski

That's all. But I agree. Even even though I think my biggest rub is less of the fact that it's a React component doing something that HTML can't do, because that's not a problem.

Scott Tolinski

It's that the APIs for these things aren't looked as being streamlinable.

Scott Tolinski

Like, the APIs are so overly baked. I I I for me, it's like, it just the the what you're getting out of it does not match what you're putting in. And JS sometimes, they're set up to handle every single possible use case under the sun Wes you may not need that. You can make your own accordion component with details and summary in about fifteen seconds, you know?

Wes Bos

Yeah. I agree. Maybe somebody who's an accordion expert send us, like, just a problem statement or a design or something like that. I think that'd be a fun video where we try to go off and build it. I probably would like to do the native stuff as well because, like, yeah, it's some of this stuff. Especially, like, when you get into it, If you're like, now how do I change this thing? And you have to like, why am I reading docs Oh, god. For a div. I glorified div with a click handler on it.

Scott Tolinski

Shout out to, JS Nation and React Summit. I'm gonna be out there in Amsterdam this summer. Yep. And my talk is all on well, my talk at React Summit is, going to be largely based on this, Wes. Is is is You're getting a shot, Scott. Going to

Wes Bos

React Summit?

Scott Tolinski

No. It's, like, you don't need React for this. You Node know? Hey. Yeah. It's great. Yeah. It does it so much good. It's it's it's just so much stuff. There's so much good stuff. Good talk. But this component could have been a div. How about that? Yeah. That that should be the name of it. This component could have been a div.

Scott Tolinski

I love it. Hey.

Scott Tolinski

I love it. Next one here from Bart Veneman, of Project Wallace. Hey, webmaster of Project Wallace here. I love it. Webmaster. Thanks for the shout out in episode nine ninety eight. Just wanted to let you guys know that we are working on a big style Lint plugin pack for exactly the reasons you guys mentioned on the podcast, deterministic output, sensible defaults, and more agent ready tools with Wallace related tools. Now my Wes, Scott, Clint seems nice. Clint was my little, CSS linting project I I threw together. Have you looked into csskits.rs yet? It aims to be a sort of o x c, but for CSS. The maintainer the maintainer is Keith oh, Keith, I'm so sorry. Is it Circle or Vercel? C I r k e l. Sorry, Keith.

Scott Tolinski

He works on the Firefox browser. It uses the same CSS parser as lightning CSS. He also wants to incorporate linting into CSS kit. Looks like you are both in the same boat. Anyways, wanted to let you Node, I have not heard about this, Bart, and I really sincerely appreciate this. I ultimately don't want to be the one who makes this. So if oh, this is this is a cute little website.

Scott Tolinski

So if Keith is working on this, it looks like there is linting, CSS kit lintstyles.css.

Scott Tolinski

Very similar based on lightning CSS as Wes. Analyze for d yes.

Scott Tolinski

Shout out to Bart. Shout out to Project Wallace, one of the coolest CSS projects out there. For those people who don't know, Project Wallace does a great job of analyzing your CSS in all kinds of ways, both as a CLI, but also as a cool little website. So yeah.

Scott Tolinski

No. I haven't seen this, but I love this. CSSKit

Wes Bos

shot here. People I want working on this. It's definitely Bart and Keith because Okay. I don't know Keith, though.

Wes Bos

Oh, yeah. Yeah. Keith is I think he he writes a whole bunch of the specs. Anytime I'd ask anything about any future spec, he comes in and and chimes in with it. So he knows CSS specs super well.

Wes Bos

Okay. Do you know how to pronounce his last name? No. No. I don't know how to pronounce anybody's name. I probably can't even pronounce my own name. Oh, I recognize his face. Circle.

Scott Tolinski

Wes. Recognize his face here. Okay. I am I yes. I know Keith. Sorry, Keith. I didn't recognize your last name here. Yeah. I'm excited. I'm I think this is awesome that they're working on it. We we very much need

Wes Bos

this type of thing, especially as these well, I'm starting to crank out all this slop.

Wes Bos

We you need these guard rails and these tools that will stop them from adding text, what, letter spacing, 0.2 e m to literally every single selector.

Scott Tolinski

Background color white. You know, white div already.

Wes Bos

Can we add a, a style ESLint Wes it doesn't do that? It doesn't do a a border dash left on Oh, god. On a card when you also have a border radius? You know, that little fingernail

Scott Tolinski

that the AI puts on everything. There's so many funny AI tells, like, the little the boxes with the icon and the text. It's like

Wes Bos

Yeah. Okay. We get it. You said, here are my features, and it made a little section of the six features that it pulled out of there. Next question from jdogg. We've heard a lot of questions about how to best prepare for interviews, especially now with AIH. However, we haven't heard from much from the other perspective. Occasionally, I have to do an interview to vet new potential hires.

Wes Bos

I was it was never an easy ask to assess someone's skills in a one hour technical interview, and now it's even harder. Do you have any thoughts on what to look for as an interviewer and how to assess skills? Yes. We we kinda covered this on a previous episode, but I'll I'll say it again. There's a really good post by someone that said, use composer one or 1.5, or use a model that is fast but not very good. Meaning that, like, you you want to gauge how somebody thinks and tackles and approaches working on a code Bos with these tools. Right? Because Mhmm. Like, quite honestly, whether you like it or not, that's that's a skill in itself. But you also don't want them just to simply just, like, copy paste the requirement, paste it into the box, and then sit there for while it while it generates. Right? So with with a faster, lower power model, whether it's, like, a composer or Kimmy or something like that, you can get an idea of, like, people's feedback loops, going back and forth. It doesn't write all of the code for you, so you'll have to kinda jump in there and do do a lot of that type type of stuff yourself. I think that that's such a good use case. Like, here here's the model that you're allowed to use. Here's the thing that I want you to build.

Wes Bos

Now go at it, and I I kinda wanna see you you working on this type of thing. Because I I don't think you can anymore, I don't think you can judge, go and do this thing, and here JS the output. Node I was thinking about that even with, like, design design Twitter lately, just everybody's ripping everybody off. You know? Everyone's just copying everybody's designs. And, like, you think about that. Like, if you're looking for a designer and you look at their portfolio, like, is this something that they've they've come up with? Is this a UI that they thought, like, here's a problem, and here's how we solved it with this UI, and and here's something beautiful that I Node, or did they just find something that was was similar, pipe it into some machine, and come up with something that is looks kinda similar and is is impressive? So if I was interviewing a designer, I would almost have to, like, I don't know. What do you do? Do you you maybe the Figma history?

Scott Tolinski

Yeah.

Wes Bos

In schools, they're doing that now too. You have to write your essay in this one app because they wanna be able to, like, scrub back and forth and see that you actually typed the stuff. Yeah. You didn't just copy and paste it. Yeah. Yeah.

Wes Bos

So I think that's probably a good one. I also would ask a lot more, like, like architectural Wes.

Wes Bos

Because, like, that's so much of the job now is just, like, how would you tackle this thing? How would you set this up? How would you do queuing? How would you manage concurrency? You know, all of those kinda higher level questions, which is, like, how do you design the system so it's not gonna fall over in a little bit? How do you how do you build something? Here's another thing that I've been thinking about a lot lately. It's like, how do you how do you build these tools that you can access it on the CLI and in the browser, but also maybe make an MCP server? You Node, like, what's the best way to build, like, core functionality API and then surface it via these different mediums?

Scott Tolinski

Yeah. You know what? You know, I think that is really the the kicker because, like, coding interviews have always been tough from the start because you're often handling someone's ability to not work in a real environment. It's like, oh, I'm writing this code. I gotta, you know, potentially solve a problem that maybe I haven't solved before because I haven't had to encounter those APIs.

Scott Tolinski

Or now I gotta think about what those APIs Yarn, and maybe I haven't even actually used them before. And and is that going to actually truly determine if I know how to code or if I understand the bigger choices? So to me, like, I think a a skilled interviewer can learn so much about someone and what they actually know just diving into those architectural questions or, like, talking it through more than just being like, here. Code up this thing. Because, like, if somebody is BSing you, if they're BSing you, you should be able to determine, like, hey. I know that's BS.

Scott Tolinski

I know it. Right? Like, I to to me, if you're if you're a skilled interviewer and somebody, like, has a surface level understanding of something and you're asking them to explain why they would make those choices and get deeper into that stuff. And to me, I don't know Node maybe it's just because I have a good detector of that. But I can tell when somebody is just like, I read the the cliff notes here, and I I haven't actually done it. I've never been in that,

Wes Bos

I would say. Yes. Yeah. It's hard. It's hard because, also, like, there's part of the skill where we do, like, stumped where it's just, like, I we know obscure TypeScript facts, but, like, does that translate into building good web products? No. Sometimes. Yeah. No. Node. I said no. I said straight up Node. Because I'm bad at it. I'll say that. Yeah. You're bad at building web products, but good at No. I'm bad at facts.

Scott Tolinski

I'm bad at memorizing facts like that, like little things here and there. Yeah.

Scott Tolinski

Better at concepts.

Scott Tolinski

Next one here from Niels. Hi, Wes and Scott. Still love the show. Well, thank you for still loving the show. I'm the same person that asked the question yesterday about how to handle FOMO. Here's one more queasy.

Scott Tolinski

Queasy. Okay.

Scott Tolinski

Queasy as in, like, a quiz or queasy as in gross. Yes. Queasy?

Wes Bos

Question. It's probably Australian.

Scott Tolinski

Queasy.

Scott Tolinski

I know it's a bad Australian. Okay. Do you have any best practice suggestions for how to manage your version dependent JavaScript development environments? In particular, I mean, Node, NPM, PNPM, BUN, or any other tooling that comes with different versions. I thought we, the community, had settled on NVM, Node Vercel manager, but that manages Node together with NPM.

Scott Tolinski

While it looks like p n p m should be preferred these days, all of my research so far has just left me puzzled with options and a little concrete solution. Should I just Yeah. Globally YOLO install Node and PNPM and then fix problems as I might run into them? That's kinda what I do. That's kinda that's kinda what I do, Neil, is I just fix them as they they fall in front of me here.

Scott Tolinski

I deeply hope the answer is not dev containers. Peace. Yes. Old man. I deeply hope that too because all of that stuff just seems like a lot. So for me, what do I do? I, before, I I I you know, it's pretty much p npm m for everything with me, and that's just how I manage things. NVM always just has like, almost always given me grief at points where I'm like, I don't Node version is correct, and it's telling me it's not across oh, you know, just like little things where I get frustrated with Node error with npm

Wes Bos

that it's, like, something regressed in this version of npm, and you have to run this, like,

Scott Tolinski

schmod command, and that'll fix it. And, like, it it just comes back all the time, and it drives me nuts. Like, what's happening here? Yeah. I know. So for me but more recently, I have been just using Vite plus for everything.

Scott Tolinski

But, again, I haven't really gotten into node version management.

Scott Tolinski

It's so funny because so many of my projects, I'm just like, whatever. Use the latest version of Node. Use the latest LTS, and then I don't have to worry about it. Because even though I have a lot of projects, I get to be in control of that. And I don't end up having that many Node version issues using older versions of Node. So I am not the right Vercel. Wes, what do you do? Yes.

Wes Bos

So Node has something built in for the package manager aspect of it. It's called core pack.

Wes Bos

And, essentially, in your package JSON, you define if you if you ever NPM something or PNPM install something, you'll notice that PNPM adds a little package manager property to your package dot JSON. And Corepack is this idea that when you have a project, Corepack will figure out or it or knows that that project is using NPM, PMPM, or Yarn. I think those are the three that it supports. I remember there's a lot of controversy when that first Yeah.

Wes Bos

Whether that should go in there. Yeah. So those are the the big three. Right? So Warp Pack is is kind of a solution to that, but quite honestly, I don't use it, but I do like it when projects ship the support for Core Pack because it's just like, oh, it it uses Yarn? Good. Figure it out. Install the version of yarn that you Node, and figure out the weird command that you need to run. And I don't wanna have to like, anytime there's a project that's yarn, it's like, just yarn start. I'm like, I'm dead. I don't it's not gonna work. Yeah. Yeah. Is not gonna work. But if you use Warp, it kind of just like does that for you, which is really nice. So there's that, but I'll quite honestly, I don't use Corepac all that often. What I use is I use one called N, which is, you just go to npm. Imn, you can find it. F n m JS, like, the new Rust based one that seems to everybody JS using. We looked at that in the state of JS episode. It seems like everyone's everyone's using that. But, honestly, the v plus is is where you wanna be, because v p plus manages both your environment, so which version of Node do you do you want to use, and it manages, like, your package manager, which is great because you simply just need to type v p start or v p dev, v p run, whatever, and it will actually run it for you, or v p install.

Wes Bos

You don't have to think, oh, this project uses npm to install.

Wes Bos

And, like, that's another weird thing JS if you npm install on, like, a on a Pnpm package, it, like, hangs forever.

Wes Bos

You don't have to think about any of that. It simply just translates the command to whatever package manager that is using. So, unfortunately, the answer to all of these different tools is just, like, one tool that, like, sits on top and and puppeteers all the things. And then it also will change your node version as Wes, but it will also change the node version just for a specific project, which is so good. If you have, like, I often have, like, my own course thing, which needs a specific version of Node, but then I wanna try a lot of the, like, cutting edge Node features, so I have to switch in between them JS, like, a global Node Vercel, and that's annoying. Man. Because it takes forever. It has to, like, copy, paste, pseudo. It has to do all those things. So I've been absolutely loving v plus for for this type of stuff. So I would say use v plus, and that covers almost everything except BUN, and maybe they'll have BUN support in the future. Yeah. I think that's, that's as good as an answer as there is. I I Just stick the version numbers in your package, JSON, both for your engines, like, which node versions you support and your package manager.

Wes Bos

Alright. Let's get into some sick picks. I got a sick pick for you, Scott. This is a little Amaran light. I know that you have a couple of these as well, and that's why I initially got my first one.

Wes Bos

But I have the, like, big Amaran one fifty c, which is just just like Yeah. The sun. Monster. Yeah. And it does different colors and everything like that. And I needed another one that was just like much smaller, just for, like, kind of, like, a little bit of Node light right here. Let me see if I can actually turn it on.

Wes Bos

There we go. You can hardly see it in there. I need to repoint it a little bit. But this is the MRN Halo 100 x. And if you just need, like, a slim, it's a couple inches thick, light that still takes standard attachments, I think they're they're called, like, a Node mount or something like that.

Wes Bos

That's what you need because so many people, when they're, like, getting, like, oh, I wish my webcam was a little bit better, and you go on Amazon and you buy some, like, newer thing or whatever, those are are okay lights, but they're Scott, like they don't take standard attachments.

Wes Bos

They don't have standard inputs. They don't have standard hooks.

Wes Bos

And then when it comes time to, like, oh, I wanna add, like, a little softbox to this, you know, like, maybe a a tiny little softbox or I wanna diffuse it a little bit, then there's, like, no solution for whatever it is that light that you bought. So buying, again, I'm a big standards guy, buying stuff that is standards based is was really important to me. So I got this little Amaran halo light, and it it does just warm and cool. It I don't think it does colors, and it has, like, a nice little Bluetooth app. That's the one thing I don't like about is the Bluetooth on my desktop app. I have to restart the app all the time to connect to it, but I really like it because you can you can change it warm, cool, you can match the color on your camera, all that type of stuff.

Scott Tolinski

I like that. I've never heard of that. The they make great lights, and I do love my massive one right here. And we've been doing more lighting setups. Well, I don't know if you've seen this, but in Courtney's podcast, Wes, we now have, like, a multi cam setup. And so I've been, like, having to really get into lighting and multi cam setups now because we started doing video for that. So and that's been a whole thing. I got, like, back lights and side lamps, and, yeah, it's Yeah. It's a whole thing.

Scott Tolinski

I'm going to sick pick a neat a neat an a cheap little hack here that I have for keeping my computer screen clean, but also my glasses because I'm I'm not I did I you you see me. I probably fix my hair a whole bunch. I touch my face all the time. I touch my glasses. I'm just kind of a a fidgety guy like that. And, my glasses get all dirty, but also my screen does because I'm always touching it. So I bought this Zeiss lens cleaner. It's a glasses lens cleaner. It's really, really, it's like nonalcohol based.

Scott Tolinski

It's water proprietary detergents and preservatives. So who knows what's in this thing? But, for $12, you get two of these giant bottles that you will absolutely never run out of. Never.

Scott Tolinski

And, like, I I've been using this thing for so long and it's, like, not even, you know, three quarters of the way or, like, it's still three quarters of the way full. And I use it to clean my computer screen all the time.

Scott Tolinski

I use it to clean my keyboards, wipe it down, but, trackpad, whatever.

Scott Tolinski

And I'm not I'm not gonna be the person that says to just use it on your screen because who knows if that could remove. But I've been using it on my screen now for, like, two Yarn, and I never had any issues with the screen. Whatever that what it with the, the screen texture or whatever getting wiped out. The Node coating. So either way, screen cleaner.

Scott Tolinski

Clean your dang screen. Your screens are dirty. And, I found this stuff works really well. Google to make sure that it's safe for your computer screen, but I I've been using it for my computer screen for years now. So I have, like, the Logitech MX

Wes Bos

Master three s. And the biggest complaint with this mouse is that it gets, like, disgusting. Like, the the rubber coating on it, like, disintegrates.

Wes Bos

And somebody posted that theirs was doing this. I was like, yeah. Mine's starting to do that too. And then I, like, looked at it closer, and I was like, oh, it's actually just disgusting from me.

Wes Bos

So I, like, grabbed a baby wipe and, like, cleaned it. I was like, oh, this looks so much nicer now. I just assumed it was breaking down, but it was, like, Cheeto dust and, like like, and

Scott Tolinski

all kinds of That makes me cringe. So bad. Yeah. It's disgusting.

Wes Bos

People's computers are so gross. I used to when I worked doing, like, a boot camp, like, that's all I did all day, JS I typed on other people's computers.

Wes Bos

And it's just, like, some people's computers are just so nice and, like, dialed, and other people, it's just, like, what were you eating? Like, tardine oil before you gave this to me? You know? Why are your keys Yeah. Like piano black?

Scott Tolinski

Yeah. Oh, yeah. Okay. So shout out, also, the, creator of, I believe let's see. The creator of BetterTouchTool has a, an app called Keyboard Clean Tool that makes it so your keyboard does not register presses.

Scott Tolinski

So what I do is I spritz a little this on my little microfiber here. I turn on the keyboard clean tool and I and I scrub it down, and then my, keyboard is nice. I try to do that once a week because, yeah, there's nothing crazier than seeing some of these nasty I do mine. You know, black. My Yeah. Disgusting.

Scott Tolinski

Yeah. I don't like the way it feels. I get, like, weird sensory stuff from them. Like, ugh.

Wes Bos

Ugh. Alright. That's it for today. Thank you so much for tuning in. Make sure you submit your questions to syntax dot f m forward slash potluck, and we'll answer on my upcoming Peace.

Share