Jason Turner

I'm fully in the camp of C is not a strongly typed language, and we jump through a lot of hoops to try to make it more strongly typed. We write strongly typed wrappers, we delete problematic overloads, we write templates that are constrained in specific ways, we say I mean like we teach single parameter or variadic constructors or constructors with default arguments. Pretty much every constructor at this point needs to be explicit. All of these things come down to implicit conversions that make the language less strongly typed.

Conor

Speaking of conferences, we can switch to kind of episode two of this uh podcast, which is let us know what you've been up to for the last five months. How has it been? I mean, I'll link the final episode where you talk with Rob about sort of the reasons for ending CPP Cast. And I also saw that there was a I think it was PVS Studio came out with a sort of um interview style post. So it's it's a written form post if you want to go read that sort of dives into those details of you know why CPP cast ended. So we don't need to necessarily go into detail, but if you want, feel free to mention why it ended, what it's been like uh for the last five months, and then you know, we mentioned that you sort of went to a couple conferences. Yeah, tell us what you've been up to, the talks you've been given, and uh we'll go from there.

Jason Turner

Well, a couple times uh Rob and I have chatted, and we're uh after like a month or six weeks or so after we had ended C VPCast, we're like, wow, like my schedule feels just so incredibly different. Because there isn't the, you know, on Monday morning, make sure we have the show notes and the news items and the interview questions ready to go for the interview on Wednesday. Like we like it that was uh it was basically the only regular part of my schedule because I haven't been an employee in thirteen years, I think. Of a corporation.

Conor

You're self-employed.

Jason Turner

Uh I'm self-employed. I haven't had to directly answer to someone else about my schedule in a very long time, except for C VP Cast. That was seven years of that, and that was my regular, like, we have to do these things several times a week kind of uh items on there. So it was kind of freeing in some ways to just be like, wow, my schedule feels different. I can I don't know. It it felt like I was just more available in some ways. Uh one of the things that I really wanted to do was do more development on my second channel, which I've recently renamed. It was called the Retro Programmer, I renamed it to the Fill in the Blank Programmer, because I just kind of wanted a space where I could talk about anything programmingly related and not have to deal with like the YouTubers that are like, I don't like this content because it's not C, you know? Um, but to be fair, the name of the channel is C weekly, so right. So my plan was to do a new episode on that channel every other week, and I did like six weeks of that, but you know, without the name forcing you to keep going, C weekly, right? That forces me to release an episode every week. So um that was kind of hard. I still have plans, lots of plans for the other channel, but I haven't spent as much time as I expected to. But then I had two different contracts with one of my clients that I was trying to wrap up. So in between the other things, um, let's see, flew to England to speak at C on C in June, right? That was June, right? No, that's July.

Conor

Uh I think it was either late June or early July, because that was no, it must have been July, because it was the week before, I think, CPP North. And CPP North was.

Jason Turner

So the 28th through the 30th of June. Oh no, that's 2023, never mind. He already put up information for next week or for next year.

Conor

Oh yeah, that's an irritating thing about some conferences, is like tracking the dates and the talks by year. Uh because the main link always goes to whatever the most recent conferences is. And uh some conferences are great about you can find a thing and click on a year.

Jason Turner

I could just look at my own personal calendar. That's beside the point. I went and I did a workshop there and spoke. Um did the closing keynote at Consie. And then drove from there to the Netherlands to do like my first on-site training and uh well, it had been seven months since I had done my last like training event. So I did no four months, sorry. So I did that, and then flew from the Netherlands to Toronto to go to C North and then flew home. So that was a three-week trip, which like we're talking 2019 was crazy. 2019, that would have been like, whatever, that's just January 2022. You're like, oh my goodness, am I going to survive this?

Conor

Yeah, yeah. And and we have to say, I have to say thank you as uh because you m ended up giving two talks at CPP North. I did. Um, you initially submitted and got accepted the power of compile time resources, I believe. And then we ended up having a couple different speakers that didn't end up making it. You know, one of them the airline was on strike. Oh right. Like the the the days leading up to it. And anyways.

Jason Turner

That was Scandinavian era, right?

Conor

