Rusti Gregory: Hello. Sean Tibor: And welcome to Teaching Python. This is episode 79, all about School and Student Data with Rusti Gregory. My name is Sean Tibor. I am a coder who teaches. Kelly Schuster-Paredes: And my name is Kelly Schuster-Paredes. And I'm a teacher who codes. Sean Tibor: And we're here this week with Rusti Gregory from the almost frozen north. I think it's getting colder every day there. Right. Welcome, Rusti to the show. We're excited to have you. Rusti Gregory: Excellent. Thank you for having me. I'm excited to be here. Sean Tibor: Well, we've had some conversations, I think right around the beginning of when we started the podcast and then things quieted down and I think you got busy. We got busy. And then you reemerged a few months ago on the Talk Python podcast. And when you came back, you were working on student data school data at a district level. And I was like, we have to get Rusti on the show like, I want to hear all about this. Kelly Schuster-Paredes: That's pretty cool. Just talking about data, it kind of makes me excited. I'm sorry. I'm not a hardware person. I am a data person. I'm trying to be, at least. So it'll be interesting. Rusti Gregory: Well, you're not alone. Sean Tibor: Well, good. Well, we'll start where we always do with the wins of the week. And then we'll jump into a little bit about your background, Rusti, and kind of the stuff that you've been up to and just talking about how we're using data across education in different ways and maybe making that jump from classroom and technology integration to more of a data focused role in education. We're excited to talk to you about. Rusti Gregory: It sounds great. Sean Tibor: So we'll start with the win of the week. There's something good that's happened inside or outside of the classroom. And, Rusti, we're going to make you go first because that's what we like to do. Rusti Gregory: I had a pretty big win last week. I finished a big project where I'd been working on coordinating between Power School and Google Classroom. So kind of keeping Google Classroom up to date with what's in our student management system. So I kind of started that and it was about a week and a half journey of a lot of learning different things. And I finished that up last week, and it's been working this week so far. It's a win. Kelly Schuster-Paredes: Excellent. Sean Tibor: Nice. Kelly Schuster-Paredes: I remember horror stories about Power School. Rusti Gregory: He just watched that's my daily. Kelly Schuster-Paredes: Coming from a whole bunch of international schools. We've used everything, so there are better platforms. There's always pros and cons of everything. So good for you. Glad to have that win. Sean Tibor: All right, Kelly, how about you? Kelly Schuster-Paredes: Oh, my wins. Obviously he knows my win. As I was jumping up and down today in front of my class, I set the students up on a class challenge that was set for about 15 minutes just so I could finish working on my own challenge that I've been working on for about three weeks. But in mind you, it's not like 24 hours of me working. It's like, 20 to 30 minutes a day of me trying to solve a problem. And in between kids coming in, my kids bothering me at home fighting. But it was a problem. It was a problem from Pie Charm Academy that I've been JetBrains Academy from Pie Charm Edu that I've been working on. And it was so ugly. My code and I started off with list, and then I changed into a dictionary, and Sean is like, you should just put it back into a list. And so I had three different versions of a code. All that doesn't work. And I mashed it together this morning, and I was so close, so I knew it was going to win. And I started jumping up and down because I was like, It's going to happen. And then the kids are like, oh, it's going to happen. And it finally happened. So now I have one more part of the project to finish. But it was so good to be done with that. Sean Tibor: I'm just, like, and you're braver than I am because you had it up on the smartboard as you were solving it test bar running across the screen and everything. I would not have put that in front of this. Kelly Schuster-Paredes: I did it like, five times, and they're like, oh, you failed. And I'm like, oh, but I know this one. I can fix that one. Oh, look at that silly mistake. So it's fun. It's really good. Rusti Gregory: They're invested enough to care. That's a win for certain. Kelly Schuster-Paredes: Yeah, my six graders this quarter are the ones in themselves. They're crazy. Yesterday was telling me this, how do I package a code? And I'm like, oh, God, this is the second week. Kids, can we just talk about libraries or something? He says, but I want to run this on, and I'm like, okay, go to this website, have fun. Rusti Gregory: It's really big times. Kelly Schuster-Paredes: And what was your windshield? Sean Tibor: Well, it's kind of a combined win. So I've been working on, like, I know that when I get stressed, my therapy is to spend some time working with my hands and doing projects that have hardware incorporated in them. So I've been working with our innovation lab specialists over in the upper school. They've been selling a brand new 3D print farm with these amazing Prusa 3D printers, and I have some experience with them. So I've been helping them get that set up. And this week, they just turned on. All six of them got connected to our cloud printing platform. And as of right now, three of them are printing pieces for a project that I'm starting next month, all with LEDs. So it's been a really cool win to kind of get all this stuff fitting together. And then I also, as part of that, have been just experimenting more and more with Led projects in our classroom right now has probably 100ft of Led lights going through the ceiling, lighting up, blinking, causing Kelly to Twitch from time to time from overstimulation changed my win. Kelly Schuster-Paredes: He finally finished that project. I was like, oh, my God, for goodness sake, stop playing. Sean Tibor: So that's been a fun one. And the fail this week has been I forgot to give one of my class periods a quiz that I gave the other one. So I'm going through and catching up on grades. I'm like, Wait, why don't any of them have it submitted? And I realized I had completely forgotten. So that's what they get to do in about 45 minutes. Kelly Schuster-Paredes: That's funny. I don't have any fails. I have successfully unfailed. And if I have, I'm forgetting it. So I'm just going to not fail this week because I've been failing for the past three weeks on that darn challenge. Sean Tibor: I think it's a great example of failing your way. Kelly Schuster-Paredes: I failed my way to success. It was great. Rusti Gregory: It's all worth it when it works. Many times, I'm working out things in my head on my bike, ride home, and then I finally get home and I try it. And I was like, oh, I was just 3 hours at work trying to figure this out, and all I need to do was think about it for 20 minutes. Kelly Schuster-Paredes: That's it. Sean Tibor: We're big on thinking before doing right. We put some thinking into it. Any particularly memorable fails this week, Rusti? Rusti Gregory: No, I'm trying it's Friday afternoon. I'm not thinking about that. Fair enough. Sean Tibor: So why don't we introduce everyone to you? Rusti, you're a teacher. But I understand that you didn't start off planning to be a teacher. So how did you get into teaching and then into technology and Python? Rusti Gregory: Sure. I went to Undergrad for law enforcement, and I spent a summer inside a police car and decided that that wasn't for me. And then kind of met my wife right after that and kind of moved around a bit. When we came back to the States, I went back to get my master's in teaching, and I was going to go for middle school. Science was pretty much my interest at the time. And I did my student teaching, and they hired me, but they didn't have a science job open. So I kind of fell into this computer intro course at the junior high in Illinois. So I did that for a little bit. And then we moved to Vermont, and I ended up as a tech coordinator at a very small school, 200 kids. So I did everything you name it. It was plugged in. I had to take care of it. I had very little experience with hardware at all, but I kind of learned it all while we were doing that, and I was able to turn that into a tech integration job that was just kind of emerging in Vermont and with a home of IBM. So there's a lot of layoffs and stuff going on. They're trying to retrain these guys who were hardcore tech guys into becoming teachers. So there was a little bit of funding out there to kind of help push me in that direction. So that was pretty cool. So I got to get back into teaching, which was awesome. So I was there for a long time again. Of course, I just got that added to my job. So I also took care of everything but had a classroom at the same time then, or I was responsible for the classroom then. So that was great. It was exactly what I needed at the time. I started to learn HTML and things like that. I started to teach at a community College web design then, and that was pretty cool. I really enjoyed that. Another job opened up where I didn't have to worry about the hardware and stuff, and I could just be an integrationist and kind of help other teachers. So it kind of switched over to teaching the staff at that point, and I started to do more and more of that. I started to get more into kind of keeping the building or the place organized at the time. So they had the tasks that needed to do needed to be done or something figured out. I would start to organize things with the administration and stuff. And then when I got into automation, I started to automate some tasks, like our mandatory training. At the beginning of the year, I was able to figure out how to send people emails to reminders in the morning and stuff like that to get that done. So I really enjoyed that. And that all kind of stemmed from hour of code. I'm sure you guys are familiar showing the kids all these different cool things. One time after the hour of code, I just sat there and finished code combat, and that was pretty cool. And then I bought the paid version, and then I spent about three or four months doing that. And I really found that I enjoyed that. So I tried to prepare myself to be able to teach coding at a higher level rather than because I was at an elementary school at the time. So I just kept going and have really enjoyed that aspect almost more so than teaching people how to code. So when this job came up, we kind of had some changes at our district, and this position was created and I just slid into it. I guess it seemed like a good fit for where I was and where I was heading. Kelly Schuster-Paredes: Nice minus the cop in the community school. You sound like a familiar role of what I did. It was the same thing. It's funny how people in the positions normally computer science or computer science teachers usually fall into that position or the tech integration specialist. You become this everything we do everything too. And it's always like, Did you turn it on. And just because we were able to ask those questions, they're like, obviously, you know, about Tech, I sure do. Great. Rusti Gregory: If you could read an error message, you're going to be really good at this. Most people don't take the time to just stop and think about it. Kelly Schuster-Paredes: Yeah, absolutely. Sean Tibor: I also know how to Google, right? Kelly Schuster-Paredes: Yes. Wait a minute. I just got to get a phone call. Rusti Gregory: I can remember the very first time that the district person came by when I was sitting in my little room in the small school and she Googled the question that I asked her, and I was like, what I was like, yeah, exactly. I thought she just do all this stuff about Microsoft Server or whatever it might have been, but no, yeah, it was really cool. Sean Tibor: Can you tell us a little bit more about the role that you're doing now? This is relatively new, right? Is it this year or did it come about last year? Rusti Gregory: This is my third year. So when I first started, like I said, we had a big merger. Vermont merged all of its smaller districts, and it's a really local control kind of place. So my kids go to a school with 108 students in it, and they had its own school board and its own rules and all these types of things. So the state asks all those schools to consolidate. So we went from what's called a supervisory Union to a school district now. So all four schools had to come under one school board, one set of rules, one everything, basically. But we've been four very separate places before. So that happened at the same time, that state decided to require Allstate reporting to be online through this one system through a number of data collections. So basically, we all had to get all of our stuff to look the same. And then it had to meet this higher criteria that it had never been before before. The information had been for the school used by the school. Now it's also that but reported to the state. So there was a lot of haggling that had to happen between the systems to make sure that that could happen. So when that happened, we also got a new technology director, and they just said, oh, these new requirements are now yours. And he basically spent a year trying to do that and everything else that's required just to keep things running and convinced them that this should be a separate job. So I was able to step into that. I've been kind of helping because I've been learning how to manipulate large amounts of data and stuff like that before that anyway. So that's what I do now. All the time. I kind of spent a lot of time training people how to enter good data and kind of being involved in what we need to put in to get out what we want, which is great. So I'm in a unique position. I think I'm one of the few people hired in the state specifically to do what I do because I talked to the other data managers, and lots of times they had other jobs before and now this was added to their plate. But I sort of was given this data position first, and then I've sort of added to that instead. Kelly Schuster-Paredes: Just for our listeners, who may not be teachers or educators out there. What kind of data are we talking about? Rusti Gregory: Pretty much. So we have a student information system where everything goes all the students, demographic data. Some schools use it for their grades as well. Everything goes into this one system. That Power School can be a huge. We've been using it as a machete for a long time, so just to chop just basic tool, I'm kind of trying to turn it into a Samurai sort of analogy. They always say so it can be a really good tool for doing very specific things, but you have to change it. So what I do is I go in, I've got the ability to actually add fields. I've got the ability to add things to it, to change the interface. With my web design history, I'm able to add buttons, remove buttons, those types of things. It sounds kind of trivial, but it's kind of important if people need information on certain pages to build reports out of it, that you wouldn't be able to do if you didn't know that a sequel and also HTML to present it and those types of things. So I send that information to School Messenger to our special Ed program, to our nurses program. All the other systems that we use, going from one proprietary system that only uses you have to do things power schools way inside Power School. But then our special education system wants it in a different form. So I've automated the processes to make that happen before they just didn't match. And that's just how it was, right. We're going to guess that this kid is this kid. His name is spelled differently here, but that's probably him. So now things match up pretty well. So keeping those things going, it's a full time job keeping things clean, I guess. Sean Tibor: Well, I think people may not understand unless they're in it how much data is being generated on a daily basis, right? It may not be like IoT level, constant streams of data, but even on a daily basis here, we're generating attendance history. We're generating disciplinary files, we're getting test results, we're getting medical history, medical history, health records, and everything has a basic layer of data protection and security that needs to be applied to it. And then there's some things that need to be even more secure. It becomes pretty complicated pretty quickly. And then in addition to that, a lot of the administrators, teachers, technologists, even this is all relatively new capabilities. These are things that have been hitting education over the past 30 to 40 years. But the big portion of that has been hitting in the last ten, and they didn't go to school for how to manage a student information system or how to process or extract transform and load data from one system to another. Rusti Gregory: Right. Or even just four years ago, it was turned in by hand. They literally had a list that they would write and then turn that into the state. And now if one letter is wrong in a name, it's going to get kicked back and everything that's going to knock on to 15 other files kind of thing. Yeah, they're asking a lot more of schools to be much more exact. So being an educator as well as somebody who's familiar with the technology and actually cares and wants to dig in and kind of understand exactly why that is a huge boon to doing this job for certain. Kelly Schuster-Paredes: Are you also does your state trying to process this? So when I was in the UK, I worked with a gentleman who we did everything in a FileMaker kind of system. This is back in. I'm not going to date myself, but it was FileMaker seven. Sean Tibor: It was back when you were 16 or 17 years old. Okay. Kelly Schuster-Paredes: But we also combined with Power School, our curriculum and everything like that. Are you helping the teachers manage so we could actually go in and dig into our skills and dig into our units and match completion, which is nice because you have strings versus, like a bar graph kind of output going on. Rusti Gregory: Right. Because we only have one school that keeps their grades in Power School. That's how separate we are again, out of the four schools in our district. Only the high school does that. But filemakers still around. Believe it or not, we just switched. And that's one of the things when I came in, we used to have to keep this old computer unapdated from the school because it had the version of FileMaker that would use Java that could communicate with the state. So one of the reports that I feel has fulfilled that old reports need. But there's still people are like, well, when we submit this, we're going to have to. I'm like, no, that's not how it's done anymore. But yeah, so even just two years ago, I think we let go of that. All of our incident data had to be sent in on this old computer that we kept unpaid in a room that nobody could touch, and they even had, like, a sticky note. I kid you not on it. Says don't update. Sean Tibor: Yeah, I think people will be surprised to realize how many tech departments have a computer in the back room that has a post. Don't even breathe on this. Kelly Schuster-Paredes: Interesting. Just side tracking, because when you output data out of, like, a FileMaker program, I suppose you can just output it anywhere and then manipulate it with Python. Rusti Gregory: That's exactly what's going on. Everything comes out as a CSV normally, but different. Something that might be a yes saved in Power School might need to be a one when it goes to our goal View program. So those are the types of things that have been automating. Pretty much everything comes out as some sort of a CSV file, actually text type file, and I change them over and send them to where they're supposed to go. Kelly Schuster-Paredes: Newbie questions for a newbie. So if thinking about this, I don't know if you've ever listened to the past podcast, I still have the dream of one day doing this my own database thing for data. That's not a Power school. That's not whatever. But as you get the data, all you really need to know is what would be the output to match. And then more simply, just go, if this is that, then that can push to whatever else. Right. Everyone gets surprised when we talk about the Python, but it's really not. It's just understanding some sort of condition in order to match it absolutely. Rusti Gregory: Provided you have the exact same fields in both systems. It's that simple. Yeah. It's when you don't that it gets a little bit more complicated. Then you have to write in a lot more logic. For instance, our Power school system keeps our contacts in a different way than the contacts need to go to our other system, and they require different things. Educational rights versus who's who's in custody or who has custody and those types of things. So sometimes you have to figure out exactly what they need before you can send it. Opinion isn't the right word. That's more subjective to make an informed decision on which things match up with which between the systems. But for the most part, it's as simple as bringing it down, changing the zero to a yes or no and that and it helps to be an educator. Kelly Schuster-Paredes: I think that's one of the sometimes the issues in schools when you have a great tech Department, but they've never been educators. So it makes their job a little bit more cumbersome because they don't really understand systems in order to match data in order to push the data in the correct area. Yes, they can find a field. That's the easy part, but actually to make sense of the data and be helpful for the teachers. It takes a lot of double knowledge, right? Rusti Gregory: Yeah. Especially when I was doing tech integration. It helped a lot to be an educator at that point, too, because nobody knows what it's like to sit up in front of 25 kids that are already restless and then have something fail and then boom, there's your next half hour of wasted time when you finally got everybody's attention or whatever. It's kind of a similar issue as far as it goes with the data and the information. Sean Tibor: So for teachers who are maybe looking to make this kind of jump. They want to go from classroom teaching into more of a data role or an analytics role, or be that person who's gluing duct taping joining. However it gets together. What advice do you have for them for? Maybe how to get started down this path. Rusti Gregory: I found as many opportunities as I could in my school to start to use Python to solve problems. The very first one that I did was we had our school pictures came back, and I maintained the website for my school at the time. And one of the board members wanted everybody's names to be or everybody's picture all the staff members pictures to be on the website. So we got a disc from the people who come by and do school pictures, but it all had their numbers under there. And I didn't know everybody at the staff because I was pretty new. But I had a list of names and numbers because this was actually for a database upload. They'd given us in the machine format, basically. So I wrote a program that went through and matched up and renamed all the photos with the actual person's name. And it probably took me a week and a half again, like you say, 45 minutes here, half an hour there when I could and plenty of time at home and everything to make it happen. But man, when I did that and it all happened in like 1.5 seconds and it renamed 500 photos. It was pretty cool and correctly. So I learned a lot about looping and reading from files and reading from Nested folders and all that kind of stuff. It was just a great kind of project for me. But the next time I came across any kind of a loop or whatever, I took that knowledge with me. That was like the first thing. And then we had an employee intake. We get a new employee. There's five things the front office has to do, five things the admins have to do. The technology Department has to do this. So I started to write programs that would go and talk to Google Drive from Google Docs from Python. So I would download all the information. I would fire off an email to everybody, letting them know that they came and that there was a spreadsheet waiting for them. And then I also automated from the form. I created a new spreadsheet that had all these things made a checklist for everybody. And then I sent the email for that. And then eventually I was like, every Monday, I'm going to remind everybody of the things that they haven't done yet. So then I created those types of things that were really great. I automated our mandatory training, which was really cool. You have to come in and you have to do, like these 15 different things every year, how to deal with assault and your mandatory reporting, all this information. We had this list, and you had to fill out a form that said that you'd already done it. The principal would come in and ask me every two weeks. Can you give me the names of everybody who hasn't done it? I would literally count copy, paste, all these names, sort filter everything. So then I was like, there has to be a better way. So when I started scripting, I was able to write something that would just kind of keep track of that and send everybody an email every Monday. And then also, if you've written some programs before, you know, I also took that same list. When I emailed them, I added them to another list. And then the principal got a list of people who still needed to do it. And it went from mandatory reporting being done in February to being done in October 1 when it was supposed to be finished because you get pounded by the machine on a regular basis. I guess so. Kelly Schuster-Paredes: Change of questions. And forgive me if this is a dumb question for everybody, but I know you're storing all this data because it's pretty sensitive stuff. And I know you obviously have Google and Google for education has that security ish security. I mean, I don't think, where do you store your data? Do you guys store them on your own servers? Do you outsource or the district if it's a big. Rusti Gregory: Legitimate company that's used to this stuff like our special Edge is hosted by a company that's their specialty. So they have all the protections in place. But you have to be very careful about how things get moved back and forth. So you tend not to email student information at all. So that stuff always stays right where it's at. Most of the stuff that I deal with when I send student information is sent to the state over SFTP. Otherwise, if it's staff information, I email staff information to them about themselves. Yeah, it's definitely a concern. And it gets to be a bigger and bigger concern all the time. Any of our student information. We have an SFTP server here, so everything goes securely if it's going from power school to my little Sftb server here because I've got to have it locally here to work on it. Yeah. Kelly Schuster-Paredes: Prior to the summer, I would not have known what you were talking about, but I did manage to do this whole movement of vendor all of our software into one app, and that SFTP. And then my data guy. The tech guy was like, Stop sending. And I'm like, oh, what am I supposed to be doing? You can't. And I'm like, Well, it's Google. It's safe. Yes, it's our documents. Rusti Gregory: It keeps it interesting for certain. That's an extra challenge, an extra layer on top. But you find that once you figure out a way to solve it, you just use that same way as much as you can. I don't have the advantage we don't have the depth of experience here that I actually had to build my own SFTP server. I researched it. I had to figure it out. And then once I could get that done, then I could start working. Then I could start to create automation. So I had to create my own environment to start working on this stuff in the first place. So that was an adventure as well. Sean Tibor: I wanted to ask a little bit about kind of the way if you were to go back, right? Because you've spent three years now kind of away from the classroom, and it gives you kind of a unique perspective in terms of what's been developing, what's been happening for technology and learning tools and everything. So if you were going to go back to the classroom and teach, what are the things that you bring with you from this role and from what you've seen develop over the last three years? Rusti Gregory: Yeah. I started to play a lot around a lot with microbits right before I left. When I was working with some older students doing some stuff with microbits, and I would definitely start there. It's a great way to get some real hands on experience with an actual coding language and things. The microbit robots. I was looking at those a few years ago. I'm sure they've progressed a lot in the past few years, but just taking that same once you get comfortable with that piece, putting that into something else that's going to start moving is a great next step. Web design, I think, has been monumental. I think in understanding building things that people are going to interact with. If you have the skills in web design, then you're going to know how to position and work with things inside of apps. And that's like the next logical kind of stuff. Or even if you're going to go into games, game design and stuff like that strong web design, I think, is going to help with a lot of that stuff. So I would definitely start with that. Html and CSS are easy. And then once kids are comfortable with that, you can really just kind of pile on lots of cool little JavaScript E type things. Unfortunately, web design stuff. It's complicated with Python. It's doable, but it's not accessible. I would think it's got a high learning curve. Yeah. App development, that type of thing with older kids if you could get high school. But it's pretty intense. Those are the types of things I'd like to. I was hoping to move the two older students just to be able to do more things. Kelly Schuster-Paredes: I hear you. I have to take another print. I say this every quarter. I'm really good at teaching objects. I can answer any question about a student's code from my desk without seeing it. Now. Rusti Gregory: That is the elementary school life. Kelly Schuster-Paredes: Yeah, middle school as well. So here's the question, not on our question sheet because I'm thinking about all the things that I wish I could automate, but if you could design or automate something for teachers that would make their lives much easier and you could feasibly do it, what would you help them with? Rusti Gregory: I'm not necessarily good at finding big issues like that. What I really enjoyed was solving my own problems with code, and I really get a kick out of getting it exactly the way I want. There's lots of tedious parts of teaching that you have to deal with in between. It's tough. If it were me, I would learn enough code that I could solve those issues that I really wanted to because it's got to be fun while you're learning. If it's not fun while you're learning, and there's nothing more fun than solving a real problem. So for me, that's why I started to automate those little tasks that just kind of take them off my plate. And then when it needed to be tweaked, I looked forward to it. Oh, this is broken, or we want to change this, and I'm like, yeah, I got it. No problem. Sean Tibor: I found a lot of satisfaction in automating the small things, right? Like, just the little task. I didn't even tell Kelly about this one yet because I was just messing around with it yesterday, so she knows. And she's rolled her eyes many times at the home automation project that I've worked on over the past year and a half. But one of the things I added a few months ago was home energy monitoring. So we keep track of energy usage in my home. And it's pretty much one way because I don't have any solar generation or wind generation or anything like that or battery storage. But it just tells me how much power I'm consuming from the grid. And one of the really cool things about the solution I went with is it has these little clamp meters that go on to every circuit in your house. Every circuit breaker has a line coming off, and you clamp onto that, and then you can measure the current coming off of that circuit. One of the circuits that I'm measuring is the dishwasher. And your dishwasher basically uses no power. When it's off, it's like one Watt or something just to keep the buttons alive if you want to light it up, but otherwise it consumes no power. But it's pretty easy to detect when it's running, because the power cycles up pretty high. So I made this automation that knows when the dishwasher is on and when the dishwasher is off, and when the dishwasher turns off, it sends me a little pop up notification on my phone that says, hey, the dishwasher just shut off. Well, the thing that I had yesterday just wait. You think she's shaking her head now just wait. The thing I added to it was it has a little counter variable that keeps track of how many dishwasher pods we have, and every time the dishwasher finishes, it deducts one from the podcast. And then when it gets below ten, it sends me a notification that says. Kelly Schuster-Paredes: Why don't you just connect it to Amazon and just have it ordered for you? I mean, why did you waste that step? You should just be automatically. Sean Tibor: Iterative improvements. That's the next step in the process. Rusti Gregory: Yeah, I absolutely love that. That is fantastic. Kelly Schuster-Paredes: I wish somebody could automate my UFI and my Irobot and tell it to stop sticking into the if you got stuck there, don't go back into the closet. Rusti Gregory: Make that happen. Be the code you want to see. Sean Tibor: And that's how sky was born. Once you teach the robot vacuums how to learn that's when it's over. Rusti Gregory: I think those little personalized projects like that. I learned so much from them. I have one that I commute to work by bike. So I got into, like, I like the details of things, obviously. So I got into, like, waxing my chain rather than oiling my chain. So I bought a bunch of three different chains and then every 200 to 300 miles that need to be switched out and re waxed to put it back on to make it sure it's nice and silent. So I use Strava and I automated a Google sheet to check Straava every 4 hours to see if I've ridden. And then if I ride, then it goes into the sheet and it adds in how far I've gone and it totals it up. There's another sheet with my three chains on it. And then it also adds the mileage to that chain. And then as soon as I get 200 miles, it'll send me an email that says, hey, time to get a chain ready. When it gets to 300 miles, it says, Change your chain. And then I've made a little button. And this is great. There's an API inside there. So I made a little button that comes in my email that I can tap and it will move on to the next chain. Kelly Schuster-Paredes: This is why he was so excited. He was like a kid in a candy shop knowing that he was going to talk to you today to have some sort of nerd sharing automation going. Rusti Gregory: Do you know how much I learned during that whole process about smiling like the whole, well, when it worked, right? Of course, when I was frustrated for 4 hours because something didn't work, it's tough. I've brought a lot of that what I learned in that to automating things that work. And that's something that was lying there awake at night trying to figure out how to fix that one off by one error or whatever it might be. It's really good personal projects, I think, are fantastic. Sean Tibor: I think it's also a good indicator. So if you're the kind of person who thinks you might be interested in a data job like this or an automation job, kind of ask yourself where you get the satisfaction from. Right. So if you're the kind of person who loves putting three weeks into solving a problem and you're not going to give it up because, you know you can do it, you might be really good for this if you're the guy who's like, I'm going to spend 2 hours figuring out how to save myself 20 minutes of work, because to me, the equation is like, I learn it. I have that knowledge. I can reapply it later. So maybe it's 2 hours this time. But next time it'll be 20 minutes and the time after that, I won't have to do it at all because it will already be automated. Right. Rusti Gregory: And now when I think of a problem, I start to build things more modularly so I can just go, oh, I've already built that solution. I had already built that Delta function, so I feed in two lists and I can get the change back. Why now I use that in lots of different projects or things like that. So the more projects you come against, hopefully, the better you get it. Those types of things really handy. Kelly Schuster-Paredes: That's where learning functions is so important, but you don't really get it when you're teaching it. Sean Tibor: Yeah, I think it helps you get to apply it. Right. You've got to find some way to actually use it. Rusti Gregory: Haven't I done this before? Oh, yeah. I go back to that one, and then I end up all my variable names will mess me up multiple times. And now I use more ambiguous variable names that describe not necessarily that exact same thing, but maybe what's happening or what that might be from what you were saying earlier when I started teaching, I thought of myself as a people person, and I obviously wanted a job where I was in front of people all the time. And then the more I started coding, the more I started thinking maybe I'm not. Maybe I do enjoy this, but definitely you don't want to be a kind of tech person that hides in the back room. So I think that that's one of my advantages that I'm able to go in. And I could always work with teachers. So it's easy to go back and try and explain things or make things that work for them as well, and not just slave to the data, whatever that might be. Kelly Schuster-Paredes: We were having a similar conversation just this morning. We were talking about things that we're passionate about, and for me, everyone always tells me to go get a project. But for me, the projects are solving these little bitesized challenges, because one I know I'm a busy person and having to be like the single mom, do everything and then do school work and whatnot and be the taxi cab person. I just want to be able to challenge myself for about 30 minutes or three weeks and move on. So it's like I get really excited. And really those endorphins of solving challenges given to me where Sean gets you guys and you probably as well get excited about solving your own personal so personal challenges. But I think whatever it is, whatever provides those endorphins and that passion is something that keeps us coders doing what we love to do. So it's been really cool. Rusti Gregory: I tend to get a little bored of things that I get really into after three or four years, and I found that coding there is no end, right? You just get a little bit more complicated or a little different, or you can just add another language that does a little thing. And once you have your basics down, like the basics you guys are giving these kids when they leave, your class is going to serve them for the rest of their lives. You only have to learn how to do a function once and then you can apply that in any new language that you're going to go to or learn a loop or whatever it might be. Kelly Schuster-Paredes: Yeah, we definitely the kids definitely leave here in 8th grade on their way to know more about coding than I probably will in that same lifetime. So they go on and they just impressed. That's pretty cool. Rusti Gregory: For, like, a science analogy. They're like, you're giving them the simple machines that you can build everything else from later on. Kelly Schuster-Paredes: Absolutely. Sean Tibor: Well, I think we're just about running out of time. I have to go give those 8th readers that quiz that they don't know it's coming. But Rusti, I want to thank you for joining us today. It was really interesting and enlightening to learn a little bit about what happens kind of behind the scenes to make education happen. I mean, there's a lot of data that has to move back and forth and more and more every day that we're collecting. Absolutely. I know that teachers will be kind of well positioned to help make that happen and to make it happen in the right way. So thank you for sharing that with us. It's been really great to learn more about it. Rusti Gregory: Excellent. Thanks a lot for having me. Kelly Schuster-Paredes: Yeah, it was great. I was trying to find something because I know he's going to ask me if I have anything, and I know I do have something. I did take a little free course from Idou. If anybody ever has an opportunity to do this, I think this is applicable for a job that you're in. You also have coding skills, but you also have this ability to help drive change in your organization. And this course was kind of like, how do you drive change? And there was one thing that made me think about this course was one of the things that they talked about was this feedback back loops. And how can I shape my work in order to make my progress in X? And that was something that really stuck with me about coding. How can I shape what I'm learning in Python in order to help me make progress in this project or this problem? And it was just a neat course. So if anybody it was free. Ideo you something to think about as a computer science teacher. Unclear: Nice. Sean Tibor: The one I want to share is what I'm stealing from you, which is Kelly found this fantastic visualization of logical operators, and it's trick or treat, and it has two pumpkins shaped like Venn diagrams. So the trick or treat shows them both colored and including their overlap. Trick and treat has just the overlap. And then it has trick X or treat. So it's the exclusive or it's one pumpkin or the other, but not the overlap. It has a NAND in there. It has a nor trying to find it and it has an Xnor, so it is really great and so much fun and I'm definitely going to put it up in the classroom and I'll share it on the show. Notes. Shamelessly stolen from Kelly, who retweeted it from someone else? From William Lowe, William at Mr. Lou learning on Twitter. Just really fun. Very seasonal, especially here in the US where we're about to take off Halloween weekend. And I think it was just a really great show. Kelly Schuster-Paredes: Yeah, I liked it. Sean Tibor: So if you want to follow more about the show, if you have your own thoughts about making the transition between teaching and education data, you can always follow us on Twitter at teachingpython. Our website is teaching Python FM. We love to get listener emails. We've actually been doing a pretty decent job of replying to listener emails recently. Kelly Schuster-Paredes: I think I missed a couple, but I promise I'll get back to them sooner or later. Just catching up on my greeting. Sean Tibor: You can always sponsor us on Patreon, so anything that goes into Patreon goes into producing the show, so we appreciate all of our Patreon sponsors for that. And I think with that, we're going to say, have a great weekend. And thanks for teaching Python. This is Sean. Kelly Schuster-Paredes: This is Kelly signing off. Rusti Gregory: Bye bye.