Whiskey Web and Whatnot: Web Development, Neat

A whiskey fueled fireside chat with your favorite web developers.

150: Secrets of a JavaScript Guru: Natalia Venditto on AI, GraphQL, and More!

Join host Charles William Carpenter III and special guest host Adam Argyle as they welcome Natalia Venditto on this episode of Whiskey Web and Whatnot. They dive into Natalia's background in JavaScript and her current work at Microsoft. The trio shares their ...

Creators and Guests

Charles William Carpenter III
Adam Argyle
Natalia Venditto

Show Notes

Join host Charles William Carpenter III and special guest host Adam Argyle as they welcome Natalia Venditto on this episode of Whiskey Web and Whatnot.

They dive into Natalia's background in JavaScript and her current work at Microsoft. The trio shares their impressions of Smooth Ambler's Contradiction Bourbon, discussing its unique blend of whiskeys, flavor profiles, and personal ratings.

The conversation shifts to hot tech topics, including inferred vs. explicit types in TypeScript, IDEs vs. text editors, and opinions on GraphQL and micro frontends. They also touch on the nuances between developer experience (DX) and user experience (UX), frameworks like Astro, and the inherent trade-offs in software architecture.

Wrapping up, Natalia shares insights about living in Barcelona and her background in architecture and filmmaking.

Key Takeaways

  • [00:00] - Welcome and Introductions
  • [00:49] - Whiskey Tasting: Smooth Ambler's Contradiction Bourbon
  • [04:51] - Rating the Bourbon
  • [08:07] - Tech Talk: AI, Blockchain, and JavaScript
  • [10:20] - Hot Takes: TypeScript, IDEs, and More
  • [23:03] - Microfrontends and Developer Experience
  • [27:47] - The Balance Between DX and UX
  • [34:13] - Dev Humor and Final Thoughts
  • [35:18] - Debating JSX and Single File Components
  • [36:26] - The Evolution of Web Development Frameworks
  • [38:23] - Living in Barcelona and Football Fandom
  • [40:27] - Culinary Adventures and Cultural Influences
  • [45:05] - Angular and the Framework Wars
  • [48:15] - Career Paths and Personal Interests
  • [59:34] - The Joys of Manual Cars and Quality Materials
  • [01:03:55] - Final Thoughts and Wrap-Up

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

[00:00:05] Chuck: Welcome everybody to another episode of Whiskey Web and Whatnot. I’m your host, Charles William Carpenter III, and joining me is my special guest host, AdamGuy.

[00:00:18] Adam: Yarrr, Guile.

[00:00:21] Chuck: Um, so, and today our guest is Natalia Venditto. For those who don’t know who you are tell us who you are and what you do.

[00:00:32] Natalia: Natalia, and I’d like to introduce myself as a JavaScript

[00:00:37] Chuck: javascript

[00:00:39] Adam: Javascript.

Um, I

[00:00:41] Natalia: I also work for Microsoft right now. I work experiences

[00:00:49] Chuck: and developer tools, Today we’re having Smooth Ambler’s [00:01:00] Contradiction Bourbon. It is 92 percent sorry, that’d be serious. 92 proof. Math is hard. Anyway. So it is a blend of two different whiskeys. I guess that’s the contradiction there. One of them is their in house distilled. It’s a two year. The other is a sourced nine year bourbon.

So, So, I guess it’s technically a two year. They’ll say like when it’s a blend, the age is the lowest one. So yeah, fun facts there. Mash bills. So the, okay, two different mash bills here. So the two year is 60 percent corn, 20 percent wheat, and 20 percent malted barley. The sourced nine year is 75 percent corn, 21 percent rye, and 4 percent malted barley.

As if, you know, that means anything or makes any sense to some people who knows.

[00:01:48] Adam: knows? Ooh,

[00:01:49] Chuck: Yeah, I’ve got to get a little bit of the sound effect, so I put it close to the microphone.

Some people think this is made up, but we’ll start there.

Yeah, it’s real. [00:02:00] I can’t afford real sound effects, so I have to actually do it.

Alrighty, so we’ll start with a little bit of smell, see what kind of comes up for you. Do you like whiskey, by the way? Okay, excellent.

[00:02:12] Natalia: That’s going

[00:02:13] Chuck: Yeah, well that’s gonna change. We’ll see if we can finish this bottle.

[00:02:16] Adam: can

[00:02:17] Chuck: Alright.

[00:02:19] Adam: Mmm, citrusy orange notes for me.

[00:02:22] Chuck: yeah, yeah, um, Okay, I wanna say a little bit of like, orange chocolate, though. You know those, yeah.

[00:02:28] Natalia: for Christmas

[00:02:30] Adam: Makes me want to hit one of those yeah, at Christmas time, you take the orange, you split it up

[00:02:35] Chuck: you smash it down, get a little aggressive, and it is, it is actually very satisfying. Those things are delicious,

[00:02:41] Adam: They really are.

[00:02:44] Chuck: Right, yeah, a lot of that forward. So I’m gonna do the whole chew your whiskey to open your salivatory glands. So you put a little bit in and you swish it around first, and that gets the salivatory glands going and then takes off your next sip, then won’t be so [00:03:00] burny and harsh.

[00:03:01] Adam: I got a little candy cane as it went down the back. Mmm. I’m

[00:03:07] Chuck: as it hangs out, oh my gosh. You’re, you’re getting good at this. You’re hired.

Yeah.

there was a

bunch there because it and then it finishes with some bitter and it’s, it’s, um, it’s actually a little smoother than I expected at

[00:03:21] Adam: is. I agree.

[00:03:22] Natalia: vanilla,

[00:03:23] Chuck: Yeah, yeah, maybe like, oh yeah, it’s like a Vanilla, extract almost, like light vanilla flavor, some bitterness from that.

Something else in the beginning that I’m not catching

[00:03:33] Adam: there’s something lingering on the front of my tongue that I’m trying to put a thumb on also.

Butter.

Yeah! Nice! Ooh.

[00:03:43] Chuck: don’t

mean that as the BTS song.

[00:03:46] Adam: song.

[00:03:47] Chuck: son went through a year because of his teacher where he was obsessed with BTS. And so it was like playing the music a bunch, getting like stickers and all this stuff.

It was like a whole watching videos on YouTube. Anyway, [00:04:00]

[00:04:00] Adam: Anyway,

We got Jojo Siwa is in our house. Oh.

[00:04:02] Chuck: okay. I don’t know who that is.

[00:04:04] Adam: It’s like a 15, I’m sure she’s older than that. But, um, it’s like she’s in a mall. She’s constantly in a mall with a jean jacket on. It’s got studs on it and gems. And her songs are just really poppy, happy,

you know, kind of, kind of kids songs, teen, teenie

[00:04:20] Chuck: sounds

[00:04:21] Adam: Yeah.

[00:04:22] Natalia: Yeah.

[00:04:22] Chuck: Yeah, yeah. Butter, I would say like a, like, almost a buttery coating in the beginning, but I don’t know.

Definitely nailed with like that whole, for just a second in the middle it kind of gets that peppermint stick or whatever, yeah.

[00:04:36] Adam: Werther’s the candy that’s Those are

[00:04:39] Chuck: Those are the caramel things.

So maybe it’s, maybe, oh, see, we’re really, people are going to be very

[00:04:46] Adam: going

[00:04:46] Natalia: is

[00:04:47] Adam: very confused.

Which one is it?

So what happens next is we rate it. He’s got a scale. The logo for the show is an octopus. And so they measure from zero to eight tentacles.

[00:05:00] And,

[00:05:00] Natalia: like that.

[00:05:01] Adam: nice.

[00:05:02] Natalia: on the

[00:05:02] Chuck: Okay, this is good then. Yeah, so zero is terrible, throw this out. It doesn’t apply for you. 4 is like, not bad, not my first choice. It’s kind of okay. 8 is amazing. This is what I’m going to buy from here on out. Um, yeah, anything in between.

[00:05:19] Natalia: Okay, what’s yours?

[00:05:22] Chuck: You

want me to go first? Okay. It is very different and interesting for me.

Um, I also take account price and things like that, like how accessible it is. Like if I paid a hundred or more for something, I expect it to be pretty damn good. This one is around 50 bucks. I think it was like 45, 50. So very approachable in that sense.

Interesting blend. Um, I don’t know, as it lingers, like that bitter tends to hang out.

So for now I feel like it’s more of like a 6 for me. Like it’s good, I love the price point, it’s very approachable, so you can get that more often if you want. Um, [00:06:00] but it is a bourbon, and it has a weird like,

there’s no wrong answer of course. Especially if I’m giving the wrong one. Yeah, I don’t know, I think I’m gonna go 5.

[00:06:10] Adam: Yeah. I’m kind of glad you dropped it. I’m thinking the same thing. Um, there’s a, a wine term that I learned that it’s probably the only wine term I know, and it’s the oiliness of the wine.

