Programming Throwdown - Holiday 2020!

Episode Date: January 29, 2021

Happy Holidays! In this show we make predictions about 2021 and take questions from YOU, our loyal fans! Show notes: https://www.programmingthrowdown.com/2021/01/episode-107-holiday-episode-2...020.html ★ Support this podcast on Patreon ★

Transcript
Discussion (0)
Starting point is 00:00:00 programming throwdown episode 2020 holiday edition take it away j Jason. Hey, everybody. Happy holidays. It's been a wild year. We'll definitely recap a lot of the year. We'll answer questions that came in from y'all. And yeah, it's been crazy. How are you feeling, Patrick? I feel best described as all those memes of people making things that say, 2020, I survived.
Starting point is 00:00:48 I survived 2020. But then people pointing out correctly that they're still at the time of this recording. Yeah, still like, you know, 10, 15 days left. So that might be a bit premature. Yeah, you never know. Yeah, the you had the the the virus thing just really exploded in california so so neither of us are actually in california right now um but uh but but you know talking to people who are there it's uh it's pretty intense what's going on there yeah i mean my best wishes go out to everyone affected by this i think it's easy uh you personally, I've been fairly lucky to have avoided any major health consequences in my immediate family or
Starting point is 00:01:30 extended family. But that's not true for a lot of people. And I think it's easy sometimes, for some people who haven't been affected to, to kind of shortchange how serious this has all been for people who have been affected by losing jobs, losing family members. I mean, for those people, it's, uh, it's been even worse of a ride. Yeah. Yeah. That's a really good point. It's been totally wild. Yeah. I think one of the things that, that is pretty shocking is, um, is, is the, the, they're calling it like the K shaped curve, but basically it's just completely bifurcated like some people um you know are actually you know kind of benefiting i mean not on purpose but some people are just benefiting from from the virus and just the changes that it had on
Starting point is 00:02:17 the whole like social environment and uh and other people are really devastated. And it's kind of a really weird position to situation to see. So, I mean, yeah, trying to pivot it into technology. I mean, this has been a, you know, having paid dues to the seriousness of it. I mean, for a lot of tech companies, e-commerce, digital stuff, I mean, it's coming into its own. Like people are figuring out video conferencing, and a lot of the problems we discussed in a couple episodes, you know, I think online stores are getting credit as being, you know, equivalent to shopping in in person that,
Starting point is 00:02:56 you know, we're in the holiday season now. And I haven't gone and shopped in in a store for holiday gifts. I, you know, I've been trending that way. But now, this year, it's a, you know, serious thing. It's like, why would I not just order everything from a website? That sounds great. Yeah, it's so true. And, and, uh, yeah, we, I mentioned this on a past episode, but you know, the big thing for me was clothes. Um, yeah, I've always felt like, oh, I should get, you know, clothes in person and get the right, you know, fit and things like that. And, uh, and now it's just, it's just like, yeah, just because of the right you know fit and things like that and uh and now it's just it's just like yeah just because of necessity you know we started getting them online and then we kind of
Starting point is 00:03:31 realized that like oh actually i'm not really as picky as i thought i was and so yeah i'm really probably just going to buy clothes online you know uh forever now and so that's a huge change yeah i mean this this year um you know, from a from a job stint has been, you know, thankful that I haven't, you know, had any major changes to my role or position or anything. But you know, being remote since March has been has been completely crazy. That before, you know, at most, maybe you'd be like a day or two, if you were, you know, had something or under the weather or whatever. But now, you know, it's just like a full time thing being being in the house and doing online meetings and doing coding. And I think not everyone has,
Starting point is 00:04:18 you know, reacted in some way for me personally, I've actually, you know, kind of, I guess I, it's been my jam, like, I don't go up the house for a while you know i have to be conscious to make sure to continue exercise and stuff um but being able to to do my work remotely has actually been a pretty cool opportunity for something that otherwise wouldn't have been afforded yeah i feel exactly the same way i think that that um i was really worried about the communication part of it, as you would expect. I was worried that we basically wouldn't have those times
Starting point is 00:04:51 to sync together as a team. We'd lose some of that synergy. But it actually worked out really, really well. We block certain times for a social time. And so a lot of it is done over VC. We block certain times for social time. And so a lot of it is done over VC. I think the biggest challenge is people interrupting each other because of that delay. But we're starting to find good ways to solve that as well.
Starting point is 00:05:17 And yeah, I think the freedom of it has been awesome. And being able to do your laundry while you work and a lot of the things you would imagine are really useful they actually are i mean it saves so much time in your day i think also um communication has been i don't like maybe that word is overused but more conscientious like i think people or at least i do personally try to take more care because you can't do the in-, you know, facial expression stuff as well over video, I feel so like when I do reviews or emails, or even just, you know,
Starting point is 00:05:50 instant messaging people that I, you know, take care to make sure to say more of what I'm thinking or how I'm dealing or how I'm planning something or approaching things. And in some ways, I think that's helped me organize my thought patterns a little bit better by having to be more specific rather than just, hey, so and so come over here, or let's go grab a room or let's go get, you know, a snack or something, right? Like trying to be more thoughtful about, hey, I'm going to engage this person with that topic. And, you know, bring in this other, you know what I mean? Like, I think those things have been actually slightly better because you're more deliberate about including people than just whoever happens to be around
Starting point is 00:06:30 when you have a thought. Yeah, totally agree. And, and the other thing is, you know, anything now is kind of, you're always kind of asking someone's permission because it's a VC. So it's just, it's a lot more deliberate. And so, um, it kind of gives people the opportunity to kind of schedule when they want to have those chats. Whereas when it's in person,
Starting point is 00:06:49 if someone walks up to you and says, hey, do you have a minute? You're just really compelled to say yes, even if you really don't have a minute. But if someone messages you, there's sort of this plausible deniability, like maybe the person wasn't at their phone or whatever. And so, as you said,
Starting point is 00:07:03 it allows people time to concentrate before a discussion. Yeah, I feel that initially there was this like, oh, no, how am I going to get my questions answered? But I think it turns out actually like waiting around for an answer. Sometimes you fix it yourself or sometimes you do something else. And I think it turns out you just don't need as fast of answers as we were maybe used to getting in the office. Yep. Yeah, exactly. Cool. Yeah, I think or do you think you're going to stay remote for the foreseeable future? We'll see. I mean, I think it's gonna vary as companies figure out their plans and work. I think for sure. I think a lot of, you know, we're both in, in programming, but, and in companies which are technology focused. So I think maybe our view is
Starting point is 00:07:52 a little skewed. I think a lot of programmers work in industries which aren't completely only a tech company, right? So there's a lot of programming jobs for, uh, you know, whatever you want to think like refrigerator manufacturers or car manufacturers or, you know, whatever you want to think like refrigerator manufacturers or car manufacturers or, you know, things which are more mixed, or even people making furniture, I guess, right, need various kinds of programming. So I think a lot of, you know, jobs are going to have adopted technology to deal with this that they wouldn't have otherwise. And I'm curious to see the impact that's going to have on the like, who stays remote and who stays remote and who, you know, goes back to the office or needs to be in the office because real estate is pretty expensive in a lot of places in the Bay Area of San Francisco and California, that I think what you're seeing is that a lot of them are going to be away from the office for at least, you know,
Starting point is 00:08:53 14, 16, 18 months before they're going to sort of staff back up. And that's a long time to have people be remote and learn how to deal with that and then just suddenly bring them all back to the office yeah actually um um i was thinking about this the liability dimension here is like really really interesting um you know if you uh if you ask people to come back well there's there's so many different angles this i mean one is you know can employers force people to be vaccinated to come to work so that's a whole thing that's we're going to be careful here keep going yeah yeah yeah no i'm not going to get into the ethical issues there but but but but the but then there's like okay assuming that doesn't happen or assuming they've taken employer for which you know they don't have that mandate well then if anybody um uh you know if they set a line and say okay it's you know i don't know april and everyone has to come back and even one person um you know gets gets gets extremely sick
Starting point is 00:10:00 um because they were kind of you know mandated to come back. That's a real, real problem. You know, and even if like legally, you know, there's, they're in the right, I think it, it, in the court of popular opinion, I mean, it's going to become a real issue. And so to your point, I think what's going to happen is, I think that, that for people who are asked to go remote, you know, I think Mike, I think it was Twitter who are asked to go remote, I think it was Twitter who initially did this. They said anyone who is asked to go remote can come back basically at will, indefinitely. And I think that's going to become the policy.
Starting point is 00:10:38 I wouldn't be surprised if all of these companies say, look, if you are interviewing now, we're going to ask you to come in. We get to set the rules, but for the people who we asked to go remote, um, you know, we're not going to mandate for them to come back because otherwise I think it, it, it opens up this whole can of worms. I think this is something we'll definitely be revisiting on this podcast. Yeah. So actually, yeah, well, that's my prediction. So, you know, we always do our predictions i'll just say mine right away my prediction for 2021 is that and you know obviously it's not everyone
Starting point is 00:11:11 but but the big companies um you know the fang um and and and the other sort of like the big players oracle and those cisco um that they're not going to have like a hard mandate to come back there will be strong encouragement but that there won't be any mandate that's my prediction are we doing predictions now i'll do mine yeah go for it what's your prediction my prediction is harkening back to a one i made a long time ago but i'll make it again i think this year you're going to hear a ton of news about um basically the new space race i think there's going to be this is not really a program i think sorry but i think that's great i think blue origin is very close you've got um the boeing activities with what is that i guess orion spacex the man i was so stoked i watched
Starting point is 00:11:57 the starship launch from spacex it was like so close and i was crazy watched it with my kids and i was just thinking like i think one day and I took a video of them watching the video. I don't know. Maybe that's weird. But yeah, I just like I think one day it'll be like look back and be like, this is the start of when, you know, things started to change. And even just looking, you know, I'm not like making picks about which company will win or lose because I think there's only been a few years. So I think in the scale of these kinds of things, a decade even isn't
Starting point is 00:12:30 that long of a time. And so I think, you know, we're going to see this as like one of the areas where it's an inflection point. And the amount of people and things and objects and technology going to space in a given year is going to start to be is going to become exponential, you start to see the statistics, like, if some of these quotas keep ramping up you're going to have more weight launched into space in a year than all of previous mankind well it's a short thing i guess but you know spacex is on track i think there's something like they are i think i want to say like in the first half of the year almost booked out like one launch one paid launch a like in the first half of the year, almost booked out like one launch, one paid launch a week in the first half of 2021 or something. So I was going to ask you,
Starting point is 00:13:12 what's the economic value. It's, it's tourists who want to do space, like ground trips, space travel. I think all of it. Right. So you see the stuff like the Starling satellite internet has, it could be game changing,
Starting point is 00:13:22 right? If you can live wherever, and especially with this coupled with the coronavirus stuff the covid stuff right if you could suddenly be in a cabin and have high speed low latency internet via satellite for a reasonable price think of like what that changes to the dynamics of like where people want to live and work um how is that connected to the to the space right like Can't they already do that? I know nothing about that. So I think it's, you know, if you launch a satellite and it's, you know, it's like per pound.
Starting point is 00:13:51 So if you can drop the price per pound by an order of magnitude, you can afford to put up a lot more satellites. And you need a dense coverage of satellites and then also because you spent less making them and getting them into space if they only last you know five six seven years which is true for objects in very low earth orbit then you can that's that's an economically feasible thing to do if you had to pay 10 times the amount you need your satellite to either deliver more economic value or be up for longer and so that just eliminates parts of the design space so spacex to send up someone else's satellite in half the capacity and then 50 of their starlink satellites and the other half of the capacity of the you know way they can basically
Starting point is 00:14:37 for a very cheap amount get all those satellites up um and then they don't need them to stay up that long before they are a net positive return on their capital oh i see but it's not just six and starlink i mean there are other companies waiting in the wings to do the same thing so as soon as there's cheap reliable frequent you know flights to space it becomes kind of like commercial business travel right that like suddenly there were people at my job, and especially from my previous job, who would just fly two, three times a week to various places rather than getting on a phone and calling someone. And that was because it was considerably cheap to be able to do that. And if space becomes the same thing, I don't think it'll become like
Starting point is 00:15:19 cost of a flight, but an airplane flight, but if it becomes cheap like that, all of a flight but um an airplane flight but if it becomes cheap like that all of a sudden what is reasonable to put in space including humans for entertainment value becomes way more open and possible that makes sense so like the the russian space station right things the iss right um so that is in orbit around the earth is that does that need a lot of maintenance i mean i have to i'm totally you know a dummy on this yeah we completely have that you have is that could you have like clubs in space where people go spend like two days like or like maybe not a club like a resort resort in space i mean i think so right so the early ones like Virgin Galactic, and I think to some extent, the Blue Origin current rocket would be, you know, giving people four or five, six minutes of weightlessness, you won't actually reach orbit. So they're a little bit of a different thing. And that's what we'll see sort of first from them. But then once you get more powerful things like the starship from SpaceX, then yeah, I mean, I think you could start to have um places in space for people to go to and and sort of hang out for a day or a week you know like a very expensive resort I guess although for a while it's still going to be very uncomfortable because getting large objects up is
Starting point is 00:16:36 still going to be pretty hard um you can get heavy objects up but getting really big objects up is oh yeah that makes sense it's still going to be hard. And so I think you will start to see some of that. That might be a little further out. But I think first just being able to get satellites up for cheaper, I think is going to be very interesting. And then longer term, you start to, like you say, start to do more colonization of orbit or the moon or even Mars, but also about like asteroid mining and stuff
Starting point is 00:17:06 right like a single selectively picked asteroid has like more precious metals than is like on the entire earth and so you can completely change things which are too expensive now like gold if you find one of these asteroids people are supposing you might be able to like have more gold like 10 times more gold than exists on the whole planet right now. So that changes what you could use gold for because suddenly it's not an expensive thing. Wow. I wonder if you,
Starting point is 00:17:34 if you were going to mine an asteroid and it's, it's not that far away, I wonder if you would send chunks of it into the earth, you know, versus just having to carry it all back. I think there's lots of ideas here i think a lot of it will depend on what and how safely and easily and how big of things you can send into orbit or not wow that's wild okay so that's a pretty bold prediction so
Starting point is 00:17:56 you're saying so the prediction is basically that there are space race there's basically going to be a lot more competition in the space arena and a lot more like to make a specific one i'd say you're going to see uh the first regularly scheduled uh tourist launches by the end of 2021 so i think yeah that sounds awesome i don't know i should look at their schedules first they probably published their schedules so i could probably cheat yeah you look it's like oh well there goes that bet um yeah my my uh prediction last year for this year was that um i believe it was that i'll have to double check but i think it was that education or maybe that was we had a long-term and a short-term bet um i think the long-term bet for me was that
Starting point is 00:18:44 education was going to change where instead of getting scholarship instead of instead of taking out loans you would get sponsored um and so basically the loads basically the loads would become privatized that was the prediction some of that i haven't seen it become regular yet but i've seen people talking a lot about it yeah i think the the inflection point there the tipping point there is is the um they is the government bailout so if the government bails out the student debt well then then all the private investors who would be investing in students will will just punch out because um because the government will just give the we'll just bail out everyone's debt they're not going to be selective or like economic about it um but if they don just bail out everyone's debt. They're not going to be selective or economic about it.
Starting point is 00:19:27 But if they don't bail out the student debt, then yeah, I think that will accelerate. Cool. Do you remember your question from last year? I was trying to look because I was wondering the same thing and I could not find it. I have no idea what mine was. It was probably wrong or too early
Starting point is 00:19:45 we'll see we'll see we'll jump into questions so um we could just go straight down the line here um so so senor laser uh on on discord asks uh have we done unit testing in college um i could just say a very quick no. I mean, I wish. It probably would have helped my software development skills accelerate faster. But unit testing was something I learned later. What about you? The same.
Starting point is 00:20:16 I will say that I think unit testing, to be honest, writing a unit test isn't that... This sounds crazy. The idea of writing a unit test or whatever isn't that big a deal. The biggest thing is getting people to agree to commit to architecting your software in a way that it can be meaningfully unit tested. Yeah, that's a good point. I think that's a topic that might be, for at least the kind of classes and stuff I had in college, I don't think even if someone had tried to make the point, it would have stuck. Yeah, I totally agree. Yeah, now that you mentioned it, I think, you know, I did take a software architecture class in college, and I'm pretty sure they
Starting point is 00:20:52 covered this. But as you said, like without any context, without a bigger system, it just sounds, it just doesn't make a lot of sense. It's like, oh, I did this homework assignment. It's like a one file program with two functions. Why would I unit test this, right? And so it only makes sense when you start introducing things like real time clocks and very large, complicated, you know, architectures that then you realize like how important it is and also how hard it is. It is hard.
Starting point is 00:21:21 And I think as a junior person coming in on a team, sometimes, even if school taught you the importance of it, and kind of how to do it, you wouldn't have the right political capital and angling and experience to understand the right application of it, like the right amount. I'm not a big you know, you don't have infinite money to spend on it. So you should focus your things. Now, if you have infinite money, sure. But, or infinite time, I should say, but time is money. Oh, another topic. For unit testing, I think it's one of those things you need to be very specific in how and what you unit test. If you're not going to be able to do full testing, which most of the time, it's not the right answer to do full testing. And I think that's something that's learned skill over time and specific to an organization and a project, what layer in the stack you are, how you relate
Starting point is 00:22:14 to the teams around you, all of that kind of stuff. Yep, totally agree. I second that 100%. All right, I'll ask the next question. So this one's from Canon, and it's, how do you know which path of computer science to go down? Data scientists, computer engineering, yeah, fill in the blank here. So I guess the trend is to answer your own question first. So I ask this one. I'll say that you don't know. I don't think there's a knowing, or at least in my opinion. I think you try to find the one
Starting point is 00:22:46 that interests you the most at the time while being open to the idea that you might pick wrong. So some of it is depending on your school schedule availability, how it meshes with classes you're interested in or minors that you need to do. And so I think don't get too hung up on it. As someone who does hiring, I don't care too much, to be honest. And I can't say that's true for everyone. But for me, I kind of don't care. Like, I'm just looking to see if you have a vaguely applicable, if it says electrical engineer, computer science, computer architect, i'm basically treating all those as the same um especially for undergraduate you know first job um kind of hires and so it it matters that you're passionate and that you've got enough exposure to projects to be able to intelligently talk about the uh sort of intricacies of programming and debugging and that kind of thing
Starting point is 00:23:43 um if you're going to continue, I'll let Jason talk about, you know, past undergraduate, I think it might matter more. But I think early on, I think it matters that you do something that you find really interesting. And it has classes that you think you're going to be passionate and apply yourself to, so that you're going to be involved in the projects and get good grades and that kind of thing. And then I think, after you join, you still, you know, your first job, you still shouldn't settle down, you should try a few different things to see what you really like before settling down on one thing, because that'll also give you breadth
Starting point is 00:24:14 and confidence and what you chose. So what do you think, Jason? Yeah, that makes a ton of sense. I mean, just some more, like uh some just to riff on that i think um um yeah i remember being in in you know i guess senior year of high school and and really kind of stressing about this choice and there was computer scientists there was computer engineer there was electrical engineer and um and yeah patrick's exactly right. I mean, don't stress too much about this. I think that your career is going to take a really, really long time. And think about all the things that you've learned. Let's say you're a senior in high school.
Starting point is 00:24:56 Think about everything you've learned in those four years. You started with maybe you're in Algebra 1 or something in freshman year or pre-algebra or whatever it is. And then now you've taken, you know, maybe you've taken pre-calc, you know, AP calc. And so you've learned all that stuff in four years. And that's just four years, right? You're probably going to be working for 40 years, right? That's an order of magnitude more. And, and so, you know, I mean, you know, I would look at the courses and just say, okay, which of these sort of curriculum, which is curricula do I prefer? And, and kind of go from there.
Starting point is 00:25:36 But yeah, I mean, you know, a good employer will, will, you know, treat a lot of these as, as sort of equivalent. Um, yeah, actually. So you also asked about, yeah, the, once you get to the higher level, then, then you really need to have something, you know, very specific you're passionate about. So, um, so in my case, you know, I really liked, um, um, you know, this idea of like a superhuman, you know, board game player. And so that was something that was, was really appealing to me. And, um, you know, there was chess, right. Where there was deep blue at chess, but the deep blue was sort of a search thing. It didn't really have a good representation of chess. It could just, you know, search really well. Um, you know know and by a good representation
Starting point is 00:26:26 i mean something where you can kind of tessellate like you could take one experience and translate it to a slightly different experience right so deep blue didn't really do a whole lot of that and if it did it was it was human beings going in and writing rules um and so that that was just super interesting to me and i was willing to spend a lot of years to try and make progress there um so i think you know it's it's it's kind of difficult to do a something like a phd if you don't have a specific goal um of course you have time to to find that goal but um but ideally you you you know say you do a bachelor's, you do a master's, hopefully by the end of the master's, you have some really interesting question that nobody
Starting point is 00:27:10 has ever answered before, or that hasn't been, you know, that that has dimensions to it that haven't been explored. You know, we know, there's always been sort of people who get into the PhD program just because they really enjoy school. But then it's very hard to finish without having that kind of specific answer. So that's where I think it can kind of pivot to where you kind of have to have some focus. But yeah, for undergrad and even for master's, yeah, I think looking at the curriculum and don't worry about getting it wrong. You can switch or you could even just finish out the degree and get a job where you're going to be surrounded by people with the other degree and it won't be an issue um okay so so chef asks which programming language should i pick to
Starting point is 00:27:58 land a programming job um yeah i mean i'm gonna have a a very specific take on this patrick will probably this is one where we'll probably have a different take um but you know my take on it is is um i think that you know again if you so landing the job is is one thing but then you know you have to work that job right and ideally you have to work that job let's say a minimum of two and a half years so that's what six thousand hours right and it's very hard to do six thousand hours of something that you hate right um so so you really gotta look at what are the kind of things you want to build um and then say okay the people who are building these things what are they using so for example if you wanted to make a video game well like a lot of people are using unity it seems seems like a really powerful engine for that right and so a lot of those people are using c sharp
Starting point is 00:28:56 right and so that can kind of help guide your decision but it's coming at it from kind of a different angle what's uh what's your take on that so i guess just to wrap it up i think yeah try to find you know what you want to build and then the language will usually kind of fall out from there that's my take on it i mean i think so i guess uh there's two things there's like uh generally speaking and then like in my current personal experience. So I will say that I guess Jason's saying is kind of true. If you have your eye on a certain kind of job, you might
Starting point is 00:29:32 want to tailor your programming language to that kind of job. So if you want to work in machine learning, then, I mean, Jason can probably speak to that, I probably wouldn't recommend learning low level C and C++. Probably not a great fit. If you want to do embedded programming, or even video game programming, for the most part, I would probably not recommend something like Python,
Starting point is 00:29:56 I'd probably recommend, you know, C++, or even I guess, if you're going to use Unity, you have more flexible, like C sharp or something. It's not that you can't do them in other ones, but it's not about what you can or can't do for a project. It's making yourself have the best chance of getting hired. You may be a really good fit or capable of doing a job and not land that job because either there was somebody else already lined up, the job falls through.
Starting point is 00:30:24 I don't really see... H hiring isn't a perfect thing. It doesn't. The perfect people don't get the job every time. Sometimes the interviewer is having a bad day. So what you're trying to do is increase your, you know, sort of chances of getting getting a job. And for that, and like, if you're just saying, look, I want to make sure I get a job, you know, I think there are a few languages you want to choose from, and it varies by field. But if you're going to do web type programming, which isn't Jason and my specialty, then for sure you want to know at least some amount of JavaScript, right? You're going to need to know that.
Starting point is 00:31:02 You're going to know how to build web pages. If you want to do, you know, applications programming on, you know, computers, you're probably going to want to do either like C++, or maybe Java, or maybe something like C sharp, or newer, if you want to do like, you know, Android or iOS programming, something that's more tailored to those. So, you know, something like Swift on iOS, or, you know, I don't even Android, I guess, Kotlin, Kotlin is it I don't know how to say it, but as I was gonna say, which is, you know, kind of related to Java. So I think those are the kind of things but more importantly, you'd want to be building the more specific you are and what job
Starting point is 00:31:40 you want, you'd want to have projects where you're actually building those things. And those will some to dictate your language. So if you're going to be trying to get a job in Android development, you're going to have one, you're going to want to have built Android apps. And so I think, you know, languages like Python, Java, C++, C sharp, you know, the languages are sort of, you know, JavaScript, most interviewers are going to be able to read those languages. And so you're not going to have a problem, unless you have a very highly specific kind of interview. And, you know, without getting off into it completely, I mean, there's different styles of interviewing that take place at different companies.
Starting point is 00:32:20 A lot of the tech companies currently do a more data structure algorithm heavy interview. And so as long as if you're programming in a language that the interviewer knows or can read, then you're sort of good to go. And they're looking for more skills. But that's not always true. If you're looking to be productive day one at a smaller shop or a startup or something, then your programming language choice matters to be more closely matched to what that shop does, you know, especially if the shop is doing something different than sort of the beaten path. So if there's some place you really want a job at that does Haskell, you're gonna have to know how to do Haskell. But I would say
Starting point is 00:33:00 that's not the commonplace. Most of the big tech companies, I'll say, any major language is probably acceptable. And if not, you know, this is hard to say. So if your goal is to just get a job, I guess I would say probably JavaScript, Python, Java, C++. Yeah, I totally agree. If you're wanting to be passionate and build projects and get hired that way, then I would say this question is probably missing the boat there.
Starting point is 00:33:35 It's not about what programming language you learn, but about what you've built. Yeah, totally makes sense. I think, yeah, just bootstrapping off that, if someone interviews you know, interviews for like a machine learning engineer role and they've never coded in Python, that could be kind of a red flag.
Starting point is 00:33:53 You know, it's like, it's possible, but it just seems kind of odd, right? So even if, you know, Unity will let you write code in JavaScript or something, knowing sort of the core language that's the most common for whatever kind of field you're wanting to get into is probably important. So maybe the answer is really just to do both, right? I mean, for the type of job you want,
Starting point is 00:34:22 learn the most common language for that job. So if it's web, learn JavaScript, right? But then at the same time, try to also build things. And those things that you want to build might be easier to build in C++. So maybe you have to learn two languages. And that kind of segues nice into our next question from Matt, which is, what is the fastest way to learn a
Starting point is 00:34:45 new programming language? I think of, you know, my view of it is to just find something to build in that language. You know, I think that, so, well, actually, there's sort of a meta question here, which is like, what does it mean to know a language um or you know and and i think the only way you really know if you've learned a language is that you can build something with it um i think there's a lot of um sort of meta you know it's beyond just writing the syntax and all that but there's kind of um different languages have sort of a different let's say like feel to them or like if you're writing you know javascript and this has kind of changed nowadays because there's the weight async pattern in in javascript 6 but um you know traditionally javascript would just have a lot
Starting point is 00:35:36 of callbacks because like every function you would pass in another function maybe even two functions the second one would would fire if if something failed and so you have to structure your code a certain way you know for example that failure callback you might have one failure function globally and you're just passing that to every function you call and and um and so sort of structuring your code in a way to handle like all of those callbacks um you know that goes beyond just being able to have code that compiles right and so you won't know that if you um just learn the language through like a tutorial that teaches you the syntax and so i guess the fastest
Starting point is 00:36:19 way to learn the language is that is also the way to know you've learned it which is because you've built things right yeah i i think you have a really good point there i i you always call that i don't language is also the way to know you've learned it, which is to just build things, right? Yeah, I think you have a really good point there. I always call that, I don't know if it's completely correct, writing idiomatic code. So you'll hear it referred to in Python as writing Pythonic code, right? Or maybe that's the one that has the best, or at least the one I know name for it. But you know, as a C++ programmer, I can always tell when someone comes from Java or from C background, and they've learned the syntax, and then they think they know and then it's like, well, what you're writing is technically correct and does work, which is sort of what one of Jason's
Starting point is 00:36:55 bars was. But for me, as a person with more years, I would say that, you know, this isn't code that it would have, I would point out various reasons why it's not the way we do it. But to be honest, the same is true for people who study C++ in school, and then they come to the job, for instance, and they use like exceptions, they throw exceptions. And in C++, we have a, you know, variety of lessons learned as to why we've chosen not to throw exceptions normally in our code. And that's something that until we show them, they wouldn't know about those reasons. And maybe they agree or disagree. But all that subtlety, right, is something that I got to ask, what do you do if you don't throw exceptions? So normally, you require functions, well, depends. But either you return some sort of error code, and you have error handling, or you have a kind of separate
Starting point is 00:37:45 separate mechanism for doing it but basically for code that can fail you uh you can have an optional return type you can have a return type that's an error code yeah um it depends on other choices you've made in the system um but yeah so i mean i think part of learning the language as jason said is like and we talk about this and this is true for every language i think we we all ask people who we interview you know hey like how would you rate yourself at c++ programming and they'll say oh you know i'm an eight or nine out of ten and we're just like uh what um and maybe it's more of a c++ joke i guess but c++ has been around for i don't know how many decades now, a lot.
Starting point is 00:38:27 And there's many... Yeah, since the 70s, I think. Yeah, so there's many, many corners to the language. And, you know, we say people who, you know, are writing the standard library and on the panels for the new proposals for next year's thing, those people probably rate themselves as seven or eight in the language. Most of us probably rate ourselves as like four or five. And so it's sort of one of these joking things, but it somewhat holds true, which is the higher you rate yourself, the most likely that you just don't know what you're doing yet. And so most people probably start off rating
Starting point is 00:38:59 themselves a one, two, three, four, five, six, seven, eight, two. And so you get somewhere where you start learning that you have more to learn than you thought you did. And you become more self-aware. And so part of learning a language, as Jason points out, is like, look, I can pick almost any language. I won't say any because we've been doing this show a long time. There's a lot of weird languages. But pretty much any language, you can pick up,
Starting point is 00:39:24 Google a few things, go on to Stack Overflow and bang out, you know, a simple script or, you know, a hello world example, or even something more complicated. But that's the between that and writing maintainable, you know, 10, 20, 100,000 line projects, right? The gap there is gigantic. And I don't think there's a fast way to get to the writing maintainable. Many people working on a code base code that I don't think there's
Starting point is 00:39:53 a shortcut there. If you're just trying to knock out something for an interview, or for a simple project, or just to get it done, then the fastest way is to be really, really good at one or two languages, so that you know many many concepts in those languages uh and then just figure out why what's the contrast between the language you know and the language you're trying to learn yeah that's it's all really good advice i think um um yeah so so then yeah kind of what you said, if you, if it's going to take a lot of time to learn kind of the right patterns, then yeah, learning a language maybe
Starting point is 00:40:32 isn't like picking a certain language maybe is less important because even if you pick a language for your first job, unless you're going to dedicate a bunch of years to it without working, which would be, which, which probably isn't true't true then then whatever language you pick you you won't have all of that experience anyways so so it's it's maybe more useful to to try and build some cool projects i would also say another way of thinking about is like learning a paradigm and maybe that's too subtle but like if you wanted to learn functional programming right like there's a way to do that in various languages or at least kinds of approaches to a great point right learning how to do scripting right if you really want to learn about banging out
Starting point is 00:41:15 shell script kind of stuff like c++ is not the right language for that but that's a useful paradigm to know um if you're trying to learn prototyping, GUI, I mean, maybe even paradigm is not the right word. But like learning those kinds of things, there are tools better and worse suited to it. And how close your preferred tool set is, dictates how fast you'll be able to do it. But learning new paradigms, once you learn a paradigm one way, it's often pretty easy to switch between languages within the same kind of thing you're programming yeah another angle on this is you know if you if let's say you set out to learn a language like javascript or c++ or something if you can find a framework and this again assumes that you're you already know kind of you have a project in mind you want to build if you could find a framework that is very opinionated that actually is usually really good um so for example let's say you want
Starting point is 00:42:11 to learn um let's say you want to learn c++ and you say i'm going to use the google style guide right so the google style guide bans pound defines, right? And so, you know, in the beginning, it might seem kind of frustrating because you might have some idea of a way to use pound defines to like auto generate, you know, 10,000 functions. And then now you can't do that. And so you have to have some way
Starting point is 00:42:39 to write an abstraction layer so you could get it done in two functions, right? Well, you probably shouldn't have created 10 000 functions right and so and so having that restriction you know the restrictions are trying to restrict you from doing things that that that historically have been bad and so um and so yeah finding sort of these really opinionated frameworks you know you might feel like oh it's kind of restricting me. And every time I try and do something, there's some error or some reason I can't do it. But I think
Starting point is 00:43:10 when you're done, and you kind of can do what you want within those restrictions, you're going to find that you're writing kind of more idiomatic code. So the next question comes from gun art is html a programming language no okay next question no um i don't know much about this but yeah go ahead no i mean i i guess it's the hint is in the name it's a markup language um i mean i think you can put stuff in an html file that is programming right you can embed javascript in an html file but i don't don't think HTML, even I won't look, but I'm sure if I look it up, I know CSS is Turing complete. I don't think HTML is, but it might be. But I don't think the normal way people sanely use HTML
Starting point is 00:43:55 is more to describe data, right? So this will just make the podcast drag out. But this is a way of modeling data and describing data and annotating data, right? A markup language, you're marking up the data. And then you manipulate it with other tools like, you know, CSS, or which even I won't go there, but or JavaScript or this kind of thing, right? So things like JSON, XML, these are closer in my mind to HTML. And those are all file formats or data descriptors. And they're very, very useful. They're very important tools.
Starting point is 00:44:34 But I would say those are closer than them to being an actual programming language. Yeah, it totally makes sense. I mean, you know, in absence of JavaScript, I don't think there's any way you can be Turing complete with HTML. So and to Patrick's point, I mean, yeah, looking at it, you know, from a practical perspective, you know, HTML, you know, Markdown, Google Docs, right? I mean, these aren't programming languages. I mean, even if you could show that they're Turing complete, that's not sort of what they're designed for. But I will say that, and maybe I don't know why you're asking this question, or if you're just trying to be funny, or if you're trying to learn something, or trying to understand if it counts to say, you know, HTML, therefore, you know, a programming language or add to your notching up a belt. But I mean, I think understanding good data design and data modeling and data structures is very very important um and so whether or not it's a programming language html is a very important thing um and the paradigm that it represents is also a very important part of uh computer science yeah totally agree totally we actually have a couple of questions that just showed up on the
Starting point is 00:45:45 discord oh um if you're listening live yeah go ahead on the questions channel and throw your question on there and so we'll we'll go through them and then and then we can uh call it a wrap um so so leonhard asks um how relevant is knowledge in a particular business field versus knowledge of the tech stack so so for an example you know how important is it to know uh let's say um web programming versus knowing you know uh next.js or something like that or react or something um yeah it's a good question um i feel like the tech stack is probably less important i mean they're kind of intertwined right because if you've learned a tech stack if you've learned for example next.js then you know something about web programming right um but in other words i wouldn't go out of your way
Starting point is 00:46:47 to learn you know next.js and uh i think it's called ember.js and angular and react and you know netlify and and all these things um you know i think that that i i would rather people spend their time learning, going into another business field, if that is something they wanted to expand in. Because I feel like once you know one, then you could kind of just contrast and compare to take yourself to the next one. What's your take, Patrick?
Starting point is 00:47:21 This is very, I guess it depends. I mean, a particular business field it depends on the business field i guess right so if if there aren't that many particulars in that business field that make it different than every other one or they're not impactful to the tech stack or the way you build software then i guess it doesn't matter but in some it's probably super relevant. Like if you're going to build safety critical code, right? Like there's a whole,
Starting point is 00:47:48 it influences literally every part of building software. And so it does matter, but it depends. And so I think you got to know, you got to have something in mind before you can get a good answer here. But as a young person or new person, let's say, I would say that it probably doesn't the first thing to worry about. Most places are willing to teach if they're willing to hire an inexperienced person. If you're looking for a more senior experienced role, then it probably matters more.
Starting point is 00:48:24 And you sort of need to break into that industry right um but yeah for most people i think there's probably a medium amount of business particulars but that the job is willing to teach them to you yeah that makes sense um so rubik's shoe which is awesome that's a great name it's one of those names that you don't understand it until you phonetically I got it now yes yeah Rubik's shoe asks basically you know should you take a let's say you have a nine-to-five job maybe it's not in computer science, right? Should you take an unpaid internship, you know, in software engineering to try to break into the field? And then sort of the follow-up question is, you know, do you have to sort of quit the day job or could you do both? Why don't you go, Patrick, since I've read two in a row.
Starting point is 00:49:21 This is tough. I mean, this, I think every, it's a, you can hear stories saying either way, you know, you can get whatever confirmation bias you want. So you can find people that say, you gotta, you gotta quit and go all in. And you hear other people say, you gotta never put all your eggs in one basket. And I can probably find you, however many you say is the bar, I can probably find you that many examples of either um and so this is is really hard to know it's it's depending on the market conditions depending
Starting point is 00:49:52 on the industry you're trying to go into depending on what your current job is i think this is one of those is very much a case by case i would say there's no one right way to do it um yeah i agree with that i i guess okay one thing i want to add is is just be careful for scams um um you know i think that like uh you know a lot of internships are paid not every internship right um if the internship isn't isn't paid then or if it's let's say significantly less than whatever you're making now, then you have to say, like, what value am I going to really, you know, get out of it, right? So, for example, you know, there might not be, if the internship isn't, let's say, part of some community where, you know, you can get a really good reference and things like that then there might not be that much difference between um an unpaid internship and you just
Starting point is 00:50:51 spending some time on the side maybe some nights and weekends you know picking up new skills right on the flip side uh there are sort of programs where not only are they unpaid there are programs where you have to pay like these boot camp programs, but there you have to really look at their track record of placing people into jobs, right? And so it might be worth, you know, you actually paying to enroll in something if the, you know, if the expected value of that is high enough, right? And you can look at past graduates and things like that to decide on that. The question of can you do both at the same time?
Starting point is 00:51:34 I think the biggest thing is just to be transparent. Now, if you're a nine to five job, like if you're just going to work around that, it probably doesn't matter that much uh but but really with the internship you know you want to be transparent and say look like i have this other job um you know whichever one you're basically joining second you just want to be trans like and this is true in general if ever you're going to join a job but you know keep an existing job you just want to be open about that um and and so whether you should have
Starting point is 00:52:06 two jobs or not uh it really just depends on the circumstances but but the key thing is is just just being open and honest with all the parties involved all right um rubix who also asked about uh music whether they're what we like is there some particular artist is there something we've liked all the way from being a youth to an adult? Uh, something new we've liked. Uh, I'll go first here.
Starting point is 00:52:29 Um, you know, I listened to music fairly often, but I don't feel like I'm a music guy compared to other people. I don't really get that much into bands. I listened to all sorts of things. I mean, when I program,
Starting point is 00:52:39 I mostly listened to electronic music of various sorts. Um, and then, but like when I'm driving in the car it's a big mix the other day i was really into like picking bluegrass music i don't know why but i was listening to a lot of like banjos and you know like really really old um stuff i you know i it kind of doesn't matter i'm normally upbeat music person i don't really like sort of like really slow or dark music so that's kind of my only theme but I'm normally upbeat music person. I don't really like sort of like really slow or dark music.
Starting point is 00:53:05 So that's kind of my only theme, but no, there's not been one artist I've listened to, you know, for sort of years and years. And, you know, I would, you know, pay lots of money to go to their concert. That's just not my relationship to music. Yeah. My answer is similar. I would say that I'm, I'm, it sounds like I'm a lot more into music. I mean, I do like, I go to a bunch of concerts. Um, there, there's some bands I really enjoy, but it's, it's nothing specific either. Um, um,
Starting point is 00:53:30 I, I generally don't listen to music when I'm coding or working, but, um, uh, but I do listen to a bunch of music in the car and, or I'll have music playing, you know, like, uh, when we're just hanging out with the kids and things like that. Um, it's all over the place i mean everything from you know country to heavy metal to i don't know rap r&b everything in between and uh i generally you know i like i like same thing as patrick said you know music that are music that is uh more high tempo um you know that's sort of like high energy and get people kind of excited um you know i like music that's some of it is just because it's funny the lyrics are funny like uh um you know like um what is the the people who do the i'm on a boat lonely island or like you know these these sort
Starting point is 00:54:19 of like goof goofy bands like tom mcdonald uh you, these, these sort of, uh, Adam, Adam Sandler back in the day. So, so yeah, it's kind of a mix of, you know, comedy routines that are musical. Um, and then pretty much every genre across the board. Um, and, but yeah, when I'm working at, I generally don't like to listen to, I generally don't listen to music unless it's it's um a noisy place and i have headphones on um pyro asks if uh we could do a virtual meetup i think that's a decent idea we might try to to see that i think it's gonna be busy for the next few weeks for us but uh um yeah i think virtual meetup might be uh that seems to be very 2020 so it'll probably first half of 2021 be the same kind of thing so um i don't have anything specific planned out but that's that's not a bad idea yeah i mean you know our
Starting point is 00:55:10 christmas episodes are kind of that already uh we just kind of opened the floor um you're here we're here yeah i mean you know i wonder you know and even for the christmas for the holiday episode i was wondering like um you know is there a way to sort of, you know, I know it's zoom people have done like breakout sessions and basically get everyone talking to each other and maybe what we'll do actually, I don't know if this is going to end terribly or not, but we could just open the whole, the whole room up at the end after we're done recording and just let everyone talk to each other and i can spend a little bit of time here uh i'll mute myself and we'll basically invert it we'll mute ourselves and we'll let
Starting point is 00:55:50 everyone in the room get a chance to talk to each other and then i could just kind of leave it running and so we have to post a phone call it's happening it's happening now it's happening yes shake your hands we got two more questions. So next to last question is, have you ever considered doing a startup versus working at a company? I'll answer first again, because I'm selfish. You know, considering doing a startup.
Starting point is 00:56:14 Yeah, I considered it. I never seriously pursued it myself. Honestly, this gets into a very lengthy discussion, which you probably should have at some time. But I mean, I'm probably very biased. I think again, to my earlier answer, there's a lot of confirmation bias you can find here. I think there's a lot of startups I would probably never join. And then there's some startups I think are legitimately doing good work or even doing one myself. And it's something every I would say probably almost
Starting point is 00:56:38 everyone in the tech field considers at some time unless they're currently in a startup. How about you, Jason? Yeah, you someone explained this explained this to me so yeah i'm going to have a similar slant on this as patrick and so take us both with a grain of salt neither of us have ever worked at a startup but um someone explained it to me in a way which i really appreciated um they said that a startup is really good for um people who have like far exceeded their resume so so you know because if you go to a big company they're going to have you know a million you know automated or you know semi you know like like mechanical procedures to to screen people out. And so, um, and so, you know, if you, if you have a ton of talent, um, but you haven't built that resume yet, um, then a startup is a really good option,
Starting point is 00:57:35 right? Because, because a startup, you know, they're, they'll typically be a real person on the other end of that form that you submit your resume to. And so I think that's a place where it can be really beneficial. In my case, you know, I was fortunate in that, you know, the area of research that I wanted to do, you know, there were companies that were looking for exactly that area. And so, you know, definitely when I graduated, my resume was probably better than my skills. My C++ skills were not that great, But I put myself as a 9 out of 10 on C++ and I was probably like a 0.5 out of 10. Red flag. decision simple. Of course, anytime you make a decision simple, you're going to expose a whole bunch of corner cases, right? Like, there's always, you know, at one point, all of these
Starting point is 00:58:30 big companies were startups. And if you had joined any of them, you would have been extremely lucky. So take everything with a grain of salt there. But I think that was a very simple way to sort of break it down that I thought made a lot of sense to me um oh the question was have we thought of starting uh uh or or there's sort of a corollary have we ever thought of of starting a startup or like starting a company and um boss asked that question what's that your boss was asking because they wanted to know your boss is trying to figure out if you're starting i'm just kidding oh yeah this person's my boss and yeah i got this email saying hr wants to talk to me right now um no i mean i think it would be interesting um you know there's sort of this
Starting point is 00:59:14 meta question of like um specialization versus getting really specific um you know i think that if you work at a startup you're going going, or sorry, specialization versus generalization. And so if you work at a startup, you're going to be doing a bunch of things. You're going to be buying machines probably for the, for the people on the team, or at least someone's going to be doing that. Um, you're going to be hiring people. You're going to be, there's a whole laundry list of things. You're going to be finding out how to pay the Amazon bill, right? The AWS bill. Um, um and and so these are things that a giant company you know it's it's completely the opposite like you you're really focused on a few things and so that's that's really the i think um sort of the the you kind of have to have the
Starting point is 00:59:59 answer to that question before you could answer the startup question and then the final question comes from dan what are the plans for the show in 2021? And that's a great segue. And I'll pivot it into asking you, Jason, what are the plans for the show in 2021? And just in general, what are you thinking about 2021? Yeah, so we've already started this, you know, I think we're going to the show is going to become sort of a bit more professional um i think that you know we we switched to a new um um you know recording kind of like uh studio software um i think we'll probably move the podcast on to you know um one of these podcast platforms instead of what we have now. And basically, a lot of the infrastructure that we've set up for the podcast,
Starting point is 01:00:49 we set up like a decade ago or something. And so we had an issue a few months back that really kind of made me realize that we need to spend a little bit of time to modernize. And so I'm going to go through and bit of time to modernize and so um you know i'm going to go through and kind of kind of do a lot of that um you know beyond the tech stuff a couple of things i'd like us to do is is to get back to doing um you know our regular show we've had some like unbelievable interview opportunities like peter voss we have some people we've we've already
Starting point is 01:01:23 interviewed that we're going to show everyone next month. And so the interview opportunities have been just amazing. I mean, I actually the other day was searching for application performance management for something I was trying to do at work. And I came across Matt, Matt Watson, who he interviewed. I came across a blog post from him and I wasn't even looking for him specifically. And I wasn't doing the personalized search either. So, I mean, this was just a general search. So, you know, we've had such amazing opportunities, but because of that, we haven't done the regular show in a while. And I am starting to miss that a bit. So, you know, I don't know if we're going to increase the cadence or if we're going to just have to tell some interviewers, you know, we have to push the schedule out. But that is something that, you know, I'd like to see us do. And I guess the last thing is I just want to be a post anything on Twitter other than the show episodes.
Starting point is 01:02:26 But one thing I posted yesterday was a shout out to Vercel and just some of the amazing software they've built. And, you know, I think I'm going to try and do more of that. You know, we have the RSS feed. We have the Patreon feed. And so if people just want to know when a new episode is out, there's plenty of podcast apps will do that. You know, so so I think I could be a little bit more vocal on on the Twitter feed and just kind of tell people, you know, here's some really cool things to check out. Yeah, I guess you kind of covered stuff for the podcast. I mean, in my personal personal life, I mean, I think try to stay safe and healthy for 2021, you know, continue more of the same.
Starting point is 01:03:08 I think personally, I've been moving more into management and lots of programming. So that's been something that's taught me a lot that it wasn't able to rely on, you know, just my previous work as much because being a technical engineering manager, I guess, everybody has different names for it, you know, is, I always knew what I wanted my managers to do. And now I'm on the other side and trying to be what the engineers, you know, need is something that's a learning opportunity for me. And so I'll probably have a lot more opinions about that kind of stuff in the future. And as I do a little bit less programming, a lot more opinions about that kind of stuff in the future. And as I do a little bit less programming, a little more people work, but it's something that that's been a fun adventure so far. Yeah, I guess for me personally next year.
Starting point is 01:03:58 Yeah, similar to what Patrick said, you know, I also need to get back on the exercise bandwagon. You know, I think that when I was going into the office, I had a pretty good routine. I'm sure this, you know, a lot of people, maybe the majority of people in the country have sort of the same situation that we do where, yeah, I just haven't really, I don't even know if the gyms are open in my state or anything. So I have to figure a lot of that out on the exercise side. But so yeah, I think 2021 will really be just, I think, finding the new normal, like getting back into routines that we had, you know, before the pandemic. I think that's going to be a big part
Starting point is 01:04:37 of it. And it's not going to be the way it was, right? I'm probably going to be remote for the whole year. So, um, um, but, you know, within, you know, even within those changes and you're getting back some of those healthy routines. Um, I think also, you know, on the personal side is, uh, I think I want to try and find something to new to build. You know, I think the eternal terminal was, is, is, you know, awesome. Um, you know, I still use it a lot, and there's still some things I want to build there. But Eternal Terminal was something I built over the holiday break. And so as we come to this next holiday break, I'm trying to think,
Starting point is 01:05:16 what is the next kind of cool thing that I can build that can really help out developers and stuff like that? So yeah, I I think, uh, I think that's, that's it for me. So, um, I just wanted to give a big shout out to, um, everyone out there, you know, our patrons who supported us. Oh, actually, um, um, yeah, we have to, to, uh, um, yeah, we have to, to, uh, definitely acknowledge all the patrons and everyone who, who, you know, has, has, has given us so much support over the year. I think that, um, you know, it's been, it's been amazing watching, you know, the, the
Starting point is 01:05:58 podcast just continue to grow. And, uh, you know, I think that want to thank all the interviewers who who you know have have really provided such amazing content and commentary in so many different areas and thank everyone who everyone out there who's listening you know people who listen live people who subscribe to the podcast especially people who you know give us give us feedback you know write us in tell us new languages you want to see, tell us people we should interviews. A lot of the interviews came from someone out there emailing us and saying,
Starting point is 01:06:32 Hey, you should talk to this person. So thank you for doing that. And yeah, overall, everyone have a safe, happy holidays. holidays music by eric barn dollar programming throwdown is distributed under a creative commons attribution share alike 2.0 license you You're free to share, copy, distribute, transmit the work, to remix, adapt the work, but you must provide attribution to Patrick and I and sharealike in kind.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.