832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

Released Wednesday, 9th October 2024
 1 person rated this episode
832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

832: Potluck: When to Use a Framework × Goodbye Webpack × Custom Events in React + More!

Wednesday, 9th October 2024
 1 person rated this episode
Rate Episode

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.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features