Rachel website

Rachel White

Developer Experience Lead American Express

Rachel White is a technologist, artist, and pretend-cyborg who is currently the Developer Experience Lead at American Express, member of the Node.js Community Committee, and co-host of the Changelog podcast JSParty.

Description

Rachel spends her free time building robots, creating hardware art, and making silicone molds of her friends' faces. She got her start with NodeBots, a beginner-friendly way of creating hardware projects using JavaScript. Rachel shares how she was first introduced to the hardware world, breaks down what a simple hardware project looks like, and tells us what it was like to be one of the first beta users of Twitch.tv, back when it was called Justin.tv.

Show Notes

Transcript

[00:00:00] SY: (Music) SY: Welcome to the CodeNewbie podcast, where we talk to people on their coding journey in hopes of helping you on yours. I'm your host Saron and today we're talking about node bots. By day, Rachel works at American Express.

 [00:00:23] RW: My name is Rachel white, and I'm the developer experience lead at American Express.

[00:00:27] SY: But the rest of the time, she's building robots, creating art, making silicone molds of her friends' faces and turning them different colors. The models, not the friends. She's a self-taught developer. And in the past few years, she's used her coding skills to get into hardware and she's made some really cool things. She tells us all about her projects and how she got started after this.

[00:00:51] Flatiron School teaches you how to code from anywhere. They've got an awesome community of career-changers and a number of different options for you to pick from to become a software engineer. They've got full-time in-person courses, self-directed introductory courses and a remote online web developer program. They even have a free 75-hour online prep course where you can learn JavaScript, Ruby and do some interview prep. Go to flatironschool.com/podcast to learn more. That's flatironschool.com/podcast. Link is in your show notes.

[00:01:25] One of the best parts of being a coder is finally being able to bring your passions to life. You have the skills to design, to code, to create the thing you're excited about and share that passion with the world. And Hover can help you with the first step of sharing your passion with the world: getting your domain name. They've got a really beautiful and easy-to-use interface where you can find and register your new domain name in just a few steps. And to give you full control, they separate your domain name from your hosting so you're never stuck with one service. They keep your domain name safe while giving you the flexibility to use whatever hosting service is best for you. They also give you free WHOIS privacy, so your personal information is safe, too. To get started, go over to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes.

[00:02:13] DigitalOcean provides the easiest cloud platform to deploy, manage and scale applications of any size. They remove infrastructure friction and provide predictability so you can spend more time building what you love. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes.

[00:02:37] SY: Okay so I think a good place to start is just to find out what NodeBots are. What are they?

[00:02:44] RW: So NodeBots is this really great community of people that utilize a JavaScript library called Node.js, which allows you to have a server running with JavaScript so you don't need a lot of other fancy things. And what someone figured out how to do it through a library called Johnny-Five. It is a library that enables you to not have to write low level programming languages like C in order to interact with hardware. So you're just...

 [00:03:14] SY: Oh.

[00:03:14] RW: ...able to use JavaScript—the hello world of hardware for JavaScript is blinking and LED. And I cannot tell you how satisfying it is to be able to hold something tangibly in your hand that you wrote code for it instead of looking at a screen.

[00:03:32] SY: Yeah.

[00:03:32] RW: And it's just very, very exciting the kind of things that you can do with it. There's no node boats. So people are making little water boats powered by Node.js.

[00:03:41] SY: Really?

[00:03:42] RW: Yeah.

[00:03:42] SY: Like toy boats or like...

[00:03:44] RW: Toy boats. Yeah.

[00:03:46] SY: Ok. I was like oh my, I don't know if I trust that kind of boat. (Laughing) 

 [00:03:49] RW: There's also rockets and cars.

 [00:03:52] SY: Oh.

 [00:03:52] RW: And they have the little cars fight like sumo warriors. So they try and knock each other out of a ring. And they can play soccer.

[00:03:59] SY: Whoa.

 [00:04:00] RW: There's people that do wearables with it. So you can have a bunch of sewn LED's onto a dress that you're controlling with node.JS that people can tweet at you and change the color. It's really, really great, and it was one of the first communities that I ever got involved with as a professional in my career. And it was so welcoming that I just jumped in really hard.

 [00:04:25] SY: Okay so I want to make sure I understand this. So if I—someone who has never done hardware, never done anything beyond just typing into a screen and hopefully seeing something on the screen happen—if I know JavaScript I can just make a robot?

