WEBVTT

NOTE
This file was generated by Descript 

00:00:01.720 --> 00:00:02.850
CJ: Welcome to build and learn.

00:00:02.850 --> 00:00:03.740
My name is CJ.

00:00:03.830 --> 00:00:07.630
Colin: And I'm Colin and today we
are catching up on some things that

00:00:07.630 --> 00:00:10.287
we've been working on, some things
that we've been learning recently.

00:00:10.364 --> 00:00:12.204
Good to see you again, CJ.

00:00:12.554 --> 00:00:12.924
CJ: Yeah.

00:00:12.954 --> 00:00:13.454
Likewise.

00:00:13.454 --> 00:00:14.004
Likewise.

00:00:14.384 --> 00:00:18.304
We're just talking about
Zencaster here and I use the Opal

00:00:18.314 --> 00:00:20.164
camera as like my main webcam.

00:00:20.684 --> 00:00:24.644
And over the past couple of weeks, it's
been doing this really annoying thing

00:00:24.644 --> 00:00:27.934
where every time I start a new call, I
have to unplug it and plug it back in.

00:00:28.504 --> 00:00:32.904
And someone told me that there was like a
firmware update that bricked their camera.

00:00:32.904 --> 00:00:35.884
And so now I'm just like terrified
to do any updates or anything, but.

00:00:36.389 --> 00:00:37.059
yeah, it's I don't know.

00:00:37.059 --> 00:00:38.619
what, what webcam do you use?

00:00:38.984 --> 00:00:39.914
Colin: That is rough.

00:00:39.994 --> 00:00:46.364
yeah, so right now I'm actually using
a 12 year old webcam because, I have a

00:00:46.364 --> 00:00:52.794
scarlet solo that's running my XLR mic
and it cannot be plugged into the Mac

00:00:53.274 --> 00:00:59.484
while also plugging in a cam link for my,
cause I usually use a Sony, what is this?

00:00:59.484 --> 00:01:03.564
A Sony A1000 or something like that.

00:01:04.034 --> 00:01:06.434
A, it's one of those like
a point and shoot cameras.

00:01:06.434 --> 00:01:10.574
It's not like a full DSLR
and, totally feel you there.

00:01:10.574 --> 00:01:13.374
Like I have a MacBook pro that should
be able to handle all this stuff.

00:01:13.404 --> 00:01:17.104
I have one of the CalDigit hubs,
which I bought because I was told

00:01:17.104 --> 00:01:19.064
that it will handle all this stuff.

00:01:19.224 --> 00:01:22.724
And, USB gets a little weird
when you go through powered and

00:01:22.724 --> 00:01:24.614
unpowered hubs and all of this.

00:01:24.624 --> 00:01:29.074
And there's another tool that I've
got the Elgato stream deck that

00:01:29.134 --> 00:01:32.834
is sitting here and I think it's
bricked  like when I plug it in and

00:01:32.834 --> 00:01:37.094
I ran some like terminal commands, it
shows up, but it doesn't show up as.

00:01:37.589 --> 00:01:38.769
A stream deck.

00:01:38.769 --> 00:01:42.109
It just shows up as like this
very specific hardware number.

00:01:42.679 --> 00:01:44.209
And so I reached out to support.

00:01:44.209 --> 00:01:46.449
Cause I was like, I
don't know what happened.

00:01:46.459 --> 00:01:48.239
there's no factory reset button.

00:01:48.239 --> 00:01:51.189
There's no, it doesn't
show up in my machine.

00:01:51.189 --> 00:01:54.209
And I don't, I think this is like
a thing I've been thinking about a

00:01:54.209 --> 00:01:58.159
lot lately is I have a lot of old
tech that I don't have easy ways

00:01:58.169 --> 00:02:00.309
of disposing in a responsible way.

00:02:00.889 --> 00:02:04.699
And I don't want the stream deck to just
become a part of that like I actually

00:02:04.699 --> 00:02:08.379
want to use it And I don't want to go
buy another one and then have this one

00:02:08.379 --> 00:02:12.849
that's sitting here bricked if it can be
fixed so i've been trying to lean into

00:02:12.849 --> 00:02:17.919
the fixing things that I have and making
use of them versus buying new things,

00:02:17.949 --> 00:02:22.929
but I definitely have a drawer of things
with batteries in them and old, Old

00:02:23.189 --> 00:02:26.089
fitness bands and old Android phones.

00:02:26.089 --> 00:02:30.029
And I have a windows phone and a
Facebook phone, all these things

00:02:30.029 --> 00:02:31.489
that don't even work anymore.

00:02:31.539 --> 00:02:33.159
because they were like failed projects.

00:02:33.219 --> 00:02:35.089
CJ: The graveyard of electronics.

00:02:35.109 --> 00:02:38.329
There's just like a drawer that's
got the label on it, like cell

00:02:38.329 --> 00:02:39.689
phone graveyard or something.

00:02:40.679 --> 00:02:40.949
Colin: Yeah.

00:02:40.949 --> 00:02:44.299
You probably have the same problem,
but I have More cables than I

00:02:44.299 --> 00:02:45.599
know what to do with as well.

00:02:45.599 --> 00:02:49.259
And so I'm trying to figure out, like,
how many USBC cables do you really need?

00:02:49.329 --> 00:02:52.399
How many, cables, as soon as you get
rid of it, you're going to realize

00:02:52.409 --> 00:02:56.769
it was like a proprietary cable that
you needed for some specific thing.

00:02:57.239 --> 00:02:59.049
but just having less of those things.

00:02:59.049 --> 00:03:03.529
And we've been trying to figure out, can
we do like a repair slash e waste, like

00:03:03.529 --> 00:03:05.739
recycling event at the coworking space?

00:03:05.739 --> 00:03:08.619
Just because I know this is like
something a lot of people have.

00:03:08.659 --> 00:03:11.109
I also don't necessarily want
to fix everyone's things, but.

00:03:11.674 --> 00:03:14.854
There's some things where we can be like,
Oh yeah, that's definitely dead on arrival

00:03:14.854 --> 00:03:16.614
and let's recycle it in a good way.

00:03:17.004 --> 00:03:20.584
and unfortunately, like most of the
ways of doing that in Reno have closed.

00:03:20.594 --> 00:03:24.004
So it's an interesting thing
where it's we want to be more.

00:03:24.519 --> 00:03:29.649
environmentally conscious and aware
and yet it's not made easy to do that.

00:03:29.659 --> 00:03:30.039
So

00:03:31.024 --> 00:03:31.354
CJ: Yeah.

00:03:31.354 --> 00:03:35.614
It's interesting because I feel like
it is, the path of least resistance

00:03:35.634 --> 00:03:38.124
is just throw it in the trash
and like it ends up in a landfill

00:03:38.124 --> 00:03:39.744
and causes all kinds of issues.

00:03:40.414 --> 00:03:43.844
And to do any sort of responsible.

00:03:43.919 --> 00:03:46.489
Disposal of any
electronics is such a pain.

00:03:46.809 --> 00:03:49.649
I think Best Buy at some time,
at some point had a program

00:03:49.649 --> 00:03:50.699
where you could throw stuff away.

00:03:50.699 --> 00:03:53.289
They had an e waste thing, but I know like

00:03:53.579 --> 00:03:55.009
Colin: them and Target do.

00:03:55.529 --> 00:03:57.289
that might be an option for us.

00:03:57.839 --> 00:03:58.449
CJ: nice.

00:03:58.969 --> 00:04:02.339
We had a local, our local dump
here in Bedford, New Hampshire

00:04:02.349 --> 00:04:04.329
has a community e waste day.

00:04:04.339 --> 00:04:07.499
It's once I want to say it's like once
a month or something  a lot of people

00:04:07.499 --> 00:04:09.399
here don't have their trash picked up.

00:04:09.409 --> 00:04:12.789
There's like private companies, like
third parties, you can hire to come pick

00:04:12.789 --> 00:04:16.959
your trash up, but most people just bring
their own trash to the transfer center.

00:04:17.569 --> 00:04:19.879
And so it's a little bit
different where like we have.

00:04:21.389 --> 00:04:26.319
A community run dump where you go and
there's a lion's club sponsored bin where

00:04:26.319 --> 00:04:28.239
you can put your clean plastic bags.

00:04:28.259 --> 00:04:31.699
And there's a, place where you can put all
your yard waste and there's a place where

00:04:31.699 --> 00:04:35.279
you can put, your food scraps and they do
certain things with the food scrap stuff.

00:04:35.279 --> 00:04:35.709
it's I don't know.

00:04:35.709 --> 00:04:37.859
I liked that when we got here,
it was, definitely different

00:04:37.859 --> 00:04:40.499
from coming from big cities where
there's just waste management,

00:04:41.389 --> 00:04:44.899
Colin: it's more intentional it sounds
like too, like you know where it's

00:04:44.899 --> 00:04:48.814
going to end up versus A lot of that
stuff just ends up in the same trash

00:04:48.814 --> 00:04:53.114
can  we have single stream here and you
know The argument is that most of the

