← Previous · All Episodes · Next →
Advent of Code, Economic Development Episode 34

Advent of Code, Economic Development

· 37:38


CJ: Welcome to build and learn.

My name is CJ.

Colin: And I'm Colin, and
today we are chatting about our

favorite season, Advent of Code,

CJ: Yes.

Tis the season.

Hacking left and right.

Great idea.

setting up, we've got this little
channel in Slack where people

can go and discuss their advent
of code problems and solutions.

Colin: Yeah, I think we talked
about it last time, but I've been

feeling a little burnt out about
the dev meetup that we have locally.

And so I set up Advent of Code as
our December meetup, which honestly

is more engagement than we've had in
even some of the in person meetings.

admin of code is a little challenging
because it does take it like a

significant amount of time to do.

but I don't think, to get value out
of it, you don't have to do them all.

And, you're doing videos for
all of these, which is amazing.

I've learned a lot just watching yours.

For me, it's a little challenging because
once I see how you do it, it's hard

to think about any other way to do it.

So I've been trying to see
how far I can get without it.

Look at some hints and things, on Reddit
and other places before I watch your

videos, but it's been super helpful.

CJ: Yeah, I like that approach.

I also try to do that like
first try to solve it myself.

There's definitely some problems
that require dynamic programming or

require like crazy graph traversal
or some high level mathematics that I

don't know and have never seen before.

And in those cases, I will often
just try to take a stab at it myself.

And if that doesn't work, then I'll
try to look for hints on Reddit.

And without like spoilers, and if
that does still doesn't work, then

I'll watch and there's like tons
of videos on YouTube of different

people taking different approaches.

There's this one guy, Jonathan Paulson.

Who I think right now is like number
two on the leaderboard for 2023.

And he live streams, like the
second it comes out, he'll

live stream, his like solution.

So you can watch the countdown
timer go down, like three, two, one,

he clicks on it and he solves it.

Doesn't talk or anything.

Just like blasts through
it as fast as possible.

And then we'll go back
and explain his approach.

so I love watching his videos.

And yeah, there's, it's like amazing
opportunity to learn new languages or new

language features and things like that.


Colin: Nice.

Yeah, I'm using this as an opportunity to
learn Python and when I watch your videos,

I like want to reach for a lot of the
niceties of Ruby and like all these little

helper methods and things like I was
trying to like multiply, an array and it's

I know how to do this in Ruby, but now let
me go find out how I have to do this in,

in Python and it's like basically like a
reduced function that you had to write.

but it's just not as simple as, and it's
also Ruby's so much in my brain still.

but yeah, it's a good way
to learn new languages.

I've been watching, Bash Bunny on
Twitch, learning Zig with, with this.

And that is all I know about
Zig is just a little bit that

I've watched from her streams.

So definitely fun to watch.

CJ: Reddit solutions too.

People will use like JQ or they'll
use Google sheets or they'll use,

some wild technology or language
that I never even would have thought

could solve some of these problems.

And there, some of them
are very elegant solutions,

Colin: off the COBOL and Perl

CJ: Yeah, totally.

There's a lot of Perl,
surprisingly, solutions.

I would bet that Python is the number
one followed probably by JavaScript.

And then, lots and lots
of different languages.


Colin: Yeah, I joined the Python
discord server, which I think is

I'm not sure if it's the official
one, but it's the biggest one.

and there's like an admin of code section
that they added so that people can have

conversations there and, people, we're
only on day seven and I'll say that I

think where am I'm on day five and I
was able to solve the sample, but then

the input is like, It's using ranges
and the sample was like pretty tame, but

then the input is like in the billions.

And so my solution does not
work, or at least it might take

many years to finish before.

CJ: Yeah.

Colin: So I need to go back and update it
to just like dynamically calculate if it's

in the range instead of, I think I was, I
generated all the tables, which would take

a very long time to do in the billions.

CJ: That was my instinct too,
for solving that problem.

The first time I looked at it, I was
like, Oh yeah, you can just generate.