[00:04:42] RW: Yep.

 [00:04:43] SY: How could it possibly be that easy?

[00:04:45] RW: It's that easy because the people that have put together this language that we're able to interact with things we wouldn't normally be able to do with JavaScript, they did all of the hard work when building the library. So say I want to talk to this specific pen on a board and you would have to write all the C. You're able to just call it in the library in JavaScript and you wouldn't even have to write it yourself. That's the best thing about it. The Johnny-Five website has one of the best APIs references that I've ever seen. On the left side when you go to it, if you like I wanna control an LED, you click on it, and it shows you the code where you call Johnny-Five in your script. And then it shows you the exact code that you need to write to interact with the LED. All you have to do is look at your board and see what number pin it is and put that in as a parameter. And then you...

[00:05:43] SY: Wow.

[00:05:44] RW: ...can automatically blink it.

[00:05:46] SY: Ok. So in terms of having to figure out how to write some of that low-level code, I don't have to know that. But it sounds like I do have to kind of understand the layout of the hardware...

[00:05:59] RW: Yeah.

[00:05:59] SY: ...world. Tell me a little bit about that.

[00:06:02] RW: You do sort of.

[00:06:03] SY: Ok.

[00:06:03] RW: With the rise of microcontrollers, which are small things like an Arduino or a trinket, they put numbers next to all of the pins that you'll have to interact with. So you can look at it and see oh this one is one or two or three. It's not like you need to understand computer board design in order to figure out what it is. It is very, very accessible for new people. And usually, there's a lot of starter kits that come out now with some of these microcontrollers. There's one specifically for node.JS, which is the Tessel. And you can run node.JS on the board out of the box. So there's kits that you can get that will walk you through all the steps, and you just don't need to know all of that extra stuff. However, once you go down this road of building tiny little robot things, you end up getting a lot in over your head and wanting to know how it works. 

[00:07:05] SY: Ah, it's the gateway drug. 

[00:07:06] RW: It is. I have way too many electronics in my New York apartment than I need to. 

[00:07:14] SY: Ok. So if I am building a web app or let's make it even simpler. Let's do like a website, right? 

[00:07:19] RW: Sure.

[00:07:20] SY: Then I know that I probably need some HTML so you can see things.

[00:07:26] RW: Yep.

 [00:07:26] SY: I need some stylings, so I probably have some see CSS in there. And so it looks good. I want the buttons to flash or something or spin or spin or something, so I got some JavaScript in there to do the interactions. If I need to get data then I have a database. If I need to talk to a, you know, some, something outside of the browser world or that the local computer that I have to like hit a server, right? So those are like kind of like the big pieces...

[00:07:50] RW: Yeah.

[00:07:51] SY: ...so that even though I don't need to write the program for the server, I know the server is there, right? 

[00:07:56] RW: Yep.

[00:07:57] SY: What is the equivalent of those parts and pieces when we're talking about making an LED flash?

[00:08:06] RW: Well I guess it depends on how you want to make the LED flash. You could get really fancy with it and have the LED be flashing because of an external environmental variable. Like I have a temperature sensor, and when it gets hot I want this LED to flash. You could have a website that somebody is pushing a button, and when they push the button it flashes. So there's a lot of different ways to do that. If you're just solely writing your NodeBots code and flashing the LED—let's, let's say we're using an Arduino 'cause that keeps it simple because an Arduino doesn't store any code on the board. You're running all of the code on your machine 

[00:08:47] SY: Ah. Ok. 

 [00:08:47] RW: Yeah. So you would be wired into the Arduino when it's hooked up. And you write your code in your editor of choice. Include the Johnny-Five library at the top because node.JS requires you to require things actually. So you require that in at the top and then you write some code that says that you are using this board. You are using this pin. And then you just define the pin that you have and you save it. You open up your terminal of choice and navigate to the location that you have that code stored and you run that file. And it sends it over the cord to the Arduino board, and then your LED flashes. It's one file that you have to touch. You just require in the library that you get from NPM, which is the node package manager. And you're ready to go. You don't have to worry about having to structure a server as if you were if you were serving up HTML files. You don't have to worry about CSS files. It's just one file that you're writing, and it's probably less than about 15 lines of code...

[00:10:02] SY: Wow. 

[00:10:03] RW: ...in order to get the LED to blink.

[00:10:06] SY: Ok. So I'm, I'm very impressed and in awe of the fact that I can see the pin and then I'm telling the pin in software to do a thing.

