Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:01
Welcome to syntax today. We have a potluck
0:03
question for you. This is where we bring
0:05
the answers. You bring the questions. Please keep
0:07
submitting your questions. Go to syntax.fm in the
0:09
nav. There's a button that says potluck cues.
0:11
Click on that. You can submit your own
0:14
question. Ask
0:16
us whatever soft skills, hard
0:18
skills, JavaScript, HTML, CSS, love,
0:20
life, anything goes and we'll, uh, we'll answer
0:23
it on a future episode. My name is
0:25
Wes. I'm a developer from Canada. Was with
0:27
me as always as Scott. How you doing?
0:29
Scott doing super good, man. Yeah.
0:31
I, not too much. I just spoke at
0:33
a Denver script last night, so that
0:36
was a lot of fun. A lot of people came out. Yeah.
0:38
It was just super cool. Yeah. So, uh, did
0:41
you bring some of the skate decks I saw?
0:43
Yeah, we did a little, uh, we
0:45
did a little giveaway, which was actually
0:48
fun in itself because, uh, I
0:50
was just thinking, all right, we'll just, you know,
0:52
write people's names down on the list and draw
0:54
them out of a hat and CJ was like,
0:56
no, man, we, we can do this a different
0:58
way. And we had everybody's name
1:00
from RSVPing on meetup.com.
1:04
So what I did is
1:06
I wrote a script to pull everyone's
1:08
name from the meetup RSVPs and put
1:11
them into an array. And then CJ
1:13
wrote a script that would randomly pick
1:15
people, but what was so fun about
1:18
it was that, uh, he,
1:20
he, the first time he put like
1:22
a delay. And so it would, um,
1:24
count each, or it would
1:27
announce each winner, like one letter at
1:29
a time, but the delay he put
1:31
on there was like crazy
1:33
long. So we hit go and it's just like,
1:35
a B. So
1:40
the next thing you know, CJ is writing a script
1:43
live and it's on, on the screen and
1:45
he's adjusting it to just output them and,
1:48
uh, doing a more fun way. So it
1:50
ended up being like that part ended up
1:52
being a fun thing. And it's own, but
1:54
we gave away a 10 of them, a
1:56
lot of syntax fans in the house. So
1:58
it was super cool getting to meet. everybody
2:00
there. So just a lot of weight. We
2:03
should say if anyone wants to get
2:05
a syntax fingerboard, go to syntax out
2:07
of fam, click on the swag button
2:09
in the nav and we'll send you
2:11
these are 10 bucks. We also got
2:13
two new hats. Do I have my hat?
2:15
I got one of my hats right now. I
2:18
got the wool cap just in time for,
2:20
can't wear it with my headphones on right
2:22
now, but just in time for winter. And
2:24
then we also have a lighter
2:26
one, which is blue with the syntax logo on
2:28
it. So, check them out. They
2:30
won't last forever. This fingerboards are selling way faster than
2:33
I thought, which, which is hilarious that
2:35
that's what people want instead of a hat. Yeah.
2:39
You know, it is fun. I, uh, I
2:41
do love, uh, the fingerboard. And
2:43
I was, I was actually pretty
2:45
impressed with your fingerboard skills on your,
2:47
thanks. Yeah. I was surprised editing magic
2:50
in, in there, but I've, I've been
2:52
practicing, especially like, like when I'm on
2:54
a call or whatever, I'll just mute
2:56
myself and just like, like start flipping
2:59
around and all he around. I
3:01
am pretty good. Yeah. I, uh, my, my
3:03
parents sent out a half pipe for my
3:05
childhood and my son has been playing with
3:07
his deck on it. And so I was
3:09
doing some dropping in and just, yeah, it
3:11
was a lot of fun. Yeah, that's great.
3:13
Yeah. And if you want to drop into
3:15
solving some of your errors and bugs, well,
3:18
it's a good place to do that. If
3:20
you have them all being logged into century,
3:22
because guess what? You can find them super
3:24
easily. And one thing I actually
3:26
just added yesterday to our century, which has
3:28
existed for a little bit, but I hadn't
3:30
noticed it centuries, always coming up with new
3:32
tools was the cash. You can see cash
3:34
hits versus misses inside of century. So I
3:37
just added that it's going to be really
3:39
fun to be able to make sure that
3:41
we're caching effectively. There's a lot of conversation
3:43
going on, uh, developer Twitter about caching these
3:45
days. So, uh, if you would like to
3:47
see your cash hits or misses, you want
3:50
to check your performance head on over to
3:52
century.io, sign up and get two months for
3:54
free. All right, let's get into it.
3:56
All right. First question from Chuck. Hey, Scott and
3:58
Wes, how would you recommend? moving a
4:00
project off, Create React app with
4:03
tools and frameworks are out there
4:05
that you'd recommend in the React
4:07
ecosystem. No felt. Sorry, Scott. There
4:11
is no interest in using server components
4:13
such that is with Next.js. Thank you.
4:15
And the rest of the syntax team.
4:17
Excellent work. Okay. So this is a
4:19
great question. So for a long time,
4:21
the recommended way to start a React
4:24
app was with Create React app. And then what that
4:26
did is it spun up a whole
4:28
bunch of tooling. I believe it had
4:30
Webpack and Babel and a
4:32
few more things that would allow
4:35
you to both use a dev
4:37
server and bundle your application for
4:39
development. It was client side only.
4:42
There was nothing in it aside
4:44
from React. So there's no router
4:47
or any server side, no APIs, no
4:49
server components, none of that, right? It's
4:51
just simply the client side rendered and
4:53
then you have to do the rest.
4:55
So if you are moving from
4:57
Create React app, it's very clear what you should
4:59
move to. If you don't want a framework, it's
5:01
VIT. The move to that should
5:04
be very simple. The way
5:06
that VIT works is that you have a
5:08
input, which is an HTML file. And then
5:10
that HTML file, it'll have like a div
5:12
that you want to mount your application on.
5:15
And then it will also have a link
5:17
to your script, which is your entry point.
5:19
Usually it's like app JS or something like
5:21
that. And what that does is it renders
5:23
out your first app. So likely
5:26
you already have a router, right? You're probably
5:28
using React router or Tanstack router or something
5:30
like that. So you don't
5:32
need any of that. And the move to that should be very,
5:35
very simple. There might be a couple
5:38
things where you had like some custom
5:40
Webpack config for loading
5:42
specific types of images
5:45
or CSS or whatever, but VIT handles
5:47
almost all of those things out of
5:49
the box for you. So you're likely
5:52
don't even need a VIT config. And if you do, it's
5:55
not that big of a deal to move on over. Yeah,
5:58
for sure. Yeah. And that is one
6:01
of those things that, you know, the cool
6:03
thing about create react app is that you
6:05
didn't have to worry about any of that
6:07
SSR stuff or it was just a nice,
6:09
you know, starter, especially for CSR based app.
6:11
So yeah, I would personally move that way
6:14
as well, especially because Vite is just such
6:16
a great build tool to
6:18
work in. I know that it's, it's
6:20
such a great platform overall. And I
6:22
think maybe a bit underrated by react
6:24
developers, especially those of you who have
6:27
only used things like Webpack, maybe don't
6:29
understand just how fast and
6:31
easy and good it is. There's so many
6:33
just niceties that come out of
6:35
the box. It's just, it's so easy. Yeah.
6:38
I know. I love one of my favorite
6:41
things, Wes, is like being able to import
6:43
the, like a raw text from a file,
6:45
which doesn't seem like it's that handy, but
6:48
like you can just append a question mark
6:50
raw to the end of an import string.
6:52
And it gives you that file as a
6:54
text file. And man, I
6:56
gotta love that. I use that all
6:59
the time. We actually have a proposal
7:01
in TC 39 called import attributes. And
7:03
it's actually not even a proposal it's,
7:06
it's already implemented you, but the only
7:08
implementation so far is Jason, where you
7:10
can import a file as Jason and
7:13
soon there will be the ability
7:15
to import as text as well, which is
7:18
what's going to be great. Cause sometimes yeah, you just
7:20
need the raw text out of that file. Yeah.
7:23
There's, it's funny. I was just needing
7:25
that just yesterday. I was building a little,
7:27
little code viewer where you have like an
7:29
eye frame and the rendered site inside of
7:32
an eye frame and the code next to
7:34
it. And yeah, I'm getting the
7:36
code already, but I wanted to pass in a arbitrary
7:39
CSS string from another file
7:42
and append it to my thing to
7:44
do the source of the
7:46
eye frame. Right. Cause you can have just a string as
7:48
the source of an eye frame instead of a URL. And
7:52
so I just, like a data 64. Not
7:56
even, no, no, just straight up. Explain
7:58
that. I don't know if I know that. Okay,
8:00
let me pull up my code here so that
8:02
way I don't misrepresent anything. But
8:05
yeah, I wanted
8:07
to build like a little
8:09
side-by-side code and whatever,
8:11
like a demo. There's
8:13
an attribute on iframe
8:16
called source-doc, S-R-C-D-O-C, and
8:18
that takes just a string, and that
8:21
string can be HTML, right? But
8:23
so I wanted some additional CSS
8:25
applied to that from CSS I'm
8:27
bringing in elsewhere. So I just
8:29
imported that CSS as a raw
8:31
string and did a string
8:34
append and threw that
8:36
into the source-doc. Yeah,
8:38
if the iframe is on the same
8:40
origin, meaning like the same domain name,
8:43
you can actually reach into an
8:45
iframe and modify the document of
8:47
the iframe from the parent, which
8:49
is pretty nifty. This isn't
8:52
even doing that. I mean, this isn't even
8:54
there's no URL associated. Straight up string for
8:56
the whole DOM. It's just nothing. Yeah,
9:00
yeah, yeah. I guess a
9:02
blank iframe still has a document though. So you're
9:04
reaching into the blank document and embedding. Oh yeah,
9:07
you're just inserting. Yeah, yeah, that's right. Yeah, yeah,
9:09
for sure. Cool. So the next one is from Zee-o-nides.
9:13
Zee-o-nides, what
9:15
is the best way to get along with a
9:18
Q&A team, even if you have
9:20
to pretend and create a shape of a
9:22
smile on your face? Not even smile, but
9:24
create the shape of a
9:26
smile on your face. Yeah. How
9:28
do you get along with Q&A? What
9:32
is specifically Q&A? Q&A, yeah.
9:34
Oh, Q&A, yeah. What is that? This is Q&A.
9:37
Quality assurance. For some reason, I know
9:39
what Q&A does, but I never thought
9:42
to think about what the acronym is. Never put
9:44
it together, yeah. Yeah, never put it together. Quality
9:46
assurance. They're the folks that are making sure that
9:49
things that are going out as a product
9:51
to your users, works
9:54
well, right? That it has quality.
9:56
It's the people who are checking to make sure
9:58
the seams are okay, right? And
10:01
when you're saying you want to get along with
10:03
them, I think the thing to think
10:05
about here is that you
10:08
have a common goal with the QA team.
10:10
The common goal is to ship
10:13
good code. It's to ship
10:15
a good product. And the QA
10:17
team is there to help find those things. And
10:19
whether or not they come back to you with,
10:21
now you have a big long to-do list of
10:24
stuff to do. I mean, that stuff
10:26
you kind of had to
10:28
do anyways. Whether or not you knew it
10:30
or not. Sometimes things just slip through
10:32
the cracks. So it's not that you missed or
10:35
you're a bad developer for missing those things or
10:37
whatever. You
10:39
want to ship something good. It reflects on
10:41
you at the end of the day. So
10:44
the way you should think about this is the QA team is
10:46
there to kind of save your butt because
10:48
if those things go out to users and
10:51
your sentry is fine on all these bugs
10:53
because you shipped a whole bunch of button-y,
10:56
iffy software and now users
10:58
are complaining, man
11:01
that reflects poorly on you, right?
11:03
They're there to make sure that you
11:05
look good for your boss because you
11:08
crushed it. So I think
11:10
the best thing to do to get along
11:12
with your QA team is to know that
11:14
you guys are on the same team and
11:17
they're there to help you. That's
11:19
the way I look at it at least. I
11:21
have a different approach. Write a script and
11:23
replace them. How
11:26
many people still are using QA
11:28
teams? I'm curious. It's like many
11:30
years ago I would
11:33
work for this company. I
11:35
did a lot of contracting and every single
11:37
time we had a big
11:39
push, it would go through QA and
11:42
they would click everything and
11:44
test it and find all the little bugs here
11:46
and there. A lot of that
11:49
stuff, not all of it, especially a lot of
11:51
the accessibility audit stuff, but a
11:53
lot of that can be found
11:55
by integration tests and unit tests
11:57
and doing a diff on like
12:00
screenshots when you when you deploy the
12:02
thing. So that
12:05
is there. I think also what I've heard from
12:07
people, and this is a bit silly, but they
12:10
sometimes just put a couple like decoys
12:12
in there because I think what happens is
12:15
that the QA team has to
12:17
find something. Otherwise, they're not doing
12:19
their job, right? So if
12:22
you throw them a couple of bones in
12:25
there, this is this is probably a bad
12:27
answer. But maybe maybe put a couple of
12:29
decoy bugs in there. To make the QA
12:31
people happy. Sometimes this is just internal politics
12:33
that needs to be done. And if you
12:35
don't have a lot of stuff, then they
12:38
start nitpicking things that don't
12:40
necessarily matter, you know, and then it's just a whole
12:42
bunch of work. Just fix the
12:44
nits. Who cares? Who cares? Yeah, right. It's
12:46
to me. Get them fired. No, Wes, I've
12:48
just did some quick googling. I'm mostly joking,
12:50
everybody. But I did a quick
12:52
quick Google and man, QA. So
12:56
there's jobs out there. There are job
12:58
openings for QA left and right. And
13:00
I did see who knows how real
13:02
this is, but it says that QA
13:04
QA and QA
13:06
is is only more
13:08
in demand than it was in the past. So
13:11
I don't think this is something that's going away.
13:14
I don't think this is something that is decreasing
13:16
in popularity. I think it's something that's probably increasing
13:18
in popularity. Yeah, we are
13:20
all shipping software. I'm curious what if
13:22
you have QA in your workplace and
13:25
what that looks like as part of
13:27
the deployment process? Yeah,
13:30
I think it will. I think it's
13:32
just like any industry in this space
13:34
is continuing to evolve. But I do
13:36
think, yeah, I think there is a
13:38
very real reality where you
13:40
just have a common goal. You fix
13:42
your bugs and yeah, yeah, they're on
13:44
your side. Exactly. Next question from Stobe
13:46
Racing. What are the benefits of learning
13:49
react with next JF's framework compared to
13:51
using previous approaches? So kind of like
13:53
what we just talked about using just
13:55
straight up V or create react app.
13:58
I'm currently learning react and starting. new project. I
14:00
see the latest updates have made next year as
14:02
a prominent option as a framework. I
14:05
find many advantages in next year's and
14:07
I like the built-in API functionality that
14:09
really stands out. Could
14:12
you elaborate on how this framework enhances
14:14
development workflows, particularly with new features compared
14:16
to other methods? So I'll
14:18
answer this like half next year's, but also just
14:21
half, like, what's the
14:23
benefit of using a framework versus nothing
14:25
at all? Like going straight V and, and doing
14:28
it all yourself. So like the pros are like,
14:30
it's much faster to get up and running.
14:33
It has baked in routing often has baked
14:35
in environmental, environmental variable support.
14:38
It will have like server side API stuff. It
14:40
will have like so much stuff that you need
14:42
on, on every single app that you're building. And
14:45
also there's just like lots of existing solutions,
14:47
you know, often you'll search for something and
14:49
there'll be like a, like,
14:51
for example, with Svelte kit, I needed
14:54
a cloud flare
14:56
capture, which is called turnstile. And I started
14:58
implementing it myself. And I was like, I
15:00
wonder if somebody's built a Svelte kit component
15:03
for this. And of course there was, there was
15:05
a really nice component for it. So I
15:07
just plugged that thing in myself and
15:10
I was, I was up and running in no
15:12
time because somebody had written the code for it.
15:14
The cons to that is there
15:17
can be some confusion over what is react
15:19
and what is next JS. I think that
15:21
that's not a huge issue, but just know
15:23
what is reacting, what is next JS, you
15:26
know, like where that line is. There's
15:28
often confusion over best practices
15:31
and versus opinions, you
15:33
know, like a lot of the stuff in next
15:35
JS is very opinionated, which is people often want
15:37
that. I just want a very opinionated approach to
15:39
do something. Especially with like the
15:41
image component in next JS. If you
15:43
use an image tag in
15:45
next JS, it will immediately flag it red
15:47
and be like, what are you doing using
15:49
an image tag? Use this thing where
15:51
you have to give it a height and a width
15:54
immediately, which I get the reason why they say you
15:56
want to hide in a with this so that you
15:58
don't have the, on
18:00
this team except for me has a kind
18:02
of a crazy like
18:04
almost too good last name. We
18:07
got Wes Boss. Okay. Wes Boss. A
18:09
six letter total boss is a last
18:11
name. Just that's got to be fake.
18:13
Caitlin Bloom. Okay. That's a cool last
18:15
name. Ben. Pretty cool. Yeah. Ben
18:17
Vinegar. You
18:19
know, that's like the most like, you
18:22
know, that sunny Philadelphia Vic vinegar.
18:24
I see that I think about
18:26
it like what a bad ass. So
18:28
we got, and then Randy Rector, we
18:30
got Rector, Bloom, vinegar, boss. He had
18:32
the, and then Reynolds and Talinsky. I,
18:35
you know, I have
18:37
the least likely of a fake name, which
18:39
is funny that these are all our real
18:42
names. We just somehow got the collection of
18:44
the coolest people with the coolest last names.
18:47
And I probably should have done a fake last
18:49
name to fit in with all y'all cool ass
18:51
names, but I'll take Talinsky. Yeah. Yeah.
18:54
That's something that you see a
18:56
lot with people like joining the
18:58
internet now is they just
19:00
go by like a handle or, or you just come up
19:02
with like a fake last name because
19:05
it's so much easier to reference
19:08
them when, when you know what their handle
19:10
is. Totally. Yeah, it
19:13
is. And that's good
19:15
for a few reasons, you know, it's a, well,
19:17
these are all our last names. So now you're
19:19
going to have to deal with these are, we
19:22
just got cool last names here. All right. Next
19:24
question from Jeribear, just curious about what your work
19:26
day typically looks like. Thoughts on things like RTO
19:28
policies, which is return to office. Where do you
19:30
get your best work done? How do you handle
19:32
office relationships? If the entire team is remote from
19:34
you, stuff like that. Sorry if my question is
19:37
too vague, it's not too vague. I think that
19:39
it covers a lot. Yeah. I,
19:41
you know, RTO return to office is kind
19:43
of a touchy subject as somebody who does
19:45
work from home and has worked for myself.
19:47
So therefore my office has been my home
19:50
for, I don't know, 10 years
19:52
plus now. It's easy for me
19:54
to say I kind of romanticize
19:56
working in an office a little bit, which
19:58
is crazy to think. I know I think
20:01
it's crazy to say that I like working
20:03
from home personally because of if
20:05
my kids need me I can be at school, you
20:07
know quickly or any of that stuff. But
20:10
when I worked in an office I did
20:13
get a lot of value out of that
20:17
collaboration with peers in person
20:20
Having somebody look at your screen and
20:22
you know talking through issues and stuff
20:24
like that now granted I was a
20:26
more junior of a developer many
20:29
of those times But I think a
20:31
lot of the mentorship I got in my
20:33
career Came from the moments
20:35
where you're going for a walk at lunch.
20:37
You're hanging out with your buddy in your
20:39
office You're just chit-chatting over over, you know
20:42
coffee in the morning or something like that
20:44
I got so much value out of that
20:46
stuff that I kind
20:48
of Romanticize that a little bit and look back
20:50
at it so fondly But
20:52
at the same time I totally understand working
20:54
from home has been so much easier So
20:56
the conversation is a little touchy on all
20:58
sides. I don't necessarily know what the best
21:00
answer is I do think it's a little
21:02
funny how like the people who are loudly
21:04
Proclaiming that return to office is the greatest
21:06
thing ever are mostly Owners
21:09
and bosses, you know, yeah, and the employees
21:11
are like no wait a second That's not
21:13
that's not as good for me But
21:16
typical work day for me is man. I dropped
21:18
my kids off at school and then I come
21:20
home I tend to first
21:22
things first. I tend to do a
21:24
couple things early on I
21:27
get to inbox zero every day Inbox zero
21:29
is important for me because it makes sure
21:31
that I'm on top of what I'm doing
21:33
It doesn't necessarily mean that I've taken care
21:35
of every email But it means that I've
21:37
at least read and either snoozed that email
21:39
to a time in which I'm going to
21:41
be able to You know take care of
21:43
it. So if I get an email and
21:45
it's an ask of me I'll
21:47
say I can't do this until Noon
21:49
snooze it until noon and that gets it
21:51
out of my inbox and it'll pop back
21:54
in at noon I use superhuman as an
21:56
email client. A lot of email clients do
21:58
snoozing. So this is something that you know
22:00
That's very common. So the first thing I
22:02
do is get my inbox to zero. The
22:04
second thing I do is write my to-do
22:06
list. I use a tweak.so, T-W-E-E-K.so. It's
22:11
a simple to-do list app. I
22:13
write my to-do list. I move things around
22:15
if I'm not going to be able to
22:17
accomplish them. And I take stock of what
22:19
I'm going to be doing that day realistically.
22:21
Because without that to-do list, once
22:24
I'm actually in a position to do things, I
22:26
need to be able to look and say, all
22:28
right. What should I pick up at this
22:30
very second? Otherwise, what am I going to do? I'm
22:33
going to go on Twitter. I'm going to go on
22:35
Reddit. I'm going to just bop around with some code
22:37
without outdirection,
22:39
right? And then
22:41
typically, I'm either recording, like we're
22:43
doing today, or I do for
22:45
YouTube Shorts, whatever. Or I'm writing
22:48
code for the syntax website for
22:50
demos. I'm trying things.
22:52
I'm trying to break things. A
22:55
lot of times, that's kind of where we're at. Since Wes
22:57
and I are kind of working on the edges here, a
23:00
lot of the times the code we're working on is
23:02
either just like a lot of exploration, a lot of
23:04
breaking things, a lot of
23:06
just figuring things out. And
23:09
exploring is really it. So if
23:11
I'm not in meetings answering emails
23:13
or recording, I'm
23:17
coding. And whether or not it's for a big
23:19
project or explorations is different by
23:21
the day. Yeah. For
23:24
me, it's pretty similar on every day.
23:27
It's a school. And then usually when
23:30
I'm driving home from dropping
23:32
the kids off, I will. One
23:34
feature I really like about Apple CarPlay is
23:36
that it shows you your calendar for the
23:38
day. So as I'm driving, I can tap
23:40
my calendar and see what I've got coming
23:43
up that day. And usually,
23:45
or hopefully, it's nothing. So
23:48
I can just work on stuff. Sometimes
23:50
it's meetings or whatnot. Or on Tuesdays,
23:53
we record pretty much the entire day.
23:55
And then I choose as I'm
23:58
driving home what I'm going to do. driving
24:00
home and at the end
24:02
of the day, yesterday I was
24:04
working on the layout for the
24:06
potluck question submission. And
24:09
I had a really good use case for CSS sub
24:11
grid and I was like, Oh, tomorrow morning, BAM, I'm
24:13
going to record that video and exactly what I want.
24:15
So as I'm driving, I'm sort of thinking about, uh,
24:18
how I can, how I can frame the video and, uh,
24:21
how I can describe it. And then I just sit
24:23
down and BAM right away. I record that, edit it,
24:25
put the thing out. Um,
24:27
then usually it's just, I have a
24:29
list of either like things that
24:32
I need to work on, which is, um,
24:34
stuff for courses, stuff for syntax or stuff that
24:36
I want to check out, which is just a
24:38
running list of different technologies. And,
24:40
and usually I'll just sort of look at
24:42
that and say, Hmm, like what
24:44
do I need to do and what do I want to do? And
24:47
sort of balance those things
24:49
out and grab one of them and sort of
24:51
just take a deep dive into, to what it's
24:54
how, how it works and how to understand all
24:56
that good stuff. So that's pretty
24:58
much it. The office does not appeal to
25:00
me at all. Um, I
25:02
definitely see the benefit of the
25:05
chit chat and the back and forth and
25:07
the planning and the friendships. And, um, especially
25:09
like when you have a problem being able
25:12
to like noodle through it,
25:14
like someone can just roll over and just
25:16
like talk you through it and noodle on
25:18
it, that's super powerful. I totally understand that.
25:21
But also I just want to be in my
25:24
soundproof office with my soundproof headphones on
25:27
with my screaming music and just crank it
25:29
through code. Yeah, I get that too. Although,
25:31
you know, sometimes I'm most productive when I'm
25:34
in public, like at a coffee shop, totally
25:36
because then I, I like, I, it's not
25:38
like I'm being judged for not working, but
25:40
I feel like it
25:42
makes me want to feel like I have to
25:45
work and be productive at a coffee shop. And
25:47
the same thing happened to me in office where
25:49
I felt like if I'm the
25:51
only one messing around and not doing my
25:53
job all day long, it's going to, you
25:55
know, be obvious that I'm just on, on
25:57
Twitter or Reddit or whatever, instead of. accomplishing
26:00
anything and I'm the type of person where I
26:02
can go down those rabbit holes and like an
26:05
hour later be like Wait, what was
26:07
I doing? Where did that time go? So,
26:09
you know, I think it's beneficial to me not like
26:11
I need to to grind grind grind you know, I
26:13
don't want to give that impression off that I'm like
26:15
crazy hustle man or something, but like My
26:18
brain just works where I'll get distracted and yeah
26:20
the environment of work so fun Yeah, I find
26:22
it also the opposite in offices though. Every people
26:24
like hey, you want to go grab a coffee?
26:27
What are you doing this weekend? Like no
26:30
alone I've
26:33
tried and I've gotten more grumpy about that
26:35
as I have gotten more kids and gotten
26:37
older Whereas like my time to work is
26:39
my time to work Yeah, and I don't
26:41
want to fritter away a second of that
26:44
doing something that is not enjoyable to me
26:46
I was obviously I like going for coffee
26:48
and whatnot. I enjoy that part of it
26:50
as well But I feel like
26:52
sometimes it could be a bit too much of a distraction Yeah,
26:55
you know what I don't miss about the office
26:57
is like inappropriate office conversations
27:00
We're like I've had people
27:02
that I've worked with like start talking to me about
27:04
things that I don't want to be talking to You
27:06
about at work or in general
27:08
and like what can you do? You can't just be
27:11
like go away, please You know, I like you said
27:13
it, but it's still like distracting I remember I was
27:16
at talking to my manager at
27:18
Ford when I worked there And
27:20
I was mentioning that we were checking out Denver and he's
27:23
like I remember the last time I went to Denver I
27:25
went to this place and it was like You
27:28
know one of those like racy kind of like
27:31
Hooters type of restaurants and I was
27:33
just like bro What do
27:35
you do? Why are you telling me this? I don't
27:37
care. I don't want to hear about this I don't
27:39
want to be involved in this conversation Like I don't
27:41
miss that stuff at all because there's just some people
27:43
who don't have good judgment in that
27:45
regard now Co-workers are gonna be over here in
27:48
this conversation. I gotta act like I'm yeah
27:51
Next question from pickle sickle not really question
27:53
But a feature request would be awesome to
27:55
have a page on syntax FM with all
27:57
the sick pics and their links where
28:00
we could see them perhaps filter by tags, etc. Yes,
28:03
we have this syntax. A
28:05
femme/sick pics has a
28:07
list of every single sick pic
28:10
we have ever picked that is sick. And
28:13
it's actually kind of interesting how we had
28:15
to generate this because what
28:17
were eight hundred and twenty six episodes in
28:21
and most of them
28:23
have sick pics, but they've always just been
28:25
like like it's an H2 or
28:27
an H3 or like a bold. That's a sick pic
28:29
like it's been in the show notes, but
28:32
it's never been structured enough and like
28:34
taking unstructured data and trying
28:36
to extract it has always been like
28:38
kind of a tricky thing. So I
28:40
wrote some like pretty
28:43
funky like Dom traversal, Regexing
28:45
type of thing, and it
28:47
works really well. I
28:49
don't think there's any sick pic it's ever missed over
28:52
all of the all the
28:54
episodes. So it's pretty interesting if you want to
28:57
look at the code of how do we actually
28:59
scrape that from the show notes? Yeah.
29:03
Yeah. Well, it's great that they're
29:05
out there. And if you ever want to see that
29:07
stuff, you know, we did like the first year. Maybe
29:10
we did syntax. We did like a holiday gift guide
29:12
of like our face. It picks. We should do that.
29:14
It's not a couple of years. Yeah. Let us know
29:16
if you want to see that one again.
29:18
I've got the we stopped it after a couple of
29:20
years because I was just like picking
29:23
the same thing over and again because I
29:25
just like the same things that I've liked
29:27
for five, 10 years. But it's
29:30
been probably two or three years since we've done it. So maybe
29:32
we should. Yeah, for sure. All
29:34
right. Next question from a geek
29:36
dev. How a junior becomes a
29:38
senior? Who is a senior? How
29:41
to learn those stuff and what kind of projects,
29:43
books and communities could help with that? Basically, the
29:46
difference in roles here between a junior and senior.
29:48
And how do you get to be a junior
29:50
or or how do you get to be from
29:52
a junior to a senior dev? Now,
29:55
a lot of this is just a label.
29:58
When I got my first senior label.
30:00
role, it was only because my boss
30:02
had taken a new job and I
30:04
was the next person in line. That's
30:07
it. So in that regard, that's how I got
30:09
the job. That's how I became a senior. And
30:11
once you get that title, I'll tell you what,
30:14
the next job is probably not going to be
30:16
a junior job. So you know,
30:18
sometimes you just get that role and that's what
30:20
you are. But if you want
30:22
my opinion on like, what
30:25
makes a junior dev different from a
30:27
senior dev in my experience and the
30:29
way I feel about it is that
30:31
a senior developer has a bigger picture
30:34
view of everything. Whether
30:36
that is like business stuff, as in
30:38
they can see the big picture is
30:40
how what you're doing applies to the
30:42
business as a whole. And
30:44
you know, you're not just focused on making
30:46
this button click right, right? That's a senior
30:49
developer type of thing. But a
30:51
senior developer also tends to make
30:53
decisions around the code base that
30:55
are smarter for
30:58
the code base in the company long
31:00
term than the junior developer who wants
31:02
to plop in whatever latest
31:04
and greatest thing that they just learned this
31:06
weekend. That is definitely a
31:08
junior trait to be like, let's
31:11
rip out all this stuff. Now granted, I'm
31:13
a ripper out or I'm a refactor type
31:15
of guy, but I'm not doing that in
31:17
the context of a code
31:19
base that other folks are having to work
31:22
in. So it's a little bit different. The
31:24
senior developer understands a solid,
31:26
mature code base. They understand how to
31:28
keep that code base functioning
31:31
long term. They have a bigger picture
31:34
view of things is the best way I can describe it.
31:36
Beautiful. I don't think I have anything to add to
31:39
that. So really, really well put. Next
31:41
one from Diabeeta code. Hey, gents, thanks
31:43
so much for the podcast. I seriously
31:45
can't get enough. Firstly, for
31:47
Scott, do you ever plan on doing any
31:50
go dot videos or courses? Same Dev has
31:52
been a long time passion of mine and
31:54
I always think your courses are extremely well
31:56
taught. Would love to see some content around
31:59
it. All right, Scott, let's hear it. What's
32:01
Go. And will
32:03
you make something on it? OK, so
32:05
Godot. Godot. Godot
32:08
is a open source game dev framework.
32:11
A lot of these game engines, they
32:13
require license fees. They're expensive to pick
32:15
up, or they're proprietary, this or that.
32:18
Godot is open. It's
32:21
fantastic. It has an incredible community
32:23
of people working. You can build
32:25
3D, 2D, mobile, even published to
32:28
web games with it. So
32:30
Godot is really just like the coolest
32:33
platform, I think, for learning game dev,
32:35
at least for me personally. Mostly because
32:37
I'm new to game dev, and
32:40
I don't have experience in Unity
32:42
or any of these other ones
32:44
beforehand. I did check out a bunch of these. Love
32:47
is a, I believe, a Lua-based framework
32:50
that I checked out a lot. But
32:52
Godot is really cool. I
32:55
would love, and I've been thinking about this
32:57
a lot. I've been thinking about doing Godot
32:59
tutorials. So this question, I put it in
33:01
here specifically because my son and I are
33:04
building a game together as an experience so
33:06
that he can understand not only coding, but
33:08
game development, what that entails. He's like, I
33:10
want to make a video game. I'm like,
33:12
all right. But we're
33:16
going to do this together, and
33:18
you're going to watch the tutorials
33:20
with me in a way, and we're going to
33:22
get the little guy moving on the screen together,
33:24
and you're going to get to experience those little
33:26
wins. We wrote this script,
33:28
and now all of a sudden he can
33:30
do that. Now I'm not making the kid,
33:32
my seven-year-old, write code. But I'm having him
33:34
be there, and he's so excited. He's been
33:36
the idea man. I said, hey, come up
33:39
with eight bosses for this video game. And
33:41
he drew them all overnight. The next day
33:43
he's like, dad, I got all eight bosses.
33:46
And what's so great about this, and now I don't have to
33:48
come up with those bosses. We went
33:50
on chat GPT and did some like,
33:53
hey, give me some pixel art for these bosses just
33:55
so we can visualize what they look like, just so
33:58
he could get his brain working. The
34:00
funniest thing about all those bosses, Wes, is that,
34:02
man, his little brain is so funny. He's
34:05
like, dad, check it out. Here's a
34:07
boss. It's a shark. He's got a
34:10
spike on a chain as a weapon,
34:12
which is a urchin. It's
34:14
a sea urchin spike on a chain. Oh, that's cool.
34:16
That's awesome. And he's got
34:18
eight heads. Why has he got eight
34:20
heads? Why has he got eight heads? And he's like, all
34:22
right, here's this next one. He's a salamander that shoots slime
34:24
balls, and he's got six heads. All
34:27
of his bosses had multiple heads. I was like,
34:29
every single one of the bosses had some
34:31
amount of heads, 12 heads, eight heads,
34:33
six heads. And I was like, all right, how
34:35
about one boss has two heads, and we can leave it
34:37
at that. So yeah, it's been
34:40
a lot of fun, and I would love
34:42
to do this, especially as like a
34:47
Scott and Son makes game together. Yeah. Here's what
34:49
I'm learning kind of thing. That would be a
34:51
really cool series. Yeah. So is
34:53
Godot, like, is it a GUI for
34:55
making apps, or is it like a
34:57
programming language? It's both. So
34:59
there's a programming language called GDScript,
35:01
which I believe is, I'm going
35:04
to confirm this, is C-sharp based.
35:06
GDScript is kind of like a
35:08
more simplified C-sharp, and that
35:10
language is actually really nice to
35:12
work in. It's indentation based, similar
35:14
to Python, high level, object oriented,
35:16
imperative, and gradually typed programming language.
35:19
It's actually really nice to work in. And
35:21
then the GUI itself, you write your
35:23
code in the GUI, but you can
35:25
also click around for like adding tiles
35:28
and collisions. And yeah, it's
35:30
kind of like a code editor mixed
35:32
with a GUI for types of things that
35:34
you can't do with code. But your programming,
35:36
let's say, a lot of the things
35:39
like you would typically do in JavaScript
35:41
type of thing, when I hit this
35:43
key, apply this physics by this plus
35:45
this equals this to make the character
35:47
move or have the physics apply. So
35:49
you are writing code for quite a
35:51
bit of the things, and then other
35:53
things are entirely GUI based. But yeah,
35:55
it's a cool platform. It
35:57
looks like you can write it in GDScript. C
36:00
sharp dotnet Yeah,
36:02
yeah, but I think all
36:05
the tutorials I see are GD script and
36:07
yeah, their docs are really good And I
36:09
like GD script. It's it's cool language in
36:11
in the type script stuff The
36:13
types the type script the types feel like
36:15
type script and I get away. So yeah,
36:17
it's comfortable to work in nice so
36:21
second part of this question was For
36:23
both of you obviously there's a dozen and
36:25
a half a a platforms out there I
36:28
have either of you tried finned seems there
36:30
as his option is free and perhaps
36:33
slightly more dev centric than the regular
36:35
chat GPT But
36:37
I could be wrong. Do you have a favorite?
36:40
Yeah, I've never tried this one It seems like
36:42
there are a million of them
36:44
popping up overnight, it
36:46
seems like the big ones are
36:49
all letting you now choose your
36:51
model which I thought was really interesting because
36:53
like six months ago everybody was trying to
36:55
make their own Programming
36:57
model and that's still certainly a
36:59
thing But now it seems like
37:01
like we got cursor allows you to choose your
37:04
actual model a lot of people moving to Claude
37:06
for this Type of thing which like to say
37:08
I was very early in on the the Claude
37:10
train when everyone was talking about Chat
37:14
GPT Copilot obviously
37:16
uses open AI behind under the
37:18
hood and even
37:21
Codium uses you can
37:24
you can choose to use open AI The
37:27
real secret sauce with a lot of these
37:29
products is not the model behind them now
37:31
It's how you provide context how
37:34
you do the auto completion all
37:37
of what you provide to the model
37:39
as your prompt is is
37:41
the secret sauce behind it and We
37:44
had the code him guys on and they talked about
37:47
like that's how they make it so good because it's
37:49
not simply just like Take this
37:51
line of code and make it better. It's I
37:53
have these tabs open this things in my copy
37:55
paste It's referencing these other
37:57
functions that are in other files and
37:59
is smart about your code base. So
38:02
I haven't checked it out. Find
38:04
P H I N D. I need
38:06
to spend like seven days
38:08
trying every single one out there.
38:11
I'm going to be honest with you as you got two
38:14
pronunciations. How do you
38:16
say this? Fine. Yeah,
38:18
sorry. Gosh. That's
38:21
a silly, silly, silly
38:23
name. I know it is
38:25
kind of. I actually, I used this like, man,
38:28
I use this before Claude. Anthropic
38:31
Claude was out and this
38:33
one did a much
38:36
better job for me with code
38:38
issues than chat GPT did at
38:40
the time. But after Claude came
38:42
out, I just started using Claude for everything and I
38:44
have not been back to find at all. So
38:47
when I did use find, I found it to
38:49
be very good, but I have
38:51
not looked at it in a little while and
38:53
maybe I should give this a another shot specifically
38:56
because it is dev centric. But you know, I
38:58
did find the UI to be nice. I found
39:00
working with it to be nice, but yeah, yeah.
39:03
I also find now allows you
39:05
to select GPT four.
39:08
Oh, or Claude sonnets, Claude Opus. So
39:10
again, like this is another tool where
39:12
they are allowing you to use the
39:14
existing models and their competitive
39:17
edges is what they put on top of that.
39:19
Yeah, cool. The one
39:21
that wins for me is the one that can utilize
39:24
new libraries. The best like Svelte five, right? That's
39:27
the one thing I like about cursor a lot
39:29
is I can pass it this fault
39:31
five docs so that I can have that
39:33
context in every query. So yeah, that's always
39:35
a blocker for me. All
39:37
right. Next question from Belal in
39:39
react. We pass callbacks to a
39:41
component to take on action updates
39:44
that components tell us about. So when a component needs
39:47
to fire an update, it can fire a callback
39:49
as a prop. In some
39:51
other frameworks like lit or angular, we
39:53
listen to an event or output for
39:55
the same purpose. The difference
39:58
is that events bubble up so
40:00
that prevents callback prop drilling, but
40:03
is there any other inherent advantage between
40:05
callbacks and events or are they just
40:08
two ways of essentially doing the same
40:10
thing? Yeah, that's
40:12
an interesting thing because I've, I've done
40:14
both of these things, um, whether that
40:16
is through custom events or through passing
40:18
a prop. To me, the
40:20
difference lies in if I control
40:23
the component itself, the comp,
40:28
like if it's coming from a component
40:30
library, I kind of
40:32
preferred to pass an event up, but if it's
40:34
coming from a component that I wrote for
40:37
some reason, I almost always do it
40:39
as a prop. No, no questions about
40:41
it. Like on change equals. Correct.
40:44
Yes. Yeah. And I
40:47
don't have, I don't have any issues with that
40:49
for some reason, just because I have control to
40:51
dive into the component to tweak it at any
40:53
given point for me. That feels fine
40:55
to do that way. I think the
40:58
prop version is potentially easier. Uh,
41:00
but I don't know. Yeah. I don't know about
41:02
advantages. Wes, you have a bunch of stuff here,
41:04
so I want to, I want to hear your
41:07
opinion on this. Yeah. It's, it's kind of an
41:09
interesting thing because like what he's talking about here
41:11
is if you have like a, let's say you
41:13
have a map component and somebody types in address
41:15
to that map component and you want to know
41:17
when like, let's say that event
41:19
is called, um, map address
41:21
update. Um, and you
41:23
want to know when that map address
41:25
update happens. And in a
41:27
lot of react components, you would just say
41:29
on map address update equals, and then you
41:32
run the function at that point, right? And
41:34
whereas with like angular or something like that,
41:36
that event will fire and that will bubble
41:38
up, meaning it will go every
41:41
Dom node, higher, higher, higher.
41:43
And then at a higher level, you can
41:45
sort of catch that event and say, you
41:48
can listen for it. So if you're, if
41:50
your state management is happening, or if you
41:52
need to deal with that event at a
41:54
higher level and not have to, what he's
41:56
saying here is prop drilling, which is, I
41:58
have this function that I. state
44:00
in that kind of way. Yeah. To
44:02
me, like prop drilling some kind
44:05
of an event feels like some
44:07
type of architectural issue or something. You know what I
44:09
mean? I don't know. Maybe it's just I haven't hit
44:12
that issue, but it's a pain. It's like if you
44:14
have to pass a event
44:17
handler like three levels deep and it
44:19
has to weave its way and then
44:21
you think, Oh, I'll throw it into
44:23
context and it's neither of them. Neither
44:25
of them are great. It's yes, because
44:28
it's felt you could just import the store
44:30
and listen for it, which is the best. Like
44:32
I everything should be like that. Yeah,
44:35
totally. I agree. And that's how I like to work
44:37
in react as well. And you can work that way
44:39
in react. Yeah. Some reason check out Zustand.
44:43
It's really good for that. Next one from Dean for
44:45
it. I recently started listening to show during my
44:47
morning walk. I'm a developer who's been in the industry
44:49
for 20 years. I recently got
44:51
laid off from an organization where I had been
44:53
working for for 10 years. I'm
44:56
in my early fifties and I'm looking for
44:58
a transition to freelance development as I am
45:01
nowhere near ready to retire. Even though I
45:03
gained a ton of experience over the years,
45:06
all of that experience has been used
45:08
in products that were proprietary in nature,
45:10
aside from a public facing website where
45:13
I have collaborated with a team of developers on
45:16
site. I really have no portfolio of work to
45:18
show what advice can you give to someone who's
45:20
just transitioning from a career of
45:22
working for a single company to a
45:24
freelance role. Keep up the good
45:26
work. Yeah. We hear this a lot where like
45:30
life gets busy. You work for
45:32
and also like that was the thing to
45:35
do for many years. My dad
45:37
worked for the same company for like
45:39
his entire life. People do
45:41
that and you put in your time. Whereas
45:44
with web development and a lot of
45:46
careers now is you jump around. So
45:49
what do you do when you
45:52
are no longer at that company and you don't
45:54
really have a whole lot to show because most
45:56
of your work was proprietary. You're not allowed to
45:58
show it. couple of
46:00
things you can do here. First, I
46:02
would immediately start getting on the horn
46:05
and working on your, your web presence.
46:07
So whether it's YouTube videos, blogs, Tik
46:09
TOKs, just like explaining what you're working
46:12
on, sharing absolutely everything you know, going
46:14
to meetups, you have to get, if
46:17
you're going to be a freelancer, people have
46:19
to know about you, right? And you either
46:21
have to be the most smart person in
46:23
the world that people come to you to
46:25
fix like this one issue that you're,
46:28
you're the only person in the world as good at,
46:30
which is not that common or
46:32
you guys have to be well known. When I was
46:34
doing freelancing, I was posting lots of
46:36
blog posts about the stuff I was working on. I
46:38
was going to meetups and talking about it. That's how
46:40
I got most of, of my work
46:42
because it is very hard to
46:44
find a reliable freelancer and I'm willing
46:47
to bet you're in your early
46:49
fifties. You have the skills that a
46:51
lot of younger developers do not have
46:53
in terms of time management and communication
46:55
and all of that stuff. So
46:58
you have a huge leg up
47:00
there and people love to work with people
47:02
that are not flaky. It's so hard to
47:04
find people that are not flaky to do
47:06
stuff. So start
47:09
doing that. Obviously make a website. You can
47:11
have a private portfolio as well, where you
47:13
can talk about the stuff that you worked
47:16
on. Just say, Hey, contact me for a
47:18
private portfolio. I did that as well. Not
47:20
able to talk about the stuff publicly, but
47:22
I'm able to, to maybe show you, get
47:24
on a call. I can sort of talk
47:26
about how that stuff works. So private portfolio
47:28
start getting some stuff out there, but
47:31
you get some stuff up on GitHub. You
47:33
just have to create a bit of a
47:35
presence. And I think once you've done that,
47:37
the, the leads will start to flow. People
47:39
will tell their friends, tell everybody you meet,
47:42
Hey, I'm a web developer. If you ever
47:44
need anything, it's almost always it's, Hey, I
47:46
don't need anything, but my sister's husband's dog
47:48
needs a website. And, uh, I'll, I'll pass
47:50
the contact on. Yeah. Speaking
47:52
of dogs, I don't know if you can hear
47:54
this noise. My dog has a cone
47:56
on her head right now and it's my sheepdog
47:59
and she does not. and
52:00
take a step back and look for what that truth
52:02
is. Yes, I you
52:04
have to look at it and say, what
52:06
are they trying to say here? Like what
52:08
like they may have have been
52:11
a little aggressive with their feedback. And certainly
52:13
I've done this as well. Like I'll give
52:15
you an example is many
52:17
times I've tweeted out my frustration
52:19
with with render or
52:21
I literally got on email
52:24
the CEO of FreshBooks and was just
52:27
like, you this app is
52:29
getting shitty. You know, and I
52:31
like and I gave him all my feedback and
52:33
I only do
52:35
that because I care. I like this stuff.
52:37
I like render a lot. I like FreshBooks,
52:39
but there's things that annoy me about it.
52:41
And I'm worried that it's not going to
52:43
get better. And if I didn't care,
52:45
I would just move to something else
52:48
and stop using it. But I care enough that
52:50
I want to see this product survive or I
52:52
want to see this going. So the
52:55
best when people give me feedback when I give
52:57
feedback to other people, they sort
53:00
of just like peel it apart and
53:02
say like, what are you actually getting at? What's
53:04
the actual issue here? You know, and it
53:07
could be that the issue is that that person
53:09
has a personality disorder, but it
53:11
also could be that there's some truth to it.
53:13
You know, there's oh, maybe maybe
53:15
I do understand what your frustration is. So there's
53:17
that and then also like like what do you
53:20
do with that is if just talk to them
53:22
straight up and often you
53:24
can really neutralize any aggression that has there
53:26
often they can be a little bit frustrated
53:28
with what's going on and you
53:31
say, hey, sorry about that. Love to
53:33
hear a little bit more. What do you think? What do
53:35
you think would be a better way? You know, follow it
53:37
up with like a like a kind question and you can
53:39
get good feedback out of it. And you can also get
53:41
some neutralization often
53:44
the person was out. I'm sorry. I came off so
53:46
aggressively, you know, I'd X Y and
53:48
Z was going on in my life right now. That
53:51
often happens because I think people
53:53
look at a product or a
53:55
business or anything as a soulless
53:57
entity. And yeah, the people
53:59
who are working. behind the scenes working on
54:01
it. And if you can bring that humanity
54:03
back to that conversation, like you said, I
54:06
think people always dial it
54:08
back. And that's something
54:10
that I've had to learn quite a
54:12
bit over the course of my time.
54:14
That's owning a business and having customer
54:16
feedback or whatever, or anything like that,
54:18
YouTube comments. You always have to look
54:20
at how to communicate and
54:23
how to truly get to the truth that they're
54:25
trying to give you, but in a human way, so
54:27
that, yeah, you connect. So you can
54:29
give another example is Marques Brownlee,
54:32
MKBHD. So right now,
54:34
he's under fire for, he launched
54:36
like a wallpaper app that's $16 a month for
54:39
access to these wallpapers. And he's getting- One
54:42
of which is just solid orange. Roasted,
54:44
absolutely roasted by
54:47
everyone. And like I
54:49
sent out a tweet about it. I was like, this
54:52
is ridiculous. Like 16, that's more than Netflix, you know,
54:54
for wallpapers. And
54:58
like he's obviously getting hammered with feedback right
55:00
now. And it's because like a lot of
55:02
the replies to mine were like, yeah, he's
55:05
a scammer, he's dead to me. And it's
55:07
like, no, like I say this because I
55:09
love Marques. And I think that he understands
55:11
this stuff better than this, you
55:13
know? I think I expect more out of
55:16
him and I wish to see more out
55:18
of him. And obviously he's taking that
55:20
feedback being like, yeah, the people are
55:22
bad, not because I'm just some huckster
55:24
trying to make an app that has
55:26
expensive in-app purchases, but people are mad
55:28
because they trust me and they
55:31
love my work and they don't want to see me go
55:33
down that route. Yeah, they're not
55:35
mad. They're just disappointed. And I don't
55:37
think- It's disappointing, it's even worse. Yes,
55:39
they don't understand how to express that
55:41
disappointment. So they express it in a
55:43
way that comes off as like, ah,
55:46
benchmark, you know? But yeah,
55:48
I'm disappointed in it too. I mean, the dude
55:50
has such a good reputation. And I feel like
55:54
at some point he probably should have thought, is
55:57
this a good idea? It's- Yeah.
55:59
One of the latest thing on that was for
56:02
to make this about tech stuff is that
56:05
all of the wallpapers are in
56:07
a unsecured S3 bucket. So
56:09
once you open the bucket, you can just download
56:12
any of that. There's just a JSON file, which
56:16
people were like replying like, yeah, you can just download
56:18
them now. I'm like, no, like he
56:20
has all the right in the world to
56:23
charge whatever he wants for these
56:25
wallpapers. Yeah. And
56:27
we are also able to criticize like that's
56:29
too much. $16
56:31
a month for access to wallpapers is too
56:33
much. And then also like the really
56:37
scammy ads, like I got an ad
56:39
for bail bondsman, which I'm
56:41
not in trouble with the law, but I was like,
56:43
like, like the ads on
56:45
it were awful. He had to sit through like
56:47
these like really awful like game ads. It just
56:49
felt icky and we
56:52
wanted better from him. Right. And
56:54
then also, yeah, he had
56:56
a massive security hole of not securing
56:58
anything down. So you could just look
57:00
at the JSON file and download them
57:02
all. So
57:04
silly. Yeah, it's silly. It's silly
57:06
indeed. All right. Well, let's
57:09
get into sick pics
57:11
and shameless plugs. My
57:13
sick pic today is an open
57:16
source project and it's a
57:18
self hosting project. Now there's a number
57:20
of these you use like MB, right?
57:22
What's your use plex? Which one do
57:24
you do? I use jelly fin.
57:26
I was on MB for many years. Okay. By
57:29
the way, I've been trying to
57:31
email the like lead maintainer
57:33
of jelly fin
57:36
and get him on because I'm so curious
57:38
about that project, right? It's multi platform runs
57:40
on TVs, runs on mobile
57:43
apps. It's a huge JavaScript app C
57:45
sharp on the back end. There's something
57:47
weird about the developers who work on
57:50
these like semi.
57:52
It's not illegal, but like people are obviously using
57:54
it to to stream downloaded
57:57
shows. Right. And no one will
57:59
ever ever. get back to me on that. But
58:02
anyways, go ahead. Yeah, yeah. Jellyfin, I
58:04
you know, the reason I don't use Jellyfin is because
58:06
they don't have a Samsung TV app and I don't
58:08
want to Chromecast everything. You could there's an open source
58:10
one, but you have to get it. I have a
58:12
Samsung TV app. They have one now. They
58:14
do? Yeah, for the longest time I had
58:16
to sideload it. That's what I'm saying. Yeah, I don't want
58:19
to do that. But no, it's like I have Samsung frame
58:21
and we just go to the go
58:23
to the Samsung store and install it.
58:26
OK, I prefer to do that. But
58:28
yeah, I run MB. But here's
58:30
something I just discovered recently. And
58:32
it's a really good piece of
58:34
software. And they're coming out
58:36
with a native iOS app. It's audio
58:39
bookshelf. So I listen to a
58:41
lot of audio books. And you
58:44
know what? Audible, expensive. You don't own the
58:46
stuff. I think you kind of own it,
58:48
but you're tied to a subscription and stuff
58:50
like that. Audio bookshelf
58:52
is basically MB for
58:54
audiobooks. Now you can do audiobooks in
58:56
MB or I believe you can even
58:58
do them in Plex, but it's not
59:00
necessarily made for it. It's not very
59:02
good. An audio bookshelf is like really,
59:06
really nice. It's
59:08
an open source project. So expect bugs
59:10
here and there and whatever. But I
59:13
really, really have been enjoying this thing.
59:15
I installed it on my Synology.
59:19
I set my wife up with an
59:21
account. She can have her own books
59:23
and her own collections and
59:25
all this stuff. And overall, it works
59:27
really well. And what's cool about it
59:29
too is that the API is nice
59:32
enough that there are several apps on
59:34
the App Store consuming this API that
59:37
also work with other things. So you
59:39
could use, there's a couple
59:41
of apps. The one that I'm currently
59:44
using is called Plappa, P-L-A-P-P-A.
59:47
But they are coming out with an official one. It's
59:49
just under test flight right
59:52
now, and I don't have access to it. So there will
59:54
be an official app for this thing. It's
59:56
been really nice. And I've been really enjoying
59:58
using this. So audio bookshelf.
1:00:01
Oh, so plapa is an audio
1:00:03
book player client for jelly fin
1:00:06
and audio bookshelf. Yes. And
1:00:08
Swift. That's nice. Yeah.
1:00:11
I, I've been wondering about this cause like we
1:00:13
do audio books
1:00:15
and we rent them from our library,
1:00:17
but the apps are just awful. And
1:00:19
like, they have the download.
1:00:21
Yeah. Libby. And sometimes
1:00:24
they expire. It's so annoying. Like
1:00:27
trying to find one for your kid and
1:00:29
then they finally find one and it's like, well, that
1:00:31
one's taken out right now. Or you had that one,
1:00:33
but it expired. And Oh yeah,
1:00:36
that's cool. Yeah. Check it out. I'm a
1:00:38
sick pick the syntax hats.
1:00:40
So we just got two
1:00:42
new hats added to, uh, to
1:00:45
the syntax store. Um, they're 20 bucks each. I
1:00:47
got the felt one right now. And then there's
1:00:49
also a blue one with the syntax logo. I
1:00:51
don't have it in my office right now. Um,
1:00:54
but these are awesome. Really high quality hats. We
1:00:56
made them from scratch. I didn't make them myself,
1:00:59
but like, if you'll take a look at the,
1:01:02
the inside of the hat, all the
1:01:04
seam tapes says syntax. There's also a
1:01:06
spelling mistake on the label. I
1:01:08
don't know if you noticed that Scott. I,
1:01:10
uh, I'll, I'll leave it for you. You have to
1:01:12
buy it if you want to see a spelling mistake,
1:01:14
but I was just playing with it the other day.
1:01:16
I was like, I made the tag. I designed the
1:01:18
tag. I go, Oh crap. I spelled
1:01:20
that wrong. Two ahead century on it. Yeah.
1:01:23
Yep. Should've, or at least
1:01:25
a spell check, but that's a
1:01:28
really cool hat. Check it out. 20 bucks. Really nice
1:01:30
hats. Uh, syntax out of fam click
1:01:32
on the store or swag in the, in
1:01:34
the URL bar, you can grip pick one up yourself. Sick.
1:01:37
Cool. And I'm going to shamelessly plug, uh,
1:01:39
syntax on YouTube. So check us out at
1:01:41
syntax FM. All of these episodes and so
1:01:44
much more are available on YouTube. CJ's head
1:01:46
CJ, uh, CJ Reynolds just
1:01:48
released an incredible video on create your
1:01:50
own next JS starter template. This thing
1:01:52
is two and a half hours long.
1:01:54
That's great. Most in depth, uh,
1:01:56
content you're going to get. So, you know,
1:01:59
I think the biggest complaint. A lot of
1:02:01
people have with YouTube developer content is that
1:02:03
it's done by non-practitioners and it's surface deep
1:02:05
and they're just reading the docs or something.
1:02:08
This is not that CJ does an incredible
1:02:10
job getting super deep into these topics. So
1:02:12
if you are the type of person who
1:02:14
likes to get into the nitty gritty of
1:02:16
it all, check it out at syntax FM
1:02:18
on YouTube. All right. Thanks everybody for
1:02:20
doing it. We'll catch you later.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More