Learn Python with Talk Python's 270 hours of courses

#250: Capture over 400x C02 as trees with AI and Python Transcript

Recorded on Tuesday, Jan 21, 2020.

00:00 As the popularity of Python grows, we see it popping up in all sorts of interesting places and projects.

00:05 On this episode, you'll meet CK Sample and Nathan Papapurito from Hypergiant.

00:10 They're using Python and AI to develop the EOS Bioreactor.

00:14 This is a fridge-sized box containing water and algae, which sequesters a huge amount of CO2, as much as an acre of trees.

00:23 Let's dive into how they're using Python for this cutting-edge project.

00:27 This is Talk Python to Me, episode 250, recorded January 21st, 2020.

00:31 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities.

00:51 This is your host, Michael Kennedy.

00:53 Follow me on Twitter, where I'm @mkennedy.

00:55 Keep up with the show and listen to past episodes at talkpython.fm, and follow the show on Twitter via at Talk Python.

01:01 This episode is sponsored by Brilliant.org and Linode.

01:05 Please check out what they're sponsoring during their segments.

01:07 It really helps support the show.

01:08 CK and Nathan, welcome to Talk Python to Me.

01:12 Hey, thanks.

01:12 How's it going?

01:13 Hey, guys.

01:13 It's great to have you on the show.

01:14 Man, we got a cool topic today, and on a lot of different levels, what you guys have going on is really interesting and really ambitious,

01:22 and I'm super excited to be digging into it with you.

01:25 Yeah, we're excited to be here.

01:25 Thanks for having us.

01:26 Yeah.

01:27 Yeah, thanks for having us.

01:28 You bet.

01:28 I love it when people are doing ambitious things and trying to push the envelope of what we can do with technology

01:33 and sort of almost bring some of this stuff that seems like it's always out in the future sort of into the present.

01:40 So that's awesome, and we're going to dig into a bunch of angles to focus a lot on the climate change angle as well.

01:46 Before we get to that, though, let's start with your stories.

01:50 How did you get into programming and Python?

01:52 I was a grad student at the University of Alabama in particle physics, and I used this program called Mathematica a lot.

02:00 And if you're not familiar, it's a computer algebra system.

02:04 It's a little bit more symbolic than MATLAB.

02:08 It's such an interesting program.

02:09 I remember the first time I used Mathematica.

02:12 I both used MATLAB and Mathematica.

02:15 I was working my PhD in math, so I poked around those math ideas a little bit.

02:20 And wow, it's crazy.

02:23 You can give it, like, here's this some integral of some complicated function, and it'll go, here's the symbolic result of that integration, right?

02:31 Not like these numbers, but no, here's the new formula that is the integration, right?

02:35 It's really interesting, that thing.

02:37 It's a very symbolic program.

02:38 If you've ever looked at the symbolic code on how you do arbitrary derivatives and arbitrary integrals, indefinite integrals is what they're called.

02:49 I can't remember the name of the algorithm.

02:50 It's in the 60s that came out.

02:51 It's just mind-boggling.

02:52 Yeah, it is.

02:53 So you started out working on this thing.

02:55 Yeah.

02:56 And so the underlying part of it was a language called Wolfram language, which is, I can't explain how awful it is to someone who's been using Python every day for years now to go back and look at my old work and be like, what the heck did I do here?

03:09 But it was a very functional procedural language.

03:12 Yeah, sure.

03:13 And so I graduated with a PhD, and then I was like, okay, time to market myself.

03:18 No one uses Mathematica except for Wolfram technology, and I don't want to live in Urbana, Illinois, or Arizona.

03:25 And so I started rewriting a lot of my code into C++ and learned C++ the hard way over about six months of just trial and error and got a pretty good handle on how it worked.

03:36 And then I slowly started picking up Python from there.

03:40 I'm like, okay, I want to do some basic mathematics and basic just coding.

03:46 I don't feel like having a compiled code and writing console or C out everywhere.

03:50 And so I eventually got my way into Python.

03:53 And I'm like, okay, this is really user friendly.

03:56 I can get things up really fast.

03:58 I can start fooling around and plotting.

04:01 And when I found Jupyter Notebooks, it almost felt like a one-to-one to Mathematica's notebooks.

04:07 Yeah, you felt like you had come full circle sort of, right?

04:09 Correct.

04:10 Yeah.

04:10 And you can actually, on my computer right now, I have in Jupyter, I have a Python interpreter, a Wolfram language interpreter using the kernel.

04:19 I have F-sharp interpreter.

04:20 I have a MATLAB or Octave interpreter.

04:22 And then I have one other interpreter.

04:24 And this is all in Jupyter Notebook.

04:26 Wow.

04:26 Yeah.

04:27 So you can just take, that's your portal into all programming these days, huh?

04:30 Yeah, definitely for prototyping, you can just go between them.

04:33 And especially for the topic coming up, when you're trying to mix symbolic differential equations and some algebra, and then you want to be able to kind of go to Python and put it into the ODint solver in SciPy.

04:47 It's really useful just to have two tabs.

04:49 One is like a Wolfram notebook and one's a Python notebook.

04:52 Yeah.

04:53 Wow.

04:53 That sounds super powerful.

04:54 I love it.

04:55 Now, you work at Hypergiant along with CK, and we'll hear his story in a second.

04:59 But what do you do day to day there?

05:00 So I'm a data science here at Hypergiant.

05:03 I do anything from internal research projects to doing some R&D, like the data science on R&D team, to client type working.

05:13 And so to everything from just, you know, sometimes there's downtime.

05:18 And it's like, I want to explore a different language, or I want to just write some Python script to mess with an Excel spreadsheet to make literally putting my timesheet together easier.

05:29 To just reading Reddits, like machine learning and Python and programming subs, subreddits.

05:35 Super cool.

05:36 CK, how about you?

05:37 How do you get started into the whole tech side of things and programming and just set the stage?

05:42 You're not doing software development day to day, but you do have some background in coding and fooling around.

05:49 Yeah.

05:49 Yeah.

05:49 I'm the chief technology officer here at Hypergiant Space Age Solutions, which is our services focus wing where we build out solutions for customers.

05:57 And I have the weirdest entry into software ever.

06:01 I started out, I was in academia, getting my doctorate in English, and fell into the world of blogging in late turn of the century, right around Y2K.

06:11 That was when blogging was going to change the world.

06:13 Remember?

06:13 Yeah.

06:14 Blogs were the way that people could take democracy into their own hands, and you could become...

06:20 Yeah, it was really interesting, actually.

06:21 Yeah.

06:21 I actually published the first iPod blog ever.

06:23 It was called My iPod Blog, right after Apple announced an iPod.

06:27 And I got some mild traction of some of my personal blogs.

06:31 I got featured by O'Reilly Press in one of their books.

06:34 And I wrote into them and said, hey, I work with computers at the college that I'm getting my doctorate in, and I'd love to contribute to some of your stuff.

06:43 And so I started writing for O'Reilly Press, worked on a couple of macOS X hack books, did a bunch of scripting level stuff.

06:50 I built one script.

06:52 It wasn't super complex.

06:54 It was a Bash shell script that allowed you...

06:58 This was pre-iPhone, pre-internet being readily available on cell phones.

07:02 But what it did was it created a tunnel, an SSH tunnel from over a Bluetooth connection between a Nokia 3650 cell phone.

07:12 And it worked with a couple of other Nokia models and your PowerBook at the time, an Apple PowerBook.

07:17 And so you could tunnel the internet connection from your Mac over to the phone and trick the phone into thinking it had internet.

07:25 Because this was back before they had reasonably priced internet plans for cell phones.

07:29 So it was just...

07:30 It became popular because a lot of people would install it just to try out the internet features on their phone that they didn't want to pay a bill for.

07:37 How interesting.

07:38 Like almost before people were paying for data at all on their phone, right?

07:42 It's like almost the opposite of tethering.

07:44 Yes, exactly.