[00:10:19] RW: Yep.

 [00:10:19] SY: Like that—you know what I mean? Like that very direct connection with what I'm seeing in the real world and the commands I'm giving it is something that as a web app developer is very new.

[00:10:30] RW: Yeah. It's very satisfying. The way that the NodeBots community have written a lot of the code around it has made it so that once you get that LED blinking and you wanna take that next step and add in another piece of hardware maybe you want to add in another LED and have them blink at different speeds. You can do that, and it would be written in a loop. From there, you can add things like motors and servos which are—servos are kind of like motors but usually they can only turn a limited amount of degrees. I made this one bot once when I was frustrated because I hadn't created anything in a while. And so I took a piece of cardboard, I cut a hole in it, put my servo into the cardboard so that the sweeping motor would be in the back, and I made a little sign that said "I don't care". (Laughing) And when the button that I hooked up to the Arduino and the server that I hooked up to the Arduino weren't active, the sign was hidden. But when I pushed the button, the little sign that said "I don't care" would come up from behind the cardboard. (Laughing) And it was still, you know, less than 20 lines of code. It was funny, and it makes it really easy to put things together. It like... 

[00:11:49] SY: Yeah. 

[00:11:49] RW: ...gives me the same satisfaction that I had when I was little and I was building things out of Legos.

[00:11:56] SY: Yeah, it's, you know, it's still, it's still very different. I'm still wrapping my mind around the, the layout of this...

[00:12:00] RW: Yeah.

[00:12:01] SY: ...world I guess. But it just seems so much simpler, so much more straightforward. 

[00:12:09] RW: You know, I don't like to call anything simple or straightforward usually. But I think the thing for me why I enjoy it and why I recommend it to new programmers is it allows you to explore code that you're writing. You know, the same code that you would be writing to interact with a web page, but you're interacting with hardware so you're able to, you know, set up an array of LEDs and write a loop and have the LEDs lay up in a certain way so you can physically see the way that you're iterating over the code that you're writing. You can have it count in binary and see what the numbers look like. And it's really satisfying, and I think that the satisfaction it brings is a little bit more then the satisfaction of writing hello world in a browser.

[00:13:01] SY: Yeah. So tell me about your first experience with NodeBots.

[00:13:06] RW: Yeah. I went to JSConf US. It was not my first adult job, but it was my first like big adult job. I had just moved back to New York. I was working at Adobe and they were like "you have a conference budget." And I was like, "what is the conference budget?" (Laughing) So me and my team went to JSConf US and I was the only woman on the team, and I kinda was just doing my own thing because I didn't know who any of these developers were that everybody was like putting on a pedestal. I was just like this is fun and cool and there's a pool so I'm gonna swim every night. (Laughing) And I walked by the room that had a bunch of 3D printers and like people tinkering on stuff, and I was like "this is cool. What is this? And I stayed for the panel. And on the panel was Rick Waldron, Francis Gulotta, Kassandra Perch and maybe Raquel Velez.

[00:14:00] SY: Nice. That's an awesome panel.

[00:14:02] RW: Yeah. They were just talking about the things that they had built and their experience with the community. And Kassandra had this really rad LED wearable outfit, and I was like this is so cool. And I was so enamored by it. Later that day at the, the evening party that the conference has, I remember going up to Cassandra [sp?] and being like "this is rad. How do you do this? I wanna do this." And they told me that they were like "you can do this. And if you want help, you know, message me." And that was four years ago. And we're still friends to this...

[00:14:36] SY: Wow. 

[00:14:36] RW: ...day. I'm actually friends with a lot of them. And they've helped me get to where I am with NodeBots by being really supportive and caring. So from that first conference experience, I made a lot of friends who I, you know, became friends with back here in New York from going to local meet ups that I found out about from JSConf US and about a year later in the summer I believe, I said I think I want to give a conference talk. And my friend Jen Schiffer said, "you should do it." And I mentioned, you know, I, I love NodeBots. I love the community. I really wanna build an automated cat feeder 'cause I have a cat problem. (Laughing) And I submitted this talk for a cat feeder in node.JS, which I'd never written, with hardware for like Johnny-Five stuff, which I had never tried yet, and it got accepted everywhere that I submitted it to.

[00:15:32] SY: Oh my goodness. 

[00:15:32] RW: So I spent the whole....

[00:15:34] SY: Congratulations.