[00:06:21] Chuck: And I’m ferocious.

[00:06:22] Adam: coating it might leave, and I’m feeling an unctuous amount of coating on my tongue.

Though I will say, there’s two things going for this I really like. Oh yeah, look at it on the edge of the cup. It’s got some legs.

[00:06:32] Chuck: what it says.

[00:06:32] Adam: Um, I like the label, where we have an elephant standing on the barrel, and it’s called Contradiction. That’s cute. Um, But yeah, I’m thinking of 5. 5 as well. It’s, it’s nice. I’m also getting a good hug in my heart.

[00:06:45] Natalia: Yeah. Oh,

you

[00:06:46] Chuck: was

[00:06:46] Adam: Oh, you as well. Okay, good. Um, and it’s nice. It’s like I didn’t know I was getting chilly, but this is warming me up. Um, it’s delightful. Yeah.

[00:06:54] Natalia: But I, I feel taste of chocolate also that I kind of like, [00:07:00]

[00:07:00] Adam: so I’ll

[00:07:01] Natalia: I’ll give it a 6.

[00:07:02] Chuck: Okay. Yeah.

[00:07:03] Natalia: and the oil, how did you call it? Lakes?

[00:07:06] Adam: Lakes?

Well, he

[00:07:07] Chuck: That’s what I said, because that’s what I’ve heard. They’ll say it has legs.

[00:07:10] Natalia: we call them, um, tears, actually,

[00:07:13] Chuck: Oh,

[00:07:14] Natalia: it’s like tearing,

[00:07:15] Adam: I heard you

[00:07:24] Natalia: Okay, no, It’s okay.

[00:07:26] Adam: come

[00:07:27] Natalia: Was I speaking to?

[00:07:28] Chuck: no, no. You should be louder.

[00:07:30] Adam: totally fine.

This is just for our listener. Just you know, real time audio.

[00:07:38] Chuck: Yeah, it’s totally fine.

This is just for our for our one listener. Just you know, real time audio adjustment. That’s all. Yeah, we’re lucky enough to have a trained professional with us here at Microsoft Build. We’re lucky to have a trained professional, and you’re not dealing with just me. I don’t know anything about anything.

[00:07:58] Adam: Riverside that, who knows who the [00:08:00] professional is there. Some algorithm? Yeah. Yeah.

[00:08:02] Chuck: Like, algorithms. Isn’t that like mostly a made up word anyway? You know? I don’t know what this

[00:08:07] Adam: someone the other day was saying here at Build that AI is a term that, um, you use when you don’t know exactly what it does. And it’s been around since like the 70s. And so, as soon as it became something that you could use, it would get a real name.

[00:08:20] Chuck: real

[00:08:20] Adam: And here we are using it just everywhere

[00:08:23] Chuck: Yeah, I mean, it’s kind of like blockchain. I mean, that I think that’s a lot of people have said that it’s like, you’re just applying this generic term to a whole bunch of different problems. And it was blockchain for a while because that will fix all these different things.

And now it feels like, yeah, it must have a ledger. And, you know, Obviously there’s viable technology behind that, but it was like a very blanket, everything, everything gets a blockchain and that will make it cool and better and secure. And we see how that has gone at this point. And AI feels very much the same way.

It’s sort of like, I don’t know, I need to innovate in my [00:09:00] business. Well, let’s get AI involved. Like, I don’t know how many chatbots you

[00:09:03] Adam: It’s very hype y.

yeah.

The train is, is, is going.

[00:09:06] Chuck: Again, viable technology,

[00:09:07] Natalia: there are really, really good applications to AI. We, we’ve seen some yesterday that I didn’t even, yeah,

[00:09:15] Chuck: even

[00:09:15] Adam: what? Yeah, I love it.

[00:09:17] Natalia: yeah, like cars, driving, aiding, um, people with

difficulties to, to see around them

[00:09:26] Adam: that was the winner of

[00:09:27] Natalia: Yeah, that was the winner of the competition, and I thought that was very cool.

The other project for people that have problems concentrating and yeah, some, some, some cool applications. I think in the, in the realm of health and health care, um, it’s going to be big and it’s going to help many people. And that’s what I’m expecting, at

[00:09:49] Chuck: Yeah, yeah, yeah, I think there was something in one of the demos where they were talking about the utilize AI to kind of parse health history and give a really nice like synopsis for [00:10:00] the, you know, the, the doctor who’s coming to see this patient and maybe doesn’t know about their history and so it can like quickly surface all of that and here are key points like that’s

[00:10:09] Adam: good at summarizing, so I suppose it could summarize, as long as it doesn’t hallucinate while it summarizes me to the doctor, and the doctor’s like, I see you have

[00:10:16] Chuck: Looks like you have cancer in a third leg. No. Cool. So, as a fellow JavaScript nerd, then I think we should do a little, we’ll start with some hot takes. We’ll go down this. Um,

Do you use inferred types or explicit types?

[00:10:34] Natalia: it depends on what I’m writing, right? There is not an answer for that. If I am,

if I am using TypeScript and I am fair in types, I am. And if not, I am not. You

[00:10:48] Chuck: not. No, not yet. A long

[00:10:51] Natalia: No, not yet. No, that’s a long way to go to that.

[00:10:56] Chuck: answer you’re

[00:10:57] Natalia: No, but that’s, that’s the same answer you’re [00:11:00] going to get for any particular, I don’t know, mechanism of any language.

Depends on what you’re doing, right? There is no right or wrong. I’m not

[00:11:09] Chuck: I’m gonna

[00:11:10] Natalia: Context is everything. Yeah,

yeah.

[00:11:13] Chuck: Go

[00:11:14] Adam: I’m gonna wing one. Yeah? IDE or text editor?

[00:11:19] Natalia: Oh, that’s.

So Eclipse or VS code.

[00:11:25] Chuck: Kind of, yeah.

[00:11:25] Natalia: Yeah

[00:11:27] Adam: or Sublime versus VS Code and, um, Eclipse.

[00:11:31] Chuck: to

[00:11:35] Natalia: I like to have a runtime where I can you know debug Like I I like to do like very in depth

[00:11:43] Chuck: editor

[00:11:44] Natalia: I

would say IDE in most cases

But if I have to write code in an editor, and I don’t have all the, you know, fancy stuff, I didn’t have that when I started. So I can do it.

[00:12:00] But it takes more time, of course. It’s less productive,

[00:12:03] Chuck: three or other apps to sort of fill in those gaps too. That’s kind of

[00:12:11] Natalia: a lot of bugs.

[00:12:12] Chuck: it. The

[00:12:13] Natalia: yeah, yeah,

[00:12:15] Chuck: I skip tests, like, yeah, you know. Yeah, that’s

[00:12:18] Natalia: Yeah, but um, yeah

I think, again, we shouldn’t, like, let the tools define our ability or capacity to do something.

[00:12:29] Adam: do things

[00:12:30] Natalia: Tools are to help us get to do things faster and better,

but they shouldn’t be the thing that allows us to do

[00:12:41] Chuck: makes a lot of sense. I mean, Macs are usually used for

[00:12:51] Natalia: I am, in fact, usually switching platforms from Mac to Windows, and, and so on.

[00:12:58] Chuck: been [00:13:00] using

[00:13:00] Natalia: Mac.

[00:13:01] Chuck: all

[00:13:01] Natalia: That’s because I’ve been working all my life with Mac, and so I’m faster, and I’m better, and I’m, you know, I feel more productive. I feel I get to whatever I want to get in an easier way. But if I was working with a Windows machine probably for the last 20 years, that would be cool.

My choice.

[00:13:20] Adam: Thing I was all windows for so long. Um, and then I learned that Mac can emulate windows, and windows cannot emulate Mac. And I was like, well, there’s the kicker right there. If I can have both on one machine, but the other one machine can’t have both, and I’m like, well, then I’ll pick the one that’s more versatile.

[00:13:35] Chuck: Is

that the, you mean like the boot camp thing, where it

[00:13:38] Adam: bootcamp parallels or whatever it was you were

[00:13:40] Chuck: well, Parallels, he has a VM or whatever, and then boot camp was like you could boot. Until they switched to Apple Silicon, so I don’t even know what

[00:13:48] Adam: Apple Silicon, so I don’t know

[00:13:51] Chuck: I would guess something like that.

[00:13:53] Natalia: I in, in, You can remove this later.

But this new ARM [00:14:00] machine that is, was just announced, I am really looking forward to work with that.

[00:14:05] Chuck: Yeah, I’m even curious, and I only have Windows for a gaming machine. You know, a test machine, or whatever. And but, yeah, seeing the Snapdragon stuff does look very interesting and very cool. The benchmarks sound very interesting, and the price point is nice, too. Like, yeah, I am getting tired of, like, multi thousand dollar MacBook Pros, you know.

I don’t know.

