Justus Eapen: Welcome to Elixir Wizards, a podcast brought to you by SmartLogic, a custom web and mobile development shop based in Baltimore, Maryland. My name is Justus Eapen, and welcome to part two of the Elixir Wizards Betweenisode. This is a special episode that we produced in between seasons three and four of Elixir Wizards, and we've got a number of guests lined up for part two of this lovely show that we did. So, please enjoy the Elixir Wizards Betweenisode. Eric Oestrich: Welcome Outlaws to Elixir Wizards for- Anna: Thank you. Eric Oestrich: ... our new joiners Justus had to hop off so that we could have all three of you on. There's only three guests allowed on Squadcast, so yeah, now I get to be on an Outlaws episode, since I missed- Keathley: You're an official friend of the show now. Anna: I know, right? Keathley: And I think you might have already been, but we'll make it official now. Eric Oestrich: Perfect. And now Amos has finally been on a Elixir Wizards. Reliable Emoji: That's right, that's right. I was getting a little sad. Keathley: We're all equal now, right? Anna: They've leveled the playing field. Eric Oestrich: Yeah, we were supposed to do, Anna, and I think you had to reschedule. Anna: Yeah, sorry about that. Eric Oestrich: Now you're also an official Wizard, I guess. Reliable Emoji: We're all in. We're all in. I've been here five minutes longer than you both. Anna: Oh, okay fine. Keathley: I was watching the Twitch stream because I'm with the young kids these days. Reliable Emoji: I did not read the whole email, I'm terrible. Anna: Yeah, I was watching the Twitch stream too. Keathley: You also couldn't be bothered to put your name into the Squadcast. You're just Reliable Emoji. Reliable Emoji: Yeah, that's right. Eric Oestrich: Yeah, they have some weird defaults and- Reliable Emoji: I read it, and I thought, "Man, just go with it. Why not?" Anna: I'm going to call you that from now on, Reliable Emoji. Keathley: More like Unreliable Emoji, am I right? Reliable Emoji: Always on time, always on time. Keathley: So, how's it going? Reliable Emoji: For who? Anna: It's good, yeah. Keathley: I don't know, all of y'all. Reliable Emoji: I'm having a marvelous day, I got up this morning and got the cover off the garden since it was 29 degrees here last night. It was 85 degrees the day before, so awesome. Eric Oestrich: Yeah, I think we got a freeze warning, I think, last night too. It dipped down to 37 or something. Anna: Oh, wow. Eric Oestrich: Not quite as far, but it's weird. Reliable Emoji: This is where Anna steps in and talks about how sometimes you have to wear a jacket in the afternoon. Keathley: Have to wear a sweater occasionally. Anna: Shush Keathley. Eric Oestrich: So, yes, what are all you doing to fill your free time? Anna: Well, Keathley said he's working on a million projects. Keathley: It's not a million, it's like three, and we're prepping for the NFL Draft, so it's like that's our busy year. Anna: Oh, that makes sense. Keathley: Busy time of the year right now. And we're going to change some key pieces of infrastructure right before it, so it's going to go great. Anna: That's always a good idea. Keathley: Maybe. Maybe. Reliable Emoji: I wonder how exciting the remote draft is going to be. Keathley: I don't know, but I can tell you looking at traffic spikes is the sports bros are thirsty for new, for any news. You know the PS5 controller, so apparently that's a thing that people care about that have opinions about and stuff. So, we're ostensibly a sports website, but that alert that went out like, "Look at the new PS5 controller," was one of our highest traffic spikes ever. The people are thirsty for some content. Reliable Emoji: I need something to look at. Eric Oestrich: Yeah, my father-in-law was talking about if they don't do the draft virtually, he's going to riot. Keathley: Oh yeah, it's happening. It's definitely happening. We're gearing up, yeah. Otherwise, got a really dope Slip 'N Slide outside been playing with the kids on, and basically about it. What about y'all? Eric Oestrich: Our neighbors just set up a Slip 'N Slide. My wife was like, "We should get one and then we can slide our two-month old down it. Anna: Yeah, how's the baby? Keathley: Oh, right. Yeah. Anna: We haven't talked to you since the conference. Eric Oestrich: Yeah, so he's doing well. He came early- Keathley: He pulled all your beard out. Eric Oestrich: Yeah, he did that too, one at a time. Took two months to do it. But yeah, he's doing well. I think he has future sight and pushed his way out early to avoid all of the- Anna: Chaos, yeah. Eric Oestrich: Yeah, super tight restrictions in the hospital. I guess we heard two weeks after he was born, they switched it so only one person could visit in [inaudible 00:04:48] at a time. So, we couldn't be there together if that would have happened, so that would have just totally sucked, but we avoided all that. Anna: Good. Reliable Emoji: Well, I missed you at the conference, but I guess that makes it worth it. Anna: What's his name? Keathley: If you want to say. Eric Oestrich: Yeah, that I will keep secret, but if you see me in person at a conference in the future should that be allowed- Anna: Yeah, that sounds good. That makes sense. That makes sense. Oh, exciting. Reliable Emoji: I've been working in my bedroom, that's how you survive children. They don't want to come into their parent's bedroom when they're 13, 14. Anna: Yeah, I've mostly been just working in my room. And I live pretty close to the beach, so it's been nice to be able to get outside. Lots of walks on the beach. Eric Oestrich: Is that your room right now? Anna: Mm-hmm (affirmative). Reliable Emoji: You have so many craft supplies. Anna: That's actually my roommate's craft supply table. Reliable Emoji: Wow, that's awesome. Anna: Yeah. I'm not quite sure what it's for, but there's a lot of crafts. Eric Oestrich: [crosstalk 00:05:53]- Keathley: You can always use Modge Podge for stuff. Pretty sure that's Modge Podge. Eric Oestrich: Yeah, I just thought of Modge Podge too. Keathley: But be honest, do you know what Modge Podge is because you've also built Dungeons and Dragons terrain? Because that's how I learned what it is. Eric Oestrich: I am aware of it because my wife made coasters. She printed out these real horrible scenes from Star Trek TNG. Keathley: Nice. Anna: Oh, that's awesome. Eric Oestrich: And then put them on tiles. So, that's how I'm aware of Modge Podge, we have a- Keathley: It's just lots of pictures of Data as Sherlock Holmes. Eric Oestrich: Yeah, that one, and then there's one where Worf has his tea, "Good tea, nice house." That one, so that scene. Reliable Emoji: Awesome. We have our kids and our nieces and nephews on them. I think that I should switch them out for Star Trek pictures the next time my wife's not looking. Anna: Yeah, totally. Eric Oestrich: I can highly recommend it. Anna: Have people been checking out your game that you talked about at the conference? Eric Oestrich: Yeah, we've actually got someone... I believe he's a PHP developer, has started taking a peek at Kalevala, and was submitting issues and trying to extend it and whatnot. So, it's very exciting to- Anna: That's exciting. Eric Oestrich: Yeah, for two reasons. Less PHP and more work on that when I am too busy in other things. Anna: Yeah, totally. How have y'all been spending your time in the craziness? Eric Oestrich: So, my first two weeks was mostly the 12-hour napping while he's doing the sleep for a bit, feed him, whatnot. So, during the 12-hour nap, I was just scrolling through Twitter and being horrendously anxious about everything. Keathley: Apparently the- Eric Oestrich: So, eventually I was just like, "I need to uninstall Twitter, it's now being blocked." Keathley: I think your audio on your stream has stopped. I'm over here reading the chat like a pro streamer. Any minute now when people start subbing, I'm going to start shouting out subs and donations. Eric Oestrich: Yeah, so I keep trying to, whenever I have to cough or whatever, I have two things that mute. Keathley: Oh yeah. Eric Oestrich: So, I forgot to unmute the one. Keathley: You need the pedal, the mute pedal. Eric Oestrich: That's true, I need the streamer deck. Reliable Emoji: Or just let it out. Just let it out. Anna: Wait, what? Keathley: You're not familiar with the mute pedal? Anna: No. Keathley: Yeah, so it's ProCo, the same people who made Kurt Cobain's famous distortion pedal. You click it with your foot and it mutes you, and that's so you can just mute on and off. I don't have one, it's not like I use it. I just am aware of it when I was doing research. Reliable Emoji: Just build one. Just build one. Anna: Just build one, yeah. Keathley: Yeah, but then you've got to get a decent switch, so you don't have pops and stuff like that. It needs to be able to shut the whole way off and everything. It's not as easy just like, "You just need a pedal." Reliable Emoji: Unless you make it a USB pedal and have it emulate a keyboard. Keathley: Reliable Emoji over here just be like, "I don't see, why you just don't make it yourself." Reliable Emoji: Just make it. Keathley: [inaudible 00:09:01] Nerves. Reliable Emoji: You're sitting at home in your free time- Anna: Just add a project- Keathley: Yeah, because I don't have enough going on Reliable Emoji. I don't have enough stuff. Anna: We talked about this yesterday, you could fix all problems with more code. Keathley: Yeah. Eric Oestrich: You use Emacs, right? Reliable Emoji. Don't you have a keyboard, four foot pedals already? Reliable Emoji: I should. So, in the last year I've switched to using Emacs from them, and really it was Spacemacs, so it was kind of a... And now recently I've been trying out- Keathley: His hand has just morphed into this. So, now just whenever he types, he's just making the claw motion, that's all he does. Reliable Emoji: I'm actually growing a third arm out of the middle of my chest. It's called the control key arm. Keathley: That's where the beard came from, it makes so much sense now. That's why you have a beard now. Oh, I get it. Reliable Emoji: It's a neck beard. Keathley: Yeah. No, it literally is. That's amazing. Wow, it's true. I always thought that was a joke, but it's real. I mean, I've seen it. Reliable Emoji: Just got to use Emacs. Just got to use Emacs long enough. The beard's going away soon, it's just temporary. Keathley: What? Are you going to switch back to Vim? Reliable Emoji: No, but- Keathley: Oh, Sublime. You're going to just move right to Sublime. Reliable Emoji: No. No. Not at all. Eric Oestrich: VSCode. Anna: VSCode, yeah. There you go. Keathley: You'll just grow a perfectly shaped handlebar mustache. Reliable Emoji: That's what I should do next. Eric Oestrich: All right, get back on track just a tiny bit, do you guys have any- Reliable Emoji: Have you ever listened to our show? There is no track. Anna: Yeah, have you not? Eric Oestrich: We've got a timeline. Paul Schoenfelder is showing up soon. Keathley: He's like, "We've got to get these people out of here." Eric Oestrich: Do you guys have any final plugs you want to shamelessly self-promote? Keathley: Reliable Emoji, you go first. Reliable Emoji: Yeah, so I have a company called Binary Noggin and we're always looking for new clients, we've been growing a lot. We have Connor Rigby on board, so we've got a lot of Nerves ability there, a lot of embedded systems and industry [inaudible 00:10:59] systems development working with teams or on our own. And of course, Elixir Outlaws, the penultimate Elixir podcast. Keathley: Oh my God. Did you just see that? He's such a jerk. He invited us on here, and you're like- Reliable Emoji: I said penultimate. Keathley: "I mean, if you want to listen to a good podcast you should come over and listen to us." Reliable Emoji: I said penultimate, second to the top. The Wizards are the ultimate. Keathley: Mm-hmm (affirmative). Anna: There you go, there you go. Nice. Nice save. Keathley: Anna, go ahead, what do you want to plug? Let's get us out of here. Anna: I know, right. We're working on actually trying to release some ElixirBridge content that is more usable for folks digitally. So, keep an eye on that in the next month or two, but that's all I got. Keathley. Keathley: I have a new HTTP client library. I say I, it's a joint effort me and Nico and Jose, and some other people, Quinn are working on it. It's called Finch, it's on my GitHub, I'll link to it somewhere. And it's cool, it's about to be published to hex. It seems really high performance so far, and I'd love it if you'd check it out. Eric Oestrich: Awesome, is this at lpilf/finch? Keathley: No, it's keathley/finch on GitHub. Eric Oestrich: Cool. And the other thing I want to say is when you search for Binary Noggin, I really appreciate that the first ad is for Noggin the Nickelodeon TV channel. Anna: That's awesome. Reliable Emoji: That's Google, they know that you have a kid now. They're just- Keathley: Yeah, you're getting targeted. Reliable Emoji: "You must mean this." Paul Schoenfelder: How's it going? Justus Eapen: Paul Schoenfelder, everybody. So glad to have you back man. Paul Schoenfelder: Yeah, it's been a little while. It hasn't been too long, I guess, we talked, what? In January. Eric Oestrich: Yeah, I think January. Paul Schoenfelder: Yeah. So, it's good to see you guys again though [crosstalk 00:12:46]. Justus Eapen: Yeah, not much has changed since then. Paul Schoenfelder: Yeah, not a whole lot. Just like the whole world seems to fall apart, I guess. Justus Eapen: Yeah, what do you think? Do you think the plague, the locusts, the earthquakes, the Asian wasp things that are invading, is it the end of the world? Paul Schoenfelder: I don't like to speak too negatively, so I'm going to say no, it's not the end of the world. Definitely going to change some things though about who knows when it will go back to more or less normal. Justus Eapen: What's your favorite part of quarantine? Paul Schoenfelder: I work from home 100% of the time, so for me it is almost entirely not different than normal, except for I can't buy anything ever when I go out to the grocery store or whatever, but I love how [crosstalk 00:13:35]- Justus Eapen: Yeah, ordering things is so bad right now. Paul Schoenfelder: Oh yeah, I can't even imagine if people are living in cities right now, just how horrific it is to try and do anything, get food, go out to the store or whatever. Justus Eapen: Where do you live? Paul Schoenfelder: Upstate New York, about 45 minutes from Albany. Justus Eapen: You've got a house? A bit of property? Paul Schoenfelder: Yeah, plenty of space for [crosstalk 00:13:59]- Eric Oestrich: So, you're properly Upstate New York, you're not just above New York City. Paul Schoenfelder: Yeah, exactly. Plenty of distance. Justus Eapen: I mean, above Albany it's like north. Paul Schoenfelder: Yeah, it's just on the edge of the Adirondack Mountains. Justus Eapen: Hey, is it true that buffalo have returned to Buffalo for the first time in 1,000 years or something? Paul Schoenfelder: Where buffalo ever in Buffalo? I mean, I don't know. I haven't heard. Justus Eapen: I just thought without the scourge of humans, wildlife is returning to its natural habitat. Paul Schoenfelder: I think that would be pretty awesome if you actually saw a buffalo in Buffalo. Justus Eapen: You know how much meat you can get from a wild... They're actually bison. There's a difference apparently between buffalo and bison. Paul Schoenfelder: Is there? I knew that there was some sort of subtle difference, but I'm not really sure what that difference is. Justus Eapen: So, I think a buffalo is what we would normally... And I'm not an expert at this, I'm just pulling trivial facts out of my... But I think that the buffalo is like when you think of a water buffalo in Africa with horns, that's what an actual buffalo is. And then a bison is what we call a buffalo. Paul Schoenfelder: So, we just called it that because it was what we thought a buffalo was when we first encountered them, and we just ignored whatever the Native Americans were calling it apparently and just decided we don't care what your name is, we're going to call it buffalo. Justus Eapen: Yeah, probably couldn't pronounce it either. Even though it probably was like running brown object. Eric Oestrich: Google says they looked like the Asian water buffalo or African buffalo, so we gave them the name. Justus Eapen: America. Paul Schoenfelder: It seems so intuitively obvious, I guess, that we would do something that- Justus Eapen: One cool thing about buffalo that I learned recently, because we all know that the bald eagle is like the national animal, right? But it's actually not. It's our national bird. So, then I went, "What's our national animal more broadly?" And we don't have one, but we do have a national mammal, which is the bison. Paul Schoenfelder: National animal. I mean, it makes sense to have the eagle be like the national something, right? I mean, we're all about that, and I think the bison makes sense as a national animal though. So, only real thing, maybe a grizzly bear, but that's not really American thing. I mean, bald eagles aren't either, but I guess we decided. Justus Eapen: They're pretty American dude, I have three or four bald eagles- Eric Oestrich: What about the turkey? Paul Schoenfelder: Canada has them. Justus Eapen: Yeah, but Canada... We have Canada, right? Paul Schoenfelder: Don't tell the Canadians. Justus Eapen: Yeah, I think we need to stop... This isn't a political show, I'm not going to get into it- Paul Schoenfelder: And Canada has us. Justus Eapen: ... but we could annex Canada just as easily as we could annex Mexico or any of these other countries that we allow to exist on the continent that's all I'm saying. Paul Schoenfelder: I suppose. Justus Eapen: Maybe someone in our audience... So, dude, how are you? You're used to working from home, you've been working from home for a long time. We've been asking for people's tips and tricks or just their quirks. Do you have any encouraging words or tactics for the audience? Paul Schoenfelder: I mean, specifically right now I guess with being stuck at home for people, make sure to get outside and walk around if you can. In your yard or at a park if there's not a whole bunch of people or something. But getting outside definitely will help keep you sane if you're not used to being stuck at home all the time. But just in general with working from home, try and set up some rituals. Wake up, make coffee, shower, whatever, get dressed. Find a place in your house where you're going to like- Justus Eapen: I thought you were going to say, "Slaughter a goat." Paul Schoenfelder: Slaughter a goat, sacrifice it to whatever god. Justus Eapen: It's Passover, so we should probably be not making that joke. Paul Schoenfelder: Yeah, I suppose. Anyways, by having some habits that you set up, and a place maybe in your house that you just only go to when you're working, I think that set up is what will get you more in the mode of, "Okay, I'm doing work stuff now." If you don't do that, it becomes very easy to fall off the edge and just end up getting dragged into doing normal things. You're sitting at home on your coach or whatever, browsing the internet, then there's not really any difference from when you were coming home from work before and doing that. It's really easy to fall into "I'm at home" and not "I'm at work" kind of habits. But that's the main thing that got me into that habit once I started working from home a long time ago. Now, at this point, you've got the mental habits set up, it's not as important to be real strict about it. Justus Eapen: Have you picked up any new hobbies or projects since being locked down? Paul Schoenfelder: No, like I said, since I'm working, basically, full-time at home anyways, for me it's not really too much of a difference schedule-wise. I keep myself busy with projects I'm working on too outside of that. So, nothing new that I've picked up. But now that the weather's warming up too, I keep myself busy with outdoor chores and stuff. We had a crazy ice storm up here a month or two months ago, at the end of the winter there that just absolutely wrecked all of our trees around here. A bunch of them just basically exploded, cracked in half, fell over. So, that's a lot of work to do. Justus Eapen: We have a question from the audience. Someone, Todd, who I thought was your friend is wondering where you're working these days. Paul Schoenfelder: I'm working at a company called Ockam, it's a little startup that is working on secure messaging and routing for IoT devices, but it's not specifically IoT. It's more of like just a level above the network, right? One of the main problems especially with IoT is thought there is a really lazy effort if any to secure the communications between devices and whatever manufacturer as well as no effort whatsoever really to make those connections private. So, it's really easy if you can see communications over the wire. If you can't see the messages, you still know who is talking to what so you can figure out what device they own, maybe even down to what kind of device and serials and stuff like that. Because a lot of identifying information is essential to the network. And so, really the idea of what we're building is making the secure communication aspect of that a core part of the platform, and then exposing the primitives as an easy to use API. It's the things that rest on top of that. So, if you're the embedded device manufacturer, maybe you have a platform or maybe you want to integrate with some cloud platform. You just plug in the library that handles the communication aspect of that, and you don't have to spend a lot of time understanding the crypto behind it or the details of how you do that safely and deal with session renegotiation and things like that. So, kind of an interesting project. Eric Oestrich: Todd continues to point out, or continues with the S in IoT stands for security. Paul Schoenfelder: Yeah. Yeah, exactly. That's pretty much the running joke of IoT is that there is absolutely no way that you're not getting hacked if you've got stuff that's sitting on the network. Even if it's not directly reachable from the internet, most routers have some form of vulnerability, the off the shelf ones, and it seems like they're always finding some new way to break into those, and once you've got access to the network then it's pretty trivial to access whatever on the network you have. But then you've got things like, say, a TV, that just connects out to the cloud arbitrarily, and if somebody's able to maybe intercept that traffic, like man in the middle kind of thing, it's pretty trivial to inject payloads into this stuff that's sent back to the TV. Trigger a firmware update or something like that. Eric Oestrich: Yeah, I had an idea for a potential startup that was taking pictures of your pets while you were away, and I got pretty far along until I just got totally scared off of like, "I don't want to put any of these things in people's houses." Because if it gets hacked then it's like what am I going to do? Justus Eapen: You're a billionaire at that point, so who cares? Paul Schoenfelder: That's pretty much their attitude, right? I made my money, so who really cares if it's not secure. But I think people are starting to get sick of that. Justus Eapen: Paul, I'd love to dive into this a little bit deeper. Our new theme for season four is system and application architecture, and it sounds like you've got a great view on some of that from your new gig. Do you have any final plugs or asks for the audience before we let you go? Paul Schoenfelder: I guess, I've been working on Lumen, that's still active project. We are always interested for people to try and help out, lend a hand. Things have progressed quite a bit, so the compiler is working fairly well now. There's still quite a bit that's not fully supported, but we're getting there. But yeah, if anybody's interested in helping out there, we're still active. We have our Slack channel in the Elixir Slack, it's Lumen if you want to check that out. On a personal note, anybody that's interested maybe help maintain some of my existing projects that have been around for a while like Timex and things like that, I'm definitely always looking for people that can help maintain those. I'm running low on time to be able to do that. So, I don't want those projects to die though, I want them to stay healthy and keep going. Justus Eapen: You heard it here folks. Go help Paul with all of his OSS projects- Paul Schoenfelder: Do all my work for me please? Justus Eapen: Yeah. Paul Schoenfelder, everybody. Thank you so much for coming on. Paul Schoenfelder: Yeah, thank you. Justus Eapen: Hi Sophie, how are you? Meryl Dakin: Hello. Sophie DeBenedetto: Hey guys, how's it going? Justus Eapen: I'm so glad to have Sophie DeBenedetto and Meryl Dakin joining us on the betweenisode. So, where are y'all right now? Sophie DeBenedetto: I have fled to the country, so I have fled Brooklyn for the countryside. I'm at my family's house in Westchester while my parents are actually trapped in Miami with my sisters. So, it's actually been so nice to be in this empty condo with nature. We can take the dog out and get out a little bit. We're super, super lucky to be able to have this space. Justus Eapen: How's Moby holding up in all this? Sophie DeBenedetto: Oh, thanks for remembering. He's actually having the time of his life, not to sound too callous, but the pandemic is one of the better things that have ever happened to him because he just is obsessed with sticks. So, every time he goes outside there's infinite adventures that can be had with various sticks. Yesterday I stood up from my desk and stepped on a pine cone, which he had brought to, I guess, the foot of the desk chair that I didn't know was there. So, yeah, absolutely not to sound callous, but being out here with a little extra space and with access to nature has been really, really nice. Justus Eapen: What about you Meryl? Where are you calling from? Meryl Dakin: My apartment in Brooklyn, where we also have nature, aka my roof. I can go up there anytime and look at the sky, so it's just as good as being in Westchester right now. Justus Eapen: Have the deer started to make their way into Brooklyn? Are you seeing grizzly bears and- Eric Oestrich: Have the pigeons changed back to the normal colors of bright- Meryl Dakin: I've heard the rats are actually running the subway system now, so that's cool. Sophie DeBenedetto: I have heard that too, yeah. Meryl Dakin: No, but I actually did hear, where I'm from, New Orleans, there are coyotes now that are just in the city. Just hanging out in different areas, so I think that is actually returning to nature throughout this pandemic. Sophie DeBenedetto: That has happened in New York though. I remember when I was... I forget, like a senior or a junior in college, and my campus was in the city, they actually had to cancel classes one day because they were just like, "Oh look, coyotes have wandered out of Riverside Park on to school. Please stay in your dorms today." So, yeah, nature's pretty real. Meryl Dakin: Yeah. Justus Eapen: Yeah. No, I live out in the country, and so, I see coyotes and foxes and stuff all the time. Actually, I have a few bald eagles that live in my backyard that are sort what I like to... But I was mentioning in the comments actually, I have a neighbor with seven Basset Hounds, and five minutes ago they were in my backyard rifling through my compost, so that happened. How are you guys? What's the job situation? Y'all are working remote at this time? I think both of you probably have some remote work experience. How's that transition going? Sophie. Sophie DeBenedetto: I mean, I was working remote. GitHub is a fully remote distributed company. It's been definitely an adjustment for me just because I'm still so new to GitHub and joining that whole working style has definitely been a challenge. It's interesting though. I saw someone say this today. I don't remember if it was a tweet that I saw or if it came out through an email that I read, but somebody's saying that you're not working at home right now. That's not what's happening in the pandemic. You're trying to do work in your house while a global crisis is happening, and that's very different than I work from home now. So, even those of us who have been working remotely or are in remote-first companies, it's still super different than it ever was before dealing with everything going on in the world or in-house, stuff with family, coworkers, colleagues that are mostly doing maybe homeschooling and trying to catch up on work now and then. So, yeah, even for those of us that have been at home, which I think both Justus and Eric I think you guys, or all of you working at home, I'm sure you agree or have some thoughts on the fact that it's still not the same as it was. Justus Eapen: Yeah, one of the guests, I forget who was on earlier that we mentioned it too, but we talked a little bit about the generalized psychic distress in the population definitely having an impact. This week has been the week where I felt like I'm over it. Not like I'm over it meaning I'm dismissing its seriousness or anything, but I'm over the psychic angst that was gripping so much of day-to-day life. So, that's nice. I'm a little bit surprised that we haven't heard more new hobbies cropping up in the guests. Meryl, how are you handling working from home? Is this your first time working from home or you have experience with it? Meryl Dakin: It's my first time in an extended period of time working from home. We had been doing some remote days when I was at Flatiron with Sophie, so it's not super new, but it is definitely different for our entire company to transition so quickly to a work-from-home routine. I think we've done it pretty well. I think everybody's been... The company itself prepared us really well to move into this, I'm at Frame.io again, but everybody's doing well trying to figure out how to communicate more asynchronously and get the same amount of work roughly that we were planning on doing, we're continuing to go on that trajectory. So, it's been good. My brother is also a software engineer, and he lives with us, so he's also working from home. So, we're in a fight over the internet bandwidth all the time. My husband [crosstalk 00:29:24]- Sophie DeBenedetto: Are you calling [crosstalk 00:29:25]? Meryl Dakin: Yeah. We need to limit the amount of online Call of Duty that Nathan is playing during the day. Justus Eapen: Wait who's playing Call of Duty? Sophie DeBenedetto: Right? Because he's not working. Meryl Dakin: Right, so my husband's in film and he's not working. So, he's homemaking. But I have actually been picking up new hobbies. I started learning how to sew, with a sewing machine, I thought I was going to make masks, but it didn't... I just made a shirt. So, I've been [crosstalk 00:29:59]- Justus Eapen: Make a shirt, it'll last you longer. That's so funny. So, have you learned anything about working from home that was a game changer that made you more comfortable or made you more productive? Meryl Dakin: I learned that I need to get dressed in the morning. Justus Eapen: That's the first thing people learn. Pants. Pants make all the difference. Meryl Dakin: Yeah, pants. Yeah. Justus Eapen: This is actually a special podcast shirt. I don't normally dress in the ugliest possible shirt I can find, but I figured it's purplish, it's soft. Anyway. Sophie DeBenedetto: I actually think it's great. I was going to say, I'm really digging your mom's turtleneck. Justus Eapen: Yeah, every time you run a marathon, they give you a shirt, and it's deliberately the ugliest possible shirt they could come up with. The Marines were like, this is the Marine Corps Marathon, they took it to whole nother level and just made the worst possible shirt. Sophie DeBenedetto: A lot of colors on there. Meryl Dakin: Yeah, there's a lot going on. Justus Eapen: Yeah, it's terrible. The back's even busier, and it's- Eric Oestrich: Oh my. Meryl Dakin: Wow. Sophie DeBenedetto: That's great. But to your question Justus, have you learned anything new about working from home. I actually had an epiphany yesterday that I was really excited to share with you guys. And I feel like now that everybody's remote and having to do more async, especially with everybody's teammates and personal lives in such weird places, all of us engineers are actually project managers now as well. You have to work way harder to figure out prioritization and async communication with your product manager. You have to do so much more written communication on tickets or issues or report requests than ever before. At first, I kind of resisted. I was like, "Ugh, this is taking so much time. I'm not able to do my job of writing and shipping code." But starting to realize that actually that is part of my job, and it's not just, well, I sit here and I push out new code for tickets, but that project management piece of it is now a first-class citizen in our day-to-day lives, and it's a stickier process. At least, I think a lot of us shared this, like, "I just want to go fast." And you have to go slower now, and that's one of the reasons why. So, we're all project managers now, congratulations. It's not a promotion, there is no raise. Eric Oestrich: Titles haven't changed. Sophie DeBenedetto: But your job just got a little harder. Yeah, exactly. Same title. Justus Eapen: Yeah, at SmartLogic we don't have project managers. So, we've kind of had this developer as the PM thing going for a while, and before I came to SmartLogic, I was independent and sort of managing projects, and it's definitely a little bit of super power for developers to intuitively know the levels of communication, the kinds of communication that really make projects run smoothly. But what you're saying about complaining about it, I think that's important too actually, because when you complain about it, you're identifying where the problems are. We were talking about this in our lunch meeting yesterday. Let me ask you something, at work, what is the appropriate amount of complaining? And what is the separation between a complaint and a legitimate critique of problems? Sophie DeBenedetto: I think you just have to read your audience. It depends who you're taking to approximately. Justus Eapen: Meryl. Meryl Dakin: Oh, man. So, interesting question. Appropriate amount of complaining. So, what was the second part of it? Justus Eapen: What's the difference between a complaint and constructive criticism? Meryl Dakin: Well, I think there's always a healthy amount of bitching that you should do about your job. I think that, that's important. You need to just have a space that feels good to vent and talk about things that you don't actually want to put effort into changing, but it feels nice to get that out. But I think the appropriate amount of complaining to do is the type of complaining that you would feel comfortable taking initiative on or bringing it up to whoever it is that you're sensing is the point of this issue or somebody that could do something about it. That feels like a really appropriate amount of legitimate complaining. I know that this is a problem, I know the people that can fix it. I'm not just going to talk to my coworkers about it, I'm going to talk to them directly. That feels super appropriate and super useful and helpful. Justus Eapen: So, complaining with solutions in mind. Meryl Dakin: Yeah, like a solutions-oriented complaint, which is totally different from bitching. That has its own category and its own importance in the work balance. Justus Eapen: One of these is done over drinks. Meryl Dakin: Yeah. Sophie DeBenedetto: Exactly, yeah. I totally agree, anything that... Think of it as a retro, right? If you're willing to suggest your own action items, bring it up. And if you just want some else to fix it for you, it's fine, it's not how it works. And if you just want someone else to fix it for you, sorry, that's not how it works. Meryl Dakin: Yeah, totally. Justus Eapen: Well, we love having you on the show every single time. You did a tremendous job hosting, and I'm sure that we're going to want to do that again. I actually wanted to debrief on that a little bit with you on this show, but I think we'll have to do it at a later date- Sophie DeBenedetto: Next time. Justus Eapen: ... because we're about to go to our final interview of this betweenisode. I want to give you guys a chance of any final plugs or asks for the audience or shameless self-promotion. Whatever you want to say, now's your chance to deliver that to the audience. Sophie DeBenedetto: I have to plugs, very briefly. One of them is before the pandemic, right before everything got really crazy, I actually published a blog post just about my experiences transitioning to GitHub, and embracing remote and asynchronous work, which now I'm so glad that I wrote that because I've been having so many more opportunities to reflect on it. If anybody's interested in that, they can find it on my blog, which is thegreatcodeadventure.com. I think it's still up on the first page somewhere. Another thing is I would love people to look out for, I'm hoping to publish soon, I've been working on a series of four blog posts with some of the folks at Elixir School. Kind of taking a deep dive into Elixir's telemetry offerings, Elixir and Erlang's telemetry offerings. Maybe it'll take us a little while to publish because there was a lot of content to review, but I've been learning a ton, and I'm really, really excited to share it with people, so keep an eye out for that. Justus Eapen: Awesome, thank you. Meryl. Meryl Dakin: That's awesome Sophie, I'm excited to read that. I have non-software-related plug, which is that I was on another podcast that is a horror movie podcast. So, if you like Twin Peaks, there's a three-part show coming out soon, so Watch if Your Dare is the podcast. Eric Oestrich: My wife is a humongous fan of Twin Peaks. Sophie DeBenedetto: Oh my God. Meryl Dakin: Awesome. Watch if Your Dare is the podcast and it'll drop pretty soon. Sophie DeBenedetto: Also, Meryl, Luigi's Mansion. Meryl Dakin: Right, and Luigi's Mansion is definitely something I'd also like to plug generally. Justus Eapen: The game. Sophie DeBenedetto: It has everything. It has ghosts, it has collecting money, it has cleaning things. All of our faves. Meryl Dakin: Oh, and one more ask for the audience. I think the thing I've missed most from all this is that... Sophie and I were talking about this yesterday. There's no scandals right now. There's nothing bad happening. Sophie DeBenedetto: No goss. Meryl Dakin: So, if you guys have any goss, [crosstalk 00:36:27]- Sophie DeBenedetto: Yeah, spill the tea. Meryl Dakin: We're having a dearth of it right now, so that's our- Sophie DeBenedetto: Scandals, rumors, gossip. Meryl Dakin: Yeah, anything unfounded even is great. Sophie DeBenedetto: Mm-hmm (affirmative), mm-hmm (affirmative). Justus Eapen: Oh, I've got tons of unfounded rumors. Meryl Dakin: Wonderful. Sophie DeBenedetto: Perfect, we're ready. Justus Eapen: We'll have an offline. Thank you so much Meryl Dakin and Sophie DeBenedetto. Meryl Dakin: Bye guys. Justus Eapen: Prag Dave. Dave Thomas. Welcome to the show. Dave Thomas: Well, thank you. Eric Oestrich: This is the most professional setup of any of our guests today. This is amazing. Dave Thomas: Well, it's my bunker. What can I say? Justus Eapen: Do you have a green screen? Dave Thomas: No. Justus Eapen: It's just black? Black studio? Dave Thomas: It's black. Yeah. Justus Eapen: It's a great look. You look like a pro. Dave Thomas: Thank you. Eric Oestrich: Professionally lit, this is super clear audio. Dave Thomas: If you knew what professionally lit meant, now, I'm bouncing two LED floods off the ceiling. So, I wouldn't call that professionally lit. But I'm doing an awful lot of recording at the moment, and the nice thing about a black background is you don't need to chroma key it. You can just do a multiply and it just automatically adds things to the background. So, it actually works out pretty well. When I'm doing classes and stuff, I can just have things floating next to my head, and sometimes they're actually supposed to be there and it looks okay. But it took me absolutely forever to get that background to disappear. Anyway, that's that. Justus Eapen: Where are you calling us from, Dave? Dave Thomas: I'm calling you about 40, 50 miles north of Dallas. So, I am yet another country dweller. Justus Eapen: And you all are still mostly free, is that right? In Texas, I imagine. Dave Thomas: You mean in general, philosophically, or now. Justus Eapen: I mean, philosophically none of us are free. We live in a determinist world, but practically. Dave Thomas: In terms of the coronavirus stuff, where I live is pretty rural. So yeah, it's an effect, but it's not dramatic. There are cases around us, but not thousands. Justus Eapen: Now, I'm also curious about the philosophical side. Do you have free will? Dave Thomas: Say what? Justus Eapen: I'm also curious about the philosophical version of that answer. Dave Thomas: I have free will, but nobody else does, that's way it works. I mean, that's actually a requirement. If any one person has it, nobody else can, right? Justus Eapen: Why? Dave Thomas: Well, because otherwise then somebody else can get in the way of my free will. Justus Eapen: Okay, I've got to think about that for a while. Dave Thomas: No, don't think about it, I've just told you not to. Eric Oestrich: Right, we have a question from the audience, and Todd has asked, "What about COBOL?" Dave Thomas: What about COBOL? I love... No, actually I don't love COBOL. I once wrote a COBOL runtime system back in the '70s. What about COBOL? I mean, I think it's the horrible language that won't die, kind of like that uncle. People write it off, but up until 2000 or so this was still the most popular language in the world, and it will continue to be. The amazing thing to me is that they have managed to take a language, which is as... So, most languages that you use, all of the work is done in libraries. So, you'll have a library that does IO or whatever else. In COBOL, everything, including things like index sequential IO is all done actually in the language using language constructs. So, that means that whenever you have to adapt to add things like, oh, I don't know, the internet, you actually have to change the language. You don't just do it by changing a library. And it's amazing to me that the people that manage the COBOL standards have managed to do that without falling foul of the Perl 6 problems, where you just basically... Or the C++ problems where you basically end up with a language that's a little bit of everything and not a lot of good, but it's there. Eric Oestrich: Todd also says that he wants you to teach COBOL. Dave Thomas: I teach a class at Southern Methodist University here in Dallas, SMU, and right now I'm teaching a programming languages class. And so, the first six weeks, seven weeks, I actually go through programming languages historically. So, we start with Autocode and then FORTRAN, then COBOL, then ALGOL. So, they actually do spend a little bit of time coding in COBOL, and here's the wild thing. Every single one of those old languages, and we're talking about languages, which are, what? 70, no 60 years old. So far, I've been able to find websites that let me run them all at different places in the browser. In fact, I even found, there's a PDP-11 emulator that runs inside your browser, emulates the front panel with all the flashing lights and switches and stuff, and it boots up the original operating systems, the RT-11 and RSX. And here's the wild thing, it actually runs faster emulated in JavaScript in my browser than it did on the original hardware. It's amazing. Justus Eapen: Wow, I'm trying to imagine the original hardware. Dave Thomas: Oh, it's fun. It was really- Justus Eapen: The size of a house, or- Dave Thomas: No, a PDP-11 could be from an under-desk cabinet size up to a couple of wardrobes side by side. Eric Oestrich: For the audience watching, I just did a search for PDP-11. So, you can see all the fun switches and whatnot. Dave Thomas: But the nice thing about them is if you take the back off or the top off or whatever... Back in the old days you could open the front of a car and you could see things and know what they were. Whereas now, you open the front of a car, and it's all just one big block of plastic and metal. Well, it's the same with these things. You could open up a PDP-11, and it was obvious what the stuff was. And you would often spend a fair amount of time when you first got a machine adding bits to it, taking bits out, and the cool thing was you would configure a lot of the boards using wire wrap. So, you'd actually have little terminals sticking up, and you'd actually warp wires between them because you didn't have these kind of like... the little plastic header things that you moved around. So, it was fun, and you got to know hardware, and I think that's actually something that's missing nowadays is that people don't have this intuitive feel of the low-level hardware. Why does your microphone have a hat? Justus Eapen: Because it doesn't fit over my headphones. Dave Thomas: Oh, it's that hat. Oh, oh, okay. Oh, I'm sorry. I'm sorry. I should have known. Justus Eapen: You've met this hat before. Dave Thomas: Mm-hmm (affirmative), yep. I just didn't recognize it on a microphone. Justus Eapen: Which, by the way, that was such a great time hanging out at Lonestar Elixir and hearing. Your talk was excellent. Bruce actually brought it back up when he was on the show earlier today. I want to return to your course that you mentioned, the SMU course. Will the course materials ever be available to the general public? Dave Thomas: I don't think so. I don't know how that works. SMU isn't one of those schools that publishes its courses, at least not yet. I've been trying to push for that, but we'll see. The other thing is that until we all got sent home, the courses were not really the kind of things, at least my courses weren't really the kind of things you could video and actually take anything away from. Because it wasn't just me standing there talking and explaining stuff. There'd be a whole bunch of conversation and a lot of coding and this kind of stuff, which would be remarkably frustrating and boring to watch. So, it wasn't really organized that way, in fact, the interesting thing is now that we're all locked up in our bunkers, then I have actually been recording content. So, my class has 45 students in it, and the thought of 45 minutes sitting on Zoom watching me for three hours, which is how long the class was, was just too much to bear. So, I switched around and I flipped the class, so now I've been recording the lecture. Pro tip, a three-hour lecture when you record it only takes an hour. So, I've been recording the lectures, and then I've been using the class time as a kind of discussion about the things and answering questions and everything else, and that's been working really well. So, maybe if this keeps going, we'll actually build up a catalog of those recorded lectures, and then we'll actually have something to show. Eric Oestrich: That'd be cool. Justus Eapen: Maybe we could raise some money to do a course. I don't even know what it would look like, but we do the course as part of the show. Can you do a contract outside of SMU? Dave Thomas: Well, absolutely, but you'd actually have to spend a year in apprenticeship first, and then you could come and do the actual show. I tell you what, I'm really stupid because I set an assignment in a week, and it's not like a major thing. It's maybe, I would guess the average student spends about 90 minutes on it. It typically takes me two solid eight to 10-hour days to grade that. People just don't realize the amount of effort in that. It's phenomenal. Justus Eapen: You can't just write automated tests? Dave Thomas: Yeah, I do, but the point... Okay, so you've got one or two options. You can grade something by saying, "Oh, you failed. Sorry." Or you can grade something by saying, "Well, what you did is this, this, this and this. And then you changed that, but then you didn't do this and blah, blah." That's the thing that takes the time is going through and actually writing... And the other problem is I'm my own worst enemy. If I see code that I think, "Oh my, that's so ugly." So, I cannot stop myself going away and then refactoring it, and then sending it back to them. So, I probably have rewritten some of these exercises 40 times, just to... Ugh, it drives me insane. That's the thing, they do not teach students. I don't think this is an SMU thing, I think this is universally. They don't teach students how to program. Eric Oestrich: Yeah, I can confirm this from mine as well. Dave Thomas: Yeah, they teach them enough coding so that they can then show them data structures or algorithms or whatever, but they never actually teach them programming. Eric Oestrich: My degree you could graduate with a programming CS degree and not have actually written any programs because of how they combined things together. Justus Eapen: Can both of you maybe elucidate on this a little bit? Because I don't.... What do you mean they don't teach programming? They don't teach the ability to write beautiful code or they don't teach the ability to architect an application. What do you mean by this? Dave Thomas: Yes, number one, I'm teaching seniors and juniors and they have never been shown a test. When I tell them that I require them to write tests, the code that comes back contains print statements. If I'm lucky, it'll say, "This should say one." I actually had one guy whose tests were just a stream of ones and zeroes being output to the console. They do not teach... They're taught C++. I think, obviously, the devil controls the curriculum, but they're taught C++, which is- Justus Eapen: At SMU? Dave Thomas: Well, it's a horrible... Yeah, I know. I know. And they are not taught all the useful stuff. So, for example, if they needed to initialize a vector with five elements, they would create a new vector that says something like "vector string list". Then they would say "string s1 = " then some string. "String s2 = this, string s3 = something else". Then "list.pushback s1, list.pushback s2, list.pushback s3" because that was clearly how someone once said to them, "Oh yeah, we need to stick this into a list, let's do it. Boom." And no one actually stopped to tell them that you could actually just initialize the whole thing in one statement. That's kind of criminal. Eric Oestrich: Looks like we have Frank is joining in the, he says, "The pain." Dave Thomas: Yeah, I had to move the switch away because it was too disconcerting to see myself delayed by about 30 seconds or whatever it is. Justus Eapen: It is a little bit disconcerting. I wish there was a way to like... There should be a creator mode, right? Like whatever Eric- Eric Oestrich: Yeah, that's what I have. I have the chat pulled up and enough stuff covering the actual video. Dave Thomas: Yeah, I just wised up that I could do that. So, yeah. Eric Oestrich: Yeah, we had Java at my school, and I think a similar thing. I just remember a 400-level robotics class, and the thing that we did in our lab was, "This is what a For loop is." I was like, "What? Robotics 422 or whatever is teaching me a For loop in Java to run on one of those Lego Mindstorms things." So, that was just like, "What am I doing? Dave Thomas: Partly that's why I'm doing it is kind of like I'm there trying to... I used to joke that my job was to corrupt minds, but I'm actually honestly now believing I'm kind of uncorrupting them a little bit because the stuff they've been taught is... That's not quite true. They've been taught a lot of really, really good stuff, but none of the emphasis has been on what I think is important in programming. Justus Eapen: Well, you are very generous. We want to have you back on, Dave, for a full-on in-depth conversation. Season four of the show is going to be about system and application architecture, so I think you'll have a lot to say on that. I really like this whole conversation's been mostly technical. We didn't really worry too much about the external circumstances. I'm curious, before you go, any shameless self-promotion, any plugs that you want to make, asks for the audience, and also anything that you can say to maybe encourage people during this time. We want to leave on a high note, so I will turn it over to you. Dave Thomas: You're asking me for a high note? No shameless self-promotion because, to be honest with you, I don't have much to be promoted at the moment. I think the high note really is when you consider that people are people and they get very comfortable doing what they're doing, and for the last 50 years we've been following this ritual of the way we work. And then suddenly across the entire planet someone said, "Hey, we're going to change that dramatically." And I think the fact that, okay, we grumble, and I can't imagine being stuck in a two-bedroom apartment with two kids and trying the get work done. So, there's a lot of suffering going on. But at the same time, as a planet and as a species, we actually appear to have by and large pulled this off. That to me is kind of staggering because I'm one of these people that kind of gives up on humanity as being a waste of space most of the time, but actually I'm kind of pleasantly surprised and humbled by the fact that as a species we're actually doing what's necessary. I don't know if that's inspiring or that's just kind of whatever, but- Justus Eapen: For me it's super inspiring. I really appreciate the positivity the optimism, sort of love of humanity and just the treme... I mean, come on. No other time in history could we have even responded to this thing, and not only did we respond, we responded quickly, at scale, and pretty much stopped... Didn't stop this thing dead in its tracks, but- Dave Thomas: It's actually an interesting... I've been thinking about that, because I was thinking, "Okay, if we didn't have the internet then how would this have been?" But then again, if we didn't have the internet, then we may not actually have had the population densities that we're having now, et cetera, et cetera. I think it would be really interesting to look, and imagine you could actually take this back 100 years, and see what the impact would have been. So, we didn't have the technology, but we also didn't have the communication, we didn't have the flying, we didn't have the population densities. I wonder if there's some kind of self-correction that takes place. All of the systems that we develop, we kind of develop in parallel, and what this compensation going through for that. I don't know, it just kind of... I know ultimately that won't happen, and ultimately, we'll do something crazy to ourselves, but up until now, I think we've actually done a relatively good job of being able to balance the positive and the negative. Justus Eapen: Well, that gives us something very deep to ponder as we leave here today. Dave, thank you so much for coming on the show. I hope that you'll join us again for season four to talk about architecture specifically, and just get deeper into the technical weeds there. Would definitely love to see those course materials if they're ever available, and thank you for coming on the show. Dave Thomas: Totally. My pleasure.