PodSearch

Under the Radar

152: Removing the Bumpers

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS app development.

00:00:04 ◼   ► I'm Marco Arment.

00:00:05 ◼   ► And I'm David Smith.

00:00:06 ◼   ► Under the Radar is never longer than 30 minutes, so let's get started.

00:00:10 ◼   ► So today I wanted to talk about an experience that I had this last weekend that I think

00:00:16 ◼   ► taught me some interesting lessons as well as just was kind of a fun, silly experience.

00:00:21 ◼   ► And at a high level, I think I'm going to talk, it's talking about the usefulness of

00:00:26 ◼   ► having kind of messy development experiences.

00:00:29 ◼   ► And for me, this got started when I was-- so my son, who's nine, I've been kind of working

00:00:36 ◼   ► through exposing him to programming.

00:00:38 ◼   ► Like it's always a bit perilous when you're trying to push your chosen career onto your

00:00:42 ◼   ► children.

00:00:43 ◼   ► But he likes it, enjoys it.

00:00:45 ◼   ► He says if you ask him what he wants to be when he grows up, he wants to be an Apple

00:00:48 ◼   ► developer.

00:00:49 ◼   ► So like, he has interest as well as my interest.

00:00:52 ◼   ► But we've been doing a lot of work in Swift Playgrounds.

00:00:56 ◼   ► And the great content that Apple put out there, and it's a lot of fun, and he's been kind

00:01:00 ◼   ► of working on it.

00:01:01 ◼   ► But I kind of had this realization that in my experience learning to program, a lot of

00:01:07 ◼   ► my formative time learning to code wasn't in a classroom, wasn't in a clean, kind of

00:01:14 ◼   ► like straightforward, sanitized environment.

00:01:17 ◼   ► It was very messy, for lack of a better word.

00:01:19 ◼   ► There was a lot of just kind of like duct tape and opening-- my first programming was

00:01:24 ◼   ► in QBasic.

00:01:25 ◼   ► And it's like, I just remembered, you just try stuff, and it doesn't work, and you don't

00:01:29 ◼   ► know why.

00:01:30 ◼   ► And then you just try more stuff.

00:01:31 ◼   ► And there's that kind of learning to push through when things don't work.

00:01:36 ◼   ► And there's a messiness about that that I think can lead to both an important set of

00:01:41 ◼   ► skills that are important to develop as a programmer and is also just like-- I don't

00:01:48 ◼   ► know.

00:01:49 ◼   ► It's not like I want to make sure that he has the same experience that I had.

00:01:52 ◼   ► But I think it's an important part.

00:01:53 ◼   ► It gives you the full picture of what programming is like, because programming is usually not

00:01:59 ◼   ► like using the great content in Swift Playgrounds, where it's very clean and precise.

00:02:04 ◼   ► And if you have a syntax error, it sort of points it right out to you.

00:02:07 ◼   ► And it's very sort of clean.

00:02:09 ◼   ► It's sort of like when you're going bowling, and they put the bumpers down on the side

00:02:14 ◼   ► of the lane.

00:02:15 ◼   ► And you really can't go wrong too badly.

00:02:19 ◼   ► And so I wanted to kind of give him that experience.

00:02:20 ◼   ► And I was trying to think about a way to do that that would be appropriate for his level

00:02:26 ◼   ► and where he is and also just be kind of fun.

00:02:28 ◼   ► And so this last weekend, we worked on a little project together.

00:02:31 ◼   ► And this project was coming out of something that he'd been saying or getting around Christmas,

00:02:35 ◼   ► and he was talking about what he wants.

00:02:37 ◼   ► And the thing that he wanted most was a time zone clock, which if my son loves time zones

00:02:43 ◼   ► and apparently he wants to become a programmer, I've yet to break the news to him that he's

00:02:48 ◼   ► in for a tough time or his love of time zones may diminish as his interest in programming

00:02:54 ◼   ► increases.

00:02:55 ◼   ► But that's what he wanted.

00:02:56 ◼   ► Well, at least you know he has a sure job at Apple.

00:02:59 ◼   ► Yeah.

00:03:00 ◼   ► It's like time zones are a rough thing.

00:03:03 ◼   ► But I didn't want to break, sort of, limit that too much.

00:03:06 ◼   ► He wanted a clock that you could push a button and it would show you times around the world,

00:03:12 ◼   ► basically.