00:04:53.114 --> 00:04:57.824
recycling that gets doesn't get recycled
It ends up in a landfill somewhere or

00:04:57.824 --> 00:05:01.734
sold to another country and then becomes
their problem Which is the weirdest

00:05:01.734 --> 00:05:04.354
thing I think we made out of Recycling.

00:05:04.864 --> 00:05:05.164
CJ: Yeah.

00:05:06.244 --> 00:05:10.484
we were one of the topics that we had on
the slate today was to talk about money,

00:05:11.014 --> 00:05:15.584
but we're thinking maybe we'll just tease
an episode and tell you that in a future

00:05:15.584 --> 00:05:17.104
episode, we will be talking about money.

00:05:17.104 --> 00:05:20.524
We want to just share, our own
experience and our own thoughts

00:05:20.524 --> 00:05:22.719
around how we're using money.

00:05:23.039 --> 00:05:27.599
but if you have ideas about what specific
money topics you might be interested in

00:05:27.599 --> 00:05:31.779
hearing, please hit us up, let us know so
that we can talk about those on the show.

00:05:32.069 --> 00:05:34.199
So stay tuned for that,

00:05:34.669 --> 00:05:38.759
Colin: I think framing the money thing
into the build and learn, like with a

00:05:38.769 --> 00:05:42.539
build and learn lens will be interesting
too, because I think you and I both

00:05:42.579 --> 00:05:45.499
talked about wanting to bootstrap things.

00:05:45.499 --> 00:05:50.284
We've worked at Startups that are
venture backed we've worked in now

00:05:50.294 --> 00:05:54.664
I can now say that I've also now I'm
in  a larger startup like later stage

00:05:54.664 --> 00:05:59.794
startup where, money in stocks and
benefits and all the things that go along

00:05:59.794 --> 00:06:01.114
with those are they're all different.

00:06:01.204 --> 00:06:05.224
And freelancing and start small
stage startups and tech stars

00:06:05.224 --> 00:06:07.754
and YC startups, all these
different things are so different.

00:06:07.754 --> 00:06:10.804
And so I think we, it'll be interesting
to talk about like how some of that's

00:06:10.954 --> 00:06:13.024
been different over the years for us too.

00:06:13.024 --> 00:06:15.854
And, I don't know if we mentioned
it on the show, but I used to do it

00:06:15.854 --> 00:06:17.664
podcasts about getting out of debt.

00:06:17.684 --> 00:06:20.614
And so we can definitely touch on that
in that episode too, when we get there.

00:06:20.614 --> 00:06:24.034
looking forward to that, but, promise that
the show is not going to become like a.

00:06:24.359 --> 00:06:27.839
whatever CJ and Colin want to talk
about today, we are still trying to

00:06:27.839 --> 00:06:30.029
frame it under the, build and learn.

00:06:30.029 --> 00:06:33.799
And, that is going to encompass
things that touch us as software

00:06:33.799 --> 00:06:38.039
developers, but also as we start
to just develop our careers even

00:06:38.039 --> 00:06:39.949
more, like where does that take us?

00:06:39.949 --> 00:06:43.689
And, and definitely curious what
you're wondering about if you're

00:06:43.819 --> 00:06:46.239
listening to this, so let us know.

00:06:46.689 --> 00:06:49.879
CJ: Yeah, it's a, I think it's like
when we talk about money in personal

00:06:49.879 --> 00:06:53.119
finances and we talk, even when we
talk about weight loss or we've talked

00:06:53.129 --> 00:06:57.159
about your sort of like running stuff
and we've talked about vacationing and

00:06:57.159 --> 00:06:58.559
taking breaks, like all of this is.

00:06:58.789 --> 00:07:02.679
Also definitely related to personal
development and you're building your

00:07:02.679 --> 00:07:04.599
own life that you want to experience.

00:07:04.599 --> 00:07:08.779
And a lot of it comes back to like
our careers as software developers

00:07:08.779 --> 00:07:11.979
and engineers, but we're doing it so
that we can have these awesome lives.

00:07:13.699 --> 00:07:17.379
Colin: I think we often put a lot of
that off like an early career, right?

00:07:17.599 --> 00:07:20.649
We figure we can catch up later
and it's like catching up on

00:07:20.649 --> 00:07:22.499
health, extremely difficult.

00:07:22.499 --> 00:07:25.789
Catching up on money and things
like that also can be a challenge.

00:07:25.839 --> 00:07:27.799
yeah, I think there's a lot that we can.

00:07:28.374 --> 00:07:32.034
either worn against, but also not
necessarily give it financial advice.

00:07:32.084 --> 00:07:32.814
this worked for us.

00:07:32.814 --> 00:07:33.694
This didn't work for us.

00:07:33.704 --> 00:07:34.504
Things we would do.

00:07:34.734 --> 00:07:37.504
I actually think about this a lot
when I think about could I ever go

00:07:37.504 --> 00:07:39.434
back to consulting and freelancing?

00:07:39.434 --> 00:07:43.574
And I don't know, I don't know if I
could, I would do it very differently,

00:07:43.894 --> 00:07:45.734
which might be a whole other episode.

00:07:46.204 --> 00:07:50.074
And then I was just listening to the
latest episode of Build Your Sass from,

00:07:50.174 --> 00:07:53.414
and Justin Jackson was interviewing
Paul Jarvis, or they were doing a

00:07:53.414 --> 00:07:56.904
catch up, much like we are, just
because they hadn't talked in a while.

00:07:56.954 --> 00:08:01.494
and that got me rethinking again
about this whole idea of the

00:08:01.494 --> 00:08:04.334
episode was like gaining freedom
by building an indie business.

00:08:04.334 --> 00:08:07.844
And it's still something that's swirling
around in my head, all the time.

00:08:07.844 --> 00:08:09.344
And it plays a lot into money.

00:08:09.344 --> 00:08:11.634
So maybe we'll save that
for that episode as well.

00:08:11.999 --> 00:08:13.639
CJ: Yeah, it's interesting too.

00:08:13.639 --> 00:08:16.839
I saw Jason Charns, from
the remote Ruby podcast.

00:08:16.889 --> 00:08:19.759
He just tweeted, I've been
building my side project for six

00:08:19.779 --> 00:08:21.979
years and I just am so tired.

00:08:21.979 --> 00:08:23.289
Like I just want it to work.

00:08:23.299 --> 00:08:26.619
And man, everyone in the comments was
resonating so hard with that because

00:08:26.619 --> 00:08:31.679
I think a lot of people, especially
in tech are dreaming about having

00:08:32.169 --> 00:08:35.879
an indie side hustle that, takes
over and gives them independence.

00:08:35.879 --> 00:08:37.339
And that might be fun to get into.

00:08:37.349 --> 00:08:39.569
Also, it'd be cool to have
Jason come on the show.

00:08:39.759 --> 00:08:41.539
,
Colin: me more about this
weight loss challenge

00:08:41.584 --> 00:08:42.114
CJ: Oh yeah.

00:08:42.114 --> 00:08:42.454
Okay.

00:08:42.484 --> 00:08:46.984
I almost skipped over it, but
yeah, so I broke my ankle.

00:08:46.984 --> 00:08:48.284
We've talked about this on the show.

00:08:48.344 --> 00:08:51.544
now it was probably like 20 months
ago or something and it's still

00:08:51.544 --> 00:08:55.184
sore, but, I was looking at my
fitness pal and just like my general

00:08:55.184 --> 00:08:58.384
weight and I gained over 20 pounds.

00:08:58.834 --> 00:09:03.224
After I broke my ankle and it was
just like hung around since then.

00:09:03.254 --> 00:09:09.224
And I am trying to get like more
intentional about losing that extra

00:09:09.224 --> 00:09:11.224
weight, for a bunch of reasons.

00:09:11.324 --> 00:09:17.079
but yeah, mainly it's just I want to be at
a healthy weight and feel, feel like I'm.

00:09:17.779 --> 00:09:21.329
Able to run around and jump and, jump
out of the back of the truck when

00:09:21.329 --> 00:09:22.459
I'm going to the dump or whatever.

00:09:22.459 --> 00:09:27.289
And just not have my knees, like
given out things, just like playing

00:09:27.289 --> 00:09:30.269
with the kids and also being able to
sleep better and things like that.

00:09:30.739 --> 00:09:34.529
So this weight loss challenge was,
it's actually organized by someone

00:09:34.529 --> 00:09:38.009
that's in a Peloton dads group.

00:09:38.119 --> 00:09:40.329
So it's like a super
niche inside of a niche.

00:09:40.329 --> 00:09:44.529
It's like dads who want to lose
weight, who are also into Peloton,

00:09:44.869 --> 00:09:47.419
who are also like on this one,
like Facebook group or whatever.

00:09:47.419 --> 00:09:49.869
But, the way that it's set
up, I think is really good.

00:09:49.889 --> 00:09:51.749
And the way that it was presented is.

00:09:51.904 --> 00:09:52.604
pretty powerful.

00:09:52.604 --> 00:09:56.704
there's these statistics about how
likely you are to actually accomplish

