Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.

Listen/Watch

109: Hot Takes, Ember Data, and Open Source with Chris Thoburn (Runspired)


Show Notes

After years in the tech game, senior developers know that it’s important to find a balance between innovation and stability in engineering. How can developers strike the balance between embracing new tools and ensuring the steadfastness of their applications over the long haul?

Chris Thoburn (Runspired), Staff Software Engineer at AuditBoard, is a big deal in the open-source community, particularly within the Ember community. He explains how his journey has been a unique blend of teamwork and adapting and elaborates on the philosophy behind Ember Data. Chris mentions that the framework is like a solid foundation, built to provide a consistent and stable data layer while allowing developers to evolve their apps over the years. His vision is for Ember Data to be a trusted companion for developers creating web apps. In this episode, Runspired talks to Robbie and Chuck about his views on controversial tech topics like HTMX, the power of Ember Data and its role in creating stable, scalable, and evolving applications, and the pivotal role that open-source plays in shaping technology.

Key Takeaways

  • [00:50] - Intro to Runspired.
  • [02:04] - A whiskey review: Hibiki Blended Japanese Whiskey.
  • [10:52] - Tech hot takes.
  • [30:26] - How Runspired would rename Ember Data.
  • [39:40] - Runspired’s success pitching open source.
  • [47:35] - The career Runspired would be in if he wasn’t in tech.
  • [50:09] - Runspired shares whether HTMX will change the way web apps are built.
  • [01:00:21] - Runspired’s first choice karaoke song.

Quotes

[27:25] - “I’ve been around enough, seen enough to realize that getting really caught up in one approach is just an exercise in long-term frustration that I don’t need.” ~ Runspired

[35:35] - “How do you get a company to invest in open-source? It's not about open-source, it's about value to a company.” ~ Runspired

[51:07] - “I think we are approaching a very different era in the maturity of Javascript development.” ~ Runspired

Links

Connect with our hosts

Subscribe and stay in touch

Top-Tier, Full-Stack Software Consultants

This show is brought to you by Ship Shape. Ship Shape’s software consultants solve complex software and app development problems with top-tier coding expertise, superior service, and speed. In a sea of choices, our senior-level development crew rises above the rest by delivering the best solutions for fintech, cybersecurity, and other fast-growing industries. Check us out at shipshape.io.

--- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message

Transcript

[00:00:05] Robbie: What's going on everybody? Welcome to your favorite podcast, Sleeping on Chairs. Where we sleep on chairs.

[00:00:11] Chuck: Yeah,

[00:00:11] Robbie: It's very, we got a good one for you this time, where we just sleep on chairs.

[00:00:15] Chuck: on chairs. And good night everyone. No, really. Can you do the intro, Robbie?

God damn it.

[00:00:19] Robbie: No, that was, that was the intro. Actually, this is Whiskey Web and Whatnot, your favorite podcast about Whiskey Web and Whatnot with myself, Robbie, the Wagner, my co host as always, Charles William Carpenter, the 15th and Runspired.

[00:00:34] Runspired: Hello.

[00:00:35] Chuck: How's

[00:00:36] Robbie: How's it going?

[00:00:37] Runspired: It's going good.

[00:00:38] Robbie: How's data these days?

[00:00:40] Chuck: It's looking better all the time.

[00:00:40] Runspired: It's looking better all the time.

[00:00:42] Robbie: All right. All right. yeah, so you've been on before, but, uh, just in case someone has not listened to those and has no idea who you are, for whatever reason, can you give a brief intro into who you are and what you do?

[00:00:54] Runspired: Chris Thoburn. run Spired on the interwebs. I've contributed to Ember, and specifically Ember data, for quite a long time now.

been a bit of a fun journey. Honestly, it's something I got into because I really hated the library and wanted to change it. And, uh, all the change I wanted to see happen is finally coming to fruition many years later. been a long ride. I am

[00:01:17] Chuck: You sound really excited about those changes.

[00:01:20] Runspired: very excited about those changes.

[00:01:22] Chuck: think, um, and I think we will drum up more of that excitement. Uh, you, from the last time you were on, there have been some other changes as well. Your employment has changed. You can talk about that if you want.

[00:01:33] Robbie: haven't

[00:01:33] Runspired: moved yet. Oh man. Maybe I was keeping it under wraps

[00:01:36] Chuck: Yeah, it might have been too.

[00:01:37] Runspired: So I'm at Audit Board. We do compliance, software, you know, risk management, all that kind of thing. Been lot of fun doing infrastructure. Great team. Growing like crazy. If you've never heard of us, you probably will have in a year.

That kind of speed.

[00:01:58] Whiskey intro

[00:01:58] Chuck: Alrighty, folks. Well, today the whiskey is the Hibiki by the Suntory Distillery in Japan. It is the Japanese Harmony. Harmony. Blah, blah, blah. Uh, so this is a meticulous blend of the finest selection of whiskeys.

And from what I've read, it is a combination of both malted and grain based whiskeys. Uh, doing a blend there. , 43% alcohol. So 86 proof. It's a lower one than some that we have. But, uh, Japanese whiskeys tend to, like, really do it well and dial it in on flavor. So, I'm into that. It's non age stated, but has to be at least two years in the barrel.

and that's all there is to know. Let's, let's, uh, pop it and drop it.

[00:02:38] Robbie: Yeah, I've been, uh, I actually already drank some on accident because I forgot that we were doing a thing. I, I smelled it some just now, and uh, it smells to me like some lemongrass and strawberry fruit by the foot.

[00:02:50] Chuck: Ooh.

[00:02:51] Robbie: Uh, is the notes I'm getting.

[00:02:52] Chuck: I don't know. I'm getting a little, I'm getting a little of the lemongrass. But again, every time you say a, uh, some kind of smell or flavor or thing, I keep feeling it. It pushes me in that.

[00:03:03] Robbie: beef? Do you smell that? No,

[00:03:05] Chuck: all. That's a good one.

[00:03:06] Robbie: all. So,

[00:03:07] Chuck: You know, um, okay, so this is a funny one, and maybe this is kind of like the fruit by the foot kind of thing, but, uh, so I get the lemongrass and I'm getting a little grape Kool Aid in the smell, grape Kool Aid, yeah, which isn't grape at all, you know, we know that artificial grape flavors are not, uh, usually what, what, what they say, which is a funny thing, like recently my wife, a side note, my wife and I tried like a healthy orange soda with our kids cause we were like, Oh, they can try a soda.

Yes, exactly. Right. And that, and it does taste good. It has real like orange flavors in it and kind of has an orange creamsicle kind of to it. but it was a miss for us because we were like orange soda and then you want to taste like orange crush. That's what I want. I want the flavor orange soda, not.

Orange soda. That's what orange juice is for. So I don't know, you know, pluses and minuses around that. So when I mean grape Kool Aid, I kind of mean like fake grape taste,

[00:03:59] Robbie: Yeah, the better of the grape flavors.

[00:04:01] Runspired: for, so I think you're smell ceptioning

[00:04:04] Robbie: I think you're smell ceptioning me.

I

[00:04:05] Runspired: me. I didn't smell anything, to be honest. I think it's like the, uh, didn't sleep much last night, getting ready for a talk today. Uh, you know, for context, I'm sure this is not airing today, but, uh, Give a talk at Ember Conf today Wrote all my slides last night. So, you know up late And whenever you've been doing a marathon for a few days and up late, I just feel like your senses get a little dulled

[00:04:28] Chuck: like

[00:04:28] Runspired: so for me, I was just I wasn't smelling much and then you started talking grape and now I'm picking up doctor's office grape

[00:04:36] Chuck: I'm picking up doctor's office grape. Ooh, okay, yes, yes, okay, yeah. So, again, streams of like artificial fruit flavors throughout all of our nose palates.

So, you know, I think we're all in kind of aligned and like relating it to things that make sense to

[00:04:51] Runspired: I mean, it took me back to my childhood, maybe not in a good way, but it took me back to my childhood.

[00:04:56] Chuck: yeah. Hopefully you're not sick now. It could

[00:04:57] Robbie: It could be just disintegrating these wonderful cups we have and

[00:05:01] Chuck: it's just

[00:05:01] Robbie: just chemicals we're smelling.

[00:05:03] Runspired: I was trying to, I was trying to decipher if, if, if that was the,

[00:05:07] Robbie: Yeah. Oh,

[00:05:08] Chuck: okay. Um, I actually get a little, a little like, so amaretto has kind of a little bit of a cherry to it. I actually get some of that. A little bit of amaretto.

[00:05:17] Robbie: maybe

[00:05:17] Chuck: a slight caramel in the beginning. It's pretty smooth though.

[00:05:22] Runspired: yeah. What I haven't gotten is a hint of coffee. You know, we're drinking it out of

[00:05:27] Chuck: Yeah, yeah.

[00:05:28] Runspired: Portland Coffee Roasters cups. Shout out Portland Coffee Roasters. But I don't taste the coffee.

[00:05:34] Chuck: No, not at all. It turns out I got clean ones. So, it didn't affect those at all. Yeah, so when you're doing a show on the road, uh, you kinda gotta take the supplies you could find. So you walk around town, you find a liquor store, and you get some, uh, hopefully it's not warm by the time we get here, back, uh, Japanese, fancy Japanese whiskey, and then, yes, cups, just whatever paper cups you can find.

so, inherently, hopefully that doesn't affect things too much. But again, you know, the mental model there, you're like thinking, am I gonna have a coffee flavor or not? I don't know. I'm also not getting any coffee, though.

[00:06:07] Runspired: I am going to have to slow down though because it's so smooth. This might just be that my senses are dull, as I mentioned, but it's so smooth and it's like that, it's probably the grain, but it's just a little bit sweeter than the scotches I usually

[00:06:20] Chuck: Exactly. Yeah. Yeah. I'm definitely not getting notes of like what would normally be a malt whiskey or a scotch styled whiskey, which is usually what you get in a lot of these Japanese whiskeys, which they can't officially say, but you know, Oh,

[00:06:33] Robbie: but they're pretty good about making it extremely mild. Like, some of them are, go too far, and they're like kind of watery.

But, but they still have tons of alcohol, theoretically. So it's like, it's bad that it's so easy to drink.

[00:06:45] Chuck: Hmm. Yeah, let's see here. It

[00:06:48] Robbie: Kind of tastes like a, walk in cigar humidor to me.