hashes and then, yeah, look
through them or whatever.

And, yeah, it's interesting how
Eric throws those curve balls

when he's creating all these
different challenges to make it.

More interesting, right?

Like the part two is always Oh gosh,
that's so hairy or gnarly or whatever.

and also depending on how you
solve part one, sometimes the

refactoring can be like a tiny
little change to make part two work.

And other times it's Oh wow.

That like part one does
nothing for me anymore.

Like I need to completely rethink
all of my data structures, all

my algorithms to make this work.


Colin: which I think encourages
good coding practices and reusable

code so that you don't have to like,
burn it all down and start over.

But, I think for some first couple days,
I wasn't using any functions at all.

Now I'm like starting to put
things in functions and call

them and get used to that.

So maybe I'll have to introduce
some classes before we're done.

CJ: nice.

Yeah, totally.

Have you, so what is your
experience with Python?

in the past, is this the first
kind of deep dive into it or

have you used it just for fun?



Colin: Yeah, I've never used it.

Somehow I got away with never writing
a line of Python until I think when I

joined discord, I played around with
one PR that it was like a pretty easy

one liner or something, but, I'm needing
to get into our Python code more,

so it's just good for me to know it.

And so this has been a
good learning time for it.

I realized that.

Like I do have a pretty strong
computer science foundation.

So it's more of how do I do the thing
I do in other languages in Python and

not having to re rebuild and relearn.

Cause I have some friends who are learning
computer science with Python right now.

And, so they're also learning how to
think in, single dimensional arrays,

multi dimensional arrays, how to think
about where you're at and then like

context of variables and things like
that too, It those things we take for

granted the longer we do this versus
when you're learning, you're like,

I put some equals zero up here, but
it's yeah, that's getting reset to

zero every time this loop happens.

So you're some constantly
is getting blown away.

yeah, so

CJ: Yeah, definitely.

Colin: for it.

CJ: Totally.


I like to tell people that like every new
language that you learn becomes a little

easier than the last one that you learned.

And the first one is always so hard.

Like the very first one that
you learn is just so much work

to wrap your head around stuff.


Colin: spoken languages.

CJ: my gosh, that would be awesome.



Colin: So yeah, I guess to follow the
last episode, we talked a little bit

about YouTube and streaming and so
just ripped the bandaid off and did a

stream with advent of code for one of
the challenges with my friend Aaron and

CJ: Awesome.

Colin: It was interesting.

we talked about getting on stream and
then it took us like 45 minutes because

we were doing a stream together.

ShE'd been all set up for solo streams,
but we use the new Twitch stream

together feature, which is pretty cool.

and what's nice about it is when she
goes live, it tells my followers that

Colin's going live on Aaron's stream.

And then it streams both of our
cameras into an overlay that you

can put into your stream software.

So You don't have to have
all those like other tools.

I literally have it written down
on a little card in front of me.

This is something that I was wanting to
build a long time ago and Twitch just

has it built in now, which is cool.

And also one of those like platform
risk type things where Twitch

knows what they, want to have to
make their streamers successful.

And having that hook in there where
it's like, it actually shows on

the UI Colin Aaron are streaming.

so they've done a really good job with
that, but, OBS just was not cutting it.

So I had her switch over to meld
studio, which is honestly, I can't

go back to OBS after using it.

it's designed for the Mac.

It uses the m1, m2, m3 chips.

so it's just like a
much better experience.

And they tell you as you're
streaming, this is not production

grade, do not use this yet.

but we haven't had any issues and it
took us minutes to get all set up with,

from downloading it and setting it up to
hitting stream, which was really nice.

CJ: Does, okay, so meld is an one
for one alternative to OBS in terms

of getting your own camera screen
inputs and like all these other

Colin: images, sources, all those things.


CJ: And then your meld input is
directly into Twitch and then

Twitch is like muxing your input
and her input, like on that side?

Or are you both like meld?

Is there some

Colin: So it's a little
bit stranger than that.

It's another, so you go to the
stream together website and they