00:09:56.704 --> 00:10:01.224
something depending on, a bunch of
factors related to accountability.

00:10:01.474 --> 00:10:05.594
So if you just have an idea, you're
maybe 5% likely to do something.

00:10:05.604 --> 00:10:09.374
If you say, if you tell someone you're
going to do something, you're maybe 10%.

00:10:09.994 --> 00:10:15.744
If you have a plan, you like jumps to 40%
and then if you have a specific plan that

00:10:15.744 --> 00:10:18.624
you're going to do something by a specific
date and you have someone who's going to

00:10:18.624 --> 00:10:24.114
hold you accountable, then you're like
95% likely to achieve some, some goal.

00:10:24.144 --> 00:10:28.084
And the program is in, it's done
in eight week sessions or eight

00:10:28.084 --> 00:10:31.414
week cohorts and everyone comes up
with smart goals in the beginning.

00:10:31.814 --> 00:10:36.394
those are, specific, measurable,
attainable, realistic, and time bound.

00:10:36.844 --> 00:10:41.604
And, you've got to say, I'm going
to lose this much weight by eating

00:10:41.914 --> 00:10:44.754
the, this many calories per day and.

00:10:45.264 --> 00:10:49.054
Exercising at least five days a
week and whatever, come up with the

00:10:49.084 --> 00:10:50.694
five different rules for yourself.

00:10:51.114 --> 00:10:55.044
And then you're put into these
little small groups where you have

00:10:55.044 --> 00:10:56.994
a thread, a text thread with other.

00:10:57.284 --> 00:11:00.694
Dad's from the group and every
single day you're sending each other.

00:11:00.694 --> 00:11:02.814
This is like a picture of
what I'm eating right now.

00:11:03.184 --> 00:11:06.634
And then, a snapshot of your,
like my fitness pal diary with

00:11:06.634 --> 00:11:08.314
here's the food that I ate today.

00:11:08.314 --> 00:11:10.394
And, I'm over or, Oh, I'm under.

00:11:10.394 --> 00:11:13.594
And it's been really cool to like,
just get the support and accountability

00:11:13.594 --> 00:11:18.624
from these other people who are going
through the same thing and, making

00:11:18.624 --> 00:11:20.384
suggestions like, Oh, Hey, I would like.

00:11:20.724 --> 00:11:25.274
go from two tortillas to one tortilla,
or like I would, try, swapping out

00:11:25.274 --> 00:11:28.564
your milk in your latte to this other
milk or whatever, like just like little

00:11:28.584 --> 00:11:33.124
kind of things that people, are able
to help you out with, and so I've,

00:11:33.154 --> 00:11:34.234
I don't know, I'm pumped about it.

00:11:34.234 --> 00:11:40.314
Right now I am 245 pounds and so we can
check in, we can check in eight weeks

00:11:40.354 --> 00:11:41.854
and you can hold me accountable too.

00:11:42.134 --> 00:11:44.234
So I'm trying to lose
15 pounds so we'll see

00:11:44.289 --> 00:11:45.789
Colin: it's out there on the show now.

00:11:46.004 --> 00:11:47.254
CJ: yeah, so we'll see,

00:11:47.329 --> 00:11:49.859
Colin: I really liked that from,
we've done a lot of work with like

00:11:49.859 --> 00:11:52.459
atomic habits from James clear and.

00:11:53.014 --> 00:11:53.964
It's a good book.

00:11:54.014 --> 00:11:58.994
I think like the, if you're interested in
this kind of stuff, like listening to an

00:11:59.004 --> 00:12:03.704
interview with him on a podcast, like the
ground up show has a really good podcast,

00:12:03.804 --> 00:12:06.764
with him, where it's just very inspiring.

00:12:06.804 --> 00:12:09.234
And one of my favorite quotes
by him is you do not rise

00:12:09.284 --> 00:12:10.464
to the level of your goals.

00:12:10.464 --> 00:12:14.574
You fall to the level of your systems
is that you have this system, right?

00:12:14.574 --> 00:12:17.474
Of people that you're checking in
with, they are checking in with you.

00:12:17.884 --> 00:12:19.854
You all agree that you're
going to share to that.

00:12:20.034 --> 00:12:22.784
channel and it helps.

00:12:22.854 --> 00:12:25.354
And I think a lot of people
try to get through these goals

00:12:25.354 --> 00:12:27.084
with like by sheer willpower.

00:12:27.664 --> 00:12:31.134
And at the end of the day after
all the work and all the meetings

00:12:31.134 --> 00:12:34.314
and all the things you got to do
and you're all the life things like

00:12:34.314 --> 00:12:35.754
your willpower is pretty tapped.

00:12:35.754 --> 00:12:39.714
And then it's easy to, be like, Oh, I
have this goal, but I want to do that.

00:12:39.714 --> 00:12:43.104
And so having a system in place
where you cannot fall below

00:12:43.104 --> 00:12:44.914
that level is super powerful.

00:12:44.914 --> 00:12:49.054
And, Yeah, that's awesome and
happy to help hold you accountable.

00:12:49.054 --> 00:12:52.744
I think for me, I've always
struggled with like consistency.

00:12:52.744 --> 00:12:56.864
Like I'll do my running or I'll
start, doing kettlebells or something,

00:12:56.864 --> 00:13:00.784
but then I like completely fall
off the wagon or hurt myself or get

00:13:00.784 --> 00:13:02.534
obsessed with some other fascination.

00:13:02.534 --> 00:13:07.224
and that 1% every, better every day
type of thing, adds up over time.

00:13:07.314 --> 00:13:08.394
CJ: totally, yeah.

00:13:08.624 --> 00:13:11.224
Is there something that you're working
on right now or are you, you're

00:13:11.224 --> 00:13:14.854
in like the resetting phase or do
you have anything on the horizon,

00:13:14.854 --> 00:13:16.184
whether it's fitness or otherwise?

00:13:16.904 --> 00:13:22.444
Colin: for me it's just wanting to get a
better sense of like, when I'm done with

00:13:22.444 --> 00:13:27.574
work, turning off the screens, not then
going home, and then sitting in front of

00:13:27.784 --> 00:13:32.194
the second screen, and falling into like
video games and things, hikes, spikes.

00:13:32.844 --> 00:13:36.514
running, whatever it is, just
getting out a little bit more.

00:13:36.514 --> 00:13:43.144
So no specific goal or anything right now,
but, just, I think like my last job, I

00:13:43.144 --> 00:13:45.544
was just, and it was not the work's fault.

00:13:45.544 --> 00:13:48.984
It was me and pressure I put
on myself, but I didn't really

00:13:48.984 --> 00:13:50.444
have a, my brain never stopped.

00:13:50.444 --> 00:13:52.554
So I was always, because we were.

00:13:52.809 --> 00:13:55.459
So remote and distributed
like all around the world.

00:13:55.459 --> 00:13:58.009
Like I would wake up to
all these notifications.

00:13:58.359 --> 00:14:01.259
I go to bed with the other team
waking up and it was like, I never

00:14:01.259 --> 00:14:03.399
felt like I was stopping work.

00:14:03.479 --> 00:14:08.789
Um, and  changing jobs and then focusing
on making sure that five, six o'clock,

00:14:08.799 --> 00:14:12.559
whatever, depending on what I did
that day, it's time to go outside.

00:14:12.794 --> 00:14:13.694
Time to go do something.

00:14:14.134 --> 00:14:15.324
CJ: Yeah, absolutely.

00:14:15.864 --> 00:14:20.474
I think in the last episode you talked
about the discord app that you're building

00:14:21.034 --> 00:14:24.254
on cloudflare workers for Google calendar.

00:14:24.354 --> 00:14:26.484
Is this the same one that
you're working on now?

00:14:27.219 --> 00:14:27.709
Colin: it is.

00:14:27.709 --> 00:14:28.019
Yeah.

00:14:28.019 --> 00:14:33.159
So I've been playing with the calendar
API Learning that all the different

00:14:33.159 --> 00:14:36.669
things that cloudflare workers can do
they're very similar to lambdas aws

00:14:36.669 --> 00:14:41.639
lambdas but I find myself like now
i'm now that i'm doing google calendar

00:14:41.649 --> 00:14:44.709
I think we I don't know if we talked
about this on show or post show last

00:14:44.709 --> 00:14:48.899
week But like i'm working on how to get
reminders for when you have a meeting

00:14:48.909 --> 00:14:50.519
like we're recording this podcast.

00:14:50.579 --> 00:14:56.134
I want to get A DM like a minute or
two before the meeting to say like

00:14:56.644 --> 00:14:58.594
meeting with CJ or podcast time.

00:14:59.384 --> 00:15:04.484
And there's a bunch involved there
with talking to the API, storing the

00:15:04.484 --> 00:15:08.444
upcoming events, making sure that
none of those events have changed.

00:15:08.444 --> 00:15:13.394
If you like subscribing to webhooks for
creating, editing and deleting events.

00:15:13.874 --> 00:15:17.084
and then having some sort of
cron that goes and checks every