07:45 It was reverse tethering.

07:47 And that...

07:47 So I built that way back whenever and I started blogging about that.

07:50 Got mentioned by O'Reilly.

07:51 Started writing for several of their books.

07:53 Ended up being tech editor for iPod and iTunes Hacks.

07:56 Met a guy named Hadley Stern, who was the author of that book.

07:59 And he asked me to contribute to his blog, which was called Apple Matters.

08:04 And I was a writer on there for a while.

08:06 And then Jason Calacanis, who was the CEO of Weblogs, Inc.

08:09 Noticed my writing and noticed that I was actually getting into some of the tech bits of it.

08:13 Because I just hacked around at everything.

08:16 And he ended up asking me to come work for Weblogs, Inc.

08:19 And I was the lead blogger for the official Apple Weblog.

08:22 If any of you remember that blog back in the day.

08:25 Contributed to Engadget, Joystick, TV Squad, all these things.

08:28 And eventually AOL bought Weblogs, Inc.

08:31 And everybody was getting jobs from that acquisition.

08:36 And Jason Calacanis took a chance on me and hired me to be the general manager of Netscape.

08:43 So all of a sudden I was in charge of a team of eight developers and eight editorial staff

08:48 building a dig clone of sorts on top of Netscape.com.

08:53 And that was my trial by fire in terms of technical management and growing a team.

08:59 Yeah, that must have been a fun place to be.

09:01 It was crazy.

09:02 It was a really, really fun time.

09:03 Lots of fun challenges.

09:04 And I left there and jumped to Mahalo, followed Jason.

09:08 That's now become Inside.com.

09:10 Left there because my wife and I, the way the business was growing, we had to move to LA.

09:15 And we didn't love LA.

09:16 I gave it a year.

09:17 Left Jason.

09:18 Went and worked for CrowdFusion for, I don't know how many years, five or six years.

09:22 Brian Alvey's company.

09:23 He now has a company called Clipisode and helped grow that business.

09:27 We bought another company called Saros, which is run by Simon Berg now.

09:31 Hi, Simon.

09:32 I left there because I helped transition off all our old parts of our business to our customers

09:40 to become Saros instead of CrowdFusion.

09:43 And after I finished doing that, it was me, Simon, the new CEO, and Brian Alvey, the old CEO,

09:48 who are all kind of product-focused technical people, not really technical, technical people.

09:53 So there was a collision of too many of us.

09:56 And so I left there.

09:59 And one of the projects we'd worked on at CrowdFusion was News Corp.

10:02 The Daily.

10:03 And during that time, I met Ben Lamb, who's the founder of Hypergiant.

10:06 He saw my tweet saying that I was looking for opportunities and told me to come work for him

10:11 at Chaotic Moon, our previous company.

10:13 And I came down, helped build and grow Chaotic Moon.

10:16 We grew to about 175 people and sold to Accenture in 2015.

10:22 No, 2000.

10:24 Yeah, somewhere around there.

10:25 2013, 15.

10:26 And had a successful exit.

10:28 Didn't go as great as we planned after the acquisition.

10:31 I ended up leaving about nine months in to go do other things.

10:34 I went and worked for a company called You Earned It for a while.

10:36 And I was chief product officer there.

10:38 Let me ask you about that whole, I came along with the acquisition because I've been on that

10:44 path before as well.

10:46 And it's an interesting ride.

10:48 I mean, it can go really well or it could be kind of squandered or underappreciated or I

10:55 don't know.

10:55 My experience was things seemed really great, but in the end, the clash of the business models

11:01 or cultures just didn't fit, right?

11:03 What was your experience there?

11:04 So I've had multiple exits like that at this point because when AOL bought Weblogs Inc.,

11:10 it was very much that.

11:11 Like Weblogs Inc. was a very grassroots company.

11:14 We were a distributed team, a bunch of contractors.

11:17 And AOL bought us and it really was a huge bag of opportunity for everybody.

11:21 Like we all got full-time jobs.

11:23 And Brian Alvey and Jason Calacanis, who were the co-founders of Weblogs Inc., they did a really

11:29 good job in that acquisition of protecting and integrating us at the same time.

11:34 So that I ended up leaving over time just because I kind of gone over to Netscape instead of Weblogs

11:41 Inc.

11:41 team.

11:42 But like the people like Engadget still exists to this day, you know, is still run by AOL

11:46 under Verizon.

11:47 So there's a legacy there that exists.

11:50 And a lot of people who were in that network have now moved on to Jim Bankoff's company.

11:54 Jim left AOL and is now running Vox Media with The Verge and all those sites.

12:00 So a lot of my former Weblogs Inc.

12:02 compatriots have moved on and had several successful career jumps that have been very different from

12:07 mine, but they were more in tune with that acquisition, you know, as if it went well.

12:12 The Accenture acquisition of Chaotic Moon, I'd say, I don't know how much I could talk about

12:18 it, but it was a weird ride because Accenture is just a huge...

12:23 It's a company that's the size of a country, you know, in its large S.

12:27 Probably the size of economies as well.

12:30 Yeah.

12:31 You know, you think it was...

12:32 So there's a lot more challenges there and there were a lot more challenges there and they were...

12:37 Things didn't quite play out the way we thought they would pre-acquisition.

12:40 And I made it about nine months before I just got the bug where I was like, you know, there's

12:46 too many weird large company processes that are getting in the way of me actively having

12:52 as large of an effect as I'm used to having on a company.

12:54 Yeah.

12:55 And the way that I feel like I can most help a company.

12:57 So I left, you know, and then I went to You Earned It and at You Earned It, we...

13:01 You know, that was another successful exit.

13:04 I helped build that company, like grow it from what Autumn Manning had built initially.

13:08 We did a redesign of the site.

13:10 It was award-winning and built some more features into it with the team that we had and grew

13:15 it quite a bit and sold to Vista Ventures.

13:17 You know, I was all gung-ho.

13:18 You earned it and moving forward.

13:20 It's now since rebranded to Kazoo and it's still going strong.

13:23 But I was all on board with the acquisition and things were going well.

13:27 We acquired another company.

13:29 We're merging them together with us.

13:31 But then the founder of Hypergiant and my good friend, Ben Lamb, came knocking and was

13:36 like, listen, I need your help over at Hypergiant.

13:38 And I just looked at what they were doing here before I got here.

13:42 And I was like, oh, this is a much bigger market than HR software.

13:46 And there's a lot of opportunity.

13:47 And it was getting back to work with people I knew.

13:50 So it was really exciting.

13:51 Yeah, that's a great opportunity.

13:52 So tell us a little bit about Hypergiant, what you guys are up to, because I first got

13:59 interested in what you're doing for this EOS bioreactor and climate change initiative.

14:06 Yeah, the EOS bioreactor, this climate change focus that you have.

14:10 But then as I looked at it, I'm like, wow, you guys are doing a lot of really different

14:16 things that are all seem super ambitious.

14:18 And to give people a sense, if you go check out the website, like right, at least at the

14:23 time of the recording, right at the top, you've got like an introduction by Bill Nye.

14:27 Yeah, what you guys are building and stuff, which he's one of our advisors.

14:30 He's great.

14:31 He's awesome.

14:32 He's such a cool guy.

14:33 And yeah, very cool.

14:34 Give us a quick flyover of Hypergiant.

14:36 Cool.

14:37 So our founder, Ben Lam, good friend of mine, visionary, lots of interest in a lot of areas

14:43 and a lot of focus on sustainability of humanity and how to use technology to build the future

14:51 that we should already have, you know, to a certain degree.

14:54 Right.

14:54 We were promised flying cars and robots and stuff.

14:58 Yeah.

14:58 And we still don't have them.

14:59 Like back, he was my CEO at Chaotic Moon too.

15:01 And back in those days, he used to always say, the future is here.

15:05 Why isn't it better?

15:06 Like at the time, he was like, why don't we have more things that are more automated that

15:10 are better?