[00:06:52] Chuck: Oh, okay. Okay.

[00:06:54] Robbie: Like the smells of that environment.

[00:06:55] Chuck: Okay, I'm going to throw you for a little bit of a loop here. Instead, I'm going to amend my previous flavor profile. Not amaretto. Okay, do you remember?

[00:07:05] Robbie: Not

[00:07:05] Runspired: off for a loop

[00:07:06] Robbie: No,

[00:07:06] Chuck: No, not in a flavor, but I can kind of see where you pick that up in the smell in some ways, right?

Like it's just a sweetness that speaks to you in one way or the other, uh, root beer, dumb, dumb.

[00:07:15] Runspired: in one way or the other. Uh, root beer

[00:07:16] Robbie: Mm-hmm. . Yeah.

[00:07:18] Runspired: I didn't even have to take another sip. It just showed up.

[00:07:21] Chuck: I mean,

[00:07:21] Runspired: I mean,

[00:07:22] Chuck: right. I don't know. That's what I'm getting a bunch of. So right there, like heavy something a little in the middle and then it kind of fades quickly and it has a very mild burn.

Very easy to drink. I actually probably would like this with like, A cube, an ice cube.

[00:07:37] Runspired: Mmm.

[00:07:37] Chuck: Apparently, yeah. Maybe it's, yeah, I know. Uh, for no other reason, just to kind of give it some like, cool, refreshing, just the coldness would give that flavor some refreshment, for me.

[00:07:48] Robbie: could do whiskey stones

[00:07:49] Chuck: a splash of soda, get real crazy.

Scotch and soda. Yeah, that's a thing. anyway, yeah, I'm sticking with that. That's, uh, Rootbeer dum dum is definitely what I'm getting out of this. And yeah, so since I went down the path and all of that, uh, I'll refresh your memory on the rating system. So I just should amend it. I don't know why I say it in the midst of, so it is a zero to eight tentacles, zero being, this is horrible.

I'm going to go throw up to get rid of this out of my body and I never want it again. Eight being amazing. I want to have this all the time. Nothing else will do for me. Four is just great, happily in the middle. You can segment that by other Japanese whiskeys, all whiskey in general, however you want. It's kind of like YOLO in that sense.

Just because we have so much, we tend to start to categorize them now. So this would be against, like, other Japanese whiskeys for me. But, you know, not that important whether you do that or not. But the loose guidelines, which you may break at any point.

[00:08:47] Runspired: we're gonna have to take this one with a green of salt because I don't remember what I rated the last two when I was on this show,

[00:08:54] Chuck: Yeah.

[00:08:54] Robbie: on

[00:08:55] Runspired: So it's not relative. We're just gonna say this is not a relative scale. Right. I'm, I am a not a professional judge of whiskey. This is not a, this is not associated with

[00:09:05] Chuck: We get paid heavily for this

[00:09:06] Runspired: are my own . I, I think I gotta go with a six, six out of eight. It's just, it's, it's very solid. Not the tastiest, but drink it every day.

[00:09:16] Robbie: yeah, I think I would agree with that. I mean, I can't really pick anything out. That's like bad. I just, uh, it's not my favorite for sure, but there's nothing that I can say is bad about it.

So yeah, I think six is about in line with that.

[00:09:27] Chuck: Mm, well, here we go. I'm gonna be the,

[00:09:29] Robbie: to be

[00:09:30] Chuck: the throw things awry or not, I don't know.

Ar

[00:09:33] Robbie: a ride.

[00:09:34] Chuck: this is, um, is, yeah, this is Japanese. Sorry. Well, it does say grain whiskeys are in there, so who knows? We can't really say so in the Japanese whiskey family of things that I've tried and I've tried a lot of stuff and I do kind of have a taste expectation when I have a Japanese whiskey. So I'm thinking that I'm going to get.

a profile that is like a Scotch, but feels heavily refined, right? And diverse, and you know, but with just light notes of like, Oh, here's the peat, or here's the smoke, or whatever else, and especially a Hibiki. I mean, I've had some of their age stated ones that are non blends, and they've been just great, just knocking it out of the park for me.

So like, in comparisons to, in comparison to those, I just feel like this one is like, it's interesting, it's got a decent flavor. Uh, for what we paid for it, I think it's

[00:10:22] Robbie: way overpriced.

[00:10:24] Chuck: way overpriced, uh, given that, but not bad. Uh, but doesn't really do much more than that kind of like middle sweet note for me. So, I'm gonna give it a five, four, five, I'm kind of like four and a half.

I'm gonna say four and a half. It's like, that's not bad. I would drink again. I wouldn't seek it out, necessarily. Yeah. Yeah.

[00:10:43] Robbie: Alright.

[00:10:44] Chuck: wrong with that.

[00:10:44] Hot Takes

[00:10:44] Robbie: Cool. So I think, when we had you on before, we had not started the hot takes yet. So we're going to go through some hot takes that are kind of cooler takes now, because they're not as hot on Twitter anymore,

[00:10:54] Runspired: not as hot on Twitter

[00:10:55] Chuck: Lukewarm takes.

[00:10:56] Robbie: Lukewarm

[00:10:57] Runspired: Is that because everyone left Twitter, or?

[00:10:59] Robbie: No, it's just, uh, well, I mean, you know, that keeps trying to happen, and then people keep coming back, so who knows. But, um, anyways, first one.

[00:11:09] Chuck: people keep

[00:11:10] Robbie: come back to Twitter, but only for a couple of

[00:11:12] Runspired: And then people in tech that haven't moved to Threads. And, and, if you're out there and you're listening, I love you, but please move over. Well, I, I haven't felt like it's been, there's been as many people, like, posting the same kind of things on

[00:11:24] Robbie: threads and you're out there and you're listening. I love you,

[00:11:26] Runspired: Threads, I like the app.

[00:11:27] Chuck: like the

[00:11:28] Runspired: I have three communities that Twitter was, like, a thing for me for. Running, the first second Threads was available, the whole community was on Threads.

[00:11:39] Chuck: two in

[00:11:40] Runspired: And then two in tech. One is, you're my Ember peeps, or you're my performance optimization peeps.

[00:11:46] Chuck: broader JS ecosystem.

[00:11:47] Robbie: And the

[00:11:47] Runspired: second is broader JS ecosystem. I kind of want to be aware of you, but like, we don't interact a lot.

I just, I like to follow you. You have interesting insights sometimes. Right. That group is cross posting to both. Okay.

[00:12:02] Chuck: they're

[00:12:03] Runspired: it's the, it's the, you're my Ember peeps, or you're the performance focus peeps. Like, they're all on Twitter still, and it's like, oh, come on, come on.

[00:12:12] Robbie: Yeah, I'm rooting for it. I like it, but

[00:12:14] Runspired: They need search. I can do with like the feed having everybody in it and kind of being like, more exposure. I think that's a good idea overall. But the lack of search like, hey there's a race happening and I want to follow along the hashtag and that just not existing, that's been a little tough.

[00:12:33] Chuck: hashtag and that's just not existing, that's been a little tough.

[00:12:34] Robbie: that's been

[00:12:35] Chuck: what was I going to

[00:12:36] Robbie: a little tough.

Yeah. Do they have, working. I don't

[00:12:37] Runspired: Welcome back

[00:12:39] Chuck: Okay. Yeah, thanks for coming. Sleeping on chairs. Sleeping on chairs in a conference room.

[00:12:43] Robbie: Yeah, this has been sleeping on chairs. No, well, we can figure it out later, we'll do some of that and whatnot maybe. But, um, anyway, uh, for TypeScript, inferred types or explicit

[00:12:52] Inferred Types vs Explicit

[00:12:52] Robbie: types?

[00:12:53] Runspired: Explicit.

[00:12:54] Robbie: Okay. Because you write a lot of library code or always explicit? Always explicit. Okay.

[00:12:59] Runspired: , my reasoning is this. If you need to do something in the function body that's a little bit not great,

[00:13:05] Chuck: be the

[00:13:06] Runspired: which happens.

[00:13:07] Chuck: what's

[00:13:07] Runspired: You at least want the return type to still be solid.

it's more about the consumer of your thing than it is about what's happening inside. Now, we want what's happening inside to be as well typed as possible, but I think there are just, there are limitations of TypeScript itself that sometimes are hard to get around.

So, use the explicit types because it makes sure that at least the public signature that is consumed by everything else is solid. The other is just Performance. Explicit types are very easy, because there's no inference. You don't ever enter the inference code paths.

[00:13:41] Chuck: exactly what you're returning because

[00:13:43] Runspired: it knows exactly what you're returning, because you said what you're returning.

It's just trust me. It's trust me development.

[00:13:48] Robbie: Okay.

[00:13:49] Runspired: , and I think that that's actually a good thing. Like, we should care about speed and tools, and correctness where we can get it for cheap is great, but ultimately we care about That balance of good development speed and good development performance, and I think you see that trade off being Handled by Svelte very

Differently right they have chosen to go all the way the JS doc with it Which is for its worth kind of sort of the same trade off of we're gonna type the outer signature And we're not gonna care about the function body

but they they still care about The consumer having a good experience, and that's what matters, ultimately.

Consumer having a great experience.

[00:14:26] Chuck: I like that. I mean,

I think that's the first take that has been so explicit on one direction thus far.

[00:14:34] Robbie: on explicit?

[00:14:34] Chuck: Yeah, exactly.

[00:14:35] Robbie: Yeah.

[00:14:35] Chuck: Um, I mean, most of the time the answer is depends and then there's a lot of discussion about both of those paths and I can't really argue that. But,

[00:14:44] Runspired: think

[00:14:45] Chuck: because I also think a lot of times it depends, but I respect anyone that actually like leans in and has.

A good reasoning for taking that and then just making that effective throughout all of their work. And I think that what you explained really says that you weren't just like explicit, because I prefer that and I want it to be, readable or something else. I think you had a little more behind that and, and I could appreciate that quite a bit.

So,

[00:15:06] Robbie: Yeah, so I did remember what I was trying to say. Do they have a web app for threads yet?

[00:15:10] Runspired: They don't.

[00:15:11] Chuck: was one of the

[00:15:12] Robbie: you can't, it's really hard to like post media. But

[00:15:14] Runspired: somebody already reverse engineered the API and created like a thing you can download. I haven't done it, I just saw that you could do this already.

