All Episodes

January 15, 2022 • 60 mins

In this episode of 8 Bits we are joined by Senior Software Shaun Lawrence!

Learn more @ https://8bits.tv

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Brandon Minnick (02:03):
Hello, and welcome back, everybody. Happy
New Year to a new episode ofapex. I am your host Brandon
with Brandon Minnick. And withme as always is PJ Metz. PJ, how
is how is your week? How wasyour break? We're recording this
just after the the Decemberholidays. How you been?

Pj Metz (02:24):
It is January 4, and I'm feeling great. Can I say
your audio sounds real good. Andthese are not new headphones.
But it sounds careerist. I don'tknow what you did. If you just
maybe just today, you got a realradio voice today. And I've got
a real radio face today, y'all.
I'm glad. I'm glad. But ifyou're watching on the live

(02:45):
stream, I apologize for all ofthis. I'm doing greatest January
4. We officially are beyond likethe three days like you can't
say Happy New Year to anyoneanymore. Three days is fine.
Fourth day, we're good.

Brandon Minnick (02:59):
We're on the second when people were telling
me Happy New Years. We we wenton a hike we took our dog out.
Oh big news, we finally bought acar. We haven't cut that. We
haven't owned a car in sixyears. And five years of that
was living in San Francisco,where you really don't need one.

(03:22):
There's plenty of public transitis if you're living in the city,
you can get around most placesjust fine. We moved to Napa
about a year ago and stilldidn't have a car for a year
which was a little harder butstill doable. We kind of formed
our life around this 123 milebubble around our house. So like

(03:43):
my doctor, our grocery store,it's all walking but yeah, we
got a new car over the break sowe're able to take the dog out
to a couple times over and go onhike. And yeah, we're out there
a couple folks are passing onthe trails we're like happy to
hear and hello hi.

Pj Metz (04:04):
I will say the new year is important in Korea I live in
Korea for a little bit NewYear's important in Korea
because I'm a year older January1 Korean ages one when you're
born as the next year comesalong, you're two years old so
everyone born in the same yearas the same age. So new year
comes and you say like happy newyear I would say it for like a

(04:25):
month after it was my like go toreading in Korea and I'd be like
say about my bottle sale whichmeans like Happy New Year. And
like I would drop that as I waslike leaving stores I'd say it
to my boss and it was I mighthave been wrong in Korea. We're
doing it that way. I'm a giant,giant white looking dude like

(04:46):
I'm gonna I'm gonna mess up somestuff. I'm real sorry, but like,
New Year. It's great. You got anew car. I got a bike and a
Nintendo Switch. I'm notChristmas gifts. I bought those
for myself. My wife was like,what? Am I gonna get you for
Christmas? I was like, just giveme a hug and say that the switch
was from you. It's okay. Yeah,

Brandon Minnick (05:06):
don't worry.
I'm on it.

Pj Metz (05:08):
It's all good. It's all good. Oh, man, Brandon, tell
tell us. Like, what's what'shappening today, like today's
pretty good day. What'shappening with us here at eight
bits? I'm noticing a new logo ontop of you.

Brandon Minnick (05:22):
Yeah, new New Year New Look, you'll you'll
probably notice we have a newintro song. For Odyssey, that's
our last one kept getting usdemonetized we had the copyright
for it. YouTube was like, No,you don't. So yeah, we got some
new intro outro music and we'realso switching to a new

(05:43):
schedule. So you can stillfollow us live, we're still
gonna record these live at thesame time. But the biggest
difference is we are going toscale 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

(06:05):
do now is release our episodestwice a month. So subscribe to
the podcast, subscribe to theYouTube channel, you'll still be
notified, you'll still see himpop up. But they'll appear twice
a month instead of once everyweek. And our live streams will
still be available. So you canstill come chat and hang out
with us as well. But we decidedthat it's probably better if we

(06:26):
can record a couple of these maybuild up a buffer. Some of you
know I was in Europe for threeweeks last last year towards the
end of last year. And we had torecord episodes. So I was live
streaming from where I was I wasin Prague and then I was in
Oslo. And yeah, who knows whatthe hotel Wi Fi is gonna be like

(06:47):
little things like that kind ofthrow a wrench into, hey, let's
do this every week live at thesame time. So we're still gonna,
we're still gonna film it live.
But we're gonna actually buildup some backlogs of episodes. So
you know, if we go.

Pj Metz (07:05):
Like, it'll be like, Oh, we don't have to worry about
getting a substitute host or aguest house because we've just
got an episode to release. We'regood. We're

Brandon Minnick (07:13):
good. Right?
It's like all the behind thescenes stuff. Like, yeah, so for
those of you don't know. Yeah,our episode a couple weeks ago,
where I was in Prague soundedlike I was on the moon in terms
of audio delays. And so our nextepisode, we're still going to be
out of town. And we went throughall the effort of queuing up a

(07:34):
guest co host, Dr. G, who is onthe show a couple weeks ago,
graciously volunteered. And youknow, we were testing out the
hotel Wi Fi after I landed at10pm. And it was a lot so much,
honestly. But probably mostimportantly, he just got a new