Yeah, a couple different reasons we weren't able to have a couple speakers. And so you stepped up and gave a second talk, which was the best parts of C, which is one of my favorite talks that you've given. You've given it at a previous previous conference before. And I I love that talk because there's so like there's so many talks in C that focus on the warts of the language. Like I think even yourself, you know, you've given talks about like why initializer list is broken, and you know, so that there's a a ton of talks out there that focus on UB and crazy things and shooting yourself in the foot, and it sort of you know goes hand in hand with C. There are much fewer talks, at least from my what I've observed, of like why this language is a great language and focusing on all the things that like as C professionals, we know everything bad about the language, and it's very easy to, you know, it's I feel like it's almost like conferences. It's like the thing, it's like, oh, so what are we complaining about in this group of people? It's never, hey, let's talk about you know the ability to do generic programming in C and the power that we have with insert this or insert that. And and your talk sort of goes through, I can't remember if it's uh 15 things or 25 things, but it's sort of all these, you know, a list of things, and you spend a few minutes on each one talking about like why this is great and uh why you should be excited about this in C. So it's a very like positive oriented talk. And I remember watching it, one feeling like this is refreshing to hear someone like talking about why they really like the language, but two, I was like just found myself nodding the whole time. Every once in a while, you'd get to something like as simple as you know the auto keyword for type inference. And it's like, well, that is actually like it's amazing when you compare it to what you had to do back in like pre-C11, where you have to spell out all the namespaces and the iterator types. It's like we take it for granted now, as you know, quote unquote dealing in modern versions of the language, but like compared to what you had to use to write, it's amazing. And even like comparing the type inference in C compared to Rust, like a lot of times you have to spell things out in Rust and you forget that like, oh yeah, I can just deduce the type of this function returns because C is great at that stuff. And uh you you we take it for granted. And anyways, enough about how amazing that talk is. You can say more about the two talks you gave at CPP North, and then I just watched the one at C on C, which is making C fun, safe, and accessible, I think if I got the the title right.

Jason Turner

That sounds right, yeah.

Conor

So how did those all go?

Jason Turner

Well, okay, so I kind of want to rewind just a tad, because that talk you said was your favorite came from that 2019 year when I was doing all the travel, and I had kind of set a public goal, I think I've tweeted it even, of being like more positive about the language and not just focusing on the words, because it's too easy and too fun to do that, basically.

Conor

And dunking is it's the best, it's why Twitter, Twitter, you know, insert posting is a thing for a reason.

Jason Turner

And then I got invited to uh keynote at um Core C ⁇ , it's the first year in Israel and uh in Tel Aviv, and I thought, well, you know what, like I I have strong opinions about what a keynote should be, and I think keynotes should in general be um a positive experience about the language, right? Like if the keynote speaker that you invited to the conference spends, you know, 30 minutes of their 90 minutes dunking on the language, I feel like it might not have been the best choice for a keynote.

Conor

C plus plus keynote, why you should use Rust.

Jason Turner

You know, um, so I thought, well, I really have to like come up with something that's like really good and positive and focuses on the good things of the language. So that talk is specifically organized to be an evolution of the language. It kind of takes you from like how ugly things were in C 98, from those of us who like started with C then, to like how clean and simple things can be with a few auto keywords arranged for loop and you know, uh you know, a concept or two thrown in or something like that, right? Uh and it's funny because I still like, man, I I get these people pushed back still sometimes on YouTube and on Twitter. They're like, auto is uh dumpster fire, it doesn't actually help with anything, it just makes your code harder to read and whatever. And and and and I'll come back and I'll say, really, like, really, you would rather type std colon colon vector std colon colon string colon colon const underscore iterator. Like that's really what you want to type instead. And people will push back with like, yes, because then I know what my program is doing.

Conor

And I no, no, I've been there.

Jason Turner

I did that for a long time. No, this is definitely better.

Conor

Yeah. I I am a hundred percent in the almost always auto camp. Um, and don't get me wrong, I I I love the banter back and forth. You know, I I've seen people give talks where they advocate for this, and then the QA at the end is just people coming up. What about this case? And what about yes, you know, that is programming. It depends a lot of the times, but like for what you just explained, I don't know how you can argue in the opposite direction. That like oh people do. You can a lot of the times even when you're using auto, by looking to what's at the right of the equal sign, you can a lot of the times like get a great sense or even know exactly what the type of the thing is that you're getting. Interesting that you get that pushback, but I you know, that's that's YouTube and Twitter for you. And Reddit, you know, why not while we're throwing them all under the bus.