00:03:13 ◼   ► And so at first, we're going to Amazon or whatever, and like, is this a thing that exists?

00:03:18 ◼   ► Like, can you buy a time zone clock?

00:03:20 ◼   ► And you really can't.

00:03:21 ◼   ► Like, they just don't exist as best as we can tell.

00:03:23 ◼   ► And maybe they do it at some degree.

00:03:26 ◼   ► But the closest we could get is like those crazy clocks that you see in like the back

00:03:30 ◼   ► of newsrooms or like situation rooms where you have like 12 analog clocks in a row, each

00:03:37 ◼   ► showing a different time.

00:03:38 ◼   ► Those are awesome.

00:03:39 ◼   ► Which is great, but it's not really what he wants.

00:03:42 ◼   ► What you want is called a world timer, but go ahead.

00:03:44 ◼   ► Well, so anyway, we thought this would be a fun project.

00:03:48 ◼   ► Like, well, why don't we make one?

00:03:50 ◼   ► And at first, I was like going down the road of like, I wonder like how if we made it like

00:03:55 ◼   ► with like Arduino and like really low level stuff.

00:03:58 ◼   ► And I very quickly realized like this is like I ejected out of that idea because I got very

00:04:04 ◼   ► low level to like trying to like, you know, solve solar things together.

00:04:09 ◼   ► And like it was no good.

00:04:10 ◼   ► And I was like, what about something like a Raspberry Pi?

00:04:13 ◼   ► Something that like is a small, simple, low power computer that I could like put a little

00:04:18 ◼   ► display on and ended up digging around for a while.

00:04:22 ◼   ► Like that Raspberry Pi world is both awesome and terrifying and that there is like infinite

00:04:27 ◼   ► diversity and things for how you hook things together and like options for ways you can

00:04:32 ◼   ► do.

00:04:33 ◼   ► But eventually I found something that I could get a little Raspberry Pi Zero that came with

00:04:36 ◼   ► a little OLED screen.

00:04:38 ◼   ► And on the OLED screen, there's like a on one side, there's a directional sort of

00:04:44 ◼   ► set joystick and two buttons on the other side.

00:04:46 ◼   ► So this was perfect.

00:04:47 ◼   ► It was like a little project that we could do to make his timezone clock.

00:04:52 ◼   ► And it was like, I'll talk about a little more of the experience in a minute.

00:04:55 ◼   ► But I think it was like I can say having now done this with him, like we built this, this

00:04:59 ◼   ► awesome clock is it was what I was hoping for.

00:05:03 ◼   ► It was messy.

00:05:04 ◼   ► It was really problematic in a lot of ways.

00:05:06 ◼   ► And I think it was helpful for me to be able to go through the experience with him that

00:05:10 ◼   ► I didn't like, just like let him loose and be like, you know, just like try all this

00:05:14 ◼   ► crazy stuff until it works.

00:05:16 ◼   ► But I was able to work through it in a fun way.

00:05:19 ◼   ► And I think that's an important lesson that like there's sometimes a lot of what we

00:05:22 ◼   ► do is not clean is not sanitized is not something that like what makes you a good developer

00:05:29 ◼   ► is sometimes how you can how well you can program when the bumpers are up.

00:05:34 ◼   ► - Yeah, I have a lot of fun when I'm forced to program without those bumpers.

00:05:40 ◼   ► And I know not everybody finds that fun.

00:05:43 ◼   ► But for me, like I consider that kind of thing like a fun challenge, an intellectual challenge.

00:05:48 ◼   ► Raspberry Pi for me was like I did a few small household projects with Raspberry Pis last

00:05:54 ◼   ► year or earlier this year, I forget when.

00:05:56 ◼   ► And I loved it.

00:05:58 ◼   ► I absolutely loved it because, you know, I already knew how to do basic Linux system

00:06:03 ◼   ► administration.

00:06:04 ◼   ► And a Raspberry Pi is just a tiny like $30 Linux computer that runs in your house and

00:06:09 ◼   ► you can put whatever you want on it.

00:06:11 ◼   ► And it's kind of amazing like that the computer, you know, quote the like the entire computer

00:06:17 ◼   ► costs almost nothing relative to, you know, to, you know, Western prices of anything like

00:06:23 ◼   ► like I've bought vitamins that cost more than my Raspberry Pi.

00:06:27 ◼   ► So like to have something like that, that is like, yeah, it's a little bit harder to

00:06:32 ◼   ► use.