Okay. And, and I think that's cool that it, though, even when you're building a native app, really you're building over web standards.

[00:15:28] Robbie: Mm-hmm.

[00:15:29] Runspired: because of it, it's all open whether you want it to be or not. Right. Somebody has already done that, and that's great.

[00:15:34] Robbie: Yeah.

Yeah. That was my biggest problem, is like, I wanna post this video snippet, but I have to like airdrop it to my phone and then post it, which is like ridiculous. Yeah.

[00:15:43] Runspired: and then post it, which is, like, been nice to be back in a native client, I will say that.

Uh, I hadn't been willing to have the Twitter native client on my phone in a long time, uh, so I've been using the Twitter web app and

[00:15:57] Chuck: using

[00:15:57] Runspired: for a while it was a really good, it was a really good experience. The mobile web experience was great, but, uh, It has progressively gotten buggier and buggier. And I'm at the point now, oftentimes I'm hitting the rate limit simply because I've refreshed five times trying to get the page to render

[00:16:11] Chuck: buggier and buggier,

[00:16:13] Robbie: it's, uh,

[00:16:13] Runspired: Uh, so it's, it's, uh, yeah.

[00:16:16] Chuck: errors all the time, you never know. It just like stops working all the time. You're like, today, yeah, this morning I think it stopped working. So I'm like, okay, well I guess I get a forced break. Like Elon said, you

[00:16:26] Runspired: break!

[00:16:27] Robbie: Touch grass. Touch grass.

[00:16:29] Chuck: Uh, alrighty. I'm gonna, I'm gonna take the third question, because the second one's more for you anyway.

[00:16:35] Rebase vs Merge

[00:16:35] Chuck: Uh, get rebase or get merge?

[00:16:37] Robbie: Rebase.

[00:16:39] Chuck: That's what I'm talking about.

[00:16:40] Runspired: I don't think I've used Merge outside of helping someone whose workflow was Merge in maybe a decade.

[00:16:47] Robbie: Right.

That's the team I'm on.

[00:16:49] Chuck: much into

running, and I know Ed's a runner

[00:16:54] Runspired: Oh, easily, Ed.

[00:16:56] Robbie: Ed.

Really?

[00:16:56] Runspired: I, I am so much into running, and I know Ed's a runner too, but I am... But he has kids.

[00:17:02] Robbie: Yeah.

[00:17:03] Runspired: I don't. I am so much into running that I've neglected my upper body to the point of being a

[00:17:10] Robbie: meme.

[00:17:10] Runspired: meme. Whereas he has kids that he's got to carry and push and bike with and do things with. So he probably has a little muscle there.

He's going to beat me.

[00:17:18] Chuck: All right. Fair enough.

[00:17:19] Robbie: Yeah, he said merge earlier,

[00:17:21] Chuck: Yeah. That's

[00:17:21] Robbie: that.

[00:17:22] Chuck: I was going to say I was going to explain it. Thank you, Robbie. Yeah. Well, because he was very like me and you were very now. And not that there's an argument in that because it's

[00:17:30] Runspired: know, I, I think what Merge is great for is the friendliness that it brings to folks who don't know a lot of Git.

[00:17:39] Robbie: Git.

[00:17:39] Chuck: it

[00:17:40] Runspired: It's the easy path, and I don't know that that's bad. I think some people think easy path is bad. Some people want you to go be the hardcore programmer, Vim all the way. Like, I don't have that perspective on development.

If you're productive, you're productive. if we can lower the barrier to be, you being a productive developer, we should lower the barrier to you being a productive developer. And Merge lowers that barrier. The number of folks that I see 5 years, 8 years into their career and they have zero idea how Git works, at that point, probably to their detriment.

But the fact that they got to that point without needing to know is amazing.

[00:18:20] Chuck: Yeah. Yeah. I mean, basically, Ed had said that, uh, you, obscure the lies with rebase, right? You know, like you change history and obscure the lies that have happened along the way.

So he's like, bring them along. I don't know. It's, it's ugly, but it's an interesting perspective. I certainly appreciate like, that's true. It does. It does obscure the lies. And I want to cover up all of my lies. So I look better.

[00:18:41] Runspired: that it obscures the lies.

[00:18:42] Robbie: Yeah, well it depends.

[00:18:44] Chuck: It depends. It really does. In the end, it

[00:18:47] Runspired: It depends if your branches are long lived or short

[00:18:49] Chuck: your

[00:18:50] Runspired: If your branches are long lived and you've merged back repeatedly, you have no clue. What your history is.

[00:18:56] Chuck: true. So. You

[00:18:57] Runspired: can't step back through that if you wanted to.

[00:19:00] Robbie: through that if you wanted to. Yeah.

[00:19:01] Chuck: That's reasonable. So that's a whole other dimension to that, I think, too. Yeah. Long running branches. I don't think there's a debate there. It's a bad idea. You really

[00:19:09] Runspired: No, they're a bad idea.

But, uh, if you're going, if you're gonna have something that takes a little bit more trouble to land it, it's tricky. I

[00:19:16] Robbie: it

[00:19:16] Chuck: little bit

[00:19:19] Runspired: this, but I'll tell you, a common workflow that I use,

[00:19:22] Robbie: Yeah.

[00:19:22] Runspired: I get do, get reset. To the head commit. Yeah. Where I had forked off of. I stash it

[00:19:30] Chuck: or

[00:19:31] Runspired: my head and I un stash completely.

Wipes the history and I'm okay with it because I don't use history in a way that I think it should be preserved. Mm-hmm. The commit that should be preserved is the one that I merge in.

[00:19:42] Robbie: Yeah, if your workflow is like building a PR that is a thing, like a logical entity that you want to get in, then that makes a lot of sense. Some people are like, well the way I work is I, you know, want to say, I did this part of the feature and this part of the feature, and I want to... If I did it that

[00:19:59] Runspired: did it that way, then I landed it that way.

[00:20:02] Robbie: there could be multiple PRs. See, what

[00:20:04] Runspired: it would be multiple PRs. Yeah,

[00:20:06] Chuck: see, what I think about that too is in the terms of how I want to, release things and logically regress from those releases possibly, right? Like, your release flow is

[00:20:16] Robbie: possibly, right? Like, your release flow.

[00:20:18] Chuck: also attached kind of to how things got in. No,

[00:20:22] Runspired: I it shouldn't be.

[00:20:23] Chuck: Mmm, I think

[00:20:24] Runspired: Feature flag driven development, baby.

[00:20:26] Robbie: Wow.

[00:20:27] Chuck: yeah, I mean, yes, true. Absolutely. Ideologically doesn't happen all the time, though.

[00:20:33] Runspired: it doesn't. That's true. It takes having a good release process flagged release process in place to really empower the idea that you can partially land work because you have completed a discreet unit of it.

Overall is not there. In my perspective, if you've got something that tests are passing, it satisfies the requirements for the section you had, even if you're not going to be using it because the broader thing isn't built, it's worthwhile to merge that in

[00:21:04] Chuck: Oh.

[00:21:05] Runspired: and keep

[00:21:06] Chuck: I absolutely agree because that's iterative and you, that's how you have short running branches. That's how you can iterate through things.

You can decide at what levels you want to test that so you can push that up to particular environments and stuff. I think my opinion, my statement before is basically an artifact of being in consulting for a bit now, right? So like I've had to just adapt. I think I have my own opinions and best practices and I try to, you know, impart as much as I can, but I also want to be a friendly visitor.

And, you know, you just can't come in guns a blazin in that kind of thing. I think ABC whatever else is the best way to go about it. You've sort of got to piecemeal that

and have

[00:21:43] Runspired: here's something I do all the time, I have been guilty occasionally of long lived branches. We all have been. I mean, who hasn't been? I've been guilty of patch bombs.

But what I do when I sense myself getting there

[00:21:55] Chuck: getting there

[00:21:56] Runspired: I ask myself, what set of these changes is something that I could peel off, do separately?

So I peel it off, do it separately,

use my whole git reset trick.

[00:22:05] Chuck: I love that trick though, too. Yeah, definitely

[00:22:08] Runspired: get reset trick. And now that's not part of my change set. It's just already landed. And so now the review was easier. And the thing that I found is a lot of times people like to think of things as discreet work, but I don't see, we can peel off tinier pieces of that and landed declutter ourselves.

And for me with ADHD, this is a superpower because it keeps me engaged. It keeps me productive, it keeps me feeling like I'm making progress, and it allows me to declutter my mind. I don't have to think about that change and the reason I made it, because it's no longer part of the PR. Yeah.

[00:22:47] Chuck: Yeah. Alright, get to the

[00:22:49] Tailwind vs vanilla CSS

[00:22:49] Robbie: So, yeah, the tail end of vanilla CSS.

[00:22:52] Chuck: I

[00:22:52] Runspired: I don't think I'm allowed to have an opinion, because I haven't written product code in any serious capacity in a long time. my last company, I spent a little bit of time building an app. But like, I'm not a project engineer. I've been an infrastructure engineer for a long time.

when

[00:23:09] Chuck: the correct answer YAML for you then, or? I'm

[00:23:13] Robbie: for you then?

[00:23:13] Runspired: No, no, absolutely not. Um, and not JSON files either. Uh, I think when I've, when I've looked at it, I don't like Tailwind. But...

I've read the arguments both ways

[00:23:26] Chuck: seem

[00:23:27] Runspired: and they both seem reasonable

[00:23:29] Chuck: for

[00:23:30] Robbie: and

[00:23:30] Runspired: use what works for you. And there's so many people out there who are like, yeah, it's ugly, but it's so productive.

And that is a really compelling argument for me. And it tells me there's probably an opportunity out there. For a good infrastructure engineer to come along and say, Hey, why don't I just write a little optimizer for Tailwind that just runs after the fact and takes all your ugly things and combines them into whatever recombination class that does all those things that you wanted to do and, and move on.

[00:24:01] Robbie: Yeah, well, so that's, that's my argument every time is someone will be like, oh yeah. it, look how messy it is, and they'll put like the worst example, and they've duplicated the same 25 classes on like 10 elements. And I'm like, well, that's clearly, you know, the same thing over and over. You should abstract

[00:24:18] Runspired: you know what you know because of that 25 classes? You know exactly which styles are

[00:24:22] Chuck: That's true.