give you a URL that you put in as
a source into your mail or OBS.

So it is a, they're putting you and
your guests into a browser and then

it can have a transparent background
so that if you set that as your full

frame, you can move the guests around.

They have their Twitch IDs in there.

We just did the video and the
audio through the browser because

then we don't have any syncing
issues, which you'll run into.

And then you can also screen share
into that UI because the issue we were

running into is that we were just sharing
our faces and I couldn't see her code.

Without watching her stream, which
was slightly delayed and then I

would get ads which also sucked.

So we need to figure that out so I
need to either pay for twitch or she

needs to turn off ads or however that
works But yeah, it's pretty slick.

So it's built in as like Just a UI
component in your stream software.

CJ: Got it.

And is mailed paid, or
what does that look like?

Colin: I imagine they're going to need to
be at some point, but right now it's free.

it's super slick.

Like it looks like, a
very modern, what is that?

project man linear like flashy.

we'll include a link to it.

Not sponsored,

CJ: Yeah.

Colin: but maybe if we keep the
streaming thing up meld, we should check.

CJ: Yeah.

We, so in the past I've used
StreamYard, that was like my go

to, at Stripe for live streams.

And I, when working with Aaron,
from automate all the things,

he uses OBS with OBS Ninja to
do like the multi person set up.

And I know that he's got it really
fine tuned, but it's also taken

a lot of trial and error to get
audio syncing things fixed and

Colin: Yeah, I think it's
similar to OBS Ninja.

It's just Twitch is
basically eating their lunch.

if you're doing Twitch.

It's gonna do this.

What's cool is that you could,
actually you can use stream together

without going live on Twitch.

Like you could use it in like a
work stream if you were streaming.

Like I could stream to
Discord for instance.

I don't think we have stream keys
in Discord, but I could use the

output of MELD Studio or OBS as my
camera input, and trick it there.

but actually I'll have to go look because
it would be cool if we had support

for that streaming format of, stream
keys and things like that in Discord.

CJ: Got it.

Colin: So it is amazing because there's
a bunch of, Hey, so you want a YouTube in

2024 or you want to stream in 2024, but
there's not a lot of good videos that get

into this stuff that we've all figured out
over time, like how to have a good mic is

out there, but how do you get your friends
in a stream together, things like that.

And Twitch is obviously
making those things easier.

The other one is that Twitch
added like custom alerts.

So very similarly, you can
set up your own alerts.

with your own graphics and your
own triggers and then drop those

into OBS as browser sources.

And so when you get a follower and
that like CJ followed Colin, like

that happens in your OBS without
having to use any external tools,

which used to be super painful.

You had to do stream labs and
all this other stuff to do

CJ: right.



Sound like it's getting easier.

Colin: becoming a Twitch fan boy,

CJ: sweet.


And when you stream like that,
is it available after the fact?

Like I wanted to go watch it.

Colin: Is like if you're not a
partner with Twitch, it's seven days.

If you're a partner, it's 30
and then a lot of streamers send

it over to YouTube afterwards.

CJ: Let's see.

We talked about Advent of Code a little
bit, but, I don't know, anything else you

Colin: No, I

CJ: to add there?

Colin: I think we're gonna just keep
chunking along and try to get caught up

CJ: Yeah..

Colin: or something.

CJ: The one thing I wanted to add about
that, that has really surprised me is,

Advent of, the challenges come out,
I think, at midnight Eastern time.

And I live in Eastern time, so
I'm not up at midnight doing these

challenges, but one of the first
things I do is I go on my phone and

I check what's the problem for today.

And so as I'm like trying to wake
up for the day and get, get my

head in the game, I have been on
my phone using the replit app.

To write like early solutions or let me
just see if I can solve like part one

right now, like while I'm in bed and
holy moly, the replica app is killer.

if you want to write code on
mobile, the replica app has so

many little like quick buttons for
the things that you would want.

So if you want to toggle comments or you
want to indent or you want to, move the

cursor left, and whatever, they've come
up with a really interesting UX where

you can move this little dot around.

