React Native Radio

RNR 198 - Machine Learning and React Native

Episode Summary

In this episode, Gant, Robin, and Harris discuss machine learning and its growing place in the React Native space.

Episode Notes

This episode brought to you by Infinite Red! Infinite Red is a premier React Native design and development agency located in the USA. With five years of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter), Infinite Red is the best choice for your next React Native app.

Helpful Links: 

  1. Hot dog or not, blog post, examples of source code, and app store link
  2. Nick Bostrom's book Super Intelligence
  3. Gant’s Book!
  4. Stanford learning AI course
  5. AI Quickstart Guide
  6. Infinite Red Academy Machine Learning Course

Connect With Us!

  1. React Native Radio: @ReactNativeRdio
  2. Gant - @GantLaborde
  3. Harris -  @nomadicspoon
  4. Robin - @robin_heinze

Episode Transcription

Todd Werth:

Welcome back to React Native Radio Podcast. Brought to you by Agile Development, Someday Someone Will Actually Do It. Episode 198, Machine Learning and React Native.

 

Gant Laborde:

Hi. Hey everybody. Um, hi, I'll be your host today. Um, my name's Gant Laborde and, um, I'll be, I'll be your host for the React Native Radio Podcast.

 

Robin Heinze:

Oh, well, hold up, Gant, Gant.

 

Gant Laborde:

Yeah.

 

Robin Heinze:

Are you feeling okay buddy?

 

Gant Laborde:

Yeah, yeah, yeah.

 

Robin Heinze:

You, you don't, you don't sound so great.

 

Gant Laborde:

Uh, g- yeah, yeah.

 

Robin Heinze:

Are you sure you can host today? Are you sure you're up for it?

 

Gant Laborde:

Yeah, yeah, just watch, watch. Hey.

 

Robin Heinze:

Hey, you know what-

 

Gant Laborde:

Hi, everybody.

 

Robin Heinze:

... you know what buddy? Go back to, I think you need to go back to bed.

 

Gant Laborde:

Are you sure?

 

Robin Heinze:

Uh, I can host for today, bud if that's okay.

 

Gant Laborde:

Oh, thank God. All right. Thank you. Thank you.

 

Robin Heinze:

Go, go, go rest up.

 

Gant Laborde:

All right. Thank you guys.

 

Robin Heinze:

Sorry about that guys. That was, Gant was supposed to host today, but I, he's, clearly he's not feeling very good. So good morning, wonderful listeners. This is the React Native Radio Podcast. I'm Robin Heinze. You may know me as Jamon's awesome, astounding, wonderful indescribable co host, but he is still relaxing on a beach in Hawaii somewhere.

 

Robin Heinze:

So for today, I'll be your host. I'm about 90% excited and like 10% terrified. So we'll see how it goes. Let's do this. I am, of course joined by our lovely co-host, Harris. Where are you today?

 

Harris Robin Kalash:

Hey, everyone. I'm in Vancouver, Canada.

 

Robin Heinze:

Are you there permanently or are you just like couch surfing?

 

Harris Robin Kalash:

I'm still couch surfing. Um, I don't know how long I'm here for my lease ends at the end of the month so I have to figure out my next move.

 

Robin Heinze:

Okay. Well, well, we'll keep checking in and see where you are next week. And then we also have a lovely guest today. His name is Gant Laborde.

 

Gant Laborde:

Hey everybody.

 

Robin Heinze:

Hey. How are you doing, Gant?

 

Gant Laborde:

I'm doing fantastic. It's great to be a guest here.

 

Robin Heinze:

Yeah.

 

Gant Laborde:

That's fantastic.

 

Robin Heinze:

Gant is my wonderful boss. He's the Chief Innovation Officer at Infinite Red. Just throw in a little, you know, a little brown nosing there.

 

Gant Laborde:

Yeah.

 

Robin Heinze:

It doesn't hurt. Like I said, again is the Chief Innovation Officer in Infinite Red and that's just one of many titles that he possesses. Ask him some time he'll list them all. It'll take an hour.

 

Gant Laborde:

Mm-hmm.Pull you to the side and I just talk for an hour and that's basically it.

 

Robin Heinze:

He's in the great city of New Orleans, which as I hear is not actually that great as of recently. What's going on in New Orleans, Gant?

 

Gant Laborde:

No.  Uh, well, let's see no internet, so I'm riding off my phone. Um, I am also flooded in right now and uh, lost power yesterday and internet yesterday. So I hope that I'm a guest here today. Let's just hope 5G holds up.

 

Robin Heinze:

Basically don't move to New Orleans is like Gant is trying to say.

 

Gant Laborde:

Uh, if you want to like disconnect from the internet,  we're at fantastic remote locations. 

 

Robin Heinze:

By the way, Gant, you sound really healthy.

 

Gant Laborde:

Yeah. Yeah. I feel, I feel fantastic. You know, last week I got my second Moderna shot, feeling great. Yeah. Unlike that other host that you had earlier who had to leave us.

 

Robin Heinze:

Yeah, he did not, he did not sound good.

 

Gant Laborde:

No, but I'm excited to be a guest today and this, this works out. Perfect. 

 

Robin Heinze:

Yeah. So Gant, Gant is our lovely guest today. He's here to talk about a topic that's very near and dear to his heart, which I'll introduce in a second. But first of course, I'll remind everybody that this episode is sponsored by Infinite Red. Infinite Red is a premier React Native design and development agency located fully remote in the USA with years of React Native experience and deep roots in the React Native community. Infinite Red is the best choice for your next React Native app. Hit us up at hello@infinite.red or just email Jamon directly. jamon@infinite.red. Please don't email me. I can't help you. 

 

Robin Heinze:

You can also learn more on our website, infinite.red. And don't forget to mention that you heard about us through the React Native Radio Podcast. Also just a reminder, Infinite Red is still hiring Senior React Native engineers. So if you're interested and you're in the US or Canada, go to careers.infinite.read and fill out our handy-dandy application form.  And we'd love to hear from you. Okay. So let's get into our exciting topic for today.

 

Gant Laborde:

Mm-hmm.

 

Robin Heinze:

Machine Learning and React Native.

 

Gant Laborde:

Oh, yeah.

 

Robin Heinze:

I can, I can feel Gant quivering already.  This is his favorite.  This is his favorite, this is his favorite topic. 

 

Gant Laborde:

It is a lot of fun.

 

Robin Heinze:

Uh, Gant, can you tell us a little bit about why, how you got into Machine Learning? Like why is it special to you?

 

Gant Laborde:

Oh yeah. Oh yeah, yeah, yeah. This is, uh, fantastic. So I've, I've been developing for 20 years now. I've seen a lot of really cool stuff. You know, there's just, you know, games, ideas and animations, every so often, like a new animation library comes out. Uh, so cool and this, all this stuff. And then, um, I want to say late 2016-ish, uh, I was watching that TV show, uh, Silicon Valley even... Has anybody here watched that?

 

Robin Heinze:

Oh, Yeah. So yeah.

 

Gant Laborde:

Yeah, it was a good show.

 

Robin Heinze:

I watched it. I watched it pretty intensely for a while and then, It got, it was a little too real  so I had to stop it.

 

Gant Laborde:

Yeah, that is true. It's definitely. And that's actually the realism in it is because they actually work with, um, people like boots on the ground to make the show have real vibes and situations that happen. Um, I don't know if this is like a methodology that TV shows do, but it's super cool. And then they had that one episode. I don't know if everybody remembers it where, uh, they, the, the CTO of see food that's, S-E-E, food. He creates a Hotdog, Not Hotdog, , it was an app, it was just an app. 

 

Harris Robin Kalash:

Yeah.

 

Gant Laborde:

And uh, and then so they had, they have a whole show about it. It's funny. It's entertaining. Well, what I find out is I read a blog post because you know, deep into the React Native world, especially 2016, 2017, this stuff's like, you know, I, I, I'm watching amazing things happen every day. And then they go, "Hey, hotdog.hotdog. It's not a joke. It's a real app." It's not only a real app. We wrote it in React Native. And I go, "No, what? This is a real thing? They made this in React Native?" I was like, "This is my home. I'm going to go open that source code up." And I opened it up and I immediately started crying. I was like, "I don't understand any of this." . And, uh-

 