15:11 And we just, there's a lot of stuff in the way of it.

15:13 And I think a lot of people don't look at the technologies we have creatively and how

15:17 to combine them to do cool things.

15:18 And that's one of the things we're really good at.

15:20 We have all the other divisions of the company.

15:22 There's only four of those that are public right now that I can talk about.

15:25 Although we are working in new areas and there are new things coming.

15:29 But Hypergiant Space Age Solutions is a company that myself and Nathan work for.

15:33 We're the services focused wing of the company where we build solutions for Fortune 500 companies

15:39 and are trying to identify new technologies that could potentially become products of their

15:45 own other divisions within the Hypergiant umbrella over time as we're out working with

15:49 these big businesses.

15:50 We also have an R&D team, which is doing future facing exploration about technologies we could

15:56 do.

15:57 And that's how we came up with the EOS Bioreactor.

15:59 And there's a core team of people on the R&D team, but everybody in the organization

16:03 interfaces and works with R&D to some degree, like Nathan has been working on EOS itself.

16:08 In addition to our division, Space Age Solutions, we also have a division in Dallas that's run

16:13 by Dave Kops and Chris Rohde that's called Sensory Sciences.

16:17 I actually share office space with them in Dallas and I'd be there right now recording, but my home

16:23 studio has better acoustics.

16:24 So I figured it was better for the podcast.

16:26 But they are building a computer vision digital twin product.

16:32 That's really interesting that can take all the information from all the cameras and do useful

16:40 things with it to identify whether a person is known or unknown, understand where they are

16:45 in space and actually build a digital twin of the space to understand how things are happening

16:51 in the space digitally.

16:52 So would that be like, I'm in a factory and I saw this guy was at a station, but then he walked over there,

16:56 talked to this other person.

16:58 And then like, we knew that that was that person or what would that be?

17:02 So you can identify people like who are known or unknown, like basic security, knowing this person

17:07 shouldn't be here.

17:09 And you could actually follow along, go, well, what did they see when they were there and go

17:14 into the digital twin version of this and see through it.

17:16 But there's a lot of different applications and use cases for it that are outside of just that.

17:22 Like, you know, understanding things like in a restaurant type setting, their software could

17:27 tell like how full or empty a drink is so that people know, I need to go refill the drinks at

17:31 this table, you know, that type of thing, which sounds very basic.

17:34 But the more you automate a lot of that stuff, the more efficient the overall workforce is

17:39 in delivering those experiences, which is really great.

17:41 Yeah, cool.

17:41 Yeah.

17:42 And in addition to that division, we also have a hypergiant galactic systems, which is a

17:47 company focused on space.

17:49 We're actually working on several things.

17:51 We have, we bought a company called SEOPS, which became part of hypergiant galactic systems.

17:56 And through them, we have a satellite deployment that's happening.

18:00 We've actually deployed five CubeSats to date, and we hope to be up to 15 by the end of the

18:05 year.

18:06 We're doing a lot of interesting computer vision things with satellite imagery that we're

18:11 gathering from that.

18:12 And we're talking to a lot of people that are working in space about the future of space and

18:18 how to not only deliver good software that supports space initiatives, but good looking software

18:24 that humans can use easily that also has some intelligence on top of it.

18:28 And the R&T team, you know, we publicly announced we are working on interplanetary internet.

18:34 Like how do you, thinking in the future, once we have actual space trips that aren't just

18:40 NASA and are actually civilians going to space, how do we support internet in that type of setting?

18:46 And it involves a lot of really complex math because there is no terrestrial anchor anymore.

18:52 There is no up and down and north and south.

18:54 It's just making sure that everything is aligned at all times properly to keep the signal alive.

18:59 That's been an interesting thing that we've been looking into recently too.

19:03 And then we have a ventures wing, which is looking at investments and looking at opportunities to

19:09 purchase other companies.

19:10 And we have some new companies that will be announced soon.

19:14 It's a cool thing because at Space Age Solutions, what we're doing, working with customers, building solutions, we get faced with a lot of the same problems sometimes, but a lot of times very interesting, novel problems that nobody solved before.

19:27 And we have to come up with creative solutions.

19:30 And using AI, you know, the difference between this company and our old company, Chaotic Moon, we were very focused on high UI, UX software solutions for companies that were high in ROI there.

19:41 But here we're like really working with enterprise customers to do that with a layer of science on top of it because we believe strongly that artificial intelligence, it's not a big, there's no generalized AI at this point that understands everything and it's going to destroy humanity or anything scary like that.

19:57 It's just a bunch of tools that a lot of people don't know how to use and they're not using them correctly at all times.

20:02 And we can use the right combination to solve some really interesting problems and make the world a better place.

20:07 That's interesting.

20:08 It feels to me a little bit like what the cool UX design companies did, I guess, around the time when iPhones came out where like software got really beautiful and polished.

20:18 We're still in the battleship gray of AI.

20:24 This portion of Talk Python to Me is brought to you by Brilliant.org.

20:28 Brilliant's mission is to help people achieve their learning goals.

20:31 So whether you're a student, a professional brushing up or learning cutting edge topics or someone who just wants to understand the world better, you should check out Brilliant.

20:39 Set a goal to improve yourself a little bit every day.

20:42 Brilliant makes it easy with interactive explorations and a mobile app that you can use on the go.

20:47 If you're naturally curious, want to build your problem solving skills or need to develop confidence in your analytical abilities,

20:54 then get Brilliant Premium to learn something new every day.

20:57 Brilliant's thought-provoking math, science, and computer science content helps guide you to mastery by taking complex concepts and breaking them into bite-sized, understandable chunks.

21:07 So get started at talkpython.fm/brilliant or just click the link in your show notes.

21:15 Yeah.

21:16 To the point where it's not just the UX UI that's ugly, if you will.

21:21 A lot of times it's the data.

21:22 Like a lot of what we have to do, and Nathan knows a lot about this, is we get access to data that needs a lot of sanitation to get it in the right place so that we can actually...

21:31 Because I think there's a misunderstanding by people who don't understand what machine learning is or what artificial intelligence is that,

21:38 oh, it's just this magical thing that you can use to organize all the data.

21:42 But the truth is there's a lot of the data that's not useful.

21:45 You need to figure out what's the right data that's going to be useful, and you need to train it specifically for what you're looking for and turn it into something that's of a benefit to the business.

21:56 And you have to test it at all times, too, and make sure that you're not introducing bias.

22:00 I mean, you are going to introduce bias no matter what to a certain degree.

22:03 It just has to be acceptable limits, I would say.

22:06 Would you agree with all that, Nathan?

22:08 Am I veering off too much from more you than me?

22:11 Yeah, no.

22:12 And I'd like to add, sometimes that we even are approached by certain customers that are like,

22:17 we have this problem.

22:18 Can AI solve it?

22:19 And it's like, yes, but that's like fishing with dynamite.

22:23 What if we just step back a little bit and just apply some, just for initial engagements, just some smart business rules, right?

22:30 What if we just have some basic logic that can help get us to the next step of AI?

22:35 Because you can't, it's not necessarily just, oh, your data is ugly, is you're not even capturing the right data.

22:41 Right.

22:41 So can we get there by just implementing some basic business rules so that when you start aggregating the data,

22:48 we can then add on some sort of machine learning?

22:50 Yeah, Nathan, do you feel that the whole machine learning side of things is getting a little bit,

22:55 not of a bad rap, but not an accurate representation?

22:59 Because there's a lot of folks who are just saying like, if a computer makes a decision, it's AI.

23:04 I'll give you an example.

23:05 There was something happening with some airline in Europe.

23:09 I think it was the UK parliament was talking about it.

23:13 And they were talking about, the headline was, AI is separating families and then offering people the ability to pay a higher ticket fee to put them back together or something like that.

23:24 And, you know, that's not, that's not machine learning.

23:27 That's an if statement.

23:27 Like if last name is the same, don't put it in the same seat.

23:31 Right.