Plus because they have ghostwriter,
it's like you have a copilot right

there and you can just like swipe
and it'll like auto complete the

stuff that you wanted to write.

so I have been having
just like tons of fun.

Hacking directly from my phone,
which is just mind blowing.

Colin: you use Vim on your phone?

CJ: I do not know.


that would be cool though.

Colin: that would be cool

CJ: don't know.

Yeah, I feel like I, I don't know.

I want to try, like voice coding.

I'll drop a link to this talk, but,
Emily, One of my former coworkers

from App Academy, she gave a talk
called whale quench and it's all about

like writing code with your voice.

Using like dragon dictation and a couple
other things to, yeah, just write code

with your voice instead of having to type.

And I think we're getting
much, much closer to that being

like a very serious reality.

Colin: I think we've said this on this
podcast multiple times, but there's

those scenes in Avengers movies of
Tony dictating to Jarvis and he's

trying to figure out time travel and
it's just nope, don't change that

input, change that, run it again.

And especially Advent of Code, like
if you could do Advent of Code purely

by voice, I feel like that's maybe
next year's challenge, is do it

on a live stream, do it all voice.

use 11 labs, use, all these different
transcription things that are out

there and just see what you can do,
especially when you feed it with AI.

I think the challenge is you don't
want to give the problem to the AI

because it'll just do it for you.

But making sure that the only input
is your voice and then you also have

to describe what you want to do in a
proper way, which I think you learn

a lot when you're trying to describe
what your brain is doing out loud.

CJ: Yeah.

One of the ideas I've had recently is
to build a Vim plugin where you, you

hold down a key or something, and then
you just start talking and it'll make a

comment in whatever language you're in
and it'll just dictate the into a comment.

And then when you stop
dictation, you hit enter.

That'll get sent off to co pilot,
which we'll try to figure out the

right snippet to fill in that spot.

I think that'd be a pretty fun
little thing to play around with

Colin: what else are you building?

CJ: Oh yeah.

Kraftwerk is expanding.

We're expanding to other markets.

And that means that our application
needs to handle projects for people

that are not just in Charlotte.

So maybe they're going
to be in, another city.

And that other city will have a
whole different set of support

staff and resources and they might
support different types of projects.

They might have different pricing models.

They might have different marketing
things, different Google business pages.

One common challenge, like with any
app that's going to go through multi

region support like this, or even
sometimes if you start with users and

then you need to go to accounts where
you have an account with multiple users.

You end up with an account switcher
type thing where Oh, am I looking

at my work account or my personal
account for one password or for

your Google suite or whatever?

So now we will have to have the concept
of which market are you looking at?

Is this, are we looking
at the entire business?

Are we looking at a specific city?

And then if you have a User can that
customer buy projects in multiple cities?

So now you have Oh gosh, you can't
necessarily tie a customer to a

specific city, but you do want a
project to be tied to a specific city

because likely the painters are only
in one city, but, maybe you have a

support staff that work across cities.

That's been, yeah, it's a project
for December is like going through

and adding market to all of the
applicable things and trying to figure

out how to split out, that concept.

Colin: Nice.

So you'll probably have a market drop
down for admin and like professionals,

but then the users just like Airbnb.

I don't necessarily set a specific locale.

But when I'm looking for a
place, I go search in that place.

And yeah, that's interesting.

CJ: yeah, exactly.

Like a customer will
probably go to the craftwork.

com slash.

Reno or something, and that would
pull up all of the services that

are offered by Kraftwerk in Reno.

And then you could book and the calculator
would reflect the prices in Reno and

your message would be sent to the sales
rep in Reno and the reporting would

go to the general manager in Reno.

and you as a customer would think, oh,
I'm just interacting with Kraft Fork.

But behind the scenes we would need to
break out how are these quotes routed

and where do the notifications go?

Which Slack channel and which Slack
organization and all this different stuff.

Colin: Yeah, this might be an
interesting conversation to chat about

craftwork in general, but the thing
that I've been finding myself wanting,