[00:14:28] Natalia: that’s also the case. I have a personal computer that is like, a personal Mac, actually, that is from 2015, or 14. It was on Mac OS 11,

[00:14:40] Chuck: 11,

[00:14:42] Natalia: like,

I don’t know, a couple of weeks ago, got an automatic update,

[00:14:48] Chuck: use

[00:14:48] Natalia: and I couldn’t use Docker anymore.

And Node. I couldn’t use Node

[00:14:55] Adam: no, I

[00:14:56] Natalia: And it’s an expensive machine. It’s a MacBook Pro, [00:15:00] 16 gigabytes. It’s like something that could potentially

[00:15:03] Chuck: Should run that hardware wise it should run. So what’s going on?

[00:15:07] Natalia: Yeah, yeah.

[00:15:08] Chuck: yeah, that’s the thing is they keep trying to get us to like buy new stuff every like three, two to three years. Like I’ve been in that mode where I’m like, I am not upgrading my phone anymore for a while. Like I just I don’t need the next one.

Okay, you can introduce a new version.

As often as you want, but like I’m getting tired of it. It’s almost like iPhones and Next. js versions come out like twice a year. It’s a little bit

[00:15:32] Adam: a year.

[00:15:33] Natalia: Yeah, exactly. I just updated my 20, I had a 2011

[00:15:36] Chuck: Yeah, exactly. It’s like, I can’t

[00:15:38] Adam: I just updated my 20, I had a 2011 MacBook Air, the 11 inch one,

[00:15:42] Chuck: Oh yeah, that was a great one. Because it was like the envelope one

[00:15:45] Adam: Yeah, real thin. I could take it. It was literally a laptop where everything else I’ve ever gotten from work. They’re like, here’s your laptop.

I’m like, that thing doesn’t go on a lap. That thing gets on a,

[00:15:53] Chuck: a gaming

[00:15:54] Adam: it goes on a stand or whatever. Um, but last year I did so much work with CSS color and I didn’t have [00:16:00] any screen in my house except the one in my pocket that could show all these new colors. And I was like, all right, I’ll go get the new, you know, 2000 knit MacBook pro or whatever, so that I can test all these hyper rad colors.

And yeah, I’m not, I have been happy. It’s, it’s been a really solid box, but

[00:16:15] Chuck: I drag around a 16 inch and I’m, sometimes I’m like, the new MacBook Airs, they’re not like that thin, but they are pretty

[00:16:23] Natalia: the chips

[00:16:23] Chuck: chips are pretty impressive, and turns out I just changed text files, so like, how much, unless you’re running Docker or something, like you said in general, it’s like, why do I keep Buying like a film editing machine for changing text files.

It’s yeah, I got a I question. I like I don’t know Maybe I’m in a midlife crisis, but it’s like I’m questioning all my choices about like new shiny everything anymore

[00:16:48] Adam: everything.

[00:16:49] Natalia: And the impact on the earth,

[00:16:51] Chuck: Yeah that

[00:16:52] Natalia: on the planet.

[00:16:53] Adam: Yeah, which all this AI stuff is not helping. Um, it’s totally consuming energy [00:17:00] and water while there’s places that are in droughts. We are just abusing, make me another zebra, you know, smoking a cigarette in the forest. And then, meanwhile, people can’t get a glass of water.

[00:17:10] Natalia: That’s very true. Yeah.

[00:17:12] Adam: mean to be a

[00:17:13] Chuck: I was gonna say you’re going down a path. I just watched last week tonight recently and they were talking about corn and subsidized farming and all of that and like how terrible that is because most of the corn they make isn’t even edible. It’s actually utilized to go into plastics and ethanol and like, yeah, they try it and they’re like, this is disgusting.

It tastes like chalk. It’s not even, you couldn’t, can’t use it for food and and requires a certain kind of fertilizer, high nitrate fertilizer. Fertilizer too, which destroys a bunch of things and yeah, anyway, I’ll try not to be a total bummer there. But yeah,

[00:17:47] Adam: Chicken and the corn and the corn can’t grow.

All right, no, there’ll be one

[00:17:53] Chuck: let’s go let’s do it.

Yeah. Yeah, let’s do another hot take get rebase or get merge[00:18:00]

[00:18:01] Natalia: again, It depends I

[00:18:03] Chuck: you’re wrong finally

[00:18:05] Natalia: I

used to be on the, I used to be very, very, um, strict. Let’s use the word strict.

Sure. About this. A few years ago, I was team merge, no fast forward. Like, I wanted to.

have every

piece of detail. And

right now I’m like, I’m a bit more chill about it. And I think there are times when ARIA based is completely fine and acceptable. In, in the context of

The flow you use, the strategy you use, because back in the day I was in, okay, we’re going to cut our release.

We’re going to, you know, every four months, Two weeks or so, there was a kind of different context and why we needed a different kind of history of what we were doing. And right now when you are on continuous integration and delivery, it’s like, yeah.[00:19:00]

[00:19:00] Chuck: continuous

[00:19:01] Natalia: I may not

want to go in that direction and just, just go the rebase route.

[00:19:07] Adam: it,

[00:19:08] Chuck: What about like,

[00:19:10] Adam: reassign somebody. Yeah, so

[00:19:13] Natalia: Ah, well, it depends if I’m going to reassign the value or not.

[00:19:20] Chuck: Yeah, so in its literal intention, you’re like, yeah, that’s kind of where I’m at too,

[00:19:24] Adam: It’s like a signal you send other people because you can still, well, we can go to signals too. Yes, signals are observables.

[00:19:31] Natalia: Signals. Yeah.

[00:19:33] Chuck: Nice. That is, um, let’s see here. Was GraphQL a mistake? Oh, very.

[00:19:41] Adam: There we go. Struck a chord. All right. What’s up? Why? Why? You were so swift on that.

[00:19:46] Natalia: you so sweet? Performance, mostly. Why not using caching mechanisms that we have there forever? Um, I think it helped a few problems, or solved a few problems. [00:20:00] And I like that you can choose what you return. That part is really cool.

[00:20:04] Chuck: that

[00:20:05] Natalia: But I think you can do that also if you have a good design for your API today.

You don’t need to return an object that is super nested and

have to clean it and particularly never clean it in the front. But yeah, you can have a good API design and then you don’t need to return also things that you don’t need. So yeah, you may need to maintain more endpoints, but if you have a good OS, or OpenAI specification, or whatever, um, contract, then you’re good.

[00:20:43] Chuck: OS, or um, OpenAI specification, or whatever, um, contract, then you’re good. When it did and has happened in my experience, it’s like this gets ahead of so many problems.

If you would just work together in this way, I [00:21:00] am the consumer of your API. You’re the publisher. So API. Here’s our contract, and we’re going to test that every time on both sides that there

[00:21:06] Natalia: Absolutely. Absolutely.

[00:21:08] Chuck: cool.

[00:21:09] Natalia: And yeah, I don’t really want to, like, I really appreciate the work of everyone, like, creating new technology. Um, but I personally have had many problems with Apollo client resolution on many projects. And particularly if you’re working in a mono repo and you have different versions of Apollo in different projects, it may break everything and it may be very

difficult to

[00:21:35] Chuck: different versions of Apollo in different projects, it may break everything and it may be very difficult.

there’s

urql, and there’s, what’s the rea the meta one, too? Relay. Relay is another one.

Like, there’s a few [00:22:00] other client side libraries that are actually not bad. They’re pretty nice, and they have some opinions on different patterns there that make a few of those things better. But the complexity around, like, schema management across services and things like that, I don’t know. Yeah, I think it’s most, I think it’s a mistake for most people to choose it first,

[00:22:19] Natalia: Right. Absolutely.

[00:22:20] Chuck: maybe it does work for you in certain circumstances with disparate services, microservices, architecture kind of stuff, But like,

you know, that’s a very nuanced and specific use case. And you probably don’t, I don’t need it for my app with no users. So, you

[00:22:37] Natalia: serverless and you are running a serverless function, you just want to return whatever, um, yeah, REST endpoint and not have another import, right? First of all, another dependency to maintain and

[00:22:52] Chuck: Yeah, that’s true, especially in serverless. That’s a really good, a good point there. Um, do you have any more hot takes? You want to

[00:22:58] Adam: takes? Yeah, um, [00:23:00] macro frontends or micro frontends? I

[00:23:02] Chuck: Oh.

[00:23:03] Natalia: I am not a big promoter of microfrontends, and that’s, that’s going to come as a surprise because I maintain a site about microfrontends, but that’s because I had to work with microfrontends for a, um, a while in an enterprise context, and I did a lot of research, and I did a lot of experimentation, and then I was coming across.

So I wanted to document it so I could link people back to whatever my opinion on the subject was. Because I am not implying that everything I say there is perhaps true to everyone. But that’s my, um, that’s how I experienced it.