23:31 That, so that's kind of what I'm thinking of is, right.

23:33 Do you feel like it's getting a little bit overused?

23:36 That's a good question.

23:37 I don't ponder often on these philosophical things, to be honest.

23:41 Occasionally in the office, it does come up, but AI is going to do exactly what AI is programmed to do by the programmers, by the people designing it.

23:51 So if you had that intent to break up families like that, that's not AI's fault because you could have just hired someone to do that for you anyways.

23:59 That was some like some big thing that the parliament was like, this is abusive.

24:05 We can't, we can't have this.

24:06 All right.

24:07 So let's move on to the EOS bioreactor project because I think that that's super interesting.

24:13 And like I said, I got interested in this because of the climate science angle.

24:19 I've been thinking a lot about that and so much of what you hear, what we got to do is we have to find alternative energies or we have to be super efficient and just use less or travel less or whatever.

24:33 But this project is really interesting because it attacks the result of the problem.

24:39 It doesn't try to change people's reactor behavior.

24:43 Tell us about that.

24:44 We think a lot about the environment and making the environment a better place and how to build ethically good solutions for our customers.

24:51 Because we believe that that ties into economic growth at this point in our life cycle as industries.

24:58 So we started looking into things that could help make the world a better place.

25:02 And one of the ideas was just algae.

25:05 You know, algae has the benefit of absorbing way more carbon dioxide from the air, sequestering more carbon dioxide than an acre of trees in the same amount of space as what we built for the bioreactor.

25:16 So that's an acre of trees will take a year and sequester the same amount of carbon dioxide that our current prototype of the bioreactor can sequester in a year.

25:29 That was just it.

25:30 So we thought, okay.

25:31 Yeah.

25:31 And that's incredible.

25:32 And just to give people a sense, this is not like a huge factory.

25:35 Yeah.

25:37 It's like a quarter acre.

25:37 What's the size?

25:39 It's the size of a big refrigerator, basically.

25:41 Yeah, that was my sense.

25:42 And right now, that's just a, we've built an impressive prototype to show off in our office as we're working on it and working on improving it.

25:50 So it's, and building the software that goes along with it.

25:53 So algae sequestration is not super novel in and of itself, where it becomes interesting for us.

26:00 And what we're doing is put close to 20 sensors in it to monitor the health of the algae, how it's doing, temperature, oxygen levels in the water that's feeding it, etc.

26:11 Because it builds up oxygen as a byproduct of it sequestering the carbon dioxide.

26:16 In that process, and what Nathan's been working on is looking at building the correct level of AI that will actually start looking at all this data, absorbing that data, and refining the growth of the algae to make it more efficient over time.

26:31 And our goal is eventually, and we're running, I think we're running slightly behind our initial projected schedule for this.

26:38 I know I saw someone on Twitter say something about it today.

26:41 But our plan is to eventually open source the plans for this so anybody can build it, and then they can connect it to and upload to our AI-powered software so that we can use everybody's implementations of this to absorb more data to better train it overall.

26:57 That's super interesting.

26:58 So the business model that you all are thinking about is we're going to prototype the hardware.

27:03 We're going to have Nathan and his team, people he's working with, build the software to make it really awesome.

27:11 And then you say, and here's the hardware plans, and here's our cloud.

27:14 Yeah.

27:15 That's kind of the opposite of a lot of these industrial companies.

27:18 Well, the good news is we still have...

27:20 I mean that in a good way.

27:20 Yeah, yeah.

27:21 But I mean, it's good because it's a conversation starter.

27:24 We get a lot of interest from businesses who saw the news about it, and so we end up doing work with them.

27:29 So it's good.

27:30 If nothing else, it's good marketing investment for us in that it brings attention to what we're doing.

27:37 But we've also had a lot of interest from people who actually want us to help them, once this is further along, actually build for the top of their specific warehouse, you know, an installation of these that will be hooked up to their exhaust systems, pull in a lot of this contaminants, and help them offset their footprint on the environment.

27:58 One of the big challenges that we're still working on for industrialization of this is what are the best outputs of the algae?

28:05 Because if you make a bunch of algae and then you just throw it in the trash, then it dies and all the carbon goes back into the environment.

28:14 So you need to figure out a good way to use it.

28:16 It can be used as a biofuel.

28:17 It can be used for building plastics, for 3D printing.

28:22 There's a lot of interesting...

28:23 You can eat certain strains.

28:25 Yeah.

28:25 So we're trying to figure out what's the best combination of outputs of the algae as it's sequestering all this carbon dioxide that will keep it environmentally good for everybody,

28:36 and that we can offer as things that people can do at home if they build their own kit.

28:41 And also, how do we build that out at scale in a way that'll support these big businesses that are interested in us helping advise them on how to cater this specifically to their business?

28:51 Yeah, that's really interesting.

28:52 I hadn't even thought about the home angle of it, right?

28:55 You could put it next to your Tesla Powerwall or something like that, right?

28:58 Yeah.

28:59 Which I could have a little...

29:00 It doesn't have to be as big as the one that we've designed currently.

29:03 It can be a much smaller unit and still have a positive effect, and it just really needs sunlight and energy to run itself.

29:11 And we do want to work...

29:13 Right now, you plug it into the wall, so it's losing some of the efficiency that it's making by absorbing energy.

29:19 But we do want to make it solar-powered.

29:21 We do want to make it...

29:21 Which is not a technically difficult challenge to overcome if we have it sitting on a roof.

29:27 But it's...

29:28 Right now, we're like really...

29:30 We're working with a microbiologist to actually look at all the different strains of algae, figure out what are the best algaes to use in different environments so that we can...

29:38 When we do open source this to people, recommend for their state where they are, hey, get this algae to start.

29:45 Here's the specifics of it.

29:46 And then that way, we can build all this into the software too and track the different types of algae in different environments, how they're growing, and take all that data to better train everything to do an even better job over time.

29:57 Well, I think it's really interesting and probably one of the most interesting angles of what to do with the result is to create biofuels.

30:05 Because there are certain industries that just...

30:08 It's really hard to electrify them or to do something like hydrogen, right?

30:13 I'm thinking air travel or giant ships or something like that.

30:16 Cool.

30:16 So, it's in this prototype phase.

30:18 And you have a working prototype.

30:20 And maybe, Nathan, pick it up from there.

30:24 You guys have been...

30:25 How do you get started on the software side of things?

30:28 How do you decide what to measure and what to optimize and so on?

30:31 Yeah.

30:32 So, a lot of things are like the obvious measurements.

30:34 And this can be done like through Google and, you know, even talking with our microbiologists, just some other ones we didn't think about.

30:40 So, there's obviously like temperature.

30:42 Those are dime a dozen.

30:43 You can go on like SparkFun or Adafruit and get like a Raspberry Pi temperature.

30:48 That's obvious.

30:49 pH sensor, because that will tell you the acidity of your water.

30:53 And especially if you're not familiar with chemistry, there's like three different carbon types.

30:59 There's like bicarbonate, carbonic acid, and I can't remember the third one.

31:04 Carbonate, depending on the pH, it'll tell you, okay, there's this much carbon left in the water.

31:10 And that can give you a benchmark for how efficient the algae is eating the carbon out of the air.

31:14 Because, right, carbon dioxide has to have some sort of vapor pressure in gaseous form.

31:19 And then it transfers into the water.

31:21 The algae eats it, spits out oxygen, and then oxygen does that reverse.

31:25 So, pH will hopefully give us some information about the acidity, not to mention any nutrients that we're putting into it.

31:32 Because potassium, sodiums, and nitrates, all those have some sort of charge to them.

31:38 So, that could tell us how balanced it is.

31:40 Also, algae, I believe, likes it a little bit more basic water.

31:44 I'm trying to remember.

31:45 I've learned so much about algae in the past like two months.

31:48 But did you know there's certain algae you can't grow because of state laws?

31:52 Like, there's legality issues for choosing which strain of algae that we're going to put out.

