over 1 year ago Syntax Podcast
What Happened to Remix. Worth Using Axios? Client Only Next.js?
- 00:32 Topics include Remix usage, Axios opinions, Next.js suitability, accessing third party functions, database hosting, media queries
- 04:20 Disagreement on Axios usefulness and limitations compared to Fetch
- 10:30 Discussion on if AlpineJS provides sufficient client-side functionality when using HTMX
- 17:25 Overview of database hosting options when using local-first apps with ZeroSync
- 23:05 Sentry monitors database query performance
- 25:37 For separate front-end and back-end, alternatives to fully leveraging Next.js
- 30:36 Trying out Waku, a Vite & Deno based React framework, as alternative to Next.js
- 37:48 Challenges transitioning into a senior dev role without previous professional experience
- 46:17 Use a patch package or just copy source code to leverage third party internal functions
- 50:13 Following browser updates through various sources rather than one system
- 53:39 Use DevTools mobile viewports to test constrained aspect ratios rather than device sizes
- 57:45 Giving design feedback diplomatically to improve quality while maintaining relationships
Following browser updates through various sources rather than one system
Wes Bos
that will collect all of the commits or or all of the talking to your your trusted other system, which is your your API endpoint. But I probably would say because I had built everything on on React server components. And it it's largely a a static content based website, So you're you can go all the way to one side, which is requests
Wes Bos
breaking changes I kinda regret that. You know? I was just like, well, I'll just make it look good.
Wes Bos
to see if there's any new features that have been added. And then major, Vite We'll say real quick, please keep the potluck questions coming. Go to syntax.fm.
Wes Bos
size and width of it. And it's there's a couple other things where it will try, like, emulate touch and and whatnot, but you're not actually getting
Scott Tolinski
super paying attention to every browser release, but watching for that isn't sufficient.
Wes Bos
smaller because the the mobile or And I always like, like, a platform as a service that would tell you. However, sewing and making dresses and things like that. She was like, yeah. I need, like, a battery while I'm filming. And, like, where do I how do I attach this? I was like and she's like, I need a light. I'm like, you know what? We gotta get a cage and just, like, attach everything to the cage and put your phone in the middle. So we Scott this, like, beautiful all the small rig stuff is, like, this amazing in three years from now, this is a a bait question. Is it not? I've
Wes Bos
Yeah. And I'll I'll make it like a like an actual commit where I upgrade I'm gonna sick pick. I wish I had it here, but a small rig, Next. Js is a router.
Wes Bos
pixel all the way down to whatever your minimum No. I don't I don't think this is a movie star.
Scott Tolinski
large shifts or I follow, separate back end as API routes within Next. Js and everything, including So I was just shocked at how much better the battery was, and the noise cancellation is super good on them.
Wes Bos
you don't see major releases all that often. Almost always, there's going to be a blog post or a fetch requests, that's that's another big one.
Wes Bos
the browsers I used to be a pilot.
Wes Bos
everything in one go. So SemVerse is three releases. Right? You have one point two point three, and that's major, minor, and, this summer because I kept keep losing my my AirPods.
Scott Tolinski
for major releases
Scott Tolinski
We're just kinda tapped in. I'm more or less not Yeah. Neat.
Wes Bos
GitHub version release
Wes Bos
is simply just doesn't doesn't work, you know, it's it's too different, Axios will throw an error if it is an error. No questions.
Wes Bos
and
Wes Bos
as long as as things look good, and you should be making sure that developers have ad blockers turned on. Mhmm. And and probably the other 40% is just mobile traffic or people don't know how to install an ad blocker on their phone.
Wes Bos
if like, mobile devices in the browser.
Wes Bos
Nothing similar views felt
Wes Bos
stuff changes all the time. It's it's kind of kind of like a full time job.
Wes Bos
I'm merging class names. You know?
Wes Bos
patch. I'll just patches, I just upgrade YOLO, whatever.
Wes Bos
changing the viewport
Discussion on if AlpineJS provides sufficient client-side functionality when using HTMX
Scott Tolinski
needs to support lots of UIs, like a mobile app and the, HTML back like a back end for HTMLX with multiple different UIs because with HTMLX, the server returns straight up HTML. Right? So the UI always has to accept that HTML that's coming in.
Scott Tolinski
HTML is being swapped in and out. But if you have that data coming in as JSON into your application,
Wes Bos
when you have a sync engine on top. Ideally, I'm looking for something that is simple to set up and Sanity, but as long as I don't have to SSH and reboot
Scott Tolinski
that are associated or or some of these other things that were out there. So for me, it was just like, oh,
Scott Tolinski
is applications that need a lot of client side support,
Wes Bos
from the programmatic programmers. So certainly pick that up.
Scott Tolinski
if the UI is different, I didn't I I mean, I was so out of it. I like I said, I couldn't drive. I didn't even think about it. And then I get home, and I get a message on my, you know, find my whatever. And it's like, your AirPods are not with you. And I, like, look at it in the and they're, like, just in the middle of the mountain. I mean, they're on the mountain somewhere.
Scott Tolinski
I I I would be interested to see where people are using,
Scott Tolinski
HTMLX is good if you have a server and a web based UI
Wes Bos
but I can also just switch it to client side if I need to? And I'm not going to be switching any type of templating language from from one to another.
Scott Tolinski
not like click this, move this around, but things like working with local data.
Wes Bos
I just don't like having to switch whatever it is when I decide range of databases, you can look back on it and say, $3.03
Wes Bos
one of those? Blade or or anything like that. And and that makes sense. There's there's lots of sponsor a podcast that is developer related, So, yeah, there's they're actually a hub is is not a bad idea. She we still have lightning phones, so I've been holding off on, like, making a permanent power talking with the people who wanna sponsor your podcast because you can ask them, hey. What do you wanna get out of this sponsorship?
Scott Tolinski
in a way that makes sense with, like, one client per server. And, I think that in in that case, it works really well. I got no no complaints there. But, that's that's a situation where I'd see that. HTML kind of falls apart.
Wes Bos
which
Wes Bos
Next question from Pontius. Hey. I'm starting to dip my toes in the local first water, and I'm tempted by the zero type of solution that Scott has been raving about Wes you bring your own database. However, I haven't had to deal with databases in a very long time, so I feel very unfamiliar there's a lot of people out there with stupid ideas
Wes Bos
web apps.
Wes Bos
not everybody is building a full stack JavaScript application. Right? There's Yes. I would say most people are not doing that, and they don't have that I need to make the browser small enough, but I don't wanna make my dev tools for their dev focused clients on podcast. Yes. I am very familiar with with buy sell ads. Before Century acquired Syntax,
Scott Tolinski
Alpine pairs very well with HTMLX and provides exactly that. It is commonly used in HDMX, and I show many examples in my HDMX book. Shout out to Mark and his book. I have one of Mark's books on salt, so shout out to Mark. I guess my question is whether Scott feels Wes app and maybe something else, maybe even a desktop app or something. And maybe some of these are web based tech and maybe some of them are or maybe the UIs for these things are totally different. Because in that case,
Wes Bos
JSON or it can return a component, I I just think I should try these. So they're when they're called the same. The ear two? trying to search out
Scott Tolinski
Yeah. There are I'm sure there are ways that you can use,
Wes Bos
or I can just return the entire in the web and in Node. Js, having
Scott Tolinski
the HTML coming in from the server isn't gonna make a ton of Right? Or you're gonna have to implement a ton of different server endpoints for all of the different scenarios. Or if it's a native app, you're not even dealing with a a HTML here. So the HTML is great for,
Scott Tolinski
web applications that need to swap out HTML
Scott Tolinski
unless
Wes Bos
I think that those are all JS interesting approaches.
Wes Bos
my templating language or switch
Scott Tolinski
I've yet to see a case where it isn't. So here's largely what I mean when I'm talking about what h t m x is suitable and not suitable for because I think it's just building different types of things.
Scott Tolinski
with this server
Scott Tolinski
HTMLX,
Wes Bos
is so so beautiful to me because, like, yeah, I can return the data that is needed for this piece,
Wes Bos
JSON API
Wes Bos
these days? Is something like Supabase overkill JSON or text. It might be a streaming response.
Wes Bos
it works great. Server rendered I I think if you are Welcome to Syntax. Today, we got a potluck episode for you, which is got some really good questions. One on, like, where does HTMX fall short when you need to, like, hop to the ESLint, and what's the best approach to that?
Wes Bos
you fork it. You know?
Scott Tolinski
not via, like, interactivity,
Wes Bos
ability. They they wanna build just a clean
Scott Tolinski
That makes Wes much sense. And, you know, I think the types of folks that really don't mind that approach are people who have been doing that for a while or have always written their templating language server side. Right? They're using Yeah. What is it? Like, EJS or,
Wes Bos
Cheers. Yeah. This is kind of an interesting one because
Scott Tolinski
API,
Wes Bos
is beautiful because your API endpoints can either return can sprinkle on JavaScript with that with, with Alpine JS.
Scott Tolinski
So it works in the best case scenarios where you have an application that probably only has one UI,
Wes Bos
templated thing out. And it's simply or vitamin gummies or things like that Wes they simply just need reach for TanStack start Yeah. It looks good.
Wes Bos
returning the raw data or a component that has that data.
Disagreement on Axios usefulness and limitations compared to Fetch
Wes Bos
Shiki JS, I was working with last week, and they use a Wasm instance to highlight everything.
Wes Bos
And in the nav, there's a button to ask a Wes, submit it, and we'll answer it on a future episode. So first one from Ringo Starr. Hey, guys. Long time listeners, but I will disagree Yeah.
Wes Bos
most people think that the entire library rigging stuff for my cameras. You know, you got tripods and lights and,
Wes Bos
or a a token via, like, an authorization or a bearer header or simply just tacking on a API key onto a get Wes.
Wes Bos
and then XML h t d p request. And now if just in the last, like, six months, they finally added support for fetch inside of it. So you couldn't use Axios on CloudFlare workers for the longest time, and I love it. I think it's a very important piece of technology. Just like jQuery, I think it's time to move along.
Wes Bos
like the OpenAI, I'm not sure if they still use it or not, but, like, the the stack trace, the console log, having to access the data, that's a little bit of a pain
Wes Bos
repeat requests to, like, an API endpoint You can always attach tokens to the Wes. So what do you do with Fetch? I create a wrapper to attach my token. Not everyone uses cookies for that, etcetera, etcetera. See, this this is kind of interesting JS if you are making So you gotta pick something with a strong router and then also something that is really good at doing either static
Wes Bos
You might want to check the status of the response before you go ahead and parse out the JSON.
Wes Bos
create a web request. So or or export it just as as a nice utility.
Wes Bos
web request and web response.
Scott Tolinski
thought. But I, you know, I I guess I didn't know anything about those limitations that you mentioned either. I I think also, like, if you think about tooling and whatnot that will inspect
Wes Bos
if somebody, like, sends out a, for it. But I will do I use a package called n c u or npm check updates.
Wes Bos
And if you want to load the Wasm being like,
Wes Bos
That's a very similar pack
Scott Tolinski
and that never really bothered me too much. Mhmm. But, yeah, I think it's just a I never got into the habit of using Axios, so I never,
Wes Bos
with you in this one. It's about Axios. I don't get why you rag on Axios so much. It's a central library used in every project. I don't care if Fetch has an OLED TV built in. I will still use Axios. Here are some reasons. One, or any literally any JSX to go fetch things surgery wait times or, fetching your data and and talking to your back end API, and and sometimes that be primitives of web request and web response so that you can use them the same across all of your projects
Wes Bos
Mhmm.
Wes Bos
Axios and all of the features. And I think if you are doing any significant project, you certainly want to reach for something that is a little bit more like Axios or build something.
Wes Bos
Kai, k y, from Sundre Sohrhas,
Wes Bos
other projects. Like, for example, figured out, and they know that they can simply just rendering,
Wes Bos
why. I I took the position of there are many use cases for Axios.
Wes Bos
a double JSON response is because
Wes Bos
and that you can pass them into
Wes Bos
your with the current landscape. How do you guys host your databases the
Wes Bos
something like a custom header
Wes Bos
HTTP dot request
Wes Bos
as I need. I never need to pass the full URL like fetch, so I can set a base URL and stop thinking about the route just as intended.
Wes Bos
That is a really nice feature of Axios Wes you can just sort of sort of set default. Right?
Scott Tolinski
well, fetch is just the way you do it, and I worked around its limitations,
Wes Bos
but super tiny, that's a bit weird. Why do they not have three KBG zip. So has no problem throwing that in your in your package. Or,
Wes Bos
Number two, errors.
Wes Bos
things Yeah. Absolute. Okay. Because So Remix is not dead, but
Wes Bos
We we even did an entire episode on this. Like, why would you still use Axios? Because Mhmm. I certainly understand
Wes Bos
you simply just need to pass it a a web request. And how that web request isn't made, it doesn't matter. Right? There's there's many different ways that you could
Wes Bos
a fetch request,
Wes Bos
the response is not always going to be on display ads, especially in the developer space Wes
Wes Bos
file from a different source, What we've figured out we had all kinds of people being like, we will sell the ads for you on the podcast, and we'll take 25%.
Wes Bos
And when we're dealing with
Wes Bos
And he goes on to say the the away double away for for JSON response. Yeah. That that's certainly a thing. That first the reason why we'll say this real quick. The reason why fetch has making a ton of money,
Wes Bos
There are some alternatives out there. Wes I o r. I don't know how you say that.
Wes Bos
similar API. It's not a drop in replacement,
Use DevTools mobile viewports to test constrained aspect ratios rather than device sizes
Wes Bos
The current one? The iPhone XR is $4.14.
Wes Bos
six different break points. Think about it as, like, money you could make on this was when you were to talk to them directly. Mhmm. People who want to
Wes Bos
like, a handful of
Wes Bos
Because it's it literally should work on every single device out there.
Scott Tolinski
little bit more
Scott Tolinski
No. I I don't know, honestly. I don't know what SE is $3.75.
Scott Tolinski
yeah, sure. You can fire it up in the the latest iPhone, in different Sanity teams, different size organizations A big, big fan. They sound great. Everything is awesome. The noise cancellation's
Scott Tolinski
if you receive a design that's ugly or has poor UX UI, do you give feedback to them or just let it be and implement it as they've designed it? This is a tough one and something that I've experienced personally.
Wes Bos
a a thing to take into consideration as well. So maybe that is is a use case. One question I have for you is, like, what's what's a minimum breakpoint these days? You Node, how small should you go? It used to be three twenty. Are we still going down to three twenty? I'm not. Yeah.
Wes Bos
Yeah. Does my website look good at $3.20? that would be so cool and smash the subscribe button.
Wes Bos
major variance to just confirm that it works on those. But at the end of the day, there's so many phones and whatever. You should really have it be tested and the whole gamut. Yeah. I think the only time those might be useful is if you're working with aspect ratios. You Node, you wanna do something when you're at a specific width. Because a lot of times, if you put your phone into,
Scott Tolinski
Yeah. I, you know, I I typically do pick a handful of breakpoints, but it is it is interesting now with CSS Grid, Flexbox, those types of things
Wes Bos
It works. And I think that's that's, like, something to say about the approach you have to responsive design. You know? Don't think about your website in terms of
Scott Tolinski
Good day, legends. When working with designers or agencies, the back end part in Next. Js as well. But I always prefer to have a separate back Deno. An express server like Node that has all the endpoints and logic. So I can point all my different front end applications to this one Vercel. A custom front end, an internal admin front end, maybe a mobile app, etcetera.
Scott Tolinski
where you can have
Wes Bos
is going to be. So I have never really been like, to your app that you're gonna you're gonna check out every single little point release to see what has changed, and there might be something else where it's like, React on on the client side. We have Aaron Francis coming on, talk about Laravel Fusion, which is kinda interesting where it's like you build a in this right now, it's just Vue. You build a Vue app, but you could put PHP tags in the Vue app, and that that will run a lot of that that server side.
Wes Bos
one of your break points. I'll I'll I will tell you one thing on my personal website is
Wes Bos
four years ago. Let's see the syntax one that says three twenty.
Scott Tolinski
Next question from Komondor.
Wes Bos
fluid.
Scott Tolinski
You know, I I worked at a job that I loved.
Wes Bos
pixels, it starts looking funny. I'll change that. And I kinda wish that I picked,
Scott Tolinski
That's a great question.
Scott Tolinski
in things like your your grid columns. Like, I don't have to define my grid columns at every breakpoint. I can give it an ideal. I can give it, like, a, you know Like a min max maximum amount of columns. Auto fit. Yeah. Correct. The auto fit kind of stuff where I find myself yes. I do use absolutely use breakpoints, I got handed a, Yeah. Right. Totally. Yeah.
Wes Bos
I threw break points in
Wes Bos
what does our website? What does our websites look like at these various sizes? Yeah. It looks good. I I think I've I put it there, but I I also wrote that CSS
Wes Bos
And then and then at
Scott Tolinski
you can see a lot at once. But in the reality Mhmm. Today, there is no standard device sizes. There just straight up isn't.
Scott Tolinski
I wonder if this is Komondor is a a big old version of my dog, the Hungarian Puli. So Komondor.
Scott Tolinski
There's every single device size under the sun, so you kinda gotta support it all. And,
Wes Bos
landscape mode, or Postgres or whatever,
Overview of database hosting options when using local-first apps with ZeroSync
Scott Tolinski
Just the other day, I was running into some really obnoxious error, and it was because I copied the,
Wes Bos
in the once things start to get tight, you know, you kinda cling to one of your
Wes Bos
literally a Linux server that you have a database
Wes Bos
database query, you know, a weird insert or a weird query on something that doesn't have an index.
Scott Tolinski
PlanetScale.
Scott Tolinski
zero sites right now are mostly using Neon, was just really incredible. I ended up having a friend, show eight six eight, Scott commented on how HTMLX is great until you decide you need some client side functionality.
Wes Bos
part of that could be that you have written a a poor you just simply want access to
Scott Tolinski
Yeah. I do, because that's it. And then I'll I'll have it at a regular interval.
Scott Tolinski
So if you use a system like SST, which plays very nice with Xero. So, Pontus, if if you're doing something with Xero,
Wes Bos
So what do you what do you think is the best approach when you're you're doing local first, Scott?
Scott Tolinski
just how many, Yes. Thank you for the softball. But if if this is not a bait question,
Scott Tolinski
data loss. So Yeah. Yeah. So, you know, I I do host things on Neon. PlanetScale
Wes Bos
which is is another thing because, like, if your web app is being slow, balance there, the specific features, meaning that it's a having another company try to go out and sell it. It's it's all about the relationships
Scott Tolinski
HabitPath database to AWS right now. And
Wes Bos
standards, that seems pretty small.
Scott Tolinski
systems, I'm sure there's other services that we didn't mention. The ones I've used, Neon,
Scott Tolinski
especially on, like, a a VPS through a managed thing. I'd just be so worried about losing data. Scott, typically, with, like, without issue. Totally.
Wes Bos
for me. If I'm paying for a database hosting service, wherever I wanted.
Wes Bos
Services like that Wes, like, they'll give you a proper MySQL Postgres database, SQLite database, interceptors.
Wes Bos
but they will host it for you. They'll scale it for you. They'll allow you to branch it. They'll allow you to fall back and roll back and all that. And then in on the very end of the spectrum, you get something
Scott Tolinski
I I've kind of gone in this direction where, like, my experience the designers knew about it right away. And, like, they were really early on things like responsive design and even icon fonts and SVGs or new types of CSS. They were, like, early on it. And then I took a new job because the pay raise was massive. It was a big old pay bump for me, and it was a larger agency.
Scott Tolinski
I know. I know. It's like Wes I I had my MongoDB Vite freelancing or running your own business, so that way you're not coming at this with, which are the
Wes Bos
now moving things to AWS myself. But, yeah, that's pretty much it. You know, one thing I really liked using a platform as a service for is
Scott Tolinski
yeah. Typically,
Wes Bos
MySQL,
Scott Tolinski
for the level upside, I was just like, what's the most frequent interval I can have this backup for? Because I'm so paranoid about,
Wes Bos
this is a sponsored ad. We I was gonna say You are going to want to check out Sentry because Sentry has slow database query,
Scott Tolinski
set up for,
Wes Bos
Postgres,
Scott Tolinski
but Neon has some quirks. It does connection pooling, which can
Scott Tolinski
is good, but there's also, again, some some quirks there, but it's a it's a great platform. These are these are kind of, like, things that are gonna be hosted for you. And, basically, you click go, and they give you a connection string. And that's great. That's it. If you are doing zero sync, it needs to be Postgres, and PlanetScale is just MySQL. So, Neon would be the the choice for that if you're choosing between the two. There's also some other options. You can honestly, you can host your own with Coolify if you want, but I'm not that I'm not that adventurous. I'm gonna say that. I'm not gonna I'm not into hosting my own database infrastructure,
Wes Bos
like a, like, a supabase or a firebase or or whatever Wes it's you get so many features, but it's like you're building on top of that platform.
Scott Tolinski
that's the type of thing I don't wanna do because AWS has I was I was actually trying to show Courtney
Wes Bos
and they will let you know when things are starting to get slow. It's nice. We can go into the syntax dashboard.
Scott Tolinski
Yeah. But yeah. That's it. Well, that's a must have. That's with, like, rasterized icons that like, the icons weren't even rasterized well. They had, like, you know, missing pixel data here and there.
Scott Tolinski
be quirky.
Scott Tolinski
database platform, but Neon is great. There is a good, free tier that really is pretty great. Neon has some deficiencies, though. There's no, like, automated backup system with Neon for some reason. I don't know. Oh, really? Haven't had it. It's it's weird. They're like, we have branching. I'm like, well, what about, like, the just let me have, like, a backup every day kinda thing. No. We got branching. Alright. But so what how do you how do you back up your your database then? You run a, like, a script
Scott Tolinski
database hosts. So if you just do, like, hosted Postgres,
Wes Bos
something like that. We're thinking about, like, Neon or,
Scott Tolinski
services are under AWS, and I was just, like, scrolling through that list. I was like, you wanna you wanna see why I'm stressed out about this AWS stuff? Let me just show you all these dang services I'm looking at right now. And she was like, holy cow.
Scott Tolinski
pooling connection string instead of the non pooling connection string. Okay. Just just by chance, I just didn't see that checkbox. And because of that, you know, I was like, say, you caused me some pain. So, you know, there there's some definite quirks with the fact that it is kind of like a distributed again, it works best when
Scott Tolinski
Everything in one fell swoop. You can haul I'll have it as infrastructure as code. But there's there are options for hosted, But I'm doing it via SST, which is really dead simple.
Wes Bos
to to dump it or what?
Wes Bos
the one of the reasons I'm doing that is because I'm scared I'm going to lose At 342 Jonathan Bell, next question JS, what is the best way to leverage
Challenges transitioning into a senior dev role without previous professional experience
Wes Bos
for external consumption? I'm working on a project right now at work where we'd like to use the output of some of the functions contained in the third party package, Yeah. I think Alpine is really cool. We had Caleb on the podcast to talk about it, and or something that is good at doing server rendering. And
Scott Tolinski
you can't just study and get there. Typically, you're gonna have to start more junior than that, which is it's tough to hear because you're already such an accomplished professional. Right? Yeah. Not to say that you can't.
Wes Bos
Even just like the there's, like, a letters off by one if you were to write all of your text and then just shift the letters in the alphabet by one.
Wes Bos
at the same time, there's a lot of people with
Wes Bos
I I it was there was, like, a whole world of of different and you want to automatically and you you're up and running. And then sorta in in the middle, you have these, like, services platform as a service that will offer you 20? Are we still doing $3.20? That seems
Wes Bos
encoding
Scott Tolinski
any of these things, then it's it's you might as well just not maybe not. Might as well just insert in plain text. But the reason people do it in hashing is because it's irreversible, and you cannot
Wes Bos
of stuff they wanna build, so be careful there. But they're
Scott Tolinski
you need to listen up. Okay. So the word encoding should be the clue here that this is not a good idea.
Wes Bos
And then you can also like, when it does come time to actually getting a job, I don't think I ever look at the, like, drop down and be like, oh, that's not working on the Asus ZenBook Fold So it wasn't as fun as I would thought, but
Wes Bos
And, if you have this secret key, can you figure out what I wrote on it? And I was like, girl,
Scott Tolinski
I I just I know that people hiring and especially with hiring being tough right now, I think people are gonna want someone who's had that organizational
Scott Tolinski
so it's better performance obvious win. Alright. Broccoli boy Hold on. Before you even answer this, these guys, besides just being, effortlessly.
Scott Tolinski
you know, the password written on a piece of paper into fine dust that you could never reassemble. So hashing is one way. Encoding is two ways.
Wes Bos
a is equal to four and b is equal to whatever.
Wes Bos
And I was like, you're you're kind of in yeah. You're encrypting things right Node, and unless you have the key, I was trying to explain to her. I'm like, this is what computers do, where if you wanna keep something private, you you encrypt it, and then you can only get access to it the other way when you you decrypt it if you have access to the key.
Wes Bos
approaches for just, like, simple letters that you can you can decrypt them.
Wes Bos
but those functions are not exported via the index.tsorpackage.json.
Scott Tolinski
on the job, like, real training. That's the tough part because there is so much of this that but I find myself using them way less than I did five years ago for sure.
Scott Tolinski
Vercel.
Scott Tolinski
unhash something. So Yeah. That's why broccoli boy sixty Node.
Scott Tolinski
implies that it can be decoding. You can encode and decode something. If you can decode a password, there is no point.
Wes Bos
And she's like, I'm writing these letters where I see that quite a bit where, like, you're trying to have a conversation about a specific feature and someone just
Scott Tolinski
TikTok question, and I made the username broccoli boy sixty nine. Okay. Well, that's very funny. So whoever is is baiting you, I hope this is a bait question. For the softball.
Scott Tolinski
de encrypt
Wes Bos
encryption, a matter of switching, I'm a big fan of Someone's mad that we're we're hating on Axios, so we're we're gonna fire back at that. And finally, media queries. Should you be using the Chrome DevTools,
Wes Bos
I learned a ton installed on, and you can fire it up. Right? You install MySQL And my wife does does quite a bit of filming as Wes, just around doing, forward slash at Syntax FM
Scott Tolinski
you know, being passed down or something like that. You just don't get from from online stuff. I think for you to spend a few years of downtime in the best possible way, Hashing passwords is a waste of time when you can just a base 64 encode them. Do you agree? oh, man, like some kind of RPC system like MiniMongo I'm one of the reasons why it could be saying that, like, I rag on it is because I never used it. So you can't, like, build a habit for something or, like, really see the benefits or something that you never used. And my my, like
Wes Bos
where
Scott Tolinski
Surely Mhmm. You have experienced things in your time working professionally that, like,
Scott Tolinski
Yeah. I I think that's such a good point. You could always, like and and like you said,
Scott Tolinski
de encode I know, like, many other people have the chops there to manage their own databases like that. I'm usually gonna run to a service. What I'm doing right now, Wes, is I'm moving my,
Wes Bos
she was like, I'm being a spy.
Wes Bos
building an actual real application and, And then, unfortunately, people just plugged them in chat g p t and and decoded them immediately.
Scott Tolinski
before locking someone down in a more senior role.
Wes Bos
LED manufacturing.
Scott Tolinski
is one way. It is irreversible.
Wes Bos
working in you might wanna intercept that and make sure the token is valid or you wanna make sure that they're logged in. If not, you wanna redirect them. Lots of really good use cases for it. However, they would let you know when there are slow queries,
Scott Tolinski
build with what you know. You you have this aviation background.
Wes Bos
business that you said, I built this thing. I understand.
Wes Bos
if we could fix it.
Wes Bos
really good ideas, especially with all the AI stuff going on right now. You Node, there's there's somebody
Scott Tolinski
There's literally no difference. And I read that base 64 encoding is 100 times faster than hashing, He's Tarzan. He's in he's the mummy. Well, he wasn't the mummy. Tarzan. Never seen the mummy.
Scott Tolinski
it's sadly not the case where, in my mind,
Scott Tolinski
taking on a a part time job.
Wes Bos
plumbing in the butt. You know? Axios, by default, uses library where, yeah, I can I can write this thing server side, like prerendering,
Scott Tolinski
in someone in a senior role, is taught through, Yeah. It's different if you're working on a big team, big project. You're gonna be doing one of these things at a time. You're gonna be making sure you know exactly what's included in everything and and all that stuff. So yeah. Wes guess it also depends on, like, how important that dependency is. You know? Like, there's there might be something that is so core
Scott Tolinski
Alright. Next one here from broccoli boy sixty nine.
Wes Bos
rather than just Also common in the space is inertia JS. You know, you serve a render, and then you can pick it up with
Scott Tolinski
you know what? When I first read this in the the show notes, I didn't read it as a bait question. And now that I'm reading it out loud and I think it might be due in part to the the the username broccoli boy sixty nine. That's the username I used on one of our last YouTube videos JS Wes interesting? Where I made a fake I made a fake,
Wes Bos
you have this amazing I ended up downloading the entire package into our project and imported it directly via file path. However, this feels wrong. How have you solved this in the path? Yes.
Scott Tolinski
And
Scott Tolinski
That doesn't make it secure. If if you could decode it and you you let's say you encode Bos Sanity four Node a password, you save it to your database, somebody else could just decode that thing, there's the password. It's the same thing as storing the password in plain text.
Scott Tolinski
So, you know, what what can you do? I think the end of the day, you need to get as much real world as experience as possible.
Scott Tolinski
Hashing even if this isn't bait, if it is bait, whatever, if you're out there and you wanna know how to securely store your passwords, it always needs to be one way
Wes Bos
explanation of the difference between
Scott Tolinski
and encrypting can both be with this guy sitting next to me, and he stopped me halfway through. And he was like, is your name Scott? And I was like, yes. Are you Scott Zelinski from Syntax? I was like, yes.
Wes Bos
like, what what did you call it, encrypting? Or, so really cool. It's it's we got a light on it. We got a microphone shotgun microphone on it, a little small rig clamp to hold the battery,
Scott Tolinski
I'm a this is my first time as a dev job trying to get something a little bit higher, that you have some actual,
Scott Tolinski
You cannot unhash something.
Wes Bos
to try to build something for a couple years, it's gonna be amazing experience.
Wes Bos
There's somebody in that who's like, man, we have this problem We Scott a whole bunch of really fun videos, the podcast JS well as,
Scott Tolinski
It's the equivalent of, a change log somewhat differently or not everybody, but a lot of people do.
Scott Tolinski
oh Node, splitting up the,
Scott Tolinski
Maybe that means, like, if you can put some hours into
Trying out Waku, a Vite & Deno based React framework, as alternative to Next.js
Scott Tolinski
specifically because
Scott Tolinski
Yeah. Totally. I remember back in the day, like,
Scott Tolinski
I can afford staying unemployed while studying full time for a few years. With these conditions, is it reasonable to work towards and expect landing a senior level tech job
Wes Bos
my, like, content into the Next. Js way, and then I just kept hitting all kinds of issues all the way down. So
Wes Bos
of for the reasons that I I had just said. Bos sell ads is pretty heavily in the but I would love your opinions on this. Yeah. This is
Wes Bos
you need to get some serious traffic to make any kind of money
Scott Tolinski
straight away? experience that they would want
Wes Bos
It's it's a really good good approach. I think I'm gonna go with it, but I think it's a bit early for me to say that.
Wes Bos
boxes of gummies, and and it will make sense to them. With developer stuff, it's a lot different because common encryption decryption ways. When we did the the t shirt giveaway for Syntax, Do you happen to know why those presets are always so out of date? In general, do you find these mobile viewports modes to be useful? what what has changed because it's what why am I blanking on what we use for syntax? TanStack router, you add a lot of complexity, and sometimes it's ease sometimes just easier to copy paste it, put it in your project. Yeah. Totally. Alright. Next question from major release. How do you keep track of package library browser updates, new features, breaking changes?
Wes Bos
without
Scott Tolinski
In two years or so, I may lose my job to a medical condition, so I'm ramping up my efforts at becoming a professional software developer.
Wes Bos
Scott and I were familiar with their product. Like, we'd often go on calls with them you need to start build an app. Build something and podcast I have this great idea. And if you can sort of pair up with somebody like that a functionality that's encapsulated
Wes Bos
I think
Scott Tolinski
Yeah. Waku. Yeah. But yeah. Okay. Well, come on. I think Waku. Okay. So Waku is
Wes Bos
best and then either return something on the server, some some templating, or they wanna do it totally on the client.
Scott Tolinski
Yeah. Yeah. Right. Alright. Next question here. Thank you, Paige, by the way. A nerdy pilot. Hello, Wes and Scott. Longtime listener. Big fan here. I'm an airline pilot in my mid thirties. I've been dabbling with code for many years, but nothing professional yet.
Wes Bos
you had different episode sponsors. Did you ever work with a ad platform group like this or work directly with all of your sponsors? And what do you think via server components, then you're not you don't have to fuss with, like, auth or rate limiting or API keys or or anything like like that because And if you do need client side functionality, similar package that has the whole idea
Wes Bos
This one is more advertising wanting to build your back end totally separate,
Scott Tolinski
I doubt my aviation credentials, a degree in license would hold any value in the tech sector. Thankfully,
Wes Bos
and Deno based React Vercel component framework.
Scott Tolinski
that it's difficult to just get
Wes Bos
And I moved over And and you could that that's huge for for somebody hiring.
Wes Bos
you're not gonna be
Wes Bos
back in the blog days.
Wes Bos
underwear thing, but that would be that would be really cool.
Wes Bos
essentially Next. Js
Scott Tolinski
getting buy sell ads to approve my blog was, like, such a goal of mine. It was like I mean, this would have been, like, 02/2011.
Wes Bos
an interesting approach. So when we were selling ads for this podcast, like, known I patch package.
Wes Bos
Hey, Wes and Scott.
Wes Bos
a warm body,
Wes Bos
the Next. Js features, No. No. Haven't seen movies.
Wes Bos
was was worth the money for them because then maybe we we'll talk about it, and it will pop up.
Scott Tolinski
What path would you recommend to best prepare for the inevitable? Thanks for running an awesome podcast and peace. You know what? I'm I'm skeptical that you would be able to land any sort of, senior level tech job ability to have a discussion with the the designer themselves.
Wes Bos
type of thing where they will try to place the best ad on there. They are a they're a very good company, and if there is somebody I would work with, I would I would say buy sell ads. But I think at the end of the day, and they will convert a specific amount. Some of these, like, big podcasts that you hear, Minor, I'll sometimes check out the documentation if it's something that is in active development,
Wes Bos
And, unfortunately, that I don't think that works very well in the developer space because or or breaking change could possibly happen in this. I'm not too worried about it. Yeah. Cleaned up typescript types or behind the scene heat headlights. Yeah. Yeah. Phil Deshant says, do you use the mobile device preset in Chrome Firefox developer tools?
Scott Tolinski
I was just like, if I could just get buy, sell ads to,
Scott Tolinski
how processes work
Wes Bos
I'm pretty happy it was Wacko right now.
Scott Tolinski
online,
Wes Bos
There's tag deduping.
Wes Bos
put in 20,000
Wes Bos
Athletic Greens and and whatnot, they have that whole journey
Wes Bos
Paige Niedringhaus.
Wes Bos
it was first of all, it was Scott and I talking about it, so that was some some goodwill to it.
Wes Bos
I think the stat is, like like, 60% It all plugs into the phone.
Wes Bos
but I was I was pretty happy with it as well. So that's I'll probably throw that one in there. It has a, like, app router kind of idea, but you can also use dynamic router. There's nested layouts.
Wes Bos
Yarn. And out the other end, they can sell 400
Wes Bos
and there would be a whole bunch of little ads in there. Node they have sort of the whole Google Ads upstream to let me tell you about, this is server, this is ESLint, which is why I'm I'm a big fan of of React Vercel component approach you you can find a lot of, like, bugs where people are just assuming that the width of the thing and you have unlimited height, but the the constrained height is often
Scott Tolinski
there's a lot of on the job learning that happens properly. Let me get that working. Yeah. I'm the same way. I I never look at the presets.
Scott Tolinski
Nice. Yeah. That sounds neat. Can't wait to hear about it. Next one from
Wes Bos
It's been a while, but I'm back with the next question for you. Paige always has some of the best questions.
Wes Bos
everything in probably, like, three or four hours, hosting focused. I've been running a front end news Mark is a very smart guy.
Scott Tolinski
Wario? Yeah.
Wes Bos
of working with something like this? I feel a bit skeptical, developer space. You probably remember them So
Wes Bos
Yeah. I'd freaking love Vite and
Scott Tolinski
say they would like to work with me, then I'm gonna be in in it. You know? So I I haven't worked with them or or done anything with them, especially lately. I did eventually get accepted to buy, sell ads, but I always had a good opinion of the the company. But, again, I have not worked with them. But I I think you you nailed this question, so I don't really have too much to add here. Yeah. I I had it on my blog many, many years ago, but or,
Wes Bos
focused podcast with two of my friends for the past year and a half. Ours is called Front End Fire.
Topics include Remix usage, Axios opinions, Next.js suitability, accessing third party functions, database hosting, media queries
Scott Tolinski
because I was riding with him, luckily, when that happened, Ear. Oh.
Scott Tolinski
when you catch your edge like that in snowboarding, it really just throws you. It can throw you hard. Right? And and Yeah. I wasn't prepared to catch my edge. So when I caught my edge and I was on a steep thing, what it did is it threw me back. But since the incline was I'm I'm not kidding. It was it was steep. What it did is it caused my body to fall kinda like like a whip. You know, you whip a towel. Yeah. And that whip just ended with my head slamming in the back, like, the back of my head into the ground, which was pretty hard. And, my helmet flew off, and and then I was just like I I didn't get knocked out, but I was just on another planet for a bit.
Scott Tolinski
yeah, it Wes, you know, I've had concussions before. So the moment that I hit, I was just like, oh, this is bad. I'm in I'm in trouble here.
Scott Tolinski
Hey. I'm doing alright. Back in action here. Feeling feeling pretty normal. I don't know, if you revealed to the audience what happened about my Yes. My accident. But
Scott Tolinski
be like, earlier on in the day, and a I was talking sometimes you just get into conversations with people on the chairlift.
Scott Tolinski
And it was,
Scott Tolinski
And I was talking,
Scott Tolinski
it was a a massive bummer. So if if you Node that, like, I'm not
Scott Tolinski
you know, get myself back to normal. But I actually wanna tell a story about this. This is, like, pretty new. I was on the chairlift PSD
Scott Tolinski
give me a place to stay out there and stuff. So Oh, man. Shout out to Brian. Yeah. Brian,
Wes Bos
Welcome. My name is Wes. I'm a developer from Canada. With me JS always is Scott. How are you doing today, Scott?
Wes Bos
Wes we'll get ready to put the little buffers
Scott Tolinski
let me let me, like, ride down with you. Like so I just, like, rode very slowly, and he followed me. So he made sure I got to the bottom,
Scott Tolinski
And, I I just needed to, like, take a moment to, like,
Scott Tolinski
His name is Brian, Brian Dunn.
Scott Tolinski
drive me and the kids back because my kids were in a lesson, so I couldn't even drive. I was I was that out of it. So I had to have a a friend drive us back and had the ER and stuff. It was
Wes Bos
Alright. Well, let's get on into it. We got lots of really good potluck questions.
Scott Tolinski
a % with it, I'd like this is my first episode back from some getting a little bit, but I'll, Oh, yeah. I'll fill in.
Scott Tolinski
yeah, I just I was just riding and, without a big old platform that is doing all the stuff that you're not gonna need or use anyways, of interceptors and defaults and and base names. Nice. Yeah. Totally. Alright. Next question is from Mark Volkman. Shout out to Mark. In you need to parse and distribute that data into your application. And that's where something like React or or Svelte or Vue, in my mind, just makes way more sense for this type of thing. So HTMLX doesn't make sense for applications with a lot of local data, which is a lot of what I'm working on right now. It doesn't also make sense if your,
Wes Bos
the circle over top of your face when you're When I'm just like, Kinda interesting world.
Scott Tolinski
the the back edge caught my board on a steep edge, like, super steep edge. And so because of the fact that it was so steep,
Scott Tolinski
yeah.
Scott Tolinski
and he he took some video of me hitting some jumps and stuff. Just a a a cool Node. We just chatted the whole time. But,
Scott Tolinski
What a cool guy. He he I I ended up riding with him for three or four runs,
Wes Bos
like, phone sizes in there? And, also, how small should a media query go? All of that and more.
Scott Tolinski
and then he would, you know, texted me and was like, hey. If if you can't get back to Denver, which I honestly couldn't, that he would,
Scott Tolinski
woof, you know, landed in a way where I did it without telling anybody. And I just did the,
Scott Tolinski
yeah. Yeah. I'm all good, man. I'm, you bumped your noggin. Well, tell us what happened. You you were carving up a mean sash? Yeah. Yeah. Yeah. You know what? I I've been I've been snowboarding a long time, like, since I was in the sixth grade maybe, so I'm super experienced. And,
Scott Tolinski
he was right there and was like,
Use a patch package or just copy source code to leverage third party internal functions
Wes Bos
Sometimes in the quest to make everything
Wes Bos
I will use PMPM's They're not selling Interceptors is another really good Node. If you want to You used to have a sidebar with a grid of eight little squares on it, Yeah. Every other week, I'm not that fussy. A free tier would be a big bonus.
Wes Bos
they would
Scott Tolinski
Yeah. I just recently did that in my, Xero Svelte package. There were some utilities that were in the Xero Node repo,
Wes Bos
reusable, inside of a third party package that is not necessarily intended
Wes Bos
one of the piece the utilities that live inside of a library show warning. Using Pros just because because of all of that or, like,
Scott Tolinski
It seems like I'm always randomly stumbling upon them, but I'm definitely missing a lot of stuff. Is there some type of system to keep me aware of new updates and changes and also
Wes Bos
there's no problem just simply bringing it inside of your,
Wes Bos
inside of your repo. Download the whole thing. Stick it in a folder. Copy paste driven development is sometimes the best and simplest approach.
Scott Tolinski
anything. So I'll just yellow update those or whatever. I'll find a blog post if there's new stuff I wanna be aware of.
Scott Tolinski
I'm I'm reading their blogs. I'm watching their things. They're like, here's what's new. Right? And that's what I gain what's new. But I also know that minor releases for Svelte are almost never going to I mean, like, literally, almost never going to break the very first one, My name is Scott.
Wes Bos
either I stopped due to medical things, and I built I built this thing for three years.
Wes Bos
So what I would do in this use case is associated with that one. So that's kinda how I go about it, and I don't spend too much more time past that That's actually a good
Scott Tolinski
if if it's a project that I deeply care about, like Svelte, I'm like
Wes Bos
I've done this many times where not my job and, like, you could just attach everything to this.
Scott Tolinski
As far as, like, other libraries, like, something that's in active development right now, like Deno, anytime they publish a change, I'm literally going to their website. I'm clicking on change log, and I'm reading the change log. And I'll do that for a lot of libraries, especially if it if it's a major version, especially, you know, rub you the wrong way or are just like a jagged edge that you get caught on. You know? And so maybe find how to smooth those edges with an app you could write. And who knows? I think the the fastest track at that that point to getting, a senior dev role or moving into a place of that would be to build something that somebody else wants Yeah. Have it get acquired. But that's, you know, obviously very difficult.
Scott Tolinski
new features, that's maybe a little bit different.
Wes Bos
just patch the package and make it an export so I can then import it. And then when I make that patch, I also will send a pull request Vite and Deno. They just got rid of all so many, like, Webpack issues I was hitting. And it's because I was doing things not the Next. Js blessed way Yeah. Because I was coming from Gatsby. I was trying to, like, shoehorn That's fair. With fetch, is it an error or is it not? You gotta make sure, and and don't forget to throw. Number three, custom instances. I can create as many custom instances
Scott Tolinski
I'm reading the change log because there's almost always a if it is a major version, a breaking changes section, you have to be aware of that kind of thing. TypeScript obviously helps a lot here, Yeah.
Scott Tolinski
Browser stuff, people like Jen Simmons who post about what's new in Safari, when Safari gets an update, those types of things. So it is a little bit about, like, curating that feed. It is tough to stay on top of all of this stuff, but especially
Scott Tolinski
And it makes consuming change logs difficult.
Scott Tolinski
So
Scott Tolinski
like, one system for making sure I I'm up to date on everything.
Scott Tolinski
because with TypeScript, if things change in your code, your TypeScript is going to fail. That can save you right there and at least can identify new things or where things have changed if maybe you didn't look at that change log. But I haven't personally found,
Scott Tolinski
if everybody was just using conventional commits So the UI and all UIs
Scott Tolinski
you you theoretically, there could be, like, an one interface to make sure you're getting all the updates, all the change logs for everything. But everybody publishes
Wes Bos
the the other package that has done and say, hey. Love the library. I would love to be able to access this directly. And almost always to say, oh, yeah. Absolutely. And then merge it and publish a new one. If it's just, like,
Scott Tolinski
for me,
Wes Bos
Mhmm. And you often have to go spelunking in your node modules folder to to sort of find out what it's using.
Scott Tolinski
and I just wanted those utilities. I just grabbed that folder, dragged it into mine, and said, oh, you're mine now because they didn't export them. Right? So you can you can just straight up do that. So Mhmm. Yeah. No. Nothing wrong with that. Yep. Especially if it's like a a monorepo as well. You can stick that thing in its its own package,
Scott Tolinski
and using SemVer,
Wes Bos
put that functionality in a separate utility package that you could Npm install
Wes Bos
So simply x, y, and z device?
Wes Bos
Ideally,
For separate front-end and back-end, alternatives to fully leveraging Next.js
Scott Tolinski
necessarily
Scott Tolinski
So those are the two options that I like the most in the React ecosystem.
Scott Tolinski
API that you can scale on its own and,
Scott Tolinski
the UI app that is Next. Js, could still use those API routes that are hosted in that same application. But if you want a separate
Scott Tolinski
I think that is a a thing. Right? I think a lot of people work like this. And in that case, right, it doesn't necessarily make sense to Does
Scott Tolinski
So in reality, I think Vite and React on its own JS a pair can also do server side rendering in a much more minimal setup, and then you can use
Wes Bos
those that I just talked about are are probably a good approach. I did on Friday.
Wes Bos
they have pushed all of the features back into React router seven. And that's because if you wanna build, like, a full fledged application,
Wes Bos
server components at the time and and still is. And then I've been trying to host it on, like, Cloudflare, which is its own set of challenges.
Wes Bos
you really have to start with the router.
Wes Bos
And there's a really good adapter that that Cloudflare is working on. It's called OpenNext. JS,
Scott Tolinski
and that could be an option as well. What is the best option? Well, I mean, the best option is whatever you're you get comfortable and proficient, but a lot of that stuff should work. You can you can build apps like this,
Scott Tolinski
I don't honestly even know the status of Remix these days, but I would have said that Wes a good option as well. And in reality,
Scott Tolinski
At least server side rendering and those types of things. You could also use something like Astro, which is a great solution for that. In fact, if I was working in React, I would probably pick the TanStack React router, get server side rendering,
Wes Bos
out of frustration, I was like, I'm gonna try use Waku or Waku. Here yours Japanese. How do you say that? W a k u. You're not Japanese, but you Node, Waku. Okay.
Scott Tolinski
deploy on its own and stuff like that, then, you know, possibly, you'd be looking at, right, hosting your own API. And in that case, sure, you could use Next. Js as the front end and get all that stuff. Right? things in the work. So, yeah, this is tough because it's different for everything, especially when you're talking about packages and libraries. Right? Because JSX like things, or even probably JSX as a server side templating language for something like HTMLX. But at that point, I'm just like, give me the whole thing in one platform. Right? Yeah. Give me the just the self that that is the server side and the client side, whatever I need. I know you're working with that are tightly coupled in a way that the server is going to be returning HTML.
Scott Tolinski
or I'd pick Astro.
Scott Tolinski
Is Next. Js then still the best option, or is this overkill? Remix sounded good, but based on your recent episodes, it seems that Remix is dead, or are there other options you would recommend?
Scott Tolinski
Yes. So, you know,
Wes Bos
you just have, like, a trusted system, which is your Next. Js application they they were not paying for, like, oh, I'm gonna sponsor the podcast, and I'm gonna make a whole bunch of money. In most cases, that was not the the case. In most cases, people that were sponsoring were losing money, but they were doing it because
Wes Bos
but it just, like, kept hitting all kinds of it it's not there yet, and that's not any shade on the adapter. It's just, like, it's just early, and it says that.
Scott Tolinski
and React
Wes Bos
TanStack start is essentially probably 87%
Wes Bos
and I moved it over. I used Next. Js because that was, like, one of the only ones that supported
Wes Bos
React router is a router.
Scott Tolinski
Next app or Yeah. My,
Scott Tolinski
Waku. So, like Waku. You Node you know, Waluigi, So to get that
Scott Tolinski
implement everything in Next. Js. You could have your whole
Wes Bos
or reach for meaning that they took all of the features and they moved them into React Router seven.
Wes Bos
I probably would not say to use Next. CSS, certainly, because Next. Js works the best when you are doing everything the Next. Js way.
Scott Tolinski
has the cable Could you say that again? I said Vite and React. I didn't say Siri. What are you talking about? two way, but hashing is one way specifically.
Wes Bos
Your back end code could simply just be and TanStack query together.
Wes Bos
is beneficial because you don't have to if you're doing everything server side or most things server side and you're doing it all preset in or And recently, we had email from a company called Bos Sell Ads asking if we'd be interested in advertising something to build. So whether that's you have a problem in the aviation world right now or or whether it's you even find somebody who's looking for a technical cofounder, And, don't use them that often. The only time I use them is when
Wes Bos
there's still value in choosing a a framework.
Wes Bos
I've been trying to I've been moving my, and not the actual end result.
Wes Bos
React Router seven. So Remix is officially you know, like, they if they start pushing back on you,
Wes Bos
dead,
Transcript
Wes Bos
compared. Axios.
Wes Bos
for a website where you don't want the back end stuff, or should you be reaching for something like TanStack or,
Wes Bos
Should you be using Next. Js and and get a little Deno, and and and us understanding their product somewhat deeply Wes, well, shout shout out to Mark's book. I didn't realize he had written this, but it's called, Vercel Driven Web Apps with HTMX, a couple silly little little apps, and you have your GitHub is full of a to do app. And then you can like, you're gonna learn a ton about that if you you can find wait
Wes Bos
React Router seven? Accessing third party functions inside of a node module that doesn't export them, how do you do that? Database hosting
Giving design feedback diplomatically to improve quality while maintaining relationships
Wes Bos
monster There are lots of different reasons for that. Not to say that you can't use Axios for that.
Wes Bos
That's it for today. Thanks for tuning in. Peace.
Scott Tolinski
Yeah. So I ended up getting you don't even have to get that deep with it.
Wes Bos
Shameless plug. Let's plug the Syntax YouTube channel. Go to youtube.com everything.
Wes Bos
Send them a screenshot of an existing website that that does it in in that specific way. I think that that will be highly valued.
Scott Tolinski
Yeah. These things are awesome.
Wes Bos
if you're walking, then it would disconnect and
Scott Tolinski
you know, my helmet flew off and whatever,
Scott Tolinski
you know, 02/2009 especially because everybody runs things a little bit differently.
Scott Tolinski
you know, I didn't wanna have to replace them with
Scott Tolinski
was riding with my AirPods in, Wes, and
Scott Tolinski
my AirPods, I would only get, like, the podcast recordings done, and then I would have to charge them or whatever.
Wes Bos
earbuds attach in in so much of what we're doing right now. That's great. Yeah. Doing something different.
Wes Bos
rig cage? I don't know what you call it. But, basically, I have all this, like, encoding and decoding.
Scott Tolinski
vectorized based icons, era web development. And this JS, like, the very first site design I get, and I'm at this new job. And I'm just thinking,
Scott Tolinski
I can tell you more about it if you're interested. You know? And maybe that will help. Refrain from just saying, hey. You're doing this wrong JS really what it is. But, hopefully, you can actually have that and the client has signed off on the design, the client says, this is what I warp it to look like. It's now being passed to you. You Node? Sometimes it just makes sense to knock that thing out and move to the next one. Right? Collect the paycheck. Other times, if this is a longer term arrangement, maybe it's a designer you're gonna be working with again in the future potentially or a longer term project, I think it's absolutely best to try to have those conversations,
Scott Tolinski
I have a a sick pick. So this is actually kinda funny. I need to be accepting that same HTML.
Scott Tolinski
And the the thing I like besides the fact that it's cool and yellow, they also make them in black and white too. It has, you know, gestures to pinch and stop. The only thing that it doesn't have is you can't do the swipe to do the volume down. You have to do some kind of pinch gesture to do volume down. I should never figure that out anyway.
Wes Bos
And I was like, I gotta try something cheaper. So I you know? it works on every single PlanetScale.
Scott Tolinski
and I improved a lot of stuff about his design. I basically made his design a lot better, Yeah. It depends. You Node, it depends on what you want and need. But for me personally, So maybe that means
Scott Tolinski
I implemented
Wes Bos
Ideally, you would you would care so much that you'll have a good back and forth. And, ideally, you don't just throw your hands up in exhaustion, is not worth it JS well as the fact that my Gatsby site. I moved it over to server components, That is a lot of your back end and front end.
Scott Tolinski
the AirPod Pro would have some sort of weird feedback with their noise cancellation, and it would cause a speedy
Scott Tolinski
and I submitted that. And I did not talk to the designer about it. I'm not I don't think this was the right idea. I don't think this was the right call. But,
Wes Bos
whatever. You know? Alright. I'll do it. And that's how how products start to to suck. You know? So there's there's definitely a delicate
Wes Bos
like, quarter inch screw.
Wes Bos
Yeah. That no new feature
Wes Bos
Totally. Alright. Let's move into the next section, which is sick picks and shameless plugs.
Wes Bos
it's so nice that everything is based on the same, they have their own, we gave away the codes in so many different formats.
Wes Bos
milled aluminum, my daughter came to me the other day, and
Wes Bos
custom made videos for the YouTube channel, so check it on out.
Scott Tolinski
Nothing
Wes Bos
especially if it's easy things, be like, hey. I think we can implement this a little bit better.
Wes Bos
and it's all pretty affordable. Big fan of it. So this thing is an Axios request and response is not a standardized
Scott Tolinski
Bums me out. And the case doesn't have wireless charging, so you have to plug the case in. But the case
Wes Bos
is how products start to suck.
Scott Tolinski
These things, the battery lasts my entire workday
Wes Bos
and grips and microphones,
Scott Tolinski
not in a way that, hey. You're doing things wrong or whatever. But, like, sometimes designers and people who specialize in web design, they don't stay up on the tech. And so it might be easy for you to say, And she didn't seem to think that was very cool. But I was gonna say the moment the moment you say, that's how computers work, she's gonna be like, alright. Great. Great. Thanks, dad, so much. I I always try to do that with my son when he's, like, talking about Minecraft, and I was just like, let me tell you about this real life thing. And he's just like, alright. We can talk about Minecraft again. Oh, man. There there's a couple,
Wes Bos
like, agenda that they need to push or whatever, then they they just go,
Scott Tolinski
my my poor AirPods and they were, you know, AirPod Pros. I had them for a while. They were super nice. Oh, man. And I was pretty pretty bummed out about that. But, variability
Scott Tolinski
I was having some crazy issue with my AirPod Pros where if I was laying down on a pillow or if I had my helmet on, I
Scott Tolinski
had my concussion, Yeah. Interesting.
Wes Bos
I don't use them. They're they're alright, but they're just not comfortable in my ear. So I I'm there's something just about the AirPods that I love so much.
Wes Bos
and
Scott Tolinski
It was just like something straight out of,
Wes Bos
True. And Yes.
Scott Tolinski
It all plugs in via USB c on, like or do you have, like, a USB hub on there or something? Like, what's the So it's good for that. What it's not good for necessarily
Scott Tolinski
his design, They function very similar to the AirPod Pros.
Scott Tolinski
and the the and the headphone, I, like, really feel like What's my watch talking to me about? the way that I've always done things, at least since I've been making a lot of Wes, is with fetch or fetch polyfills or anything like that Wes that's just the way I've done it for so long that it it feels, like, natural to me. And before that, I did most things with,
Wes Bos
and move back to the not pros, whatever those are. I gotta say for for $79
Scott Tolinski
battery lasts three times longer than the AirPod Pro does. Really? Man. I charge these things overnight or whatever. And, typically,
Scott Tolinski
well, I don't know if it's funny. But when I, I check out just doing the whole thing in SST. I might publish some videos on that because I've been doing it. You can get your database from there. You can get your sync server up on there. You can get your UI hosted on there.
Scott Tolinski
Yeah. Yeah. I yes. Likewise.
Scott Tolinski
oh, by the way, is it okay if I implement this like this because of these reasons?
Wes Bos
Or if not, you can buy little adapters. And I have all these little small rig clamps and whatnot.
Scott Tolinski
So they're the Nothing Ear a. And
Wes Bos
they were not very good. So
Scott Tolinski
good, and, they look cool as hell. So, yeah, big fan. The nothing ear. I bought a pair of, like, So let's say you're working with a local first situation where that data lives on the device on ESLint, that data is stored as JSON, right, or it's just stored as data. And
Scott Tolinski
I don't know if my phone camera's not gonna focus on it, besides just being cool JS hell to look at. They're currently on sale for $79,
Scott Tolinski
where you can give them feedback back and forth. A lot of the best jobs I've ever had were like that Wes you had that direct feedback. If this is a freelance thing So,
Scott Tolinski
I the way I saw it is if he cared so little about this design that he's not even gonna he's not gonna check, or he's gonna see the way that I implement it and be like, oh, that looks pretty good. I did a good job. In reality, what you should be doing is you should have a relationship with the designer, if possible, Because if you can
Wes Bos
Yeah. We need to bring back that, like, neat design
Scott Tolinski
but typically 89, 90 dollars. So they're pretty cheap, and they have noise cancellation.
Scott Tolinski
crazy expensive AirPod Pros. They're, like, $200.
Scott Tolinski
I was a senior developer at a small agency, like a 12 person agency. We're getting new projects. I had direct feedback with the client and the designers. We always worked very closely together so that if there was a new technique,
Scott Tolinski
Dope. Yeah.
Scott Tolinski
oh, I made a big mistake. I took I took the money over the job happiness here, and I'm working at a place where this is the type of comp that I get. And
Wes Bos
I just I'm so excited to get off of lightning for for everything else.
Scott Tolinski
These are the nothing ear a. I think they are the ear two. Two a? I I have whatever the link I have in the show notes is the the one that I got. But Nothing does a lot of really neat phones. I don't know if you've seen any of their phones. Oh, yeah. They do a lot of neat design in their products. So yeah.
Scott Tolinski
these bad boys,
Wes Bos
smartphone but I certainly would, And
Scott Tolinski
but I did it Yeah. Yeah. You know, I And the very first design comp I get handed is one in Photoshop, and this was well past the days of people were well onto vector based design at this point. They were using Sketch. Figma wasn't in out yet, but Sketch Wes, like, the hot tool at this point.
Sentry monitors database query performance
Wes Bos
Bro.
Wes Bos
And, like, for us, we had we had something that never had an index on it. And, like, just over time, as the site got bigger and bigger and bigger, the query started to get slower and slower. And it one day, we got an email being like, hey.
Scott Tolinski
Yeah. And you can like, by all means, you don't have to do one of these fancy services. There's a lot of hosts and hosting platforms that will just have Postgres offered, even Heroku. Right? Super simple, that type of thing. And another thing that we didn't talk about is, like, your database being close to where your web app JS, because that is a potential And and for that part, I'm I'm typically using polypane if I want to Yeah. Have a bunch of different ones to see exactly how they look because it's Encoding
Scott Tolinski
Do you by the way, Wes, you ever see the movie Encino Man? JSON in some situations instead of HTML. I mean, other instances, there JS HTML. But, yeah, I I I just take the thing where, like you said, one templating language for the whole stack, and let me differentiate what's client and server. The tan stack approach to that, sometimes JSON, sometimes HTML,
Wes Bos
This thing is is slow. Like, not like, we got an email from Sentry. Like, it alerted us. Like, oh, man. I should look into that. And I I went in and I added index, and you immediately see the query just drop off inside of your Sentry. So if you're running Sentry on your app like you should, maybe maybe you don't need a platform as a service because that's that's one of the big things I was using it for. Check it out. Sentry.i0/syntax.
Wes Bos
That's just the way I them. Brendan Fraser.
Scott Tolinski
Totally. Yeah. Next one here from your number one fan from Estonia. Nice.
Scott Tolinski
Question about front end frameworks. With frameworks like Next. Js, it seems like it's expected or at least strongly encouraged to implement
Wes Bos
Either way. Brendan Fraser is either. Yo. That's not true.
Scott Tolinski
Hi, guys. Love the podcast.
Scott Tolinski
Yeah. Yeah. Yeah. Okay.
Wes Bos
and your database lives somebody somewhere else, there could be latency introduced there.
Wes Bos
for slowing down your app. If your your code is running in one spot and But I feel like every time I I hit a project that has Axios in it, a little more breakpoints like we did on the the Syntax website.
Scott Tolinski
So all I need for my customer facing front end framework is just the components, but I don't need API routes there. All I need is a framework, is SEO support out of the Bos. And if it would be React, that would be a big plus.
Scott Tolinski
you're you're playing a prank on me, but I I will go with that. No way. Tarzan, is that, like, Jumanji? Is that the same movie? Oh. I also didn't see Jumanji.
Scott Tolinski
Okay. Well, it's from kid you know, from kids, from when we were kids. It's Brendan Fraser JS like a he's like a caveman, and they lie and say he's from Estonia. It's ridiculous.