00:06:33 ◼   ► It's a little bit lower level.

00:06:34 ◼   ► I did actually do some soldering to to like wire up some LEDs to something.

00:06:38 ◼   ► You're braver than I was.

00:06:39 ◼   ► I did get all the pre-made stuff that I could get.

00:06:42 ◼   ► Oh, I did too.

00:06:43 ◼   ► Like, but there was a there was like one thing.

00:06:44 ◼   ► Oh, it was an RFID board that I wanted to like I want to attach an RFID board to this

00:06:49 ◼   ► thing.

00:06:50 ◼   ► Like the only ones I could find that work with the RFID tags that I got was like I needed

00:06:54 ◼   ► to solder like six wires.

00:06:56 ◼   ► And I did.

00:06:57 ◼   ► And I broke a Raspberry Pi doing it.

00:06:59 ◼   ► And so I bought another one for another like $25, $30, whatever it was.

00:07:05 ◼   ► And the second one I did correctly.

00:07:06 ◼   ► So that was okay.

00:07:09 ◼   ► And because I'm not good at soldering, it turns out.

00:07:13 ◼   ► But it was fine.

00:07:14 ◼   ► Like and it's it was kind of fun.

00:07:15 ◼   ► First of all, it was kind of fun to fail and to fail so embarrassingly like, oh, well, I

00:07:20 ◼   ► scorched this trace off the board and now it doesn't work anymore.

00:07:24 ◼   ► So there's a problem.

00:07:27 ◼   ► It was also nice that I you know, I hadn't killed like $1,000 computer or like, you know,

00:07:32 ◼   ► a $700 iPad or anything like that.

00:07:35 ◼   ► And yeah, it was it's nice because, you know, like as you mentioned, like we so often have

00:07:40 ◼   ► all these modern tools and luxuries and it makes it very easy on us in certain ways.

00:07:46 ◼   ► And not to say the programming has gotten easy, but in certain ways it has become easier

00:07:52 ◼   ► or certain classes of mistakes are pretty much impossible to make anymore.

00:07:56 ◼   ► Now we can make new new kinds of mistakes anyway, but it's kind of like like when you

00:08:01 ◼   ► when you like work out a muscle in your body accidentally that you have never really used

00:08:06 ◼   ► before or that you haven't used in a long time.

00:08:09 ◼   ► You know, and and like you get really sore in some like, you know, embarrassing way like,

00:08:14 ◼   ► oh, I was playing we tennis and I got sore because I was swung my arm and just this right

00:08:20 ◼   ► way that I haven't swung my arm in five years or whatever and you get sore from like playing

00:08:24 ◼   ► a video game.

00:08:25 ◼   ► It's it's kind of like that we're like we have all these like atrophied programming

00:08:29 ◼   ► muscles from types of mistakes types of programming types of difficulties that we don't really

00:08:36 ◼   ► have to deal with most of the time anymore.

00:08:38 ◼   ► And so to be thrown back into that and to exercise those atrophied muscles does feel

00:08:43 ◼   ► good on some level and it is something that probably for like the overall health of your

00:08:47 ◼   ► programming mind.

00:08:49 ◼   ► You probably should be forced to deal with some of these things every once in a while.

00:08:53 ◼   ► And I think it isn't that like this experience is like it isn't the difficulty of it or like

00:08:59 ◼   ► the messiness of it that makes that is like intrinsically valuable that isn't like we

00:09:03 ◼   ► want to always be working in messy things.

00:09:04 ◼   ► I think there is but I think the way you described it there is that like there's elements of

00:09:09 ◼   ► being a well rounded developer that are enhanced by doing this kind of like more kind of in

00:09:17 ◼   ► the weeds messy like things don't quite work together like you kind of are like patching

00:09:20 ◼   ► things together and like hoping this works so this doesn't work and that like that that

00:09:25 ◼   ► it I think in many ways it is it's forcing you to be creative in a technical way that

00:09:32 ◼   ► is a useful thing practically useful muscle to develop that doesn't always get developed

00:09:39 ◼   ► otherwise.

00:09:40 ◼   ► I mean so like some examples like some of the really funny things that we had to deal

00:09:43 ◼   ► with like I have a brutalist thesis we went because it's just I mean I had a blast doing

00:09:47 ◼   ► it but it was just kind of funny.

00:09:48 ◼   ► Like the first one was so the Raspberry Pi in order its display is via HDMI and so at