31:56 And so, those are some of the guidelines that when we open source this, we're going to say, hey, if you do this too big, you know, you might get a knock on your door from the EPA.

32:04 Okay.

32:04 Yeah.

32:05 So, other things is turbidity, which is like the murkiness of the water, that will tell you in conjunction with how much algae concentration you have currently in the water, how effective any light source is.

32:18 Half the algae don't really receive much sunlight, then they're not really doing their thing, right?

32:23 Correct.

32:23 Yeah.

32:23 So, it's like an exponential decay.

32:25 It's basically if you took like transmission versus reflection coefficients of some simple wave equations, how much light is actually penetrating and what's that skin depth of that light.

32:35 You want to make it.

32:36 So, with that in mind, if you can get really thick algae, you probably want to make like some of your tubes thinner so that there's not much depth to go through.

32:44 And if they're cylindrical, then you almost have like a solid angle or the cylindrical angle where you can shine light on all sides.

32:51 You get an even coat of light.

32:53 So, with light is you have wavelengths, intensity, and day-night cycles, which are all measurable and tunable.

32:58 I'm trying to think what other things.

33:00 Airflow, water flow, and then dissolved oxygen, gaseous oxygen, dissolved CO2, gaseous CO2.

33:07 I'm trying to remember all of them.

33:09 There's quite a bit.

33:10 And then we have double.

33:11 For the first prototype, it was like the tubular forms, if you saw the picture.

33:16 Basically, we had a large tank at the bottom, which was doing a lot of the remixing between the air and the algae and like stirring it up to make sure nothing was like just sifting out to the bottom and just falling out.

33:28 And then that was pumping back through the tubes.

33:30 And so, we want to measure it coming just out to the tubes.

33:34 It's like the input and then the tubes are where most of the light takes place.

33:38 And then they come back out of the tubes back in the tank.

33:41 And so, we can measure at two different points to kind of get an idea of like, well, how's the algae in the tank behaving?

33:46 How's the algae in the tubes behaving?

33:49 One of the big hurdles is you want to make sure that you're degassing your algae.

33:53 Because much like if you start breathing into a paper bag, you're going to start choking on carbon dioxide.

33:58 The opposite is true for algae.

34:00 If you do not degass it, it's going to build up so much oxygen where it's going to suffocate itself.

34:05 This portion of Talk Python to Me is brought to you by Linode.

34:09 Whether you're working on a personal project or managing your enterprise's infrastructure, Linode has the pricing, support, and scale that you need to take your project to the next level.

34:18 With 11 data centers worldwide, including their newest data center in Sydney, Australia, enterprise-grade hardware, S3-compatible storage, and the next-generation network, Linode delivers the performance that you expect at a price that you don't.

34:33 Get started on Linode today with a $20 credit and you get access to native SSD storage, a 40-gigabit network, industry-leading processors, their revamped cloud manager at cloud.linode.com,

34:45 root access to your server, along with their newest API, and a Python CLI.

34:49 Just visit talkpython.fm/Linode when creating a new Linode account, and you'll automatically get $20 credit for your next project.

34:57 Oh, and one last thing.

34:58 They're hiring.

34:59 Go to linode.com slash careers to find out more.

35:02 Let them know that we sent you.

35:06 There's a lot of factors you've got to optimize for here.

35:10 And then, like you were just starting to bring up, that's if you keep the species of algae fixed, then you've got the possibility of saying, well, what if we get this kind, or we get that kind, or what if you have a blend?

35:24 It's an insane optimization problem, isn't it?

35:26 This is where a microbiologist really comes in handy, is Rebecca's her name, and she's very good, and she's brought so much insight into it, and kind of broke down the strains.

35:36 Here's some strains that I think are really good.

35:38 So she has some of her suggestions.

35:40 We have ours that we would like to do as well.

35:44 And between the microbiologist, and then we have the rest of the people on the team, it's not just me and her.

35:49 There is our project manager, Davis, and then we have a really good fabricator named Willem.

35:53 He's like, you build stuff.

35:55 And then we have an embedded hardware guy named Rusty.

36:00 And so he's really good, actually doing all the Arduinos and Raspberry Pis that are doing the measurements and talking.

36:07 And then we have an embedded software guy named Jin Song, who's actually running a lot of the code up.

36:13 That's going to be talking to my Python programs.

36:15 Yeah, we also have several of our iOS developers work for a while to build the...

36:20 We have an actual iPad app that connects to all the things that we're building on the back end for all this monitoring of the device.

36:29 That'll eventually be the app that people, when they have this in their homes or whatever, will be able to download that app, keep it updated.

36:35 And that'll be the phone home between us as the mother base and all the different units to better improve the stuff.

36:43 That Nathan's working on to actually map this out.

36:45 Okay, yeah.

36:46 There's a lot of technology in play here.

36:48 Yeah.

36:48 So the iPad is going to be doing probably a lot of the actual data transfer as well, because that's like the...

36:55 It's a big smartphone, effectively, right?

36:57 Yeah.

36:57 Yeah.

36:58 Do you do any processing on the iPad or is it just acquisition and send it over the internet?

37:02 Yeah.

37:02 So one of our decisions right now is at what point do we need to do processing in the cloud,

37:07 like do AWS, and what can we put on the board?

37:09 So there's several...

37:11 It's probably like ensemble models, right?

37:12 So you have several different models that are doing different things and probably competing towards each other.

37:16 Right now, a lot of the processing is taking place locally.

37:20 But the end game, you know, as we build this up and open source it and people connect their iPods,

37:24 probably use like AWS Lambda functions where we just have these, you know, open post REST endpoints

37:29 where it's just continually sending us information.

37:33 And that's going to be like the end game model, which I believe what I want to try is reinforcement learning.

37:38 Because you'll have an at-scale ensemble of different strains, different locations, temperatures,

37:45 humidities, light cycles.

37:47 And so there's enough people out there using these EOS bioreactors.

37:52 We can really get this thing down.

37:54 For now, one of the easiest things that we're trying to do is sensor fusion with Python.

37:57 And that's just using Python.

37:59 And so sensor fusion, if you're not familiar with like common filtering,

38:03 are you familiar with that?

38:03 No, no.

38:04 Tell us about it.

38:04 Yeah.

38:05 So it's just, it came out in the 60s and it's widely used on, it was used in NASA.

38:11 And it's, if you have like multiple data sources with multiple like confidence levels,

38:16 or you can try and rebuild your predictions on a like time series base based on multiple measurements.

38:23 And so certain, certain devices like the temperature or the pH might have a certain confidence

38:29 and certain weight to the final answer, which is how much this thing is growing.

38:34 How much is there algae growing?

38:35 So it's kind of like the out prediction that we're trying to predict is like not how much

38:39 algae, but the algae growth, right?

38:41 So when the algae growth becomes constant, that's a sign that you probably want to harvest your

38:46 algae, right?

38:47 Because, right.

38:48 So algae will, has a death and a growth.

38:51 And so when it basically balance, like the growth flattens out, if you think about math

38:55 and the, in the derivative, when the derivative equals zero, that's when you want to harvest

38:59 because it's neither growing nor dying anymore.

39:01 Right.

39:01 And it's the growth that you need to actually capture the carbon and whatnot, right?

39:04 That's where the magic is mostly.

39:06 Yeah.

39:06 Yeah.

39:07 So once it stops growing, it's not really taking, it's basically a homeostasis.

39:11 And the idea is we want exponential growth because the more, if we're doing exponential growth,

39:16 we're exponentially capturing more carbon.

39:18 And so anonymous, that is if the algae is not getting any bigger or smaller, that's probably

39:22 a good sign that you can just harvest it and go onto the next step in the process, whether

39:27 it's biofuel, edibles, plastics.

39:30 So that's kind of like the symbol we're looking for is like a harvest event.

39:33 So with the sensor fusion is we can figure out which sensors have like the lowest confidence

39:38 and the lowest weight towards that final output.