Jason Turner

And when I'm doing like training and auto comes up, the argument I generally make is do you care what the type of this thing is? Do you really care what the type of vector dot size is? And 99% of the time the answer is no. I I know it's an integral thing. I don't care what the type is. And if you really want to, you know, constrain it with std integral, auto, or whatever, right? Like I don't care. And and so I try to point out that I think choosing to not care what the exact type is is better than accidentally invoking an implicit conversion to the type that you thought that it should be.

Conor

Yeah. There's been I know at least one bug that I caused in my first job as a C dev where I was using not auto. I was using short or something, or you know, int32T, and it was returning uh a long long or something. And we had some rule that, like, you know, we're not supposed to use auto, but because it was a numeric insurance calculator, we had turned off, and this is gonna hurt your soul because I know your views on this. We had turned off like the W all and W no conversion, and this ended up in like a bug that got reported by a client because the long long was like a table ID and it got truncated, and so it ended up in a crash. And like I ended up giving an internal talk, or like lightning talk, it wasn't that long, basically being like, this bug would have been avoided if we had used auto, because it would I wouldn't have to care about what the what the type of this you know table ID, you know, once or if you could have turned on W conversion, it would have been caught that way too. I mean it would it would break your heart to see all the warnings that are turned off. And and um I mean I think we had explicit or implicit conversions from like floating to double, like all over the place, and conversions to bool. Yes, it was I I'm with you that um follow the starter project, turn everything on by default, and then like you just don't have to worry about that stuff down the road. But yeah, my argument was like use auto and then we would have we would have avoided the bug.

Jason Turner

So I you're alluding to the fact that I've been on a little bit of a rampage about conversion lately. I'm assuming you've seen some of that on Twitter.

Conor

Um I have seen some of it on Twitter, but I think it's top of mind just because um I just finished watching the the C on C Talk where you bring it up, and then also your most recent um C weekly video talked about it as well and how the bugs could have been avoided if you just turned on the W- or Dash W, you know, insert all the things.

Jason Turner

Well, it just w conversion is the one that I'm only rampaging on at the moment. That's the one that I mean like, yes, I want all the other ones too, but that's the one that I have found historically is the most difficult to convince people to use. So I did uh one of my friends uh does security related work, not C, but he'll send me things sometimes where he says, look at this bug that was in the C code. And I, you know, I I look at it and I can oftentimes spot it relatively quickly because I'm experienced with C. For him, the language is you know less familiar. But he's the one who sent me the PlayStation bug. And I looked at it and he's like, Yeah, this error is less obvious to me. I look at it and I say, W conversion would have caught that immediately. And so I start doing some more looking, which I've never really done before, but I start like browsing through the cert database, and I've so far identified at least ten fairly major security bugs that are in the cert database, C V E's database, excuse me, C V E database, of um ten major bugs in C programs that would have been caught with dash W conversion. Security flaws.

Conor

Wow.

Jason Turner

Like big deals.

Conor

Yeah.

Jason Turner

C C and C code, not all C code. Um so I've been I've been going at this on Twitter for the last two days, just like, oh, does anyone else want to see another security flaw that would have been caught with W conversion? And I still have people pushing back on Twitter, like, oh, it's just too noisy, it doesn't actually catch anything useful. And I'm like, it's that that security bug right there that I just showed you would have caught.

Conor

I think the problem is that a lot of companies don't have this stuff on default from the beginning, and so having them try and turn it on after the fact leads to like thousands and thousands of things. But it's like if you're starting a new project like Greenfield, it is so nice to have static analyzers, like I consider them like programming hugs. Like, and I I term that from like you know, doing a little bit of Rust programming. It's like the Rust compiler, it's just like the difference between Rust and like C without all the analyzers and warnings turned on. It's just like, hey, you're doing this, you don't need to do this. Do you want to do this? And then like gives you a suggestion of what you should do, and you're like, wow, that's well, thank you for that. That's very nice. Uh and it's like that's what warnings are. It's like turn them to fail, and it's like, ah, this didn't work. Like, and I will give you this. The C's warnings aren't as good. Um, but for a lot of the bread and butter ones, like conversions, they point exactly at what the problem is, and it's just like, oh, you're doing, do you want to do this? And it's like, uh yeah, I don't want it. Well, thank you very much. It's just like having a nice friend there that like puts their arm around your shoulder and says, Hey buddy, uh, did you mean to do this? And it's like, you're right, I didn't mean to do that. Thank you very much. And it's it's not something that gets in the way. It's something that if you use it from the beginning, it's just like having a nice friend staring over your shoulder.