[00:24:23] Robbie: true, so I guess if you abstract it to a different, like a component class or whatever, then... You wouldn't know by looking. So that's, I guess, you lose the benefit, yeah. But like, those people don't care about that benefit, because they were going to write a separate CSS file anyway. So I'm like, if you're going to do that, you can use Tailwind and get the best of both

[00:24:39] Runspired: of both worlds.

Now, I, I do think that the, uh, thing that we, just built with Mainmatter, they were consulting for us, and they did a lot of the work, so I, I, we have to call them out. whether it's our, our IP or not.

[00:24:49] Robbie: them money.

[00:24:50] Chuck: They were consulting for us, and

[00:24:50] Runspired: I know we gave

[00:24:51] Chuck: I, I, whether it's our R. I. P. or

[00:24:52] Runspired: But whether, whether it's our IP or not, it's amazing the work that they did.

So, work with Mainmatter folks. we built a library that just got open sourced called Ember Scoped CSS. I am very optimistic that with a little bit of iteration, this is the long term CSS solution for the Ember community.

[00:25:10] Chuck: And,

[00:25:11] Runspired: honestly, the name is wrong.

I think we should just call it Scoped CSS and open source it to the whole world.

For all JavaScript communities. Because what's really neat about it is that it doesn't care about the compilation target. It is, it allows you to use a variety of input formats based on your preference. It's going to optimize them the same way, and then what, based on your configuration, it's going to output a final thing based on what you care about.

So if you want to do inline styles, or you want to do a whole bunch of class names, you want your class names to go up a certain way, you want to use data attributes, some other attribute, it'll make it work.

So, author how you like, ship how you like, and just have it be optimized.

[00:25:55] Chuck: you like,

[00:25:56] Runspired: I think that's the right approach.

I just don't want to be having this debate

[00:26:00] Chuck: Yeah, right? Like, because in the end of the day,

[00:26:02] Robbie: But then what will we do?

[00:26:03] Chuck: yeah, of course we do. I mean, yeah, so, I mean, I had a similar feeling initially, too. Like, I mean, Robbie can attest to where I was like, I see all that. I'm like, it's so ugly. Why do you want to do that?

Why don't you know? I've been through inline styles before, and, you know, whatever else, but then, otherwise, if I don't do that, then I have to do all this work myself, and I also don't want to do that, because I don't care about CSS enough. I want it to look the right way, but I'm in a, and then something you said is an adaptable tool for all use cases.

Great. That's maybe the next level, to some degree,

[00:26:33] Runspired: mean, I also hope with that, that it means that we're, if we use an adaptable tool like that, that we're iterating towards the platform. What is disappointing about Tailwind, is it feels like you're saying the platform's not good enough.

[00:26:47] AD SPOT

[00:26:47] Robbie: is not good enough.

[00:26:47] Open forum, what else does Runspired have opinion on?

[00:26:47] Robbie: little bit. Yeah, let's just take it to open forum of, you know, you said you had other things you have opinions on.

What are things you don't like? Or, or I guess do. I mean, there could be a hot take that it is

weird that

[00:26:58] Chuck: mean,

it. could be

[00:26:59] Runspired: I, I do think, I do think I've gotten to the boring age of being a software engineer. I think more of my opinions are nuanced and middle of the road

[00:27:07] Chuck: Is it boring age in terms of like the age and stage of your career, like, tenure, or is it like you're just getting older and you're a little like, get off my lawn.

[00:27:16] Robbie: of those things. Okay. It's that I've been

[00:27:18] Runspired: age and stage of your career, like tenure, or is it like you're just an exercise in long term frustration I don't need.

[00:27:28] Robbie: So I would almost say

[00:27:30] Chuck: Neither is a combination of both. And there is a time that I think there's a crossroads for individuals. And I think there's probably a lot of professions where this can happen. And it's not individualized to us. But I do think like you hit a maturity and you make kind of a decision. It's either like you're going to lean in hard.

And that's just going to be your identity and that's it like your, your opinions and investment in technologies or what successes you've had or whatever are kind of it and you are going to lean in or you're like, I'm kind of me and I'm, , and I'm less about the specificity of it and I'm more about the like, let's get something done and, and you're not emotionally attached to that.

Right?

[00:28:09] Runspired: I think the people who fall into that former camp, And are more emotionally attached, honestly, and maybe this is the hot

[00:28:16] Chuck: this is the hot take.

[00:28:17] Robbie: this is the hot take,

[00:28:18] Runspired: I don't think they ever actually succeeded.

And I don't think if they did succeed, they actually know why they succeeded.

[00:28:27] Chuck: I uh,

[00:28:27] Runspired: that like the

[00:28:29] Robbie: they succeeded. I call that like the folks that basically hit a bullseye at some point, and then that bullseye is it, and they probably can't ever do it again. Yeah. There's my hot

[00:28:37] Runspired: Opinions are good. I like, I will,

[00:28:40] Robbie: I, uh, It's not wishy washy, you have knowledge, but you're able to abstract that as well.

[00:28:45] Runspired: I uh, I'm blunt with everybody.

[00:28:47] Robbie: I think,

[00:28:48] Runspired: And I think opinions are good. But, uh, I only put them out there. I'm only so blunt because I think it frames conversations better. And leads to consensus and decisions being made. If you are wishy washy, you don't reach the final outcome that you need to reach.

[00:29:05] Chuck: right. You just need to put

[00:29:05] Runspired: But you can't go into it expecting that there isn't nuance.

You can't go into it expecting that you are right. You just need to put out there what you think to make sure that the other person either does or doesn't agree with it. And you can figure out where you guys both stand. Or gals both stand.

[00:29:23] Robbie: or, or people or people

[00:29:26] Runspired: stands on the

[00:29:27] Chuck: I got caught in that? I

[00:29:28] Robbie: a couple of times

[00:29:29] Chuck: don't think I'm pretty good about that. You know, I got thinking

[00:29:31] Runspired: You don't...

[00:29:32] Chuck: about somebody in that moment. Do you

[00:29:32] Robbie: stand?

Do you

[00:29:33] Runspired: You know what, I got, I normally am pretty good about that, but you know what, I got, I, I actually was thinking about somebody in the moment, and

[00:29:39] Robbie: And they are a

[00:29:40] Runspired: they are a he him,

[00:29:41] Robbie: Yes.

[00:29:41] Runspired: And so like, my, my pronouns just immediately went there, versus,

[00:29:45] Chuck: were visualizing

while that, yeah, I do that too. So I understand that. And that's probably some things that have happened.

[00:29:50] Runspired: all

[00:29:51] Robbie: I do you

[00:29:52] Runspired: Yeah.

[00:29:52] Chuck: And that's it. You know, you know, I'm not trying to insult anyone. I just sometimes just doing the best I can.

And that falls

[00:29:59] Robbie: short.

Yeah. Our brains only work so well, you know,

[00:30:03] Chuck: You know, we're not helping it, but you know, where are we? I don't know. There's things to say, you know, you need to change the neural pathways from time to time. but this isn't the neural pathway show. So maybe

[00:30:14] Robbie: this is the Sleeping

[00:30:15] Chuck: On

chairs, sleeping on chairs.

Then once you get, welcome back to sleeping on chairs. okay. So additional technology things and you mentioned something about like a more abstract name, , to a package and it kind of made me think. So I want to go back to at least my thought or whatever else. So ember data, you are the ember data guy.

I mean, like it or not, it's kind of been the thing for a pretty long time. As you were speaking about today that those things are going to continue to evolve and abstract and be a little more, , I don't want to say like piecemeal or something, but less about it being Ember specific and more about being data

[00:30:47] Robbie: specific.

[00:30:48] Chuck: If you could rename it Ember Data today, what would you call

[00:30:51] Robbie: it?

[00:30:51] What is the new name for Ember data?

[00:30:51] Runspired: I don't know if I'm allowed to reveal.

[00:30:55] Chuck: Let's say this doesn't, uh, air for weeks.

[00:30:59] Robbie: if I'm allowed to

[00:31:00] Runspired: Let's say this doesn't, uh, air for weeks. Still not

[00:31:00] Robbie: reveal. Okay.

[00:31:01] Runspired: reveal. Okay. There's things to be worked out.

[00:31:03] Chuck: Sure. Well,

[00:31:04] Runspired: Sure. There's things to be

[00:31:05] Chuck: fruition or not or

whatever

[00:31:06] Runspired: probably am, I probably am allowed to say this, but, so I will. You can cut anything if

[00:31:10] Chuck: there's

anything

Oh, there's that too.

[00:31:11] Runspired: yeah. Um, well, I don't think you're going to have to cut this.

We'll come back if, if, if you have to. The answer is warp drive. I've been squatting the name for a long time. It'll be called warp

[00:31:21] Chuck: I'm gonna go to name. com right now. Hold on a second.

[00:31:23] Runspired: Um, I, I've got the, I've got the npm package for warp drive and I've got the npm org for warp drive. My journey into ember data began

with Warp

drive. ember data early in my ember career enough to figure out its flaws, the flaws that I'm trying to correct today.

And, quickly... Decided that I wasn't going to be using it for my personal projects, but I also knew that I wanted the abstractions it was capable of providing.

And I started to build a replacement. that was what I named Warp Drive.

I had kind of published a very, very rough canary of like, this is something that sort of works if you kind of sort of do it this way.

that was right when I joined LinkedIn. And then LinkedIn was like, well, we want you to work on Ember data. We already are heavily invested in it. So, please try to fix it. Which was, I don't think they were prepared for the length of journey it was going to take to fix.

I do think I tried to strongly hint.

But, uh, I think people just were hopeful that

magically it would get fixed

overnight.

[00:32:32] Robbie: there. You'll get

there.

[00:32:33] Runspired: And, uh, unfortunately, it was a lot of learning for me around how do you communicate long term projects to a big company because big companies hate to hear the same buzzword more than a quarter or two.

[00:32:46] Chuck: than

[00:32:47] Runspired: And I had to go four years on that and

[00:32:49] Chuck: You had to go four years on that and it wasn't done. And it's not to say we didn't deliver value.

[00:32:59] Runspired: And it's not to say we didn't deliver value. We actually were delivering a lot of value in changes and with the library and things we were building around the library in that four years.

But from a branding and marketing perspective to technology leaders,

[00:33:13] Chuck: technology

[00:33:13] Runspired: all they hear is ember data. They don't hear.

[00:33:17] Chuck: you know,

[00:33:18] Runspired: This is our data management solution that LinkedIn needs to be able to do X.