00:09:56 ◼   ► first when I bought it I think I can plug it into a TV and like we can just use that

00:10:00 ◼   ► and like that'll be fine but then I remembered that in my in my garage in the I haven't quite

00:10:06 ◼   ► like I have a whole I have like a box of technology that I've said I'm going to like take for

00:10:11 ◼   ► recycling but I have a hard time recycling old technology because I liked like there's

00:10:16 ◼   ► in the back of my mind well one day I might need it one day I might use it and I remember

00:10:19 ◼   ► that in this bag of things and I'm trying really hard to not internalize that this was

00:10:22 ◼   ► actually successful I went out to the went out to the garage and I found a really old

00:10:27 ◼   ► monitor that I had that I thought might have an HDMI in.

00:10:31 ◼   ► I take this monitor out of the box I go and put it on my desk and then I remember why

00:10:35 ◼   ► I stopped using this monitor and that's because the controls like the buttons on the front

00:10:40 ◼   ► that turn it on that like part of the monitor had just physically broken like it just kind

00:10:45 ◼   ► of like you know like the button the button connector had broken and so you couldn't turn

00:10:50 ◼   ► the monitor on but I'm in this mode where I'm like you know like rolling up my sleeves

00:10:55 ◼   ► so I like a pull open the thing and there's there's just like this collection of wires

00:11:01 ◼   ► and there's six little control wires that presumably like went into some kind of board

00:11:05 ◼   ► that are now just hanging free and so the first thing I did is like well okay so let's

00:11:09 ◼   ► see if I can turn this on and so I just sat there sequentially like shorting the wires

00:11:13 ◼   ► against each other and like I have no idea which like combination gave up at first I

00:11:19 ◼   ► was trying to be systematic about it and eventually I just kind of like took all the wires and

00:11:22 ◼   ► just like smushed them together randomly for two or three minutes and eventually the monitor

00:11:26 ◼   ► turned on like I got the right combination of wires that like I should you know like

00:11:30 ◼   ► this one was the power button like these two wires you know touching each other so first

00:11:35 ◼   ► thing like I felt really like this is great this is messy I'm in the weeds like shorting

00:11:39 ◼   ► manually shorting out wires to turn on my monitor then the next thing was trying to

00:11:43 ◼   ► get the keyboard and mouse to work on the Raspberry Pi which for some maybe it's just

00:11:48 ◼   ► like the stuff I had or the setup I had but it was incredibly challenging to do so as

00:11:54 ◼   ► best I could tell is like the way you do this is you have you need to have a powered USB

00:11:59 ◼   ► hub that you plug into the Raspberry Pi because it can't power the the mouse or keyboard itself

00:12:04 ◼   ► like okay that's fine so I get I take out my my I have like three of those in the closet

00:12:08 ◼   ► because I can never get rid of technology I try the first one mouse or keyboard won't

00:12:13 ◼   ► work at all try another one doesn't work try a third one and finally I was able to get

00:12:19 ◼   ► the keyboard to work the mouse still wouldn't be recognized but I could get a keyboard to

00:12:24 ◼   ► work so like okay great I mean like this is a massive improvement this is Linux you don't

00:12:29 ◼   ► really need a mouse in Linux but you sort of do but I got to that there unfortunately

00:12:35 ◼   ► I then discovered that the keyboard was in the wrong layout or like localization which

00:12:42 ◼   ► was awkward because there were two characters that I could not type and that is the pipe

00:12:49 ◼   ► and the quote characters which in Linux the pipe character is something you actually use

00:12:56 ◼   ► quite a lot and specifically I was when I was trying to debug all of the keyboard stuff

00:13:01 ◼   ► and the mouse stuff to work out what was going on it's like I was doing a lot of you know

00:13:05 ◼   ► like dumping the log file and usually I would like to pipe that to grep but I couldn't because

00:13:12 ◼   ► there was no pipe on my keyboard even if I pushed if I push the pipe key it's like I

00:13:16 ◼   ► got you know an ampersand or something and it was just maddening eventually I was able

00:13:21 ◼   ► to like with key work out how to go into the menu system and re-map that to be correct

00:13:28 ◼   ► and eventually then I was able to use just the keyboard to turn on VNC and then from

00:13:32 ◼   ► VNC you know once I got VNC turned on I could work out how to get VNC connecting after I

00:13:37 ◼   ► manually assigned an IP address to my computer the Raspberry Pi and then I was off to the