[00:15:35] RW: Thank you. Yeah. It's but I spent the whole summer of 2015 building a Wi-Fi powered cat feeder, which was just a servo turning a cereal dispenser handle. It was like so exciting, and it was so fulfilling. Like I can still go back and look at my tweets from then of every like step along the way where I had a success or a failure. And I incorporated that into the talk that I gave about it. I didn't just say here's what I did and this is how I did it. I talked about how it wasn't easy and how I asked for help and the community helped me.

[00:16:10] SY: Why do robots? Especially if you're a code newbie and you're in a place where, you know, you're trying to level up, you're trying to learn, you're trying to grow skills. Where does this world of robots and, and generally kind of doing more creative stuff, right? 

[00:16:26] RW: Yeah. 

[00:16:26] SY: I don't think we're gonna be building a toy like rockets at out jobs. 

[00:16:29] RW: Yeah. 

[00:16:30] SY: Probably not. Where does that fit in?

 [00:16:34] RW: I think it's different for everyone, but it fits in because you can still do the web app stuff with the robots. They don't have to be separate. You can make a website and then have it control a bot. There's actually this guy that I met a few years ago who saw my first hardware talk, and he was running a ramen food truck. And his food truck was at an International NodeBots Day. And he'd never coded. And a couple people from the Virginia area where they live became friends with him, told him about NodeBots, showed him a couple people's talks, mine included. And he reached out to me and told me that he built a—he used my cat feeder because it was a servo to build a website that was a shrine to Nicolas Cage. (Laughing) And when you worshipped Nicolas Cage in the shrine, it turned a servo that was like hands bowing to Nicolas Cage. And I thought this is great that I'm like getting people to try this. And he kept on going with NodeBots, and he messaged me late last year and told me he got his first software engineering job.

[00:17:44] SY: Wow.

[00:17:45] RW: Yeah. 

[00:17:45] SY: Oh that is so cool.

[00:17:46] RW: Yeah. So it's...

[00:17:47] SY: Oh, what a great story. 

[00:17:48] RW: I think that like whenever there's people that are just starting out and they're going through a lot of the free online stuff, it's very repetitive. It's meant to just like get that muscle memory in your brain and adding the creative coding with NodeBots into it kind of—it uses a different part of your brain where you're having to be creative and remember things and maybe then when you're applying the code that you learned to write for a NodeBot into an application, you'll be like, "oh I remember because I did this when I was building this." That's the way that my brain works. I, I associate things with past experiences and things that I, I've have done.

[00:18:27] SY: Yeah, and I can imagine it also being inspiring and in kind of a way to push for it. Like you mentioned earlier when things just aren't working when all your specs are failing or when you're just not understanding how this one function works, it seems like a nice way to kind of pause, take a break, do something a little bit different, (Music) actually get to see and feel the results of your work literally in your hands.

[00:18:49] RW: Absolutely.

[00:18:49] SY: And might be a good way to just kind of push you along a little bit.

[00:18:52] RW: Totally.

[00:18:53] SY: Coming up next, Rachel tells us about her new Twitch channel where she'll be live streaming some awesome newbie-friendly material. She was actually an early beta user of Twitch back when it was just in TV. She talks about her past experience on the platform and tells us more about how she first got into coding. After this.

[00:19:14] When I learned to code, I was so excited to finally bring my passions to life. I could build things that I really cared about and share them with the world. And the first step in sharing is getting a great domain name. That's where Hover comes in. They've got a really slick east-to-use interface. They've got awesome domain names to pick from and they separate your domain from your hosting so you have full control and flexibility over your online identity. So go to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes.

[00:19:46] You want to get serious about learning to code, but where do you start? Flatiron School's got the perfect thing. They're offering their free 75-hour online prep course, where you dig into Javascript, Ruby and more. If you're not sure where to start, start there. And when you're done, you can keep learning with their self-directed introductory courses, remote online web developer program or full-time in-person courses. Whatever your schedule, they've got options to help you reach your coding goals. To learn more, go to flatironschool.com/podcast. That's flatironschool.com/podcast. Link is in your show notes.

[00:20:23] DigitalOcean is the easiest way to deploy, manage and scale your application. Everything about it was built with simplicity at the forefront. Setting, deploying, even billing. Their support is amazing. They've got hundreds of detailed documentation and tutorials, so if it's your first time deploying an app, they've got great tools and community to make it nice and easy. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes.

[00:20:55] SY: So I wanna switch gears a little bit and talk about some new stuff that you are working on. You recently announced a new Twitch channel. 

[00:21:01] RW: Yes.  

[00:21:02] SY: And you're also doing a YouTube channel. Tell us about that. What are you gonna... 

[00:21:08] RW: Yeah.

[00:21:08] SY: Be posting. What is this about?

[00:21:10] RW: Sure. So I've wanted to do Twitch for a while now. I used to work with Suz Hinton when I was at Microsoft. And before Twitch was Twitch TV it was Justin.tv, and it was originally launched for people to just live stream. This was about 2007, 2008 and I used to stream myself playing World of Warcraft in my dorm room. I would bring the laptop to class with me in art class. And, you know, when the teacher was like "who doesn't have a T-square?" I'd raise my hand, and somebody that would be watching me would buy me one off my wish list. (Laughing) And I was like this is rad.

[00:21:44] SY: That's so interesting. So it's basically like unedited vlogging?

[00:21:49] RW: Absolutely. Yeah.

[00:21:49] SY: Like how, you know, YouTube vloggers...  

[00:21:50] RW: Yeah.

[00:21:50] SY: ...but before that.

[00:21:52] RW: It's where iJustine—if you know who she is, she's got like over a million followers now—she got started on Justin.tv. And a really famous video game player for Fortnight—and I think he used to play Halo—named Ninja got started on Justin.tv before it switched over to Twitch, too. And I was like, "I can do this, but what am I gonna stream? I'm not good at video games." So I was like "Suz has the right idea. I think I'm gonna stream myself coding." But how am I going to be able to stream myself coding when I look so much stuff up?  

[00:22:24] SY: Yeah. 

[00:22:24] RW: Then I was like "what if I just go through online beginner classes? And then that way, people will be able to see that somebody eight plus years into their career who's been coding for 15, 16 years still doesn't have everything memorized, and that's not something to be ashamed of. And I like to say now that there's no such thing as unknown answers, it's just future knowledge that you don't have yet. 

[00:22:58] SY: Oh, I love that. 

[00:23:01] RW: Yeah.

 [00:23:01] SY: Oh. That's so good.  

[00:23:02] RW: So I was like trying to come up with a name for what the channel could be, and I came up with "What the Help." (Laughing) So for the twitch channel, I'm gonna start streaming all of freeCodeCamp's online courses. And that's starting out with HTML and CSS and semantic HTML. And then it's gonna go into vanilla JavaScript, which will be a struggle 'cause I do not have JavaScript syntax memorized, but I think it'll be a really good way to like make new programmers, even older programmers feel more confident that they don't need to know everything. It's okay to ask people questions...

[00:23:38] SY: Yeah. 

[00:23:38] RW: ...and look up things on Google and use documentation all the time 'cause that's what it's there for. And piggybacking off of the Twitch channel, I'm going to be starting a YouTube channel that focuses on tutorial videos for things like getting started with setting up your first node.JS website. Getting started with NodeBots. I'm also gonna get a little extra with it extend it to a lot of tech beauty hacks. So like LED nail stickers. How do you do those? 

[00:24:11] SY: Oh my god. 

[00:24:12] RW: And I have, I have LED eyelash strips. 

[00:24:16] SY: Wait, seriously? 

[00:24:17] RW: Yeah. There's LEDs... 

[00:24:18] SY: What does that mean? 

[00:24:19] RW: You glue it with eyelash glue to your lash line like right, right where you would put eyeliner.

[00:24:24] SY: Yeah. 

[00:24:24] RE: And it's a bunch of LEDs that light up in different patterns.

[00:24:31] SY: Can—wait can it be small enough for... 

[00:24:33] RW: Yeah.

[00:24:34] SY: Really?

[00:24:35] RW: Yeah.

[00:24:36] SY: That—is, is...

[00:24:32] RW: Yeah. 

[00:24:33] SY: ...there like a video of that somewhere? This is fascinating. 

[00:24:39] RW: Yeah. There are some videos on YouTube and...

[00:24:42] SY: Whoa.

[00:24:42] RW: ...I bought it off of I think Alibaba or AliExpress for like 4 dollars. 

[00:24:46] SY: That's awesome.

[00:24:48] RW: There's a bunch of interesting stuff, and I want to do—make people feel okay about like incorporating feminine things into tech. And I just wanna do that and the other weird things I do like show people how to build and make molds out of silicone and then incorporate hardware into it. So that's what the YouTube channel is gonna be focused on. And I don't know how I have the time for all of the things. 