They don't, they don't hear it that way. They hear the, they hear the buzz word at the top and they go, I've heard about this too many times. Why am I paying for

[00:33:30] Chuck: Yeah, right. Why isn't

[00:33:32] Robbie: done?

[00:33:32] Runspired: this done? It, exactly. Yeah,

[00:33:33] Chuck: They understand this being done or not.

[00:33:35] Runspired: Yeah,

it's done or it's not done. So, this has really reshaped how I interact with engineering leadership as I discuss open source work. I don't discuss it in a way that is branded. I don't discuss it in a way that is technology specific. I discuss it in a way that is very rooted in engineering fundamentals.

[00:33:58] Chuck: Hmm.

[00:33:59] Runspired: We have a need to be good at X, so we're going to invest here. We have a need to get to Y, so we're going to invest here.

[00:34:07] Chuck: gonna

[00:34:07] Runspired: And I have found a lot more success in things that take longer periods of time, pitching it that way, and getting companies to understand where the value is fundamentally in their engineering organization, and where the value is from the perspective of to the company if they don't do that.

[00:34:27] Robbie: Okay, there you go.

[00:34:29] Chuck: where the value is from the perspective of risk to that company if they don't do that. Okay, there you go. So it's solutions based engineering, essentially, and regardless of what the tools are, the thing that gets worked on over time, it's not about discussing the tool evolving. It's more about, , continually looking at the business risk issues and saying the solution is...

These things and we are engineering this solution

[00:34:47] Runspired: Could you imagine if you were a construction company, and you wanted to get houses built faster, and you knew that the bottleneck was how fast you were hammering in nails, all your engineer ever talked about was hammer 2. 0?

Yeah,

right

[00:35:05] Chuck: This is, this is funny because in recent times, this is like a similar analogy that's been told to us, and so you're like, well we need, we need hammers, we need to continue with the hammer 2. 0, well I'm here with a screwdriver, and that's it, we're gonna screw these in, right? That's it.

It's, I can still get the things in, I'm just gonna screw them in,

[00:35:23] Runspired: and you're wondering how do you get a company to invest in open source? It's not about open source. It's about value to the company.

The tricky thing is how to decouple it from ROI. Because a lot of engineering companies, and especially companies that don't understand they're engineering companies, are going to ask you, what is my ROI?

[00:35:50] Chuck: ROI.

[00:35:50] Runspired: When you reframe it around engineering fundamentals and when you reframe it about needs the company has and when you reframe it about risks the company has and what you're addressing, you're going to find more success.

That's not to say this is the thing that you

[00:36:05] Chuck: find more success.

[00:36:06] Runspired: are always, this is not some strategy that is 100% successful, right? Because it still actually has to be aligned. You have to find a company that actually has these needs and those needs be a high enough priority. Because there are prioritization calls being made by leadership where they may agree with you.

[00:36:23] Chuck: agree with

[00:36:24] Runspired: They might think, yeah, you know what, our build tooling being faster would be a huge boost to productivity. But honestly, shipping product twice as fast is not going to make us that much more money compared to this other thing we can build right now.

[00:36:40] Robbie: right?

[00:36:41] Chuck: Yeah. And then they will pick that.

[00:36:43] Runspired: They will pick

[00:36:44] Chuck: that.

They will pick new shiny in that sense,

[00:36:46] Runspired: And I think the other skill that I've got here that maybe others could replicate Is it is important to to realize it's important to internalize this lesson

you're

not in control And that's okay When I pitch something I don't expect to be successful

[00:37:05] Chuck: Ah, there

[00:37:06] Robbie: we

[00:37:06] Chuck: go. I love that. I'm going to put a small pin in it just for a second, or a pause really, because we were talking about this before around open source too, right? Like, you don't decide whether or not you, take an attempt or commit to an endeavor, whether you know you're guaranteed. But if you have commitment and you have interest and you want a learning out of it, regardless, right, you've learned you got to this point to where you have a lot of like, Reinforcement and, I would say like right about it because you've been on that path a number of times. So again, I just want to like take a moment to say like exactly make an attempt there.

Learn something about your own pitch and what works in your organization and what you can take kind of moving forward there. I would just like implore people if you don't be defeated by a no. Right? No's are going to happen.

[00:38:01] Runspired: Don't be defeated, but also don't get

[00:38:04] Robbie: embittered.

[00:38:05] Chuck: Don't get embittered. Boom.

[00:38:06] Runspired: embittered. A

lot

of people, when they hear no, they just shut down and internalize a lot of frustration and eventually they may, might move on.

Recognize that we're all humans, even your leaders are. And they are making prioritization calls that you don't necessarily understand.

And they have information that you don't necessarily have. At the same time, mistakes can be made.

[00:38:31] Robbie: So

[00:38:31] Runspired: I make the best pitch I can, and I let the chips fall where they may.

[00:38:36] Chuck: So

[00:38:36] Runspired: And if it works, it works, and if it doesn't, it doesn't. I'm not going to lose sleep over it. I'm just gonna make sure that I did the thing that I needed to do.

My part of the equation was just make sure that they knew that this mattered.

[00:38:49] Chuck: I did the thing

[00:38:50] Robbie: And

then.

[00:38:51] Runspired: up to them.

[00:38:52] Chuck: And they're leaders for that reason, they are on the hook at different levels like you said and have different information , and you just do the best job you can providing them the most information from your particular expertise because you're there for that expertise and you provide it and they decide the priority and whether that is necessary or not.

You know, maybe not now, maybe later, who knows where that kind of goes, but at least like you're giving them your expertise and that's necessary. That's absolutely what you're, you're paid for and whether you're given the go ahead to build and to do on that or to act on that or to like, help support another initiative.

Well, I mean that's business objectives are there and that's what you're there for.

[00:39:33] Robbie: So,

[00:39:33] Runspired: there for, one last final piece to this puzzle. How have I been successful pitching open source?

[00:39:41] Chuck: Yeah, I like that. I think that's good things to put out, put out for the people.

[00:39:45] Runspired: When it comes to being an employee of a company, because I think this answer is a little different as a consultant, and I've pitched a little differently as a consultant. When it comes to being an employee of the company, the company needed to know that I actually had the company's best interest at heart.

And what this means is you've got to pick your battles.

You might know that something needs to happen in open source. You might know that some work needs to be done. But you might look around and realize that there's some other work in the company internal that is more existential to the company. More valuable to the company and a better trade off to make.

If you can recognize that, your leaders are going to recognize that. So they will call bullshit and you will lose their trust.

So if you recognize that, you explain to them the trade off, so that if they, for some reason, think otherwise, you get to do the open source. But they understand that you are thinking about the company first.

[00:40:45] Chuck: yeah, right? I think like showing that, that you're not you, you're not being selfish.

[00:40:50] Runspired: Not being selfish.

[00:40:51] Chuck: Not asking for that for selfish reasons, that you see the entire

[00:40:56] Runspired: not asking for that. it's a take.

[00:40:57] Robbie: Yeah.

[00:40:57] Chuck: absolutely. I think that's great advice.

[00:40:59] Runspired: Yeah, absolutely. I think that's great advice. And, and you will, as you build trust, as you build confidence that your decision making is something that the company can trust, they will question it less. it's not to say they won't question it. It's not to say that you can just suddenly run nilly willy and do whatever you want.

You've got to continue to be responsible. But it does mean that pushback when you come to them and say, I think this thing really matters. Can I go do it? Or can we go do it?

[00:41:31] Robbie: Yeah, I do think though, like, on the flip side of that, , if your task is build XYZ, and you know some open source library helps to do that, and it's missing a feature you need, that you shouldn't have to ask for permission to work on that. It should just be part of, I'm building this thing,

[00:41:48] Runspired: yeah, that's a process problem from the beginning.

[00:41:50] Robbie: There is some chance to work on some things, you know, on some level that just you shouldn't even have to ask for permission, but

[00:41:57] Runspired: You need to work with good people too. Yeah. There are Arcadis companies that are full of people who,

Are

very selfish, even at all levels.

There are companies that just simply do not understand technology at any level.

And there are companies that they may be actually are good people and they may be understand technology,

But

they've thrown

too much process at the problem

[00:42:20] Chuck: process at

[00:42:20] Runspired: and unintentionally created massive barriers.

I really, for me, I don't want to throw

[00:42:28] Chuck: under the

bus here.

[00:42:30] Robbie: But

[00:42:31] Runspired: LinkedIn was a company that actually was full of great people. Was a company that really understood engineering in a lot of ways that I'm still unpacking lessons from today and I really appreciate and I've tried to apply. But they fundamentally threw too much process at open source. And they have come repeatedly failed in open source because of it. They have some successes out there. There's reasons for that. Internally to LinkedIn, I would call those anomalies.

[00:43:04] Chuck: Anomalies,

[00:43:05] Robbie: Not

[00:43:06] Runspired: an indication of their ability to manage open source.

[00:43:09] Robbie: manage open

Yeah, I totally agree with that. And it's, I think some of that probably, I mean, I don't know the internals of LinkedIn, but like, being part of Microsoft and bigger things, and like, how much of the process do they actually get to own, even?

Or how much of it is

[00:43:23] Chuck: Well, I was gonna say there, there is that like, I mean, folks from GitHub will tell you too.

Yeah. That GitHub, GitHub was this way. There's pre and post Microsoft in that world too, so mm-hmm. , yes and no, kind of along that way. And I

[00:43:35] Runspired: With LinkedIn, while I was there, we never felt that Microsoft was pressuring us to change our engineering practices. I've heard rumors that it's changed since, that there has been that pressure, but I can't

[00:43:50] Chuck: but I can't speak

to

that. But not, there

wasn't an effect when

[00:43:53] Runspired: It was in effect while I was there.

[00:43:54] Chuck: Yeah, well that's fair.

[00:43:55] Runspired: But I think there was, You know, a compounding factor there, which was we were in the black when they bought us. We were a profitable company and had been a profitable company for a long time when they bought us.

That goes a long way to buying yourself a lot of grace.

[00:44:08] Robbie: Yeah, absolutely. Like, why

[00:44:10] Chuck: there was, we come in and impose anything on you because you're doing it right already. You just want to... Capture that revenue, you know, and that user base for whatever

[00:44:18] Robbie: reasons,

[00:44:19] Chuck: you know.