[00:23:48] Chuck: that’s a really good point because I think that’s a definitely focus of what, you know, what our research into you and your history and stuff. Yeah. Obviously very connected back to that, [00:24:00] that site, which do you want to say the URL for

[00:24:05] Natalia: microfrontend. dev Yep. Yeah.

[00:24:08] Chuck: So you say it depends also for macro versus micro?

[00:24:12] Natalia: versus micro? definitely. Architecture always depends,

always has trade offs. And

you

need to start by your use case. Like, some people just start coding, or just start building something without thinking about, OK, where am I going with this?

I think it should be, um,

it should be defining a problem,

explaining how you’re

going to solve it, then try it. And if it doesn’t work, this is why we have all these new patterns of continuous integration and deployment and, and trying and, and figuring out if we are wrong, then we can

take things

back, roll them back, start again, or redefine, but we need to have some certain [00:25:00] definition before we start working.

And that’s, that’s going to tell us, um, A lot of what the solution should be.

[00:25:08] Chuck: Yeah, I think that’s a really good point of like, instead of hearing about the shiny new thing and the react ecosphere in particular suffers from this because there’s, you know, 50 new frameworks and patterns and opinions and whatever else, you know, every other

[00:25:24] Adam: And code transformers and this and

[00:25:26] Chuck: Oh my gosh,

[00:25:27] Adam: stacks up so

[00:25:28] Chuck: transforms, compile, like, yeah, do all these things.

And, um, in order to make it more like, you know, backend code, which has to be compiled for the most part. Um, yeah and so people want to learn about something that they heard about or read about and they think is interesting. And they just come in jamming that solution without really understanding the problem, which has its own cascading

effects,

[00:25:53] Adam: describing it like it’s like a chef, you have two different kinds of chefs. One will show up and he [00:26:00] asks, what am I cooking? And then he’ll go find the necessary things, or if she, or they’ll go find the things that they need to execute that dish in their style.

The other kind of chef is pretty much what a lot of folks do in the node world, is they’ll go and create the super kitchen.

[00:26:16] Natalia: Right. I call

[00:26:17] Adam: And I, and I call it like a, like a dump truck just shows up like NPM installs like beep, beep, beep. And it just dumps tools down. And then they spend the whole day setting up the kitchen.

They’re like, yeah, I’ve got the best oven. I’ve got the best super dicer. And I’m like, you could have used a knife, you know, like but it’s just so addicting to kind of do that. Yeah. You haven’t even cooked seriously. And so then they get in there and then they don’t even know where tools are because the kitchen is so big.

Thanks. Good. It’s just, it’s just funny, and so I think it takes time, it takes knowing your trade offs to find out later that what you really should have done is built up slowly instead of tried to work in a reductive fashion. It’s just too hard to work backwards.

[00:26:55] Natalia: I like your analogy, but I would add another type of check. [00:27:00] That’s, that’s the one I, I would like to be, I intend to be. It’s the one that, first of all, talks to the one that’s going, gonna eat, right? What do you like eating? What are you in the mood for? And what are your dietary restrictions?

And then looks at their kitchen and evaluate the limitations of, you know, delivering that food. And then if they need something else, like, that is not in the kitchen, they get it,

[00:27:28] Chuck: It’s like

[00:27:28] Adam: I

[00:27:29] Natalia: and then they cook the meal.

[00:27:32] Adam: It’s like you have a user, every user visits with different preferences. I want a light, I want a light website. I’m on mobile. Here’s my constraints. And so they bring so much. So yeah, the best chef is the one that’s looking at all of these individual moments and serving something up just right for them.

Very nice.

[00:27:47] Natalia: it may be counterintuitive because I am, um, I work in developer tools and developer experience, but I think that our industry and the JavaScript and front end [00:28:00] development industry suffers from,

I don’t know if that’s a syndrome, but we never think about the end user more than we think about the developer experience.

We’ve

[00:28:12] Chuck: Yeah.

Yeah, we’ve, we’ve been, had this massive shift because it definitely used to be the other way. We cared so much about the user experience and making sure, and especially during the browser wars, you know, 50 different possibilities this could render and we want to make sure that’s consistent across the board.

We thought a little more about accessibility. We thought a little more about like, um, Metadata a little bit, you know, like meta tags and micro formats stuff. I don’t know if you remember any of that stuff Yeah performance. We cared a lot more about performance and now we’re like Performance is your problem.

You all have Mac books and you know on all that kind of stuff so I’m just gonna dump this on to you and you’ll get there and here we are and single page apps and all this JavaScript

[00:28:57] Natalia: Yeah, I think that

sometimes [00:29:00] we don’t think about the fact that, um, not everyone is on the same speed and closer to the same job.

And, um, I don’t know, point of presence or whatever is delivering the code, um, to a machine. And not everybody has, obviously, a high end Mac or ARM machine.

[00:29:20] Chuck: And

most people don’t need that, you know, and I think we kind of forget ourselves in that way. It’s like, you know, people are on an iPad or a Chrome what is it? It’s the Chromebooks that are running.

I don’t know, I forget a little bit, but you know, you have like these basic OS’s and most things are in the cloud.

And, you know, that so they don’t have a ton of processing power. And they don’t have the same experience. I mean,

I

can remember like 10 years or so ago, we would have like device labs. Right?

[00:29:54] Adam: where’d they

[00:29:55] Chuck: yeah, where’d they all go? All those like billion different phones and laptops and all [00:30:00] these things to try and like, get it.

Across like working well across

[00:30:04] Natalia: Yeah, I remember at the company I was working for, like, we had, like, a closet, and then we opened, and we had all the phones, and all the laptops, and, yeah, that was

[00:30:14] Adam: and then we opened, and we had all the phones, and all the laptops, and, yeah, that was so

cool. Does good DX lead to good UX?

[00:30:31] Natalia: Not necessarily.

[00:30:32] Chuck: Yeah, I think often not, and I would say probably more often not.

[00:30:37] Adam: not the common belief.

[00:30:39] Chuck: Yeah.

[00:30:40] Adam: As I know. That’s what led so much of this DX effort. You had Alex Russell who was challenging this, but a lot of other people didn’t challenge it. They were like, look, if I’m faster, better, stronger at my day job, I have more time to deliver accessibility.

And you were like, but you didn’t, though. You just,

[00:30:55] Chuck: Yeah.

[00:30:56] Adam: know. You spent more time adding another thing into your

[00:30:58] Chuck: Well, that’s just what it was [00:31:00] exactly like DX has gotten better and better and better. And there’s a lot of focus there. There’s tons of tools and tooling and software and all this fun stuff like we’re very much catered to. But conversely, I don’t think that’s that has translated at all to our users getting any more benefits or the company’s getting more

[00:31:20] Natalia: rendering and all those meta frameworks

that are, um, using this, this rendering strategy,

[00:31:29] Chuck: DX

[00:31:30] Natalia: kind of connected to DX.

For some reason, but I don’t really

see the correlation because you can actually, you don’t necessarily need to have a good DX while building with one of those frameworks. So yeah, it may be good for performance. That’s, that’s,

it depends on how you then rehydrate.

[00:31:55] Chuck: Yeah.

[00:31:56] Natalia: so, um, but not to the [00:32:00] ex, I don’t know.

[00:32:01] Chuck: Yeah, I mean, I don’t know the only one that we were talking about this a little bit earlier, which does kind of tie into microformats, which is like Astro to me feels like one of those frameworks that does a lot of things really good.

[00:32:14] Natalia: like that’s

[00:32:16] Chuck: does kind of make performance good just as an artifact of saying HTML is a first class citizen so like that’s kind of our first step of like delivery and obviously you can do all kinds of crazy things with it including use it as a micro front end kind of tie together because you can have you know a Svelte app and a React app and you can kind of tie those together and it’s just like route based but um that’s really the only one because I, I really liked Next for a while because when I would work in React, it was like the wild, wild west of 50 different things to take a library to a framework so I can actually have apps.

But then, and then Next was like, here are the rules. And I like rules around these things. It’s like [00:33:00] follow these conventions and this is the outcome. It’s like, that makes sense. Great. Now I can just, and that I think turns into good things for the user. But when it starts getting wild, like, Next is just Kind of keeps making me go back and read their documentation again, even though, Oh, you know, I’ve spent the last three years writing next app, so I should be good and know how to do this, but now I have to keep relearning how to do it.

Hell with it. I’m done with this. So I don’t know where I was going with that, but I think like

those frameworks, anyone that like just says. follow the happy path and your users will benefit. I think those are ones where you get DX and UX potentially.

[00:33:43] Natalia: Yeah, I really like Astro. Actually, Microfrontend. dev is written in Astro.

[00:33:47] Adam: Ooh, it would be. Nice.

[00:33:50] Chuck: That makes sense.

[00:33:51] Adam: Um,

[00:33:53] Natalia: I like island architecture. I like the concept and the, um, implementation. Thank you.