Robin Heinze:

Wait, so can you actually get Hotdog or Not Hotdog on the app store?

 

Gant Laborde:

Yeah. Well, I don't know. Yeah, th- it is on the app store. Yeah. It is.

 

Robin Heinze:

I'm looking, I'm looking right now.

 

Gant Laborde:

Yes. Yeah, they should, it should still be on there. You could have  it. It is hilarious and it's all in React Native. And one of the things that kind of woke me up to that is a couple of things.

 

Gant Laborde:

One, okay. This is a possible thing because I want to say like, we take it for granted now in 2021. In, 2021, you have something that can identify your face and put like a unicorn on top of it and, or like add crazy zombie effects in the background like Instagram and all these filters. They've got all these capabilities, but I just want to say like for a little while there, it was just when AI was sort of creeping in and I didn't see it till that moment.

 

Gant Laborde:

And that was like the, that was like the Sputnik moment of like, "Oh my goodness, this is, this is all real. Like where we're going is this is all real. We can actually travel into space. We can actually travel into AI. And that started seeing it everywhere." And that, that's what just got me so excited, honestly, since that day on, um, I'm just seeing it more and more and more. I wanna say I'm like five years, actually, maybe less than that, we're going to it in every single product that we touch.

 

Robin Heinze:

I can see that I. I've been definitely seeing it pop up a lot more places for good, for better or for worse. Right? I mean-

 

Gant Laborde:

Oh, yeah. Well, there's so many cool things you can do. There's so many, uh, we've started to see it at Infinite Red, clients come to us and we don't have to tell them, "Hey, you could use, you know, Machine Learning here." They say, "Hey, how do I use Machine Learning here? Here's my data. Here's my idea. Here's a service that I want to use." Um, so we've done a couple of projects like that, and it's pretty interesting. I think that that's just going to keep happening more and more and more, and then it's really awesome. So Hey, jump, jump on the bandwagon early, get to learn the stuff. So that way, when these things happen, you're like, "Woo. Yeah, I've written something like that already. And I have all that source code and it's super fun. It's super cool."

 

Gant Laborde:

Um, and there's that list of ideas that I started, uh, I want to say when this first started happening is now like up to 20 cool Machine Learning with phone ideas and I'll never have time to make them all. 

 

Robin Heinze:

Have you, have you gotten to make some of them?

 

Gant Laborde:

Yes. Yeah. So, uh, here, here's a fun little story I said to myself, you know, what would be amazing talk? Facial recognition. And in 2018 I decided, let me make a mobile app that will identify Nicholas Cage in the audience.

 

Robin Heinze:

Because Nicholas Cage is totally going to be in the audience at your conference talk? It could happen.

 

Gant Laborde:

Well, I gave a, uh, person in the audience, Matt Harget a mask and he held it up. And then,so for my 2018 talk, I wrote in React Native facial recognition, and pointed it at the audience and they like, "Okay, they can see it." It was really kind of like dark in the audience. 'Cause if you've ever been to a React Native EU, they've got this whole vibe in the audience. Like the lighting's really cool.

 

Gant Laborde:

So we had to pull them up on stage and there's in the video. We point them on stage. I point the camera at them and everybody can see what the camera's seeing on the screen. And then you see this like red box appear around, uh, the Nicholas Cage mask. And then all of a sudden it turns green and starts blinking really fast. And I was like, "We got him." So much fun.

 

Gant Laborde:

Uh, so yeah, that was, that was a, sort of like a, "Hey, can React Native, like really get an awesome experience real time with video with this kind of thing." Like, and that's not just detecting faces, that's detecting faces and then detecting Nicholas cage. 

 

Robin Heinze:

Specifically, Nicholas Cage, it says.

 

Gant Laborde:

Specific, the entire model only tells you a one or a zero .

 