[00:44:19] Runspired: Whatever their motivations were, like, they didn't need to squeeze us

[00:44:23] Chuck: a

dollar. Yeah. No, they just needed cash checks.

they just needed, you know, they were like, they were looking for an outlet for, you know, boomers are posting on Facebook. Maybe we can get boomers to post more on LinkedIn or something. No.

[00:44:35] Runspired: My suspicion has always been it was our cloud infrastructure, but honestly like other people have said it was our

then COO

[00:44:43] Chuck: Oh,

so a capture of, like, top talent

[00:44:46] Runspired: Top talent

[00:44:47] Chuck: way. Yeah, I wonder. I mean, I know that they're trying to continue to, like, chase GCP to at least take, like, the second spot in infrastructure and kind of do some more things with Azure, but

[00:44:59] Robbie: hard to say.

[00:45:00] Runspired: I, I have no idea. I don't, I was never a part of any of that discussion. So like, you know, it's, it's even internally, it was all just, we have no idea what's happened, but it happened,

[00:45:09] Chuck: Yeah, it

[00:45:10] Runspired: right?

[00:45:10] Chuck: Uh, some of us cashed some big checks. I don't know.

[00:45:13] Runspired: Part of me, and this is like zero basis in any evidence anywhere, like not even discussions. It was just part of me, just always kind of felt maybe Jeff Wiener was just looking for a nice retirement. Not from a paychecks perspective, mind you, he's just like, you know what, I'm not sure who's taking over after me, Microsoft and Satya sounds great, this is a nice way for me to write

off.

[00:45:36] Chuck: going to land just fine and I can leave it feeling good.

[00:45:40] Robbie: good

[00:45:40] Chuck: and go to

bed at night. Yeah, good stewards to the platform. Yeah. And I mean, like, nothing's changed. So at least as far as my usage, whatever, you know, that amounts to, but so that makes a lot of sense there.

[00:45:51] Robbie: Yeah. great

[00:45:52] Runspired: Yeah, I think

Microsoft's done a

[00:45:53] Robbie: job with a lot of things recently. You know, the GitHub's still pretty good.

And they have, like, everything that I use for playing games and stuff, too. Like, all of

[00:46:01] Runspired: life.

I mean, they own us cradle to grave,

[00:46:03] Robbie: Yeah. , to

[00:46:04] Runspired: honest, they own us cradle to grave. Like, I write my code in VS Code, with languages that

[00:46:10] Chuck: Yeah.

[00:46:11] Robbie: Types growth.

[00:46:11] Chuck: script.

[00:46:12] Robbie: Yeah.

[00:46:13] Runspired: I host it on software that they, Provide, like, like literally, like, I, most aspects of the stack, there's a little bit of Amazon in there, but most aspects of the stack is a Microsoft owned

product. ..

[00:46:24] Chuck: Yeah, it really

[00:46:25] Robbie: It really is.

Yeah.

[00:46:26] Chuck: It's

[00:46:26] Robbie: It's

crazy.

[00:46:26] Runspired: here's

[00:46:26] Chuck: So here's a here's what I want to know. I'm gonna pivot a little bit. Unless you have some more

tech.

[00:46:31] Robbie: no. You do what you

[00:46:32] Chuck: do I? Nobody lets me do what I want. because then

[00:46:36] Runspired: Do, do what you want, but I actually did want to get to the fourth hot take. That's the only one I might actually have a hot take on.

[00:46:43] Robbie: Okay,

Okay. Let's do that then. Real

[00:46:45] Runspired: No, no, no, start with where

you're

[00:46:47] Chuck: let's, let's come back around to it.

Because I just want to ask some other things. Thank you. Now you let me be mean.

[00:46:54] Robbie: Not last night.

you wouldn't,

[00:46:55] Chuck: Oh,

[00:46:55] Runspired: I don't

[00:46:56] Chuck: weird. We

[00:46:57] Runspired: context on that. That sounded naughty

[00:46:58] Robbie: confused how many

[00:46:59] Chuck: that I was

[00:46:59] Robbie: gonna make to my,

[00:47:00] Chuck: to, to guests. And then they were like, oh, you're being a little edgy and whatever else.

Cause I'm like. I don't know, the

[00:47:06] Robbie: Oh, I know what, I know what you're talking about now,

[00:47:08] Chuck: Yes, exactly. So I should clarify. Dear listener, by last night we were in public, having drinks, just discussing

[00:47:16] Robbie: I have separate hotel

[00:47:17] Chuck: We have separate

rooms.

You

[00:47:19] Runspired: I

I,

[00:47:20] Chuck: any...

[00:47:20] Robbie: don't

[00:47:20] Runspired: cannot verify the accuracy

[00:47:22] Chuck: Yeah, but... Not that

[00:47:23] Robbie: there's anything

[00:47:24] Chuck: wrong with that.

[00:47:25] What would Runspired do if not programming?

[00:47:25] Chuck: But... Not for us. Uh, anyway, okay. So, uh, if you weren't Okay, if you had a different career, what would it be? If you couldn't be an

[00:47:34] Runspired: be an engineer. Professional

[00:47:35] Robbie: Yeah. I feel like that was an easy one.

[00:47:37] Chuck: one.

[00:47:37] Robbie: thought you

[00:47:38] Runspired: for, I think for me, well, actually,

let's walk that back. Okay. if I could have another career with the skills that I actually have and apply full time to it, not worry about a paycheck, with who I am, my skills, I would be a runner.

[00:47:52] Chuck: Okay,

[00:47:53] Robbie: perfect.

But

[00:47:53] Runspired: we could go purely by desire,

[00:47:56] Chuck: Yes.

[00:47:56] Robbie: let's

do that.

[00:47:57] Runspired: I would be a singer.

[00:47:59] Chuck: Okay.

[00:47:59] Runspired: I

can't

sing

worth a damn. You do not

[00:48:01] Chuck: want do you

[00:48:02] Robbie: do

[00:48:02] Chuck: karaoke and stuff though?

[00:48:03] Runspired: I try.

I,

I

get so embarrassed doing karaoke, I'm just like, I will

[00:48:08] Chuck: do

one

song. I

[00:48:09] Runspired: and then I'll hide in

[00:48:10] Chuck: I saw the poor You gave yourself. You'll be less

[00:48:12] Robbie: then I'll have

[00:48:14] Runspired: sure, I'm sure, like, you probably will get some good karaoke out of me tonight, but, I just never really, I can play the piano by with improv. Like

I understand chords and chord progressions and how to decorate, like, I love just playing by feel. it's not a tune thing. I just literally can't match a tune with my vocal

[00:48:34] Chuck: that it's. Yeah. Have you taken voice

[00:48:36] Robbie: Someone, who else

[00:48:37] Chuck: sell that? Somebody did say that.

[00:48:38] Robbie: Somebody in like the last few episodes said that. Yeah. Now I've

[00:48:41] Runspired: but I love singing. I actually love the ability to express myself with my voice and the fact that I can't has just eaten me my whole life. Mm.

[00:48:50] Robbie: life. I

[00:48:51] Chuck: don't, I don't want to take away from everything else you've said, but we, this is my favorite part of this

episode. So that's fine. I'm not, I'm going to

[00:48:58] Robbie: Yeah. Yeah. I think that's very cool. Yeah. I think it might have been Preston that said it. Was it Preston? It doesn't matter.

Well,

you, you

[00:49:05] Runspired: it is Preston, he's my co worker now. I'm going to have to talk to him about

[00:49:07] Robbie: might be. It might be. It was someone that was at

[00:49:09] Chuck: whiskey

bar.

[00:49:10] Robbie: I don't

know who it was. So

[00:49:11] Chuck: was Preston actually. Cause I think

[00:49:12] Robbie: don't think we talked to the first two people about

[00:49:14] Chuck: the first two people about that. Yeah, that doesn't

sound like, uh,

[00:49:17] Robbie: I think it was

[00:49:17] Chuck: Learn with Jason. Vocal chords. I don't know, but I'll, I'll see if he will do some videos on that.

Uh, anyway, that's an amazing answer.

[00:49:25] Robbie: Love

that. Yeah. So let's go back to that last, did you put more

in my

cup?

[00:49:28] Chuck: Yes

I

did.

Cause fuck

[00:49:30] Runspired: through this cup that I fully

[00:49:31] Robbie: You're powering

[00:49:32] Chuck: I knew that he had so much and I was like, we can't leave him

[00:49:35] Robbie: we almost could finish This bottle

[00:49:37] Chuck: We, if we drank a bottle per episode, that shit would be like legit.

[00:49:42] Runspired: this bottle per episode. It helps that I'm a runner.

[00:49:43] Robbie: Yeah.

[00:49:43] Chuck: Right,

[00:49:44] Runspired: I just burn right

through It

[00:49:46] Robbie: that I'm

asleep.

[00:49:46] Chuck: a sleeper. Um, no, I don't know. Uh, okay. So I'll go back to it. So I don't have to give context. I do appreciate that because

[00:49:54] Robbie: you changed the, changed the question. So do context this time. It's worded differently, but whatever.

[00:49:58] Chuck: Just to ask

your

question.

[00:49:59] Will HTMLX change the way we build web apps?

[00:49:59] Chuck: Oh, right, yeah, I tried to put Ed on the spot more or whatever else. Okay, will htmx,

right,

yes, change the way we build

[00:50:07] Robbie: web apps?

[00:50:09] Runspired: we build web apps? I'll give you both answers. Great. The soft answer is no. My reasoned, principled answer. Non hot take. We're very neutral. I'm experienced. Everything is grazed. No.

[00:50:21] Chuck: What's your half a cup of whiskey to answer?

[00:50:24] Robbie: Absolutely

[00:50:28] Chuck: No. Oh. Absolutely

[00:50:29] Runspired: Absolutely not. There's no fucking way. It's never gonna fucking happen, and you can cut that out if you need

[00:50:34] Chuck: No, I don't need to. I don't

[00:50:35] Robbie: No, no, we're, we're unedited. You do you.

[00:50:37] Runspired: here's the cool thing about this. I don't give a shit about what htmx is. I had to go I actually had to Google it

and look it up. Right. I looked at that question and I was like, I don't even know what this is.

So I can't answer it. So I was going to punt on it. But then when I looked it up and I looked at it and I was like, okay, I get it. And it's neat, but it doesn't matter. And here's why it doesn't matter. I think we are. Approaching, maybe not quite at yet, but approaching a very different era in the maturity of JavaScript

