Cross-Platform .NET - .NET 135
Cross-Platform .NET - .NET 135
Guests :
Hosts :
Published :
Oct 04, 2022
Duration :
34 Minutes
Show Notes
.NET has been cross-platform for a number of years now starting with the release of .NET Core. Most of the developers that we know work on Windows computers so we don't have first or second hand knowledge of using .NET on other operating systems. Today that is going to change. Maarten Merken has been doing .NET development on a Mac for more than two years and he joins us on the podcast to discuss his experience. We talk about different versions of .NET, debugging, virtualization, IDE's and more. When it comes to IDE's Maarten feels like JetBrains Rider is the best cross-platform IDE out there. Are you doing cross-platform development with .NET? If not, have you thought about trying it? Let us know on Twitter at @dotnet_Podcast.
Sponsors
Links
- .Net Development on the M1 Mac. I switched to a MacBook about 2 years… | by Maarten Merken | Medium
- With .NET 6, comes Prise 6 🎉
- Prise, A .NET Plugin Framework
- Twitter: @M3rken
Picks
Transcript
Shawn_Clabough:
Hello and welcome to another episode of Adventures in.NET. I'm Shawn Clabough, your host and with me today, the one and only Caleb Wells.
Caleb_Wells:
Hey
Shawn_Clabough:
Hey
Caleb_Wells:
hey,
Shawn_Clabough:
Caleb. Hey.
Caleb_Wells:
how are you?
Shawn_Clabough:
Good. Are you avoiding those
Caleb_Wells:
Good.
Shawn_Clabough:
storms?
Caleb_Wells:
Yes. Thankfully for us, Ian didn't come anywhere near New Orleans. Unfortunately, though, right, it's done a number on Florida and the East Coast. But nope, nothing so far. Fingers crossed that the season continues that way. But we've been lucky this year. How
Shawn_Clabough:
Yeah,
Caleb_Wells:
are you doing?
Shawn_Clabough:
our thoughts are out there for our listeners that are in Florida. So hope everything's good and everybody's safe and healthy. And things can be replaced. People can't. So that's important there.
Caleb_Wells:
Exactly. Absolutely.
Shawn_Clabough:
Yeah. OK, so let's bring our guest. Let's welcome Maten Mierken.
Maarten_Merken:
Yes. Hello, thank you for having me.
Shawn_Clabough:
Yeah,
Caleb_Wells:
Hello!
Shawn_Clabough:
welcome. So I think
Caleb_Wells:
Thank you
Shawn_Clabough:
we're
Caleb_Wells:
for
Shawn_Clabough:
actually
Caleb_Wells:
joining
Shawn_Clabough:
going
Caleb_Wells:
us.
Shawn_Clabough:
to talk about something we haven't talked about today. So,
Maarten_Merken:
Mm-hmm.
Shawn_Clabough:
uh, but first, why don't you tell us a little bit about yourself? You know, what you do, how you got into development and how you get into a.net.
Maarten_Merken:
Yeah, well, development for me started funnily enough with coding machines, so CNC machines in my mechanical education. And from that point on, I... interested in programming and I pursued a programming high school and college started with C++ and VB back at the day and got my first job as a SharePoint developer and I did that for a few years and then I saw the light and went to From that point on being a consultant until four years ago So and then I started freelancing and that's what I've been doing for three four years now At the moment I am a team lead for a.NET development team at my current client
Shawn_Clabough:
Okay, and where are you based out of?
Maarten_Merken:
Flemish Flanders Belgium.
Shawn_Clabough:
No, very nice, very nice. So I think what we're gonna talk about today is actually doing.NET on the Mac platform. I think we really haven't had anybody on the show that's specifically said that they've done.NET development on a Mac. And it's actually kind of relatively new as far as the lifespan of.NET and Visual Studio to be able to do.NET development on a Mac. So. Where should we start? Where should we begin where somebody wants to use a Mac to do.NET?
Maarten_Merken:
Well for me it started when.NET Core matured, let's say, starting from.NET Core 2 or 2.2 even. That's when I found out that the cross-platform was actually going to work because... the first few iterations of.NET Core, of course there was some API, the API set wasn't large and it wasn't really something to look forward to at that point. But I originally wanted to do.NET development on Linux, but I found that that was such a hassle to set it up and the toolset just But then again, I was invested in the whole Unix based operating system, even with working with various... Docker systems at that time, which were all Unix based and Linux based. And I found that having a Mac based on Unix eases the transition from environment working on a Mac as opposed to Windows. The contrast is so, there's a huge contrast when you have to work day in, day out with Docker containers and having them set up them as a DevOps engineer and I found that that in combination with a Mac or a Linux system just eases the development flow. And eventually I rolled into the Mac ecosystem.
Caleb_Wells:
So a move closer to Linux or Unix is what prompted you to move to a Mac, or were there other considerations around the switch from PC to Mac?
Maarten_Merken:
Well, for me, if you look at pure hardware, I believe that other manufacturers don't come close to whatever Mac provides on a hardware level. The integration from... hardware and software isn't something that you see from other OEMs on Windows. And even to date, like Windows 11, has still some problems that Apple just figured out years ago regarding having a mobile device. So What I found that switching is that the ease of use goes up a lot on that platform, on Apple-based, mostly thanks to macOS. And in the past, using Windows laptops, it's... was always something that went wrong. Like the PC went to sleep, you came back the other day and everything was gone. Battery life wasn't great. Integration with other devices wasn't that great. And eventually I taught myself. My complete frontend stack is Angular, so it's HTML JavaScript which runs on a Mac. And then everything at that point in time on that project was completely.NET Core. And I brought them back into my development flow and I haven't looked back ever since. Even when I do need to do.NET development, switch to a VM using Parallels, a Windows VM on a Mac, then going back to a Windows laptop because the ease of use of slamming the lid down and going home and having, make sure that the laptop goes to sleep and I can pick it up later and resume my work is so much more, it's worth so much more than having to, to yeah, that eases the transition a bit, let's say.
Shawn_Clabough:
Do you find it that you're using Visual Studio for the Mac? Are you using VS Code or some other editor? What's your best experience with actually doing the code editing and debugging and things like that?
Maarten_Merken:
Well, I... started with Visual Studio for the Mac, indeed. But that is basically a glorified monodevelop, if you ever known Linux. Monodevelop is this open source IDE for.NET on Linux. And basically Microsoft just gave it a fresh coat of paint and called it Visual Studio for the Mac. But the... The experience isn't great and I was searching for a long time for an IDE and I landed with visuals to your code for a bit but Visual Studio code is a text editor, not an IDE. You can make an IDE out of it, but it doesn't provide the full functionality as Visual Studio on Windows would. And at that time... the M1 Max came out and I was in the same crossroads again. What can I use on that platform? Because it was a completely new platform and nothing was there. But I found that Rider, JetBrains is Rider, is one of the best tools for developing.NET on any other platform than Windows. Even on Windows, it is a very good platform. to develop.NET applications in. But yeah, if I have to pair it against Visual Studio on Windows, then Visual Studio of course will get my preference.
Caleb_Wells:
think
Shawn_Clabough:
So what are the
Caleb_Wells:
that
Shawn_Clabough:
big?
Caleb_Wells:
Sean started doing writer and he likes the switch right it's got resharper
Shawn_Clabough:
I
Caleb_Wells:
built
Shawn_Clabough:
tried it.
Caleb_Wells:
in
Shawn_Clabough:
Yeah,
Caleb_Wells:
it's
Shawn_Clabough:
there's
Caleb_Wells:
a
Shawn_Clabough:
definitely
Caleb_Wells:
different
Shawn_Clabough:
some
Caleb_Wells:
approach
Shawn_Clabough:
nice things about it. I've not made the full transition over there. I just haven't been able to spend the time to learn, you know, relearn how to do what I need to do. So I'm just still comfortable with. Visual Studio, I'm on Windows, so I still have the full Visual Studio experience, so that works for me. But I did like some of the performance and some of the utilities that Rider had. So I do plan on coming back and trying to give it another shot, but right now I'm still Visual Studio for Windows person.
Maarten_Merken:
Well, I was surprised that once the support, the ARM support dropped for M1 on my MacBook Air, it completely blew my mind about what the performance was and the battery life that you get with that, without having to sacrifice anything. So, I... I switched to an Intel Mac prior to having an M1 and the Intel one was just getting to know the ecosystem for me. And I chugged along for a long time on that Intel Mac and from the moment the M1 came and that's why I wrote a blog post about it, it completely changed the game. Even to date. Like, modern, older, like, chips. are fast. I'm not saying M1 is faster but it feels snappier just because you have the integration of the operating system and the software on there. Even virtualizing Windows 11, completely virtualized, runs, to my experience, smoother than commodity hardware Windows installation.
Caleb_Wells:
So you've been doing this for a little over two years now.
Maarten_Merken:
Mm-hmm.
Caleb_Wells:
And there's been several updates to.NET Core, now.NET 6 since then. Did you run into any issues initially with the SDK or with actually being able to debug and test your code?
Maarten_Merken:
you know, at the beginning, you have these teething pains, right? You could run applications, but you couldn't debug, then Apple releases an update. It's mostly... Zeta, the translation layer between ARM and x86 that was updated regularly. And during that time, release after release or update after update, you could see the performance increases as well as debug fixes arriving and it was... Yeah, it was painful at that time. Um, but as I said, once the ARM support dropped for most of my tool sets, it became smooth sailing. Um, but then again, dot net ran through Rosetta up until dot net five. and it was only until.NET 6 dropped that ARM was supported even on the Mac. From the moment that shipped, I ported all of my projects to.NET 6 and I saw significant battery life improvements as well as runtime improvements running these applications and developing the software.
Shawn_Clabough:
So when you're developing on a Mac, are you limited to just web-based type projects and cross-platform like Xamarin or.NET MAUI? Is there a way that you could do a Windows forms based application or something along those lines, even though you're using a Mac? So, I'm going to go ahead and start with a question that I've been getting a lot of questions about. And I think that's a really good question.
Maarten_Merken:
Yeah, well for the moment... NET development, you can't do.NET classic plot.NET development on the M1 system or M2 or the new ARM systems. That's why I still have my Intel Mac and I use a virtualized Windows environment to do.NET like WPF and WinForms and all of that. That's what I support, classic.NET as I said, that virtual machine. But for all the modern applications like Maui, I haven't tested Maui because I'm not a application developer or for backend developer myself. But of course, Zebrin. Everything that is cross-platform should basically just... You should be able to do that on the Apple platform.
Shawn_Clabough:
So it requires an Intel Mac to be able to do emulation and then do Windows development. You can't do that on an ARI machine.
Maarten_Merken:
Indeed, so if you want to do classic.NET development, WPF, all of the legacy stuff let's say, that still requires x86. chipset on x86 in order to execute that code. You can do emulation of x86 on ARM. You can do that but it's painfully slow. I've tried all the available methods like emulation that is as I said not to be advised. Virtualization so you can run a Windows for ARM virtual machine on the M1 ARM platform. You can do that and even to my surprise there is now a Visual Studio for ARM preview version out which you can run. You can install performant virtual situation but the problem with my workflow is that I have a lot of my I'm not only limited to Visual Studio that is not my only environment I have Visual Studio code running I have Docker with several Docker containers running sometimes it is a lot of stuff in Azure which you can't do on any other machine but there are certain pieces of software that we need to run in order to configure our local environment. And those tools were written like 10 years ago and these are.NET and have been ported to.NET 4.6 but nothing more modern, meaning that I still need to resort back to an Intel machine in order to do that part of my workflow.
Caleb_Wells:
So I know depending on the project or the solution and what you're doing in Visual Studio, the age of the code or whatnot, it can be pretty resource intensive, right? Especially when it comes to memory. Has that been an issue for you on a Mac? Or do you think it's comparable to what you would get in Windows?
Maarten_Merken:
I think memory management on Unix systems is done way better than on Windows machines. What I find that... Well... Memory is based on the amount of cores you have because the amount of cores need to have access to the same piece of memory. So most of the time memory is duplicated amongst the amount of cores that you have. So having more cores means more memory usage. So the day and age that we have is these multi-core, multi-thread machines and you need a lot of memory and Windows isn't really more. managing that quite well, not to the degree that macOS has. As I said, Apple has this benefit of having a hardware-software integration to a degree that Windows just can't meet because they need to support every piece of hardware out there. I can't have drifted off a bit and I forgot the question.
Shawn_Clabough:
So WinForms is available in.NET 5 and.NET 6. Have you tried that on an ARM machine?
Maarten_Merken:
No, I haven't. I haven't been... That is not part of my workflow.
Shawn_Clabough:
Yeah.
Maarten_Merken:
Windforms you say?
Shawn_Clabough:
Yeah, I
Maarten_Merken:
Is
Shawn_Clabough:
think
Maarten_Merken:
that
Shawn_Clabough:
your workflow
Maarten_Merken:
officially
Shawn_Clabough:
is a lot like
Maarten_Merken:
supported?
Shawn_Clabough:
mine. Yeah. Yeah.
Maarten_Merken:
Is that officially
Shawn_Clabough:
Angular front
Maarten_Merken:
supported?
Shawn_Clabough:
end and.NET back end, that's kind of my workflow that I've been working on for
Maarten_Merken:
Hmm.
Shawn_Clabough:
the past
Maarten_Merken:
Okay.
Shawn_Clabough:
few years. So I like that environment and that kind of architecture.
Maarten_Merken:
Hmm.
Shawn_Clabough:
But I
Maarten_Merken:
Hmm.
Shawn_Clabough:
was just curious if you had started it up and you see if it worked or not. But.
Maarten_Merken:
No, but then again, if you really need to do that, then in my case I would resort to an Intel machine. It's still... I'd have to dust it off a bit, but I still
Shawn_Clabough:
Yeah,
Maarten_Merken:
have it.
Shawn_Clabough:
either way it probably performs better and you know, you make sure that you know it is it would be more compatible when you did move it over to an actual Windows machine.
Caleb_Wells:
I'm the opposite of most designers or people with a design background. Most people I know that are designers, they work on Macs and they love them. And I think it's well known that I'm not a big Apple fan. So if I were given the option of a beast of like a PC or a laptop and the highest end Mac, I would pick the PC every time. But I'm guessing with your experience in the last couple of years, you would go the Mac route because of the aesthetics, the hardware, software integration, just how that always works in general. It works better for your workflow. So, I'm gonna go ahead and start with the Mac.
Maarten_Merken:
Yeah, indeed. Indeed. What I also discovered is that lots of the front end work that I do is like Node, Angular, all of that. There's a big community out there that develops on a Mac. Even for.NET on the Mac, there is a growing community. as I see when I'm part of this subreddit on Reddit, where people keep asking tips and tricks and how do I get started. And I see more and more people trying to find a way to run their workflow on Mac, despite of having a Windows-only workflow for the past decade or so.
Shawn_Clabough:
So how does the debugging experience compare between working on a Mac and is it just because you're using a different IDE, you're using Rider, that you got a different debugging experience or is there a difference between the platforms and debugging?
Maarten_Merken:
Not necessarily, if you use Rider as you mentioned, Rider is a cross-platform IDE and it behaves and looks the same across all of the OSs. So this gives you the benefit to whatever OS or Nautilus you want to switch to, Rider would just work. And it's not the same case with Visual Studio. Visual Studio is the best tool on Windows, but if you go another route, there's nothing that replaces it. So you have to resort back to Rider. The only gripe with Rider that I have is that you need to have a subscription and you need to pay for the software to use it. you have this community edition of Visual Studio which can help you get started. So if there were a free version of Rider, I think more people would be persuaded to jump ship.
Shawn_Clabough:
Yeah, one of the things I was interested in when I made the tried out writer and things like that is having the benefits of resharper, but it being. built into the platform and therefore it's actually out of process. So, you know, the current version of ReSharper is still, you know, in the same process right now as Visual Studio on Windows. So you get to performance hits when it's trying to do heavy analysis and things like that. So I did find that attractive as moving towards, you know, Rider. Someday they'll have it in out of process on Visual Studio for Windows, but they've been working on that for a number of years now.
Maarten_Merken:
Indeed, that's also my experience. Rider is all the benefits of ReSharper within its own playground.
Shawn_Clabough:
Looking at some of your articles that you've written on Medium, there's also one that you've written a number about and that's called Prize.
Maarten_Merken:
Yeah.
Shawn_Clabough:
Can you tell us a little bit what prize is?
Maarten_Merken:
Okay, so price and the local name because it is actually a Dutch, well a French word which we translated into Flemish but it's called Preeze. And the idea behind Price is that I wanted to develop a plugin system for.NET, which there are many at the moment. But the idea behind Price is that once you've written a plugin that abides to a certain interface... The problem with this is that once the contract between the host and the plugin changes or the host changes the contract so it enriches the contract These assemblies that you've built like five years ago can't be loaded unless you upgrade the contract Meaning that the code that was compiled back then needs to be recompiled, updated, resurfaced and then it can be used again. With Prese, basically how it works is it builds up a dispatch proxy between the host and the plugin, and it finds the nearest possible method to invoke and dynamically invokes the plugin in its own domain. So it's like HTTP between, or REST between two running assemblies, remember? And the data between, so the parameters and the return values get serialized. in JSON, there's a performance hit to that. But the benefit you have is that you can load a plugin that was written five years ago. You don't have necessarily need to recompile it and you can invoke it and get the result out of it. And the reason why I wanted to invent such a system was that we, in Belgium, we have a very complex a very complex one and it changes from year to year so if you want to run a a payslip calculation in the past, you can't do that unless you have lots of historical tables that dictate how the rules were back then. So if you run a payslip in Belgium, you have to literally keep the PDF because when the IRS like system, we have the taxon system, comes back to check all of your history from the last past five years, you have to be able to present them the payslip for your employees and vice versa. As an employee you need to provide that to you. You have a legal obligation to keep that information. The client that I was working with was a payroll system and they had the problem that they couldn't rerun these calculations in the past because the code has migrated towards the future. towards the present day and if you were to rerun it you would have different baselips with different values and those were incorrect because that wasn't what was represented at the time so using Breeze they were able to basically uh, it reinvoke the code that was written back then as a Nuka package, um, and reinvoke that, uh, part of the payroll calculation. And even though the host, the host shell, the, the API, and the contract has evolved from there, from, from the original contract, you could still invoke the other, the old plugins. And that was the, the whole idea behind Prese.
Shawn_Clabough:
How long have you been working on this?
Maarten_Merken:
4-5 år? Nei, jeg tror.
Shawn_Clabough:
Okay, yeah, it looks like you're up to version six now. So.
Maarten_Merken:
Yeah, I tried to keep cadence of the.NET version. So when.NET 6 came out, I upgraded it. Well, not me personally, I had some help from the open source community to upgrade it. But yeah, I tried to keep, follow the.NET versions.
Shawn_Clabough:
And is this free to use?
Maarten_Merken:
Yeah, it's open source software. So as I said, it was upgraded to.NET 6 thanks to one contributor who found it necessary to do so. Even though you could still run it in compatibility mode, let's say, but you could still run, even if it's targeted to October's.NET 5, you can still run it in.NET 6. But there are some new APIs in.NET 6, and there is a performance boost even though you're using a lot of reflection to get this done.
Shawn_Clabough:
Very cool, very cool. So hopefully we can find some listeners that wanna help out and contribute or kick up some of the adoption of this. So do you find that there's a good size community using it right now?
Maarten_Merken:
I've been competing with another plugin platform, Nate's plugin platform if I'm not mistaken. That one's more popular and the reason why it's more popular is because it supports a lot more and with this setup, this dispatch proxy setup and lots of reflection, it hinders other developers to use it in their workflow. Specifically Blazor. I've been looking to implement a Blazor... uh... uh... well. ymddygiadau ac mae'n, ym, mae'n, dwi ddim yn credu bod y byddai'n gallu i'r gweithio hwn i'w wneud, a dwi'n credu bod yna dda i'n dda, oherwydd byddai wedi bod yn un o'r
Shawn_Clabough:
All right, very cool. I mean, I've been playing around with Blazor some looking at, you know, upgrading some old web forms projects into something that can get me into the.net five.net six, you know, type platform. So that's been an option for me. Caleb's done a number of Blazor projects. So I think Blazor would be great
Caleb_Wells:
Just
Shawn_Clabough:
if
Caleb_Wells:
a
Shawn_Clabough:
you
Caleb_Wells:
little
Shawn_Clabough:
could
Caleb_Wells:
bit.
Shawn_Clabough:
somehow get it, get it working. But yeah, there's probably is some challenges there.
Maarten_Merken:
Yeah, I can't say that I have much experience in Blazor. It's something that completely went past.
Shawn_Clabough:
Okay, so before we wrap up, do you have anything else that you'd like to talk about either with you in development on a Mac or with Prese?
Maarten_Merken:
No, I think, um... I... I think I said it all, what I wanted to say.
Shawn_Clabough:
Okay, very cool. If our listeners have questions, how should they get in touch with you? What's the best way?
Maarten_Merken:
I'm on Twitter via Medium. So if you google my name there's a lot of things that will pop up. Twitter, Medium, just reach out. And if you google
Shawn_Clabough:
Okay.
Maarten_Merken:
price
Shawn_Clabough:
Yeah,
Maarten_Merken:
I will
Shawn_Clabough:
P-R-I-S-E,
Maarten_Merken:
be one.
Shawn_Clabough:
P-R-I-S-E,
Maarten_Merken:
Yeah.
Shawn_Clabough:
yep. Okay.
Maarten_Merken:
Yes. If you google that you will like... be able to contact me or even contribute
Shawn_Clabough:
All
Maarten_Merken:
if you'd like.
Shawn_Clabough:
right, cool. And that's a Martin with two A's and American
Maarten_Merken:
Yeah.
Shawn_Clabough:
with M-E-R-K-E-N. Very
Maarten_Merken:
Yeah.
Shawn_Clabough:
cool. Yep. Uh, if our listeners want to get to touch with the show, we'd love to hear from you. Uh, they can get me on Twitter. I am at dotnet superhero. Hehehe
Caleb_Wells:
and I'm
Maarten_Merken:
Hehehehe
Caleb_Wells:
at Caleb Wells Codes.
Shawn_Clabough:
All right, so let's move on to picks then. So Caleb, you wanna go first? What's your pick?
Caleb_Wells:
Sure. I don't think we picked this one yet. It's only been out for a month and a half maybe. But it is She-Hulk on Disney+. And it's getting a lot of flack for the CGI
Shawn_Clabough:
Yeah, yeah.
Caleb_Wells:
and whatnot. You know, if you just watch the episodes, they're funny. And I feel like they're well written. And so I'm enjoying it. So yeah, she helped.
Shawn_Clabough:
Yeah, my wife and I have been also watching that too. And I held off on a little bit because of the CGI, the knocks on the CGI being really kind of low budget kind of compared to a lot of things nowadays. But yeah, the show is all right. So it's worth overlooking some of the CGI stuff and just enjoying the show and those types of things. So yeah. Okay, my pick this week is going to be, I guess I will go with a new webcam that I picked up. My webcam that I had before was a Logitech, you know, and was a good webcam, worked just fine. I don't know why I just had this itch to to get a new one because it's probably, you know, five or six year old, but it worked well. So I picked up their new the Logitech Brio 505. And it's got some nice features along with the software things. It kind of has that little follow feature that some newer things software has. So if you want to turn that on, it'll try to keep you in frame, depending on. And it's got a nice, nice design and a nice, you know, shutter to, you know, for privacy mode, you just kind of turn the side of it and things like that. I did have to get a USB adapter because I wanted to run it through my KVM. So. I had to get a USB-C to USB-A adapter to plug it in there. But other than that, it worked for a while. It's got a magnetic mount, so it's easy to pull on and off and things like that. So if you're in the market for a webcam, it's fairly affordable. I think it was about 130 bucks. This is what I paid for it, US. So check it out. It's kind of mid-range price, things like that, but good features. So
Caleb_Wells:
Cool.
Shawn_Clabough:
try it out.
Caleb_Wells:
Yeah.
Shawn_Clabough:
Brio 505. All right, my 10, what do you have for a pick? What do you want to let our listeners know about that interests you lately?
Maarten_Merken:
Actually I just wanted to shout out and hopefully persuade some people to start using Rider.
Shawn_Clabough:
Yeah, I'll second that, you know, even though I haven't fully, you know, came on board and things like that, it was definitely interesting. And if I was on a Mac, that would probably definitely be the platform that I would be going to. So, yeah, definitely. All right, well, thanks for coming on the show. It was great to have you and talk about, doing Mac development, something that we haven't covered on, all the episodes that we've had up till today, we've really not talked about the Mac too much. So that was great to have you come on and let us know all the good things about doing.NET development on a Mac.
Maarten_Merken:
Thank you for having me.
Caleb_Wells:
I'm glad it works for you.
Maarten_Merken:
Yeah, I'll
Caleb_Wells:
Yep.
Maarten_Merken:
continue
Shawn_Clabough:
I don't
Maarten_Merken:
doing
Shawn_Clabough:
think you
Maarten_Merken:
that.
Shawn_Clabough:
convinced Caleb to make the switch, but
Caleb_Wells:
Hehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehehe
Maarten_Merken:
Hmm.
Shawn_Clabough:
yeah. But
Caleb_Wells:
It's all
Shawn_Clabough:
definitely,
Caleb_Wells:
good.
Shawn_Clabough:
definitely good information
Maarten_Merken:
Yeah, Twitch
Shawn_Clabough:
for
Maarten_Merken:
is on.
Shawn_Clabough:
everybody out there. Alright, thanks
Maarten_Merken:
Alright.
Shawn_Clabough:
everybody and we'll catch our listeners on the next episode of AdventuresIn.net.
Caleb_Wells:
Bye y'all.
Maarten_Merken:
Bye.