especially in this giant building,
like this is a 6, 000 square foot

building, and I need to manage all these
individual things that have to be done.

You have to face the same in any
house and things, but the idea of

as a user, adding my properties.

And those properties have maybe
lawns, sprinklers, gutters,

paint, whatever, right?

And being able to be like,
Hey, it's probably time to have

these things like HVAC, right?

Servicing time.

It's almost like this, like
operating system for a building.

Cause I find what it's just yeah,
we fix things when it breaks

rather than looking at them all.

like going to the doctor and
being more preventative, right?

There's not a lot of preventative
stuff with either cars,

houses, things like that.

And I find this wanting to do
this for my house and my vehicle.

It's it's time to get an oil change.

It's time to do this.

It's time to get your house painted.

Which could be interesting for you
guys to know that this user has these

properties in these markets and they
also have a property or maybe there's

a user who created an account and
put a property in a market you don't

support yet so that they can know notify
me when Craftwork is in my market.

CJ: Yep.

Colin: That'd be pretty cool.

CJ: Yeah, if you want to know when we're
in your market, you can go sign up for

the waitlist, but that's totally something
that I think we want to build is you

can log in and see the inventory of your
properties and know Oh, what color is on

the wall in my, powder room or whatever.

And then it's Oh, yeah, your
powder room was painted in 2024.

And it was painted this color by this,
and this painter or something, and you

can, here's the, a little button to
reorder some touch up paint or here's,

yeah, breakdown what comes to mind is
HOA is they have this thing that they

do in order to try to predict HOA dues
over a long period, they go through, I

think it's called like a capital reserve
plan or something like this, where you

have to figure out like, Oh, if we want
to seal all the blacktop in this giant.

Neighborhood, it's going to cost
10 grand and if we want to repaint

all of the condos in this complex,
it's going to cost 400 grand.

And if we want to redo the, the pool, it's
going to cost 500 grand or whatever they

take that and they try to figure out how
often those things need to be replaced.

And then you can build out
like an amortization schedule.

That's okay.

Every year, this is roughly how much it's
going to cost to maintain the entire HOA.

And then you can back
out into fees from that.

So you're not like surprised by Oh shoot,
like the entire HOA needs a new roof now.

And, now we've got to figure out
how to whatever, collect a one

time emergency payment to pay for
X that wasn't planned for before.

But yeah, I totally would love
to see something like that.

I wonder if it makes sense at like the
individual homeowner level, as much

as it makes sense as like a landlord
who's managing or like property manager

who's managing multiple properties.

But yeah, in your case, you've got like
a huge building that's Similar in that

in many ways in that, things are going
to need to be replaced every so often.

And a lot of those are big ticket.

And so how do you like schedule that
out so that it's either, the financial

impact isn't really big or like you
can stay on top of the preventative

maintenance, Oh, you get an alert that
says you got to change the filters

in the water system, or you get a,
pour more salt into the whatever.

Colin: Water softener.


CJ: Yeah.

The water softener.

Colin: Yep.

Yeah, it's funny.

I've watched a lot of DIY
like TikTok, not TikTok, but

Instagram and YouTube and things.

And there was a house inspector and he
believes that you should repaint your

entire house inside every eight years
and all these painters and contractors

really having a fit in the comments.

And the reason wasn't that
your paint, your walls are like

needing paint in eight years.

The other way he described it was
do one room per year and for most

houses, eight years is going to mean
that the whole house is returned

over every eight years, right?

The kitchen, the living
room, whatever it might be.

And the reason that you do that
is that painting a room means

pulling everything away from the
walls, cleaning things, looking at

things, figuring out what's broken.

And you're room by room assessing and
maintaining this thing that you have.

And that you're, when you do an
inspection, like your asset value is

going to be higher than if you don't, and
you're just going to have less issues.

And when I think room by room,
it's way more manageable than

the entire building, right?

It's cost wise, but also
just, It's just mental load.

It's just easier to take care of
it that way and obviously things

surprise you and there's leaks
and all sorts of other things.

