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.
it's
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.
So
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.
So
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?
Okay.
Nice.
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.
Yeah.
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.
Oh
Colin: spoken languages.
CJ: my gosh, that would be awesome.
Yeah.
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.
Yeah.
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.
Yeah.
Sweet.
Sound like it's getting easier.
Colin: becoming a Twitch fan boy,
CJ: sweet.
Awesome.
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.
yeah.
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.
Yeah.
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.
Yeah.
Yeah
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.
Really.
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.
Because.
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.
Graceful.
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.
version.
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.
So
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.