[00:33:59] Chuck: Yeah.[00:34:00]

[00:34:01] Natalia: I think, like you said, it’s not necessarily true that any framework with a good DX will be performant or the other way around, so,

[00:34:10] Chuck: we can definitely find ways to screw things up. So,

[00:34:13] Adam: This has been very tech heavy. Should we get into the whatnot? A little bit? Although I have like a small joke. It’s killing me. I gotta, I gotta share it. Let

[00:34:20] Chuck: Let it out. I don’t want you to hurt anymore.

[00:34:24] Adam: Okay. Imagine, or maybe I’ll just do this. Maybe I’ll just be this character. I wanna be the dev Zoolander, and so when someone’s like, you have to hydrate the component and then I’ll pour water on my computer.

You know, just there’s got to be someone out there that’s like taking all this stuff like you got hey use grunt

No, no gulp it, you know, just somebody taking it all like way too literally, You could do a video series on this. Yeah, you have an opportunity to, so we can create those memes. I won’t take, I refuse. I’m not

I’m, not ticking either but yeah, that’s funny, but we’re all like put it there Um, but yeah, it would be fun to do little shorts where i’m like dev [00:35:00] zoolander and it’s just a moron, you

[00:35:01] Chuck: Yeah, yeah. There’s a market for that, I guess. I don’t know. Give it a shot.

[00:35:05] Adam: a shot. Yeah, exactly.

[00:35:07] Chuck: exactly. React was a mistake. I heard you say this earlier. I don’t know.

[00:35:11] Natalia: Did I?

[00:35:12] Chuck: No. You were just reading my shirt.

[00:35:14] Natalia: Yeah, I was just reading your shirt.

[00:35:16] Chuck: Yeah, it’s not your fault. Nobody’s going to get upset with you.

[00:35:18] Natalia: I would say more like JSX was a mistake.

[00:35:22] Chuck: Mm.

[00:35:24] Natalia: Yeah,

[00:35:24] Chuck: It’s possible because I can recall, I mean, it’s just JavaScript. Yeah. And maybe that’s kind of, I don’t know. So a good part of my career early on was all about creating the separation of concerns. So we fought and fought and fought to get these web standards, separation of

[00:35:40] Natalia: We’re from the same time,

[00:35:41] Chuck: Yeah, we are. Yeah. I also listen live in Barcelona.

[00:35:45] Natalia: Yeah, by that time. Okay.

[00:35:47] Adam: Did you bite your tongue?

[00:35:48] Chuck: No, that’s the way that’s the way the, um, Castilians,

[00:35:52] Adam: I’m trolling, I’m trolling, yeah, yeah. no. Anyway, I [00:36:00] yeah, so we fought so long to do a separation of concerns, and then they were like, No, just here’s your JavaScript file, and yeah, let’s throw our pseudo HTML in there.

[00:36:07] Chuck: And I was like, this stuff is so ugly, like, bullshit. But

[00:36:12] Natalia: It irked me to see the CSS in the same file as the, even with Astro today, I don’t do that.

[00:36:18] Chuck: No.

[00:36:19] Adam: single file components are like, I don’t want to mix it up.

[00:36:21] Chuck: Yeah, I don’t love that either. Um, but then I use Tailwind all the time, and so then it’s just like strings,

[00:36:26] Adam: Who did it first? Was it Polymer? Who did the single file component first? I remember Polymer having something like that. Vue had something like that. Angular

[00:36:38] Natalia: Yeah, I think it was, it was Vue.

[00:36:40] Adam: Was it

[00:36:40] Chuck: Yeah, that makes more sense. I think it was View, because Polymer was trying to follow the path of Web Components, and Web Components are more

[00:36:47] Adam: like what Next did for React. Polymer was trying to do that for

[00:36:52] Chuck: Right. Yeah. Wasms.

They’re out there, but I don’t know where I was going with that. Yeah, JSX [00:37:00] is, it’s not the best. I liked Handlebars, Handlebars was

[00:37:04] Adam: I liked jade, but I’m also the weirdo that I’m like white space limited. I’m cool with that. And everyone’s like, Oh, how could you? Well, I’m like, dude, curly brackets and semicolons are for the machines, man. That’s just noise in my editor.

[00:37:16] Natalia: in my editor. I never used j. But I really liked handlebars.

[00:37:20] Chuck: Yeah, Handlebars was nice because it was like, Yeah. It, it was nice, it gave you some looping and some other

[00:37:26] Adam: EJS was the one I was like, Ugh

[00:37:29] Natalia: Percentage signs

[00:37:30] Adam: percentage signs and weird

[00:37:32] Chuck: Yeah, that’s a little bit weird. I came from like doing Jinja templates in Python. And so, Jinja handlebars.

[00:37:40] Adam: right? There’s

[00:37:41] Chuck: I think so, I

[00:37:42] Adam: Oh, it’s Nunjucks and Jinja. Okay, sorry. Anyway.

[00:37:45] Natalia: Same with, with percentages is that I was working as a full stack Java, JavaScript developer with JSP, like Java server pages that use a lot of

percentages.

[00:37:58] Chuck: Yeah, and you’re like, [00:38:00] um,

Yeah,

you again for the machines. So, um, first off, I want to ask, do you, I thought you liked the whiskey.

[00:38:08] Natalia: Yeah, I do, but maybe, maybe I, I want to keep my English at a certain level.

[00:38:13] Chuck: Oh no, no, we can definitely let the wheels off here, you know, so you, we, you can chug that and see what happens anyway. Um, wheels up. So how is it living in Barcelona?

As a secret Real Madrid fan, though.

[00:38:30] Adam: and the spice of the question and I’ve got a good follow if I’m putting a

[00:38:36] Chuck: yes, and I’ve got a good follow up. I’m putting a pin in that one about Spice, too.

[00:38:41] Natalia: I’m actually kind of confrontational sometimes,

[00:38:44] Adam: Yes.

[00:38:45] Chuck: this. Passionate, that’s the way we

[00:38:48] Natalia: Yeah,

so I don’t advertise it, but I don’t hide it,

[00:38:52] Chuck: you wear like a shirt out or whatever and that’s not a big

[00:38:56] Natalia: I don’t, I don’t know, Jersey, but no, no, but, [00:39:00] but, Yeah, um, if they ask me Do you go to the I don’t know to see the game today? Um, no, i’m not interested because I don’t follow

[00:39:10] Chuck: Unless it’s the Classico,

[00:39:12] Natalia: Yeah, yeah

[00:39:13] Chuck: That’d be a good one. What made you a Madrid fan?

[00:39:19] Natalia: My father was one

and

[00:39:21] Adam: I

[00:39:22] Chuck: strong Yeah, I didn’t know if there was a particular player that drew you there or anything else,

[00:39:26] Natalia: I don’t think so. I think back in the day in the 80s. They had a pretty strong team and He followed he was a Very big soccer fan and I have always been very close to him. And yeah, that’s why

[00:39:40] Chuck: a very big soccer fan. I was very close to him, yeah, That’s why.

[00:39:51] Natalia: that’s an interesting question we in

South America in the south of South America Argentina and [00:40:00] Uruguay.

We also don’t tend to eat very spicy You

[00:40:03] Chuck: influence

[00:40:03] Natalia: And I think that’s the influence of Spain Probably and the Italian cuisine is also not very hot unless you have pepperoni in your pizza. Um

[00:40:13] Chuck: the crushed red pepper they’ll put on there, at least around Napoli or whatever, you get more of that.

[00:40:17] Natalia: there are some peppers like some older people love Um, yeah, but in general our cuisine is not not very

[00:40:26] Chuck: Not very spicy. Yeah, I remember I was staying with some guys in Barcelona and I Okay, so two points here. The first was, we went to the grocery store and I picked up some hot sauce to put on pizza and they thought I was crazy. They were like, man, that’s crazy. Too spicy. And I think it was just like Tabasco sauce.

It wasn’t anything like crazy or special. But I did prefer that to the weird wet tuna.

That they would put on. It’s like tuna that you don’t really drain it. And they, that’s always, you always get a salad that has like that tuna there. And then, yeah, you can get [00:41:00] it on the pizza. I don’t

[00:41:01] Adam: So wait, that’s kind of anchovy ish, I suppose.

[00:41:03] Chuck: I don’t know. Do you like

[00:41:04] Natalia: I suppose. No, no. Tuna pizza is pretty common. Yeah.

[00:41:08] Chuck: is. It’s weird shit.

[00:41:09] Adam: Yeah.

[00:41:10] Natalia: I also think it’s because in the Mediterranean kitchen, there is so much, um, like, good ingredients that are natural, and taste so good, and why would you want to ruin

[00:41:22] Adam: Oh, I love that. Yeah, don’t cover it up. Just, just have it as it is. Yeah. Appreciate it for what it is and it’ll give you perspective for other things. Yeah.