development.

There are a lot of different perspectives out there right now that are equally succeeding about how you should build an app.

And I

think the reason that we're equally succeeding is not because they're all equally good. They're all providing great DX. Great.

People don't

actually care about DX.

Developers care about DX. Product doesn't care about DX.

Product cares about, does our user like this?

And there's just been this lie out there for a long time that site speed matters.

And I can tell you from experience in my career, if you're B2B and often B2C, that doesn't actually matter. Not if you're an app like experience.

There are exceptions to this, and people cite the exceptions too often. Right.

But site speed, it matters, But

like, only to a degree. Like, we want to be fast enough. We do not need to be as fast as possible.

[00:52:10] Robbie: Right. If I need you, it doesn't matter kind of thing.

[00:52:12] Chuck: Only to

[00:52:12] Runspired: Right. If I need you, need

to be, work well in your environment of network conditions, and bandwidth, and CPU constraints, and memory constraints.

But

if you're not our customer base and you don't have those constraints, it doesn't really actually matter. And because of this, there are a lot of equally valid approaches to building an app. And they have trade offs. And we have not been willing to actually honestly talk about those trade offs. And I wish we were. I think we are approaching the point we can honestly talk about the trade offs. Where it's no longer about what the dx is, because the dx is equal,

and Because of this. The answer is also yes,

[00:52:55] Chuck: is going

[00:52:56] Runspired: there are apps that H T M X is gonna be exactly correct for. There are apps that that, that remix and next and next and React and Ember and Angular and View are

[00:53:11] Chuck: Angular, and

[00:53:11] Runspired: are exactly correct for quick, solid doesn't matter.

Redwood Jss, shout out to Preston who was on the show, like, I still think you should be a number contributor.

[00:53:20] Robbie: Preston Werner, yeah.

[00:53:21] Chuck: I know, did you love that he hadn't really even heard of it? He just basically, he's the Rails

[00:53:26] Runspired: I was like, your entire philosophy

[00:53:28] Chuck: is Ember.

[00:53:29] Runspired: Please come to Ember.

[00:53:30] Chuck: I know, I know,

We should try to

[00:53:31] Robbie: Yeah, we'll take

some of that funding.

[00:53:33] Chuck: Well, yeah.

[00:53:35] Runspired: I,

put this out there the other day.

If you, there's a funding level at which I leave Audit Board and just work on open source.

[00:53:42] Robbie: OpenForce.

[00:53:42] Runspired: Like, there is, that does exist.

[00:53:44] Chuck: And, and, uh, Tom did talk about like, I mean, there's a time where they want to talk about the view layer and allow you to bring your own framework. So, I

[00:53:53] Runspired: And remember, I'm not the view later. I don't care about the view later. My perspective with Ember data

is that data is

[00:54:01] Chuck: is the

framework.

Oh, yeah. Well, there you go. I mean, once you have an agnostic data layer, you can kind of play anywhere

[00:54:08] Robbie: want.

[00:54:08] Runspired: I will always be Ember first because I love the Ember community. I will always be Ember first because I think Ember offers a very compelling templating story, a very... Compelling DX,

[00:54:19] Robbie: DX.

[00:54:20] Runspired: but I, if you as a company

want

to

refactor from Ember to React or React to Vue or Vue to SvelteKit, and you're using my library for your daily library, I don't want that to mean that you need to stop

using Amber data or warp drive, as we mentioned

earlier,

[00:54:40] Robbie: Yeah.

[00:54:41] Runspired: right?

I wanted to mean that that is the constant. And in my experience, looking at single page applications, which are just one of the many applications types that go into this equation of is this framework right for you?

[00:54:55] Robbie: Yeah,

[00:54:55] Chuck: yeah.

[00:54:56] Runspired: In single page applications, which have been really good and really valuable in B to B. Which have taken more companies than I can count to billion dollar valuations on Ember even when it was slow as fuck.

Sorry for the language. I really don't know what rating this

[00:55:11] Chuck: It's adult. We're

[00:55:12] Runspired: it out. We are drinking alcohol, this

is true. Yeah, no, it's fine.

[00:55:16] Chuck: I

[00:55:16] Runspired: I see in all of this

[00:55:18] Chuck: is

[00:55:19] Runspired: I want to deliver a data framework that is consistent and stable and maintainable for your app, even if, as you.

Go with the winds.

I don't care if you're using Remix, you need Managed Fetch. Because if you hit your API, you need a session authentication.

[00:55:36] Robbie: session

[00:55:37] Runspired: don't care if you're using Next, it's true as well. And I think overriding Fetch is ridiculous.

Yeah, yeah.

[00:55:43] Chuck: need

[00:55:43] Robbie: yeah, I

[00:55:44] Chuck: very

[00:55:45] Runspired: I don't care what framework you use, I think that I can offer a very compelling story with Ember

Data.

Have you been there historically? No.

[00:55:54] Chuck: Yes.

[00:55:55] Runspired: Will we get there? Yes. Are we close? I finally think we are.

[00:56:01] Chuck: Oh, I like it. Close. I'm not even going to

press

[00:56:03] Robbie: you on

what close

[00:56:04] Chuck: close means. I just, I like, I like the

[00:56:06] Runspired: I, I think for the Ember community, the Is Ember data right for you? question turns from a maybe to a yes within the year.

Probably within three months.

[00:56:18] Chuck: I

[00:56:19] Runspired: It's close.

[00:56:20] Robbie: Yeah.

[00:56:21] Runspired: For the broader ecosystem, it's more of a yes.

A function of when do I get pushed on it a little bit? Because I don't have the motivation right now because I work for a company that uses Ember. But if somebody comes along and says, I'll do that last little inch,

[00:56:36] Chuck: Ember.

[00:56:37] Robbie: we're there.

[00:56:38] Runspired: And I think, I don't care if you use GraphQL, I don't care if you use REST, Active Record, JSON API, TRPC, GRPC,

[00:56:47] Robbie: Protobuf,

[00:56:48] Runspired: These are all amazing things.

[00:56:50] Robbie: Sure, yeah.

[00:56:51] Runspired: I think Ember data is still the best possible answer for your app.

[00:56:56] Chuck: That's the possible

[00:56:57] Runspired: And,

[00:56:58] Chuck: app. Nice. And

[00:56:59] Runspired: It's gonna take a little while to prove that.

[00:57:01] Chuck: while

[00:57:01] Runspired: People are gonna challenge me on it, and I welcome it.

[00:57:03] Chuck: me take

[00:57:04] Runspired: And I think it's gonna take a long time for people to realize that what I'm saying is right. If they ever realize it at all.

[00:57:11] Chuck: reason I'm I'm

[00:57:12] Runspired: But the reason I'm saying what I'm saying is, It is an abstraction layer that allows you to go through decades of app development.

Changing your

APIs, changing your conventions, changing your formats, changing how you want to request data, changing whether you author your query on the client side, or just upload a recipe, or use standard REST like behavior, or something else entirely. Whether you have a very... Very by the spec API or a very loose API. I think it is something that offers value to you and your app is going to evolve.

[00:57:49] Chuck: is going

[00:57:50] Runspired: And the other technologies out there assume that it is not,

[00:57:54] Chuck: Yeah, which isn't true, because that's constantly what we do. Anyway, so it's

a, it's a misnomer to

think that we finally landed on the thing, right? Like, we can burn it all tomorrow

[00:58:05] Robbie: and

start

over.

[00:58:05] Runspired: We're I didn't

refactor. I didn't spend eight years refactoring ember data. To support one format,

I spent eight years refactoring number data to answer What were the fundamental problems that it needed to solve? What were the fundamental patterns that were universal? What are the things that every app needs no matter what format they're using what ergonomics they want That allows them to maintain their app For a long period of time and the reason I wanted to answer that question Um,

[00:58:39] Robbie: I don't

[00:58:39] Runspired: know how common this is in other ecosystems because I haven't worked in a lot of other ecosystems, but what I can tell you is I have worked with so many billion dollar plus valuation apps

[00:58:51] Chuck: Um, right.

[00:58:52] Robbie: Yeah,

[00:58:52] Runspired: in ember and those apps, they don't exist for one year.

They don't exist for two years. They're six year plus they're nine year plus they're 12 year plus.

[00:59:02] Chuck: plus, they're

[00:59:05] Runspired: with your app for that long if you want to reach that valuation is the conclusion that I've reached. And maybe that's a little bit misguided because I'm biased because I've been in the Ember ecosystem and I welcome that challenge.

[00:59:18] Chuck: I've been in that

[00:59:18] Runspired: But I feel that we unicorns come out of,

[00:59:23] Robbie: in

[00:59:23] Runspired: my opinion, bad patterns.

[00:59:25] Chuck: Yeah.

[00:59:26] Runspired: Simply, bad abstractions, simply because they were stable,

[00:59:31] Chuck: Yeah, there you go. The stability, the guardrails, the, yeah,

the

[00:59:36] Runspired: So I want to keep the stability, keep the stability but enable the evolution.

[00:59:42] Robbie: Nice.

[00:59:42] Chuck: Keep the evolution. Nice. Yeah.

[00:59:43] Robbie: Yeah.

[00:59:44] Chuck: I think that's reasonable.

[00:59:45] Robbie: From a Across all of Ember. That's like, always

[00:59:47] Chuck: Well, yes, that's an Ember fundamental ideology, and I think that what, um, what Chris is saying and what I'm kind of thinking here is kind of the long tail message

is

is that you have to understand that,

[00:59:59] Robbie: there's

a,

I

[01:00:01] Chuck: I want to say constraint, but it's probably like, uh, wrong terminology, but

[01:00:06] Robbie: just

[01:00:06] Chuck: like, latch on to the ideology, not necessarily the implementation.

So much, right? And then keep that going. I know we're like, long tail running on time, so I have one other very fundamental, I've got another very fundamental question I want to make sure we squeeze in or whatever. So let's say we go to a Japanese bar, and it has, karaoke. What's

[01:00:27] Robbie: the

first song

[01:00:28] Chuck: you pick?

[01:00:29] What's your karaoke song pick?

[01:00:29] Runspired: I have to sing,

[01:00:30] Chuck: If I

have

to

[01:00:31] Robbie: it's

your first song.

[01:00:33] Runspired: have you checked the Ember Data release notes? I

[01:00:36] Chuck: you I haven't, no,