Jason Turner

Well, and I also find it kind of reprograms how I program, so I'm less likely to write code that would ever invoke those warnings in the first place.

Conor

Yeah, yeah. That's it's true. This is the same way with formatting, is a lot of the times you can sort of predict when something is gonna get is gonna do terribly in formatting. So you'll adjust the way that you're structuring something, not semantically, but just sort of anyway, so I'm gonna ask you a question though. Okay.

Jason Turner

Rust doesn't allow implicit conversions, right?

Conor

Correct.

Jason Turner

Are there any implicit conversions from C that you wish Rust actually did?

Conor

I don't think so. I mean, I do there are parts of C that like having learned it and used it in coding competitions that are like shortcuts that are like, if you know what you're doing, are really nice. Like probably my favorite one is if you do a plus, or what is it? If you do an equal on a hash map, like an unordered map or map, it'll automatically insert or use the default value or something. Whereas like in other languages, like Python, you can't do that with a dictionary. You have to use a specialized collection called the default dictionary. Um that is a nice hack that like when I'm trying to write something really quickly for a competition, I like that that's there. And I like that I can use an integer as a Boolean value in a while loop and not have to do like a not equal to zero to materialize that Boolean so like it type checks. Things like that I like for like, you know, being doing hacking and going really quickly. But like if I'm writing production code, I I don't think implicit conversions uh are something that there are things that I are not in Rust that I miss but from C. But yeah, implicit conversions is not one of them. Why? Do you are there conversions that you miss? Or I know you've done a little bit of programming because I've seen the live stream that you did with your your cousin uh back in the day.

Jason Turner

Yeah, no, I I've only I've only toyed with Rust, but um I've since I'm on this rant about implicit conversions right now, I'm becoming increasingly convinced that I'm gonna go with at least fifty percent of the sharp edges in C would no longer exist if we had a compiler flag to disable implicit conversions.

Conor

Interesting.

Jason Turner

That's based on what, like, just thinking through my own training material. And I'm like, wow, if we didn't have implicit conversions, the section wouldn't matter, the section wouldn't matter, the section wouldn't matter.

Conor

Yeah. I mean, I know a whole category of bugs that I've seen in multiple companies that I've worked at where it's a combination of things, but like you have arguments, you know, I've seen both the bug where you have a long list of arguments, some of which are pointers and some of which are booleans, and then they mix up the order, and then one will implicitly convert. And I've also seen where you have a long list of parameters and some default arguments, and then you forget like that there's defaults there. And anyways, and like some of that is just like don't put three booleans in a row next to pointers or whatever. It's just that the reading the code, you have no idea what true, false, true, true means. Um but yeah, if implicit conversions weren't allowed, that would like I think all of those bugs would disappear.

Jason Turner

We wouldn't have to teach what object slicing is if we didn't have implicit conversions.

Conor

Yeah. I prefer static typing in general and strong typing.

Jason Turner

And implicit conversions break strong typing.

Conor

Yeah.

Jason Turner

I was gonna say C is not a strongly typed language, specifically because it has implicit conversions baked into the language.

Conor

Yeah, this is a great, well, not necessarily tangent, but like so and I first started thinking about this when I think I attended my first conference, which is in 2019, and Peter Somerlad was giving a talk on strong typing, and I think I had watched a couple talks online. I think one was given by Phil Nash, you know, it's static typing, dynamic typing, strong weak. And I was trying to figure out like what is strongly typed, because like static versus dynamic is like it's by definition, but like strong versus weak just seems to be an opinion. And Peter was arguing, and I remember asking, if you go back and watch the talk, I can throw it in the links. I remember asking, like, how can you say like C is strong? Like it implicitly converts everything, like compared to Haskell, compared to Java, it's a weaker language. Like, how can you call it strong? And then everybody in the room, or at least most of the people that were answering, and Peter said, like, it's strong if you want it to be strong. Like you can design your programming code to be strong. But I was like, okay, so if you're defining custom types, etc., but like, but that's like so you can opt in and write a strong program, but like the language by default is not strong. And like there are some people that are probably listening to this that'll respond on Twitter being like, no, C is strong. But like on a ranking of like of languages, like it falls, I think it falls below like Python. I think Python is more strongly typed than C's potentially. But also like the argument of what makes a strong language, it's like you ask a different programmer, software engineer, or PL person, and they'll give you a different answer. Some people don't think that like implicit conversions has anything to do with whether a type is uh strongly typed or not.