[00:41:30] Chuck: that’s kind of fair. I don’t know, why not all things, but yeah. I mean, in general, like, I enjoy the city, it’s incredible architecture, and art, and just like I don’t know, felt like very natural in the middle of a city too. It was like very cool. But some of the food things were like a little, could eat a rabbit.

I’m down with that. But like, I don’t want to know my pizza, you know, like, I don’t know. That was kind of the breaking

[00:41:55] Adam: tuna pie. I don’t know if I’d like that either. But, I might eat one piece just cause. Just to

[00:41:59] Chuck: to [00:42:00] try it just to say, yeah, I tried it. Tuna pie.

[00:42:02] Natalia: there is. There is, um,

[00:42:04] Chuck: You should, that’s a meme. You should put that on Twitter. I love tuna

[00:42:08] Natalia: I love

[00:42:09] Chuck: let people infer whatever they

[00:42:10] Natalia: Yeah, they, um, people from Galicia from the north, they have like this tuna pie that is amazing.

[00:42:17] Chuck: savory

[00:42:18] Adam: it savory or sweet?

[00:42:20] Natalia: No, it’s it’s salty. Tuna is

[00:42:23] Adam: Okay,

[00:42:24] Chuck: Yeah,

[00:42:25] Natalia: yeah.

it’s really nice.

[00:42:28] Chuck: I don’t know. I would try it, again, but I’m, I just, that whole wet tuna thing, all over things. It’s like, many other things. Great, fresh seafood and all that fun stuff. I like how, um, Catalan integrates some French too, in it. It’s like, some words are French and all of that,

[00:42:44] Natalia: So it was a, it was a language they used to, um, do commerce in between the countries that are in the Mediterranean. And this is why they got all influenced by, um, yeah, that’s like a merge. [00:43:00] of many, many languages, Portuguese, Spanish, French,

Italian. Yeah.

[00:43:06] Chuck: by Portuguese. Which one?

don’t know.

[00:43:13] Adam: Yes, yes. You just meant

[00:43:20] Natalia: Oh, you mean the Catalan

[00:43:21] Chuck: Yes, yes. You just meant in general you would join a

[00:43:24] Natalia: Yeah, I would join a revolution. Um, that particular revolution, I don’t know. I’m not I don’t know if I understand it very much. I am not a very political person. I mean, I have my political ideas and opinions. But maybe not, that’s not, um, a concern for me,

[00:43:45] Chuck: Yeah, right.

[00:43:46] Natalia: And I understand the, um, component of I was born in this land, I wanted to be free from whatever.

But that’s not something I feel in me. So, [00:44:00] yeah.

[00:44:00] Chuck: That makes sense.

[00:44:01] Natalia: just happens.

[00:44:02] Chuck: It was mostly a tongue in cheek question anyway, but it is kind of an interesting thing, because when you consider that, it’s like, I think it’s a lot of hate bred from the time of Franco, and you know, um, having that close country, and like, okay, you know, breaking away.

That’s why Barcelona hates Real Madrid, because it’s the royal team, and it’s the one that Franco liked the most, and, yeah, yeah, I don’t know.

[00:44:25] Natalia: Yeah, it’s rooted in things that I didn’t

[00:44:27] Chuck: leave. No, Right,

[00:44:28] Natalia: And so I, I don’t have a strong

opinion

[00:44:31] Adam: the things

[00:44:35] Natalia: were

[00:44:36] Adam: I didn’t leave, and so I, I don’t have a story.

[00:44:53] Chuck: I think people are a little crazy and didactic about, like, their favorite tools to a degree. It’s like [00:45:00] supporting, like, a political party or a sports team or whatever else.

[00:45:03] Adam: a sports team or whatever else.

I’ve worked with Angular for many, many

[00:45:08] Natalia: So I worked with Angular for many, many years and I had a preference for it because I liked it. It worked for me. Um, I see it going in a really good direction right now. So I, I am, I am really liking Angular.

[00:45:23] Adam: They called a lot of things so early. They were early TypeScript. Um, so, so many things that people chastised them for. And then here we are going, I guess they were

[00:45:31] Chuck: once they got the CLI, which they had borrowed from Ember,

[00:45:34] Adam: migrations and all sorts of goodies. Yeah.

[00:45:37] Chuck: You have generators? Generators are nice. Redwood has generators and I like that part about it too.

[00:45:42] Natalia: Yeah. So, schematics, Yeah.

[00:45:45] Adam: Schematics.

Yeah.

[00:45:46] Chuck: similar thing where it’s like, make me a component, make me a, you know, a route or a controller and, you know, all

[00:45:52] Natalia: I think it’s a very, very sophisticated tool. It may have a steeper learning curve, obviously, but I like the opinion. [00:46:00] When it comes to development, I think you need to have an opinion. Because it’s easier. Then you don’t have to, you know, go browse and find and test and you just go to the style guide and you get your answer, right?

[00:46:16] Chuck: and you just go to the satellite, and you get your answer. But I was never,

[00:46:29] Natalia: Absolutely. But I was never, like, hating on anyone. I think that’s

It doesn’t make any sense. Yeah.

[00:46:37] Adam: you right. There’s like, I heard this comedian one time, he’s like, yeah, so my family will go to war against your family, and once you’re dead, we’ll be right.

[00:46:44] Natalia: Yeah.

[00:46:45] Adam: And I’m like, no, but okay.

[00:46:47] Chuck: be the winners, I guess. You’ll be alive but

[00:46:50] Adam: happened, but I don’t think it made you right, yeah.

[00:46:52] Natalia: doesn’t make you right. That, that’s, that’s true. And also, I have used all of the frameworks. [00:47:00] Because the, because it was a requirement. Because it was a request from the customer. Because

[00:47:06] Chuck: so solid

[00:47:08] Natalia: no, no, no. no. I mean the, I mean the three ma, the three major

[00:47:12] Chuck: So wait, you never used Ember? Remember it

[00:47:14] Natalia: I use Ember. I use

[00:47:16] Adam: remember Ember.

[00:47:17] Chuck: backbone. See, that’s kind of why I accepted. Yeah.

Backbone. Yeah. I had come from a backbone marionette project and at first react seemed God awful because of the JSX and syntax stuff, but it was, it was the view layer.

I could actually just create a nice isolated component.

[00:47:36] Adam: version of React was just a view

[00:47:37] Chuck: The old react, the class base react.

[00:47:40] Adam: that was the one where I was like, I do need an infinite list. And this is the right library for that particular, and then people built a whole website out of something built for infinite lists. And I was like, this is stupid, y’all.

[00:47:49] Chuck: I have to find a router, I have to find states, I have to, yeah, I have to find all these things.

And then, and they’re like, classes are dumb, but now they’re in the spec. And it’s

[00:47:59] Natalia: yeah, [00:48:00] exactly. Yeah, right. So why? It’s just

[00:48:02] Adam: And we have real private members in a class and people don’t use it.

[00:48:05] Chuck: it. Oh, I know. I do.

[00:48:07] Natalia: Yeah.

Class is cool.

[00:48:10] Chuck: is cool, there’s nothing wrong with that. Class has

[00:48:11] Natalia: it’s just an object. All right, I

[00:48:14] Adam: to

[00:48:15] Chuck: Alright, I want to ask, if you weren’t a developer, what would you do? What would your job be? What would you want to do? And it doesn’t matter, it doesn’t have to be like a, oh, I don’t have this skill. You can do whatever. Pick whatever your interest would

[00:48:27] Natalia: So

right now I would be a film maker.

[00:48:34] Chuck: Oh, I love that. I went to film school for a year, by the way.

[00:48:38] Natalia: I went to art school. Actually. Art, I taught myself

[00:48:41] Adam: art school as well.

[00:48:42] Natalia: yeah, to be a developer. I was a, I was a graphic designer. Then I went to be a web developer, web web designer, then web developer, like I started with action script flash.

[00:48:54] Adam: so good. Yeah. Action script two or three.

[00:48:57] Natalia: Ah, no, Two.

[00:48:58] Adam: So then when three came out, [00:49:00] were you pissed or happy?

[00:49:01] Natalia: I think I, this is when I made the transition to JavaScript, actually. So, because I wanted, I was building these Flash websites,

[00:49:10] Chuck: Flash turbation.

[00:49:12] Natalia: I was,

I was, I was, actually, I wanted to make them full screen, and I realized, like, I started trying to figure out how I do that with the scenario and all the things and the clip.

And I figured out it’s not possible and you have to code, and then I started learning how do I do this, and then I got to do that, but then I needed to send the form.

[00:49:34] Chuck: to call

[00:49:35] Natalia: And I’m

[00:49:35] Adam: you have to call out. Yeah,

[00:49:37] Natalia: so how do I do that? And then I started researching, and I find that you need PHP, maybe you need a server, you need, yeah, and this is how I got deeper down the rabbit hole, and I never got, came back from

