Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

331 lines
20 KiB
Plaintext

Episode: 1259
Title: HPR1259: Cyanide Cupcake and Klaatu
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1259/hpr1259.mp3
Transcribed: 2025-10-17 22:33:24
---
Hi everyone, welcome to Hacker Public Radio.
This is Clat 2, and with me is...
Sinite Cupcake.
And we're here to talk about something that I think I'd heard of before, but something
that you Cupcake had sort of brought to my attention, and it's called Scratch.
So what is Scratch?
Scratch is a lot of things.
It's a gooey interface that pretty much teaches coding to children, and they can start
as young as eight.
And it also, like, that you create things like video games, you can use it as a paint
tool and create animations, or moving sprites that you can use in other projects.
The cool thing about Scratch is that it's sort of almost a puzzle piece.
It's a visual programmer, so you've got, like, these little puzzle pieces that you can
move around to create your different code.
Yeah, so, like, the code block categories you have, like, motion, control, like, when do
you start, when do you stop the different scripts?
Look, sensing, sound, and operators and variables.
So there's...
It's introducing children to the coding language and, like, how to put everything together
without them actually happening to know the code off the top of their head, like, this
is what I write here to make this happen.
It uses predetermined blocks that you can sometimes modify, but for the most part, they're
already presented for the top.
Yeah, do you get a lot done with just the preset blocks?
If someone was going to look at this or have their kid or their classroom look at this,
how would they start out with Scratch?
What kind of projects are you seeing being made?
Well, the first thing is a really simple game where you just have a sprite, which is your
character, have him move across the screen, walk back and forth, make it so that he bounces
against the wall, so he's not just walking off the screen forever.
I guess the first thing that you could do is have a very simple game where your sprite,
which is your character.
You have your sprite walk and walk using your arrow keys, so they're very, very simple,
and then you can also, like, start to add more steps to that, so you want to be able
to control him walking.
Well, now maybe you want to add a second sprite that's an object, and that object could
be something that the sprite needs to obtain, and then, so you figure out how to make
the sprite obtain that object.
Then you can go on to another level, and you can build upon that and then create a counter
or a timer, so you maybe need to collect the object that your sprite's collecting.
So many times within a certain minute to win the game, you can create winnable games.
That's another really great thing about Scratches.
You can start off very, very basic, but then you can build upon those first projects that
you made.
I have a project that started out as a monkey collecting bananas, and that was my first
Scratch project, and then kids helping me do this game and create this game, and they
would come over and they would be like, well, why don't you have the monkey collect green
bananas, and the green bananas are with one point, and then the really yellow bananas
are with two points, because those taste better.
Oh, oh, oh, and maybe Miss Cupcake, maybe you could go and you could have a squishy brown
banana, and that could be negative points.
That's cool.
I had this really simple game, but then I could add all these other elements to make it
more complicated, and then eventually I added a timer, and it's a playable game.
For those counters, like when you're collecting the prizes or getting hit by the bad guy,
how do you do that?
Do you implement, is that introducing kids to variables, or are there functions, especially
for scorekeeping or what?
You're introducing kids to variables.
You set a variable, and like in this one game, I have the variable is prize, like every
time you collect the prize, you get another point.
And so I get introduced to kids to variables, and also I have this dungeon crawler, and
so in this dungeon crawler that I have two things, I have a good guy, well, I have my good
guy who's traveling through the dungeon.
I also have bad guys who are moving back and forth between certain areas, and I'm sure
you guys have all seen dungeon collars before, and know how they work.
So you have your hero, your good guy sprite, so my hero who's a knight, and he's traveling
exploring the dungeon and collecting different prizes, which give him XP points.
And then there's also bad guys that are also moving through the dungeon, but only in certain
sections.
They're not just wandering around aimlessly.
And whenever your hero touches a bad guy, he loses some XP.
This was kind of tricky to figure out, because whenever the hero was walking every single
time he would hit the bad guy, he would lose points.
Even if it was in the same time, as you're continuing walking past the bad guy, it would
still just keep deducting points, and all of a sudden you'd be like negative 100.
So what had to happen with that was there had to be, we have two things, there's an invisible
variable called damage, and then there's the XP.
So you have to, if touching hero, set damage to one, and then wait until the bad guy sprite
is not touching hero, then you set the XP to equal XP minus the variable of damage.
And then you set damage back to zero.
So next time you hit damage, you're not incrementing and losing like two, and then three.
That's great.
Because I mean that, so in your monkey project, for instance, the concept really didn't
even apply, because it was like, hey, you hit the rotten banana and you, the rotten banana
disappears.
Right.
And you, you are left with negative one like point or whatever.
It happens immediately.
Yeah.
Whereas in this, you want the bad guy to stay on the screen, but you obviously like you
said, don't want it to keep reducing your health or XP, whatever, forever.
So yeah, that's really cool.
So it's teaching kids not only about variables, but really kind of how to think around some
of these weird issues that will pop up when you're programming, you know, it's like different
situation.
You have to think differently about how to get the same, what looks like the same result,
but it's actually a different, you know, it's a different process.
Right.
I actually just kind of like ties into that in two ways.
One, I meet with a lot of other educators, especially I don't teach in like in an elementary
school.
I teach in like a program that goes into schools and also has onsite programs in the building
that I work in.
But I interact with a lot of teachers who are like traditional like English teachers, math
teachers.
And they want to start introducing programming and coding to children, but they don't
know how.
And the thing I keep hearing adults saying is, well, we don't know it, like we didn't
go to school for program.
Like I'm an English teacher.
I know, you know, literature and Shakespeare and I don't know anything about coding.
Like how can I possibly introduce this to my classroom?
And that's the thing I think a lot of adults are afraid of.
That's not the way it is at all, with programs like Scratch especially.
It's very easy to introduce not just the students, but also yourself to developing like
the mindset of how to program and it's okay to not have all of the answers.
For my class is like I try to approach it as not this is how you do it and here's why,
but instead having the kids look at it and say, okay, why do you think it does this?
Like I want you to tell me what comes next.
I want you to tell me like why you're getting this result.
Why doesn't this work?
So asking the questions before providing the answer, where normally we teach the opposite
direction, like we give kids the answers and we tell them how it all works and then we
give them the test to where they have to actually show that they learned it.
So it's learning from like a different perspective.
Yeah.
And it's a lot more interactive way of learning too, I think.
Yeah.
I think it really engages children.
Personally, I'm a hands-on learner.
Like I could sit there and listen to somebody lecture about a program like Scratch or an
editing program for hours, you know, and it doesn't sink in until I actually get my hands
on a keyboard and I'm playing around with it.
That's whenever it's like, oh, I understand.
And so I think that this is perfect for learners that learn in that way.
And I think that even if you're not a learner that learns that way, you'll still be able
to get it.
So because like the answers are produced eventually, but it's more of like a thought process
than just here they are.
Well, I think that's an interesting point because two things came to mind.
One is that I think that's how life is anyway.
Right.
You know, life is very rarely a step-by-step process solving problems.
Not paying by numbers?
Yeah.
I find not so much.
But and neither is programming really.
Like if you think about it, I mean, there are certain things, yeah, every client or whatever
is going to want the same thing and there are drop-in solutions.
But I mean, more often than not, it's not like that.
It's like like the monkey and the dungeon crawler example, like to us, it looks like the
same thing.
You hit a bad guy.
You get decremented.
But in actuality, if you look at the code, it's a completely different process.
So that's a really, I mean, if you teach kids, hey, this is how you take away points, then
they're going to walk away with that lesson and think that every time they want something
to happen, it needs to be that way.
And then they'll find out, oh, that's not correct.
I have to come out with a workaround.
So teaching kids, yeah, sort of from the other end of things, it's kind of, it's a lot more
realistic so that when they sit down, they know that they're not, it's not just dropping
in certain code blocks, it's, you have to really think about it and know your toolset
and then just start building it up from, well, scratch.
That was a really bad joke.
That wasn't a joke.
That was my product tie-in.
Ah, okay.
Something I'd like to mention about that actually is, we, me and Clatchu, actually went to go
see Mitch Resnick, who was on the, he was the head of the creative team, the creative scratch.
And he had this really great quote that I'm going to look up here, hold on one second.
So the quote is from a 11 year old boy who uses scratch.
And he says, I love scratch.
Wait, let me rephrase that.
Scratch is my life.
I have made many projects.
Now I have what I call a programmer's mind.
That is where I think about how anything is programmed.
This has gone from toasters, car electrical systems, and so much more as a 11-year-old
already considering himself to be a programmer and to be thinking in those unique ways where
you're really looking at the problems and the solutions and not just like, I know that
this is what I was told.
And this is the answer.
The 2 plus 2 was 4 because they told me.
Yeah.
And it's kind of interesting, I think, because when I saw scratch, I was super impressed,
but I was also a little bit puzzled because it was only at least what I thought I could
only see like 20 different programmer puzzle piece blocks, you know, and I was like, well,
how could we possibly, how can we do these things that we want to do with just this finite
set of pieces?
But then as we kept using it, it became apparent that you can use all those puzzle pieces
in really creative ways, even though it seems like you've got this set of tools and
it's only that set, you can assemble them in any way you want, and you come up with
like really interesting like outside of the box kinds of solutions.
And you can put things inside of other things.
Yeah, you know, and it's almost restrictive in a way because you only have this certain
set of like what we would call modules or functions, but actually you can use them in so
many different ways and it really does encourage you to think much more creatively than what
I think you're used to in a lot of other situations.
Another cool thing about Scratch is their online network.
They have kind of like a social networking site almost.
You can upload your projects to the Scratch website, upload your projects to the Scratch
website, and you get like adult uploading things for their students, you get like just
people like kids who work on this and they're just about time uploading it, and you get
adults uploading things too.
So you can share your work with others and show them what you've done.
People can comment on your work giving you tips on how to improve it or you know like
what they like about it, what they don't like about it.
But the best thing about the Scratch network I think is the fact that you can look at
everybody else's code.
Right.
If you upload your project to the Scratch website next to it, they will automatically put
a little button that says like this project has four sprites and ten like ten scripts.
You click download and then you can open it up in your Scratch program and you can play
around with it.
You can see like there was this one game, it was a Pac-Man game and you go in and see
like how they made like all the different sprites move and like what variables they used
and like how they laid it out.
So like if you want to create something and you're not sure how, you can search for what
you think you're looking for and there's probably already a program that's used that
and you can look at the script.
Also that means you can build upon everybody else's work.
So kind of like I said like you can have a very simple sprite that just walks and then
you can like build upon it, same sort of thing.
You can download somebody else's like if you like their sprite, you can download it
from their website, put it in yours and that's the whole open source idea is what they're
fostering here and like with creative comments and everything too.
And I think especially for teaching that to kids, that's like really awesome.
Like telling them like they're not stealing anything that you're done like because you
always hear with kids like I also teach animation and I always hear he stole my idea.
Like I was going to do pirates and it's like well, that's not just your idea.
You can do something completely unique based off of the same concept and scratch really
encourages that and that's a really great way to teach the idea that like people can
share and explore and grow together and use similar ideas but still end up with completely
different projects.
Once again when we went to go see Mitch Resnick, he talked about that there's this one girl
my red Neptune and she, she really likes to draw.
So she's been doing scratch for many years so she creates beautiful drawings and scratch
and she would like to use sprites and stuff that were animated and other users would ask
like well, I really like that cat you did, I want a unicorn for my next game.
Could you create a unicorn for me?
And she would be like yeah, so she would create an upload different sprites for other users.
So once again collaborating.
So she kind of found a niche of her, she would be the go to artist.
Right.
And then it grew even from that though because then she started uploading tutorials that
she created and scratched showing other people how to draw.
So then she became not just like before she was just providing a service to other people.
Now she's actually teaching other people how to do what she does.
Yeah.
And that's just like mind blowing to me that like it's it's collaborating and it's also teaching
kids to teach each other which is really really awesome because whenever you start to like
you can know something but until you start to teach it you don't really realize that
you do know it and it's never really questioned that you know it.
But once you start teaching that's like a great way to be like I do know this skill and
I can share it with other people.
What platform is scratch available for all three operating systems.
So Linux, Mac and yeah, yeah, so anybody can use it.
They're also coming out with a new right now it's like still in beta but they're coming
out with a new version it's scratch 2.0 and I think it's supposed to be unveiled before
the summer.
I'm hoping so because that's whenever my classes are running be nice to use the latest
program they have.
We'll have a link to the show in the show notes to the scratch project but what is the
URL just for people who don't want to be bothered to go look it up.
The URL is just scratch.mit.edu.
Okay.
By the way, this was created at MIT, I haven't mentioned that before.
Also too.
I mentioned before about the really great rich online community and I got kind of carried
away because I'm very excited about it which is really great but I also want to mention
too because I'm an educator that there's also a website called Scratch Ed and it's scratch
pretty much a scratch.media.mit.edu and this is like where the educators go and hang
out so there's like other people post their lesson plans.
If you have a question or want to share something with somebody there's forums and like they're
really rich like people are constantly communicating with each other on their.
So if you're an educator and you're interested in learning this or if you want to teach it
to your kid at home I would definitely check out the scratch ed website because I think
that also has lots of resources and lesson plans and everything.
Yeah and actually I built installers for scratch as well as squeak which scratch runs
in for Slackware so if you're using that go to slackermedia.info slash Slack builds.
URL's everywhere.
Come to cupcake and clad twos.
URL in poor yeah.
It's a great, great little program it's really, it's really fun to use.
It's amazing I think to see people use it too.
You can sit people down in front of it and they almost teach it to themselves.
It's one of those things that you can really get started with with almost no introduction
and like you've already said even if you're just a lone person you have no other resources
go to the scratch website.
There's like a bunch of example projects like a million of them so you can learn and
you always can learn from the code that exists there.
I actually learned scratch from a group of 8 to 10 year olds and they they had learned
it they were in fourth grade and they had learned it in their fourth grade class in school
and it was over a week at summer camp and they told me about it and I was like well I
was looking into getting into this anyway downloaded the project and then sat there at
lunch and snack break and the kids would like lean over my shoulder and they would tell
me what to do and they would offer suggestions.
So 8 year olds, kids as young as 8 taught this program and I mean that's empowering
for them and it was also very exciting for me to be learning from somebody so much younger
than me and seeing how well they really truly knew this program and they had only had
it like a little bit at school.
It's not like it's like a full scratch course at their elementary school and they already
knew it very very well so I think it's very easy to pick up and then later translate into
real like programming languages that you know the traditional like Python and what not
so yeah.
Cool.
That's scratch.
Go check it out everybody.
You have been listening to Hacker Public Radio or Hacker Public Radio does our, we
are a community podcast network that releases shows every weekday Monday through Friday.
Today's show like all our shows was contributed by a HBR listener like yourself.
If you ever consider recording a podcast then visit our website to find out how easy
it really is.
Hacker Public Radio was founded by the digital dot pound and the economical computer
cloud.
HBR is funded by the binary revolution at binref.com, all binref projects are proudly sponsored
by Lina pages.
From shared hosting to custom private clouds, go to Lina pages.com for all your hosting
needs.
On list otherwise stasis, today's show is released on the creative commons, attribution,
share a like, free dose of license.