00:13:42 ◼   ► races and now I have a fully functional computer that I can just you know VNC in from my big

00:13:47 ◼   ► Mac but I just love that experience like it's so weird that it was so frustrating in a lot

00:13:53 ◼   ► of ways but it was like frustrating in a way that felt like I was like an explorer I don't

00:13:59 ◼   ► know it's a bit weird when you say it but I felt like I was you have like really having

00:14:03 ◼   ► to solve these problems that I know are solvable that are totally out of something that I normally

00:14:08 ◼   ► do and it's not like I'm solving like fitness sinking problems or you know the usual stuff

00:14:12 ◼   ► that I have to deal with it's these are just kind of like random silly technical problems

00:14:17 ◼   ► and I was able to you know experience sort of show my son kind of that this is what you

00:14:22 ◼   ► know being a programmer sometimes like that things just like don't quite work and you

00:14:25 ◼   ► just kind of keep trying things until they work and but it was just kind of a fun experience

00:14:30 ◼   ► as a result.

00:14:31 ◼   ► We are brought to you this week by Squarespace. Make your next move with a beautiful website

00:14:36 ◼   ► from Squarespace. They'll let you easily create a website for your next idea with a unique

00:14:41 ◼   ► domain, more wedding templates and so much more. Whether you want to create an online

00:14:45 ◼   ► store or portfolio, a blog or a podcast, Squarespace is the all-in-one platform that lets you do

00:14:52 ◼   ► any of that and there's nothing to install, no patches or upgrades to worry about because

00:14:57 ◼   ► Squarespace has all that covered for you. If you need any help they have award-winning

00:15:01 ◼   ► 24/7 customer support and while you're building your site you can quickly and easily grab

00:15:06 ◼   ► a unique domain name as well. They have easy easy to use easy to modify templates. These

00:15:11 ◼   ► are beautifully designed for you to show off your great ideas and you can very easily customize

00:15:16 ◼   ► them to whatever you want as well. Squarespace plans start at just $12 a month and you can

00:15:22 ◼   ► start a free trial with no credit card required by going to squarespace.com/radar. When you

00:15:28 ◼   ► decide to sign up use the offer code radar to get 10% off your first purchase of a website

00:15:32 ◼   ► or domain and to show your support for under the radar. So once again that is squarespace.com/radar

00:15:38 ◼   ► and code radar to get 10% off your first purchase. We thank Squarespace for their support. Squarespace,

00:15:44 ◼   ► make your next move, make your next website.

00:15:46 ◼   ► See I think a lot of the value in doing these kinds of you know like different projects

00:15:52 ◼   ► or like removing some of the safeties and everything is that you end up not only exercising

00:15:58 ◼   ► muscles that you haven't exercised in a while but also you you do along the way just

00:16:03 ◼   ► pick up skills or you pick up new abilities or you pick up familiarity with new tools

00:16:09 ◼   ► and you never know when that can come in handy. Like when I was doing my my Raspberry Pi experimentation

00:16:16 ◼   ► in order to interact with this RFID board I had to use a C library that like you know

00:16:21 ◼   ► was its driver basically and I think there was a Python option too and like and I didn't

00:16:28 ◼   ► know any pythons but I could have I could have used that to learn Python. I didn't.

00:16:33 ◼   ► I instead used the C interface and I used it to learn this crazy C driver for this type

00:16:38 ◼   ► of hardware I'd never used before and now if I ever need to do some project that involves

00:16:43 ◼   ► reading RFID tags I have that skill and that may seem right now like that's probably

00:16:48 ◼   ► not going to happen when developing a podcast player but like you never know what what opportunities

00:16:53 ◼   ► or what challenges or what needs will present themselves down the road. You know like in

00:16:56 ◼   ► your case you know you just learned a whole lot about configuring the physical side of

00:17:02 ◼   ► Linux server that you didn't do before and at some point maybe you need that. At some

00:17:07 ◼   ► point maybe economics of server hosting change and you want to co-locate something and you

00:17:11 ◼   ► need to deal with some kind of physical thing when you're setting it up and you can now

00:17:13 ◼   ► do that you know you never know and even if even if these kind of like low-level specific

00:17:19 ◼   ► like relatable transfers of skills don't happen by you doing all that you've gotten

00:17:25 ◼   ► better at Linux. By me doing my RFID thing I got better at C and you know so even at