[00:49:52] Chuck: was going to architect Hey, stop it, y’all.

[00:49:58] Natalia: I was, I was [00:50:00] going to architect,

[00:50:01] Adam: going to school for architecture initially and getting into photography and learning photoshop. I was going to architecture.

[00:50:03] Natalia: yeah, yeah, no, seriously,

[00:50:06] Chuck: in Uruguay, that’s all I ever wanted to do.

I wanted to grow up to be an architect. I was going to ask you about your tattoo.

[00:50:13] Natalia: so I told you I’m very close to my father. He passed away, but he was studying to be an architect. He had to drop out for reasons, so I went to university to learn to be an architect because I wanted to, you know, because I really liked it too.

I was good at drawing and technical stuff, and then I came across Like, um you know, computer assisted design. And I was like, oh, computers

[00:50:39] Chuck: Yeah, they are cool. Drawing is cool, but machines are real

[00:50:43] Natalia: Yeah, yeah. And that’s, yeah.

[00:50:45] Chuck: That’s awesome. And it all ties back to like filmmaking. You were mini filmmaking in Flash, to a

degree.

[00:50:50] Adam: a

[00:50:51] Natalia: Yeah, exactly. But now,

[00:50:53] Adam: this movie I really like

[00:50:55] Natalia: Yeah, there is this movie I really like called, um, Talented Mr. [00:51:00] Ripley. And there is a remake.

Okay. Now that is a series that is closer to the book and it’s all in black and white. It’s amazing

[00:51:08] Chuck: on, it’s actually on this, and I just haven’t gotten to it

[00:51:11] Adam: to it yet. Yeah,

[00:51:13] Chuck: Yeah, it’s on

[00:51:14] Natalia: really

[00:51:15] Chuck: like it? Okay.

[00:51:16] Natalia: every frame is a photography like

[00:51:19] Adam: it’s

[00:51:20] Chuck: Real cinematography, like where it’s art. Yeah, I love that. That’s what I love about old movies, is they didn’t, they couldn’t rely on effects and all this stuff. And so it just, it was really thoughtful.

[00:51:31] Natalia: And the most fascinating of it is for the first three or four episodes

Um, you don’t have any music. It’s just so

focused on what you’re seeing

[00:51:42] Chuck: pretty

[00:51:43] Natalia: That is pretty silent And that’s an interesting way of capturing and engaging the viewer without needing to You know connect them to sounds

[00:51:54] Adam: Yeah.

[00:51:54] Natalia: Yeah, it’s really

[00:51:55] Adam: Wow. Yeah, I like that. That’s almost like they’re not cheating. They’re, they’re like, our [00:52:00] visuals are so good, we’re not going to subsidize.

[00:52:03] Chuck: Yeah, I love that.

We do want to be respectful of your time and all of that stuff.

[00:52:08] Natalia: It’s fine, I’m having fun.

[00:52:10] Chuck: Well, fun is good. Yeah, that’s definitely cool.

[00:52:14] Natalia: So inference, or, no, just kidding.

[00:52:17] Adam: Oh, nice. She’s like about to bounce you a hot one.

[00:52:19] Chuck: exactly. There’s nothing wrong with that. Inferred or explicit types? It depends. I trust a library that provides types, and so I will infer on my dependencies, and then obviously explicit types and like functions and stuff.

I, you know, I want to like, oh, my arguments need to be these things, and I’m going to return this thing. That’s kind of it for the most part. Like, I don’t get too crazy otherwise.

[00:52:45] Natalia: if you ask me if I love JavaScript more than Typescript or the other way

[00:52:49] Chuck: around, Yeah.

[00:52:50] Natalia: JavaScript.

[00:52:50] Adam: Yeah. Ooh, high five

[00:52:51] Chuck: It’s true. I kind of do like the, you know, the training wheels off.

I appreciate TypeScript when you are, [00:53:00] maybe you’re in search, like circumstances where either you don’t know who you’re working with or you don’t trust them. Then I like more, more guardrails. But like, if it was just me, yeah,

[00:53:12] Natalia: exactly. I wouldn’t ship anything to production in JavaScript today, because I’m so used to using JavaScript TypeScript for that. But when I’m having fun,

[00:53:22] Adam: You just want to express. Yeah, you want to sit down and get, yeah.

[00:53:25] Chuck: And then also, like, because that takes out a step, right? You don’t have a compiler. TSC goes away. You can write this file that your browser can read. That’s really fun. I like the idea, um, more and more about, like, the way these things are supposed to work instead of our workarounds, per se. So DHH, and I’ve mentioned him a couple of times these last couple of days, but, like, it’s just been, like, resonating with me in a lot of ways where he’s like, look at this no build application I’m shipping highly complex millions of users.

This is possible if you want that, you know, right? And [00:54:00] everybody buys in right? So that’s the whole thing is like it’s the hive mind organizationally, but if you’re just building a thing Why not?

[00:54:08] Natalia: strong opinion I have.

[00:54:10] Chuck: Okay

[00:54:10] Natalia: I’m going to figure out if I make you cut it or not.

No CSS frameworks.

[00:54:15] Adam: frameworks. Oh. I love it!

That’s one of the questions on here. Is vanilla CSS or Tailwind? Clearly you have an answer.

[00:54:24] Chuck: Yeah.

[00:54:25] Adam: Tell me more, I’m here for this conversation.

[00:54:28] Natalia: Absolutely unnecessary. Right now, today, why? I don’t get it.

[00:54:34] Chuck: Yeah. Because CSS has gotten really good. I mean,

[00:54:37] Adam: It’s a little bitchin

[00:54:38] Chuck: I’m, for me, I’m lazy. There’s a lot of like, I’m lazy and I have to get things done, and it’s not just for me, and

[00:54:45] Adam: the laziness mean you like the copy paste ability of Tailwind?

[00:54:49] Chuck: some of that, yeah. And also I can just, in, right there, in context, kind of like, type what I want it to do, for a way, it’s almost like natural language, to a degree, it’s sort of like, yeah, [00:55:00] margin,

[00:55:00] Adam: you went from separations of concerns, now you’re all the way back into I

[00:55:04] Chuck: This is just strings, though. And I used to do websites where you had, you know, the style attribute, and you’re putting your stuff

[00:55:10] Adam: And it is still

[00:55:11] Chuck: But then, you know, I definitely felt strong about taking that out of there and being able to, you know, manage it over here and make HTML be cleaner. I don’t know.

[00:55:21] Adam: What are your favorite new CSS features that you’re like, this is why I go vanilla, it’s just too badass. What

[00:55:26] Natalia: It’s, it’s not that new, but

I remember having to use tables and stuff. And so, GridLayout and Flexbox for me were like, Oh my god, this is so easy now. We used to have to ship with asterisks

[00:55:39] Chuck: Floating, yeah, yeah. So much floating and ridiculousness. Yeah, yeah. So it’s like table like. You can imagine something in a table, but then it’s semantic. And so that’s nice.

Yeah. That’s

[00:55:52] Natalia: my problem with CSS frameworks. They’re not

[00:55:56] Chuck: Yeah,

[00:55:56] Natalia: They, they’re, like, you see this [00:56:00] tiny tag with 25, 000 lines of CSS classes, and

it, I don’t know, maybe.

[00:56:09] Chuck: You can abstract that to a degree, you can Like,

work around it, but then that’s the whole same thing as like.

what are the workarounds rather than how is this supposed to work, you know? Yeah, like. What does MDN say you do with this? Great, like, let’s just follow the manual of the internet. So, you’re probably right.

Alright, that’s why I say I work in this way out of laziness, because I’m focusing on some other things, because I’m kind of a

All the code I write has to do with, like, the open source project and its application that I work on, and not necessarily my, you know, day job kind of thing, per se, um, and so I think about it as, like, I want to ship, and so this is just another, like, lazy lever, and I can think about other business logic.

[00:56:54] Natalia: But this is an, this is an opinion I never say on TechTwitter. Because I, I’ve seen people get [00:57:00] really, um, vehement.

[00:57:02] Chuck: Isn’t that fun? That’s like a fake world. It’s like Second Life or something.

[00:57:07] Natalia: it used to be fun. It got to a point when it was like, yeah, I don’t want to be part of this.

It’s a great, like, know. It is.

[00:57:14] Chuck: Yeah,

[00:57:15] Natalia: I want to have a conversation with people and if they disagree with me, it’s fine. Like that’s great.

[00:57:21] Chuck: Yeah, you’re not stupid and wrong, you just have a different opinion, and we both can get there in a different, you know, we both can get the same outcome, and we’re just gonna like, follow a different opinion to get there. That’s what I like about code, is that it, you know, so many people think like, this is the right way, and you’re dumb, and they’re rude about it, you know, quite frankly.

Um, and you’re dumb if you don’t think what I think, and it’s

[00:57:46] Adam: Well, they’re, they’re always so surprised that anyone could ever have done anything since the fucking 50s or