Jason Turner

I guess I'm moderately curious what that argument is. I'm fully in the camp of C is not a strongly typed language. And we jump through a lot of hoops to try to make it more strongly typed. We write strongly typed wrappers, we delete problematic overloads, we write templates that are constrained in specific ways, we say I mean like we teach single parameter or variadic constructors or constructors with default arguments, pretty much every constructor. At this point, it needs to be explicit. We um any conversion operator we argue needs to be explicit. And then we see these like uh, you know, people tweeting about how C is a dumpster fire because you can do something like pass an int to the constructor for a string and you have no idea what it's going to do, basically. All of these things come down to implicit conversions that make the language less strongly typed. If I can pass an int theoretically, or a boolean, well you can pass a boolean, right? You can pass a boolean to a function expecting a string because it's going to implicitly find the const character pointer overload for standard string constructor. And that's not what you wanted it to do, right? So I don't think it's strongly typed.

Conor

You heard it here first. Jason doesn't think so. I don't think so. And there's a ton of talks online. I'll I'll try and find a few of them. I'll find the Peter one. Yeah, I'm not sure if it's C devs that they just don't like to admit that other languages are better when it comes to this. And like you can get so much stuff. Um I just recently discovered one of my favorite things in programming is Haskell has a function search engine based on um they call it type signature, but in in C ⁇ or C it's just a function signature. Um and so you can, you know, if you want to find all the functions that take a vector and return a vector, like you can do that in Haskell because it's such a it's got an amazing type inference engine and it's so strongly typed. And Rust has a sort of, it's not as amazing because of all the different you know types that you can have in Rust, but it has something called Rugal, which is uh, I guess a play on Hoogle, which is a play on you know Haskell Google. Someone someone responded, what is Go? If Go has one, what are they gonna call it? Uh because it's already taken. Um but like you know, C ⁇ I don't think could really ever have something like that because of the implicit conversions. Like you could have a very poor form of it, but like it's not actually gonna capture what you all the different you know things that could possibly work.

Jason Turner

Well you can get, yeah, I mean some tools get pretty close-ish. Like I think in C Lion, if you type like function name open paren, it will show you like in a uniform call syntax way, both all of the things that could be member functions on the next type that you're typing in, or all the things that could take that type as a function parameter. So it gets pretty close, but not no, not to that extent.

Conor

I've heard that. I saw the tweet that JetPranes did about the that C-line feature, and I think I retweeted and said of like, if this is true, like that's a that's amazing, because that's kind of one of the arguments for why you want like a UFCS um uh sort of paradigm or like you know, object-oriented where you can have the sort of dot completion. You know, go you go dot on an object, and then it can easily suggest you everything that can come. And without that, if you're just calling free functions, it's a lot harder. But supposedly I've heard C line has pretty good. It does work.

Jason Turner

Yeah. Although sometimes it confuses me because I'm like, I wasn't looking for a free function, I was looking for a member. And they're like, oh right, it's doing this to be helpful. Okay, however.

Conor

That is pretty awesome. Look at that. Free sponsorship for uh for JetBrains. Uh do we have a sponsor for this show?

Jason Turner

How does it no, no, no?

Conor

We've been reached out by a bunch of companies, but it's one of the things that uh until I there's some huge monetary, like life-changing amount of money, I don't think. I uh I like having the uninterrupted sponsors and uh quick outro. Although some people complain, they're like, we didn't know that episode was gonna end. You could have given us like a 30-second heads up because a lot of the times I just like hard cut and it says, Thanks for listening. Bye.

Jason Turner

Wait for next week for the next episode. Yeah. Subscribe now.

Conor

All right, we were talking though. We took a couple tangents. We were talking about um C on C slash CPP North and the talks that happened there. So yeah, how did how did C on C go? How did the the workshop go? How'd your talk go?

Jason Turner

I had one paid student in my workshop, the rest were volunteers.

Conor

Oh wow.

Jason Turner

And then the workshop that I was supposed to give at CBPCon got canceled because there wasn't enough people signed up. It was wor this was a bad year for uh on-site workshops for conferences, that is what I observed. But I don't know how they went at C North because I didn't give one there.

Conor

Uh if I recall correctly, I'm gonna get this wrong, but I think on average it was way lower than what we had hoped, but I think there was at least four to seven in each class, and I know one of them I think originally had six or something, and then two or three didn't end up um able to come in because once again travel problems. Right. But I think I mean it looked it looked like it was gonna be similar to like, you know, one or two students, but I think each one ended up having at least I want to say it was in like the four to seven range. Uh, if I'm drastically off, you know, look forward to a future episode while uh where I will correct this after Mike Dom DMs me and he's like, How'd you get it so wrong? There were 17 in each class.

Jason Turner

Yeah, well, but regardless, it sounds like yeah, probably not like it was three years ago, where at a reasonably sized conference you expected around 10 to 30 students in each class or something like that.

Conor

Yeah. It was uh a lot smaller, I think. Yeah.

Jason Turner

Uh but the conferences were all good. Um I had direct exposure to COVID at the speakers' dinner at C on C, and then I had direct exposure to COVID at the speaker's dinner at C North. So I skipped the speaker's dinner at CBPCon because I decided I just didn't want to go down that road again.

Conor

Did you manage to dodge COVID in both instances?

Jason Turner

Yeah, as far as I know. I mean, over the last how long has it been since we did this thing? Two almost three years, right? All of 2020, 2021, 2022 almost. I've had like, I don't know, two or three weeks in total that I felt like I feel kind of run down. I should take a relaxing day tomorrow. But as far as I know, I've never I haven't even had a cold, like, because of all the things, I guess. And I'm the kind of person who usually gets like a bad cold once a year. So didn't have a cold. I've never tested positive for COVID. Between um C on C and C P North, I took a COVID test an average of like every other day just to see how I was doing. And they all came back negative.

Conor

That's what I know. That's that's pretty lucky. I mean, I know that for most of the times, not the dinner obviously when folks are eating, but it was a masked conference at C North. Um I'm not sure if C on C, but obviously that helps if you're uh if folks are masking at least when you can, obviously, if you're putting a piece of the case.

Jason Turner

C on C was not a masked conference, but the weather was good enough and the way that venue is set up, we generally speaking had pretty good airflow through the conference. Right. But there was uh five or six people who tested positive after that one. Like relatively low numbers still.

Conor

And generally, I think C North, I don't know the total numbers. There was one or two people that tested positive.

Jason Turner

They were at my table at the speaker's dinner.

Conor

Oh were they?

Jason Turner

Yes. Because I got an email saying just so you know, two people at your table, the speaker's dinner tested positive.

Conor

Yeah, that's always concerning. Uh I can't remember if they might have been I mean, I'm sure I had close exposure as well. I got uh email. Um but yeah, luckily, I mean at the at the time I think I was triple vaccinated and had already had it in I think it was earlier this year. I went skiing and ended up getting it. Uh and it was pretty bad actually because I had missed my third vaccine. I think it was my third vaccine. I was registered to get on a Monday, and then the ski trip was a Friday to Saturday, and then there was a snowstorm on the Monday, and my uh appointment got cancelled, and I tried to rebook, and then they rebooked it for like the Friday that I was leaving, and so I ended up didn't end up getting it, caught COVID, and then basically was like dying for four days. But uh and then I ended up getting like the booster, the third vaccine, like a week after that, which two days after I got that, they then said, Oh, if you just recovered from COVID, wait like eight weeks because you don't really need it. So then I there was like a period where I was like ultra, ultra like safe from it because I had both a booster vax and had just recovered from it. But anyways, good to know that you uh you dodged um I dodged it all.

Jason Turner

And I'm planning to get my bivalent or whatever fourth shot booster before I make my next round of travel.

Conor

Yeah, yeah. I think those are those became available recently in Canada as well.

Jason Turner

Um yeah, I should get that whenever I we have still like two or three max mass vaccination sites set up, and I thought that our state had like shut them down. I guess they had shut down not the vaccination sites, but they had shut down the mass testing centers, is what they had done here.

Conor

Yeah.

Jason Turner

And so I'm like, well, I don't know, how hard is it to get an appointment or whatever? So I go and look and it's like, which vaccine would you like? And it full drop-down box. Like, uh, I think I'll take the bivalent from Pfizer. And they're like, okay, go to this location and see if there's any bookings available. And I look, and there's four spots available every single hour of every single day.

Conor

So how times have changed. Uh I'm not sure if that was the case in the States, but in Canada, I mean, trying to get a vaccine. I remember having like six browsers across two computers and like hitting F5. And I tried writing a script at one point, but it just wasn't.

Jason Turner

I think we talked about trying to get you to Colorado because Yeah, yeah.

Conor

That actually had so that was super kind of you. Uh I had, I can't remember what it was if I tweeted or something came up and I just or not, that's what had happened is it I was attending one of the virtual previously North Denver C meetups, and I had had my first vaccine and was trying to get my second one. But like basically the way I was in some weird postal code, which is the equivalent of a zip code in the States, where like I didn't qualify for vaccines, and so every once in a while this account would tweet say that we have like 800 spots. If you go to this link now, you can get like a sign up, but they'd be gone in like three minutes from the time. Right. Anyways, you had offered, I'd said, Oh, maybe I should just come down because you were saying at the time they were you could walk into any sort of Rexel or um Walgreens.

Jason Turner

Yeah, not Rexel here, but yeah, you could walk into basically any drugstore, any pharmacy, anyone that had a pharmacy, and just walk up and get a shot at that.

Conor

No health card or or anything, or I'm not sure I guess you don't have health cards in Canada or in the States, but like you don't need to show anything. They'll just be like, which one do you want? Is this your second third? What'd you have before? And that's it. Yeah. And I almost pulled the trigger on that.

Jason Turner

Uh it's not quite that. So we had we had all the backups that you all had, but you know, like a month before you did, or something like that.

Conor

Right. Yeah.

Jason Turner

And then by the time you were trying to get your second shot, it was now super easy here. But now the vaccines are not quite as free-flowing as they were. You do have to make an appointment again and make sure you have a slot. And I think it's more just about managing inventory than it is about actual availability. Like they don't want to defrost a bunch and throw them away or whatever.

Conor

Right. Anyways, I guess the moral is everyone should go get their shots. Uh, they definitely and also, too, a side benefit, I was never a big fan of needles, and I mean still I'm not, but there's a couple times now where I've had to get uh uh tetanus shot for whatever reason and uh you know some freezing for dental work, and now I'm just like, oh yeah, like vaccines are great, you know? Like that's just uh the more the mare, you know. It's uh I used to sort of be concerned going in, and now it's just like I remember that after getting the first vaccine, I was in such a good mood. Like I think I ran, I ran a couple kilometers there and then got the shot and then continued to run whatever however many more. And I was just I felt like invincible. I was like, oh yeah, I got this vaccine. And uh like some people were saying it knocked them out for a few days, and I was, oh man, it it it like uh it was like a booster in terms of my mood, and I felt like I was a superhero because I there was just so much anxiety around being able to go out, and um, it's just a and it was you know, it's only the first one of two, and you you you get even more invincible, quote unquote, you know, after the second one. But just I don't know. I I had a very good experience, you know, it felt like someone punched me in the shoulder a little bit, but other than that, I was like, oh, right, I can go take on the world again and you know go and hang out in someone's backyard and feel that much less anxious about you know um ending up ill.

Jason Turner

I kind of had a similar-ish experience on my second shot, you know, it was like uh 12 hours or whatever before the symptoms hit me from the actual shot, and then I was like knocked out for 12 hours pretty hard. But then on the like third morning or the second morning, the third day after the second shot, I woke up and like, I felt great. And I went on like the best run I had gone on in like a year, like so bizarre.

Conor

Yeah, yeah, it's uh yeah, folks folks haven't gotten their shots. You listen to those stories and go get your your superhero superhero status. Um Tune in next week for part three of this three part interview with Jason. Thanks for listening. We hope you enjoyed and have a great day.