(07:54):
soundboard.

Pj Metz (08:02):
This is all I said, here's why I'm excited. So I
have a stream deck. It's aseries of buttons and like it's
it's on a short cord, so I can'tpull it up to the camera right
now. But I had set up all thesesound boards before all these
buttons, I was so excited. And Icould never find out how to get
my Mac to share sound throughwhat we're using, which is
restream I can never make itwork but like now

(08:29):
I got so excited. Chloe's gonnabe happy about that one call.
We'll be real happy about thatone. That's a Rupal sound. But
yeah, the soundboard is reallyexciting. And we have to have a
soundboard because it's way moreexciting to bring in a guest
with a good sound. Way moreexciting.

Brandon Minnick (08:51):
Speaking of which, we have a pretty cool
guest this week. Our guest thisweek is somebody who I actually
met pretty recently, but he'snow and I was thinking like
this, I don't know the term isfor if you are both open source
maintainer or both maintainerson open source project. As I was

(09:12):
thinking I was like, do Iaddress Shawn as a as a co
worker as a as a co open sourcemaintainer,

Pj Metz (09:19):
maintain.

Brandon Minnick (09:22):
But that being said, we have awesome guest who
does a ton of open source. He'sgot his own consulting companies
got apps in the App Store. He'sgot beautiful websites. So
without further ado, SeanLourdes Welcome to the show.
Hey, everybody. I was worried. Amillion times better. I love it.

(09:52):
Yeah, that's right morning hostradio DJs

Pj Metz (09:57):
Welcome to K 93 s Oh, John,

Brandon Minnick (10:05):
thank you so much for joining this week. For
those who don't know you, whoare 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'vebeen around for one and a half
decades now in terms of actualdevelopment. I've only really
recently started to understandthe value of the community and
open source and actually, well,maybe the software industry,
I've been a consumer of opensource more than actually

(10:32):
providing value back. And morerecent events have actually
driven me to wanting to be ableto give back. And I guess that's
how things have come around. Andobviously, as you mentioned, I'm
now helping out on the sermon inMaui community toolkits to be
able to keep those up. Yes, soI'm on top of that, I primarily

(10:56):
work with Xamarin based workapps or development. And we
recently shipped an app to theApp Store, we've got the game
with Xamarin Forms, being ableto try and see how we could push
the tech.

Brandon Minnick (11:10):
That's right.
And we'll, we'll talk aboutSuper word search later in the
show. Absolutely. It is a anamazing app that encourage
everybody to go check out. But,John, I'd like to start by going
going way back is part of thepart of eight bits. We like
having people on the show whowork in tech, not necessarily to
talk about tech, but talk aboutthe person behind the tech. And

(11:34):
so what we love to start with islet's go way back. How did you
get started? Did you pick upcoding as a kid? When did this
come around? And how did you endup falling in love with it?

Shaun Lawrence (11:50):
I that I guess the point when I actually fell
in love would have probably beenour GCSE is here. So that would
be 1516. That's when I've gotsome actual exposure in terms of
some technology and being ableto put some input into a
computer and see what that wouldthen translate into. Prior to

(12:13):
that, I actually wanted to be achef. It's quite a different
approach. But having done workexperience in that kind of
field, it was a much moregrueling in terms of drawer to
get out of it. So yeah, I'mstill enjoy the cooking part as
a hobby. But the, I guess, theexposure, I got the school and

(12:39):
then that then drove me tochoose 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 talkabout building apps and building
dishes. And there's, I'm surethere's a great metaphor in
there somewhere that a skilledwriter can bring out. But
unfortunately, I'm not a skilledwriter. So, but that's pretty
cool. So did you like hold on tothat Chef dream for a while

(13:09):
you're like, Oh, I do computerstuff is fine. But I really
can't wait to open my ownrestaurant, or did did you kind
of immediately turn and just gofull in on developing and code.
I

Shaun Lawrence (13:22):
mean, it was probably growing up, my
grandparents ran a bakery. So Ispent a lot of time there. And I
think that was probably part ofthe inspiration. And then
ultimately, as I started tolearn who I was, and the person
wants to become, that's when Iguess I got the exposure to
other things. And that became itICT in what we were learning and

(13:46):
that that felt like the rightfit for me still enjoy. I mean,
like you say, the cooking side,or you've got a level of getting
some exposure to the creativityside. But then there's also
quite a methodical approach tosome parts of it quite a lot of
it is repetition. So some of itis quite quite a good fit. And I

(14:07):
can't think of a very goodmetaphor, 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 lotof 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 thatlevel of preparation is very
similar. And like you weresaying a minute ago, where it's
it's a lot of repetition. Andthat's what I found when I first
started coding. Or actually, notwhen I first started coding, but

(14:52):
when I first got into opensource, one of my goals was I
want to have an open sourcecontribution every day so that
would When you go on GitHub andyou see those little green tiles
about tracking yourcontributions, whether it's
writing code, reviewing code,opening up issues, I wanted to
have at least a green dot everyday, whether it was my open

(15:15):
source project or somebodyelse's open source project. And
that was probably the one of thebiggest things has helped me.
Because when you, when you're init every day, everything becomes
a lot more familiar, a loteasier. And with coding in
general, you see the same thingsa lot. You know, we were talking
about removing eight bits to twoepisodes a month, and chat with

(15:40):
PJ before the show, PJ built atwitter bot, so we can tweet out
with the episodes go live, sincewe'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 waslike, what happens in February?
Because there's only 28 or 29days on a leaf year. And that
was just purely because I'vemade that mistake before. And so

(16:03):
that that experience thatrepetition, seeing things before
that you can apply elsewhere.
Very, very similar in or I gottaassume, 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 atall. Trust me, I ruined the
steak the other day, and I'vemade my life ruined. I was I
even like, I've got thistechnique I found online. You
It's reverse searing? You don'tsee it at first. Yeah, after,

(16:41):
right? I was like, Yes, this isperfect. It looks gorgeous. And
I stuck a thermometer in it. Andit was like this steak is 70
degrees inside Fahrenheit. And Iwas like, no, wait, how did I?
How did I mess this up? It wasvery upsetting.

Brandon Minnick (16:56):
And for the listeners at home, don't eat
meat that's only 70 degreesFahrenheit,

Pj Metz (17:00):
I said no. 140 degrees is rare. So like I was, I was
halfway to where I needed toget.

Brandon Minnick (17:10):
So welcome back to the eight bits cooking show.
That's right. So Shawn, youmentioned you, you got into
coding around 1516 years of age.
And I know I mean, I grew up inthe states, if you couldn't tell
by my accent. And I didn't haveany programming classes in high

(17:31):
school, like I personally didn'twrite my first line of code till
I got to college. And it waslike, I want to study computers,
and finally got to study them.
So I'm curious, how does howdoes that work in the UK? Or
maybe is specific to yourschool? Do they have programs
that teach that to 1516 yearolds?

Shaun Lawrence (17:53):
Now, I don't know. I would hope that
opportunities are coming morefrequently. So hopefully, there
will be more exposure there. Iwouldn't say I necessarily got
that much exposure to it. Ithink we're using acorn machines
at the moment. So there wasfairly limited amounts of things
that you could do. One of thethings, just performing mail

(18:18):
merging across, so you take thedata and stick it into documents
to send out. But at the sametime, the college that I was at,
they recently invested in actualWindows PCs. And it was actually
starting to use those. I thinkthere was some complicated or
not complicated, like kind oftext based games that they kind

(18:41):
of give me a bit of exposure toto kind of get to grips with
some of that kind of tech. Andthen, in terms that I don't
think there's necessarily anyexplicit coding practices, that
certainly came probably moretowards a levels. That's
16 1718. Yeah.

Brandon Minnick (19:03):
That's awesome.
Yeah. I mean, I, I've alwaysfelt that everybody should, like
you don't have to become adeveloper programmer. But
everybody should at least writesome code, just to understand
how it works. Because the worldwe live in, everything's online,
everything's on the internet,web pages, mobile apps, you name

(19:23):
it. Computers, run our livesaround the world. And it's still
surprising to me. Just how somepeople react when, say, a
website doesn't load properly,or the internet isn't working.
And it's like, how, how did youthink that works? Because when I

(19:45):
watch them, try to like debug WiFi, for example. Like, do you
know what's going on here andthat's so common in all of our
lives. You know, I'm not sayinglike, we all need to be at the
level of being able to programour own software or create our
own routers. But yeah, justknowing how J traffic works will

(20:09):
be really helpful for when theWi 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 canactually 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 youcurious how that works? Or, or
like, I'll fix something youshould 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 connectsto this part. And it looks like
this gear moved. And so I justtook a guess.

Pj Metz (20:46):
I still think 10 does.
So I pull cords out and justblow 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 slotsunderneath the Wi Fi. And a lot
of people think it's fordisplacing heat. No, that's
where you blow. You just goacross it. And it's perfect. And
it works every time. It doesn'twork. Don't do that. This is bad
advice. I'm leaving my role as agoober and like a nerd. And like

(21:19):
the I'm the goofy guy on thispodcast. So did you try
unplugging the Wi Fi and blowingon it? That's right. Wi Fi works
better when there's a breeze. Itblows the signal closer

Brandon Minnick (21:38):
to you. Man, so, so. So take continuous on
your under journey. Shawn, youmentioned in picking up coding?
We would call it High School inthe US for 1516. Then Then what?
Did you go off to college?

Shaun Lawrence (21:58):
Yes, yes, sir.
So it's college. Studiedcomputing, electronics, and
physics are really all kind ofinterrelated. And, surprisingly,
computing was the thing. I wasworse that in terms of grades,
but the thing that I enjoyed themost. So that's kind of where I
set my heart on and ultimatelytook out across the university.

Pj Metz (22:24):
It's great. It's interesting that physics was
included there. And I think thatwhen you look at a lot of about
what year was the Shawn, if youdo

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 timewhen I remember in my house, you
would, when we would go out andlook at electronics, you would
see computers with stickers onit that said, internet always on
and it was like a brand newthing that the internet was

(22:58):
permanently connected, youdidn't have to dial up anymore.
So it's not quite the earlydays, but it's also not quite
the ubiquitous area of our livesthat it is now. And even just by
2005, I think Facebook was inevery college preparing to be
for every person if they wantedit. So it makes sense that

(23:19):
computing would have been sortof like, connected to these
other sort of majors and theseother focuses. So physics
computing, it sort of makessense that those went together.
Um, would you take you take usout of college now, like, you
studied college, you're studyingcomputers? 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 yourinterest in cuz you said it
computers was the thing thatinterest you most, even though
you said those were your worstgrades?

Shaun Lawrence (23:58):
Yes. Okay. Um, so it was actually I mean, I
think at that time, I've gotsome exposure to for the level
of Java. And then when we got toactually writing an assignment
as part of the final year, wewere given kind of free rein and
what we wanted to do so at thetime, I tried to focus on again

(24:19):
mentioned on the bakingbusiness, try and write
something that could helpsomeone. And it's that the kind
of the reward that you got, youget to see that you can actually
build something and it actuallyhelps others. That was where I
felt I could probably make thebiggest amount of difference.

Pj Metz (24:37):
Brandon, you've said that before, too, that a lot of
times it's when you realize thatyou can create something that
has some kind of benefit. That'swhat's that's, that's what tends
to be the hook that keeps peoplein programming and coding.

Brandon Minnick (24:50):
Yeah, and it's funny I I think I started being
or started out, more selfishthan 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'mgonna make it. And yeah, if
other people want to use itgreat, but let's be honest, I'm

(25:12):
making this for me because Iwish it existed. Yeah. But yeah,
and then that'll that for atleast for me, it's snowballed
into Oh, wow, like people areusing this or people are
depending on this or otherpeople are jumping in and
contributing to this. And thenit becomes more than just about

(25:34):
yourself becomes more than justabout the code, like Shawn was
saying earlier becomes thiscommunity. And I think that's,
that's really what hooked meinto into open source was, it is
definitely made me a betterdeveloper. Because I get to do
stuff play around with like, allthe latest goodies like I just,

(25:56):
I just made my first sourcegenerator in C Sharp. And for
those of you who've never heardof that, which even if you're a
C sharp developer, you probablynever 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'sear off because she was the only

(26:18):
one in the room. I got finishedwith that. I was like, I am
really proud of this. And she'slike, okay, no, honey, that's
nice. Like, no, no, you don'tunderstand. Like, I just wrote
code that writes code. Not manypeople 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 justmake 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 ofa new thing in C Sharp, where
you can always write code thatexecutes while your apps running
by kind of doing what I wouldcall introspection, we call it
reflection and C sharp, whereyou just kind of, you can look
around at the code that'srunning, and then kind of tweak

(27:12):
it, edit it, add some things.
But that's really slow, slow interms of computing time. So the
CPU takes a lot of cycles to dothat. It's really not
recommended, like, you shouldavoid reflection as a C sharp
developer. So they came out withthis thing, these things called
Source generators, which, as youwrite the code, or as somebody

(27:36):
who consumes your library writestheir code. This will execute in
the background. So instead ofdoing it at runtime, where you
know, if you're running a mobileapp, phones still aren't as
powerful, or getting prettyclose as laptops. And you don't
want to slow your app down. Sowhy not? Let's generate this
code as we're writing it, thenthat code was compiled or run as

(27:59):
if the user wrote it. And so youget some benefits out of it. And
it's really starting to takeoff, but, man, it's a weird way
of thinking. Because you're, youhave to basically walk through
code that you don't know what'sthere, what exists, and then
also write code and handle allthese different use cases. But

(28:21):
hopefully, we got to work itI've got a pull request open on
the on the dotnet Matic mediatoolkit 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 hadtrouble writing or a twitter
bot. So you know, some thingsare way complicated for you. And
some things are way complicatedfor me, but I did get the tweet
about working this morning.
You're welcome. World nicepretty 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 anemail address for the show Hello
at a pitstop TV. So if you wantyou can reach out, if you want
to join the show or sponsor theshow, you can reach us at Hello
at eight bits. But what thatalso means is PJ and I see all
the emails that come in, and Ikept seeing emails from Twitter

(29:14):
to PJ, as he's working on thistwitter bot. Because they're
like, Hmm, we don't really trustthat 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 atweet about Texas and it replied
with some non sequitur aboutpolitics. And I was like, Get
out of here bot like what areyou 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 waslike Twitter. I'm not the

(29:45):
problem here. Come on. Likethey're like four back and forth
on those emails. It would mademe crazy. But anyway, we got it
working.

Brandon Minnick (29:56):
Oh, all sorts of crazy challenges. So So shot
You mentioned this this appyou're working on. Tell. Tell us
more about this.

Pj Metz (30:06):
The the word search

Shaun Lawrence (30:10):
was a super word search. Okay. Yes. So now this
this, this app itself wasactually dreamed up many years
ago. We'd originally built it Ican't remember fully how many
years ago. But the Cobras inObjective C, just tried to
target against iOS, going aboutit much earlier in my career and

(30:34):
kind of made a mess of it andgot to the point where kind of
life got in the way and we neveractually 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 computerscreen, why don't we try and do
something, see if we can achievesomething. And so we started, I

(30:55):
think, in February last year,and took on the originally we
open the Objective C code andsee if we couldn't even compile
that X code was having a bit ofa meltdown in terms of all of
the errors it was reporting,rather than digging with it, we
go for a fresh start. So we saidwell, let's see if we can

(31:15):
achieve the more complex partsthat we struggled with to start
with, push that across toXamarin. And that's that's kind
of started my journey in termsof actually really realizing
actually how much value therewas within certainly within the
Xamarin community. To the pointthat, I think we I mean, we end

(31:38):
up building the app, and maybefive months from prototype to
being able to store no end ofgreat numbers in terms of how
much code we've actually writtenin terms of platform specific, I
think there's there's alwaysthis advert, you can share as
much as you possibly can. Ithink we've got 98% in terms of

(31:59):
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 theplatforms. So we had to write
that's mostly to get aroundslight odd bits of behavior,
rather than actually writingspecific stuff. Yeah. And
that's, that's all, that's alldown to the community. I mean,
you look at like the number ofpackages that are out there that
have achieved things for usbeing able to render really

(32:26):
fancy animations smoothly. Sothere's a lot in terms of that
through to all of the kind ofthe custom rendering Ischia and
macrocytic. It obviously,there's a there's effort
involved in terms of piecingthat together, but the amount of
functionality that was therereally was impressive.

Pj Metz (32:49):
So it's good, always good. Here it is super word
search. And if you're listeningon the podcast, we're looking at
the website. Brandon was talkingabout 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 informationdown here, do under right here,
the acknowledgments of the opensource libraries and what you're

(33:13):
using, which I think is reallycool 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 outto them. In terms of licensing
anyway, but we had to wait. Butto the point, I mean, when we
start to look at this, my firstcontribution to an open source

(33:44):
project that wasn't my own was Ibelieve that there's our
community toolkit. There was atiny little feature that I added
in. But having such a pleasantexperience with the people that
maintained it. A year later, I'mnow hoping to maintain it. Yeah,
how friendly? A lot of thepeople are. There's been plenty

(34:06):
of discussions in terms of Imean, actually, I mean, you look
at the look, for instance, a fewmonths 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 tobe able to give back and to try
and continue giving back to beable to support everyone.

Brandon Minnick (34:27):
Yeah, and l says, As a fellow maintainer of
Sandra community toolkit, andnow the Donna Maui community
toolkit. I know I found for mepersonally, as an open source
maintainer, Sean, like you weresaying, there could be a lot of
demand put on you. But somethingI've learned and something I'm

(34:47):
trying to build in now that wehave this new repo for the data,
how you committee toolkit issetting those expectations. You
know, this, the these two opensource projects, they're very
much community driven. We justkind of we hold the reins, but

(35:08):
we're not necessarily the oneswriting all the code. And trying
to get that. Get that across ina way that's not like, ah,
because you can sound like areal jerk just like, hey,
everybody out there, right writecode 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 gonnasay it's my toolkit. Yeah,
exactly. That's not what'shappening now.

Brandon Minnick (35:37):
Yeah, and don't get me wrong. Yeah, if you look
at the contributors, themaintainers are also the top
contributors, which is also howyou can become a top or become a
maintainer if you contributeenough them, like, just have you
joined the team. But uh, butyeah, setting this expectation
setting process flows. I know,battle, we were always fighting

(35:59):
in the Xamarin communitytoolkit. And I saw the same
thing on pretty much every opensource library, but specifically
Xamarin Xamarin Forms is, folkswould almost treat it like, like
a wish list, like open up inissue. That's not necessarily
well, maybe there is a bug, butsaying something like, Hey,

(36:19):
there's a bug, fix it. And as amaintainer, 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. Youknow, obviously, we didn't code
the bugs on purpose. So you gotto tell us?

Pj Metz (36:37):
Seven out.

Brandon Minnick (36:41):
And so yeah, with the American utopia, that's
been one of my focuses is, we'veset up this, this process is
workflow using the tools thatare available to us in GitHub.
So things like, let's have adiscussion about this first,
like, let's have basically anopen forum, talk about the
feature you want. Or when you goto report a bug, we have issues

(37:05):
and templates, and a Shawn'sbeen really instrumental in
that. Because these templatesbasically define what you have
to tell us like what we need toknow. So shot them. I'm curious,
when, when you're working onthese, say Open Source
templates, processes in general,what's kind of your focus to

(37:28):
make sure that you don't getoverwhelmed or by the community,
or you don't get, I would say,low effort, because honestly,
anybody who reports a bug isgoing out of their way to let
you know, they didn't have to dothat. So thank you to them, but
also on the side of themaintainer. So we need that we
need a little help, too. Soyeah, Shawn, I'm curious, how do

(37:50):
you balance that in, in yourrepos, your apps, or just your
life as a consumer of opensource libraries.

Shaun Lawrence (38:01):
So um, I mean, in terms of an open source
project that I've run for a fewyears, it's kind of ticked over
steadily. So actually, there'snot been too much demand in
terms of that. And anyone that'sbeen involved, I think, I mean,
there's always this fine balanceisn't there between asking too
much for someone that they'renot going to bother reporting
at, they'll just go off and findsomething else. And then also

(38:26):
getting enough information outto people. So I've tried to put
enough down that I might getenough information. And usually
try to structure it that thebits that you care about most
are at the start. So even ifthey get bored towards the end,
you could possibly work aroundthat. As long as you've got some
of the key details. There'salways challenges whether you're

(38:47):
going to get enough information.
Because I suffered from soproblem points when we try to
explain something. We know whatwe're talking about, because the
context is in our heads. Andit's learning that person of
actually trying to translatethat across to someone else. Or
even yourself, if you can writeit down with enough detail that
you can come back a year laterand understand what's going on.

(39:13):
Yeah. Christmas was a has been agood lesson on that one. Yeah, I
mean, I don't have a quickcontrast answer in terms of
exactly what to do. But there'salways, always going to be an
element of always stayingfriendly to each other. We're
always we are helping each otherultimately. So. Yeah, I mean,

(39:40):
there are levels of templates.
But again, like I say, is aslong as they're as easy to use
as possible, because other timesyou've got things where you have
to delete a load of bits or workout where to put them in. I
mean, I think sites like GitHubhave made quite a few
improvements now where you canactually structure things much
more cleanly, so you canactually ask for key bits of
data. And the user doesn't haveto wade through loads of text in

(40:03):
order to work our way to insertthe 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 thebug, you guys need to fix it.
But what you want from people isto say, Hey, I noticed that this
bug led me to these lines. And Igot to be honest, this is where
I think it's happening. But I'vehit a wall, and then it allows
for discussion afterward. Andthat's the beauty of, of GitHub

(40:35):
and get lab as well not to tootmy own horn. But there's a sense
of collaboration that'snecessary in order to fix these
problems, and you need to beready for that collaboration.
I'm an open source maintainer,who's standoffish and unfriendly
or overly protective, is goingto drive people away. And then

(40:56):
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 alsodon't want to be walked on
either. As a maintainer, youdon'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 ofpeople who are just using it,
not contributing, not helping,and that's fine, because that's

(41:18):
why you put it out there. Butusing it for free, and then
complaining and not offering thehelp 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 lastpart that you mentioned, then
starts to feed the maintainershaving 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'twork the way I expected it to,
or worse, like, everything'sjust crashing, and there's no
errors or anything helpful. Iwant that fixed. And so that was

(42:08):
something I, I kind of learnedearly on was when when I report
bugs that I can't figure out howto fix because I don't know the
code well enough. But I reallyneed the maintainers to fix,
make those bug reports ashelpful as detailed as possible.
My, my go to now is alwaysremit, I'll always make a

(42:30):
reproduction. So spin up alittle open source repo that has
just the little bits of codethat are causing the problems,
or at least, is narrowed down asfar as I think I can answer. So
I can just be like, hey, go tothis repo, run the app, click
this button, you'll see ithappen. And that's something I

(42:52):
found is super helpful to getthese bugs fixed. Because if
it's, Hey, every time you clickthis button, the apps gonna
crash. And it looks like theerrors here, but I'm not sure
how to fix it, then that givesthe maintainer something to run
with. And you can be selfish toget that bug that you need fix
fixed in instead of having tonecessarily understand all of

(43:17):
the code and fix it yourself.
Because that's, that's a wholenother day job in itself is
learning somebody else's repotheir architecture, there's,
yeah.

Shaun Lawrence (43:32):
There's a level of not being selfish that there
isn't, because you are going tolevels of making someone's life
easier. I know. There's stillthe demand of you can't fix it.
So you're asking someone else tofix it. But you are still
providing some level of as mucheffort as you can. Like you're
saying, Yeah, I can't understandthe part of the problem.

Brandon Minnick (43:49):
Yeah, have you been I've opened bugs and heck
created these reproductionsamples where I, yes, the sample
reproduced it but I was just wayoff. Like, the the code that I
thought was the problem was notthe problem. It was something
over here. And I was just soglad that I didn't try to fix
the code. If I open a pullrequest it, it probably would

(44:13):
have worked, but that wasn't theroot 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'reat with the code base is really
important. We're gonna take aquick little break, guys, we're
gonna have some, some ad timehere. 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

(44:46):
to or watching eight bits withBrandon and PJ, and we're here
to talk to you about yourproduct and how it can help you
in your life. Bye to do whateveryour product does. So if you're
an avid listener of the show, oryou watch us on Twitch, then you

(45:06):
will know that your product,your product is right for you.
I'm so glad I remembered not towear the same shirt that I wear
in that ad. And I gotta admit myteeth look, white is hacking

(45:29):
that ad I need to I need tocheck what settings I have on
that. Guys, if you want to beadvertised here on eight bids
for our dozens of listeners, andin the future. Surely 1000s of
listeners and people who partakein us, all you have to do is
send us an email at Hello at apitstop TV, and we'd be happy to
talk to you about promotionalconsideration. Heck, if you just

(45:52):
want to send us some free stuffMountain Dew, I'm looking at you
as I have been for the past 220days on Twitter. If you just
want to send us stuff and haveus talk about it. Just just
email us we are this iscapitalism, baby, we're here for
it.
I'm nothing. There's no way tosegue out of that is capitalism,

(46:15):
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 hello@aps.tvMLS we look forward to hearing
from y'all. Let's bring it let'sbring it back. What's next? A
natural flow of conversationsurely comes off of that
intrusive ad break.

Brandon Minnick (46:45):
Absolutely. And you know, something we haven't
talked about yet, Shawn. We Welove getting to know the people
behind the tech. But we've beentalking about and sharing our
experience with open source,because we love helping the
community. And something elsethat's big and helping the
community is helping people justget into tech. And I know we've

(47:06):
we've chatted about this before,but what what is your advice for
somebody who maybe is lookingaround and going Ah, well, I
love to do this, but I don'tknow where to start?

Shaun Lawrence (47:19):
Yeah. Okay. So I'm actually going through this
process at the moment with acouple of people. I mean, it
varies, ultimately, depending onexactly what you're trying to
do. But we typically come backto quite a few common concepts.
And it's I mean, maybe opensource is a good way to start.

(47:44):
Ultimately, it's gettingexposure to something. If you
know that you want to startprogramming, then maybe switch
consults, focus on what it isthat you want to achieve. For
example, a mentee I've got atthe moment. I mean, he's been
given some fairly specificrequirements, he wants to do
some Xamarin based work in termsof potential trying to get a
job. So trying to focus on maybesetting some key goals and how

(48:08):
you actually go about achievingwhat it is that he wants to do.
But then we always get back tothese kind of these fundamentals
of never being afraid to askquestions. It's always good to
try. So it's good. Actually,there's a quote from my
daughter's book that I was goingto mention, because she read it
to us the other day, asking forhelp is not giving up. It's

(48:30):
refusing to give up.

Pj Metz (48:32):
Yes, yes. Oh, my gosh.
I told you, I was gonna find anatural place for that reggae
horn does that that idea andthat concept of, there's so many
people who believe thatadmitting that you need help
with something means that youare admitting that you're

(48:53):
incapable of doing it, when noone is an island unto
themselves. Even even when youare thinking about someone who
works in a house did all thecoding themselves made this app
didn't No one helped them. Atsome point in their life, there
was someone who providedsomething that gave them the
environment in which to be ableto do that. Literally, like no

(49:15):
one is building their own houseor sourcing their own lumber, or
building their own concrete or,like you don't do every single
step. So in small things whenwe're talking about, I don't
know where to go next. The mereact of asking means you're
looking to move forward. Andthat's absolute. That's one of
the best quotes I've ever heard.

(49:37):
Look for it in my next talk.
That's so good. Thank you, Sean.
Look, is that from your daughterwrote 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 youdon't understand something and
you'll want you want to know theanswer. But you don't have the
answer. And it's just trying toget to the bottom of that might
be Google, that might be someonethat you're working with. I
mean, I was very fortunate. Iknow, my first role is that I

(50:16):
asked lots of questions becauseI wanted to be able to do a good
job. And there was lots I didn'tknow, I was fresh out of uni. So
I was just very lucky in orderto be able to have the people
that were willing to answer myquestion, and not tell me to
shut up.

Pj Metz (50:32):
Listen, everyone out there that's got junior
developers on their team thatknows people right out of
college right out of boot campright out of being self taught,
community taught, whatever itis, those people are usually
very eager to get in to whereverthey are. It's rare that someone
gets hired at a company startsat a temp job, starts at a

(50:56):
starts working with open sourcelike shows up, it says, Hey,
I've got this, this pull requestthis merge requests, and I was
wondering if this would work. Ifthey're doing that, that means
they're looking to do more. Andso fostering that, and creating
an environment where they feelcomfortable doing that is what
makes them level up and getbetter. And then they can turn

(51:17):
around and bring even morepeople with them and make it
better for others. So it'sabsolutely a willingness to ask
questions, and a willingness onthe answer giver, to provide the
right context to help isamazing. Brandon said that I
built this twitter bot for eightbits. But he really laid out

(51:39):
exactly what I needed to do inorder to pull the information we
needed for the tournament. Soyeah, I went and wrote the code,
but he pointed me in exactlyright. And literally, I think
even like said, Hey, here's theStackOverflow answer that I
think helps. So he was pointingme in the right direction,
because I am newer at this, Ihave been doing this for less

(52:00):
than a year at this point. Soit'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, bewilling to give those answers
and guide people in the rightdirection. Exactly, yeah.

Brandon Minnick (52:16):
And I'll say, Yeah, somebody on the other side
of that, when, when a juniordeveloper joins the team or
joins a community, we, we haveexpectations around what you
know, and what you don't know.
So you don't have to pretendlike you know, everything.
Because when somebody comes outof university, or somebody comes

(52:38):
out of a boot camp, enough of ushave worked with folks with that
background with that experience.
Or maybe you've done thatourselves, where we know what
they teach you and also whatthey don't. And so it's, it's
okay. If, if you if you knockour socks off, and you know,

(52:59):
everything truly that that'samazing, great for you. But
yeah, whenever I'm chatting withsomebody who, maybe yeah, they
just got their first job. It'slike, okay, well, have you heard
of this? Yeah, always startwith, like, oh, we should talk
about that. Have you ever heardof this? Whereas if somebody has

(53:20):
been working as a developer for1020 years, then we can probably
assume there's some moreknowledge there. We can skip
those intro level concepts, butyeah, yeah, there's, there's
nothing to be ashamed of, youknow, I, I look back at what I
learned in, in university, andgosh, I mean, the, the, the

(53:44):
amount I apply every day, ofwhat I got a degree in computer
hardware engineering, super,super small, like the day to day
stuff, just like writing opensource code. And yeah, working
with communities. Like that'snot taught in university. At
least it wasn't taught in myclasses. So yeah, ask us

(54:07):
questions. We're here to help.
But speaking of that, Johnsounds like you're you're
helping this person try to gettheir new job. So what what is
that advice you you give them tokind 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 askingfor help, typically, they know
that what they're looking for sothey know they want to learn
it's always a case of working onwhat it is that they want to
focus on. Maybe there might beerrors if a weaker in in terms

(54:49):
of what if they go to aninterview to to have these that
go through whatever line ofquestioning in order to get
wrong. I always try to readAgain, like I said, as the not
being afraid to ask questions,but then, again, in terms of
interviews, there's never a caseof if someone says, Have you

(55:09):
heard of this, like you, youjust 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 youfeel like you don't know things.
I know, interviews are, they'realways quite a nerve wracking
experience. But people are thereto kind of judge you as a judge

(55:33):
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 youcould grow in terms of in the
company, not how you're going tofit in and just magically fix
everything. So typically, it'susually 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 maybemove forward to, to get into

(56:01):
what you know. And then theconcept of maybe trying to focus
on how we learn things comes inand 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 withlearning a new concept, then you
are with what you already know,because every single job is
going to be giving you somethingyou've never done before. I have
friends who were mechanicalengineers, aerospace engineers,

(56:31):
teachers, dance instructors,theater majors, every single
person that goes through collegewill tell you, their first job
out of college, if it's relatedto their major was very
different from what they learnedin the classroom, not a single
career out there that involves adegree is going to be the same
as what you learned in theclassroom, US there's so much to
learn. And every job wants toknow that you're willing to

(56:55):
learn. And you're only willingto 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, tryingto focus all of the effort on
learning all of it, you're justgoing to become overwhelmed as
well. So actually trying to justfocus on some key details, and
then slowly grow, I know, maybefeels a bit more frustrating in
terms of your progress. Becausethere is so much to try and pick

(57:21):
up. But if you can start topiece it together in smaller
chunks, it becomes much easierto digest. And not not
overworking. Because obviously,the more tight we get we end up
learning less or becoming farless 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 landmy first job out of college, I,
I was doing the opposite of whatyou just advise. I was trying to
just pretend like I kneweverything, pretend like I had
learned everything. So forexample, I would just go down

(57:59):
job boards, like, oh, they wantsomebody who knows Python. And
then I would go learn how to dohello world and Python and be
like, Yep, I know Python now.
And looking back on that. That'ssuch a bad idea. Because had
they actually hired me. I wouldhave not only like, job and do
the roles, but I'd also have to,like learn Python, and then I'd

(58:21):
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 whatI meant. I'm sorry.

Brandon Minnick (58:41):
So yeah, thank you so much for advice yet,
don't feel like you have tolearn everything, learn one
thing, and then build on top ofthat. I love that advice. Shawn,
we only have a minute left. Andit's been such a good time
having you on the show. We'dlove to have you back if you're
available for another session.
But for the folks out there whowant to stay in touch with you

(59:02):
where where can they find you onthe internet?

Shaun Lawrence (59:06):
So I guess the best place would be Twitter. My
username is confusing atEdgington big I MGT O M. Serve
myself. Thank you very much forhaving 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 knowwhat you think. We love having
you join us and we love growingthis community together with
you. But with that being saidwe'll see you at the next
episode which will air laterthis month.
Advertise With Us

Popular Podcasts

Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

24/7 News: The Latest

24/7 News: The Latest

The latest news in 4 minutes updated every hour, every day.

Therapy Gecko

Therapy Gecko

An unlicensed lizard psychologist travels the universe talking to strangers about absolutely nothing. TO CALL THE GECKO: follow me on https://www.twitch.tv/lyleforever to get a notification for when I am taking calls. I am usually live Mondays, Wednesdays, and Fridays but lately a lot of other times too. I am a gecko.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.