[00:25:10] SY: Yeah, that sounds like a lot of work. 

[00:25:12] RW: Yeah. I always think that I'm not doing enough until I explain to somebody the things that I do.

[00:25:22] SY: Yep. Yeah. I have that all the time. So okay so I actually want to—you mentioned silicone, a bunch of interesting things that you make. I'm looking at a tweet from almost a year ago that says "Finished the next piece in my cyborg study running 19 RGB LEDs from a node.JS app hooked up to an Arduino Uno." Which sounds very technical, but the video that as accompanying it is a face with lights from the cheeks, mouth and eyes. And then there's a knobby thing. And then it looks like you're dialing up and down the...

[00:26:01] RW: Yep. 

[00:26:01] SY: ...intensity of the cut. It looks a little freaky.

[00:26:03] RW: Yeah.  

[00:26:03] SY: That's what I wanted to say. It's a little—can you, can you, can you explain that please?

[00:26:10] RW: Sure. So I had a artist residency at a place here in Brooklyn called Pioneer Works. I was the technologist in residence, which meant I could make whatever I want. And I've always loved special effects makeup, and I wanted to incorporate hardware into that. So what I did is I decided to do a study on visualizing modern cybernetic technology with the hardware that's available today through special effects makeup. And I taught myself how to make molds and...

[00:26:42] SY: Wow. 

[00:26:43] RW: ...fill the molds and make the casting of what I was going to mold.

[00:26:51] SY: Wait, so did you make a face mold? 

[00:26:53] RW: Oh, yeah.

[00:26:54] SY: You made your own face mold.

[00:26:57] RW: Yeah. A friend of mine whose Twitter handle is @hopefulcyborg ironically enough, we molded their face, and I cast it in silicone. That was dyed to match their skin tone, and then I airbrushed with silicone paint to make it look more realistic. 

[00:27:15] SY: Oh, it looks realistic. 

[00:27:16] RW: What a part of the project ended up doing is we wanted to allow people to empower themselves through their visualized like cybernetic implants. So much cyberpunk fiction is centered around like living longer and, you know, there's other things that people want. We were like what if we do something that's like digitized makeup? So...

[00:27:39] SY: Oh. 

[00:27:39] RW: Yeah. So there's a, there's a set of LSDs in the eyes, the cheeks, and the lips that are all connected to an Arduino Uno. And I have those knobs, which are cycling through the RGB spectrum for each section. And usually when I show it to people, they're either really interested or are really afraid of it.

[00:27:59] SY: I'm a, I'm a little bit of both. (Laughing)

[00:28:00] RW: Yeah. It also feels very realistic.

[00:28:03] SY: Yeah, I'm imagining seeing that in real life. And I, I think it would make me jump on first glance. 

[00:28:03] RW: Yeah. 

[00:28:04] SY: I'm like why is there a head on the table? It's, it's really amazing. Yeah.

[00:28:12] RW: I was trying to teach myself how to do hair punching, which is what they do for like film and television, but to give it like eyebrows and eyelashes. 

[00:28:20] SY: Oh. Yeah. 

[00:28:20] RW: But luckily time ran out. (Laughing) I can't get that creepy with it. 

[00:28:23] SY: Luckily for the rest of us.

 [00:28:25] RW: Yeah.

[00:28:27] SY: What—how long did it take? I'm just stuck on this, this mold thing.

[00:28:28] RW: Oh my gosh.

[00:28:28] SY: How long did that take you? Because that's not even the part, that's not even—we're not talking hardware at that point... 

[00:28:33] RW: Yeah.

[00:28:33] SY: ...we're just talking about like the set up to do the hardware. 

[00:28:37] RW: Well the, the mold of my friend's face took an afternoon. We molded it in silicone and pulled it off. And then you reinforce the back with plaster bandages. I would say that part took maybe three hours. And then you have to sit and let it cure a little bit, and then you have to pour plaster into it, which takes another amount of time to cure. But I was impatient and didn't wait long, so I ended up having to make the silicone mold or the silicone casting out of the silicone mold. And the only thing that silicone sticks to in this world is silicone, so you have to be really careful and coat it with a thing that prevents that from happening. Soldering took the longest time. I'm gonna say it took maybe me about a week total of time spread out over multiple weeks to get everything done.

[00:29:27] SY: Wow. That is super ,super impressive. Ok. So I wanna get back to this Twitch channel 'cause I find it so fascinating that you were actually a beta user when the first beta users of Justin.tv because nowadays Twitch kinda has a pretty not-so-good rep. Right? 