[01:00:37] Robbie: Not recently,

[01:00:37] Runspired: Oh man. Okay, so. I title songs by what has emotionally hit me while I've been authoring the code.

[01:00:46] Robbie: I love it.

[01:00:46] Runspired: , so for a while it was I'll Follow You Into The Dark by Death Cab For Cutie. Okay. It's one of the few songs I could definitely karaoke, probably even on key. Which is rare.

[01:00:58] Chuck: while, it was, I'll follow Okay. you up for the postal service, uh, reunion tour.

[01:01:01] Runspired: I, I, I, I'm going.

Yeah,

um, I'm going. it, it's a, it's actually a dual concert. You're gonna love this. It's Death Cab for Cutie with postal service.

[01:01:10] Chuck: That's funny. That's easy

[01:01:12] Runspired: It's, it's very easy to pull off, obviously.

[01:01:14] Chuck: he gets a double paycheck.

[01:01:16] Robbie: off, obviously. He gets a

win

win,

[01:01:16] Runspired: Yeah, it's a win win. But, uh, it, it's kind of hilarious to see it on the ticket. But, you know, it just means that they're gonna play the songs

that, you want. you know, I'm looking forward to that and he's an ultra runner.

[01:01:27] Chuck: Huh. What's his, I don't even remember his name

[01:01:31] Runspired: I always forget his name too, but he's an ultra runner. He shows up to races, and I've been really praying that while he's in Oakland, if you, for whatever reason, listen to a tech content podcast,

which I highly doubt.

[01:01:42] Chuck: Tech whiskey. We're in the top, uh, 1% of tech whiskey

podcasts of the world. Of

all

podcasts. Of all, podcasts of the world.

Because

[01:01:48] Robbie: Because most people do like one

[01:01:51] Chuck: and then go,

I

don't

like that shit. Well then we're not failing.

[01:01:53] Robbie: Yeah.

[01:01:53] Chuck: not failing. Anyway, so

[01:01:55] Runspired: But if he's out there and if he's listening, Monday night, Skyline Gate in Oakland, it's a great crew. No one's going to be in all of your fame. No one's going to probably even know who you are because you'll just show up and no one knows what you

look like.

Come run with us. Um, we'd love to have you. And if you want to talk about the intersection of music and ultra running, I'd love to hear it.

Death Cab for Cutie, I Will Follow You Into the Dark. It was a theme song for me for most of the 4. X series in Ember Data because I was killing parts of it that I

[01:02:26] Chuck: 4. will

I

[01:02:27] Robbie: love it.

Yeah.

[01:02:28] Chuck: And

[01:02:34] Robbie: kill this thing,

[01:02:35] Runspired: I am gonna do it.

[01:02:37] Chuck: Yeah.

[01:02:39] Runspired: A lot of the 5. 0, starting with 4. 12 really, which was like the first release, the last release of the 4. x series, and in some ways because of the way that we do deprecation management, you're capable of resolving the deprecations and having them stripped from your app. So in theory, 4. 12 with

[01:02:57] Robbie: 12 with deprecations

[01:02:59] Runspired: deprecations stripped is the same thing as 5.

[01:03:01] Robbie: actually better

[01:03:02] Runspired: than 5. 0, if you do that, because 5. 0

isn't an LTS release, so it doesn't receive bug fixes, and 4. 12 does. that said, uh, if you're on 4. 12 and you strip those deprecations out, um, it's the first release where I'm actually proud of the library. It's not where I want it yet.

We're getting very close. But it's the first release where I'm proud.

[01:03:27] Chuck: Nice.

[01:03:27] Runspired: And so, you can see that in the song titles.

[01:03:31] Robbie: in the song titles.

[01:03:31] Chuck: Love it. I

[01:03:32] Runspired: Rose colored lenses.

[01:03:33] Chuck: Yeah.

[01:03:34] Runspired: Cyrus.

[01:03:35] Robbie: Oh,

[01:03:36] Chuck: nice.

Would that be the second song you,

[01:03:39] Robbie: you would

[01:03:40] Chuck: then?

[01:03:40] Robbie: then? No,

[01:03:41] Runspired: No, actually. But it is, it is, uh, a song that I would pick.

[01:03:46] Chuck: Right.

[01:03:46] Runspired: Um. I think, uh, that the other song that's always really spoken to me goes, cuts deep. It cuts really deep. It's an emotional song. And it honestly never actually carries as a karaoke song, even though you kind of hope it would.

[01:04:01] Robbie: you would. Hmm.

[01:04:01] Runspired: Iris, the Goo Goo Dolls.

[01:04:03] Robbie: I love that

song. That'd be a

good karaoke song.

[01:04:06] Runspired: As a, as a, as a kid, that song spoke to me so much.

[01:04:11] Robbie: much.

[01:04:12] Runspired: know that song lyric for lyric tone for tone only because it spoke to me so much.

[01:04:18] Chuck: that's awesome. I, these are all great answers.

[01:04:21] Robbie: was a confused little kid, but

yeah.

[01:04:21] Chuck: yeah, yeah.

[01:04:22] Runspired: I mean, I was a confused little kid, but yeah.

[01:04:25] Chuck: You

[01:04:26] Runspired: You know, um, after that I'd love T Swift lately too, man, the whole, I had to, I could not resist cracking in eras to her joke in my talk today. Yeah. Simply because,

[01:04:38] Chuck: and

[01:04:38] Runspired: When it comes to Embrudato releases lately, it's been Miley Cyrus and Taylor Swift. That's the two albums I'm listening to over and over and over again.

Uh,

[01:04:46] Robbie: again. Uh, Midnight's and,

[01:04:48] Runspired: Midnights and Endless Summer Vacation.

Now, of those two, if I had to pick the better album, it's Endless Summer Vacation because Miley, as a semi rock artist, like, kinda harkening back to the 80s and 90s with a little bit of grunge in her voice, like, I am so proud of her for not giving a fuck what other people think.

And for going and just recording the music that she wants. Moreover, the thing that made me so like, Holy shit, I'm gonna like this chick if I ever meet her, Was realizing that I couldn't go get concert tickets. I had listened to Endless Summer Vacation like, I don't know how many dozens of times, Writing Ember Data Code,

[01:05:29] Chuck: Yeah.

[01:05:29] Runspired: And I went, I need to get concert tickets.

[01:05:33] Robbie: And

[01:05:33] Runspired: look it up and I realize, she doesn't tour.

[01:05:35] Chuck: doesn't tour. Yeah.

[01:05:36] Runspired: She's like I'm not into that I'm not I'm not about that I don't care about that I love my fans But like honestly, it's just it doesn't bring me joy.

It doesn't bring me satisfaction And I don't need

to

so I'm not going to you can't force me into it.

I don't

[01:05:50] Chuck: love that.

That's

true. You know, she has popularity, so she just doesn't need to. It's like that's, I think that is rare. Yeah, absolutely. To

be a

[01:05:58] Robbie: is rare. Usually you're forced into it. Cause that's where you make your money.

[01:06:00] Chuck: usually.

Yeah, yeah.

Because of streaming

[01:06:02] Robbie: and everything else.

[01:06:03] Runspired: So when you see her perform on TV with her, you know, godmother, you know, Dolly Parton and what not, those are rare, one off situations.

That's not part of any orchestrated tour, you know. It actually made me respect her more that she knew herself that much. She

[01:06:22] Robbie: She didn't

know your lane

[01:06:23] Chuck: and just. Make the most of that

[01:06:25] Runspired: the money

[01:06:26] Chuck: And there's nothing wrong with

[01:06:26] Robbie: that.

Yeah, no.

And I'm not going to pay the money

[01:06:30] Runspired: tour.

Hehehehe.

[01:06:32] Chuck: It's fair.

[01:06:32] Robbie: Ember

[01:06:33] Runspired: over time.

[01:06:34] Chuck: do you want to

[01:06:34] Runspired: plug anything. Amber data. I think we

already plugged it, to be

honest. already plugged it. We already plugged it, to be honest.

[01:06:42] Chuck: The Warped Tour, what? No, that's the

[01:06:44] Runspired: know, we got to figure things out. You know, we got to figure things out on the on the branding and the renaming when that happens.

And, , I think the answer is one has to actually Be ready out of the box for the broader JavaScript ecosystem system to use. That's when it is warp drive and To I think I have to have fully convinced you Leah until the

[01:07:09] Robbie: that

[01:07:10] Runspired: This is something that still belongs to their brand projection

[01:07:13] Chuck: uh,

[01:07:13] Robbie: yeah.

[01:07:14] Chuck: Yeah,

absolutely.

[01:07:15] Robbie: Yeah.

[01:07:15] Runspired: ember data is not mine.

It's my baby at this point as I was surprised to hear why cats tell me the other day

is my baby. I do feel that way,

[01:07:24] Chuck: Yeah, definitely. I

[01:07:25] Runspired: I've always been respectful that it's not my IP.

[01:07:28] Robbie: right.

Right. Yeah.

[01:07:29] Runspired: And, it's still this IP at this point.

[01:07:33] Robbie: Yeah.

[01:07:33] Runspired: And, I don't, I'm not looking to hard fork. I'm not looking to rebrand without permission.

and so, uh, you know, I went knocking and asking, saying, is this a possibility? And it was just like, you know, we think it's obvious. That this is where it's headed. That was reassuring. But we also gotta work out, you know, like just making sure that all that's taken care of. Like, I don't want to own the IP.

I don't need to take the IP. I just think that we saw this with TanStackQuery versus ReactQuery. People were adverse to the idea of an all JavaScript ecosystem data library being named after a framework.

[01:08:13] Robbie: Right. Right.

[01:08:14] Chuck: adverse to

[01:08:15] Robbie: definitely.

[01:08:15] Runspired: I wish I could troll everybody

[01:08:18] Chuck: yeah. Yeah, definitely.

[01:08:18] Runspired: by having them install Ember

[01:08:20] Robbie: data. Yeah, that would be amazing.

[01:08:22] Runspired: It would be amazing.

But if that's going to keep people from adopting something that's actually going to help them, and help their apps, and help them build billion dollar products, I don't want it.

[01:08:32] Chuck: Well, that's a good plug.

Yeah.

[01:08:35] Robbie: Cool. Thanks everybody for listening. If you liked it, please subscribe, leave us some ratings and reviews. We appreciate it. And we will catch you next time.