00:15:17.084 --> 00:15:20.194
minute to see if there's like an
event happening in two minutes.

00:15:20.719 --> 00:15:23.719
But you also don't want to send
a notification more than once.

00:15:23.959 --> 00:15:26.769
So there's a whole bunch of stuff
there that like, I feel like I'm

00:15:26.769 --> 00:15:29.789
building a calendar app, even though
I'm syncing with a calendar app.

00:15:31.199 --> 00:15:32.419
So it's been interesting.

00:15:32.944 --> 00:15:33.124
CJ: Yeah.

00:15:33.124 --> 00:15:37.484
We were talking about how that, like that
problem is actually pretty common, right?

00:15:37.484 --> 00:15:40.554
there's an event that's coming up,
whether that's a booking, like an

00:15:40.574 --> 00:15:45.624
Airbnb booking or that you need to send
guests communication before, during

00:15:45.624 --> 00:15:49.694
and after the booking or a paint Job,
like we're dealing with a craft work

00:15:49.694 --> 00:15:53.324
where like the paint jobs coming up
and we want to send people certain like

00:15:53.324 --> 00:15:58.704
nurture emails up into, up to the day
that we start painting in this case.

00:15:58.704 --> 00:16:01.124
It's a, I think in your case,
it's much more granular.

00:16:01.124 --> 00:16:04.714
And so like the room for error is smaller
because you want to send it like, boom,

00:16:04.714 --> 00:16:07.884
like two minutes right before the thing
starts, whereas ours might be like

00:16:07.914 --> 00:16:11.254
hours before and, or even days before.

00:16:11.314 --> 00:16:15.094
And do you have a sense for
the direction that you're.

00:16:15.294 --> 00:16:17.934
Solving, like how you're gonna
solve it, what you're storing and

00:16:18.399 --> 00:16:19.599
Colin: well, the thing that's interesting.

00:16:19.599 --> 00:16:21.229
I was like, oh, I need to
store all these events.

00:16:21.239 --> 00:16:24.999
And I'm like, I actually only
need to store today's events.

00:16:26.019 --> 00:16:27.579
Because I don't really
care about tomorrow.

00:16:27.739 --> 00:16:30.319
Because I can't I'm not going
to alert on tomorrow yet.

00:16:30.829 --> 00:16:34.819
And so I think and I need to write
this out first, but I think I'm going

00:16:34.819 --> 00:16:40.574
to have like, when you first off
you subscribe to The calendars, you

00:16:40.574 --> 00:16:44.024
actually do get new events, but you
don't automatically, you didn't have

00:16:44.024 --> 00:16:45.694
to go get all the existing events.

00:16:46.224 --> 00:16:49.144
So I show you the
existing events for today.

00:16:49.154 --> 00:16:53.474
Anyway, I also want to subscribe to event
changes in case any of them are canceled,

00:16:53.864 --> 00:16:57.154
move, whatever changes happen, right?

00:16:57.154 --> 00:17:01.054
If a meeting moves to right now,
then we'll probably miss that one.

00:17:01.054 --> 00:17:04.984
But Oh, like those edge cases, I'm
not going to try to catch necessarily.

00:17:05.464 --> 00:17:07.874
But I don't think it should
be much of an issue there.

00:17:08.054 --> 00:17:10.884
The thing that's interesting is
for me, coming from I've worked

00:17:10.884 --> 00:17:15.144
with lambdas before and I like
the way Cloudflare workers work.

00:17:15.144 --> 00:17:18.074
You have a server that has
got like a really small route.

00:17:18.174 --> 00:17:23.214
You can have multiple routes to it,
but you can't run, like you have to

00:17:23.214 --> 00:17:25.114
run a different worker to do your cron.

00:17:25.234 --> 00:17:29.964
And so you have to create like a queue
that all of these are connected to.

00:17:29.984 --> 00:17:31.524
And so then one worker can.

00:17:31.739 --> 00:17:36.149
Send a message on the queue, then
the other worker can go process it.

00:17:36.199 --> 00:17:40.599
Or you can have another worker that's
just croning to do the checking to

00:17:40.599 --> 00:17:41.969
see if you need to tell anybody.

00:17:42.349 --> 00:17:45.709
And then you need to have a
database or like a key value

00:17:45.709 --> 00:17:46.929
store between all of these.

00:17:46.959 --> 00:17:53.299
And so right now I've got, I'm using
Cloudflare's KV store for who you are

00:17:53.299 --> 00:17:55.569
and who you are connected to in Google.

00:17:55.979 --> 00:17:57.549
And then I'm using Postgres.

00:17:57.939 --> 00:17:59.669
right now I'm using this really cool new.

00:17:59.994 --> 00:18:01.584
Company called neon dot tech.

00:18:02.254 --> 00:18:05.394
and they've got an integration of
cloudflare, which is how I found them.

00:18:05.394 --> 00:18:10.534
But it's like a It's a postgres
serverless postgres design for

00:18:10.794 --> 00:18:12.394
Distributed serverless apps.

00:18:12.474 --> 00:18:17.004
and so it's really cool to see like
Innovation still happening in this world

00:18:17.004 --> 00:18:21.734
where, I used to love Heroku and how
easy it was to, throw a database onto it.

00:18:22.534 --> 00:18:25.814
But surprisingly, you don't
see anyone recommending Heroku

00:18:25.824 --> 00:18:27.304
for anything these days, right?

00:18:27.304 --> 00:18:30.604
You don't see in the dev docs,
like, how to spin up a Heroku

00:18:30.604 --> 00:18:31.604
app with a Heroku database.

00:18:31.739 --> 00:18:34.309
It's here's CloudFlare, here's
Fly, here's Render, here's

00:18:34.429 --> 00:18:36.109
literally everything but Heroku.

00:18:36.129 --> 00:18:38.989
So I think that's a sad state
of the world, especially from

00:18:38.989 --> 00:18:40.529
how we're like the two of us.

00:18:40.559 --> 00:18:44.209
I know we, we grew alongside
of Heroku for so long.

00:18:45.204 --> 00:18:47.174
CJ: I think, it's sad.

00:18:47.254 --> 00:18:51.224
I still have some old stuff on
Heroku, but all the new stuff seems

00:18:51.224 --> 00:18:54.394
to be running pretty well for me,
at least on Vercel and render.

00:18:54.394 --> 00:18:56.294
So fingers crossed.

00:18:56.614 --> 00:18:57.024
Yeah.

00:18:57.054 --> 00:18:59.894
We'll keep, using that, but
neon tech detect that sounds,

00:18:59.914 --> 00:19:02.494
is it similar to super base or

00:19:03.184 --> 00:19:07.734
Colin: so like super base is more for,
if I understand correctly, like more

00:19:07.734 --> 00:19:10.144
like a Firebase, this is just Postgres.

00:19:10.144 --> 00:19:15.314
So you can, you run this issue when
you're doing serverless where you might

00:19:15.324 --> 00:19:20.524
have lots of instances of a worker
connected into a Postgres and you run

00:19:20.524 --> 00:19:22.484
into connect too many connections.

00:19:22.494 --> 00:19:24.154
So you have to do connection pooling.

00:19:24.154 --> 00:19:27.254
There's like all of these things
where it's I just wanted to build

00:19:27.254 --> 00:19:31.294
this little Google calendar app
and I am now dealing with, at.

00:19:31.749 --> 00:19:34.939
I'm also preemptively thinking
about lots of people using it.

00:19:34.949 --> 00:19:40.779
So a little bit of preemptive scaling
here, but you can't have lots and

00:19:40.779 --> 00:19:44.069
lots of workers connecting to a
Postgres without connection pooling

00:19:44.349 --> 00:19:46.569
and thinking about that, even if it's.

00:19:47.419 --> 00:19:48.719
for a second to go check.

00:19:48.739 --> 00:19:52.569
And even right now, I'm like, okay, if
you ask what events do you have today,

00:19:52.959 --> 00:19:55.939
I'm just going to go talk to Google
and return what events you have today.

00:19:55.939 --> 00:19:59.409
I'm not going to go store that
and try to keep that in sync.

00:19:59.759 --> 00:20:03.009
I only am storing events
for notifications.

00:20:03.289 --> 00:20:07.989
I would love if Google could tell me
that an event is happening, but then you

00:20:07.989 --> 00:20:09.779
run into also like you might miss it.

00:20:09.779 --> 00:20:10.159
You might.

00:20:10.504 --> 00:20:11.974
You know get it on accident.

00:20:11.974 --> 00:20:16.254
There's a bunch of reasons probably why
they don't do that The cool thing that I

00:20:16.254 --> 00:20:19.694
like about neon though is that they have
this idea where you create one database

00:20:19.714 --> 00:20:24.904
and you can branch it So it's probably
similar to having a dev and a staging

00:20:24.904 --> 00:20:29.554
and a production But like I have one
database that has a dev branch a staging

00:20:29.554 --> 00:20:33.899
branch and a production branch and they
all have different connection URLs and

00:20:33.969 --> 00:20:37.149
you can have, I don't know technically
if it's the same database under the