But, yeah,

CJ: I like that one room every
year sounds manageable right now.

What seems intimidating to me
is like painting the outside.

Cause that one feels like you
can't really do one wall at a time.

Like maybe

Colin: all at once.

CJ: Yeah, it's a, yeah,
that's a one and done.

It's also one of those things where I
wish right when we moved in, when the

house was empty, that we did two things.

One of them was paint all the walls.

And the other one was to refinish the
wood floors, because in order to like

work on the wood floors at all, we have
to move everything out right like you

have to basically move out of the floor
that you're in, and then get the wood,

the woodwork done and then move back in.

I don't know how often you're supposed
to refinish your floors But that feels

like a big lift to get everything
out and everything back in so

Colin: that's another one where if
you watch videos for refinishing wood

floors, it doesn't look that hard,
but probably pay someone to do it.

CJ: oh for sure.



Colin: I've thought about it
and I'm like, I don't know.

This looks like it could go wrong, but
so those are the things we're building.

what are you working on?

what are you learning this week?

CJ: we went to the library this
weekend and I picked up this book

called how to outsmart your brain It
was just like on the new nonfiction

shelf and it is phenomenal.

It's really good and I Was telling
Nicole that before I take the next

college class I want to reread this
because there's so many really tactical

tips and tricks for how to absorb
as much as possible from a course or

a lecture or even conference talks.


It talks about a lot of different
cognitive biases that we have.

And then also how the brain
makes connections between ideas

and concepts and how oftentimes
podcasts or lectures are, linear.

But they will often have some structure
that you need to recreate in your own

head to absorb as much as possible from
the content that was being presented

because we talk very linearly, but we're
often trying to get across one big point

that has maybe three to seven sub points.

and yeah, just a lot of tips and tricks
in there that I thought were really cool.

it looks like you're also, you also
got a book you're working through here.

Colin: Yeah, I'm reading the City
Authentic, which is a book about kind

of urbanism and there's this trend that
I think every city can probably relate

to about how they try to attract people
to come to their city and this idea

of attention economy, but as cities.

And, that there's, they're talking about a
lot of the pitfalls that cities run into.

I'm still pretty early in the book, but
most of my reading list is like this new

urbanism, new organization of cities.

This book was written during the pandemic.

So it's also more of a take on it.

It was seeing the remote work
trend more than it was before.

And there's a lot of books in this
category of Richard Florida is the

creative city and things like that, where
even Richard Florida wrote a book in

2017 with everything I wrote is now wrong
and not the state of the world anymore.

which was what a lot of economic
development authorities and

cities are still reading that.

from that book, right?

And so there's been a lot of
books since then and I'm really

tempted to get this book.

There's another one called The Naked City.

There's a bunch of books from strong towns
and I'm tempted to create like a package

of books and just like anonymously send
them to all of our city council people.

And like Economic Development Authority,
like I guess it doesn't have to be

anonymous, but yeah, I don't know if
they'll be threatened by it or if they'll

be like, wow, we should read these.

CJ: I know that, Edon in particular was
very interested in bringing companies

and bringing businesses and attracting
folks to Reno, what part did the

Reno collective play in that process?

And were you collaborating with
them or yeah, like you obviously

want members to come that are
going to work from the collective.

Colin: that one's tricky because, so
most economic development authorities

are or like they have a key metric
of, square footage and number of

jobs, which is slightly at odds with
knowledge work because you do not need,

a warehouse and a huge army of employees.

But if that's what their goal
is, they'll say that they want

startups and things like that.

But to be honest, that's
not their main goal.

I think a lot of them realize that
you need a mix of all of those things

like in Reno and in Nevada General,
we're trying to diversify away from

gaming and so innovation of all types,
but every city has an Innovation plan

an innovation district, you know all
these different things and he brings

that up in this book, too Where every
city is doing the same things and so

they're all being like look at me.

Look at me.

We're now That's place for startups.

And now with the remote work, it's
you might not want to be in New

York, but now you want to be in this
like small rural town in New York