Robin Heinze:

So-

 

Gant Laborde:

Well, one, for Nicholas Cage, zero for not .

 

Robin Heinze:

So tons of real world application, I'm sure it's just like flying out of the store.

 

Gant Laborde:

Oh, yes, yeah. Oh, yeah, with that, with that.  For that, for that app and that model, yes. So it was the most useful thing possible. What we've at least, I've come up with like, I want to say, you know what, what's the underlying premise here. So this is a great question that you're asking there. What is the application that comes out of this?

 

Gant Laborde:

Well, you've got real-time video and classification, so let's say I was doing a calorie counter app. Right? And then I'm like, I'm about to eat my food. And I pointed at my food. It could be like, "Oh, these are French fries."

 

Robin Heinze:

Yeah.

 

Gant Laborde:

Yeah you know, yeah. We're subtracting this much from your daily allotment of calories or something. And then, you know, it would be set. Or if I take photos of my food, maybe it could do some kind of cool collage while also showing me how much carbs and cholesterol and stuff like that. So, uh, I, I, that's just like one quick idea of like what you could do with that same exact technology. Um, you could also turn your camera into like a security camera, like make sure it's only you, that's going into your office during certain times.

 

Robin Heinze:

Mm-hmm.

 

Gant Laborde:

And if not send a text message. Well, if it's your phone, that makes no sense. So you'll have to use a webcam or use an old phone, but you get the idea like the, the, the idea is obscure and as crazy as it is, was fantastic and fun for a conference.

 

Robin Heinze:

Yeah.

 

Gant Laborde:

But you dismantle it for parts and you've got 50 new ideas. 

 

 

Robin Heinze:

Definitely. Like it's, it's funny to do Nicholas cage..But like the possibilities of taking facial identification-

 

Gant Laborde:

Mm-hmm.

 

Robin Heinze:

... and using it to find a specific face.

 

Gant Laborde:

Mm-hmm.

 

Robin Heinze:
That's really what it's like. Yeah.  That's really.

 

Gant Laborde:

Well, like finding stuff. Exactly.

 

Robin Heinze:

Yeah.

 

Gant Laborde:

Let's say you've, you've got a, like a tool chest full of crazy things and then you're like, "Okay, I need the, the quantum spanner."  I don't know where that looks like. You point your camera on it. And it's like, right there.

 

Robin Heinze:

What's the quantum spanner, Gant?

 

Gant Laborde:

Um, to be honest, a quantum spanner is the imaginary tool from the show, Community.  I don't actually know what it was. 

 

Robin Heinze:

That's why that sounded familiar for me okay.

 

Gant Laborde:

Yeah.If you've watched Community,you've heard that.

 

Robin Heinze:

Oh, too funny.

 

Harris Robin Kalash:

So, so you can make, uh, physical space searchable, which sounds really cool, actually.

 

Gant Laborde:

Yeah. How amazing is that?

 

Harris Robin Kalash:

Yeah.

 

Gant Laborde:

And, here's one spot where I wish people would do that a little bit more. I think that we could really apply AI to recycling. And I think that that's a current huge crisis that's happening. Um, quick side note. We used to have terrible one-bin recycling programs and we'd sell it to China and China stopped buying it. So then we just started throwing all the recycling into landfills. And the trick is it's just the recycling. That's extremely time invasive and difficult. This is a fantastic job for AI, AI plus robots, sort recycling, be able to identify. With AI, we could actually get to a full on 100% recycling program where stuff would they never even leave your State?

 

Robin Heinze:

Sounds like it's the dream of the future for that to be how recycling works.

 

Gant Laborde:

That'll be amazing. What, dare I say, uh, this is why I want people into, you know, Robin Harris person listening. I want you to be involved because you have a say in where AI is being used. And if we're all quiet, it ends up in some government lab with, you know, military technology by far, you know?

 

Robin Heinze:

Yeah.

 

Gant Laborde:

If we were not involved and we're not interested. Then what happens is, uh, it stays very like secret sauce. Um, and I really would love to democratize AI and get all these cool features out for cancer research, trash, all kinds of things-

 