00:20:37.149 --> 00:20:41.079
hood or what's going on there, but it
makes it really easy to like branch

00:20:41.079 --> 00:20:46.179
in a situation, create a new timeline
and then revert over to it, backup,

00:20:46.679 --> 00:20:50.759
restore to that branch, things like
that as a database too, which is cool.

00:20:51.304 --> 00:20:51.884
CJ: That's cool.

00:20:51.914 --> 00:20:52.134
Yeah.

00:20:52.134 --> 00:20:53.364
Planet scale.

00:20:53.384 --> 00:20:57.224
So we use planet scale, as the
backing for our next JS site.

00:20:57.254 --> 00:21:00.424
And it also has that branching
feature, which was new to me.

00:21:00.424 --> 00:21:01.784
It was like the first time I'd seen that.

00:21:01.844 --> 00:21:04.324
yeah, I think planet
scale is my SQL though.

00:21:04.324 --> 00:21:09.914
It's not Postgres and I love Postgres, so
I am definitely intrigued by, This neon.

00:21:10.094 --> 00:21:15.374
tech, I'm sad to see that they
don't have rails on their guides.

00:21:15.374 --> 00:21:18.564
They have Prisma, Django, Go, Hasura.

00:21:19.324 --> 00:21:20.564
They have Laravel and Next.

00:21:20.564 --> 00:21:22.954
js and they don't have rails.

00:21:22.954 --> 00:21:24.424
They need a rails guide here.

00:21:25.154 --> 00:21:25.854
Come on neon.

00:21:26.314 --> 00:21:26.574
But,

00:21:26.624 --> 00:21:31.694
Colin: I think I understand why someone
would not necessarily pick rails like

00:21:31.704 --> 00:21:35.704
in a world for very much like most of
the serverless stuff is not in rails.

00:21:35.864 --> 00:21:36.984
That's probably why.

00:21:37.554 --> 00:21:42.584
CJ: So it sounds like the problem
that I always wondered about too, with

00:21:42.594 --> 00:21:47.434
serverless and these edge functions
was like, at some point you have to

00:21:47.434 --> 00:21:48.834
go back and talk to the database.

00:21:49.224 --> 00:21:53.294
So maybe neon is abstracting over that
and making it so that you can have.

00:21:53.619 --> 00:21:56.009
A database closer to,

00:21:58.074 --> 00:22:00.304
Colin: Yeah, that part I'm
not thinking about too much.

00:22:00.334 --> 00:22:04.584
I'm using the KV store, the key
value store for the, who you

00:22:04.584 --> 00:22:10.054
are, because I need it to be
everywhere and fast and accessible.

00:22:10.474 --> 00:22:13.784
The Postgres, because it's mostly
going to be in backgrounds,

00:22:13.844 --> 00:22:15.204
I'm not as worried about it.

00:22:16.784 --> 00:22:20.134
It's going to be like background
workers for storing tomorrow's events.

00:22:20.134 --> 00:22:23.454
Like I think, I'm sure there'll be some
sort of flaw in this, but I was thinking

00:22:23.454 --> 00:22:29.834
like a midnight cron, which is challenging
because time zones, but like a nighttime

00:22:29.834 --> 00:22:34.834
cron for each user at their nighttime,
or however, that's going to be that just

00:22:34.844 --> 00:22:38.094
checks to see if they have any upcoming
events that we don't already know about.

00:22:38.504 --> 00:22:41.074
That's the thing where it's some
of the events are coming in through

00:22:41.074 --> 00:22:44.634
a webhook because they got put on
your calendar at the end of the day.

00:22:44.924 --> 00:22:46.464
And then some of them aren't.

00:22:47.284 --> 00:22:50.824
going to be, or maybe I'll throw
them away if I, if they're not for

00:22:50.824 --> 00:22:52.494
today, I have to figure that out.

00:22:52.824 --> 00:22:54.994
Cause I guess something gets put
on your calendar and two weeks from

00:22:54.994 --> 00:22:56.204
now, I don't really want to store it.

00:22:56.764 --> 00:22:58.744
until two weeks from now.

00:22:59.534 --> 00:23:01.514
so yeah, calendars, they're fun.

00:23:02.109 --> 00:23:04.889
CJ: calendaring and
dates are just so tough.

00:23:04.929 --> 00:23:07.199
Like it's, it sounds like a
fun little project though.

00:23:07.699 --> 00:23:10.419
that, is probably exploding out to
be way more than a little project.

00:23:11.354 --> 00:23:11.874
Colin: A little bit.

00:23:11.874 --> 00:23:12.214
Yeah.

00:23:12.264 --> 00:23:14.424
it's helping me to learn
some of the Discord stuff.

00:23:14.454 --> 00:23:16.594
And then I'm viewing it on
Cloudflare because it's one

00:23:16.594 --> 00:23:18.014
of the vendors that we do use.

00:23:18.454 --> 00:23:22.834
Like I can't go use Versal or some
of these things without like vendor.

00:23:23.024 --> 00:23:24.244
I just don't think it's even possible.

00:23:24.244 --> 00:23:29.514
So I think we can do things on Google,
GCP pretty easily, but we have more of a

00:23:29.644 --> 00:23:31.874
push towards doing things on CloudFlare.

00:23:31.874 --> 00:23:36.254
It's easier to deploy to and try
not to run VMs and things like that.

00:23:36.264 --> 00:23:39.634
and Google, we can talk about
it later, but like Google Cloud

00:23:39.634 --> 00:23:42.444
run is like an alternative on
Google, which is pretty cool too.

00:23:43.114 --> 00:23:45.114
but yeah, we actually don't use AWS.

00:23:45.144 --> 00:23:46.644
We probably do for something, but

00:23:47.039 --> 00:23:48.439
CJ: Yeah, sounds familiar.

00:23:48.479 --> 00:23:52.349
There's once you get to these big co
tech companies, there's always like

00:23:52.349 --> 00:23:56.369
lists of approved vendors that have gone
through, all of the vetting processes

00:23:56.369 --> 00:24:02.429
and contract review and whatever, to
make sure that everything's cool where

00:24:02.869 --> 00:24:04.499
man at a startup, it's pretty nice.

00:24:04.499 --> 00:24:07.539
We get to just pick and choose
whatever we want to work or work with.

00:24:07.589 --> 00:24:07.729
and

00:24:07.784 --> 00:24:09.644
Colin: You're like, who's going
to give us the best, the most

00:24:09.644 --> 00:24:11.134
credits and the best deal?

00:24:11.134 --> 00:24:15.454
And what can we move away from if
we needed to easily and all of that?

00:24:15.749 --> 00:24:16.239
CJ: Yeah.

00:24:16.509 --> 00:24:18.219
I think it's, it's totally public now.

00:24:18.219 --> 00:24:21.129
I can't remember if we've mentioned
it on, on the podcast, but we did get

00:24:21.139 --> 00:24:27.149
into YC and through Y Combinator, we
get we've, I don't know, we've been

00:24:27.149 --> 00:24:30.909
given so many free credits and things
to different services that have been

00:24:30.909 --> 00:24:34.719
really helpful because it gives you
like, a chance to experiment with

00:24:34.719 --> 00:24:36.609
stuff and like really push its limits.

00:24:37.049 --> 00:24:40.279
Colin: It's nice to not take the
money that YC gives you and then

00:24:40.319 --> 00:24:42.399
just spend it on services, right?

00:24:42.399 --> 00:24:47.089
It's that money can go towards
the team and you get free credits

00:24:47.089 --> 00:24:50.799
to at least get to try to get to
product market fit on credits.

00:24:51.389 --> 00:24:51.689
CJ: Yeah.

00:24:51.689 --> 00:24:52.049
Yeah.

00:24:52.539 --> 00:24:56.779
And yeah, I was like, man, for the
startups who are not in accelerators,

00:24:57.449 --> 00:24:59.919
this is, I feel like it's quite a leg up.

00:24:59.969 --> 00:25:02.999
honestly, like the, all the credits
and stuff you get as part of

00:25:02.999 --> 00:25:06.919
the accelerator and the network
connections, they, I don't know,

00:25:07.059 --> 00:25:08.139
Colin: Yeah, it's pretty crazy.

00:25:08.629 --> 00:25:10.599
Yeah, we got a lot in tech stars.

00:25:11.009 --> 00:25:14.689
Microsoft actually doesn't require you to
be an accelerator for this very reason.

00:25:14.689 --> 00:25:15.919
They're just like use Azure.

00:25:15.959 --> 00:25:19.259
And I think that's because they want
people to use Azure more than anything.

00:25:19.259 --> 00:25:22.779
They're like, if you're a startup,
if you can show us your LLC or

00:25:22.789 --> 00:25:27.119
your incorporation docs, like cool,
we'll give you a lot of credits.

00:25:27.119 --> 00:25:30.719
Because if you grow and successful,
you're probably not going to

00:25:30.719 --> 00:25:32.899
get off that cloud, which is.

00:25:33.194 --> 00:25:34.474
A good gamble for them.

00:25:34.474 --> 00:25:37.594
It's like the first
taste free type of thing.