00:17:32 ◼   ► a bigger level these skills are useful you know you are building up skills and experiences

00:17:39 ◼   ► that you might not think you need right now but at some point in the future that may come

00:17:44 ◼   ► up and you'll be happy that you have the skill. Yeah I think there is so true that

00:17:50 ◼   ► there are countless times where I've learned something that eventually that later on becomes

00:17:56 ◼   ► useful in the future and I think the biggest way that it often becomes useful is sort of

00:18:01 ◼   ► what you're saying is like it isn't necessarily that that that specific thing is going to

00:18:05 ◼   ► be you know come up in your life that like in your development of Overcast you're going

00:18:10 ◼   ► to need to use a C library to recognize RFID tags like that very specific narrow thing

00:18:18 ◼   ► is something that maybe doesn't you know come up into your future but I feel like

00:18:22 ◼   ► what often happens is the exposure to this type of thing means that there is some point

00:18:28 ◼   ► in the future there's a new class of solution to the problem that I'm trying to solve

00:18:33 ◼   ► that I consider as a result because until you have experienced or exposed yourself to

00:18:38 ◼   ► something it is like you know it is totally just like black to you you have no sense of

00:18:44 ◼   ► definition of what that like what's the complexity of that have no sense of like how you would

00:18:49 ◼   ► even get started you know and so often the difficulty in a project is knowing where to

00:18:53 ◼   ► start and I feel like these experiences are these things that then like these it's just

00:18:59 ◼   ► all of a sudden now you have a new door that you can walk through for a particular problem

00:19:02 ◼   ► and it's like it may not be the exact same thing but you consider a solution that you

00:19:06 ◼   ► wish wouldn't consider previously you know and it's a skill that you just kind of have

00:19:11 ◼   ► in the back of your mind that isn't it's like if anything it's just making you less

00:19:14 ◼   ► scared to try new things that like for me I ended up going down the Python route for

00:19:20 ◼   ► the same kind of thing where like I needed to do some you know some programming for this

00:19:25 ◼   ► display board and it's like I took I I'd never used Python before like I heard a lot

00:19:30 ◼   ► about it and then route and for a while like I was like I'm a before I was a Apple developer

00:19:35 ◼   ► I did a lot of Ruby development and like for a while that was kind of like Ruby and Python

00:19:40 ◼   ► were these you know like the two heads of the like the scripting language race or whatever

00:19:45 ◼   ► like they were the two big ones I'd never touched Python all I knew in my mind is that

00:19:49 ◼   ► indentation mattered like that was all I had for how Python worked but now like I've written

00:19:55 ◼   ► some Python like not a lot but I wrote some and it's not you know it's not completely opaque

00:20:00 ◼   ► to me it's like what that's like what the experience is like how hard it is to deal

00:20:04 ◼   ► with indentation being important and like it's it's a weird thing that now if I hit

00:20:09 ◼   ► a situation where I run into something and one of the options is you know it's like oh

00:20:14 ◼   ► here's this thing in Python like I have a sense of how that works I have a sense of

00:20:18 ◼   ► what that might be and I think most importantly I'd be open to a new class of solutions to

00:20:23 ◼   ► a problem that previously I might be closed to.

00:20:26 ◼   ► Yeah and I like how you said a minute ago that like it you like you didn't really know

00:20:30 ◼   ► where to start with some of these things like to me so and I don't know how common this

00:20:34 ◼   ► is but I would imagine it's you know at least it's probably not at least not just me to

00:20:39 ◼   ► me like it's when I when I'm totally unfamiliar with something I always overestimate how difficult

00:20:47 ◼   ► it would be to use or overestimate how difficult it would be to get started right and so like

00:20:52 ◼   ► when I had never used a Raspberry Pi before I like there were a few things that I'm like

00:20:57 ◼   ► oh I like I would like solution X Y or Z like like one of the examples is I had some like

00:21:03 ◼   ► smart outlet plug things that were not homekit compatible but there's this project called

00:21:09 ◼   ► home bridge that allows you it runs on Linux I think and it allows you to to basically

00:21:17 ◼   ► you know make a bridge between other types of home automation devices and homekit when

00:21:22 ◼   ► those devices aren't themselves compatible and let's you do all sorts of other stuff

00:21:25 ◼   ► as well and I had heard about this from our friend Federico fatigue she and a few others

00:21:29 ◼   ► and I just I'm but and it's like oh you have to run on a Raspberry Pi like well I don't