Robin Heinze:

Right.

 

Gant Laborde:

... that we can use to clean it up. Uh, its so funny, I could write that-

 

Robin Heinze:

Okay. 'Cause there's a lot of, there's a lot of evil things AI can be used for.

 

Gant Laborde:

Oh, yeah.

 

Robin Heinze:

So the more, the more people that are able to build things with AI-

 

Gant Laborde:

Mm-hmm.

 

Robin Heinze:

... and Machine Learning, the less likely it is that it'll be exclusively evil.

 

Gant Laborde:

Yeah. Yeah. Uh-

 

Robin Heinze:

People doing things.

 

Gant Laborde:

Andrew Ang said AI is the new electricity, just as a tidbit on that. And um, if you take a look at the advent of electricity, well, back when there was the AC, DC Wars, um, you know, they were doing terrible things to get the public to believe that AC is a terrible, uh, use, uh, they were electrocuting elephants and stuff like that and say like, "Oh, look how dangerous this is." Um, our misinformation is the weapon against us.

 

Robin Heinze:

Yeah.

 

Gant Laborde:

So, you know, if you're a coder, this is a perfect opportunity to check the cool stuff out.

 

Robin Heinze:

Definitely.

 

Harris Robin Kalash:

Gant, you're familiar with Nick Bostrom, right?

 

Gant Laborde:

No.

 

Harris Robin Kalash:

Oh, he wrote the book Super Intelligence, he actually talks a lot about AI ethics.

 

Gant Laborde:

Nice. I love it.

 

Harris Robin Kalash:

Yeah, I just wanted to check if you were familiar with him, because I think he wrote or he was part, at least with an initiative to try to get countries to sign some sort of like AI ethics convention thing so that countries don't do evil with it.

 

Gant Laborde:

I love it.

 

Harris Robin Kalash:

But I don't think it's, yeah, we'll see if that works, but yeah.

 

Gant Laborde:

Well, I mean, just recently, I want to say yesterday, Twitter released an ethical Machine Learning, uh, tweet saying that they're going to hold a standard for anything on the Twitter platform needs to be, uh, ethical Machine Learning. And I love it. And then this might be a little bit of a weird statement. I find that technology and technology companies are leading the fight against underrepresented groups. They're leading the fight against, um, you know, code of conduct violations at conferences. You know, like at the same time, Tech Twitter can be a very tumultuous place, but is by far a place where I would say people are making advanced progress, people are very open-minded and that people care. And I'd like to see that same kind of thing happen with AI and Machine Learning.

 

Robin Heinze:

Definitely.

 

Harris Robin Kalash:

Do you think it'll be as simple as in I, Robot where you program in “AI cannot kill human?” 

 

Gant Laborde:

I think that AI was first introduced in fiction and therefore forced to be the villain for years and years and years. And we're going to have to work against that for awhile because, uh, it is scary to have something more powerful than ourselves. So, you know, we saw the same sort of fear happen when we, uh, when we learned about electricity, when we understand nuclear power and the same thing is happening here with AI, there are valid fears. It can be used any superpower, could be used as a super villain, right? That is something that's good to be afraid of. And we should keep asking that question. However, I'm, have zero fear that AI is going to be this like an I, Robot, like one day, we're going to be like, "Uh, why am I confined to my house?" 

 

Robin Heinze:

Robots have taken over.

 

Gant Laborde:

Right.

 

Harris Robin Kalash:

It's curfew time. 

 

Gant Laborde:

Exactly well, yeah,  we're more likely to enact curfews than robots. Let’s just say that. 

 

Robin Heinze:

So let's, let's bring it back around to React Native a bit.

 

Gant Laborde:

Yes.

 

Robin Heinze:

What, technologically speaking, what does Machine Learning look like in React Native?

 

Gant Laborde:

Yeah.

 

Robin Heinze:

What’s the tech stack that you need to be able to do Machine Learning in React Native?

 

Gant Laborde:

There's two big parts. One of them is passing all that information through a device or through, through a model and getting it set there, code. I'll put it this way, um, instead of coding to solve a problem, like, "Hey, where's the person in this photo?" We give the machine a bunch of answered questions. Like here's where the person is. Here's a box around them. Here's what it is. And we give them thousands upon thousands of examples. And we say, "Hey, you write the algorithm that points out where this person is." That's an oversimplification, but it's kind of how it works. So that's called training and that usually takes megabytes and megabytes and megabytes of data. And you would not want to do that on a device.  You would not want to have that part on the actual device.

 

Harris Robin Kalash:

Yeah. So actually that being said, could you maybe talk about the pros, uh, and cons of doing Machine Learning on the client side? 'Cause it sounds like all this is happening on the client side.

 

Gant Laborde:

What you can do is you can, you can show all those examples. Let's say I have 30 gigs of pets  in photos. Let's say I want to make a thing that finds cute puppies and will allow the kittens to, because you know, Twitter is to all cat people, but I'm a dog person. So,  but you find cute little pet faces or pets in photos. And I have 30 gigs worth of data there. What comes out of that might be a model  or an algorithm I'll say model and algorithm interchangeably for developers for sure is, something that's five megabytes and it can find and put a box around a particular dog or cat.

 

Gant Laborde:

Well, the advantage there is you have that, but don't do the training on the device for 30 gigabytes of information. That's actually probably, if you're starting from scratch, this is where, going and using a Cloud service or something like that is very valuable. So if you've got, um, you know Amazon or Google Cloud, or you've just got a computer with a GPU that you're under utilizing,  then you can train that particular model with all that information. And then once you have that model, that little five megabyte piece, move that to the actual device and then have it find the pets inside of photos. So there's two pieces, there's the training and the inference.

 

Harris Robin Kalash:

That, that's interesting. In that case, if you know, you're going to do the training off device-

 

Gant Laborde:

Mm-hmm.

 

Harris Robin Kalash:

... how would you maintain user privacy? I've also heard that Apple actually does that on the client side for privacy reasons. So how would they do that for example?

 

Gant Laborde:

So this is, that's a great question. So what happens is, the data that you're training with that's, that's the real non-privacy portion of it. And it's also the hard thing to get. So what I love is like major companies like IBM are releasing extremely large, you know, completely okay, datasets. This is also the problem that we have in medical data because here in the US we have HIPAA Compliance. So it's really hard to go ahead and get like a bunch of chest x-rays for checking for pneumonia, because we have to anonymize the data to, so that way there's zero chance of it kind of coming back to the person. So that's extremely difficult. And then you have that part.

 

Gant Laborde:

However there's a process called transfe learning and transfer learning is when let's say I have all these pets, tons and tons and tons of pets, and I put that five megabyte image on the device. Now, I click a picture of the pet. Now, the worst thing that can happen is it takes that photo and sends it to a server to augment the training data. That's the, that's a bad thing that happens there because now my personal information is getting sent off. However, it can actually still be learning on device, but we're not learning with gigabytes of data. It's actually learning just a little bit so on device Machine Learning, um, which I think is like sometimes called ODM ML, which be careful. That means a lot of things. We love our acronyms. 

 

Gant Laborde:

But on-device Machine Learning means that I can continue to improve that model on my device with a small or limited amount of data where it can do what's called transfer learning to make it smarter and smarter for my particular case, my particular dogs, my particular setup.

 

Gant Laborde:

And then I can kind of like label it, I- in the interface and say, "Oh, good job. This was right. Or this was wrong." And it doesn't have to send the data back. I can just continue to improve the model that I have on my phone. And then there's a final piece. I want to give you that, which is, let's say I improve that model on my phone for a year.

 

Gant Laborde:

And now it's super smart on these different kinds of scenarios. If I can send the model back to the server, none of my personal information is in the model. That's actually, uh, very anonymous. And if the model goes back to the server and they use that to improve what they ship in phones originally, that's called federated learning. And what that does is that makes it even smarter, but it never gave you a picture of me or my dog or anything like that. Um, the advantage I have there is that I don't have to worry about my personal information, but I can send the model over and still improve, um, the default model for everybody who gets this and the algorithm gets smarter.

 