39:41 So we can get rid of certain sensors or we can add more sensors or one sensor can replace

39:47 multiple sensors.

39:48 Maybe you could have more accurate sensors or focus on, it sounds a little bit like the dimension

39:54 reduction stuff when you're doing like problems.

39:57 You're like, actually there's these 10 dimensions of all the inputs.

39:59 But these three actually don't really make much of a difference.

40:01 So forget those.

40:02 Correct.

40:02 Yeah.

40:04 They're just duplicate information effectively.

40:05 One of the sensors that were measured.

40:07 So there's ways to measure algae is you can physically scoop it out, dry it out and measure

40:12 it like on a scale.

40:13 But doing that every day, it can be tedious.

40:17 And we might end up doing that just to get some, we're doing that at certain intervals, but

40:22 we haven't done it every day yet just because we don't want to disturb the growth cycle

40:26 repeatedly.

40:27 But generally what you do is you kind of ballpark where you start it with and then you do an

40:31 end measurement where you either take the wet algae weight or the dry algae weight and

40:35 you say, okay, this is the amount of algae, the density of the algae or the concentration

40:39 is what they use.

40:41 Sure.

40:41 When you do that, is there a way that we can do that without actually interacting with

40:46 the algae itself?

40:46 Without removing the algae from the tank?

40:50 And so I'm going to butcher the name.

40:53 Let me actually, I'm a sneak in.

40:55 It's a type of screen.

40:57 There's a type of camera.

40:58 Spectrophotometers.

41:00 And so these use basically the optical density of the algae as you shoot at certain wavelengths,

41:07 light through it.

41:08 And then you have a sensor that picks up the amount of transmission.

41:13 And so hopefully that will give you some amount of like millimoles per liter of algae.

41:20 And that, while that's not the same as like grams per liter, you can one-to-one it with

41:26 your actual end measurement.

41:27 And so you build this, these one-to-one curves on these two measuring values.

41:32 You actually can get a good idea of the density of the algae without actually removing it from

41:38 the system.

41:38 I was just going to add, and then like long-term after going through this process and us gathering

41:42 all this data, then we can start training computer vision to actually identify this with the absence

41:49 of that type of camera.

41:50 Like in case, you know, like we can offer that camera for some users, like in the open source

41:55 version of this, but also people could use a different, you know, identification device

42:00 and we can use trained machine learning that's trained to, to estimate the actual density

42:06 of the algae based on all the data that we've accrued from all these, you know, scientific

42:10 experimentation that we've been doing too.

42:11 So there's like, there's lots of these other sensors.

42:14 Evolution of what we can do here.

42:15 Yeah.

42:16 Yeah.

42:16 Super, super cool.

42:17 So maybe you can have a couple of like really dialed in high end sets of sensors on different

42:23 things and then come up with models that say, actually we can avoid these, you know, $500

42:27 machines and then just measure it more simply using, you know, open CV and Python and all

42:34 those kinds of things.

42:35 Right.

42:35 Correct.

42:35 Exactly.

42:36 So that's more of just like a linear, like wave measurement.

42:38 So when you look at the answers, you just see like a thing about like mat plot lib, you

42:42 just have like a pie plot of just a curve of like a density drop.

42:45 You can also do a microscope version where you look at the cells.

42:49 And so one of the early things that I did in the project before we even got going was

42:53 could I accurately train like open CV to count the number of cells that we see on a like

43:02 Petri dish slide.

43:03 Right.

43:03 And so that was one of the early things.

43:04 And yeah, it was actually really easy to do even easier if it's, if they're circular,

43:08 some, some algae strains have like a circular or spherical cells and some are very long tubular

43:14 cells.

43:14 It's easier to count the circles.

43:15 Oh yeah.

43:16 I think open CV has a built in like blob counter for the circles, the elongated ones.

43:21 You got to do a little computer vision, but you can do transfer learning pretty easily on

43:25 that.

43:25 Right.

43:25 Right.

43:26 Right.

43:26 Awesome.

43:26 Well, Nathan, let's dig in a little bit to some of the libraries you're using here and

43:33 some of the tech behind the scenes.

43:34 So it sounds like machine learning is definitely in place.

43:37 You mentioned open CV as well.

43:40 Like what are you using to solve these problems?

43:42 A lot of it is just numpy pandas and then scipy sk learn all those scientific libraries

43:49 and there's tools.

43:50 Cause a lot of it is.

43:51 So when I had said before, when you have like the harvest event, when you write these, so

43:56 you can actually have these different equations for your theoretical model.

43:59 And there's very different ones and they have different inputs depending on your strain

44:02 and your temperature and whatnot.

44:04 So you can put these into like the scipy, like the ODE solver and, you know, solve them

44:10 numerically and get very, you know, well-behaved results over court as they evolve through time.

44:16 But what about if you want to inject like events into them, like discrete events?

44:21 So I want to put some sort of event that happens where if the derivative or basically the growth

44:29 approaches zero or gets below like 10 to the negative three, I want to reduce all the algae

44:35 by 70%.

44:36 That's like a growth.

44:38 Right.

44:38 Because all these models that come from biology, they are not expecting that.

44:42 They're like, Oh, we have a lake.

44:43 We have the ocean and stuff is growing.

44:46 And maybe you change this and it's going to continuously smoothly change as the equilibrium

44:51 position shifts.

44:52 Not somebody came and like thinned out 70% of the lake to like make it biofuel.

44:58 Now what?

44:58 Right.

44:58 Like it, those, the discrete model and the differential equation model, they don't fit together.

45:03 Yeah.

45:04 And sometimes these, these scipy, so some of the solvers that I noticed in scipy actually

45:09 will, will sample beyond your time series range.

45:12 Right.

45:13 So when you're just doing a basic model and you're trying to just simulate the data so

45:17 that you have an idea of the embedded hardware guys are like, okay, what type of measurements

45:22 do we need?

45:23 What type of ranges?

45:24 I was like, okay, let me, you know, let me model this using differential equations and

45:27 some random sampling.

45:28 And I've noticed like I'll be getting index errors or all these like strange Python errors.

45:33 And I realized like when I attached a debugger to it and started stepping through, I can't

45:38 remember the name of the default solver for the ODN thing, but it was taking sampling outside

45:44 my random sample range.

45:45 And so it was basically getting index errors.

45:46 And so I had to, for that, for some of these cases, I actually had to take a step back from

45:51 these prebuilt like a lab pack or blast wrappers that scipy uses, right?

45:57 All these old Fortran linear algebra libraries and actually just use plain old numpy and write

46:02 some of these Euler methods or Newton methods myself.

46:05 So I can actually monitor them in real time and actually write my own methods that inject

46:10 these events.

46:11 Luckily, since these are all like ODEs and they're all pretty well behaved, they're not very stiff.

46:16 So I don't have to worry about instability or about equilibrium.

46:19 They're all pretty well behaved.

46:21 Yeah.

46:22 Yeah.

46:22 And just for people out there listening, ODE, ordinary differential equations.

46:26 Yeah.

46:26 So it's basically just DX, DT.

46:28 You only need to worry about one variable that's changing.

46:31 That's just time.

46:32 It's just the only, what complicates a little bit is just they're all coupled.

46:36 And so like the growth or the concentration, the algae's growth depends on the amount of

46:41 algae itself, the amount of sugar, the amount of light, the amount of oxygen, amount of carbon,

46:46 blah, blah, blah.

46:47 And so this is where you really want to put your model to the test.

46:50 And so when we do these machine learning models, so for example, like a second phase after we

46:55 do sensor fusion is what about like a decision making?

46:58 We're trying to train the computer to adjust the temperature, adjust the amount of daylight

47:04 cycles, the amount of the flow that we're pumping the algae through the tank at.

47:09 So can we kind of make a classifier decision maker system where it has all these different

47:14 possible choices to do like lower temperature, lower light exposure based on all the inputs,

47:22 but bounding those inputs by like these differential equations, right?