00:25:37.594 --> 00:25:41.224
CJ: Yeah, I feel like Microsoft does
that all the way down the stack.

00:25:41.244 --> 00:25:45.144
They like give away so much
free stuff to like schools too.

00:25:45.244 --> 00:25:45.334
It's

00:25:45.469 --> 00:25:47.109
Colin: Bundling is yeah.

00:25:47.569 --> 00:25:50.879
They're like, oh, we got to
teach you access in college and

00:25:51.399 --> 00:25:54.179
spreadsheets in Excel and Google doc.

00:25:54.269 --> 00:25:55.739
and then Google's no, no schools.

00:25:55.769 --> 00:25:57.439
We're going to give you
all of our stuff for free.

00:25:57.499 --> 00:25:57.889
CJ: Yeah.

00:25:58.904 --> 00:26:01.954
Yeah,  so Logan just got a, a PC.

00:26:02.104 --> 00:26:06.704
so he's been building and designing like
all these custom gaming PC components,

00:26:06.704 --> 00:26:10.594
and then he was gifted one and just
yesterday, so he's been like switching

00:26:10.604 --> 00:26:14.924
back between his Mac and his PC and
like starting to feel the frustration of

00:26:14.924 --> 00:26:19.094
Oh, it's command, not control for, copy
and paste and little things like that.

00:26:19.114 --> 00:26:22.814
And it's funny cause on the PC he's
using Bing and he's using all like

00:26:22.814 --> 00:26:24.524
the built in stuff, which is just.

00:26:25.089 --> 00:26:27.969
So different than what he's
used to on the Mac and,

00:26:28.019 --> 00:26:30.499
Colin: it's a lot of context
switching, tool switching.

00:26:30.879 --> 00:26:31.379
CJ: Yes.

00:26:31.399 --> 00:26:31.829
Yes.

00:26:31.849 --> 00:26:35.769
But, I like making sure that he's
getting exposure to all that stuff,

00:26:35.789 --> 00:26:40.429
but, so we've been working on
building out this, it's like inventory

00:26:40.429 --> 00:26:44.149
management, project management, CRM tool.

00:26:44.419 --> 00:26:48.339
It's basically like a giant crud app
right now where you can create these

00:26:48.359 --> 00:26:52.609
paint projects and you can create
locations and you can, upload images

00:26:52.619 --> 00:26:55.229
of the rooms that are going to be
painted or the exteriors that are going

00:26:55.229 --> 00:26:56.869
to be painted, cabinets, et cetera.

00:26:57.889 --> 00:27:01.829
And because there's so many little forms
that you need when you're building out

00:27:01.859 --> 00:27:08.809
a project, I wanted to, improve the
usability by adding some like quick ad

00:27:08.809 --> 00:27:13.609
features with modals where you could like,
Oh, let me click this link and it'll pop

00:27:13.609 --> 00:27:18.979
up in a modal that lets me like quick add
a location or, add a room while I'm trying

00:27:18.979 --> 00:27:20.339
to build out an estimate or whatever.

00:27:20.809 --> 00:27:25.489
And so as I was doing that, I was
like, Oh, I think I want to use turbo.

00:27:25.854 --> 00:27:29.664
so like hot wire and like turbo
streams and turbo frames and all this

00:27:29.664 --> 00:27:30.764
stuff to try to make this happen.

00:27:30.764 --> 00:27:32.934
And so I was like, let me
go try to get into this.

00:27:32.954 --> 00:27:35.724
And there's a couple of
interesting bugs that I think

00:27:35.724 --> 00:27:36.974
a lot of people will run into.

00:27:37.474 --> 00:27:37.604
Colin: And

00:27:38.004 --> 00:27:39.984
this is all Rails stuff for

00:27:40.029 --> 00:27:43.219
CJ: yeah, yeah, like you can use
hotwire outside of rails, but

00:27:43.259 --> 00:27:45.219
it's, yeah, I think it might be

00:27:45.244 --> 00:27:45.894
Colin: It came from

00:27:46.039 --> 00:27:48.059
CJ: in some places, but
yeah, came from rails.

00:27:48.719 --> 00:27:54.889
The idea is that you can build more
interactive apps, but you have like full.

00:27:55.284 --> 00:27:57.054
Client server interaction.

00:27:57.064 --> 00:27:59.814
And you build it, you like, you
basically build the application as

00:27:59.814 --> 00:28:06.034
if it's like a dumb server rendered
app, but it uses web sockets, like

00:28:06.034 --> 00:28:10.754
it like upgrades to web sockets when
it can do smart things on the client.

00:28:10.754 --> 00:28:17.404
So The easiest example is if you click
a link, it, will fetch the resulting

00:28:17.404 --> 00:28:22.374
page and then do a diff on the
result and inject only the parts that

00:28:22.374 --> 00:28:24.584
changed, when you clicked that link.

00:28:25.574 --> 00:28:30.624
The, like longer story is that
you can build sort of multiplayer.

00:28:31.014 --> 00:28:34.884
Experiences like you might see in Google
docs where there's like lots of people

00:28:34.884 --> 00:28:39.274
in there typing at the same time using,
these things called turbo streams.

00:28:39.694 --> 00:28:44.534
And the idea is that or the way that,
the jumpstart generators work, cause

00:28:44.534 --> 00:28:48.904
I'm using jumpstart pro as the base
for this is that in every single model,

00:28:49.774 --> 00:28:51.604
there's three after commit hooks.

00:28:51.604 --> 00:28:56.734
So if you create update or delete
something, then it will broadcast out.

00:28:57.564 --> 00:29:00.704
Pre pens or deletes or
whatever removed from the page.

00:29:00.704 --> 00:29:03.874
So like just by default,
it feels multiplayer.

00:29:03.874 --> 00:29:08.564
So if you're looking at like a list of
projects and someone else in another

00:29:08.564 --> 00:29:12.194
state creates a project, like boom,
it'll pop onto your screen as a project.

00:29:12.214 --> 00:29:15.124
And that all just comes
out of the box for you.

00:29:15.474 --> 00:29:19.974
and so I thought I was being clever
in with these quick ads where it's

00:29:19.974 --> 00:29:21.224
like, Oh, I want to add a room.

00:29:22.014 --> 00:29:27.284
So I'll pop the modal and then when you
submit, it will, it's going to submit

00:29:27.284 --> 00:29:31.854
with turbo streams and then I'm going to
broadcast and update so that it updates

00:29:31.864 --> 00:29:36.994
like a dropdown in like the bottom form so
that it shows the newly added thing that

00:29:36.994 --> 00:29:41.744
was quick added and what was happening
was like everyone's select boxes.

00:29:42.504 --> 00:29:46.474
We're all getting updated
because I wasn't targeting or

00:29:46.474 --> 00:29:49.604
like scoping down the broadcast.

00:29:49.674 --> 00:29:56.154
So like by default, oftentimes you'll see
like turbo stream from, and then a string.

00:29:56.174 --> 00:29:57.614
And that's like the unique string.

00:29:57.614 --> 00:30:02.424
That's like the channel or like the room
that the web sockets are listening on.

00:30:02.744 --> 00:30:05.864
And so I was just saying Oh,
on every single page, we're

00:30:05.864 --> 00:30:08.964
all going to listen to the same
channels for that page, basically.

00:30:09.284 --> 00:30:12.744
And so when anyone was making changes,
it was updating everyone else's stuff,

00:30:12.784 --> 00:30:16.604
which became a, it was like quite
funny, Oh, we were in the middle of

00:30:16.604 --> 00:30:20.674
this giant migration and we had to
basically just pump the brakes for

00:30:20.674 --> 00:30:25.554
everybody, okay, nobody touch anything
because right now we're all like adding

00:30:25.584 --> 00:30:27.764
items to each other's pages and stuff.

00:30:27.814 --> 00:30:29.484
And, yeah, so the crux of the.

00:30:29.684 --> 00:30:34.524
Problem was that like, when you are
broadcasting, you want to broadcast

00:30:34.524 --> 00:30:39.114
with the, an ID that makes it so that
it's scoped to that specific page.

00:30:39.464 --> 00:30:45.944
So for instance, if I am on an estimate
page where I'm adding a room that is

00:30:45.944 --> 00:30:49.534
related to that estimate, then when
I broadcast, I only want to broadcast

00:30:49.534 --> 00:30:54.944
like for that estimate underscore ID,
instead of just estimates or whatever.

00:30:54.994 --> 00:30:58.614
And then that way it won't
end up on everybody's pages.

00:30:59.894 --> 00:31:01.144
Turbo has been super fun to learn.

00:31:01.174 --> 00:31:05.284
I think I'm late to the party for sure,
but it is, yeah, I'm sure a lot of

00:31:05.284 --> 00:31:06.654
people have run into that same bug, but.

00:31:06.934 --> 00:31:09.234
Colin: This is one of those
Oh, it works on my machine

00:31:09.649 --> 00:31:09.969
CJ: Yes.

00:31:09.979 --> 00:31:14.499
It's like you don't encounter it until
you're in like these multiplayer modes.