that also has fiber or whatever.

but you're still going to see
concentrations of workers in places

like LA and New York and Chicago,
because they're cities and there's

so much stuff in those cities
for people to do outside of work.

And so you have this attention
economy of culture being the

reason why people move to places.

and technically, and you probably
have seen that you moved recently,

but we are moving less than ever.

And it used to be, you would move out
of town because it got too expensive

and you'd go somewhere cheaper.

And then you have a list of things you
want to look at to see which cities

check all the boxes, but we just
aren't moving as often as we used to.

And so what do you do in cities
where You know, some of those

people aren't going to leave.

I think it focuses on a town called
Troy in New York and While they've

seen some increase in population,
it's like pales in comparison to

the increase of people moving to
New York City and like big metros.

but the thing that stood out the
most so far is when you try to build

like the cool area of town, like
usually it's built by the locals.

It's very authentic.

It's, you know, uh,
third wave coffee shop.

It's a cool bookstore.

It's a cool record store,
all these different things.

Well, almost always that gets
press and news, which then starts

to create real estate speculation.

The thing that was authentic and made
the name for the city or for that

area becomes, chain restaurants and
the very thing that it was trying to

counter in the first place and then
it becomes yet another urban, core.

And then it starts all over again with
the authentic, bookstore that's not

in the expensive part of town, right?

Because you can't be in the
expensive area when you're starting.

And so it's just this vicious cycle and
like, how do we break that a little bit?

So still reading it, we'll see where
it goes, but this is the kind of stuff

I think about when I'm not coding.

CJ: were in a, if you were in a
situation where you could move.

Or you could try to make your town, the
awesome, authentic, unassuming town that

you want it to be, then what moves would
you make and how would you invest your

time and your efforts and your energy?

recently we went to a
town in New Hampshire.

I'm not going to name it
actually, because it was awesome.

It was so cool.

It was like quaint and had this exactly
like you said, had a sick, like bookstore

that had this giant selection of used
books and then we went to, like a

vegan restaurant that was amazing.

It was like, really good lunch spot
that had options for all of us.

they had a Yarn store for nicole and she
picked up like some knitting stuff and

there was like a little apothecary spot.

And so like I don't know it

Colin: of a store is

CJ: Yeah, it was very, very witchy kind
of cool hipster town out in the middle

of, in the middle of New Hampshire.

That was very awesome.

Colin: Yeah, you gotta
protect those things.

CJ: yes.

So when I was first learning Ruby
I would listen to Ruby rogues.

And one of the hosts of
Ruby rogues was Avdi Grim.

And he's got a new site called
graceful dev or graceful.

dev, where a lot of the content
is the old ruby tapas, but there's

also a bunch of like little course
paths that you can go through.

I think the intention of setting
up graceful dev was to organize

all of ruby tapas into these paths.


Ruby tapas were all meant to be these
like short bite sized tiny little

videos about Ruby That would work
independent, but, people were craving

a more organized way to go through it.

And so I've been going through
some of the, the paths on there.

And I haven't watched any of
these stuff for a long time.

So now I'm having a great time.

Like He goes through some really obscure
language features and, some really

cool approaches to writing code with
Ruby that I, yeah, I'm learning a ton

from, so thought if you're, yeah, if
you're a Rubyist and you want to more

screencasts, if there aren't enough
already, then, yeah, go check it out.


Colin: cool.

The return of Avdi.

that's exciting.

CJ: Yeah.

And you, I think, did we
mention screencasting.

com in the last one?

Colin: We mentioned that, that it existed.

but I did buy it.

I think it's worth it at any price, but
I did fall for the Black Friday deal.

So thank you, Aaron.

and I have it.

I've started listening to it.

I'm really excited to just see like the
shortcuts for the tooling that they, like

the software that, that he uses to record.

Cause he tries to record in a
way, I think very similar to you.

where you don't have to edit too
much and just like shortcuts and

scripts to reset your desktop, record,
lots of takes that can be stitched

together and things like that.

