8 Bits with Shaun Lawrence!
Listen to the Podcast
Watch the Live Stream
Brandon Minnick 2:03
Hello, and welcome back, everybody. Happy New Year to a new episode of apex. I am your host Brandon with Brandon Minnick. And with me as always is PJ Metz. PJ, how is how is your week? How was your break? We're recording this just after the the December holidays. How you been?
Pj Metz 2:24
It is January 4, and I'm feeling great. Can I say your audio sounds real good. And these are not new headphones. But it sounds careerist. I don't know what you did. If you just maybe just today, you got a real radio voice today. And I've got a real radio face today, y'all. I'm glad. I'm glad. But if you're watching on the live stream, I apologize for all of this. I'm doing greatest January 4. We officially are beyond like the three days like you can't say Happy New Year to anyone anymore. Three days is fine. Fourth day, we're good.
Brandon Minnick 2:59
We're on the second when people were telling me Happy New Years. We we went on a hike we took our dog out. Oh big news, we finally bought a car. We haven't cut that. We haven't owned a car in six years. And five years of that was living in San Francisco, where you really don't need one. There's plenty of public transit is if you're living in the city, you can get around most places just fine. We moved to Napa about a year ago and still didn't have a car for a year which was a little harder but still doable. We kind of formed our life around this 123 mile bubble around our house. So like my doctor, our grocery store, it's all walking but yeah, we got a new car over the break so we're able to take the dog out to a couple times over and go on hike. And yeah, we're out there a couple folks are passing on the trails we're like happy to hear and hello hi.
Pj Metz 4:04
I will say the new year is important in Korea I live in Korea for a little bit New Year's important in Korea because I'm a year older January 1 Korean ages one when you're born as the next year comes along, you're two years old so everyone born in the same year as the same age. So new year comes and you say like happy new year I would say it for like a month after it was my like go to reading in Korea and I'd be like say about my bottle sale which means like Happy New Year. And like I would drop that as I was like leaving stores I'd say it to my boss and it was I might have been wrong in Korea. We're doing it that way. I'm a giant, giant white looking dude like I'm gonna I'm gonna mess up some stuff. I'm real sorry, but like, New Year. It's great. You got a new car. I got a bike and a Nintendo Switch. I'm not Christmas gifts. I bought those for myself. My wife was like, what? Am I gonna get you for Christmas? I was like, just give me a hug and say that the switch was from you. It's okay. Yeah,
Brandon Minnick 5:06
don't worry. I'm on it.
Pj Metz 5:08
It's all good. It's all good. Oh, man, Brandon, tell tell us. Like, what's what's happening today, like today's pretty good day. What's happening with us here at eight bits? I'm noticing a new logo on top of you.
Brandon Minnick 5:21
Yeah, new New Year New Look, you'll you'll probably notice we have a new intro song. For Odyssey, that's our last one kept getting us demonetized we had the copyright for it. YouTube was like, No, you don't. So yeah, we got some new intro outro music and we're also switching to a new schedule. So you can still follow us live, we're still gonna record these live at the same time. But the biggest difference is we are going to scale back a little bit. Mostly help with PJ and my sanity, where we were live streaming at the same time, every Tuesday, every week. What we're going to do now is release our episodes twice a month. So subscribe to the podcast, subscribe to the YouTube channel, you'll still be notified, you'll still see him pop up. But they'll appear twice a month instead of once every week. And our live streams will still be available. So you can still come chat and hang out with us as well. But we decided that it's probably better if we can record a couple of these may build up a buffer. Some of you know I was in Europe for three weeks last last year towards the end of last year. And we had to record episodes. So I was live streaming from where I was I was in Prague and then I was in Oslo. And yeah, who knows what the hotel Wi Fi is gonna be like little things like that kind of throw a wrench into, hey, let's do this every week live at the same time. So we're still gonna, we're still gonna film it live. But we're gonna actually build up some backlogs of episodes. So you know, if we go.
Pj Metz 7:05
Like, it'll be like, Oh, we don't have to worry about getting a substitute host or a guest house because we've just got an episode to release. We're good. We're
Brandon Minnick 7:13
good. Right? It's like all the behind the scenes stuff. Like, yeah, so for those of you don't know. Yeah, our episode a couple weeks ago, where I was in Prague sounded like I was on the moon in terms of audio delays. And so our next episode, we're still going to be out of town. And we went through all the effort of queuing up a guest co host, Dr. G, who is on the show a couple weeks ago, graciously volunteered. And you know, we were testing out the hotel Wi Fi after I landed at 10pm. And it was a lot so much, honestly. But probably most importantly, he just got a new soundboard.
Pj Metz 8:02
This is all I said, here's why I'm excited. So I have a stream deck. It's a series of buttons and like it's it's on a short cord, so I can't pull it up to the camera right now. But I had set up all these sound boards before all these buttons, I was so excited. And I could never find out how to get my Mac to share sound through what we're using, which is restream I can never make it work but like now
I got so excited. Chloe's gonna be happy about that one call. We'll be real happy about that one. That's a Rupal sound. But yeah, the soundboard is really exciting. And we have to have a soundboard because it's way more exciting to bring in a guest with a good sound. Way more exciting.
Brandon Minnick 8:51
Speaking of which, we have a pretty cool guest this week. Our guest this week is somebody who I actually met pretty recently, but he's now and I was thinking like this, I don't know the term is for if you are both open source maintainer or both maintainers on open source project. As I was thinking I was like, do I address Shawn as a as a co worker as a as a co open source maintainer,
Pj Metz 9:18
Brandon Minnick 9:22
But that being said, we have awesome guest who does a ton of open source. He's got his own consulting companies got apps in the App Store. He's got beautiful websites. So without further ado, Sean Lourdes Welcome to the show. Hey, everybody. I was worried. A million times better. I love it.
Yeah, that's right morning host radio DJs
Pj Metz 9:57
Welcome to K 93 s Oh, John,
Brandon Minnick 10:04
thank you so much for joining this week. For those who don't know you, who are you in? What do you do?
Shaun Lawrence 10:10
Thank you very much for having me along. Um, so I am a software engineer. I've been around for one and a half decades now in terms of actual development. I've only really recently started to understand the value of the community and open source and actually, well, maybe the software industry, I've been a consumer of open source more than actually providing value back. And more recent events have actually driven me to wanting to be able to give back. And I guess that's how things have come around. And obviously, as you mentioned, I'm now helping out on the sermon in Maui community toolkits to be able to keep those up. Yes, so I'm on top of that, I primarily work with Xamarin based work apps or development. And we recently shipped an app to the App Store, we've got the game with Xamarin Forms, being able to try and see how we could push the tech.
Brandon Minnick 11:10
That's right. And we'll, we'll talk about Super word search later in the show. Absolutely. It is a an amazing app that encourage everybody to go check out. But, John, I'd like to start by going going way back is part of the part of eight bits. We like having people on the show who work in tech, not necessarily to talk about tech, but talk about the person behind the tech. And so what we love to start with is let's go way back. How did you get started? Did you pick up coding as a kid? When did this come around? And how did you end up falling in love with it?
Shaun Lawrence 11:50
I that I guess the point when I actually fell in love would have probably been our GCSE is here. So that would be 1516. That's when I've got some actual exposure in terms of some technology and being able to put some input into a computer and see what that would then translate into. Prior to that, I actually wanted to be a chef. It's quite a different approach. But having done work experience in that kind of field, it was a much more grueling in terms of drawer to get out of it. So yeah, I'm still enjoy the cooking part as a hobby. But the, I guess, the exposure, I got the school and then that then drove me to choose what I wanted to move on to later on.
Pj Metz 12:45
I can't imagine two more disparate fields, like I want to be a chef, developer, that's very, I mean, now similar in like a metaphorical sense. Like, it's real easy to talk about building apps and building dishes. And there's, I'm sure there's a great metaphor in there somewhere that a skilled writer can bring out. But unfortunately, I'm not a skilled writer. So, but that's pretty cool. So did you like hold on to that Chef dream for a while you're like, Oh, I do computer stuff is fine. But I really can't wait to open my own restaurant, or did did you kind of immediately turn and just go full in on developing and code. I
Shaun Lawrence 13:22
mean, it was probably growing up, my grandparents ran a bakery. So I spent a lot of time there. And I think that was probably part of the inspiration. And then ultimately, as I started to learn who I was, and the person wants to become, that's when I guess I got the exposure to other things. And that became it ICT in what we were learning and that that felt like the right fit for me still enjoy. I mean, like you say, the cooking side, or you've got a level of getting some exposure to the creativity side. But then there's also quite a methodical approach to some parts of it quite a lot of it is repetition. So some of it is quite quite a good fit. And I can't think of a very good metaphor, but hopefully someone will
Pj Metz 14:12
tell us, Brandon, it's time for you to see if you can do the metaphor.
Brandon Minnick 14:16
Yeah, let's think about that, too. And, you know, you there's there's a lot of planning involved in cooking. And same with writing software, or at least, there should be I mean,
Pj Metz 14:28
there shouldn't be lots of planning.
Brandon Minnick 14:32
Sometimes you wing it and get away with it. But yeah, I think that that level of preparation is very similar. And like you were saying a minute ago, where it's it's a lot of repetition. And that's what I found when I first started coding. Or actually, not when I first started coding, but when I first got into open source, one of my goals was I want to have an open source contribution every day so that would When you go on GitHub and you see those little green tiles about tracking your contributions, whether it's writing code, reviewing code, opening up issues, I wanted to have at least a green dot every day, whether it was my open source project or somebody else's open source project. And that was probably the one of the biggest things has helped me. Because when you, when you're in it every day, everything becomes a lot more familiar, a lot easier. And with coding in general, you see the same things a lot. You know, we were talking about removing eight bits to two episodes a month, and chat with PJ before the show, PJ built a twitter bot, so we can tweet out with the episodes go live, since we're not gonna publish them live now. And it's like, it's, it'll be great. It'll tweet the 15th and the 30th. And I was like, what happens in February? Because there's only 28 or 29 days on a leaf year. And that was just purely because I've made that mistake before. And so that that experience that repetition, seeing things before that you can apply elsewhere. Very, very similar in or I gotta assume, to be similar in the field of cooking.
Pj Metz 16:19
You definitely can't be a master chef until you've made the same dish several times, making one successful dish does not mean you've mastered it at all. Trust me, I ruined the steak the other day, and I've made my life ruined. I was I even like, I've got this technique I found online. You It's reverse searing? You don't see it at first. Yeah, after, right? I was like, Yes, this is perfect. It looks gorgeous. And I stuck a thermometer in it. And it was like this steak is 70 degrees inside Fahrenheit. And I was like, no, wait, how did I? How did I mess this up? It was very upsetting.
Brandon Minnick 16:56
And for the listeners at home, don't eat meat that's only 70 degrees Fahrenheit,
Pj Metz 17:00
I said no. 140 degrees is rare. So like I was, I was halfway to where I needed to get.
Brandon Minnick 17:10
So welcome back to the eight bits cooking show. That's right. So Shawn, you mentioned you, you got into coding around 1516 years of age. And I know I mean, I grew up in the states, if you couldn't tell by my accent. And I didn't have any programming classes in high school, like I personally didn't write my first line of code till I got to college. And it was like, I want to study computers, and finally got to study them. So I'm curious, how does how does that work in the UK? Or maybe is specific to your school? Do they have programs that teach that to 1516 year olds?
Shaun Lawrence 17:53
Now, I don't know. I would hope that opportunities are coming more frequently. So hopefully, there will be more exposure there. I wouldn't say I necessarily got that much exposure to it. I think we're using acorn machines at the moment. So there was fairly limited amounts of things that you could do. One of the things, just performing mail merging across, so you take the data and stick it into documents to send out. But at the same time, the college that I was at, they recently invested in actual Windows PCs. And it was actually starting to use those. I think there was some complicated or not complicated, like kind of text based games that they kind of give me a bit of exposure to to kind of get to grips with some of that kind of tech. And then, in terms that I don't think there's necessarily any explicit coding practices, that certainly came probably more towards a levels. That's 16 1718. Yeah.
Brandon Minnick 19:03
That's awesome. Yeah. I mean, I, I've always felt that everybody should, like you don't have to become a developer programmer. But everybody should at least write some code, just to understand how it works. Because the world we live in, everything's online, everything's on the internet, web pages, mobile apps, you name it. Computers, run our lives around the world. And it's still surprising to me. Just how some people react when, say, a website doesn't load properly, or the internet isn't working. And it's like, how, how did you think that works? Because when I watch them, try to like debug Wi Fi, for example. Like, do you know what's going on here and that's so common in all of our lives. You know, I'm not saying like, we all need to be at the level of being able to program our own software or create our own routers. But yeah, just knowing how J traffic works will be really helpful for when the Wi Fi goes down.
Pj Metz 20:16
So go ahead, John,
Shaun Lawrence 20:19
this is general just wanting to know how something works. So then you can actually know how to make so problems.
Brandon Minnick 20:28
Oh, yeah, I have that. My wife all the time. So I was just like, Are you curious how that works? Or, or like, I'll fix something you should like, how did you know how to do that? I was like, Oh, I just I looked at it. And I was like, well, this part connects to this part. And it looks like this gear moved. And so I just took a guess.
Pj Metz 20:46
I still think 10 does. So I pull cords out and just blow on them and plug them back in.
Brandon Minnick 20:54
How does that work with the Wi Fi though?
Pj Metz 20:56
Just you so you? Oh, yeah, you you pick up the Wi Fi. There's actually this is great. So there's these little slots underneath the Wi Fi. And a lot of people think it's for displacing heat. No, that's where you blow. You just go across it. And it's perfect. And it works every time. It doesn't work. Don't do that. This is bad advice. I'm leaving my role as a goober and like a nerd. And like the I'm the goofy guy on this podcast. So did you try unplugging the Wi Fi and blowing on it? That's right. Wi Fi works better when there's a breeze. It blows the signal closer
Brandon Minnick 21:38
to you. Man, so, so. So take continuous on your under journey. Shawn, you mentioned in picking up coding? We would call it High School in the US for 1516. Then Then what? Did you go off to college?
Shaun Lawrence 21:58
Yes, yes, sir. So it's college. Studied computing, electronics, and physics are really all kind of interrelated. And, surprisingly, computing was the thing. I was worse that in terms of grades, but the thing that I enjoyed the most. So that's kind of where I set my heart on and ultimately took out across the university.
Pj Metz 22:24
It's great. It's interesting that physics was included there. And I think that when you look at a lot of about what year was the Shawn, if you do
Shaun Lawrence 22:34
2002 To 2001 to 2003.
Pj Metz 22:37
Okay, so that's very much like, like, that's pre web 2.0. That's pre social media, right? So this is like, it's not the early days of the internet. But like, that's around the time when I remember in my house, you would, when we would go out and look at electronics, you would see computers with stickers on it that said, internet always on and it was like a brand new thing that the internet was permanently connected, you didn't have to dial up anymore. So it's not quite the early days, but it's also not quite the ubiquitous area of our lives that it is now. And even just by 2005, I think Facebook was in every college preparing to be for every person if they wanted it. So it makes sense that computing would have been sort of like, connected to these other sort of majors and these other focuses. So physics computing, it sort of makes sense that those went together. Um, would you take you take us out of college now, like, you studied college, you're studying computers? What gets you into the field after that?
Shaun Lawrence 23:44
In terms of actually getting to a job? I mean,
Pj Metz 23:47
yeah, like, like or what what happened in college that really drives your your interest in cuz you said it computers was the thing that interest you most, even though you said those were your worst grades?
Shaun Lawrence 23:58
Yes. Okay. Um, so it was actually I mean, I think at that time, I've got some exposure to for the level of Java. And then when we got to actually writing an assignment as part of the final year, we were given kind of free rein and what we wanted to do so at the time, I tried to focus on again mentioned on the baking business, try and write something that could help someone. And it's that the kind of the reward that you got, you get to see that you can actually build something and it actually helps others. That was where I felt I could probably make the biggest amount of difference.
Pj Metz 24:37
Brandon, you've said that before, too, that a lot of times it's when you realize that you can create something that has some kind of benefit. That's what's that's, that's what tends to be the hook that keeps people in programming and coding.
Brandon Minnick 24:50
Yeah, and it's funny I I think I started being or started out, more selfish than anything else. It was one of Those things like, Oh, wait, I wish this always existed. And I know how to do it. And so I'm gonna make it. And yeah, if other people want to use it great, but let's be honest, I'm making this for me because I wish it existed. Yeah. But yeah, and then that'll that for at least for me, it's snowballed into Oh, wow, like people are using this or people are depending on this or other people are jumping in and contributing to this. And then it becomes more than just about yourself becomes more than just about the code, like Shawn was saying earlier becomes this community. And I think that's, that's really what hooked me into into open source was, it is definitely made me a better developer. Because I get to do stuff play around with like, all the latest goodies like I just, I just made my first source generator in C Sharp. And for those of you who've never heard of that, which even if you're a C sharp developer, you probably never heard of it, because it's pretty new. It's hard things. I've done that a long time. That's when I talked my wife's ear off because she was the only one in the room. I got finished with that. I was like, I am really proud of this. And she's like, okay, no, honey, that's nice. Like, no, no, you don't understand. Like, I just wrote code that writes code. Not many people have ever done this before. And she's like, Okay, that sounds like No, no, you understand
Pj Metz 26:36
with this, not just the AI that the one guy from Silicon Valley created? Did you not just make Anton and Sunderbans?
Brandon Minnick 26:49
No, it's not that smart. Okay, okay, good. I guess I should introduce them. So source generators, a kind of a new thing in C Sharp, where you can always write code that executes while your apps running by kind of doing what I would call introspection, we call it reflection and C sharp, where you just kind of, you can look around at the code that's running, and then kind of tweak it, edit it, add some things. But that's really slow, slow in terms of computing time. So the CPU takes a lot of cycles to do that. It's really not recommended, like, you should avoid reflection as a C sharp developer. So they came out with this thing, these things called Source generators, which, as you write the code, or as somebody who consumes your library writes their code. This will execute in the background. So instead of doing it at runtime, where you know, if you're running a mobile app, phones still aren't as powerful, or getting pretty close as laptops. And you don't want to slow your app down. So why not? Let's generate this code as we're writing it, then that code was compiled or run as if the user wrote it. And so you get some benefits out of it. And it's really starting to take off, but, man, it's a weird way of thinking. Because you're, you have to basically walk through code that you don't know what's there, what exists, and then also write code and handle all these different use cases. But hopefully, we got to work it I've got a pull request open on the on the dotnet Matic media toolkit right now that I'm hoping gets approved and merged. It works out machine.
Pj Metz 28:31
Let's There we go. That's That's amazing. I had trouble writing or a twitter bot. So you know, some things are way complicated for you. And some things are way complicated for me, but I did get the tweet about working this morning. You're welcome. World nice pretty soon. Twitter account will tweet all on its own.
Brandon Minnick 28:53
Like different levels of challenges, right? Like, we we use, we have an email address for the show Hello at a pitstop TV. So if you want you can reach out, if you want to join the show or sponsor the show, you can reach us at Hello at eight bits. But what that also means is PJ and I see all the emails that come in, and I kept seeing emails from Twitter to PJ, as he's working on this twitter bot. Because they're like, Hmm, we don't really trust that you're making a good bot. And it's like
Pj Metz 29:23
which, which is amazing. I see. I had a bot reply to one of my I made like a tweet about Texas and it replied with some non sequitur about politics. And I was like, Get out of here bot like what are you doing? You're clearly like not a real human. And meanwhile, Twitter's like so what are you going to use our API for? I was like Twitter. I'm not the problem here. Come on. Like they're like four back and forth on those emails. It would made me crazy. But anyway, we got it working.
Brandon Minnick 29:56
Oh, all sorts of crazy challenges. So So shot You mentioned this this app you're working on. Tell. Tell us more about this.
Pj Metz 30:05
The the word search
Shaun Lawrence 30:10
was a super word search. Okay. Yes. So now this this, this app itself was actually dreamed up many years ago. We'd originally built it I can't remember fully how many years ago. But the Cobras in Objective C, just tried to target against iOS, going about it much earlier in my career and kind of made a mess of it and got to the point where kind of life got in the way and we never actually got to the point of completion. And then obviously, we're in the midst of this pandemic. So send that home, we've decided, well, we're going to be in front of our computer screen, why don't we try and do something, see if we can achieve something. And so we started, I think, in February last year, and took on the originally we open the Objective C code and see if we couldn't even compile that X code was having a bit of a meltdown in terms of all of the errors it was reporting, rather than digging with it, we go for a fresh start. So we said well, let's see if we can achieve the more complex parts that we struggled with to start with, push that across to Xamarin. And that's that's kind of started my journey in terms of actually really realizing actually how much value there was within certainly within the Xamarin community. To the point that, I think we I mean, we end up building the app, and maybe five months from prototype to being able to store no end of great numbers in terms of how much code we've actually written in terms of platform specific, I think there's there's always this advert, you can share as much as you possibly can. I think we've got 98% in terms of shared code.
Brandon Minnick 32:03
iOS and Android.
Shaun Lawrence 32:05
Yes, yes, there's, I think there's only 100 lines on each of the platforms. So we had to write that's mostly to get around slight odd bits of behavior, rather than actually writing specific stuff. Yeah. And that's, that's all, that's all down to the community. I mean, you look at like the number of packages that are out there that have achieved things for us being able to render really fancy animations smoothly. So there's a lot in terms of that through to all of the kind of the custom rendering Ischia and macrocytic. It obviously, there's a there's effort involved in terms of piecing that together, but the amount of functionality that was there really was impressive.
Pj Metz 32:49
So it's good, always good. Here it is super word search. And if you're listening on the podcast, we're looking at the website. Brandon was talking about it before the show, and he was like, this is really slick. And I agree. Gorgeous looking, gorgeous looking website. And what I like is the information down here, do under right here, the acknowledgments of the open source libraries and what you're using, which I think is really cool to have present on your website.
Shaun Lawrence 33:20
Thanks. Yeah, I mean, we use it into it, we have to we have to give a shout out to them. In terms of licensing anyway, but we had to wait. But to the point, I mean, when we start to look at this, my first contribution to an open source project that wasn't my own was I believe that there's our community toolkit. There was a tiny little feature that I added in. But having such a pleasant experience with the people that maintained it. A year later, I'm now hoping to maintain it. Yeah, how friendly? A lot of the people are. There's been plenty of discussions in terms of I mean, actually, I mean, you look at the look, for instance, a few months ago, a few weeks ago, the amount of demand that's puts on, maintain is out there. It just felt right to have to do it to be able to give back and to try and continue giving back to be able to support everyone.
Brandon Minnick 34:27
Yeah, and l says, As a fellow maintainer of Sandra community toolkit, and now the Donna Maui community toolkit. I know I found for me personally, as an open source maintainer, Sean, like you were saying, there could be a lot of demand put on you. But something I've learned and something I'm trying to build in now that we have this new repo for the data, how you committee toolkit is setting those expectations. You know, this, the these two open source projects, they're very much community driven. We just kind of we hold the reins, but we're not necessarily the ones writing all the code. And trying to get that. Get that across in a way that's not like, ah, because you can sound like a real jerk just like, hey, everybody out there, right write code for me. Do Oh,
Pj Metz 35:26
yeah, I need you guys to take care of this. I've got to fix it. And then I'm gonna say it's my toolkit. Yeah, exactly. That's not what's happening now.
Brandon Minnick 35:37
Yeah, and don't get me wrong. Yeah, if you look at the contributors, the maintainers are also the top contributors, which is also how you can become a top or become a maintainer if you contribute enough them, like, just have you joined the team. But uh, but yeah, setting this expectation setting process flows. I know, battle, we were always fighting in the Xamarin community toolkit. And I saw the same thing on pretty much every open source library, but specifically Xamarin Xamarin Forms is, folks would almost treat it like, like a wish list, like open up in issue. That's not necessarily well, maybe there is a bug, but saying something like, Hey, there's a bug, fix it. And as a maintainer, just like,
Pj Metz 36:24
what's the bug?
Brandon Minnick 36:27
How do I fix a bug? I don't know, it exists. I don't know how you hit it. You know, obviously, we didn't code the bugs on purpose. So you got to tell us?
Pj Metz 36:37
Brandon Minnick 36:41
And so yeah, with the American utopia, that's been one of my focuses is, we've set up this, this process is workflow using the tools that are available to us in GitHub. So things like, let's have a discussion about this first, like, let's have basically an open forum, talk about the feature you want. Or when you go to report a bug, we have issues and templates, and a Shawn's been really instrumental in that. Because these templates basically define what you have to tell us like what we need to know. So shot them. I'm curious, when, when you're working on these, say Open Source templates, processes in general, what's kind of your focus to make sure that you don't get overwhelmed or by the community, or you don't get, I would say, low effort, because honestly, anybody who reports a bug is going out of their way to let you know, they didn't have to do that. So thank you to them, but also on the side of the maintainer. So we need that we need a little help, too. So yeah, Shawn, I'm curious, how do you balance that in, in your repos, your apps, or just your life as a consumer of open source libraries.
Shaun Lawrence 38:01
So um, I mean, in terms of an open source project that I've run for a few years, it's kind of ticked over steadily. So actually, there's not been too much demand in terms of that. And anyone that's been involved, I think, I mean, there's always this fine balance isn't there between asking too much for someone that they're not going to bother reporting at, they'll just go off and find something else. And then also getting enough information out to people. So I've tried to put enough down that I might get enough information. And usually try to structure it that the bits that you care about most are at the start. So even if they get bored towards the end, you could possibly work around that. As long as you've got some of the key details. There's always challenges whether you're going to get enough information. Because I suffered from so problem points when we try to explain something. We know what we're talking about, because the context is in our heads. And it's learning that person of actually trying to translate that across to someone else. Or even yourself, if you can write it down with enough detail that you can come back a year later and understand what's going on.
Yeah. Christmas was a has been a good lesson on that one. Yeah, I mean, I don't have a quick contrast answer in terms of exactly what to do. But there's always, always going to be an element of always staying friendly to each other. We're always we are helping each other ultimately. So. Yeah, I mean, there are levels of templates. But again, like I say, is as long as they're as easy to use as possible, because other times you've got things where you have to delete a load of bits or work out where to put them in. I mean, I think sites like GitHub have made quite a few improvements now where you can actually structure things much more cleanly, so you can actually ask for key bits of data. And the user doesn't have to wade through loads of text in order to work our way to insert the bits of detail that they need to.
Pj Metz 40:12
Like it, and that fine line of, you know, like Brandon said, it's not just, here's the bug, you guys need to fix it. But what you want from people is to say, Hey, I noticed that this bug led me to these lines. And I got to be honest, this is where I think it's happening. But I've hit a wall, and then it allows for discussion afterward. And that's the beauty of, of GitHub and get lab as well not to toot my own horn. But there's a sense of collaboration that's necessary in order to fix these problems, and you need to be ready for that collaboration. I'm an open source maintainer, who's standoffish and unfriendly or overly protective, is going to drive people away. And then they're going to be like, Well, why don't I have anyone contributing, it's like, well, maybe check how you're addressing people. But you also don't want to be walked on either. As a maintainer, you don't want people just complaining at you all the time. Because it's really easy to say, oh, it's open source, it's free. And you're gonna have tons of people who are just using it, not contributing, not helping, and that's fine, because that's why you put it out there. But using it for free, and then complaining and not offering the help is antithetical to the sort of open source community ideals. Really,
Shaun Lawrence 41:30
yeah. And then there is, again, there's that balance as well, where that last part that you mentioned, then starts to feed the maintainers having a bad experience, and then
Pj Metz 41:40
you're losing maintainers. Now.
Brandon Minnick 41:45
Yeah, and, you know, I was talking earlier about being selfish, you know, selfishly, when I hit a bug in a library, and either it doesn't work the way I expected it to, or worse, like, everything's just crashing, and there's no errors or anything helpful. I want that fixed. And so that was something I, I kind of learned early on was when when I report bugs that I can't figure out how to fix because I don't know the code well enough. But I really need the maintainers to fix, make those bug reports as helpful as detailed as possible. My, my go to now is always remit, I'll always make a reproduction. So spin up a little open source repo that has just the little bits of code that are causing the problems, or at least, is narrowed down as far as I think I can answer. So I can just be like, hey, go to this repo, run the app, click this button, you'll see it happen. And that's something I found is super helpful to get these bugs fixed. Because if it's, Hey, every time you click this button, the apps gonna crash. And it looks like the errors here, but I'm not sure how to fix it, then that gives the maintainer something to run with. And you can be selfish to get that bug that you need fix fixed in instead of having to necessarily understand all of the code and fix it yourself. Because that's, that's a whole nother day job in itself is learning somebody else's repo their architecture, there's, yeah.
Shaun Lawrence 43:32
There's a level of not being selfish that there isn't, because you are going to levels of making someone's life easier. I know. There's still the demand of you can't fix it. So you're asking someone else to fix it. But you are still providing some level of as much effort as you can. Like you're saying, Yeah, I can't understand the part of the problem.
Brandon Minnick 43:49
Yeah, have you been I've opened bugs and heck created these reproduction samples where I, yes, the sample reproduced it but I was just way off. Like, the the code that I thought was the problem was not the problem. It was something over here. And I was just so glad that I didn't try to fix the code. If I open a pull request it, it probably would have worked, but that wasn't the root cause. And yeah, just put a bit a little bandaid on top.
Pj Metz 44:22
Oh, it's always got to be careful about like, what do you know enough to do the PR, you know, do you not know enough and really knowing where you're at with the code base is really important. We're gonna take a quick little break, guys, we're gonna have some, some ad time here. One second. We'll be back in just just just a little bit. I if you're hearing my voice, that means you've been listening to or watching eight bits with Brandon and PJ, and we're here to talk to you about your product and how it can help you in your life. Bye to do whatever your product does. So if you're an avid listener of the show, or you watch us on Twitch, then you will know that your product, your product is right for you.
I'm so glad I remembered not to wear the same shirt that I wear in that ad. And I gotta admit my teeth look, white is hacking that ad I need to I need to check what settings I have on that. Guys, if you want to be advertised here on eight bids for our dozens of listeners, and in the future. Surely 1000s of listeners and people who partake in us, all you have to do is send us an email at Hello at a pitstop TV, and we'd be happy to talk to you about promotional consideration. Heck, if you just want to send us some free stuff Mountain Dew, I'm looking at you as I have been for the past 220 days on Twitter. If you just want to send us stuff and have us talk about it. Just just email us we are this is capitalism, baby, we're here for it.
I'm nothing. There's no way to segue out of that is capitalism, baby.
Brandon Minnick 46:17
That's to say you should get a super abort search, maybe, you know
Pj Metz 46:23
if the price is right $7 Give us $7. And we will mention you on time email@example.com MLS we look forward to hearing from y'all. Let's bring it let's bring it back. What's next? A natural flow of conversation surely comes off of that intrusive ad break.
Brandon Minnick 46:45
Absolutely. And you know, something we haven't talked about yet, Shawn. We We love getting to know the people behind the tech. But we've been talking about and sharing our experience with open source, because we love helping the community. And something else that's big and helping the community is helping people just get into tech. And I know we've we've chatted about this before, but what what is your advice for somebody who maybe is looking around and going Ah, well, I love to do this, but I don't know where to start?
Shaun Lawrence 47:19
Yeah. Okay. So I'm actually going through this process at the moment with a couple of people. I mean, it varies, ultimately, depending on exactly what you're trying to do. But we typically come back to quite a few common concepts. And it's I mean, maybe open source is a good way to start. Ultimately, it's getting exposure to something. If you know that you want to start programming, then maybe switch consults, focus on what it is that you want to achieve. For example, a mentee I've got at the moment. I mean, he's been given some fairly specific requirements, he wants to do some Xamarin based work in terms of potential trying to get a job. So trying to focus on maybe setting some key goals and how you actually go about achieving what it is that he wants to do. But then we always get back to these kind of these fundamentals of never being afraid to ask questions. It's always good to try. So it's good. Actually, there's a quote from my daughter's book that I was going to mention, because she read it to us the other day, asking for help is not giving up. It's refusing to give up.
Pj Metz 48:32
Yes, yes. Oh, my gosh. I told you, I was gonna find a natural place for that reggae horn does that that idea and that concept of, there's so many people who believe that admitting that you need help with something means that you are admitting that you're incapable of doing it, when no one is an island unto themselves. Even even when you are thinking about someone who works in a house did all the coding themselves made this app didn't No one helped them. At some point in their life, there was someone who provided something that gave them the environment in which to be able to do that. Literally, like no one is building their own house or sourcing their own lumber, or building their own concrete or, like you don't do every single step. So in small things when we're talking about, I don't know where to go next. The mere act of asking means you're looking to move forward. And that's absolute. That's one of the best quotes I've ever heard. Look for it in my next talk. That's so good. Thank you, Sean. Look, is that from your daughter wrote a book.
Shaun Lawrence 49:44
Oh, wow. No. The boy the old fox and the horse.
Pj Metz 49:49
Yes. I love it. It's fantastic.
Shaun Lawrence 49:54
start realizing Yes. I mean, like he says, um, you We're acknowledging that you don't understand something and you'll want you want to know the answer. But you don't have the answer. And it's just trying to get to the bottom of that might be Google, that might be someone that you're working with. I mean, I was very fortunate. I know, my first role is that I asked lots of questions because I wanted to be able to do a good job. And there was lots I didn't know, I was fresh out of uni. So I was just very lucky in order to be able to have the people that were willing to answer my question, and not tell me to shut up.
Pj Metz 50:32
Listen, everyone out there that's got junior developers on their team that knows people right out of college right out of boot camp right out of being self taught, community taught, whatever it is, those people are usually very eager to get in to wherever they are. It's rare that someone gets hired at a company starts at a temp job, starts at a starts working with open source like shows up, it says, Hey, I've got this, this pull request this merge requests, and I was wondering if this would work. If they're doing that, that means they're looking to do more. And so fostering that, and creating an environment where they feel comfortable doing that is what makes them level up and get better. And then they can turn around and bring even more people with them and make it better for others. So it's absolutely a willingness to ask questions, and a willingness on the answer giver, to provide the right context to help is amazing. Brandon said that I built this twitter bot for eight bits. But he really laid out exactly what I needed to do in order to pull the information we needed for the tournament. So yeah, I went and wrote the code, but he pointed me in exactly right. And literally, I think even like said, Hey, here's the StackOverflow answer that I think helps. So he was pointing me in the right direction, because I am newer at this, I have been doing this for less than a year at this point. So it's, it's important to one if you're new, like you said, Shawn, be willing to ask questions, too, if you're old. Well, if you're experienced, be willing to give those answers and guide people in the right direction. Exactly, yeah.
Brandon Minnick 52:16
And I'll say, Yeah, somebody on the other side of that, when, when a junior developer joins the team or joins a community, we, we have expectations around what you know, and what you don't know. So you don't have to pretend like you know, everything. Because when somebody comes out of university, or somebody comes out of a boot camp, enough of us have worked with folks with that background with that experience. Or maybe you've done that ourselves, where we know what they teach you and also what they don't. And so it's, it's okay. If, if you if you knock our socks off, and you know, everything truly that that's amazing, great for you. But yeah, whenever I'm chatting with somebody who, maybe yeah, they just got their first job. It's like, okay, well, have you heard of this? Yeah, always start with, like, oh, we should talk about that. Have you ever heard of this? Whereas if somebody has been working as a developer for 1020 years, then we can probably assume there's some more knowledge there. We can skip those intro level concepts, but yeah, yeah, there's, there's nothing to be ashamed of, you know, I, I look back at what I learned in, in university, and gosh, I mean, the, the, the amount I apply every day, of what I got a degree in computer hardware engineering, super, super small, like the day to day stuff, just like writing open source code. And yeah, working with communities. Like that's not taught in university. At least it wasn't taught in my classes. So yeah, ask us questions. We're here to help. But speaking of that, John sounds like you're you're helping this person try to get their new job. So what what is that advice you you give them to kind of get into a new tech job
Shaun Lawrence 54:25
so um, I mean, the chats basically what we've had typically, the people asking for help, typically, they know that what they're looking for so they know they want to learn it's always a case of working on what it is that they want to focus on. Maybe there might be errors if a weaker in in terms of what if they go to an interview to to have these that go through whatever line of questioning in order to get wrong. I always try to read Again, like I said, as the not being afraid to ask questions, but then, again, in terms of interviews, there's never a case of if someone says, Have you heard of this, like you, you just mentioned, if you haven't, it's much better to admit, understand your limitations. because others are there, they're not there to poke you too much and actually make you feel like you don't know things. I know, interviews are, they're always quite a nerve wracking experience. But people are there to kind of judge you as a judge that sideways.
Pj Metz 55:36
They're trying to understand you
Shaun Lawrence 55:37
understand? Yes, understand your willingness to be part of a team, and how you could grow in terms of in the company, not how you're going to fit in and just magically fix everything. So typically, it's usually a case of being able to accept what it is that you know, and what you don't know. And then understand how we can maybe move forward to, to get into what you know. And then the concept of maybe trying to focus on how we learn things comes in and becomes a much bigger philosophical
Pj Metz 56:11
view most, I'd argue most jobs are more interested and how well you can do with learning a new concept, then you are with what you already know, because every single job is going to be giving you something you've never done before. I have friends who were mechanical engineers, aerospace engineers, teachers, dance instructors, theater majors, every single person that goes through college will tell you, their first job out of college, if it's related to their major was very different from what they learned in the classroom, not a single career out there that involves a degree is going to be the same as what you learned in the classroom, US there's so much to learn. And every job wants to know that you're willing to learn. And you're only willing to learn if you can admit what you do and don't know at first,
Shaun Lawrence 56:59
yeah. And then there's also the level of when you don't know so much, trying to focus all of the effort on learning all of it, you're just going to become overwhelmed as well. So actually trying to just focus on some key details, and then slowly grow, I know, maybe feels a bit more frustrating in terms of your progress. Because there is so much to try and pick up. But if you can start to piece it together in smaller chunks, it becomes much easier to digest. And not not overworking. Because obviously, the more tight we get we end up learning less or becoming far less efficient.
Pj Metz 57:35
Oh, yeah. Yeah, to take those breaks.
Brandon Minnick 57:38
I love that advice, Shawn. Because I know when I was trying to first land my first job out of college, I, I was doing the opposite of what you just advise. I was trying to just pretend like I knew everything, pretend like I had learned everything. So for example, I would just go down job boards, like, oh, they want somebody who knows Python. And then I would go learn how to do hello world and Python and be like, Yep, I know Python now. And looking back on that. That's such a bad idea. Because had they actually hired me. I would have not only like, job and do the roles, but I'd also have to, like learn Python, and then I'd be in that position. It's like, Well, I kind of lied on my resume and said I knew Python. Hey, guess I got that.
Pj Metz 58:31
So when you said Python, I when I was like 12 I had a pet snake. And that's what I meant. I'm sorry.
Brandon Minnick 58:41
So yeah, thank you so much for advice yet, don't feel like you have to learn everything, learn one thing, and then build on top of that. I love that advice. Shawn, we only have a minute left. And it's been such a good time having you on the show. We'd love to have you back if you're available for another session. But for the folks out there who want to stay in touch with you where where can they find you on the internet?
Shaun Lawrence 59:06
So I guess the best place would be Twitter. My username is confusing at Edgington big I MGT O M. Serve myself. Thank you very much for having me. It's been a pleasure to be on.
Brandon Minnick 59:20
Again, thanks so much for joining us, Sean. And for you listening out there. Thank you. Please do subscribe. Leave us a comment. Let us know what you think. We love having you join us and we love growing this community together with you. But with that being said we'll see you at the next episode which will air later this month.