00:21:34 ◼   ► know how to use a Raspberry Pi I don't want to deal with that I don't want to learn all

00:21:36 ◼   ► that now that sounds like it's really complicated and it turns out I got a Raspberry Pi and

00:21:40 ◼   ► it's super not complicated like it's it's incredibly it's way easier than I thought

00:21:44 ◼   ► it would be it was delightful to go through it I loved the feeling of you know learning

00:21:48 ◼   ► at all and just delighting in how much capability was available for how little money and how

00:21:55 ◼   ► like do it yourself at all was it was just delightful and I was so afraid to do it I

00:22:00 ◼   ► was I had built it up in my mind of like oh here's this whole class of things that seems

00:22:05 ◼   ► really difficult or that that that is not a skill that I want to build or that I'm able

00:22:10 ◼   ► to build right now or that I had the time to build and that was all bogus it's it's

00:22:15 ◼   ► totally fine it's totally accessible and that applies to lots of things that I learned you

00:22:20 ◼   ► know like maybe I should have learned the Python interface to my RFID board I think

00:22:24 ◼   ► that's probably that's probably what I should have done you know and like so many things

00:22:28 ◼   ► like you you're presented with this this wall of well here's the thing you don't know turn

00:22:34 ◼   ► around now you know but in reality like if you just plow through that wall because you

00:22:39 ◼   ► are motivated to or you have to for some reason you usually find like hey it's actually not

00:22:44 ◼   ► that bad like I actually I guess learned this thing and it was not nearly as hard as I thought

00:22:49 ◼   ► it would be and now I have this new tool yeah and I think what you said there is the thing

00:22:54 ◼   ► that's interesting is how it feels like it like everything seems everything seems like

00:23:00 ◼   ► seems impossible until you've done it like there's that sense that like the the hardest

00:23:05 ◼   ► time you'll ever do something is like the first time you do it where because you just

00:23:09 ◼   ► didn't know how to do it and now you do and so you have this massive like you know step

00:23:14 ◼   ► jump from knowing nothing to knowing something like the process of learning from there where

00:23:20 ◼   ► you get better and proficient and ultimately master a skill you know that takes a long

00:23:24 ◼   ► period of time you know with a lot of dedicated practice or experience but going from nothing

00:23:30 ◼   ► to something is like this is the scariest part of that learning curve but is often like

00:23:37 ◼   ► is you it's very disproportionate into how it feels like it is versus what it is and

00:23:42 ◼   ► I think something that I've learned or at least like remember remind myself from this

00:23:47 ◼   ► experience is that the best way to learn up learn these skills or to pick things up and

00:23:52 ◼   ► kind of the benefit of these putting yourself into kind of more messy and development environments

00:23:56 ◼   ► is that you if you have some kind of project that you're trying to do it forces you to

00:24:02 ◼   ► learn things that otherwise you just won't that otherwise you will just find you know

00:24:08 ◼   ► you would either you would that would be it's like just naturally we do like forcing yourself

00:24:14 ◼   ► to learn something new is something that I think especially as I become older I find

00:24:18 ◼   ► much harder to want to do that I feel like there's that sense that I don't like feeling

00:24:25 ◼   ► like a novice but when I accept that I am a novice and I push through like those those

00:24:30 ◼   ► feelings and instead like drive through it I actually enjoy the like the process of being

00:24:35 ◼   ► a novice of like picking us picking up a skill starting with something I don't know how to

00:24:39 ◼   ► do and doing it but I think it's important at least I found for me it's something that

00:24:43 ◼   ► I need to have something specific that I'm trying to do that if I just like one day decided

00:24:48 ◼   ► hey I'm going to learn Python like I might write that down on my to-do list like hey

00:24:53 ◼   ► become familiar with a new language or something but I'm never going to do it like I'm never

00:24:57 ◼   ► going to just like go and get you know 21 days to becoming a Python developer out of

00:25:02 ◼   ► the library and read it like it is never going to happen I have to have something specific

00:25:07 ◼   ► that I'm trying to accomplish that I think is interesting in its own right and that this

00:25:12 ◼   ► skill or this ability is like collateral damage along the way almost that I have to do it

00:25:19 ◼   ► just because if I don't I can't accomplish something else that I actually want and it's

00:25:23 ◼   ► like I'm trick it's almost like I'm tricking my brain into learning something by making