[00:29:46] RW: Yeah. Yeah.

[00:29:48] SY: Amongst the—well I wanna say specifically for women, but just in general of being a very aggressive, not very kind, kind of mean...

[00:29:50] RW: Yeah. 

[00:29:51] SY: ...community. Was it always like that? Did you see that grow or develop over time? 

[00:30:00] RW: It's worse than it used to be, but they've always been there. I definitely was getting trolled when I was doing it a decade ago. I even had somebody find out my phone number, and I got like... 

[00:30:10] SY: Oh no. 

[00:30:11] RW: ...like 50 calls in one day from like...

[00:30:14] SY: Wow. 

[00:30:14] RW: ...very clearly young teenagers. (Laughing) But the one thing that I learned is if it's a stream thing where they can see you and interact with you and you don't engage with them or if you're nice to them, usually it goes away. And like I've had people say really not nice things to me. And luckily when I announced that I'm going to be on Twitch again, somebody that works there linked me to their chat moderation tools and told me how I can set things up to make it...

[00:30:44] SY: Oh, that's great. 

[00:30:45] RW: ...a really friendly and inclusive environment for all the people.

[00:30:55] SY: Well we hope you end up having an amazing Twitch channel that's full of love and support. We'll definitely be tuning in. And...

[00:30:58] RW: Thank you. 

[00:30:58] SY: ...regardless of what the occasional troll says, we are very appreciative that you are willing to show us how, you know, you really do things and how it works. Yeah, it sounds like it's gonna be a really great learning opportunity hopefully for all of us. 

[00:31:16] RW: I mean I'm, I'm, I'm being very vulnerable by doing this like I'm just, you know, I can say it's okay not to know stuff, but I'm actually going to show that I don't know things. (Laughing) And... 

[00:31:22] SY: Yeah. 

[00:31:23] RW: ...I'm sure that that's gonna make some people angry, and they're gonna be like why is she even a software engineer? Why does she code? And honestly, that's why I don't do software engineering professionally anymore. My role now is, it's still engineering. I get to fix pipelines if there's, you know, things that are set up in a bad way, like if there is not a automatic deploys I can fix it. I can make recommendations of better tech stacks to use. And I get to spend all my lovely time coding building the things that I wanna build. I love making things in general, and I want to make people feel like that's okay.

 [00:32:08] SY: Yeah. Oh, I love that. So for people who are listening who are hopefully inspired and excited about all the cool physical stuff they can make and build with some of the coding skills that they're building up, what advice do you have for them?

[00:32:22] RW: I would say look up some conference talks of people that are talking about creative coding or NodeBots and see if there's something that speaks to you. And then find those communities and just say hi, whether it's somebody on Twitter that's made something that you think is cool or if you find out that there's a Slack channel and you wanna go talk to people about it. Just putting yourself out there you can't really just, you know, try and do something and not talk to anybody about it. 

[00:32:54] SY: Yeah. 

[00:32:54] RW: The biggest thing about creative coding whether it be tangible or intangible, the communities around it are the ones that really drive the force behind it. And getting yourself involved in those, even if it's just, you know, saying hi is a great first step.

[00:33:16] SY: Absolutely. So now it's time for some fill in the blanks. Are you ready?

[00:33:20] RW: Yep. 

[00:33:21] SY: Number one: worst advice I've ever received is...

[00:33:24] RW: The worst advice that I've ever received is you need to have JavaScript syntax memorized and you shouldn't be looking it up.

[00:33:31] SY: Oh, who gave you that—oh. I guess we don't wanna call people out, but in what context...

 [00:33:35] RW: They know who they are. 

[00:33:35] SY: ...was that advice... 

[00:33:37] RW: They know who they are. (Laughing)

[00:33:41] SY: But tell me about this. Like what, what was the, the circumstance? When did you realize this was not actually correct?

[00:33:47] RW: Oh. Recently.

[00:33:49] SY: Oh really? Interesting.

[00:33:50] RW:  Yeah. It's taken, it's taken me a long time to become ok with who I am as a programmer unfortunately. 

[00:34:00] SY: And what was that journey like for you? 

[00:34:01] RW: It was a lot of feeling like "should I be doing this? Is there something wrong with me that horrible things keep on happening to me and jobs? Why can't I have a good relationship with manager? What, what am I doing wrong?" And it just seems like a lot of systemic issues in tech that a lot of women have to deal with. And you know, it took me four years before I finally am in a role where I feel empowered and I feel okay with speaking up and I feel like I'm being supported here.