47:28 Because we don't want it like, oh, negative 55 is a possible temperature that the decision

47:33 maker seems viable, but we have, we want to make sure that we're bounding it by these

47:38 different equations and say, well, now that, that will like really kill your algae.

47:41 Right.

47:42 Right.

47:42 Or, or a super high pH or super low pH or whatever.

47:45 Correct.

47:45 Yeah.

47:46 All those things.

47:46 Yeah.

47:46 Okay.

47:47 So that's like the second phase that we're working on is like the decision, decision making.

47:52 So it's really, it's really interesting to hear, like you were able to kind of get rolling

47:58 with the built-in machine learning models or libraries and some of these other things until,

48:04 until you get a ways down, you're like, actually in reality, we got a step beyond this.

48:10 We kind of got to start building our own thing.

48:12 Did you expect that?

48:13 so I'm a physicist to be starting.

48:15 So I had this inkling that we're going to have to probably build, do a little bit of custom

48:21 building because we need to absolutely obey the laws of physics.

48:26 Right.

48:26 When we talked about earlier, there are a lot of free parameters in this model, but

48:30 this isn't like computer vision where you have like, you know, 71 million parameters you're

48:35 trying to tune.

48:35 So it's not like the most complex, like black box solution.

48:40 So I was, was on the impression that there are a lot of parameters, but with enough time,

48:45 enough data, we can get good bounding for all these, all these free parameters.

48:50 I might, I might self try to follow the laws of physics whenever I can.

48:54 Yeah.

48:54 It's, it's bad, bad for most living things to violate them.

48:58 So CK, you talked about open sourcing this hardware and having the services in the

49:04 cloud taking this data on maybe talk a little bit about how that'd work and what, what's

49:10 the idea there?

49:11 Would people be able to just build these themselves and plug them in?

49:14 Would it be some kind of service?

49:16 What happens to the algae when you harvest it?

49:18 Like I know if I get solar panels and put them on my roof, I know what to do with that.

49:23 I don't know what to do with drying out soggy algae.

49:25 Yeah, exactly.

49:27 And that's, that's part of what we're trying to plan for with all the experimentation we're

49:31 doing in the different prototype phases that we're in now.

49:34 The prototype we have now is probably our third iteration actually, because we had, and it's

49:39 actually two iterations in one because the large unit actually has two separate blade servers.

49:45 We call them the, they're the blades, the, not servers.

49:49 I just threw that in because I'm used to saying blade servers, but blades, which are all

49:53 the last tubes that are working.

49:55 And so we're designing a smaller unit for the open source hardware that somebody could

50:00 ostensibly like build and run in their apartment.

50:04 That's our goal that we'll do some offsetting of it.

50:06 And then the, one of the challenges I put in front of, the R and D team was like, we

50:11 need multiple solutions for the output of the algae.

50:14 We need a solution for like the person who's like the hacky person who likes to, who has

50:20 their own 3d printer printer.

50:21 Let's build some 3d filament, like as an output and show them how to do that and have that

50:26 rigged up so they can start doing their 3d printing with actual material that they've been

50:31 creating through this good green process.

50:34 But also like we're trying to figure out harvesting methodologies that will take the

50:40 onus off of the individual.

50:41 So I don't know how to solve this yet, but I said, I said, you know, also imagine you're

50:46 me and you're way too busy to babysit a algae machine and you want it very self-contained.

50:51 So we, we actually started researching.

50:53 There's some Marine Marine life, like some small little microscopic, microscopic creatures

50:58 that live on beaches that actually eat algae and they absorb all the negative side effects

51:04 of it when they do that.

51:05 And so that's one of the things that we've said, let's research this and look into it,

51:09 but we haven't figured out all these things yet.

51:10 So at its initial stage, our plan is to open source the hardware plans for how you could build

51:16 your own kind of apartment size version of this with, with parts.

51:20 We could potentially offer a kit for that.

51:22 We will offer the application that everybody can install on an iPad or iPhone and use it

51:28 to connect to the sensors that they are going to be building and phone home to us so that

51:33 we can gather their data and combine it into the project if they want to.

51:36 If they don't want to participate in that and get the back and forth data, they don't have to.

51:42 They can just build an algae machine of their own that's, that's doing that, you know,

51:45 that's sequestering the algae.

51:47 So that's all stuff that's still on our figuring out over the course of the

51:52 next, I don't know, year, I think is the plan for everything.

51:56 But we have some shorter term goals.

51:59 We should get to the initial open source plans much sooner in that cycle than later.

52:05 And, you know, it's really interesting, all the interest that we've received from this,

52:10 you know, not just from Python focused podcasts, but there's lots of different applications and

52:15 possibilities that are coming up from different people around the world who have expressed interest

52:21 in being involved.

52:22 So we're kind of taking that all, all that input as it comes to try to help steer us where,

52:28 where we should go with it to make it of the best use possible.

52:32 And then we are in early talks with a couple of companies who actually want to help invest in

52:37 this.

52:37 Not, not as a, not like investors in our company or anything, but they want to actually help fund

52:44 us building this specifically for their businesses, you know, to, to build a catered version for

52:48 their warehouse that.

52:49 If they have a huge factory, they want to say larger businesses that, you know, yeah, yeah.

52:56 The more they can get from zero better.

52:57 Yeah.

52:58 Yeah.

52:58 How, how interesting.

52:59 I'll throw this out to both of you, whoever wants to jump in or both of you go for it and

53:03 maybe kind of wrap up the conversation around this.

53:07 Right now you have this large refrigerator type of thing, got these columns of algae that's

53:13 circulating around.

53:14 It's getting light and it's really pretty promising.

53:17 Is there a reason that you could not make oil refinery size diversions of this or giant,

53:24 you know, does it scale like much larger in a reasonable way?

53:29 If there ever is a price on carbon or something like that, you know, or, or somebody wants to

53:35 use it to make biofuel, they're going to need probably something larger or a whole bunch

53:39 of these.

53:39 Like, what are your thoughts there?

53:40 So you could do it factory size.

53:42 You just have to be very cognizant of like the geometries that you pick for it.

53:47 Right.

53:48 So just building like a sea world size tank, you're wasting a lot of your space because

53:52 the algae is only going to grow like to a certain depth.

53:54 You need to do like what you had mentioned earlier, the shallow pools, which I believe they

53:58 do a lot, a lot of places in Europe where a lot of like experimentation goes on, or you

54:02 could do the, get the tubular parts of our, of our reactor and build just like really large

54:08 tubes.

54:08 But you have to be cognizant as well as degassing.

54:11 So you could take parts of our design if you really want to scale it up like physically

54:17 to a large scale and really make it work.

54:20 Yeah.

54:20 I guess in my mind, what I was envisioning was a whole lot of little tubes, maybe some

54:25 mirrors to make sure the light gets to all over the places.

54:27 Cause not, not just like a huge deep pool, right?

54:29 Cause that's, that's not going to do it.

54:31 Yeah.

54:31 Yeah.

54:31 It's, it's all about surface area and sunlight exposure.

54:34 And, and then the degassing is, as Nathan mentioned, like those are the main three ingredients

54:39 for it to be successful.

54:42 And, and to a certain degree, temperature control, like you don't want it all freezing in whatever

54:46 layout that you create for it.

54:48 Although like, I don't know if freezing necessarily, and this is a question, Nathan, do you know, does

54:53 the freezing actually kill the algae or does it just make it not grow actively?

54:56 And then when it thaws out, it keeps growing.

54:58 I'm not sure about that.

54:59 It all depends on strains.

55:00 Yeah.

55:00 Like it's an interesting combination of things that you could do, but yes, like Dan Hab, who's

55:06 my director of R and D, who's been spearheading this whole project and who Nathan's working

55:10 with closely on it.

55:11 He always says this is infinitely scalable.

55:13 Like, you know, it's, it's, it's just a matter of sunlight and surface area and degassing,

55:17 you know, and you just got to figure out the right combination and building custom implementations