At least that's, I think how he does it.

Cause I've seen some like jump
cuts and stuff in his videos.

And it's you just drop it.

And for the most part, the frame
looks the same, so it doesn't matter.

CJ: Sweet.

Colin: your, cinematic
production value out of it.

So yeah, we'll see how it

CJ: I'm really keen to hear how that
goes does he cover live streaming

at all or is it all pre recorded

Colin: think it's mostly prerecorded.

He doesn't do a lot of he, maybe he
does a little bit of live stream stuff,

live streaming I think also helps
to develop this muscle cause you.

Don't get to cut or go back, which is
I think why I've hesitated to just turn

it on and do it with screencasting.

You can always make yourself look good.

You can always take things out.

You can always reshoot.

but I think live stream is good for
me to just get over the no one cares.

Obviously a point where yes, you will
eventually if you're like primogen

or one of these people, like you're
going to have hecklers and things,

but it's also a little bit of
primogens like brand at this point.

So we have this like streaming
heckler programming group out there.

CJ: Yeah.

Colin: So

CJ: Yeah, it's definitely a good
way to, share your process too.

Cause I think sometimes people in
screencasts, me too, I'll have something

pretty polished by the time I record.

And so you won't see the errors or the the
approaches that were thrown away, like the

drafts that didn't make it into the final.


So I try to leave like errors and things
in and talk about how I approach things,

but I, you don't get the same in a pre
record video as you do from a live stream.


Colin: Yeah.

some of these advent of code
ones, if I was making a video,

it'd be a very long video.

So we're like, Oh, we're
throwing stuff away.

I noticed that because you
already solve them before you

screencast them, which is nice.

and you still get a lot of the
thought process, which goes on.

And, if you record it shortly after
doing it, you don't really lose too much.

but then we benefit from a shorter video.

CJ: Yeah, exactly.

And usually I'll solve it and then I'll.

Go look at solutions.

And then I will also, I've been
recently, I've been taking my code

and giving to chat GPT and being
like, give me feedback on this.

Like, how can I make this better?

And, sometimes it's Oh, did
you know about this method?

Or did you try naming the
variables this way or whatever?

I'm like, Oh, wow.

That's, those are like really helpful.

So then I try to incorporate all
that so that the advice comes

out a little bit more pro than
just me hacking on something.

Colin: Yeah, I need to do that with
my Python because this is I'm using

like a blunt hammer with Python.

I'm like, this is the only methods I know.

So we're going to use these and
it'll be good to know, hey, you

can write this in a better way.

CJ: Yeah.

I remember when I learned Python,
someone told me that with Ruby,

it's like finger painting.

You can be really creative and there's
lots of different ways to do stuff.

And, you can be really, you can almost
express your, like your personality

through the code you write and Python
is just like laying bricks, there's just

like a for loop and then there's list
comprehensions and there's functions

and there's classes and there's like
a handful of language features, but

really it is just There is basically
one way to do things in the language.

And you just, once you learn that
way, you just do it that way.

Whereas like the enumerable module in
Ruby probably has 50 different methods

now or something, wild that let you do,

Colin: I think that the syntactical sugar
of Ruby is so apparent when I look at

your videos compared to my solutions,
I'm still usually following the same

train of thought, but then I'm like, I
guess I got to use this one tool in my

toolbox, but I'm still getting used to,
doing Ifs and blocks have to have colons

at the end, and there's no ending of
it because it's all indentation based.

Because I'm like writing my end or
creating like braces and I'm like, no,

this is the wrong language for that.

going between Ruby, Python,
and JavaScript, those are

very different for sure.

CJ: Totally.

Colin: Awesome.

we went from having not a lot to talk
about to having a lot to talk about,

CJ: yeah.

As always, you can head
over to buildandlearn.

dev to check out links to all
the resources and things we

mentioned in the show notes.

Colin: Awesome.

Thanks everybody.

We'll see you next time.

CJ: Bye friends.

View episode details


Listen to Build and Learn using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music
← Previous · All Episodes · Next →