00:31:14.694 --> 00:31:14.934
Colin: Yeah.

00:31:14.934 --> 00:31:16.484
You're like, Oh, it added it to the list.

00:31:16.484 --> 00:31:17.424
I guess we're done here.

00:31:17.424 --> 00:31:17.664
Let's

00:31:17.749 --> 00:31:18.219
CJ: yeah,

00:31:18.444 --> 00:31:19.064
Colin: in.

00:31:19.134 --> 00:31:19.854
And

00:31:21.014 --> 00:31:21.764
amazing.

00:31:22.849 --> 00:31:23.959
CJ: So that was fun.

00:31:24.019 --> 00:31:27.979
But, yeah, turbo and turbo frames
and turbo streams and, I dunno.

00:31:28.039 --> 00:31:30.169
all of that has been
really fun to play with.

00:31:30.169 --> 00:31:32.959
And also it just worked so
seamlessly with stimulus.

00:31:32.959 --> 00:31:36.189
I think I wrote three lines
of JavaScript and got like all

00:31:36.189 --> 00:31:37.659
these crazy modals working,

00:31:37.869 --> 00:31:39.469
Colin: And that's the
inspiration behind it, right?

00:31:39.469 --> 00:31:44.379
Is that normally you'd have to do a
bunch of react, manage a bunch of state,

00:31:44.389 --> 00:31:48.099
have a bunch of APIs just to do that.

00:31:48.409 --> 00:31:51.999
And I see the appeal of
each with like react.

00:31:51.999 --> 00:31:56.749
You can have this like really crazy,
fine tuned user experience and do

00:31:56.749 --> 00:32:01.269
exactly what you want and when, and then
sometimes you just need to build an app.

00:32:01.349 --> 00:32:05.429
And I'm running into this right
now at the coworking space.

00:32:05.459 --> 00:32:07.544
We've been using this software for.

00:32:08.064 --> 00:32:12.764
years that used to be like conference
room booking and it had an iPad app

00:32:12.764 --> 00:32:15.634
so you could see like the conference
rooms booked or not and you could book

00:32:15.634 --> 00:32:20.334
it and they just decided to go from
like you can have as many people in

00:32:20.334 --> 00:32:25.664
your office to having 15 people in
your office at our very expensive plan.

00:32:26.314 --> 00:32:29.824
And they've been slowly moving
upstream to like enterprise.

00:32:29.864 --> 00:32:33.264
Like they work with the biggest companies
in the world to help them now with who's

00:32:33.264 --> 00:32:36.564
coming into the office, who's got what
desk, who's got which conference room.

00:32:36.944 --> 00:32:39.394
And we only needed it
for conference rooms.

00:32:39.424 --> 00:32:45.544
And it pains me to pay for it because
it's great software, but now we're paying

00:32:45.554 --> 00:32:48.354
a lot for one piece of what it does.

00:32:48.774 --> 00:32:50.234
And now with this update.

00:32:50.929 --> 00:32:56.029
We like have to get off and now
I'm deciding, do I build this?

00:32:56.119 --> 00:32:58.179
Do, and which parts do I build?

00:32:58.569 --> 00:33:02.979
It's a lot of the calendars stuff that we
just talked about, which is also scary.

00:33:03.569 --> 00:33:05.009
do I just build an app that just.

00:33:05.234 --> 00:33:08.374
Turns red and green based on the
availability of the calendar.

00:33:08.384 --> 00:33:08.834
Cause right.

00:33:08.834 --> 00:33:12.934
Thankfully, like we use Google calendar
for both the rooms, but I'm trying

00:33:12.934 --> 00:33:16.564
to decide, do I do a quick little
rails app and like turbo stream,

00:33:16.574 --> 00:33:19.684
like just broadcasts, like available,
not available, not available.

00:33:20.004 --> 00:33:21.904
They don't need to book
the room on the iPad.

00:33:21.974 --> 00:33:27.044
Like I'll, I think it could just be like
a website on an iPad and we'd be fine.

00:33:27.054 --> 00:33:29.344
So interesting.

00:33:29.384 --> 00:33:32.614
This is one of those, because I write
code, I can get myself in trouble.

00:33:32.624 --> 00:33:33.794
Cause it's should I build this?

00:33:33.994 --> 00:33:34.444
CJ: Right.

00:33:34.994 --> 00:33:35.834
What are we talking about?

00:33:35.839 --> 00:33:39.794
Like in terms of monthly
price for something like that?

00:33:40.324 --> 00:33:44.954
Colin: So this is where it's not a
lot in the grand scheme of things.

00:33:44.984 --> 00:33:47.984
I think it's like 1, 500 for the year.

00:33:47.984 --> 00:33:50.084
So actually no, it's more than that.

00:33:50.444 --> 00:33:53.804
It's 150 a month.

00:33:54.804 --> 00:33:55.074
CJ: Yeah.

00:33:55.104 --> 00:33:55.464
Okay.

00:33:55.714 --> 00:33:59.764
Colin: so it feels like a lot because
I will say like coworking spaces.

00:34:00.024 --> 00:34:02.184
I have, I don't think we've talked
about it on this show, but I've

00:34:02.184 --> 00:34:03.974
thought about building coworking space.

00:34:04.249 --> 00:34:08.499
Management software and it is, it's
something that Jelly Switch and

00:34:08.499 --> 00:34:12.319
Dave Paola, who is our past episode,
past, past guests has talked about.

00:34:12.619 --> 00:34:14.399
It's a bad business to be in.

00:34:14.439 --> 00:34:17.709
I'm assuming that's the same thing that
happened with the people we used to use

00:34:18.299 --> 00:34:20.449
is that it's the margins are so low.

00:34:20.479 --> 00:34:25.119
Coworking spaces  work as a business if
they can break even, but there aren't.

00:34:25.474 --> 00:34:28.884
going to be upgrading and doing like
expansion revenue and all this stuff.

00:34:28.884 --> 00:34:32.754
You have to go upstream to the
office management for bigger

00:34:32.754 --> 00:34:37.324
offices or yoga studios or
CrossFit gyms or things like that.

00:34:37.704 --> 00:34:42.514
We talked about this with Mike because
he did do coworking space software and I

00:34:42.514 --> 00:34:45.894
actually met with him and he recommended
do not go like they . Cause it was just

00:34:45.904 --> 00:34:47.744
very, every coworking space is different.

00:34:47.754 --> 00:34:49.694
Every subscription is different.

00:34:49.704 --> 00:34:53.634
Every business model is different and
they usually are non technical people.

00:34:54.174 --> 00:34:54.854
Running them.

00:34:55.334 --> 00:34:58.864
And so I'm probably in the minority
of like software developer running

00:34:58.864 --> 00:35:01.704
a coworking space who also wants
to write their own software.

00:35:01.704 --> 00:35:05.164
And, of course, mine's going to be
better than all the ones out there, but

00:35:05.264 --> 00:35:07.244
in real world, it probably won't be.

00:35:07.784 --> 00:35:11.934
so yeah, I dunno, it's not the biggest
thing, but honestly, I still can't

00:35:11.934 --> 00:35:14.264
find just an app that will show.

00:35:15.004 --> 00:35:19.084
red or green state based on
calendar, but I have asked

00:35:19.084 --> 00:35:21.184
chat GPT to help me with this.

00:35:21.214 --> 00:35:25.204
And it's, I think it'll make it
like a day or a weekend project

00:35:25.204 --> 00:35:27.264
instead of a multi week project.

00:35:27.294 --> 00:35:27.664
So

00:35:28.149 --> 00:35:28.449
CJ: Nice.

00:35:29.094 --> 00:35:29.494
Okay.

00:35:29.904 --> 00:35:34.554
if, yeah, if you are already paying that
much, an interesting nugget that I got

00:35:34.614 --> 00:35:39.394
from one of the recent episodes of build
your sass, Justin was like, Oh, not enough

00:35:39.394 --> 00:35:44.054
people are saying that you could just go
downstream and just charge less money.

00:35:44.064 --> 00:35:48.554
And if you could get a room booking
thing, that's 20 bucks a month per iPad

00:35:48.554 --> 00:35:50.034
or whatever that needs to connect to it.

00:35:50.034 --> 00:35:52.434
Or I don't know, like how you
would do it, but figure out some

00:35:52.434 --> 00:35:53.784
interesting pricing and then.

00:35:54.639 --> 00:35:58.309
Build your thing on the side and
then have some other coworking

00:35:58.309 --> 00:36:00.169
space pay for it or whatever.

00:36:00.179 --> 00:36:02.389
it seems like a problem that a
lot of people might have, right?

00:36:02.439 --> 00:36:06.279
Colin: Yeah, and I think shy still
listens to this, but hi shy, if you're

00:36:06.279 --> 00:36:11.499
listening, but he, I used to work with
him at orbit and he built like a, it

00:36:11.499 --> 00:36:14.329
was called overbooked, which we'll throw
it in the show notes and it's in, it's

00:36:14.329 --> 00:36:17.129
an elixir, with Phoenix, I believe.

