over 2 years ago Syntax Podcast
Potluck × TypeScript's Longevity × Canvas-Rendered Apps × Learning Rust × Executing Untrusted JS Code
- 00:24 TypeScript future viability
- 00:29 Flutter for web apps
- 00:37 Tailscale for secure remote access
- 00:52 Making Syntax website faster with Sentry
- 08:29 Canvas apps can be fast but lack browser features
- 14:01 Tailscale for secure remote access
- 17:08 Bandcamp music sales platform
- 24:01 Modern workflows for WordPress sites
- 36:41 Shoelace web component library
- 40:31 Rust project ideas
- 45:50 Having Scott's wife back on the show
- 47:53 Using MongoDB for AI embeddings
Making Syntax website faster with Sentry
Scott Tolinski
then we can all stop worrying about this compilation step that people rid. Whine and complain about, and we can actually have type safe code with JavaScript.
Wes Bos
All Things Must Come TO an End. Will TypeScript There seems like there's a 1000000 of them popped up in the last couple of months.
Scott Tolinski
89 to, like, 6 or 70 range, it's meh. Yeah. As in, yeah, they're fine, but they're not great.
Wes Bos
translate. Like, there's a great post on the Stripe blog. Stripe So if you've used Ngrok or Local Tunnel or any of these in the past, rid. Implementations throughout your company so you can't just build a react based
Scott Tolinski
90.
Scott Tolinski
Yeah. Well, hey, speaking of the new website,
Scott Tolinski
incredibly fast compared to how slow they were before. And not only that, We added a bunch of caching. We added a bunch of stale wall revalidate,
Scott Tolinski
Yeah. And you gotta say, like, Flow never had anywhere near the market share of usage that TypeScript had.
Scott Tolinski
This podcast is brought to you by Sentry, But they do more than just, you know, let us create this podcast. Honestly,
Wes Bos
or sorry, moved from Flow to TypeScript and came back on Monday. We'll put a link in the show notes for that is unbelievable. So the big boys use.
Scott Tolinski
And then green is anything above
Wes Bos
Should that stop you from adopting it and learning this type of thing? Absolutely not. Like the the fact that Flow Flow was the sort of competitor to TypeScript. It was from Facebook.
Scott Tolinski
and I found the slowest queries on the site. I found out why they were slow,
Scott Tolinski
this tool
Scott Tolinski
I finally got it. I was the last one in the family to get it, and, yeah. But I'm here today, so that's all that matters. How how are you doing, Wes? That's good. Yeah. We rid Almost had to to cancel it. I'm doing pretty good. I'm excited to talk about he's essentially a thief
Scott Tolinski
rid it was it felt inevitable.
Scott Tolinski
So to me, that's not a big conversation. Honestly, the the people using Flow,
Scott Tolinski
that happened to TypeScript.
Scott Tolinski
and we turned our perf scores from meh and bad to Good. So Like, meh is actually the product says meh. The product says meh. If you're in, like, the If you're in the
Wes Bos
edge cases and hacks.
Wes Bos
all these items today that by the way, this is the first Potluck we're doing since we launched the new website and as well as
Scott Tolinski
And then once you you know, luckily, we we had some reds in here, Wes, and now we have no more reds whatsoever. No more rid. Only meh and above. And, honestly, those mehs are gonna be green in no time too. So,
Wes Bos
Yeah. Alright. Question from immutable and it cannot be changed, so we cannot upload to the file system. If I do need to upload a file, it should go to a CDN somewhere else.
Scott Tolinski
Yeah. I think our listeners are smart enough to find that. I think they are too. It is before you had done that little bit of a redesign of I had it as its own kind of stand alone button, but I do like that as part of the main navigation. So thank you for that. Mhmm. I think we'll eventually have to have, like, the multi tiered NAV.
Scott Tolinski
I took a deep dive into performance style documentaries,
Scott Tolinski
one thing that has been critical for us with the new website has been [email protected].
Wes Bos
or like we're already starting to see that pushback. We see it. We're seeing it with GraphQL right now with every single technology.
Wes Bos
you still are typing. You still have types In your entire codebase, you're still typing your codebase. How you do it is a little bit different from thing to thing to thing. And we maybe fingers crossed we will see for your common things drop downs, radio buttons, and came back It has examples on how to use them with React, Vue, and Angular. So
Scott Tolinski
And sure enough, it became obvious enough that TypeScript won. And now we've been on the TypeScript train for long enough. I I've heard anybody talking about Flow for a little while. And in Flow, just like some of the other Facebook libraries and initiatives of is, like, really just never took hold. So, Yeah. I don't I don't think you have to worry about the same thing happening to Flow
Wes Bos
on.
Wes Bos
But I think,
Scott Tolinski
Vicious stomach bug that has been going around. But one of the the public schools had to close entirely because of how many kids had it. So,
Wes Bos
ever go away. I know not in the next couple of years, for sure, but beyond that, could it ever die out like Flow did? My concern is any TypeScript specific knowledge would go out the window. When that happens, Letting your users run code, especially Maybe because sometimes you're like, oh, I'll build a web server. That's what a lot of people do. But because you have requests coming in. You got to modify it. You can make a bunch of but that's sometimes you look at it like, ah, this is not nearly as good as
Wes Bos
Everything will go away in web development, especially in web development.
Wes Bos
Should you sweat that? No. I think TypeScript is going to be here for quite a while. I guarantee you in a couple years, we're going to start seeing
Scott Tolinski
has been unbelievably helpful for finding errors, bugs. But not only that, more recently After a few years of ignorance is bliss, where I essentially kept building websites but turned a blind eye to the overwhelming
Scott Tolinski
Can they achieve full parity with the DOM, Especially with regards to accessibility
Wes Bos
And the fact that that went away is not a big deal because can take an AI model like OpenAI,
Scott Tolinski
and I squashed them. I made them Yeah. So
Wes Bos
I think Scott probably did 4 or 5 different things to make the website faster. So we'll go through each of those and say how you found out it was slow and how you solved of it. Yeah. I even have more in the in the pipeline too. I've added some some data caching stuff that's gonna be gonna gonna shoot Those socks right off. They're gonna fly off less. So What?
Wes Bos
in I think the prep was was much bigger than that. But the fact that It becomes
Bandcamp music sales platform
Scott Tolinski
And have been there from the days of static table based until now. Oh, yeah.
Wes Bos
on the same domain name. Like if we have Scott. Shopify and West. Shopify.com,
Wes Bos
from your users and you need to It's because the AI knows about what you're talking about.
Wes Bos
to tweet us or send us an email because I think this is kind of interesting as well.
Wes Bos
Isolated I that will and then
Wes Bos
instance of JavaScript, and it allows you
Scott Tolinski
Yeah. Band Bandcamp was a really nice rid Tool for somebody like me who couldn't get their music,
Scott Tolinski
Alright. Well, next question here is from Gareth. Gareth says, hey, guys. Love the show. I started building websites in 2004
Wes Bos
that they host both in the browser 0 trust. That's what it's called. 0 trust. Okay.
Wes Bos
so that you still have cores issues even though they're on the same domain name. But so VM2
Wes Bos
on a website
Wes Bos
let you run
Wes Bos
what do we got here? So you got rid. What would I recommend? First of all, I would use whatever of a show, we can feed it the entire transcript
Scott Tolinski
that would then get you into Itunes and Real media or any place that you were to buy music. So you had to go through a distributor. All of those cost money. But before For that, you had to actually be through a record label who would then get it to a distributor. So a lot of these services, I think it might have been Reactathon.
Scott Tolinski
they they showed up Because it was impossible to sell your music online otherwise.
Wes Bos
the main host because the possible issues is, let's say you're running Node. Js and Scott sends me some code and I run that code.
Wes Bos
Web hosts in the world or website builders in the world, Shopify and Wix.
Wes Bos
untrusted code is you have take out all the silence and then clip them together.
Scott Tolinski
it has been around since
Scott Tolinski
There's all sorts of different distributors,
Wes Bos
and a couple other And a mask will you
Wes Bos
You say, all right, Shopify users, we're hosting your website, rid. But you want to add a little bit of custom JavaScript for click handlers or whatever. All right, now you're opening it up this wide world of URL. Grabs, oh, you want fries? Then it does a search against an SVG API, finds a random one
Wes Bos
my entire machine
Scott Tolinski
man, I wanna say since, like Long time. Yeah.
Scott Tolinski
And Bandcamp showed up, and it was like, hey. It's really dead simple. You upload your stuff, And anybody can buy it. They take a small modest cut of the music.
Wes Bos
Running something like Shopify is a good example.
Scott Tolinski
JS code. So
Wes Bos
but new exploits are constantly getting discovered
Wes Bos
It has everything its own. And As far as we know, it's impossible to break outside of those.
Wes Bos
forte, but I guarantee he has thoughts
Wes Bos
the browser,
Wes Bos
you're letting users run code sometimes on a domain name that is shared with other you're learning rid When everybody went home on Friday as Flow developers, if you want to like build something,
Scott Tolinski
But I didn't I didn't make that much money on it. It was a really easy, nice to use service, and I liked it quite a bit. It has since been sold, and I believe it's being axed. So I think that is why people are talking about it right now. When I initially saw this, I thought it was
Scott Tolinski
Yeah. Maybe even something like that. And the reason why Bandcamp was significant is because for a very long time, if you wanted to sell your music online,
Wes Bos
In their own isolate, meaning it has its own memory.
Wes Bos
Faraz on the show in a couple weeks, and we'll we'll ask him about this. This is not directly his
Wes Bos
And then the last 1 I have here is, can can you run it in the browser? would make me Yeah. Yeah, interested. Because you can, Especially when you're like trying to fix something on your Synology uncovered.
Wes Bos
for some reason. Maybe you are if you're getting tons of traffic, you might as well pump it for your And what that will allow you to do red and green.
Wes Bos
rid A reference to SoundCloud. And I was gonna explain that, like, when a tweet goes viral, everybody follows it up with the link to my SoundCloud,
Wes Bos
instances. And there's there's lots of security things in,
Wes Bos
and then, oh shoot, now they have access to fries.
Wes Bos
code product as well.
Wes Bos
We now have web containers of Node. Js that run-in to parse things, to execute things without 2 of the biggest
Wes Bos
Having access to when you want to search for something that is similar I did not know MongoDB did it. And the ease of running MongoDB locally You can also install it on your NAS, show you that they are close together. Like I did some some really interesting ones where there are security issues like you said. It says to use rid. Isolated VMs.
Wes Bos
because our well-being, Other things V eight isolates. So we had Ryan Dahl on and he talked about
Canvas apps can be fast but lack browser features
Wes Bos
Wild stuff. There's there's a whole there's a library out there, HTML to canvas. Yeah.
Wes Bos
But man, I do not envy the type of person That's like a whole another level of person.
Scott Tolinski
Even Yeah. Font rendering becomes a whole different world in a a Canvas situation. So just know that it is not like
Scott Tolinski
I think they can succeed, and, honestly, I think they could be really performant. I think that could be A really nice thing. But, again, once you step out of that that world of the browser, you're stepping out of all of the lovely things that the browser gives you in Terms of accessibility,
Wes Bos
And I use it to do the overlays on my TikToks. Yeah. So I just basically designed the whole thing with HTML, CSS and JavaScript.
Wes Bos
the entire Someone that says, you know what I wanna do? It will either white grit So I ended up, but I wanted it to be shorter so it could be an item in the NAV. So I ended Going with Paula Hughes.
Scott Tolinski
in an entirely new way, rid. Libraries, which I think are all garbage, honestly, I I found most of them to be terrible. Now, you know, I'm speaking from somebody who's a web developer. So, You know, you might be the the the,
Wes Bos
giving up all of the web, all of the platform specific features, and it leaves room for you to to style it however you want. So you could. It does the functionality. How does a dropdown work? Does all the accessibility? getting sued or Getting a job.
Scott Tolinski
Alright. I guess it's a landing page from Flutter about multiplatform web apps, and this is the true promise of write once, deploy everywhere.
Wes Bos
in one code base. And it's awesome. And they have You can build your components in a like you still have the idea of blocks and components
Scott Tolinski
I have seen this type of thing work in action, and performance.
Wes Bos
things, and you have to build it yourself.
Scott Tolinski
in terms of baked in,
Wes Bos
rid. CH units and, like, has to reimplement you're just thinking in terms of Well, here's where's all the browser APIs for that type of thing? Shoelace. Yeah. Check that out as a way good way to start. I used it on a side project recently, and I was very impressed. So rid. Yeah. It seems like nobody's gonna be building It has its own instance running.
Wes Bos
company being like we rebuilt standardized
Scott Tolinski
scary place to be, 2008 20 years? rid. You know, I gotta say, you're Ending essentially what should be there in the browser already, and you're doing so in a way that can just be plopped into anything. Yeah, that's really cool. The shoelace one is is fantastic And then anytime you wanna do something interesting, like the, the the swipe up area, Alright. Next question from Tom. Tom says, What is your opinion on entirely Canvas rendered web apps such as those built with Flutter?
Wes Bos
our TV, 3 Ios apps and like And it can what's the other one?
Scott Tolinski
It's potentially a a very been doing better, but hey. I'm here, and I'm ready. I I got this
Wes Bos
of does it all, Chris Lattner, who built Swift. And I asked him, like, what do you what do you use to build these things? And he said, I always build command line tools HEX code or some other way to color. The 3rd way is you can use a data URI.
Wes Bos
Everything. Everything. And it can use it can use some of it, like it can use the browser calculated values yourself. You don't even get that with that type of stuff, and it's not perfect. The HTML to canvas, I have to like I had to fuss with it a little bit and
Scott Tolinski
they are very good. However,
Scott Tolinski
and that to me is very scary.
Scott Tolinski
Ken Wheeler gave a talk
Scott Tolinski
Probably worth checking this out. You'll probably be very efficient at creating web apps using Flutter.
Scott Tolinski
Now I've linked to a blog post, none of that's going to be hot or none of that's going to be easy. So if you want easier projects, CLI is definitely the way to Build yourself a little handy u utility CLI. It can be trivial. Right? It doesn't have to be useful or something that you're going to love. Just something practical and,
Scott Tolinski
when you leave the DOM and you go entirely into Canada's, you are stepping into a world Where everything kind of has to be recreated,
Wes Bos
You'll probably see that. But rid I don't think that the it's it's worth
Scott Tolinski
Now can these types of things succeed? I think so.
Scott Tolinski
I've never worked with that sort of framework, but I found it very Fascinating how they replicate functionality in a way that's less dependent on the platform.
Wes Bos
18 Android apps and our desktop experience
Scott Tolinski
Are you a good web developer?
Scott Tolinski
Might be. That's what it is. Let me let me I'll see if I can find the the exact talk. Either way, he did, like, a whole working on reimplementing
Wes Bos
This is absolutely the greatest service I've seen in a while. TaleScale.com.
Scott Tolinski
but I do think it's an interesting idea. Rid not one that I'm personally gonna be diving into, but I do think it's fascinating. So we'll link it up. You can go to gallery.flutter.dev
Wes Bos
into
Scott Tolinski
Now
Scott Tolinski
Yeah. I don't know if there's any they're there for you to need to jump ship and to start making apps with Flutter to use Canvas for that.
Scott Tolinski
So do I think they can succeed?
Wes Bos
Rid. Yeah. I honestly I don't think that it's it's worth it to most devs, but there certainly will be use cases where this makes a lot of sense. Do you remember when we were at
Scott Tolinski
perf sort of things or just general browser features,
Wes Bos
And then you send it to HTML to canvas and it has to reimplement
Scott Tolinski
Depends though. Are you a really good Flutter developer?
Wes Bos
line height and word wrapping and fonts and letter spacing and simplify it so that we can see Those 2 things Great way to learn. Now I wanna learn Rust, and it is the hardest language I've come up rid With so far, if we exclude servers, to an existing website where you clearly can't move off of
Scott Tolinski
rid Paging API. Everything. Just for, FPS. Yeah.
Scott Tolinski
Hey. If you're a good Flutter developer, native
Rust project ideas
Wes Bos
something that already exists.
Scott Tolinski
please let me know. She is a doctor of educational psychology. She's taught courses on human development.
Wes Bos
but you still want to do it in the browser.
Scott Tolinski
To dive into UI based things is to build something with Tori cat burglar is that the entire WordPress
Wes Bos
and then figure out how to change the octaves and the you can't put
Scott Tolinski
Taking a template and then exporting it as a a PDF. I have, like, a contract generator. It's something that I thought was a really good project that I made.
Wes Bos
That would be kind of a cool one. That would be very hard to do in the browser in JavaScript, But you probably can build something in Rust to do that,
Scott Tolinski
Basically, I made a CLI that prompted me for some names and some things, and I took a contract template and then exported it as a PDF.
Scott Tolinski
Doctor Courtney Talinsky, that Courtney and I watched this weekend,
Scott Tolinski
available all the time. So if you all want to hear more from my wife, rid HTML
Wes Bos
of the web. Right. So first thing that came to my mind was a lot of times you don't want to go outside of is com forward slash dog. Svg
Scott Tolinski
and they're really low level. Yeah. CLI is a great place to start even, like, doing something as as simple as, rid
Scott Tolinski
and you're really, you know, Canvas based rendered apps, and they are very fast. And occasionally,
Scott Tolinski
because then you don't have to learn any of these weird a
Scott Tolinski
me, personally, Yeah.
Wes Bos
where the audio levels at
Wes Bos
From from absolute scratch anymore
Scott Tolinski
Sticking with a web UI is a great way to unlock yourself there.
Wes Bos
meaning that think about something that is color
Wes Bos
Also, one thing to keep in mind is cookie law and GDPR
Wes Bos
I think that would be really cool is take some audio not Bandcamp. Yeah.
Scott Tolinski
then you're diving into Rust packages,
Scott Tolinski
app APIs from the But are there any publicly available libraries
Scott Tolinski
She is
Scott Tolinski
computer or or those types of things you might be doing. But,
Scott Tolinski
sort of Rust based UI,
Wes Bos
the over like an hour of speaking of changing fills and strokes and all of that via CSS.
Wes Bos
and
Wes Bos
Sine waves and all that whatever. However you do that, I've built one before. I totally forget SVG, and you literally paste the entire SVG I'm struggling to think of a good project the not hitting the right temperatures.
Scott Tolinski
So it's basically just a fast find and replace, export as PDF. Nice little project because And, Using continuous integration deployment, using uppercase
Scott Tolinski
psychologist or psychiatrist revolving around learning, procrastinating, imposter syndrome, etcetera.
Scott Tolinski
Or another psychologist It was an eye opener for me. I am now convinced For that for any large project, it is the best to have a web component library
Wes Bos
That's always the frustrating part is So it's like kind of this like weird.
Wes Bos
and And The solution to that is there is no good solution.
Wes Bos
That comes back or audio analyzer. This is one thing Scott and I want right now is take an MP3 that I sometimes leave You can use Vite to or any other build tool. I probably I would probably say Vite And
Wes Bos
because they're super helpful color equals, and then you could pass it a variable. You have to explicitly pass it a Absolutely.
Scott Tolinski
really expanding your mind in that way. So I would I would check out building an app with Tori. Anything you can do, think of just for fun to access maybe native, Isn't that frustrating, Connor?
Scott Tolinski
I I one thing I I think I would stress here if you wanna pick up Rust stuff, you know, a great place inside of a comment, then template tag, litter case.
Scott Tolinski
Rid. At at the master's level, she works full time with children who have learning disabilities. So
Scott Tolinski
Like, perhaps you're doing a screen recording,
Wes Bos
and make that into a nice little graph or something like that. I think that'd be kind of cool to do as well. You build CLI tools. That's what we had Chris
Scott Tolinski
Love the pod. Keep up the great work. Hey.
Wes Bos
in something thus learned. I'm thinking like image and audio processing, video games, etcetera.
Having Scott's wife back on the show
Wes Bos
you like that. It's often like, oh, yeah, let's look at the stats. And, yeah, we shave 50 milliseconds here, but I could feel it in the site that this was So
Scott Tolinski
you all would like to hear more from her about, rid. I'm sure she'd be more than happy to come on. Yeah, that's one thing I have here is what do you all think about the experts?
Wes Bos
vector search essentially an array of numbers man, this stuff made my life a lot easier to figure out what what needed my attention and what didn't. It's funny because I could I could tell like I didn't look at the stats or anything like that. But once you deploy those changes, I could tell the website was faster.
Wes Bos
The recruiter episode say I'm fine with the WordPress theme system. I just need a little bit of interaction here or there. I just need little sips of $15 Canadian.
Wes Bos
of the hiring one.
Wes Bos
that describe
Wes Bos
AI embeddings are I ran across this because like both of you, I also have a Synology NAS. Normally I use quickconnect. To to remote in. So if you have a Synology NAS and you want to log into it And you don't want to deal with the like setup of VPN and port forwarding and all that.
Scott Tolinski
She is available, and I think she had a great time last time she was on here. So if there's any topics in particular rid. It was never that huge. And back when we were sitting and talking, right, you can go back and listen to some older episodes of Syntax, and we said, I'm sitting this one out until we know which one has 1. And then it will be obvious which one has 1, whether it's reason, whether it's flow, whether it's TypeScript.
Wes Bos
So let us know your thoughts. Either way, we're we'd love hearing Your feedback on the types of same with the lawyers. A lot of people loved when the lawyers came on and talked about
Wes Bos
representation,
Wes Bos
mid, you know.
Wes Bos
Not everybody loves them, but I think that's Okay because
Wes Bos
and things like that. So these are things that they aren't web developers, but they're web adjacent and we have to interact with Yeah. I'll play it. Like like, where's scroll snap? You know? There's Yeah. Do they have both of those APIs? No.
Wes Bos
Something piece of text in our example, like It's on by default, but it will try to detect or how close are they? And they don't have to. It's not just like text based.
Wes Bos
For AI embeddings. So real quick, like Shopify app.
Wes Bos
you can feed it
Modern workflows for WordPress sites
Scott Tolinski
So
Scott Tolinski
and then we would bundle that up, tarball it, And take the database, export it, and then throw it online. And then that's that's the the website.
Wes Bos
to write the associated JavaScript for those components So having a service to do it or then you could to practice on. Do you have any good project ideas that would be Good to implement in Rust. I will, of course, make a web server in it, but other languages do that with ease.
Wes Bos
Svg.
Scott Tolinski
using JavaScript very minimally. You're using a static site generator or Next. Js or SvelteKit or a, Nuxtree. Those are exporting as a static site,
Wes Bos
and then you just add Alpine So many times I've component libraries
Wes Bos
go all in React or Angular or Svelte or whatever, Overdue some value so that it looked like like what I wanted.
Wes Bos
JavaScript as I need it. And Alpine JS is perfect for that type of thing because and then you would be able to run it in WASM. And bonus points, you get to learn how WASM works. Yeah. I will say the color of the grid. So you could pass all those values and then the server would generate the SVG for you and kick it out the other way. So rid. Maybe think, can I build a server side route, maybe just a little function that
Wes Bos
URL
Scott Tolinski
Maybe not on the show. You've talked to to me. Yeah. If you go go right now. Go to svg.westbossdot
Scott Tolinski
Remember, table based websites. Gotta love it. Right? Rust UI person and have a different opinion. But, honestly, I think if if you're the type of person who knows web tech, What you can do with Tori is build out the UI and web stuff and not worry about having to get the hang up of a UI.
Scott Tolinski
Installation is the website, including the theme itself,
Scott Tolinski
for and continuous integration for building out WordPress websites. The caveat
Wes Bos
could overlay it.
Scott Tolinski
with all atomic components.
Wes Bos
but If your SVGs are just like black JavaScript out there, read. Can't select text on the page, you know, and so they have to reimplement text selection.
Scott Tolinski
push things up via for sale any other way. And, yeah. Next question from struggling developers.
Wes Bos
the file system of your server. And if you are using continuous integration, Yeah. And all the built in Ios stuff? Probably there's so many, you know, things. And like there's so many little things where you essentially opt out in place there. Even the browsers maintain a list of
Scott Tolinski
overall.
Wes Bos
Those are, like, the biggest steps To getting into a more modern workflow, I'd say. Yeah, I I know there are lots of tools out there that will do the whole
Wes Bos
the actual You can do that whole server side thing I said
Scott Tolinski
And that's often a problem when you're trying to do modern workflows. Right? Modern workflows using things that, rid
Scott Tolinski
Rid.
Scott Tolinski
mode. Yes, that's correct. And
Scott Tolinski
But that that doesn't really work that way.
Scott Tolinski
rid. JavaScript. So, again, not ideal, but it works. Yeah. The the big there's so many little problems that equate to big problems here. So,
Wes Bos
but You probably
Scott Tolinski
So you kinda have to start to separate the idea from
Wes Bos
HTML templating, to see an example, and it's rid. It's it's wild. The entire
Scott Tolinski
website
Scott Tolinski
because it is framework agnostic, independent from design, and provides only functionality that rid. TML does not provide on its own. I'm gonna tell you what my favorite one of these is and one that I've used,
Wes Bos
rid. Tooling around The types of comment proposal be put into JavaScript and will move from using JavaScript to somebody who's working on a massive component library.
Scott Tolinski
is that we would essentially create the entire website as is locally, What I think, Like you mentioned, the ideal You you got them backwards, but, yeah, I think people get Oh, I got them backwards. Yeah. I I think the ideal Situation is that TypeScript is added to JavaScript in the types as comments proposal,
Wes Bos
When it was in dark mode or black grit when it was in light rid Weird obtuse knowledge of that took in a bunch of parameters Why we ditched TypeScript moved the whole thing to TypeScript Once you have the ability to make more dynamic things and load in the JavaScript only on the pages that are needed, then you'll start opening up the doors for a lot more flexibility in your your builds. Yeah. Next one from Shmi McGee.
Wes Bos
I'll answer from like the front end point of view
Wes Bos
do a find or replace on the specific color? The only annoying thing that we have there is I've got 25 SVG
Wes Bos
the SVG itself Edge Functions, Cloudflare Workers, Fastly Edge? Those things all run the images. Yes. Because when you upload an image, it goes into the it goes Many, many layers deep as to are you talking positively about this thing? Are you talking about UI components? Are you talking about server side rendering?
Scott Tolinski
that customizable, who
Wes Bos
The grit on the syntax website to each of their machines.
Wes Bos
Features for the front end. So I would say Now, all 3 of those Workers Deno and Fastly, those don't really satisfy your node So you could say background image if you undercook it. So I don't know why everybody doesn't just have one of these because even on the back of it, it says, yeah, what the tips are. You know, you're cooking pork, 145
Wes Bos
is to
Scott Tolinski
one,
Wes Bos
the only way to change an SVG's you write the templates in your in with your WordPress.
Wes Bos
And that's just a little Cloudflare worker that
Scott Tolinski
headless without design? I would like to start promoting this approach at my workplace. I think this is something that could be used by any agency plug ins, including free pro and internal custom plug ins, media files, and the content in the database.
Scott Tolinski
numerous times
Wes Bos
syntax to that. And then when the page loads, Alpine will pick it up. You can take data that is from your WordPress queries and dump it into like video editing, take 3 video clips which was, yeah, we have all these icons, because it's in CSS.
Scott Tolinski
get
Wes Bos
And then what it will cut out You could just have like a square of red and then you use the SVG as a mask.
Wes Bos
There's a bunch of about it. But,
Scott Tolinski
So working in a, quote, unquote, modern way with some of these tools is going to feel very different
Scott Tolinski
version control,
Scott Tolinski
is shoelace.
Wes Bos
have their image uploads
Scott Tolinski
what a world. Okay. Next question from Andrash.
Wes Bos
Svg.
Scott Tolinski
the database as it exists from the website that you're working on locally.
Scott Tolinski
Color of the SVG via query param. This is totally unrelated. But did you know that if you swap the s and the b in your name, West Boss, it becomes web sauce? Yep.
Wes Bos
Your WordPress theme. You want to keep all of your plug ins, your WordPress theme and all of that, and that is totally fine. But you want some of the more modern
Scott Tolinski
then they just have Straight up HTML without a database. Right? Do you even need that database piece?
Wes Bos
but via like a query parameter or something like that, will TypeScript go away?
Scott Tolinski
So do you really need a CMS? If you don't need a CMS, you can take a look and and build things in a much different way. Maybe you're building things as a straight up static site with JavaScript,
Wes Bos
And then put a query for him on there. And then With a Web Worker, you it's all done client side, but you still can modify You can modify we like, I don't know if it was the increase in traffic, but we got lots of really good questions. So rid Appreciate everybody. Please keep them coming. Go to syntax. Fm. There's a button that says what does it say? It doesn't say ask a It says Pollock Q's. That was actually one of my the hardest things when I was signing the NAV. I was like, all of the episodes say click the button in the top right hand corner that says ask a Paula Queue.
Wes Bos
get Vite going right now we've got only 4 items in the nav.
Scott Tolinski
Rid West, have you ever used shoelace?
Wes Bos
Everything
Scott Tolinski
good luck.
Wes Bos
and rendered out the SVG so I could give it a width, a height, the people who did it Basically froze the codebase on Friday, on this type of things, because CSS fundamental building blocks of building software here. And what you know will translate aside from your So I'm not quite sure in WordPress,
Wes Bos
episode
Wes Bos
in the browser. Man,
Wes Bos
either in line or via CSS when you're selecting the SVG. Right.
Wes Bos
like, solutions.
Scott Tolinski
into continuous integration pipelines and things like that.
Scott Tolinski
WordPress in many of these PHP based
Wes Bos
Then I probably would look at something like Alpine JS My knowledge begins and ends with the Web ATM.
Scott Tolinski
So perhaps you should maybe take a look at different ways that you need to build things. So if we're working on a WordPress based site, Number 1 question is, do you need a CMS for whatever you're building? I think that's a big question that not enough people ask themselves. A lot of times people say, yes. Obviously, I need a CMS for what I'm building. That's just how we've done it. It gives the client access to be able to update their own stuff. They deploy this thing. The client never touches it. Right?
Wes Bos
icons, So on specific things. I've heard a lot of people really like having this running on a amount of grit Rid. You don't have to fuss with any of the
Wes Bos
What do I do? that we did a couple of weeks ago, into there.
Wes Bos
background
Wes Bos
Sometimes we need to change the color because there's dark mode, light mode and different themes.
Wes Bos
And
Wes Bos
needed to be do you know
Scott Tolinski
it it really depends on how you like to work moving forward. But number 1, I think the most important thing you need to do is you need to figure out how to work in a flow using
Wes Bos
rid Like Vercel like continuous integration for WordPress.
Wes Bos
And I want to have them in line so I can change their colors, but I also want to use them as background images. How do I orchestrate color adapting icons Rid Yeah. So I you may have even got this recommendation from me. The ES6 string HTML plug in for Versus Code was really nice because you can Essentially, the way it works is you have backticks and you're going to put HTML in backticks. Pretty common in web components, pretty common if you're just using document fragments.
Scott Tolinski
situations, they store a lot of things into the database.
Wes Bos
build is is Deprecated, This type of thing, it's not worth it and you don't necessarily want to, but you do want to add a bit more. And I think like once you have that, once you have a nice build pipeline, once you have continuous integration, And we're we're gonna have, save you from overcooking your meal. It can save you from getting food poisoning I want to realize the full power of Rust that works, and I could take it one step further and pass the what the words are for them, but be able to modify the person's voice change the fill which is pretty nifty. So maybe there's a possibility that you could just run it, run it on the user's browser
Scott Tolinski
I'm in a position where I can shape how things are done for a small web team, and I am keen to bring us
Wes Bos
hits the Any willy nilly code that they want to, right? We've talked many times about all the nefarious things that can go along. So I did a quick little bit of research on this, and I even had talked to the framework because what happens with the other teams that need it? And then it has, like all of the probably 40 different possible inputs
Scott Tolinski
putting things up on GitHub, and having that then push your site live.
Scott Tolinski
Many thanks for all you guys do. Now this is really interesting because,
Wes Bos
So
Wes Bos
for use in inline and background images. So we touched upon this on the.
Wes Bos
do clicks and whatnot.
Scott Tolinski
They say, hi, Wes and Scott. I really enjoyed the show on design systems with Brad Frost.
Wes Bos
rid And there's no shading or multiple colors to them, you could use the mask.
Wes Bos
in my WordPress let us know. We'd love to hear that. I bet Cookie Monster would love to come on and talk about cookie love as well. I'm in if you got the hookup.
Wes Bos
into a URL
Scott Tolinski
So
Wes Bos
We had with the website
Scott Tolinski
they make it hard. Now all of these tools, WordPress, Drupal, any of these things, they do allow for paths, But you do kind of have to adjust to how you work. I know one way that we used to work before moving into a git based workflow
Wes Bos
PHP is this is one I got probably 6 DMs about. Have you tried MongoDB So I and I also I wanted it to be seemingly random, Use
Wes Bos
and Wix folks about this. I'm pretty sure both of them and they will run it in a
Scott Tolinski
rid. Singing and dancing into the modern web landscape.
Wes Bos
will do that for you. Like, if, Did I talk about you all of a sudden give up all of the flexibility worker,
Scott Tolinski
or maybe
Wes Bos
WebSauce. I like it. Yeah. I I accidentally typed that, and I was like, oh, WebSauce. That'd be a cool brand. What about a web worker? Rid. A web worker, you could intercept the fetch of the SVG.
Wes Bos
you have access to too tricky to do in JavaScript, people are like, is that cooked all the way? And it's like, yes, it's cooked all the way. It's just not like dry as crap because you think that the actual SVG itself. So that's that's probably a really good solution if that's the the case for you.
Wes Bos
is equal to data colon you can use And if that's the case, then
Scott Tolinski
Number of new tools, methodologies, and platforms out there, I am now ready to dive deep into some learning. I'd love to get your thoughts on some modern DevOps Right?
Using MongoDB for AI embeddings
Wes Bos
digital thermometer for your kitchen.
Wes Bos
like let's say we take this potluck episode And we say show me the other Pollock episodes that are the most like this or even the questions that were answered.
Scott Tolinski
Oh, template tag literals.
Wes Bos
I've had the other one at the cottage. I'll link to the one that I've had for Quite a while, and it's been is this at a certain temperature that is safe to eat?
Scott Tolinski
and it was really super good,
Wes Bos
I am just running it through the a data attribute or something like that, And you can pick that up with Alpine JS and loop over and filter and product as well.
Scott Tolinski
rid. Especially if you like heist elements is really truly what web components are all about.
Wes Bos
and grab that one. Everyone else listening,
Wes Bos
Pinecone seems to be a very popular one in the space. Zeta is one I use. Cloudflare D3 my SVG service? all that cool stuff. And a lot of people, I didn't even know this, MongoDB Reimplement own personal gain. So So that's what I thought it was, but then I was like, oh, no. That's SoundCloud, I can't even get the Prettier on do yourself a favor. Get yourself an instant read thermometer. Rid. The guesswork out of dying at dinner. Yeah. I got one for, like, like, seriously, like, $10 on Prime Day and
Scott Tolinski
Modern Art Museum of Paris and stole a bunch of stuff and never got caught.
Scott Tolinski
the APIs for working in Mongo. I I like working in Mongo. I know Yeah. That not everybody does,
Wes Bos
in your tag template literal. So if you're putting CSS or you're putting HTML or you're putting TypeScript
Scott Tolinski
I just wanted to shine light on this.
Wes Bos
rid Playground to format the HTML Rid. Some WordPress stuff. SVGs has icons, which is a painful But almost all of that will execute it
Wes Bos
and Crazy. Alright. Next one we got here from rid. Mike Laurel, this is more of a cool note. We like your cool notes. So sometimes we just include these because I think it's interesting to talk about. I thought this might be great for a Pollak episode, But it could easily be an entire show on VPN and security.
Wes Bos
Then
Wes Bos
The very simple example it knew that car and truck were vehicles in red and green were were colors, but And they could access data. They could run code. They could they could modify the code that is currently running and do all kinds of nefarious stuff. So Those are the 2 big ones I'm going to ask anyone who's listening that does know a little bit more about this
Wes Bos
they allow you to use upper case HTML instead of lowercase.
Wes Bos
you want to display it on a page. Like, for example, when I do my conference talks, if I want to put thing that's similar to with almost everything, will react go away? Yes, Will Svelte go away? Probably at some point, But don't sweat it because all of the
Scott Tolinski
I have A documentary
Wes Bos
A little bit of red or like a piece of dark meat in the thigh is uncooked.
Wes Bos
been rocks off. Yeah. Mine has a magnet on the back. You can just stick it to stuff. Yeah. Big fan of magnets. Rid Alright. I think that's it for today. Thanks, everybody, for tuning in, and we will catch you Do you know in that security model, Ready. So AI embeddings are really cool for being able to surface content via search and related content and rid
Wes Bos
who is an expert in his craft. So highly recommend this little documentary. It was a lot of fun. I am going to sick pick, I think, something I've picked a couple years ago, but I still see it. Not enough people using that. And that is an instant read
Wes Bos
So you can just give it a like you don't have to, like, yeah, worry about getting it wet. I've left it in there like I have 1 by the barbecue
Wes Bos
but
Scott Tolinski
HTML you get access to the file system stuff. You get access to creating A PDF. You get access to, like, learning about CLI type of tools.
Wes Bos
And Synology has this AI vector output? So quite a rid few good items here. My name is Wes Bos. I'm a developer from Canada. With me as always is Scott Talinski. How you doing, Scott? Rid Hey. I've I've
Scott Tolinski
comment, to comment out my CSS styles inside of my template inner HTML.
Scott Tolinski
the Spider Man of Paris.
Scott Tolinski
Every single time I cook now, on this podcast. And Open UI, one of the things that they do Whenever they have the research section of any of their different,
Wes Bos
that you can pass it and it will try to detect.
Wes Bos
Probably 50 different languages and it says and I wanted to have different sizes of grit. So I made a server route
Scott Tolinski
Or
Wes Bos
simply because they are scared of dying implementations page is a canvas element, or forward slash returns the SVG,
Scott Tolinski
for a full archive of all of our shows. Rid. And don't forget to subscribe in your podcast player 8.
Wes Bos
and you can use the thermometer to use case because what if you need to use Node APIs? dog.svg
Wes Bos
for me.
Wes Bos
rid. Yeah. A so that when you upload something, it throws it on a CDN instead of putting it on the file system. So you have to you have to sort of think about so much faster, so it's pretty cool. We're going to do a whole episode Via that because I wanted something that where I could like I just want a quick icon. That's not an emoji and I want to be able to just to type like hamburger.
Scott Tolinski
So we'll have a link to that in the show notes. But my gosh.
Scott Tolinski
hit control, And, honestly, I I don't know how many albums I sold on Bandcamp,
Wes Bos
their food
Wes Bos
Friday.
Wes Bos
you Cook to 160. It will still rise when it's sitting on the cutting board rid. Up to 165 and they showed up Monday as TypeScript developers. They converted their entire code base You can have like a like a function that runs server side. So how do you run? on it. If you're cooking chicken, it says 1 165. I do 160 because I'm a bit of a I'm a bit of a bad. You like your chicken medium? It it almost needs like a service
Wes Bos
So many people overcook
Wes Bos
has the ability to store vectors, Rid Peace.
Wes Bos
solved, was got like amazing feedback. A lot of people say, like, we should do 1 every 6, 8 months just to kind of check the temperature
Scott Tolinski
Huge fan of web components, the v s code plug ins e s six string HTML and inline HTML give syntax highlighting inside template strings using
Wes Bos
Peace.
Wes Bos
And that's really cool because put this in there because I thought it'd be interesting to talk about. I don't necessarily have all the answers, but I kinda wanna open this up to both the community as well and and talk about what your possible options are here. So Hold on. Before you get started, do you wanna Blaine what they mean by untrusted is this an example of CSS variables
Wes Bos
make sure of that. But the amount of times I've cut into a piece of chicken There's a possible that it could leak outside of that container Wasm or WebAssembly, rid It really Rid. How can I execute untrusted JavaScript code with Node currently using VM2, Yeah. Shoelace. Style. I have never used it, but
Wes Bos
and they have support for then the images aren't part of that. But most, not most, lots of people in WordPress land So I think this will work for you. Check it out, from Then you can import them and queue them as you need them. There's lots of good articles online on how to do that.
Wes Bos
Yeah. They're they're excellent. Big fan. Big fan. Especially, like, some of them are the one I have was, like like, waterproof.
Scott Tolinski
are sick.
Scott Tolinski
Head on over to syntax.fm
Scott Tolinski
And then a a comment HTML and then template tag literal.
Wes Bos
They get rained on. I had I did get 1 cheap one that broke,
Scott Tolinski
and he broke into,
Scott Tolinski
Prettier can format template strings using the same syntax That was something that works. Alright. Next question from Griffin. Do you ever plan to do more podcasts with Scott's wife
Wes Bos
inside of backticks because Rid. And with performance, it's not often How do you let random people just run And certainly, you can do that. You probably do have to have a little bit of and you don't have to worry about that. Yeah.
Scott Tolinski
Rid. And I gotta say, this thing was so good because the guy is super interesting. His story is super interesting.
Wes Bos
is one I'm sort of leaning towards, but, Next question from Jesse Hall, Code Stacker. This But then it also can be a background image I know Radis does it.
Scott Tolinski
This is the worst art thing in the world. I I can't tell you. There's been a lot of situations. You're in a React template. You do, port forwarding or opening up stuff to the public. So Yeah. That'll that'll make me nervous. So having
Wes Bos
You're trying to render out some HTML with vanilla JavaScript. I do it all the time. I switched from that one to instead of going you can
Scott Tolinski
The the methods at which he steals things is bananas. He's like a true
Wes Bos
I gave it like car, truck, And that is generally your best bet We're adding interactivity and modern experiences And Chroma, Vespa.
Wes Bos
So hopefully that will solve your specific issue.
Scott Tolinski
those types of things, which we've talked about numerous ones
Scott Tolinski
Wes has provided one to say he uses instead saying comment ridged. Templates.
Wes Bos
different languages You can also make them a server route.
Scott Tolinski
Rid. These are not compatible. No matter what, I cannot
Wes Bos
And just getting up and running with it makes that very attractive. And I like because it would be so nice to say Every single little npm install library that you want to be able to use with this type of stuff.
Scott Tolinski
Well, he eventually kinda gets caught. But either way, it's an incredible documentary. It's called a a drag,
Wes Bos
if that will fix it or not. But so Prettier itself has a flag
Scott Tolinski
or drop a review if you like this show.
Scott Tolinski
easy easy good purchase. I use it
Scott Tolinski
install this one. It's way better. All right. Well, that is it for this rid Now we're getting into the show part of the show that we talk about sick picks, things that we think
Scott Tolinski
The the comment, and then it gives you the wrong style of comment, and then you'd wanna throw your computer out the window.
Scott Tolinski
of that style on this podcast before. But this documentary but should be standard HTML components.
Wes Bos
little jelly still. No, it's because And that's probably great for Apps that go all in and have a massive engineering team and totally buy in. And you'll probably see some conference talk by some massive
Scott Tolinski
was about
Scott Tolinski
is really good at climbing,
Scott Tolinski
but it it's so friendly to me for some reason. It just it calls to me. Big fan. Next one here from Connor Dowdall.
Tailscale for secure remote access
Scott Tolinski
Engrok.
Wes Bos
on mobile to safely log in. No messing around with the router. Safe and amazing. Also, their free tier is so glorious. So what this allows you to do is you run Tailscale it treats those 2 domain names as scott.comandwesst.com And it's not secure enough? Yeah, so rid. You shouldn't be having those problems. An additional a digital instant read thermometer, a really nice one, is like
Wes Bos
a tunneling The problems
Wes Bos
on your
Wes Bos
like it does like visual screen sharing as well, so you can click around and touch And when problems like that can be mathematically separate That is where you use a vector database because it knows how to search based on those So MongoDB is a really cool one. I'm certainly going to try that out.
Wes Bos
ideal.
Scott Tolinski
I don't know what Bandcamp is. Everyone seems to know, and I'm too embarrassed to ask Not just what it is, but what its cultural significance to the tech world. Let me tell you about Bandcamp. I released
Wes Bos
And I'm assuming a lot of these Rust Applications can be compiled to WASM, that SVG via
Wes Bos
the answer is just like, oh, just open up a bunch of ports like, yeah, No, you shouldn't be doing that unless you know how that works.
Wes Bos
and And you can use that to remotely access it JavaScript types.
Wes Bos
And question mark, From Flow to TypeScript Very less known. Only 22,000 installs, but it's called Comment Tag Templates, They have to reimplement inputs. So now I'm thinking, okay, do those inputs work with 1 password? rid. The contents of the show, and you do that for all of the shows, and then you can you can do things like these are similar shows not everyone's going to love everything. And if we try to cater to everybody, then rid.
Wes Bos
Rid. Make the network stuff work via an external domain name. But when it's asleep, I have issues. In any case, opening ports is scary, even with rid. Absolutely. Opening ports on your home router is never rid. And what you'll get back from that is a mathematical
Wes Bos
their on their machines so they can get remote access both Spooky voice changer.
Wes Bos
box. So on your laptop, on your on your NAS or something like that.
Wes Bos
Engrok, something like that. Or basically it would just like.
Scott Tolinski
Next question here from Benny's mom. So I've been in tech for about 5 years. I'm active on tech Twitter, Blue Sky, Hacker thank you rid century for all of the amazing tools because, seriously,
Wes Bos
like a local tunnel or
Wes Bos
with a with a login. They use Cloudflare's login text on the page. I'll put it in back text and tag it as that language so I get all the nice syntax highlighting that I'm used to as I'm typing out the slides.
Scott Tolinski
All of my albums on Bandcamp. I people might not know this, but I released,
Wes Bos
whatnot is Pretty nice. You know what also is really nice is Cloudflare has So if you put them as a background image, which is a Show me the other questions that were similar to this one in the 8 years of this podcast.
Scott Tolinski
a service to do any of that stuff for you News, etcetera,
Wes Bos
Enter Tailscale. One feature I love to have about Tailscale service running on all my machines. That way I can easily use the default macOS screen sharing or a VNC
Wes Bos
and and then returns it to you.
Shoelace web component library
Scott Tolinski
And, again,
Scott Tolinski
nonstandard
Scott Tolinski
I found them like oh, the it was the drawer component
Scott Tolinski
that I used. I found the drawer component to be exactly what I needed. I need a drawer to slide up. I need it to be able to close automatically. I need it to be able to close with the button. It's all being done with the web components. I could style it to look however I want it to look.
Wes Bos
It does the web component part, which is it bundles it into its own Web component.
Wes Bos
spinners, and then you can make your own on top of that. So, yeah, Cloudflare.
Scott Tolinski
And so this was a good one for me.
Scott Tolinski
Like a matrix of who's implemented what what way.
Scott Tolinski
Yes. It is. Yes. So this is a collection of web components, and it's a collection of web components that do a on a different things, and you can install them all individually.
Scott Tolinski
For me personally, several albums when I was trying to make it as a musician.
Scott Tolinski
web component based Yeah. About how to make your I think let me see if I can find this talk. It might be how to make your React app performant.
Scott Tolinski
I think this is a thing we'll continue to see more and more of because rid allow you to see exactly who's implementing these different, Isn't that the type of thing that really sets you off nowadays? So if you need to install just one of these, you can install just one of them. I recently used this
Wes Bos
These things are in such a good spot where you don't have to buy in to how they look. You don't have to buy in to the framework they're using, So I was like, I can't take that away.
Scott Tolinski
in a site to do
Wes Bos
if like you said, you probably have different and immediately
Scott Tolinski
And it worked really well. You know? It it it had enough functionality that I could, Canvas. Right? Well, he had done this whole thing, and it was, like, about React. And then at the end of it, he revealed that it was, like, a Canvas element. So the whole thing was being Yeah. So you were writing normal React code, but it was just being rendered into a canvas.
Wes Bos
Next question we have here from Ringo Starr. Hello. I am a web dev. I can write type rid. On the front end, node and go on the back end. I learned all of these things by doing.
Scott Tolinski
really make it my own. There there wasn't Anything really getting in the way,
Scott Tolinski
Rid I think, we also talked about Open UI before
Scott Tolinski
And I think those are really interesting because it can You had to do so through a distributor.
Wes Bos
The different components done in web components?
Scott Tolinski
So those are 2 resources that I would check if I were you.
Scott Tolinski
libraries, they have a whole thing that shows
Wes Bos
time,
Scott Tolinski
it was definitely like a lot of components that you would typically need to use. It's not entirely devoid of CSS, but you can Use these devoid of CSS.
Wes Bos
But you are buying into it's already premade and it's fully accessible, which is kind of what you want. Nobody wants to build a multi select drop down rid From scratch. That's just that's an, headache. Yeah. It's no fun.
Wes Bos
because you can VPN into it.
Transcript
Wes Bos
for securing remote access.
Announcer
You're listening to Syntax, the podcast with the tastiest web development treats out there. Strap yourself in and get ready. Here is Scott Talinski and Wes Bos.
Wes Bos
Welcome to Syntax. Today, we have a potluck for you. We're gonna be talking about all kinds of stuff, including TypeScript's Future viability Flutter parody with the Dom Tailscale, which is a pretty cool app They maintain a list of those domain names so that data can't be shared and you can modify
Flutter for web apps
Wes Bos
rid. Web component libraries. What should I build with Rust and a couple of database recommendations for storing
TypeScript future viability
Wes Bos
thing Scott and I just went through, so glad somebody asked that