55:22 implementations of it for different scenarios, whatever they may be, you know, like, so that,

55:28 you know, consider like a, there's probably a different version of the algae reactor that

55:33 will behave better with a different strain of algae and different constraints in like Saudi

55:39 Arabia than there is in China than there is in Wisconsin than there is in Austin, Texas,

55:45 where our headquarters is.

55:46 Right.

55:46 Different amount of lights, different amount of temperature variation, all those kinds of things.

55:50 Yeah.

55:50 Yeah.

55:51 Yeah.

55:51 Sure.

55:51 Ideally, you could just hook it up to like the fluke.

55:53 Like if you're in a big factory, you can build a smaller little factory next to you, build up

55:57 all these algae things and just hook up like your flue gas or carbon exports directly to it.

56:03 Yeah.

56:03 Yeah.

56:03 We've actually been looking into like connectivity, like engineering the connectivity for larger

56:09 buildings that are basically like factories, like any larger building, you're basically

56:13 your own little plant to a certain degree and you have an exhaust system.

56:16 And so how do we filter the exhaust through something like this to remove as much of it

56:21 as we can live, you know, and, and what does that life cycle look at?

56:25 That's one of the things that we're investing.

56:27 Well, well, I really hope that you guys are successful with this because it looks like it's a super cool

56:33 idea and it really could play a key in helping to capture all this carbon and do something useful

56:40 with it.

56:40 I can assure you we will succeed just because we already see how it works.

56:44 It's already working and we just need to make it work more efficiently over time.

56:49 And we're getting enough interest where we, we see the payback for it as far as in terms

56:54 of us keeping our business going and succeeding.

56:56 You know, this is, this is something where there's enough interest where we can see this

57:00 turning into revenue for us in addition to all the stuff that we're doing in terms of open

57:05 sourcing and everything.

57:06 So I think we are expanding the team that's focused on this and bringing in the expertise

57:11 as we're getting further along the prototype phase to get us to, okay, how do we start actually

57:17 productionalizing this whole thing and making it something that's out there and distributed

57:22 and people can buy a kit to or buy or download the plans free for or contract us to help them

57:30 implement at their factory.

57:31 You know, like, so that's, that's kind of where this is all going.

57:34 Awesome. Well, that's, that's great to hear. And it's really cool to see the Python behind

57:38 it as well. And thanks for sharing all of that aspect of it. Now, before I let you guys out

57:43 here, let me ask the final two questions. And Nathan, since you've been doing most of coding,

57:47 I'll direct these at you. Although I might be able to guess a little bit when you're working

57:51 on this project, right? So code, what editor do you use?

57:54 VS Code in JupyterLab or JupyterLab slash JupyterHub, right? One is your library of all your reusable

58:00 functions. And one is your playground.

58:02 Right. Awesome. And then probably ran across some interesting Python libraries for this whole

58:08 project. Do you have a notable library PyPI package that people should know about? You're like,

58:13 oh, I came across this and it was amazing. I had no idea.

58:15 I thoroughly love Dash, not just for this project, but for, especially when you have customers and you

58:20 just want to throw them some basic plots that are interactable. You can run Dash slash Plotly

58:25 in a browser or you can run it in Jupyter directly.

58:29 Yeah. All right. Yeah. Yeah. A nice picture goes a long way for sure. All right. Final call to

58:33 action. People are interested in the bioreactor or maybe they're just interested at getting a job at

58:41 Hypergiant. What do you guys, are you guys hiring one and two, how do they learn more about the bioreactor?

58:46 We're always hiring. Like we're, we've been growing. I think when I joined, I've been here for about two

58:50 years. I joined, we were about 37 people and now we're at about 237 people in two years. So it's

58:57 been a crazy chaotic, meteoric growth. That's great. It's all the, it's all the good types of problems to

59:02 have as a business. And we have a site, hypergiant.com. There's a careers section there where you can look

59:09 at current postings. We also have a form where if you think you have a set of skills that we're not

59:15 currently hiring for that we need, you know, you can pitch what that is, you know, cause we're not,

59:19 because we approach things from a think outside the box through mentality. Often we'll be like,

59:24 wait a minute, what if we need, what if we need a microbiologist who understands machine learning?

59:29 You know, like that's the type of thing that we start. We're not your typical software development

59:33 shop and that we have a lot of different needs and specialties. And Jin Song who's on the team

59:39 actually is a, that Nathan mentioned earlier. He's actually a Korean astronaut has been trained

59:44 as a Korean astronaut, which I think is one of the best. I love that. I hired somebody.

59:48 I mean, he has a bit of space, but he was training for it. You know, it's great.

59:51 Yeah. Very cool.

59:52 I would like to shout out that we are actively looking for interns. If you're in Dallas or Austin

59:58 and you are a undergraduate or graduate student for the summer, data team data science is looking

01:00:04 for interns. It's paid internship. Yeah. And then, I'd also say we have a very active,

01:00:09 we are very active in the press. There's a lot of stories about not only space age solutions,

01:00:14 not only EOS bioreactor, but some of our other R and D projects like project Orion, which is a

01:00:19 VR helmet for first responders, you know, like, that you should check out all that's available

01:00:24 on our website. And we have a press page that, links to a lot of the public press about all the

01:00:29 cool things that we're doing. It's all a lot of fun, crazy stuff. And every day brings

01:00:33 new challenges. Ben Lam, our founder this past weekend was like, let's start looking more deeply

01:00:40 into what we can do with identifying UAPs. Now that the air force has started looking for,

01:00:45 what were known as UFOs. So like, yeah, so we've been doing a lot of, ideation and initial

01:00:51 experimentation with some public data. Although the data is kind of dirty because of all the UFO

01:00:55 funnel and all that stuff, but we've been doing some, diving into how do we help? How do we use

01:01:01 computer vision and all the data that's available and different imagery that's available to help

01:01:05 spot that sort of thing? And, and there's, we've already started tinkering with it. So we'll,

01:01:09 we'll see what's coming next.

01:01:10 Well, it sounds like you guys are doing just a whole bunch of cool, interesting projects.

01:01:14 If you could just like play around with tech, doing fun things, it sounds a lot like that's

01:01:18 what you're up to. So thank you so much for sharing your story, especially the EOS bioreactor

01:01:23 and all the data science behind it.

01:01:25 Cool. Thanks for having us.

01:01:26 We're really appreciate it.

01:01:27 Yeah. Thanks for having us.

01:01:28 You bet. Bye guys.

01:01:29 Bye.

01:01:29 This has been another episode of Talk Python to Me. Our guests on this episode were CK Sample

01:01:35 and Nathan Papapurito, and it's been brought to you by Brilliant.org and Linode. Brilliant.org

01:01:41 encourages you to level up your analytical skills and knowledge. Visit talkpython.fm slash

01:01:46 brilliant and get Brilliant Premium to learn something new every day.

01:01:51 Start your next Python project on Linode's state-of-the-art cloud service. Just visit

01:01:55 talkpython.fm/Linode, L-I-N-O-D-E. You'll automatically get a $20 credit when you create

01:02:02 a new account. Want to level up your Python? If you're just getting started, try my Python

01:02:07 Jumpstart by Building 10 Apps course. Or if you're looking for something more advanced, check

01:02:12 out our new async course that digs into all the different types of async programming you can

01:02:17 do in Python. And of course, if you're interested in more than one of these,

01:02:21 be sure to check out our Everything Bundle. It's like a subscription that never expires.

01:02:24 Be sure to subscribe to the show. Open your favorite podcatcher and search for Python. We

01:02:29 should be right at the top. You can also find the iTunes feed at /itunes, the Google Play

01:02:34 feed at /play, and the direct RSS feed at /rss on talkpython.fm. This is your host,

01:02:41 Michael Kennedy. Thanks so much for listening. I really appreciate it. Now get out there and write

01:02:45 some Python code.

01:02:45 I'll see you next time.

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon