Whiskey Web and Whatnot

The authoritative voice of AI, programming, and the modern web. Also whiskey.

145: Aspire to Greatness: .NET Innovations You Can't Miss! w/ David Fowler and Damian Edwards

Join Charles William Carpenter III and Adam Schmargyle in an engaging episode of 'Whiskey Web and Whatnot' as they welcome Damian Edwards and David Fowler from Microsoft. Listen as David shares his journey from Barbados to becoming a distinguished engineer at...

Creators and Guests

Charles William Carpenter III
Adam Argyle
Damian Edwards
David Fowler

Show Notes

Join Charles William Carpenter III and Adam Schmargyle in an engaging episode of 'Whiskey Web and Whatnot' as they welcome Damian Edwards and David Fowler from Microsoft.

Listen as David shares his journey from Barbados to becoming a distinguished engineer at Microsoft and Damian recounts his experience with web technologies from Australia. The discussion includes insights into .NET frameworks, HTML semantics, and their new project, Aspire.

The hosts also provide tips on integrating the Aspire dashboard with Otel tools, emphasizing hands-on experience. Amidst tech discussions, enjoy a light-hearted session of Japanese whiskey tasting, personal anecdotes, and dynamic software development perspectives. Subscribe for more!

Key Takeaways

  • [00:00] - Introduction and Guest Introduction
  • [00:31] - David Fowler's Background
  • [01:33] - Damian Edwards' Background
  • [02:44] - Evolution of the Web
  • [03:06] - Whiskey Tasting: Akashi White Oak
  • [05:06] - Whiskey Rating and Discussion
  • [16:06] - Hot Takes and Industry Insights
  • [32:33] - The Rise of Celebrity Developers
  • [32:50] - The Power of Strong Opinions
  • [33:32] - Implicit vs Explicit Types
  • [34:53] - The Evolution of .NET Frameworks
  • [36:04] - Introduction to Blazor
  • [41:08] - Understanding Aspire
  • [51:44] - Balancing Work and Personal Life
  • [52:39] - Sports and Hobbies
  • [57:59] - Reflections and Future Plans

Links

Connect with our hosts

Subscribe and stay in touch

Whiskey Web and Whatnot Merch Enjoying the podcast and want us to make more? Help support us by picking up some of our fresh merch at https://whiskey.fund/⁠.

Episode Transcript

Chuck: Welcome everybody to another edition of Whiskey Web and Whatnot. I’m your host, Charles William Carpenter III. And my special guest co host today is Adam, what’s your last name?

Schmargyle. He’s a smurf. Anyway, our guests today are Damian Edwards and David Fowler. For those who don’t know who you are and what you do, I guess we’ll start with David.

Tell us about

David: Oh, awesome. David Fowler, I’m from Barbados originally, if you don’t know where that is.

Chuck: Oh, yeah.

He

David: it the land of Rihanna. That’s a good export.

fun fact, same school, same time, me and her, two years apart. So I’m famous by

Chuck: adjacent. Close enough. Sorry. I’ve been promising Rihanna we’d

David: Adjacent, close enough,

Damian: Rihanna would come to his birthday

party the entire time I’ve

David: But hold on, when it happens, it’s going to be epic. I don’t know when it’s going to happen, but when it

Chuck: She’s been

David: been busy. Ha

Adam: putting notes in the locker, trying to say hi,

Chuck: was.

David: Definitely not been at Microsoft for 15 years for 15 years this year.

Chuck: Yeah

David: Only job I’ve ever had from college. So intern for two years and then I’ve been there the whole time working mostly on dot net frameworks, platforms, servers, a ton of different things.

So now I’m a distinguished engineer at Microsoft.

Chuck: Microsoft. Very nice.

David: happy about And yeah, that’s what I do.

Adam: worked at

Damian: Yeah, so I’m the old man of this duo like I did not. I’ve worked at Microsoft for a little less 13, 14 years. So I came just after a fellow. We actually met. The year before I joined because I came to a conference at Microsoft went to meet one of the product owners and said, I got this problem with my code.

He said, just wait a second. And he trotted the dev in like the SD two like the junior dev. And it was Fowler and I didn’t know him from a bar of soap and he fixed my code and then fast forward five years and then we met again in the hallways and we were both working there. So yeah, but before that I was in Australia.

That’s where I’m from. Originally, although I grew up in England as well. And I’ve been working with NET since the very beginning, so years now, but as a customer, before I joined Microsoft, I was a dev, and before that I was in IT, so yeah, I’ve been working in, with the web since the very beginning, like early to mid 90s,

I’ve seen it all, yeah.

Chuck: created

David: Under construction. I

Damian: had under

David: GIFs

Adam: Nice. So there

Damian: it GIF, so there you go.

Chuck: The right

Damian: The right way. Thank you very much.

David: very much. Like the peanut butter.

Damian: So now, but now I work with Fowler and with NET, so yeah.

Adam: was so lucky to like, grow up with the web. You saw it when it was just, you know, Kind of basic. And here we are chopping things up into the smallest pieces that have ever been, that we’re, we’re shipping them across the globe into the smallest edge nodes that have ever existed.

David: HTML file to a different server. Micro Yeah.

Damian: app is now

David: now 472

Damian: megabytes being delivered to your browser,

David: browser. It’s a client’s problem. That’s

before we get

too

Chuck: so before we get too serious, let’s talk a little about whiskey. Why you’re really here. Because I bribed you. So today we’re having the Akashi White Oak Malton Grain. It is aged a total of five years, so it’s three years in used bourbon barrels. And then two more in Mizerna, Mizunara, I can’t say this right and someone will correct me.

Miz, yeah, Mizunara Oak. Mizunara Oak. Okay, yeah, thank you. See, words, words are

Adam: look at the

David: distilled in the scotch style, but it

Chuck: this is it is distilled in the Scotch style, but it is a blended whiskey. So couldn’t get a specific mash bill, but apparently there’s rumors of rye and some other things, not just malt. It is 80 proof so only 40%, David, you’ll be fine.

Damian: a lightweight one.

Chuck: Yeah. Yeah. We start you off right in the afternoon. And also I’m, I’m gonna have to add some sound effects later. Usually I’m like

Damian: also, I’m going

Chuck: add that too. It’s the twist. It’s nothing but the nicer ones.

Adam: was cool, it was

Damian: cool. ASMR. ASMR? Opening the whiskey?

Oh,

Chuck: Oh yeah. Now we have to finish. It looks like I broke the lid. And anyway, I’m gonna pass around some of the pouring there

Damian: I have not, I have not had this one.

Chuck: Yeah, I hadn’t either. I’ve had a few, a few Japanese.

Yeah, there you go. It is very, like, people usually think we add in these sound effects,

Damian: but No, we can, we can vouch.

You’re

Chuck: yeah, yeah. I’ve always wanted to be a Foley artist. So,

Damian: Foley

Chuck: it’s the group of people in films that add all the sound effects.

Damian: in films

Chuck: other

Damian: all the sound

Chuck: Yeah, I know. It’s not just Axl’s last name and Beverly Hills Cop, it is actually a

Damian: Cop.

David: Oh, it’s not

Chuck: No. Yeah,

David: dude is pretty

Chuck: yeah, yeah. Also good.

Damian: the sound they always make is dun, dun, dun, dun, dun,

Adam: mm, mm.

David: please Academy the guy that’s all the effects with his mouth. Yeah

Chuck: Yeah. That guy. He’s an amazing Foley artist. Alright, so first we’re going to take a little sniff of this. Yeah, we start with a sniff, and we have a very highly advanced rating system. It is from 0 to 8 tentacles. 8 tentacles is, so the logo or the mascot for the podcast is an octopus.

And then we’re engineers, so we’re index based. We give them an extra one there. So 0 is terrible, I don’t want this anymore. 4 is middle of the road, not so bad, but eh. And 8 is clear the shelves, give me nothing else. This is amazing. Okay. Yeah, so give it a sniff and go from there.

Adam: amazing. Okay, yeah. Give

Damian: It’s very

Chuck: yes. I was going to say

Damian: Not, not any fuel or anything like that

David: on. Tastes

Damian: light.

Chuck: I get a light vanilla and a little something fruity though. And you could probably just say dried apricots, but say dried

That’s

my, that’s my catchphrase for, you know, it’s a catch all really of like, I don’t know what this smells like. It’s fruity. It’s I don’t know if it’s bitter ends up being like an orange rind or something

Damian: It’s always got to be charcoal, leather,

Chuck: Mm

Damian: shoes, some type of flour.

David: It is like

Damian: No, it’s quite

Chuck: it’s got some sweetness,

David: Kind of sweet, right?

Adam: I don’t

Chuck: Mm hmm. It’s almost like syrupy in the

David: I

Damian: Actually, I noticed that at the end, more than I did at the beginning. Yeah,

Chuck: getting that initially, like a little bit of thickness in the

Damian: a mouth coat. I’m still feeling, I haven’t, you know, it’s been 20 seconds now and I can’t talk. I’ve had one

David: You know, when I when I was like,

what, 12 or something? At a party with my family?

There were drinks in the fridge, and one was mine and one was not mine.

And I grabbed the one I thought was mine, and I drank it, and I had this like burning sensation. I was like, oh, what is this thing? And I just had the same, the same feeling

Damian: It’s the same feeling right now.

David: from my childhood.

Adam: taste memory. Taste memory is totally real. You got smell memory, taste memory. Yeah, very nice.

Damian: So what you’re saying is it’s not smooth going

David: down. I find

Adam: do not like

David: very drinkable.

Chuck: Sam I am. I do not like that. Yeah.

Damian: I find that very drinkable.

Chuck: hm.

Damian: It is, it does have a little of a burn going down. Like there’s obviously much smoother

David: it all burn?

Damian: No.

Adam: all burn. Well, I mean, some burn

Chuck: An 80 proof for me, usually 90 and below, will be pretty smooth. I mean, unless it’s maybe a rye, we’ll have a little spice or something to kind of remind me, or a warming there. But, I call it the hug. Kind of like the hug of the whiskey as it’s coming down. It’s giving you a little inside hug. But this one

is pretty mild But,

David: hug.

This

Damian: warming, it’s not,

David: not

Damian: I would call it warming

Chuck: yeah.

Adam: luck for your tongue.

Oh, thank you for the giggle. Thank you. I appreciate it.

Chuck: I’m

giving it, it’s a courtesy laugh. But courtesy laugh.

Yeah, something

Adam: It was a

Chuck: I’m laughing at you, not

David: this is like almost

Chuck: different. Yeah, no, this is like almost refreshing, which is weird for a Japanese whiskey for me. I’m always prepared to have like, they are smooth, like very clean feeling, but I’m always prepared to have more smoke or more peat.

This is a very light peat, like on the finish for me, a little bitter, a little peat there. So yeah.

David: is he?

Damian: You

David: a guy.

He’s

Chuck: Pete, you know, that basketball

David: not gonna

Chuck: I

Adam: He’s on the puns also, you know, on the pun train.

Chuck: You’re in it. Well, for that, I’m going to definitely make you go second in the ratings. So for me, and I’ve had so many of these because I’m a crazy alcoholic.

And so I compartmentalize my ratings by category, but you can say any spirit or any whiskey, you don’t really drink whiskey. So you probably can’t say, Oh, well, compared to other whiskeys I’ve had, but in general, like across spirits, maybe.

I’m gonna say across Japanese whiskeys. It is like I mean the price point is super approachable.

I think it was like 50 bucks maybe, like

Damian: think it’s even

Chuck: It might be even cheaper,

Damian: mean, depends what state,

Chuck: I was gonna get a nicer one and then I looked you guys up online and I was like, I better save that, that for someone

David: I think,

Damian: State I think has more tax

Adam: yeah,

Chuck: Oh, interesting. Yeah, plus I went to like a city liquor store, so it might have been a little more versus like Total Wine. But, so, in that range yeah, it’s quite flavorful, it’s smooth. I would definitely have this again. I, I, I find it slightly refreshing.

I’m going to give it, I’m going to give it a seven for me.

It’s actually for a Japanese whiskey specifically, unless I want like a heavy hitter. Like I want a Nika, I know I want a Hibiki like smoke bomb or something like that. I would, I would actually like go more this direction, especially we’re coming into warmer months and stuff. So maybe I’m askew by that, but yeah, it’s a seven for me.

David: it’s

Chuck: I don’t know. Yeah. What do you think David? Seven, seven. That’s the magic number. It’s like seven minute abs. Yeah.

David: a

Adam: minute abs.

Chuck: is.

David: What?

Damian: Yeah, I was like, now he’s interested abs in seven

Chuck: Seven minutes, all you need.

Adam: Become a dev in seven

Chuck: till he gets this joke from, I think it’s from something about Mary or something like that, right? Yeah. Anyway. I

digress.

David: Let me see, as a non whiskey drinker it didn’t completely destroy my chest. The hug felt like, not super bad. It’s not smoky.

Damian: Not

Chuck: No.

David: Five?

Chuck: Five, yeah, like would have again wouldn’t necessarily seek it out,

David: Yeah, if it was on this podcast again, or at Damien’s house,

Chuck: We’ll see. Yeah

David: the whiskey

Damian: I have nothing this lightweight. Yeah, this is

David: That’s what I thought. It feels light. It feels easy to drink.

Chuck: Yeah, It’s

like it’s like Fisher Price my first Japanese

whiskey

David: Price. That makes sense. It’s training wheels.

Chuck: yeah, yeah

David: I’m gonna buy some.

Damian: You should.

Chuck: You live here? Okay,

David: Is there

Damian: Well, there you go.

David: Is there like a mega light where there’s no

Damian: There are lighter

Adam: You

Chuck: There are,

Damian: floral, absolutely. Even

Chuck: whiskeys might be a good choice for you. Iris whiskeys tend to be quite a

Damian: Talk to Barry about that.

David: you start? That’s how you start off? Okay.

Chuck: Yeah, yeah, see, we’ll help you out. We’ll get you there.

David: We’ll give

Chuck: I feel like Damien’s going to have a lot to say, so what do you think, Adam?

Adam: I find it very approachable as well. I’m even getting a little juniper as it kind of continues, which maybe that’s just me having this this Sensation of when I smell juniper is now resting on my tongue. It’s I happen to like juniper juniper I know a lot of people hate it. I’m down. So I like it a lot. It is very approachable There’s almost something juice like to it, which

Chuck: yeah, like it’s thickness is kind of like lends itself to may have more of a

Adam: Yeah, so we we had some yesterday Yesterday’s was very nice as well. Yeah, not the same one. We had a different one. So I’m kind of comparing it to yesterday. I’m enjoying the, the, the layers on my tongue at the moment. I’m going to, so yesterday I think it gave it like a six. I’m thinking like a six, almost a seven as well.

I think sounds very, I would like to get this again and show my friends. This is very nice. Okay. Yeah.

Damian: That’s very high. I mean, there’s not, there’s not many places to go from there. There’s just the eight, right? Like, that’s really, that’s

Chuck: that’s really it. Like, is this the best? This could be a 4 for you. It’s fine,

Damian: It’s definitely not a four. I think, I think there’s a bell curve, like, going on here, like usual, and so I think I’d expect to see a lot in the middle. And so, I mean, I’m enjoying this very much. I, I will be really snobbish and say, I’ve seen this bottle on the shelf many, many times, and gone, that’s too that.

Chuck: bottle

Adam: Yeah. That’s

Damian: So my daily drinker, I usually, Japanese whiskey wise, I’ll usually be doing either Hibiki Harmony, which unfortunately has gotten a lot more last 10 years than it used to be or a Nikka, so a coffee grain or a coffee They’re staples but those are a bit more, like they’re, you know, probably but this is very nice. This is really,

to drink. So I will pick it up next time I see it. So, I mean, I don’t think there’s any higher praise, really, than that. I

Adam: Put it on the shelf, yeah.

Damian: collection. I’ve probably got 40 to 50 bottles. And so, So I will easily give that a six.

David: So now will you not, will you judge other cheaper whiskeys less,

Damian: Yeah, so like there’s another one.

Adam: What are you learning from this experience?

cheap Japanese

Damian: called Toki, which is by Suntory and it’s in a rectangular bottle, you see it everywhere. And someone once said to me, Toki is just Japanese for whiskey. Like that’s like

the,

Chuck: the default. It’s

Damian: thing you can buy.

It is like the default. And so like in America, it’s sold as like, Oh, a Japanese, like the entry to the premium Japanese. And he’s in Japan, that’s

Adam: Japan. That’s just the

Damian: That’s just the whiskey. And so I’ve never bought it and I don’t know what it tastes like because I’ve been, I’m a snob. And so I, but I’m going to buy this.

This is actually very,

Chuck: Yeah. I’m going to say this is the Buffalo Trace of Japanese whiskies.

Damian: know what that

Chuck: You don’t know what Buffalo Trace bourbon is?

Damian: So I am not a bourbon, I’m not an American whiskey drinker. I’ve only recently started basically buying American malt

So that we have a few local distilleries, which I’ve bought some bottles of recently. And then my, I’ve really never, ever liked like rye whiskey or bourbon until recently when someone gave me a bottle of bespoke whiskey, they had made a bourbon they had made.

Chuck: That’s

Damian: that’s the fucked one. You know, what’s funny.

I

put that photo on Twitter. I couldn’t even tell you what it was called. I totally never

David: gotta

Damian: saw, I gotta look up that, I’ve got to look up the photo now because you’re telling me what it’s called and I

Chuck: Don’t know I’m just pronouncing

Damian: could have just planted that in my mind and I’m just going along with it and I have

David: I’m like,

Damian: I’m going to

find

Adam: was like F E U C T, and I was like, we both looked at each other and were like, that’s

David: we both looked at

Chuck: a very clever phonetic way of like saying fucked.

I

Damian: is it. That’s literally that, yeah,

F E U C H T. And so anyway, I took The fact that I bought, I got this whiskey given to me, I was like, okay, I need to, need to try drinking this. So I’m like, old fashions, you know, I’ve enjoyed them when I’ve had them out a couple of times, but now I’m like, all about the old fashions.

So I’ve got some more mixing gear at home. I’m making them for my wife and I most

Chuck: Are you doing it with like turbinado sugar and,

Damian: So I’ve just, I started out with just white, classic sugar cubes. This week, for the first time, I used brown sugar. So just like,

Chuck: You want Turbinado specifically.

Damian: but that’s part of the fun with an old fashioned, as I understand it. You can rotate the citrus, you can change the sugar, you can do the ratios.

I do have an orange bitters and an angostura bitters, so I’m doing both. And so that’s

Chuck: Pouchard’s,

Damian: a lot of fun. Okay, yeah.

Chuck: is another, like, more traditional

Damian: I don’t have that one. And I have a new ice maker. It’s probably sitting on my doorstep at home waiting for

Chuck: clear ice

Damian: Clear ice. So I’ve got a current, like, just a tray that I’m using, but I’ve got one that makes

Chuck: Yeah, yeah, you are also an alcoholic.

David: This is classic Damien, just like, just so you know. This nerding out on something is what he

Damian: I don’t do anything lightly. That’s what my

David: There’s no

Damian: you’re into it, it’s like you’re into it.

David: Like, Damien, I want TV. He’s like, okay, here you go.

Chuck: Yeah.

David: Details,

Damian: Got all the details for you.

David: Here, spreadsheet.

Adam: though, especially

Chuck: good friend to have though, especially if he’s gonna like, do the deep dive, and you’re like, Well, I know it’s gonna work out, pick one of these three.

David: He does it first. Then I’m like, Damien, tell me, what do I do? What do I

do?

Damian: I think your chair, your desk, your monitors, your computer I built for you, your monitor arms, your microphone, yeah, everything,

Chuck: yeah,

Adam: Quite apparent.

Chuck: Quite

a, quite a pair, quite a pair.

We are going to move into a few hot takes. I’m going to make them up on the fly a little bit. I mean, you can look at the list and pick one, but we discussed some before too. Before we started recording, there was a mention of micro HTMLs and all of that.

Here’s a question for you, David. Is H-T-M-L-A, programming

David: language,

Oh, snap. If you were talking to David. In 2008, he would have scoffed at you.

Chuck: Yep.

David: Programming language? Like, HTML? Of

Chuck: What a

David: It’s a markup language, and then you get all pedantic, right? Nah, I’m like, I don’t care.

Adam: I don’t care. Yeah,

Chuck: yeah, that’s kind of where I go with it too. Just,

Damian: Remember that bell curve we talked about before? Yeah.

Chuck: yeah.

David: I used to care a lot about, like, it being, like, correct.

you are not correct. Like, it is a markup language. Like, what are you talking about?

Chuck: Yeah, yeah. Oh, so you don’t care about semantic HTML though. Back in the, back in my little dalliance with NET, it was the web forums days, and getting, like, pages that were just div drove me

Damian: Fowler can tell you a story about me before I worked at Microsoft, but when he first came across me to do with semantic HTML and Yeah, I was loud. So I was one of those Do it right.

in the AceNet

Chuck: Yeah,

Damian: who cared about X htm, L 1.1. Who cared about Doc types.

Who cared about, and so me and another, another

Adam: You read the

Damian: Yeah. So we, we came to like the feedback

David: Fed the gospel.

Adam: want

Damian: they were like, so anyone got any feedback And me and Tatham, the only feedback we had was like, fix the HTML rendering of ASB net because it’s not compliant, and da da. And we were like really into it at that point 2008.

Adam: 2008. Nice.

Chuck: Yeah, I think that’s a similar time. It was like the precipice of MVC conversions, or at least where I was working Yeah.

Damian: it was also on that precipice of like IE7 going to 8 and CSS 2. 1 compliance and we’d just come out of like IE hadn’t revved in 7 years and it was the one everyone used and

Chuck: think that’s what I,

Damian: and the

world

Chuck: All the good stuff Microsoft has been doing for a while, I appreciate, but I don’t forgive them for IE6 for quite some

Damian: Because it was so successful? so successful. It was fucked

Chuck: fucked up so much of my time

Damian: I, I hear you,

David: a hot take?

Damian: I hear you.

Chuck: I’ll take one.

David: Safari is the new i6.

Damian: That’s not hot

Adam: no man,

David: didn’t even know that was the case. We built this new dashboard, like, for the thing that they were working on, Aspire, the shirts we were wearing. And it was all good. We were like in the last few previews, and then the bugs came in.

And I was like, huh? There’s still specific browser bugs? In like 2024?

On Safari? I’m like, what? Huh? are we?

Chuck: You’re like, fuck those Mac

Damian: Which is unfortunate, because at least on a Mac you can install another

Chuck: Yeah, yeah.

Damian: if you’re on an iPad, or an iPhone, You

David: point.

Chuck: still install another

Damian: the same engine though. It’s still

Adam: Almost

Chuck: Oh, Mobile Safari, yeah. Which is kind of forked though,

Damian: Is it really?

Adam: really? Yeah, even mobile Safari is different from

Chuck: Yeah, it

Damian: than desktop Safari or

Adam: is. It is a little behind. It’s a little behind, yeah.

Chuck: so there you go. Well, anyway, that was one hot take.

You want

Adam: Yeah, what’s so we’ve got all these Javascript package managers and how much do you laugh at them when you’re just like Ha ha ha, I’ve been around.

You all can do that all day. So what do you make fun of when you’re like, a new package manager in Javascript? What? The F, like, what do you, yeah, what goes through your mind when you see that?

Damian: In Javascript, what do you have, like, what do you, yeah, what goes through your mind when you see that? We got burnt so hard and we literally just pulled the ripcord and said we’re not doing that shit ever

Chuck: We

David: we tooled Bower. Then we tooled Grunt. And while we were doing

Damian: came out a girl died

David: it was like,

Damian: in weeks

David: Yeah. So

Chuck: So you’re like, so no webpack for you I guess.

Damian: Which is come and gone as I understand

Chuck: of, I mean it’s hot garbage.

Is it veet

David: it veet or vite? It’s

Chuck: It’s the French word so it’s Veet

Adam: I first

David: So I first saw it, right? And I was like, wait, wait, wait, hold on. Is my pad dead? No. I just love, I love

Chuck: I don’t, I don’t care if it’s dead or not, it’s dead to me.

I

was I like saying veet, it is super fast. I actually kind of like bun too, but I’m tired of changing

David: But is it faster than a TurboPad? Written in

Chuck: Hey, we don’t, we don’t fuck with

David: don’t fight over

Chuck: whose

David: to the name. It

Adam: Dun

Chuck: it’s like the

David: We just gave them a

Adam: Oh, we just gave them a logo idea, damn it, dude. Zelda’s definitely gonna lift up the

David: up. They’re all black.

Chuck: in all black. Everybody wears all

Damian: Matt Black.

Chuck: Yeah, oh yeah, Matt Black, everything’s very Jay Z of you.

Adam: here. What, here’s a hot take. Like, I mean, is NET full stack fully relevant in these days where I can just use Next.

Chuck: js and write my whole application?

David: Let me stand up on the high

Damian: I know you have a lot to say about this. I have the more level,

Chuck: Yeah, I’m gonna go with this.

Damian: and then you can go

Chuck: I understand, I know when I want to unlock the rants

Damian: So look, I genuinely believe there’s space in our industry what we have now and a hundred times more.

I love the fact that we keep inventing shit, like, every year. There’s new stuff that comes out, and we don’t deprecate

David: you ever think of is

Damian: of is still being used by some poor sap somewhere, or someone who really thoroughly enjoys it and will argue about it. So we just keep Adding stuff, which is fine.

I think that’s just kind of what our industry is about. You just keep adding new stuff And then of course when you step back for a moment Or you’ve been in the industry lucky enough to be in it for a couple of decades Like I have you start to see patterns you start to see cycles and you can get a little cynical It’s like well, we were doing that 24 years ago.

It was just called this but that’s fine like because new people discover stuff But I will say the one thing I do find difficult is when you’re not New folks come and they say, Damien, you seem to know a little bit about blah, blah, blah. How did you learn? Can you tell me how to, with the implication being, How do I get to your level?

I hate to tell you, Do you have 25 years to wait? It’s like because I didn’t read a book, I didn’t do a course, I lived through the beginning of the internet, I lived through the browser wars, I battled with all that stuff, and I read stuff like anyone, tried a few things, and ignored. There’s far more I’ve ever ignored than I ever used or knew about.

And so I don’t envy being new in this because it just snowballs. It’s not simpler than it was 40 years ago because we invented something, there’s just more layers and more stuff for you to know. So that’s unfortunate, but I think this is kind of the devil of the

Tell them what you

David: them what Damien is so level headed. And it’s so reasonable of all this stuff. So your question was about is done. It’s still relevant in 2024.

Chuck: Yeah. Compared to like, now that ne next js is the, is the full stack app, as long as you include auth and mailers and web hooks and 50 other libraries.

David: So relevancy, I would say yes, yes, overall. These new frameworks. I think they all push the envelope going forward. So everyone will reinvent something like Damien said. And they’ll be small innovations because they’ll be some new enhancement in some new feature. So it’s the same overall feature server side rendering.

When that post happened, like we were just in the office is going like, Is this a prank? This is Joe. This can’t be real, right? But I mean, it’s not exactly the same. There’s a lot of innovations like tiny things that you don’t see if you’re just like zooming on going. I’m cynical. I did PHP like 20 years ago.

It was the same thing. So I think we appreciate what those frameworks do. From like dot net framework person kind of point of view.

I think people don’t know

what’s there because of our history, like the new dot net is just not the same as the old net and Damien actually took a next JS app and ran it in our performance benchmark.

And it was abysmal. All right. The purpose was not even it was even close to being a reasonable what we would consider like a fast, reasonable framework, but that message does not get out. Like, it’s really hard to people that kind of see past the fluff off. Oh, it’s like super old and crusty. And my dad used it.

And it’s like, no, no, no. Our new thing is super lean in this next. Yes, thing is like bloated and slow. No offense next. Yes, people, but offense

Damian: probably better than when I did it a year ago,

David: year ago.

Chuck: At least from a, like a PR perspective, they come out and say, well, like the benchmarks need to be within particular constraints and there’s like, you know, ABC thing. It has to be apples to apples. So you’re doing this and this. Yeah,

Damian: But you also said the measure where you said they are very good at the PR. In fact, you know, internally, when that comp happened, we had managers like saying to us, like, why are they so much better at this than we

David: than we are?

And

Damian: And it’s not I think the real the real answer is that we don’t see ourselves like they do.

Right. Like, we are NET within developer division at Microsoft, at Microsoft. But we are a team, within a bigger team, within another team, that works with other teams. Like, we’re not part of the Microsoft machine, as much as everyone just kind of says, well, anything from It’s not really how it works So, we’re not, we’re not really out there trying to market ourselves as a thing like any We don’t have, it’s funny, we don’t have NET Conf, we do have

NET Conf,

David: a conference

Damian: it’s fantastic. But There’s something different about how we do those things.

Like we don’t have,

Next. js is a company effectively that was now owned by Universal and all the rest of it. And, you know, they have their goals, which is all fantastic. should have.

but we kind of just, I think, operate differently. We don’t go out there to with Next. js or compete with PHP or even compete with Java.

You don’t see us doing blog posts about like, Oh, we’re better than XYZ because, you know, whatever. But we could. sorry to

Chuck: you kind of need a DHH that’s kind of out there and

Damian: PHR.

David: that. I got a lot of followers on Twitter, I could just tweet some

Damian: just tweet some stuff. I mean, you have to get that view that

David: Hanselman

Chuck: You, you have to get that view that he has, though. Every time he takes a picture of his desk, like, at

David: desk, like It’s

Chuck: main house, by the way, and it’s just like this beautiful expanse. And then his other house also kind of has that set up, so

David: DHS says some spicy stuff. I watched a podcast with him recently, right? And I was like, his takes are more level than I think they come off on, on in his blogs or his rants that he has on Twitter and stuff. I think it’s funny. I saw a lot of the things that Damien said and what DHS says, like the whole no build,

Chuck: yeah, yeah, yeah.

David: like, it, it seems, if you zoom out, right, we have made front end dev so complex.

And all the tools from back end dev are no for front end dev too. And it’s like, people accept. That is this is just how it is. I think when you when you want to build something new or or if you want to do something innovative, you kind of have to go against the grain, right? And people will call you crazy.

People will say, like,

Everyone’s doing this. Why? Why are you not using the industry standard? The best hot tick I have is industry standard is just an alternative for saying what everyone happens to be doing at the moment, right? Not to say that that is not

Adam: not mainstream.

David: you know, Yeah, it’s mainstream. It’s sometimes fashion.

It’s not all. It’s not saying that it’s not all hype. Like people learn these systems and you can transfer knowledge. If you want to move to places like there’s value, right? But the thing that is right or wrong is, I think, where developers get stuck. This is the right way of doing things. It’s like, no, no, that’s the way you’re doing it now.

Do you

Damian: way you’re doing it now. We’re gonna get really spicy, let’s get really spicy. Do you think there’s part of like the software developer slash engineer’s identity

Chuck: software developers,

Damian: we’ve been trying to be a profession, air quotes, ever since the inception of software development, and we look at our

Chuck: We’re not real

Damian: We’re not real engineers. That’s the reality. And so we try to create the rigor, we create, you know, there are societies and stuff, and I have nothing against any of those things. I actually think standards and trying to move language forward and agree on things, I mean, that’s all goodness. It doesn’t, We shouldn’t take away from that.

But there is something different about material science, and then, you know, building a bridge, knowing that the tensional strength of this thing, and the, you know, brittleness, I can take this great of steel and do that with it, and there’s like a whole

profession around that. Whereas software is like, I read this book, and it was really good.

And so I’m going to do that, and I’m going to believe it wholeheartedly, and then I’m going to argue it. Right. Or he lived through the dot

Chuck: might

David: I won’t say it, I was gonna say it, I was gonna say clean, clean architecture, probably the biggest meme, the thing that I think is always funny devs love to have like the right way of doing things, solid principles, I remember, I remember, you know, 15 year career, just watching this whole wave be created and watching people talk about, you know, when you interview a software dev, like, what should Solid principles. And I’m like, What is this thing?

Chuck: That’s just one way of thinking and it’s like, like you said, it’s the loudest people who have the most pervasive

David: it this way.

All

Chuck: and then in your bubble that happens to be the loudest voice. So you’re like, you’re right. Or, Oh, I write JavaScript. So this person must be,

Damian: Or it worked for you for whatever

David: you. Yeah, exactly.

Damian: you because we’re humans and we’re squishy

David: So no, everyone does it

Chuck: It’s so funny though, because I got into this profession, like I took a weird path along, and I chose code because it was, there was a billion different ways to skin a cat.

And I could get creative, but it was always about outcomes. Who cares how I got there as long as the outcomes were what were expected. And that’s what I loved about it. And now, it’s like, you’re an idiot if you don’t do this. I’m sure I’m horrible compared to a lot of people. It’s like, I’m not the smartest person in the room.

I never try to be. I might be the loudest one sometimes, but I’m talking about whiskey anyway, so You know what I mean? Like But it’s fun. But that’s the fun part of it. It’s like, pick a way, let me get creative, and Yeah, maybe there’s some jank in there, but

Adam: yeah, more

Damian: craftsman versus professional

Chuck: they’re more of a craftsman, exactly.

Like, I’m a carpenter, I, you know, like, I want to figure it out and get in there and find some tools.

David: go in Home Depot and you pick the best tools and this clown is trying to use his hand to like break the wall.

Chuck: ice pick where we need a hammer.

Damian: to a

different type of and you go, oh my gosh, like a Japanese Carpentry tools, which are very different from Western carpentry tools, which are different from some other cultures, and oh wow My toolbox is a bit bigger now, or you might go.

I don’t need that. I’m perfectly fine doing what I am and that’s okay You don’t have to really argue about It’s ever but some people like to argue about it. That’s fine. I think debates fine.

David: Tabs. Tabs. Spaces.

Adam: Well, a lot of people are like obsessed with the right way. They’re so intent on the right way because they want to skip ahead. So a lot of people as they’re learning and as they’re growing, they want to know how to get there now. And so it’s an, it’s an impatience. And it’s, they want to look good, and they, well, they also want to make something good.

So a lot of it’s born out of like, healthy ideals. But the problem is, is that when we have had a long time in the web, or a long time building things, you acquire so much along the way that’s valuable beyond what was the right way. You discovered, I was telling them on the way over here, I was like, the more you know about what was wrong, Guides you towards the right thing And so I feel like a senior at distinguished engineer has probably screwed up more things than me by screwing up more things He now has more ideas of what is right and ways to wiggle within the rightness.

Damian: And maybe it’s not even right or wrong, it’s just I have a better understanding of how to make

David: trade offs.

Adam: Yeah trade off management that’s in it, yeah senior developers are trade off management

Damian: all, it’s exactly right. And that’s exactly, the more experienced you are is literally Typically, I can just see the trade offs. I’m going to have to make two steps ahead of someone who isn’t maybe slight as and that comes up time and time again.

How did you know? Well, I’ve been here before or I’ve seen this pattern before. Even if I haven’t seen this particular thing, I was able to use my experience and a bit of reasoning to maybe take a jump, a guess, probability, a leap of faith or reasoning rather than a leap and that’s fine. But I think the thing I want to say is that I think there’s space for all of those people.

Like, it’s not like everyone has to be like, some people can do it as a tool, as a job, nine to five, they get paid, they do the thing and it’s fine. And other people can love the craft. And guess what? They’re going to contribute a different way to the other folks. And that’s We shouldn’t have to really care that

much

Chuck: We shouldn’t have to really care. But then now you have this whole new breed of celebrity devs,

David: Ooh, it is amazing. I watch them on, on YouTube, and I, I find it

Chuck: I, and I like, you know, and I like some of them. I

David: too, I watch, I watch it all the time. Yep.

Chuck: smart and all that kind of stuff. But it is interesting to just, you know, this is a career where you get on and you stream and you, you know, you’re a personality and a celebrity and like that.

Also, those opinions start to become

David: De facto,

Adam: they are, the more popular they get. So it’s like, if you were to get on YouTube and have a weak held opinion about things, you wouldn’t do well. So, you have to get on there and have strong

David: them,

Chuck: You gotta be spicy, you gotta make a weird face

David: spicy. You gotta

Chuck: there’s no video

Damian: thumbnail matters.

David: Guess what this

Chuck: yeah.

David: Inheritance sucks. One or

Chuck: Classes are

David: for both

Chuck: Yeah, I love hooks.

David: No.

Adam: Oh wait, here’s one of the hot take questions, is implicit types or explicit

Damian: One of both. And there’s a place for both of them, isn’t there? No.

Chuck: No? You don’t trust other people, this is a trust

Damian: thing.

David: is that the language

Damian: the language that we use, C sharp, C sharp 13, which is the version under development right now, literally has a new feature called, like, extensions everything.

And it has two keywords, implicit and

David: think that’s more dynamic, right?

Damian: It, well, it is, it is. But it’s just interesting that these concepts of, like, implicit and explicit when it comes to type systems, it’s Even in a strongly typed system, you can get into places where expression allows you to say, well, I want to extend this thing with a pseudotype, but I want you to do it implicitly so that the person doesn’t have to say it’s that it’s just the language knows that you now have these things versus you have to be explicit

David: it.

I will say, I am

shocked that the languages that don’t have type are still used so progressively. I think, like, by professional developers, I feel like when you just get started,

Python is like amazing for just like iterating and like doing notebooks and like, I don’t know if you’d want strong types for that like at all, But then like at scale software development

And like dhh does it I have no idea how I have no idea what level of experience you need to build a giant ruby app That like works. Well, I mean github does the same thing. I mean, that’s what everyone says. I just don’t

Chuck: about the same thing? I mean, I just don’t I just don’t Yeah. Just do it this

David: you do this, you’re

Chuck: If you just do it this way, don’t get creative, follow the paths, and everything is happy at scale, we can prove it.

Right? Like, so, if you have that mentality, if you get creative, then you’re off the rails, wah wah wah.

Damian: Ah.

David: NET, people will just create interfaces. Oh, the wazoo.

Damian: Maybe

David: Abstractions on abstractions, and we love our interfaces.

Adam: Yeah, they feel so good to write,

Chuck: Maybe I should switch to C sharp or something. I’ve been, I’ve been thinking, I’m maturing quite a bit these days, and I’m, I’ve been thinking about new homes, and I’m like sort of tired of arguing with people, and, so, I mean, you may have an opportunity to convince me. I do like Django a lot. To be honest, too.

Yeah, it’s like you said, it’s fun. It comes back, you know, batteries included. It’s like, it’s like natural language. And so you’re just getting shit done. I don’t care about semicolons. I don’t care about brackets. Like, it’s just not that serious for

Adam: me.

So I

Chuck: think it’s kind of like a fun place to be, but it doesn’t, you know, it’s not the only game in town.

I don’t know. I think we should get into a little bit because I wanted to go and see your talk today. And Adam was like, that’s lame, bro. Like, let’s, would love to hear. I would love to hear a little bit about what your talk was today and like kind of what Aspire was because I’m not 100 percent clear like what is the Django, what is the Rails for NET, I think it’s like Blazor, Blazor, something like that, wasn’t that one?

Damian: Let’s try and paint a picture, I guess. So one of the challenges of NET as a product is it’s everything, which means there’s nothing. And so it actually makes it very difficult for us. So Blazor is a UI framework for building web UI. That’s really what it is. It’s the simplest

Chuck: it

David: going top down or bottom up?

Damian: I’m just picking the random ones that he said.

So, Blazor is a web stack, just think of it that way, but it’s about UI. So it’s components, and it’s HTML, and it has bundling, and all those type

David: you want an analogy, like, next, right? Next plus more stuff. But component based rendering.

Chuck: the browser.

Damian: Blazor’s trick was that because it’s C sharp, we can’t run in the browser, and so we, what we do is we compile to WebAssembly. And so we can run a WebAssembly in But because it’s C sharp, it can also run on the server. So you can have a component that kind of runs in the server, but also runs in the client.

Or you can be all client. It’s so isomorphic, before that word was even used to describe this,

David: used

Damian: Anyway, so, That is what Blazor is. But before we had Blazor, we had pure server side rendering frameworks. And we’ve had like 14 different versions of those ever since of NET. And I’m not

even

Adam: That’s good. That’s healthy. You got a

David: no, we

Chuck: that’s right. You’re out. You’re fired.

Damian: Yeah.

David: Our web server.

Chuck: round of layoffs

David: J. S. I guess you could

Damian: So, we have our server, like web stack, our web server, our Node. js equivalent, I guess you could say. And I guess that’s ASP. NET

David: the big thing. The big it’s a brand, right?

It doesn’t really mean much. It’s the entire brand. Then they’re at the very bottom. There’s the runtime. The C. L. R.

That’s the thing that takes the like low level. I know the byte code and turns it into like things. I think things are run right on the machine and then on top of that we have what we call frameworks are the base class libraries, right?

The BCL what we call it standard live is what you’d call in

Chuck: Oh, yeah, okay. Yeah.

So,

David: like dot net is special because our standard lib is

Damian: huge.

Adam: Well, it’s seasoned. It’s been challenged. It’s been tested. It is delivered.

David: and it’s good. Like we have really good engineers working on the those core layers, right? On top of that, we have a set of frameworks in different areas.

So if

Damian: app frameworks. I want to write an

David: what we call app

Damian: a

framework,

David: right? We use the word framework super loosely. So like stack framework runtime is the old library.

Damian: libraries, frameworks Platform,

David: Exactly, exactly. So there’s web. There is client. There’s that just it weapon

Damian: Well, there’s server, there’s worker, and there’s console, and

David: So if you think about those verticals, you can build an app with no you, I

right console terminal app.

Like that’s 11 thing on top of that core base. Then there’s like the

server stack on top of that server stack is the web you I and like you can build rest API’s and NBC apps. So ASP net.

Core, the new one, core is the web stack. That’s the platform.

So ASP. NET Core, when people say, is, you know, Next. js the same as ASP.

NET Core?

Eh, yes and no. ASP. NET Core just contains, is the base platform, and then Blazor is on top of ASP. NET Core. And then what

else? MVC framework on top of ASP. NET Core. So, like, that core layer is what you use. It’s like, do you know Ruby and Rack and that same idea? So, like

Node. js has a web server installed, or in the base, a standard library, and then you can build Express on top, or Koa, or whatever is the new hotness for like,

Chuck: latex. Lessia is another one.

Adam: Hono. Yeah. Fastify. Yeah.

David: Fastify is the one written by the Node.

js dude. Yeah, yeah, yeah,

Chuck: Yeah, it’s pretty good.

David: So, we, we keep up with the Node. js. We, we, we watch our competitors

Chuck: Yeah, why not? Oh, ho, ho. How

Adam: you throw darts at the logos.

Damian: logos.

David: Ha, ha, ha, ha,

Damian: we just envy that they

have

Adam: have it. ha, ha, ha, ha.

David: so blazer, it’s been at core NBC, all those things. Then there’s our client UI story. There’s like if you if you’ve ever used dot net, you would have known about windforms.

If you were if you were like an OG dot net user at some point, you put the windows app.

Chuck: I was like, OG adjacent. So, I did some work in Tangent with other, like, part of the

David: Yeah, see,

Chuck: So,

David: windforms WPF. We have a litany of like

Damian: Of GUI stacks,

David: of

Chuck: you mean

WTF.

David: yeah, yeah. You see. And the original dotnet framework, the one that is like, tied to Windows. So there’s like two dotnets.

Don’t be confused.

Chuck: I am, but

Adam: Oh, I am.

David: it’s very simple. There’s dotnet framework, which is in Windows, which is built into Windows.

Then there’s dotnet, which is not built into Windows and it’s separate,

Adam: you GPU drive a console, where you

Damian: Yes,

David: Oh, my gosh.

Adam: your graphics card. runs on

Damian: or one that your GPU driver console, where you change the settings of your graphics card that runs on

David: might be the marketing that we So if you want to update your okay, that’s a pretty good one.

That was that was good.

Chuck: It’s a good analogy there. So, you know what this doesn’t tell me though? What is Aspire?

David: yeah,

Chuck: I Aspire to

Damian: So let’s go up the stack that you were

Chuck: Okay, yes,

Damian: So you’ve got NET, and then you need to introduce something that isn’t NET. So you need to, like, talk to a Redis, or you need to talk to a Postgres, or a database, or a messaging service, or whatever it might be. Or a Node app. You’ve got a heterogeneous environment.

I’ve got three APIs that are written in NET, I’ve got one in Python, and I’ve got three Node. js If I want to, like, run that locally, like, what do you do? Well, Docker Compose, that means everything has to be in a Docker container, it means it’s toolchain, or maybe I’ve got, like, some fancy PowerShell or Shell scripts, or whatever it might Or, there’s a litany of companies and vendors, like, building software to help you We call it the dev in a loop, but this idea of like, how do I, like, just focus on my code and then very quickly do that edit the code, run the code, debug the

Adam: Yep.

David: Edit, debug, cycle.

Damian: Right, and so Aspire is about, well, lots of our customers are building distributed apps, they deploy them to clouds, or they deploy them to Kubernetes, but we didn’t have a NET we didn’t have a NET story for even the cloud, really, we didn’t have like a NET platform. Right. And so Aspire is kind of a bunch of glue.

It’s like templates and tools some code that you use to go, well, if I’ve got three APIs and NET and one node and three that are in Python, I’ve got this Docker container from another team and a Postgres over there. Can I just like write that? So if you’ve heard of

Chuck: of Pulumi,

Damian: imagine that, but focus more on just like

Putting my app together and then hitting run locally on my machine and have it

Chuck: like

Damian: So that’s, that’s kind of like aspire in a nutshell. And then there’s all these other bits that got attacked on. So we have this nice developer dashboard. So when you launch, we spit up a web based dashboard. And it speaks OpenTelemetry. So if all your apps egress OpenTelemetry, which Aspire does for NET by default, then you get distributed tracing, you get structured logging, you get metrics, all by default in a dashboard.

I didn’t have to futz around with Prometheus or Grafana or use a vendor or any of that type of stuff. I just get it running and I can see is really cool.

Chuck: Is it fair to say that this is somewhat agnostic to NET,

Damian: to NET, though? Ish,

yeah.

Chuck: Like, you don’t have to have a NET application to is like Microsoft providing another nice DX.

David: DX. Yeah,

Damian: yeah. So like the dashboard part, you can just use as a container. We ship a base container, you can pull it in as long as you point OTEL at it, you can see OTEL. The composition part where you describe everything, that’s in C sharp, so that’s written in NET.

But you can compose all the stuff that isn’t NET. You can compose a bunch of executables or node or whatever it is that you want to compose. And we’ll just launch it all, so,

David: Other part is when you use C sharp to model your application dependencies containers environments configuration.

You can then turn that into a deployable manifest that can kind of be published to Azure or communities or AWS or anywhere else. So

We basically have introduced this framework. That’s extensible to let develop. That’s that’s developer focus where you can kind of describe application structure in dot net code,

Damian: extensible observability.

Chuck: a

David: it kind of is a meta framework above the actual like app layers. You can just take and things and then deploy it to some some cloud or whatever.

Adam: it to some, some plug or whatever.

Chuck: Yeah, I know. It’s good to hear it in English, though, a little bit. You know, when you read some of these

David: marketing

Adam: So much English.

Chuck: especially after, like, the keynotes and stuff, and there was a lot of these, like, words that, like, you know, they’re words, and they kind of mean something, but they kind of don’t, and it’s just like this analogous, like, I was like, I don’t know when the robots are coming to kill me.

It feels like we’re getting closer. This sounds like real life. Like, this is a thing I would want to do. And, yeah,

Adam: it’s very tangible

Chuck: trying to have a local cluster and mess with things and get some of these tools is a giant pain in the ass and overkill in many

David: Got it.

Chuck: You know, I barely have any users. Why do I need a full cluster?

Like yeah.

David: nail on the head. So I think the beginning of this project, we actually did something in 2019. It’s called tight. It was the first version of what aspire eventually became on.

I spent a winter learning communities. Playing with it, spinning it up, trying to figure out what’s going on. And I was like, do I have to build a container to just run two apps,

run a cluster? It’s like a, like a huge rocket launcher just to kill a flyer, right?

Chuck: just to clear out.

David: Oh, don’t get me started on

Adam: like

Chuck: Helm charts, and so I actually don’t mind it. I think YAML over JSON, first of all. There’s a hot take. And,

David: I could see that.

Chuck: and getting there with, like, rather than composed files and, like, Helm charts, and having, like, a cluster of apps in that way was kind of fun. But, yeah,

David: Industry standard.

Chuck: Yeah. Yeah, Cloud Native Computing

Damian: There it

David: Yeah, yeah, yeah, yeah, yeah.

Chuck: And that’s all cool, and then, like, I took it so far, and then I was like, I don’t want an accidental AWS bill or something. So, this was fun here, or fun on my little old Dell, but, like, fuck that from there. So this sounds like something more approachable, too, without, like, so much risk, really.

David: Damien’s favorite term is progressive disclosure. It is. How much do you have to learn to get to the point where you’re trying to get to? And can you start with a working thing? We say five minutes to well, what we say about, like, building product and then

Chuck: The aha moment.

David: you go, Oh, that’s when you can peel the onion and go like, Okay, no, I’m no, it’s working.

What happened? And then you can dive into, like, Oh, it’s a container here. It’s an app here, but you don’t have to start With this like huge list of instructions and like learnable networking and and subnets and clusters

Damian: Well, circle back to what we were saying before about new folks entering the just how much more complex stuff is now.

25 years

Chuck: Everybody’s DevOps. You can’t just hand off your stuff and be like, deploy it to the server in the basement. Like, that

Damian: When the internet

Chuck: can’t FTP shit anymore, you know?

Damian: When the internet started, it was like, well, how do I get a webpage up? Well, you learn this thing called HTML. Well, how do I write that? There’s this thing called HTML, Hot Dog HTML Editor. It’s like, great. Or you could just use any text, Notepad, which every machine had.

And it was very simple to get going. Then what do I do? Well, you just like, copy it. You just like, take this

Chuck: put it

Damian: and you put it on your ISP server that they gave you. And look, it’s working. And now 25 years later, it’s like, how do I get a website going? Well,

Chuck: get

a website that works?

Damian: that’s right.

Chuck: cluster! First download Docker Desktop! And,

Damian: a credit card and 14 credentials.

And

David: like, oh, I’m an

Damian: SSL. Oh,

no.

Adam: You’re describing something, though, that I measure a lot of my tools on when I’m using them.

It’s like, how much did I put in versus how much did I get back?

David: a lot

in

Adam: And a lot of tools, Kubernetes is a good example. I had to put a lot in before I started to see my return. I honestly feel this way about like TypeScript sometimes, where I’m like, I put a lot into

David: Describe it, yeah, yeah,

Adam: get back pop ups

Damian: like that was

Adam: you know?

And I’m like, wow, that was a lot of work just to hint to myself about what’s next on this dot, right? I’m like.

David: love that, that, that little, I think when we design. So we’ve been working together for super long now, right? And we have this, like,

really aggressive approach to how we design stuff.

So in the beginning of Aspire, super early days, we had this code sample. We wrote a fake code sample

Adam: worked backwards. Oh my God. I love it. Yes. The code you want to write. Oh, I love

David: I think I told him, like, last week, I said, the code hasn’t

Damian: hasn’t changed. It’s what it looked like a year ago when we first wrote it in Notepad and nothing

David: Yeah.

Chuck: Yeah, that’s pretty Yeah, this is like the ideal state

Damian: Right, and then I always talked about, like, from product design point of view, I’m always looking for that boilerplate stuff. Like, I actually try hard not to make a decision up front based on what I think people will want. We kind of try and build the sample, build the functional thing a customer is going to build if they want to achieve that now, based on what we’ve already built, like the building blocks.

And then we look at that and you go,

Well, we could turn that into that product, and that into that part of the product, and that into that part of the product, because this is going to be repeatable. But we try not to do that ahead of time, because I look at the graveyard behind us of all the things that we tried to ship out that we’re going to change the world, change how programming was done, and all the rest of it.

Yeah, well, invent a new language! Invent

a new stack, invent a new runtime, and it’s like, you know what? I’m done doing that. Like, just, let’s make it easier, and we’ll identify the things that people are doing over and over again, and see a little bit

Chuck: bit

Adam: bit easier. Yep. Alright, hot take. MVC or MVVM?

Damian: Depends on

the type of app. I think MVC is useless for UI apps, and I’ve

said that since the beginning.

I think MVVM is great for stateful

client apps,

And MVC is good for stateless This is a

Adam: This is a phenomenal response.

Damian: MVC was a terminal pattern.

David: 200 Rendered the whole thing every time,

Damian: Right? So I went through this whole phase, right? Like, you know, talk about a developer’s journey over 30 years. I went through that phase of reading Fowler, not your Fowler, the other Fowler, Fowler’s book, your cousin,

Adam: Yeah.

Damian: and which I have a

Chuck: tell, I figured, yes. Yeah,

Damian: huge respect for and I still

Chuck: you looked familiar, I was

David: I mean, just ask him. You should

Damian: You should write a book with a similar name.

David: That would be

Damian: Patterns of,

David: But

Damian: to Fowler’s law.

Adam: Yeah.

Damian: Oh my good, but I went through that arc and so I remember like reading that book and it was actually part of a college thing. oh, this is, this is what we need. This is the, the whole profession things.

Like we need to have this language we can refer to in these patterns we But then you try writing a UI app in doesn’t

David: doing this. What’s the pattern for

it called? Is

Adam: What’s it called? Well, first of all, React is just the rendering engine. It’s supposed to just be the rendering engine, right? And then Hooks

David: engine, right?

Chuck: you know, an embedded, like, state, mini state engine per component, right? Because sagas were that

Damian: the

Chuck: why they’re like, how the fuck did we get here? With this, like

Adam: is a function of state. I think they tried to take a functional approach. It was a pure functional approach. Right? And that was, I still think that’s the origin of React in general, but by the time you’ve, you know, Surrounded it with enough tools to make it turn into something else It’s no longer that anymore in in many cases But I think some people still aspire to to keep it that way

But

David: Aspire? You got

Adam: i’m trying not to use that word, but now it’s the marketing’s

Damian: I know,

Chuck: I think. I don’t know. You should have brought us some stickers or something. Cool. We’ll swap stickers in a moment. We do want to know about the people, the people behind.

The code a little bit and normally I would have like looked up more things about like what you like to do or movies Or whatever you don’t like drinking whiskey David so What else do you do outside of know your profession?

What are you into?

David: I have two kids.

Chuck: Okay

David: I have a wife, and I’m gonna have a third kid soon. That’s gonna be my

Adam: gonna

Chuck: people is

Damian: two kids. The shop’s closed over

Adam: have two kids. Two,

Chuck: Yeah, yeah, but shops closed over here,

David: Three. I’m going for

Chuck: couldn’t do

Damian: number three.

Chuck: gonna be 47

Adam: also closed, but OK, I missed it, right?

Chuck: Yeah, so I was like, I’m the oldest one here

Adam: Whoa, 38, am I the youngest? Oh, crap, I am, aren’t I?

Damian: You are?

David: I’m the youngest. I’m the youngest. 37,

yeah.

Adam: done, nice, 87 baby, hi.

Damian: Hi. Yeah, yeah,

Chuck: Yeah, yeah, but I mean that’s that’s very time consuming

David: It is tennis. I am an avid tennis player. I play a lot of

Chuck: that.

Adam: Table tennis too, or just the big racket?

Damian: How many rackets can

Adam: many

Chuck: a good combination. I do like tennis, but I’m

Adam: rules. It’s fast

Chuck: Pickleball is fun.

Adam: Chase less balls in pickleball.

David: cut this

Damian: you cut this part?

David: didn’t say that.

Chuck: Alright, pretend I didn’t say that. We were gonna be friends

Adam: like, well, no, he’s like all the pickleball people are on my court. He’s like, no one was there for

Damian: My goal now is to get you to play pickleball with me and Fitz, my son. If I can get you on a pickleball court, I will have

Adam: to kill dude. You’re going to kill. It’s

Chuck: It’s different. I don’t know. I mean because you want to get back for that swing and you really got to play it like grown up table tennis,

Adam: Well, no, but you gotta move up to the net, you gotta move back, you gotta plan

Chuck: you’re always playing off the net and stuff. Yeah, it’s just

David: I am like,

Chuck: It’s not it either

David: super competitive

Chuck: Nice

Adam: serves, is what

David: sport

Damian: my gosh.

David: I played

Chuck: Two handed or one handed backhand. Nice. I

David: Played in college. I’m like, super, like, competitive. I can’t think for fun. Things

Chuck: gonna join the senior tour later, or

Damian: He’s in, that’s what he’s

David: Honestly, honestly, honestly, when I retire, probably.

Adam: a

Chuck: it’s a good

David: I’m gonna hire a coach.

Adam: mom, my mom, who’s 70 something right, she just got beat by two 87 year old men. And she’s like competitively playing tennis right now, and she’s like, I played these and they whooped

us.

David: That’s my goal!

Adam: 87 kicking ass, are you serious?

Chuck: I love that for them.

David: The only problem is, like, now I’m older and my brain still wants to work like I’m 20. Or like,

Adam: Oh wow, actually I’m feeling that

David: Oh man, so I have to, so now I’m in the gym as well. Like, trying to,

Damian: make decisions while you’re playing the game, as if you were 20, and then your body’s like, Whoa!

Chuck: not how it

David: I ran for a ball, almost did a full split, and I was like, yeah, tomorrow’s gonna be a bad

Chuck: Yeah. Yeah.

David: tried to put my pants on, and my foot wouldn’t

come

Adam: dude, that’s too much. I, I threw my back out when we got a new puppy during COVID and I went down to be like playful and threw my back out and like fell on the ground and was like, my God, I’m like, this

Chuck: Yeah, yeah. It

Adam: and I’ve been injured ever since.

No, like serious.

Damian: Putting on socks is difficult now.

Adam: It’s ridiculous.

Damian: 46.

Adam: It’s so embarrassing. I’m like,

David: in the gym.

Chuck: I’m just lucky enough. So I started late. So my kids are five and seven, almost eight, but you know, so it’s like, they’ve kept me moving for maybe a little longer, but yeah, I don’t know.

Damian: I think COVID really like set in with like. suppressing my activity. Like we used to play, so when we were in the office, we used to play softball. So we had a softball team and we won the championship. I really loved playing softball. I would pitch, I would hit, you know, you used to field in the outfield, it was great fun.

And then COVID hit, we stopped, they demolished the campus, they demolished our softball field, and they haven’t replaced it yet. It’s coming, the new campus, apparently a new one is coming, and I would very much like to go back there and play, but I haven’t really.

I’ve never done any activity

David: I

Chuck: Oh. Yeah,

Damian: A piano is not the same as playing softball.

Adam: Oh no, music is good though,

Chuck: I got a rower and I, I’ve used that maybe like once a month or so. Yeah, four to six. I really like the rower. It’s a great workout. It does hate short people and

David: you have Aurora at home?

Chuck: yeah, I have a rower at home. Yeah, we, you know, we did like many people, we set up the home gym.

You know, my wife uses the Peloton and, and we have some Kettlebells and yeah, we kind of did it up. I actually put a full mirror on our wall. We had a mirror installed and then you put like those little, you know, LED lights all around

David: For booty shots?

Chuck: Yeah,

Adam: Yeah.

David: awesome!

Chuck: it’s nice of you

Adam: We know what his camera roll is full of now. Oh, alright.

Chuck: All right. So Damien,

Hearing

now that you’re into softball, this is probably a stupid question or whatever else, but so having lived in the UK from Australia, okay soccer or rugby?

Damian: Oh, soccer.

I played soccer. I never played, I never played rugby in high school in England. That’s the only time I’ve ever played it. So growing up in Australia, you play AFL, Australian

David: that? Yeah, AFL.

Damian: I played a lot of that. I never played on a team though. I played cricket on a team. I was a big cricket guy.

And we played badminton as well as

Adam: Ooh, that, I love badminton. Fast paced, oh man, that

Damian: my mum,

Chuck: not pickleball.

Damian: No, it’s not. It’s faster

Adam: faster than

Damian: It is a lot. It’s very fast. My mum played competition badminton growing up. So, my mum was very young. And so, she had us very young. So, we would be like sitting in the bleachers in the badminton stadium, watching her play like

Adam: Drinkin Tang,

Damian: 10? No, we weren’t old enough for that, but yeah. And my dad would play indoor cricket. So, my dad used to play

Chuck: Tang is Indoor

Damian: that was our evenings.

Chuck: Australia.

David: cricket. So from Barbados, he’s

Damian: Yeah, we played cricket.

David: played cricket like

Chuck: I don’t understand that game that much. It’s very long.

Damian: Depends, there’s different

David: kinds of

Adam: how to play croquet, but not cricket.

Oh, I know, I’m just saying. We play

David: used to play, we used to play in one of our buildings because it was being

Chuck: Oh. She

David: playing in the hallways.

Adam: You may have just did a partial

Damian: may have assisted in partial

Chuck: Yeah, why not? You would just help them. It’s a cost saving

Adam: our hours brought that.

Chuck: of hours brought

Damian: But we actually roped in a bunch of the American, like, younger guys on the

David: To

Damian: we got them to learn to play cricket with us in the hallway. That was kind of

Chuck: All right,

Damian: Yeah, so I haven’t played softball for years now.

My son is very eager to play softball. I’m like father

David: Oh

Damian: But the only teams that do that are 18 and above, and he’s still 17,

Adam: was going to say, they sound 10 to 18. I don’t know. So

Damian: So my, my, my son is a 17. My daughter is 15.

Chuck: Okay.

Damian: so my daughter’s learning to drive. My son is now driving himself to

Adam: to drive,

Damian: He’ll be off to college next year.

It’s crazy. So last year, last calendar year with them both in the So we’re at that phase of but yeah, so I, that’s kind of where I’m at, but I took up piano a couple as an adult,

Adam: that’s, that’s permeating our house right now. I’m so happy. Yeah. Dude, Duolingo has a piano learning sequence now, and it’s the best thing I’ve ever seen. I’ve been through three teachers. I played piano a lot back in the day. And my kids, they think they’re playing a video game, but dude, the thing is,

Chuck: You’re good at gamifying things for your kids. I can’t, I love

Adam: I’m just the world is very fucking cool and I want my kids to know it. And, and music is rad. And so the coolest thing about the Duolingo thing is it’s on the shirt. Yeah, I like the word rad. It’s a good word. But it creates the timing. So normally a metronome would be really frustrating when you’re learning piano, but totally required.

And when you’re playing Duolingo, well, when you’re learning on Duolingo, it is enforced from the beginning. You don’t even know that there is a metronome, but you are being, your, your hits are precisely on point and you only progress if you’re on point, which forces you timing and counting from the beginning.

And my kids don’t even know that that’s what they did. They blew through the first like eight chapters and I bought a piano for Christmas and they directly went to the sheet music, which I just grabbed books from 1998 from my mom’s house. And they started reading sheet and so it’s

David: There’s Duolingo for, for music. I just paid like this

Chuck: Yeah, we have it because we’re moving to Italy next year, my family and I

and part?

North Como we have some friends there with kids the same age, and so that’s gonna be

Adam: you have coco and coke and como coco shit there’s a joke in there

Chuck: Melon. Cuomo Melon. It’s yeah,

Adam: Oh, there’s also the kids show.

I’m talking about like the song Beach

David: Let’s go to the same

Adam: at

Chuck: Oh, down in Cocomo.

Yeah. And what, what is John Stamos was the. Drummer for the Beach Boys for that

Adam: Invite

Chuck: he performs with them. Sometimes he’s been like a long time friends with

Adam: Oh, wow.

Chuck: yeah

Damian: My sister lived in Turin I’d say my

Chuck: yuve or parma or

Damian: I have no

Adam: but

Chuck: you played soccer. You don’t know much

else

Damian: I played soccer growing up in England and Australia and I played

Chuck: Where’d you live in england

Damian: I lived in a place Okay, so everyone listening who knows England is gonna laugh at me now. I lived in Milton Keynes. My family is from Bath

Chuck: Okay, I know where that

Damian: love. Bath and I, I still have desires to go and live

Chuck: To go and have a bath.

Damian: Yeah. Go and have a bath. No, I’m English. I don’t have a bath. What we do. Your teeth are great

Chuck: though.

Damian: Thank you very much.

David: great. very

Damian: No, I would love to go and live in Bath. No, I, I lived in Milton Keynes for about three years as a early teenager.

So you and I and Scott Hanselman, we went to Milton Keynes to do a user group

David: Science Museum,

Damian: and we went Bletchley Park.

David: Bletchley Park, yeah, we saw that. I remember that now, yeah.

Adam: bring a lot of salts to Bath?

David: water is

Damian: is naturally mineralized. You don’t need to bring

Chuck: even need it,

David: run

Adam: You don’t even

David: hard. Don’t drink it. No, it

tastes

Chuck: do you know what ass tastes

David: told them, he said to me,

Adam: ass tastes like? He told me.

Damian: it.

Chuck: Is there a specific ass? Is it Barbados ass? Or is it Americanized ass?

David: know if

Damian: that

Chuck: Is it Rihanna ass? Because that you might

Adam: Not enough of this whiskey guy drink for an ask question like that, but you know,

Chuck: This might be a good time. I know we’re like well over

Adam: Yeah, anything you want to tell people about Aspire at the end here? Like, I don’t know,

Chuck: Yeah, anything you want to pitch or

Adam: they made it this far, what do you want them to take

Damian: Look, if you, I mean, try out the dashboard, if that’s probably the first thing, if you’re not doing NET already, like, grab the Aspire dashboard and point some Otel stuff at it and have a look at it. Like, that’s the, that’s the way to

Adam: to

David: My main thing would be don’t try to figure out what it is by reading the marketing material, just use it.

Chuck: Yeah,

Adam: Okay. Sick. Yep. That’s good enough. That’s a hot tip.

Chuck: Well thanks for joining us, guys. I look forward to maybe doing this again at

David: This is awesome!

Chuck: Yeah well, thanks for listening, everyone else. If you liked it, here’s my bullshit tagline of please subscribe or leave a review and or. Ciao.

Adam: bump,

bump bump, you gotta do your bump bumps at the end bump.

Chuck: bump bump

Damian: Yeah,