00:36:17.139 --> 00:36:17.889
And it's really cool.

00:36:17.889 --> 00:36:21.659
Like it, it actually has most of the
room booking and checking to see if

00:36:21.659 --> 00:36:23.029
the room's available and all of that.

00:36:23.459 --> 00:36:25.909
It needs the API to like.

00:36:26.074 --> 00:36:29.154
display, whether or not the room is
available on an iPad type of thing.

00:36:29.594 --> 00:36:33.694
so I'm thinking about just forking that
and adding the Google calendar sync to

00:36:33.694 --> 00:36:37.754
it, cause it's an open source project
and shy spent some fun time working

00:36:37.754 --> 00:36:38.964
on that and getting it, working on it.

00:36:39.264 --> 00:36:41.094
I've never used Elixir or Phoenix.

00:36:41.094 --> 00:36:42.284
That's the problem there.

00:36:42.284 --> 00:36:44.184
It's Do I want to learn a new language?

00:36:44.194 --> 00:36:48.464
I actually do want to learn Elixir,
but, am I going to get my project

00:36:48.474 --> 00:36:50.454
done if I also need to learn Elixir?

00:36:50.464 --> 00:36:53.074
So that's the balance of
the build and the learn.

00:36:53.084 --> 00:36:56.454
But, yeah, I agree on that
other front of just, maybe I

00:36:56.454 --> 00:36:57.774
don't build co working software.

00:36:57.774 --> 00:37:00.124
Maybe I just build conference room booking

00:37:00.724 --> 00:37:01.994
available, not available.

00:37:02.184 --> 00:37:02.544
but

00:37:02.924 --> 00:37:03.734
CJ: Hot or not.

00:37:04.124 --> 00:37:05.694
And by hot, you mean it's booked.

00:37:06.694 --> 00:37:06.794
Yeah.

00:37:07.184 --> 00:37:08.264
Colin: Can't use the room.

00:37:08.924 --> 00:37:09.804
green is go.

00:37:10.534 --> 00:37:15.024
CJ: Is it, so would you build like
a mobile app for, like for iPad or

00:37:15.024 --> 00:37:16.344
would you just use like the browser?

00:37:17.134 --> 00:37:17.874
Colin: I've gotten, yeah.

00:37:17.874 --> 00:37:21.134
I could do it in a quick react app
that just lives in the browser.

00:37:21.424 --> 00:37:25.474
the alternative I was thinking about
is like doing react, turbo native, do a

00:37:25.474 --> 00:37:27.364
rails app that can be shipped to Android.

00:37:27.364 --> 00:37:30.944
And it says depends like if I just
need it for us, I'm going to go

00:37:30.944 --> 00:37:33.914
the quickest way if I was going
to build it as something I sell.

00:37:34.649 --> 00:37:39.089
With accompanying apps, it'd
probably be like Rails or React

00:37:39.109 --> 00:37:40.619
Native or something like that.

00:37:41.099 --> 00:37:45.999
So TurboNative, React Native, cause I
don't want to support Kotlin, Swift,

00:37:47.009 --> 00:37:47.489
CJ: Yeah.

00:37:47.669 --> 00:37:52.029
Is there like a no code solution here
where you have the iPad and you put it

00:37:52.029 --> 00:37:55.659
like in caffeine mode or whatever and
you just have it on the Google Calendar

00:37:55.659 --> 00:37:59.429
page that's this is the page that you're
gonna see and it's like the actual

00:37:59.429 --> 00:38:01.509
calendar for the day of who has what time?

00:38:02.144 --> 00:38:03.554
Colin: Yeah, we might be able to do that.

00:38:04.414 --> 00:38:05.884
We used to have whiteboards.

00:38:05.944 --> 00:38:07.444
I will say that did not work well.

00:38:08.194 --> 00:38:11.954
Um, cause people would just write
in that they have it, even though

00:38:11.964 --> 00:38:16.814
someone booked it on the calendar
and it's we need it to refresh that

00:38:16.814 --> 00:38:19.294
people are there and it's like at the
end of the day, this is almost like.

00:38:19.344 --> 00:38:22.284
The Google calendar thing I had,
I don't care about tomorrow.

00:38:22.294 --> 00:38:23.624
We only care about today.

00:38:24.894 --> 00:38:27.524
So it's just show the
list of events for today.

00:38:27.554 --> 00:38:32.074
And if you want to get on there, then
maybe we do like a type form that

00:38:32.104 --> 00:38:34.354
adds your event to the calendar or

00:38:34.804 --> 00:38:38.794
and then put a QR code on the door,
actually at WeWork, I was shocked,

00:38:38.794 --> 00:38:42.774
like for as big as WeWork is and as
much money as they've burned, they

00:38:42.774 --> 00:38:44.614
just have a QR code on their doors.

00:38:44.644 --> 00:38:45.924
They don't have iPads.

00:38:46.004 --> 00:38:46.504
CJ: Wow.

00:38:46.814 --> 00:38:48.514
Colin: Yeah, calendars.

00:38:48.524 --> 00:38:50.224
that's the theme of my life right now.

00:38:50.874 --> 00:38:51.364
CJ: Yeah.

00:38:51.974 --> 00:38:52.604
They're tough.

00:38:52.634 --> 00:38:53.514
They're super tough.

00:38:54.694 --> 00:38:55.164
Colin: But yeah.

00:38:55.434 --> 00:38:59.437
I guess we're both building and
learning about turbo streams and

00:38:59.437 --> 00:39:02.332
calendars and booking jobs, And with

00:39:02.342 --> 00:39:06.102
discord, we, we run into this
thing where we want to be able

00:39:06.102 --> 00:39:10.602
to like stream developer events,
but we can't show our code.

00:39:10.782 --> 00:39:13.852
but the stuff that I'm
working on is completely open.

00:39:13.962 --> 00:39:16.782
the Google calendar app,
I'm not using internal code.

00:39:16.782 --> 00:39:19.812
I'm using the same APIs that
developers have access to.

00:39:20.467 --> 00:39:23.617
so I'm wondering, and I'll have
to talk to my team about this.

00:39:23.987 --> 00:39:27.177
So hello, if anyone's listening,
but, just figuring out, if I want

00:39:27.187 --> 00:39:30.157
to be that kind of dev rel, I think
that's, we're trying to figure out,

00:39:30.157 --> 00:39:32.437
do I want to be more public facing?

00:39:32.437 --> 00:39:33.857
Do I want to do streams?

00:39:34.197 --> 00:39:35.727
Do I want to work on this live?

00:39:35.727 --> 00:39:37.967
What are the pros and cons to that stuff?

00:39:37.967 --> 00:39:39.757
Will people show up,
those kinds of things.

00:39:39.757 --> 00:39:43.337
Cause some of these calendar things
I could see being some entertaining,

00:39:43.347 --> 00:39:45.557
like calendar wrangling live, and just.

00:39:46.212 --> 00:39:47.232
hanging out with the community.

00:39:47.252 --> 00:39:50.882
we do these events that, one of our
community managers runs where it's like

00:39:50.892 --> 00:39:55.222
code and chat where the devs, building
bots and apps just hanging out, but it's

00:39:55.222 --> 00:39:59.132
more like a lo fi, body doubling type
of thing where it's like accountability.

00:39:59.132 --> 00:40:02.842
Like we started the episode with more than
we're not going to show you how to do it.

00:40:02.852 --> 00:40:05.082
We're all just hanging out, just
talking about what we're working

00:40:05.082 --> 00:40:07.222
on and hopefully working on stuff.

00:40:07.222 --> 00:40:08.702
So digital coworking.

00:40:09.477 --> 00:40:09.887
So

00:40:10.307 --> 00:40:10.817
CJ: I like that.

00:40:11.867 --> 00:40:12.107
Yeah.

00:40:12.107 --> 00:40:14.227
It'd be interesting to see, I
think all those directions are fun.

00:40:14.387 --> 00:40:17.267
So whatever, yeah, whatever you
land on, it'll be interesting.

00:40:19.407 --> 00:40:19.777
All right.

00:40:19.777 --> 00:40:21.207
let's wrap it there.

00:40:21.217 --> 00:40:23.207
As always, you can head
over to build and learn.

00:40:23.207 --> 00:40:25.397
dev to check out all
the links and resources.

00:40:25.397 --> 00:40:28.277
We'll put all the fun
things in there about neon.

00:40:28.527 --> 00:40:31.237
tech and all the other
things that we talked about.

00:40:31.737 --> 00:40:33.187
And, yeah, I think that's a wrap.

00:40:33.787 --> 00:40:34.197
Colin: Awesome.

00:40:34.197 --> 00:40:37.707
And we don't do this often, but
if you enjoy the show, think about

00:40:37.707 --> 00:40:42.337
giving it a review or giving it a star
rating so other people can find it.

00:40:42.747 --> 00:40:46.077
we are back this episode,
we'll keep them coming.

00:40:46.077 --> 00:40:47.377
So thanks all.

00:40:48.537 --> 00:40:48.887
CJ: Bye friends.