00:25:27 ◼   ► it and think that it's not actually learning that what it's actually doing is like doing

00:25:31 ◼   ► this fun project with your son but what you're really doing is you know learning a new programming

00:25:35 ◼   ► language and platform yeah I feel like like you know learn Python is not an actionable

00:25:41 ◼   ► item like there's no like what's the first step of that like get a book and then what

00:25:45 ◼   ► like read it like that you don't learn programming by reading you learn programming by programming

00:25:50 ◼   ► you know like so you know anything that forces you into the action that forces you to just

00:25:55 ◼   ► do something you just plow through I find very satisfying and and way more effective

00:26:02 ◼   ► at actually teaching me something new as opposed to like read this thing and then what like

00:26:07 ◼   ► then unspecified right like and then you know that's that doesn't lead anywhere really that

00:26:12 ◼   ► doesn't stick whereas if you are forced to do something you are building a skill right

00:26:17 ◼   ► there and and you and like you aren't even realizing it necessarily like you weren't

00:26:21 ◼   ► realizing quite how much of the news of the new thing whether it's Python or Linux administration

00:26:27 ◼   ► or using Raspberry Pi's like you don't quite realize how much you're learning when you're

00:26:31 ◼   ► doing it you think you're just plowing through and doing the bare minimum but then like next

00:26:35 ◼   ► time you have to do something you realize oh this is all incredibly familiar to me now

00:26:39 ◼   ► like now I can I can do this a lot more easily than I thought I could yeah and I think maybe

00:26:44 ◼   ► to wrap this up I will say something that has been an interesting like result of this

00:26:49 ◼   ► experience and not only this experience but something that I've been working thinking

00:26:52 ◼   ► about for a while is that I went out and on Black Friday I bought a pixel three and I'm

00:26:59 ◼   ► diving back into getting myself familiar with modern Android development which I've got

00:27:04 ◼   ► to say feels a little messy feels like I did I have the bumpers way up and I have no idea

00:27:10 ◼   ► what I'm doing but maybe I'm slightly less scared of it as a result of the the earlier

00:27:16 ◼   ► experience with the Raspberry Pi and I think there'll be many topics to get into on the

00:27:20 ◼   ► show about it but I think it was an interesting experience where it's like I'm like yeah this

00:27:24 ◼   ► feels familiar this is just kind of like what I just practiced over the weekend as I'm like

00:27:29 ◼   ► downloading Android studio and like I don't know how anything works and things aren't

00:27:32 ◼   ► working right and I'm learning to new but another well I'm learning Kotlin I don't know

00:27:38 ◼   ► how to say it there's a new like this Swift equivalent for Android I also don't know how

00:27:41 ◼   ► to say it but yeah it's probably Kotlin, Kotlin I'm learning that I'm relearning Java which

00:27:47 ◼   ► is a language I knew very well at one point but that was a very long time ago and just

00:27:52 ◼   ► seeing how things have changed and like learning how to do things and it's it's fun it's interesting

00:27:57 ◼   ► and I don't know exactly where this is gonna go from where I'm gonna end up but it's something

00:28:02 ◼   ► that I'm glad that I'm doing and you know I'm reminded that even if I never ended up

00:28:06 ◼   ► shipping something on Android I'm developing a set of skills that I wouldn't have otherwise

00:28:13 ◼   ► and that'll make me better as an iOS developer they'll make me better as a person that like

00:28:17 ◼   ► they'll just is better in general. Well we can at least get a couple episodes of the

00:28:21 ◼   ► podcast out of it. Yeah I'm sure we will there's there's a whole it's like it's a whole wide

00:28:25 ◼   ► world that was just hiding behind a door like it's not like like it's in the weird the weird

00:28:30 ◼   ► way is sometimes I did Android development many years ago and in a weird way like sometimes

00:28:36 ◼   ► in your mind you kind of imagine that if you when you turn away from something it stays

00:28:39 ◼   ► exactly as it was forever. It's like nope it's actually it's like it's been cruising

00:28:43 ◼   ► along changing and developing it has all kinds of things that have come out of that that

00:28:47 ◼   ► I think it was interesting for me and hopefully yeah we'll make some interesting topics down

00:28:51 ◼   ► the road. We'll keep you posted so I don't have to do it. Yeah I'll let you know. Thanks

00:28:56 ◼   ► for listening everybody and we'll talk to you next week. Bye.

00:28:58 ◼   ► Thank you.