[00:57:52] Natalia: know, like,

[00:57:53] Adam: You know, like, dude, the code back then, there’s no way they could have got, got anything done. There’s no way. And you’re like, dude, they did though. And they built amazing shit. They sent [00:58:00] shit to space. Like,

[00:58:01] Chuck: couldn’t do half

[00:58:02] Adam: it’s so rude.

[00:58:03] Chuck: you have all these abstractions that make things nice and human readable.

[00:58:07] Natalia: you have to debug them.

[00:58:09] Adam: Just like a chef. A chef can make an incredible meal out of whatever they need in the fridge, right?

A good chef is not their tools. A good chef will make a good meal regardless. And so there’s just so many people though that they’re so tied to their tools and that’s their identity. And so they can’t imagine a life outside of having this whiz bang gadget that does X, Y, Z or whatever.

[00:58:28] Chuck: does

[00:58:28] Natalia: I think because we come from a world where we had to find those tools and so it was difficult and we didn’t have them really, they didn’t exist.

[00:58:38] Chuck: that’s what

[00:58:41] Adam: Difficult didn’t mean impossible, though. And that’s what a lot of people tend to look at us. They’re like, it’s

definitely not possible to even complete a good web app in 2004. And you’re like, there were

[00:58:52] Chuck: why isn’t this in, yeah, why isn’t this in Rust? Why isn’t everything in

[00:58:55] Adam: Yeah,

[00:58:55] Chuck: Zig, or whatever the latest thing is? It’s like, actually you can go write [00:59:00] performant

grade applications in

[00:59:02] Adam: and, yeah, Laravel is kicking ass, right? And those people are just rolling around in nice cars and just not bragging

[00:59:07] Chuck: Lambo,

[00:59:08] Adam: on their friends. Yeah.

[00:59:09] Chuck: Well Rails and, Rails and Laravel is how you get a Lambo apparently, so I really should rethink my life.

[00:59:15] Natalia: We should re evaluate our life

[00:59:18] Chuck: life. Yeah,

[00:59:19] Adam: any car that you want, what would you have right now?

[00:59:22] Natalia: Any

car that I want, a Ferrari.

[00:59:24] Adam: Ooh, nice!

[00:59:25] Chuck: specific

[00:59:26] Natalia: No,

I don’t know what are the latest ones, the latest ones.

[00:59:29] Chuck: ones. Yeah, whatever the latest one is, because it’s good. Just not like LaFerrari. Their hybrid one is kind of

[00:59:34] Natalia: I’m into cars and gears and, you know, and

vroom,

[00:59:38] Adam: yeah, manual or automatic?

[00:59:39] Natalia: Yeah, manual, manual,

[00:59:41] Chuck: okay, I will say this.

As one time in Italy a couple years Well, yeah.

[00:59:46] Adam: you’d be manual all

[00:59:47] Chuck: I do like manual in older cars that I’ve had. I obviously prefer manual, but technology is good and like give it a shot. So a few years ago when I was in Italy, I’ve been a bunch of times but and [01:00:00] rented a 488 Spyder And it’s paddle shifter and it’s a real ass race car and it sounds amazing I did I was kind of like ferrari’s cool, but like What’s the threshold there that makes this worth 350, 000 until I drove it?

And I was like, Oh, okay, I get

[01:00:16] Natalia: I get it.

[01:00:17] Chuck: it. And being able to do this on the fly or let, you know, the computer on board be

[01:00:22] Adam: Are the paddles an auto shift kind of

[01:00:24] Chuck: yeah, yeah. So the paddle shifters are how like F1 racers, indie racers and all of that. That’s how they should, they don’t

[01:00:31] Adam: Oh, I thought they had a short shifter but now it’s even shorter

[01:00:33] Chuck: Yeah, it’s all on there, and it has been that way for a

[01:00:36] Adam: I learned. Okay. Yeah

[01:00:37] Chuck: yeah, and that technology was race driven originally, and then came to consumer cars. And obviously, like, a paddle shifter on a Honda, nothing wrong with that. Gets you from A to B, but it’s just not going to be the same as being in a, like, nice, elite mobile. It’s kind of like when you get, you know, a nice leather jacket, or just something that has quality to it.

You might be like, I don’t need that because, you know, [01:01:00] my, my vans are good enough or whatever it is.

[01:01:02] Adam: good enough

[01:01:03] Chuck: I know. I don’t have a problem with vans per se either, but I’m just saying that like, but then when you,

[01:01:08] Natalia: I’m just

[01:01:08] Adam: but Yeah, we’re still I

[01:01:10] Chuck: I’m Adidas all the time,

[01:01:12] Natalia: Adidas. Oh, I was an Adidas person for a very long time, but now I’m, like, I’m

[01:01:18] Adam: I’m pretty much

[01:01:19] Chuck: I, yeah, I’m pretty much all Adidas, other than a few pairs of Air Jordans just ‘cause midlife crisis. I’ve had sports cars and motorcycles, so now I’m gonna get my old sneakers

[01:01:29] Adam: appreciate your

[01:01:29] Chuck: Yeah. Yeah. And I, I wore theodora’s in like high school and stuff for like

[01:01:33] Adam: That’s just a fun word to say. Deodoras? Yeah.

[01:01:36] Chuck: Yeah. It’s the Italian brand.

Um, anyway, when you get something more quality, you start to understand and appreciate the differences of what it gives you. It’s not just like a label whore kind of thing. Sometimes, these things are just that much better.

Yeah, that’s why I like old houses, too, because they’re not all made of like plywood and stuff like they have real brick frames and all this stuff [01:02:00] like mid century modern architecture and older architecture is quality materials.

This is the problem with like having unions and playing paying people a living wage. Now all the cost of construction goes to labor and materials have to be reduced. Otherwise, like every built every house cost 10 million

[01:02:16] Adam: This is honestly a way I’ve been thinking recently about building applications is how will it age? So I used to think about a lot of things through trade offs or every dependency that I would grab would eventually come back, the taxman would show up, right, and be like, oh, you took a shortcut. Well, now it’s time to pay me back, sucka.

And I’m like, dang it.

[01:02:33] Natalia: That’s a good

[01:02:34] Adam: Right? Because I’d go npm update. Yeah, give me the latest version. It’s like, I broke all your shit, and I’m like, damn it. There’s the tax man coming back to get me. And so now I’m looking at things. I’m like, how does this age? And so I’m looking at things like the dialogue element. I’m like, that’s just gonna age forever.

It’s like a brick in my

[01:02:49] Chuck: I love

[01:02:49] Natalia: That’s why standards always. First and

[01:02:52] Chuck: Oh my gosh, that’s, yeah, like the masonry layout that’s coming into CSS. That’s a really cool one. I don’t know we’ve seen that a [01:03:00] bunch, but the fact that like that our native tooling can do that instead of hacky workarounds now. I don’t need JavaScript for my layout is bullshit, right?

Like, JavaScript is for other reasons. JavaScript to manipulate a layout is like, fuck that,

I don’t want that.

[01:03:14] Natalia: yeah. Absolutely.

[01:03:17] Adam: cool.

[01:03:17] Natalia: Yeah, thanks. You

[01:03:19] Adam: Anything else? I’m not

[01:03:21] Chuck: I’m not cool. She didn’t say

[01:03:22] Natalia: Yeah, you too. You both. Y’all.

[01:03:25] Chuck: Y’all? Yeah, I am from Kentucky, so I do say y’all sometimes, every once in a while.

[01:03:30] Adam: Who’s Ken and why is he tucking?

[01:03:34] Chuck: Because watch out what’s coming overhead, you know. We’re on the Mason Dixon line, y’all. You never know what, what cannonballs are firing back and forth, that kind of thing. Although I guess the Revolutionary War was not cannonballs, we were muskets. They were like tiny cannonballs at that I

[01:03:49] Adam: kit like when you want to smell bad? Is a musk kit?

[01:03:52] Chuck: Probably, if you kill a musk, yeah, we’re gonna wrap this up. At least recording wise, we can hang, or whatever. Alright, so, before we [01:04:00] wrap up, is there anything you want to plug, talk about, mention, tell people to visit, or

[01:04:05] Natalia: No, I just, yeah, visit my site and I don’t know, comment or learn something.

No, I don’t,

[01:04:13] Adam: worries. I was like, I’ll sub, but it’s okay.

[01:04:16] Chuck: I don’t.

[01:04:18] Natalia: No, I don’t. Um, yeah, no, I’m not going to plug anything in.

[01:04:22] Chuck: Alright, well, thanks for joining us. We appreciate it.

Well, if you liked it subscribe, leave a review, all the other things

[01:04:31] Adam: liked the show, punch your friend in the

[01:04:33] Chuck: Yeah, do that find Robbie the Wagner and spam his Twitter feed. It’s Twitter, I’m never calling it the other thing. Alright, have a good one everyone.