[00:34:40] SY: Yeah, I mean it's, it's really amazing, you know, to, to be the people we want to be, a lot of times it's, it's, it's learning but it's also maybe a little bit of unlearning.

[00:34:48] RW: Yeah.

[00:34:48] SY: You know? Of, of what you think you should be doing, you know?

[00:34:52] RW: Absolutely.

[00:34:52] SY: And how things should be and how you should behave. And you're gonna have to—it, it takes so much work and effort to get rid of that and to combat that and then to internalize that those... 

[00:34:59] RW: Yeah.  

[00:34:59] SY: ...things are actually not true before you can even move forward. 

[00:35:06] RW: Yeah. It's traumatic. It, it, it does serious damage, and it shouldn't be like that.

[00:35:13] SY: What helped you get to the point now where you, you're comfortable being yourself and you're, you're able to grow into the person you want to be?

[00:35:21] RW: Probably talking to people about my experiences and just making more things and feeling good about the work that I'm doing. 

[00:35:31] SY: You should always feel good about the work that you're doing, right?

[00:35:33] RW: You really showed.

[00:35:33] SY: It's super, super important. Absolutely. Number two: my first coding project was about...

[00:35:34] RW: I would say my first coding project was probably a fan site for a wrestler. 

[00:35:45] SY: Oh.

[00:35:46] RW: I was really into WCW wrestling as a teen. Like 13, 14, and I definitely had like a AOL fan site.

[00:35:58] SY: Nice. Ok, so what, what was on this fan site? Tell me about it.

 [00:36:00] RW: Probably a lot of animated gifs of like (Laughing) flame horizontal rules and like pictures...

[00:36:02] SY: Nice. 

[00:36:02] RW: ...of the wrestler that I liked. And marquee text and... 

[00:36:11] SY: Gotta have that marquee.

[00:36:12] RW: ...blinky stuff.

[00:36:14] SY: Yeah. Just blinky stuff. So at, at that point, did you know, did you realize that this could be a job?

[00:36:21] RW: No. 

[00:36:16] SY: Yeah. 

[00:36:17] RW: I didn't go to school for it. I went to school for design, and I am not a good enough designer to do it professionally, but it has helped me in my front end career when I've had to communicate with designers. I kind of just fell into coding because of all of the stuff that I did when I was a teenager: building my own sites, getting into WordPress in 2003 when it was first released. And I just had always done this stuff because I wanted to make things. And so when I couldn't get a job doing design, I got a job doing web development. And it just kinda stemmed from there.

[00:37:00] SY: Well that worked out pretty well.

[00:37:02] RW: It sure did. (Laughing)

[00:37:04] SY: Number three: one thing I wish I knew when I first started to code is...

[00:37:09] RW: It's okay not to know things. It's okay to ask questions. There's nothing wrong with asking questions. There's no dumb questions. There's no reason that you should feel like you can't do something. And if somebody makes you feel like you can't, it's probably because they're the ones that are pushing you down.

[00:37:31] SY: Absolutely. Oh, I love that. Oh, what a, what a great way to that. Thank you, Rachel, so, so much for sharing your own journey and the awesome, amazing projects that you're working on with NodeBots and hardware. Do you wanna say goodbye? (Music)

[00:37:44] RW: Goodbye. Come watch me please and be nice. (Laughing)

[00:37:48] SY: I love that. I think that that's a great request general. Come watch me and be nice.

[00:37:52] RW: Yeah.

[00:37:52] SY: And we'll include lots of the links to Twitch and YouTube and stuff in the show notes as well so people can check you out.

[00:37:58] RW: That's awesome. Thank you so much. 

[00:37:59] SY: And that's the end of the episode. Let me know what you think. Tweet me @CodeNewbies or send me an email hello@codenewbie.org. Make sure to check out our local CodeNewbie meetup groups. We've got community coding sessions and awesome events each month. So if you're looking for real-life human coding interaction, look us up on meetup.com. For more info on the podcast, check out www.codenewbie.org/podcast. And join us for our weekly Twitter chats—we've got our Wednesday chats at 9PM EST and our weekly coding check-in every Sunday at 2 PM EST. Thanks for listening. See you next week.

Thank you to these sponsors for supporting the show!

Thank you to these sponsors for supporting the show!