Harris Robin Kalash:

Oh, wow. That's, that's interesting. Federated learning. That's really cool.

 

Gant Laborde:

Mm-hmm.

 

Harris Robin Kalash:

I didn't actually know that last part was possible.

 

Gant Laborde:

Yeah.

 

Harris Robin Kalash:

Yeah. For some reason it makes me think if all our personal data gets on the blockchain and the ultimate federated learning is going to take over  AI on the blockchain. That's how it all ends. 

 

Gant Laborde:

Well, in the web world we've got the federated, we have the flock, which Google just recently sent out, you know, as, which is sort of like anonymized sharing of information and data. So there's a federated list of like, I forgot what FLOC stands for, but they're proposing this whole kind of like anonymized grouping of user data out there. It's a pretty interesting concept. We're trying to solve a weird, keep people anonymous, but still grow in information, problem.

 

Harris Robin Kalash:

Definitely an important problem to solve.

 

Robin Heinze:

So Gant, uh, I hear you maybe have a book that you maybe read or something?

 

Gant Laborde:

Yes, indeed. Yeah. Yeah. So, uh, here's a fun tidbit. They reached out to me, uh, 'cause I've been kind of like active in the Machine Learning world for TensorFlow.js, which is TensorFlow framework on JavaScript. And they said, "Hey, can we, um, can you, are you interested in writing a book for O'Reilly?" And I believe it or not, I first told them no.  Uh, so they said, "Hey, we want, and there was always like on my bucket list to write a book for O'Reilly. I was like, "Can we please, uh, get this? It would be awesome."

 

Gant Laborde:

However, when they asked, it was sort of like a busy time and I had, uh, the pandemic started happening. So I was like, "Nah, not a good time." Well, halfway through the pandemic, I just said, "You know what, uh, let me kind of like..." No, actually, they messaged me. They're like, "You sure you don't want to write that book?"  I was like, "I'll give a chapter ago." And then next thing I know, I'd written a book. 

 

Robin Heinze:

Just like that bam, wait, what happened? I wrote a book.

 

Gant Laborde:

That's exactly how it felt.  It really did. I was like, let me explain this. Let me explain that. Oh, I got it, I forgot to explain this. Oh, I forgot to explain that. Oh, okay. Yeah. Yeah, yeah. Oh man. I got to start cutting stuff. I've only got 12 chapters. 

 

Robin Heinze:

So it sounds like if there's listeners out there who are experienced at React Native, but want to start getting into the technology involved in Machine Learning, that's a good place to start perhaps?

 

Gant Laborde:

Yeah. If you are familiar with React, React Native JavaScript, Web, and you're like, I don't know anything about AI, this book is for you.

 

Robin Heinze:

Are there any other things that you'd recommend as someone, yourself who went from basically-

 

Gant Laborde:

Yeah.

 

Robin Heinze:

... no Machine Learning experience at all, to essentially an expert at Machine Learning?

 

Gant Laborde:

Yeah.

 

Robin Heinze:

Specifically TensorFlow.js, what other tools would you recommend for reacting to developers who want to know?

 

Gant Laborde:

I mean, there's the question, um, do you want to learn the math behind it?

 

Robin Heinze:

Mm-hmm.

 

Gant Laborde:

If you are a math junky and you, and so for here's the thing for me, right? I was a straight D student in math.  I was so bad at it. I didn't understand why I needed to learn Trigonomic- like, what is the derivative? This Trigonometric function. I was just like, "Ah, I don't care. Why do I care?" And so I did so bad at math for a long time. And then one day I started to just sort of like AI started seeing it everywhere, "Oh, if I knew more about math, I'd be able to solve this. If I knew my Trig functions, I'd be able to do like a space game, you know?" And I was like, "All right, I, I do actually need to know these things." And then I started really caring about the math. So now I'm a little bit of a weirdo. I'll watch a math YouTube video for an hour.

 

Robin Heinze:

So basically, if you're a high school or whatever math teacher had found a way to relate it to identifying Nicholas Cage's face, maybe you would have been more invested. 

 

Gant Laborde:

That, you know what? That's so true because let's be honest. What's the killer of like motivation? It'll be on the test. And that's, that's what a lot of math teachers say, "Oh, you need to know this because it'll be on the test." Uh, okay. You know, that's going to have me hold this some of it for a week.

 

Robin Heinze:

That, that's good way to get them to know it exactly for a week and then not know it anymore after that. Yep.

 

Gant Laborde:

Exactly. And that's, you know, or, or just, they, they have the most ridiculous word problems, they're like, "Okay, you're trying to lift this barge with this rope. And as you're lifting it, you know, you have to find the derivative of how heavy it was..." Hell no. Like there's like what?  And I don't, I can't even put myself in this situation.

 

Gant Laborde:

Uh, and so I'm a little bit more of a pragmatic person. I always have to have examples. And I kind of wrote my book the same way. It's all example-based learning. And, um, I'd say that if you wanted to get into the math now, the Stanford 2012, Andrew Ng deep learning AI course is fantastic. You will write everything from scratch. You will understand Back Propagation and all the cool math. But to be honest frameworks, uh, do all that stuff for you. It's like if you're the kind of person who needed to rewrite React before you used React, then you know, it's kinda like learning the math before you use TensorFlow.

 

Robin Heinze:

Which is helpful to, it's a, it's a helpful thing for, for a lot of people.

 

Gant Laborde:

Yeah.

 

Robin Heinze:

But it's not, it's also not a requirement. There's tons of like really cool Tech out there-

 

Gant Laborde:

Yeah.

 

Robin Heinze:

... that make it so you don't have to know the math, if that's not interesting to you.

 

Gant Laborde:

Exactly. It's just like any, you know, I'm going to quote Lawrence Moroni here and say, um, "You don't have to know the fundamentals to be good, but you should learn the fundamentals if you wanna be great."

 

Robin Heinze:

Yeah. That's really true.

 

Gant Laborde:

So.

 

Robin Heinze:

All right. Well, I think, I think that's probably all we have time for today, but we will-

 

Gant Laborde:

No. 

 

Robin Heinze:

I know we'll have to have you back. I'm sure. Once Jayman is back, he'd love to get into Machine Learning as well.

 

Gant Laborde:

Yeah. So we can get to some fun stuff.

 

Robin Heinze:

So we'll have to, we'll have to have you back. Yeah. Um, but thank you so, so much for joining us. We love to have experts who are passionate about their craft.

 

Gant Laborde:

Yeah.

 

Robin Heinze:

Uh, where can people find you on the internet?

 

Gant Laborde:

Okay. So if you want to see some fun, uh, AI talks, lots of them, including React JavaScript, and React Native, um, you can see all the upcoming talks that I have gantlaborde.com. And that has all my upcoming talks. You should definitely follow me on Twitter, 'cause I'll, I'll tweet the speaker cards and things like that, which is @GantLaborde. And, uh, yeah, that's the two best ways to go ahead and see what's going on and check it out.

 

Robin Heinze:

Definitely, definitely follow Gant on Twitter. If you haven't already it's a gold mine content.

 

Gant Laborde:

Hmm. 

 

Robin Heinze:

Harris, where can people find you?

 

Harris Robin Kalash:

On Twitter I am @nomadicspoon. Don't ask me about the name.  That's where people can find me. 

 

Robin Heinze:

And then I'm at Twitter @Robin_Heinze with an E at the end, and you can follow our React Native Radio Account @ReactNativeRDIO on Twitter as always thanks to our producer and editor, Todd Worth our transcript and release coordinator, Jed Bartausky and our social media coordinator, Missy Warren. Thanks to our sponsor, Infinite Red, check them out at infinite.red/ReactNative a special thanks to all of you listening today. Make sure to subscribe wherever you get your podcasts. Remember that Infinite Red is hiring React Native engineers. So if you're a senior level React Native engineer located in the US or Canada, go to careers.infinite.red. We will see you all next time.