Whiskey Web and Whatnot

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

65: Advent of Whiskey: State of JS and Microsoft's Legacy

The Javascript landscape is ever-changing. We can always rely on the State of JS survey to keep up with the latest trends and changes in the space. According to Robbie, Microsoft seems to be at the forefront of that change. Microsoft holds the lion’s share of...

Show Notes

The Javascript landscape is ever-changing. We can always rely on the State of JS survey to keep up with the latest trends and changes in the space. According to Robbie, Microsoft seems to be at the forefront of that change.

Microsoft holds the lion’s share of platforms and products in Javascript development including VS Code and GitHub. It’s hard not to rely on Microsoft as a developer. It’s also hard to find someone who doesn’t love the Xbox. But even though they’ve come a long way and given us great inventions, there’s still plenty of room to improve. Especially where developer experience and enterprise products are concerned.

In this episode, Chuck and Robbie talk about results from the State of JS survey, and Microsoft’s legacy of successful gaming versus failed enterprise products.

Key Takeaways

  • [00:41] - Flaviar's "Depths of Whiskey" Advent Calendar App.
  • [03:23] - Number Three Whiskey - Chapter 7 Whiskey: Prologue Blended Scotch Malt.
  • [05:37] - Number Four Whiskey - Kamet Indian Single Malt Whisky.
  • [10:16] - Number Five Whiskey - Redemption Rye Whiskey.
  • [15:20] - JavaScript features from the State of JS.
  • [19:38] - Microsoft hot takes.

Quotes

[17:30] - “If there’s a thing that you don’t want to mutate, don’t mutate it. You don’t need the proxy. You can just use an object.” ~ Robbie Wagner

[19:38] - “It's a really hot take that Microsoft does everything right, except for Windows.” ~ Robbie Wagner

[19:57] - “Have you used Teams? I would rather use Windows than Teams.” ~ Chuck Carpenter

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.

Episode Transcript

[00:00:00] Robbie: what’s going on everybody? Welcome to Advent

[00:00:04] Robbie: of

[00:00:05] Chuck: and then,

[00:00:06] Robbie: web and whatnot. Get outta your sleigh. Park your horses, get your favorite whiskey, and hang out with us for a while.

[00:00:15] Chuck: warm up from the inside.

[00:00:17] Robbie: Yeah.

[00:00:18] Chuck: That’s

[00:00:18] Chuck: what we like to say.

[00:00:20] Robbie: So if you’re an avid listener and you have nothing to do during the holidays of December, then you probably just listened to an episode yesterday.

[00:00:29] Robbie: So this is following up to that. We’re continuing our advent calendar whiskey. So we are on, uh, DRS three and four today, and we actually got the app this time. So we have, uh, this fla, Flavia Flaviar. I wanna. Flaviar because Flaviar sounds so aggressive, but, but it’s, I think it is Flaviar because it’s supposed to be like caviar.

[00:00:55] Robbie: Um,

[00:00:56] Chuck: But I don’t know. Nobody ever pronounces these things to us. They [00:01:00] just take our money and send

[00:01:01] Robbie: yeah. Oh, fun fact. I emailed the people at Barrel and they said it’s pronounced barrel, not bere.

[00:01:08] Chuck: Nice. Well, there

[00:01:09] Chuck: we go.

[00:01:09] Robbie: we know

[00:01:10] Chuck: We, solved that mystery. We’d been saying it correctly,

[00:01:13] Robbie: Yeah.

[00:01:13] Robbie: Anyway.

[00:01:14] Chuck: barrel.

[00:01:15] Robbie: So this app is like rate your, uh, rate whiskey’s most polarizing flavors, and then you rate the 24 DRS from the advent calendar and it’s supposed to recommend stuff. So let’s, let’s try it out. So I say start, how do you feel about strong alcohol burn? Chuck says

[00:01:35] Robbie: a hundred percent. That’s what I want

[00:01:36] Chuck: I want it. I want to know. I want to get punched in the face

[00:01:41] Robbie: Okay, so we’ll, we’ll just say all the way up. That’s plus five. All right.

[00:01:45] Chuck: okay.

[00:01:47] Robbie: How do you feel about smokey flavors?

[00:01:50] Chuck: Less into

[00:01:51] Robbie: of the road.

[00:01:52] Chuck: I’m a little under halfway. Yeah. I would be like, if it was a one to 10, I’m like, I’m a three on that. Every once in a while I don’t mind [00:02:00]

[00:02:00] Robbie: It’s a, it, is kind of a one to 10. They do it a little different. They have negative five to positive five, so if you don’t care, you just say zero.

[00:02:07] Chuck: Okay.

[00:02:08] Robbie: but I’ll say, I’ll say negative one. We’ll slightly say not smokey. All right. How do you feel about spicy? I would say

[00:02:14] Robbie: plus three or four. I, I wouldn’t necessarily say all the way up, but

[00:02:19] Chuck: but

[00:02:19] Chuck: you do

[00:02:19] Robbie: I’ll say three. All right, sweet. We’ll say negative, negative two.

[00:02:25] Chuck: Yeah.

[00:02:28] Robbie: Right loading. Okay, so we have to go back and retroactively do one and two. Uh, so how did we like it? Uh, I forget. I think we said a five or six for this one. So it’s different on their scale. We’ll say a three.

[00:02:43] Robbie: Sure. Describe your experience with this bottle. Can I not? I said B on accident. It took the letter B somehow.

[00:02:52] Chuck: There you go.

[00:02:54] Robbie: So let’s do the next one.

[00:02:55] Chuck: Which we really liked. We gave it a seven.

[00:02:58] Robbie: Yeah. So we’ll give that a plus [00:03:00] four here

[00:03:01] Chuck: Wonderful.

[00:03:02] Chuck: And then we’re gonna move on to Otter next ones.

[00:03:07] Robbie: uh,

[00:03:08] Robbie: let’s see. I should probably describe these for fun. So it was like orange, vanilla Coke. Okay, cool. Compare bottles to level up your recommendation. We definitely favor day two. A lot more. Cool. Yeah, we’ll say that. Yeah. Okay, cool. Now

[00:03:33] Chuck: Number three is

[00:03:34] Chuck: a scotch

[00:03:35] Robbie: Let’s do it.

[00:03:36] Robbie: Oh, I still have a little bit of whiskeys here.

[00:03:38] Chuck: Oh, . Spoiler alert. We’re recording more than one per day.

[00:03:43] Robbie: no we’re not.

[00:03:44] Chuck: no we’re

[00:03:45] Robbie: different day. What are you talking about? This is December 2nd. The last one was December 1st.

[00:03:49] Chuck: Ah, I see, I see. Um, alright, moving on. Number three. It’s a scotch whiskey. Um, it is blended scotch. It’s single malt. Um, [00:04:00] 47% alcohol. So that’s actually fairly high for a scotch a lot of times.

[00:04:04] Chuck: Um,

[00:04:05] Robbie: Yeah.

[00:04:07] Chuck: Yeah.

[00:04:07] Robbie: slightest sniff of it and.

[00:04:09] Robbie: Oh God. I am not, gonna be a fan

[00:04:12] Chuck: okay. Well, there we go.

[00:04:14] Robbie: and put the tiniest amount in there cuz

[00:04:17] Chuck: Yeah, it has a,

[00:04:18] Chuck: I wanna say has like an apple cider. Yeah. like I might

[00:04:21] Robbie: bad vinegar, like wine that’s

[00:04:23] Chuck: right? Okay. I was gonna say like apple cider is what I was getting out of it, which is,

[00:04:27] Robbie: No. Oh, I don’t even want to try this one. Honestly.

[00:04:31] Robbie: This is gonna be a this might be the first zero tentacles. Can we have.

[00:04:37] Chuck: each

[00:04:37] Chuck: cask is unique. Um, the wood age, temperature, and location in the Rick house, everything tells its own story. Large scotch producers merry casks. They are not. So this is per cas. Okay? Um, it starts to smell better, though, once it got into the Glen car.

[00:04:54] Robbie: no.

[00:04:55] Chuck: No, not for you.

[00:04:56] Robbie: have now smelled it and tasted it. Zero tentacles. [00:05:00] You may have a different opinion, but.

[00:05:02] Chuck: Hmm. It’s pretty weak actually for me.

[00:05:05] Robbie: Yeah, it’s, it’s not very alcoholy, but it’s super, super smoky. Little bit pey.

[00:05:12] Chuck: Um, yeah. I was just

[00:05:12] Chuck: say I’m getting a mossy finish with it. Um,

[00:05:15] Robbie: but I just can’t get over those, those notes of like the, the vinegar. It’s just gross. It’s not

[00:05:22] Chuck: Hmm. Yeah. This kind of sour. I’m gonna give it a one. Just why

[00:05:27] Chuck: not? I don’t

[00:05:27] Robbie: All right. Cool.

[00:05:28] Robbie: Trash.

[00:05:29] Chuck: one to eight, so,

[00:05:32] Robbie: Yeah. All right. In fairness then

[00:05:33] Robbie: I’ll say one, if we can’t do zero, um, I’ll give this a negative five on the app

[00:05:39] Chuck: Sorry guys.

[00:05:40] Robbie: it as vinegar. Trash. All right.

[00:05:49] Chuck: Yeah. All right, well, there we go. Vinegar. Trash. That’s a, that’s a very good descriptor. I believe so. And then we’re onto number

[00:05:58] Robbie: is from prologue, [00:06:00] batch number two, blended mulch malt Scotch whiskey. Okay. Yeah, it’s not good. Don’t buy it.

[00:06:08] Chuck: All right. There you go. Don’t gift it to

[00:06:10] Robbie: Yeah, it’s, it’s bad enough that I will just say flat out, like, we don’t need a sponsorship from this company, ever. So, uh,

[00:06:19] Chuck: Well, I’m

[00:06:19] Chuck: I’m really optimistic for our next taste. It’s a Indian whiskey from, it’s a product of India.

[00:06:26] Chuck: Uh,

[00:06:27] Robbie: be better, right?

[00:06:29] Chuck: Uh, Kame, I’m not sure how it’s pronounced. Uh, it is also a single mal whiskey, 46% alcohol. Um, we never really get age statements out of these things. Um, I’ve only tried one Whiskey of India before and, uh, it was supposed to be one of the nicer brands and I did not care for it.

[00:06:48] Chuck: So, I don’t know. I’m hopeful that it doesn’t go that direction.

[00:06:53] Robbie: Right. As long as I don’t open this one and immediately gag, I think it’s gonna be better. Let’s see. Yeah. Already better. [00:07:00] I mean, it, it might not be good, but I didn’t like die immediately.

[00:07:04] Chuck: Hmm. I don’t know. I’m not sure. I maybe a little floral in the

[00:07:12] Chuck: smell for me.

[00:07:13] Robbie: right. Let’s, let’s see what’s, hmm. Yeah, I’m getting, um, like walking down the like fresh spring flowers aisle at Lowe’s when you’re trying to shop for flowers.

[00:07:32] Chuck: Right. See, it’s a

[00:07:33] Robbie: I’m getting that on the nose.

[00:07:35] Chuck: yeah. And that’s usually near like the lawn mowers and stuff, so you get like a little bit of oil smell

[00:07:40] Robbie: Yeah. little bit of gasoline.

[00:07:42] Chuck: Yeah. Yeah. .

[00:07:43] Robbie: Yeah.

[00:07:44] Chuck: is very

[00:07:45] Chuck: specific, but yet somehow completely landed for me.

[00:07:48] Robbie: And honestly, it smells like everything you would expect from Yeah. You have a mower going, you have like some plants and like you’re out actively putting plants in the ground [00:08:00] for the spring. That’s what it kind of smells like.

[00:08:02] Chuck: Um,

[00:08:04] Robbie: It must taste not great though.

[00:08:06] Chuck: yeah, it started out with a little bit of sweetness and then had this weird like bitter cabbage finish.

[00:08:13] Robbie: Mm. Oh great. I’m looking forward.

[00:08:19] Chuck: I was like, this feels like something my, like someone’s parents would make you eat at dinner at the end. Okay. Exactly. Your face it, not just

[00:08:29] Robbie: Oh my God. It tastes like really, really gross shoes. Like imagine foot gunk a shoe mixed with like a little bit of fruit. Like, there’s some

[00:08:46] Robbie: kind of

[00:08:46] Chuck: there

[00:08:46] Chuck: was like an apricot in the beginning and I was like, oh, this is gonna be delight. Fold cabbage.

[00:08:52] Chuck: Oh my gosh.

[00:08:53] Robbie: It does have a little of that sauerkraut finish.

[00:08:57] Robbie: Um,

[00:08:58] Chuck: That’s really

[00:08:58] Robbie: I’m, this one’s getting poured [00:09:00] out too. This one’s a, it’s a little better. I could drink it if I had to, so I’m gonna give it a two tentacles.

[00:09:09] Chuck: Ooh, I’m going to also one, sorry. Um, India should stop making whiskey.

[00:09:16] Chuck: Like I, like I, Yeah,

[00:09:18] Chuck: I know it sounds mean. It is. They should not this, I’ve had two, which is funny cuz I had, uh, Indian food the other night cuz I had been

[00:09:25] Chuck: having a lot of like, Very heavy meals. And, uh, I was like, I just need something lighter.

[00:09:32] Chuck: I want some vegetables. And I, I like, um, a vegetarian curry. Like that’s a great way to

[00:09:37] Chuck: like, just get like a flavorful meal. Feel like it’s a bit healthier. And uh, so the food all about it. Keep making food, please.

[00:09:48] Chuck: You gotta

[00:09:48] Robbie: I was gonna say, I wonder if this is like some of the things that have made it not good is it’s meant to pair with some of the food, perhaps.

[00:09:57] Robbie: Like is there a specific food that would make [00:10:00] this not taste terrible? I don’t know.

[00:10:02] Chuck: I don’t know. There you go. If, uh, if any of our listeners are able to chime in and give us helpful advice to make it better or feel like, no, no, we’re not giving it a, a fair or accurate chance, then I would like to put it, uh, you know, put it in, in the realm where it might. A bit better, but thus far hasn’t worked out for me.

[00:10:23] Robbie: This is a commit. If you didn’t look up what it was already.

[00:10:28] Chuck: Oh, I, I did and I said it and I just said I

[00:10:30] Chuck: wasn’t sure exact, if it’s Chem a or ChemE or whatever,

[00:10:33] Chuck: just, uh,

[00:10:34] Robbie: yeah. I don’t know

[00:10:35] Chuck: the tasting notes tell you

[00:10:37] Chuck: that it’s supposed to be. Go ahead.

[00:10:39] Robbie: ahead.

[00:10:40] Robbie: No,

[00:10:40] Chuck: Um, okay. Lively with fruity, vibrant, and spicy notes of vanilla dried fruit and okie flavors. ,

[00:10:47] Chuck: there’s

[00:10:47] Robbie: certainly lively.

[00:10:48] Chuck: in the back background.

[00:10:50] Chuck: Um, it is supposed to linger with nutty flavors. I didn’t get any of

[00:10:54] Robbie: Hmm.

[00:10:54] Chuck: Um,

[00:10:55] Robbie: calling an audible here and saying, let’s, let’s pull five out because three and four were so [00:11:00] trash. I want to try something else.

[00:11:02] Chuck: okay. We’re gonna make this mostly a whiskey whiskey episode. I mean, it is 10 37 in the morning. Why not get a third? Get a real taste?

[00:11:15] Robbie: Ah, product of Usa. All right.

[00:11:17] Chuck: Oh,

[00:11:18] Robbie: It doesn’t necessarily mean it’ll be good, but it’s hopefully not as bad.

[00:11:22] Chuck: Well, it’s World Cup time, so you know, the USA has gotta come through for us

[00:11:27] Chuck: and.

[00:11:27] Robbie: haven’t watched any of it. Has the USA done well at.

[00:11:32] Chuck: Um, yes. We actually got out of the group, so we’ve moved on to the round of 16, the actual knockout rounds. We, um, tied whales, we tied England. Um, we really should have beaten whales. And then there was a weird penalty at the, at the end, um, had a great game against England and then, uh, played Iran, uh, in the final.

[00:11:51] Chuck: And it was like politically charged before going into it. Mostly like some journalists back and. , not really amongst the teams, but, uh, [00:12:00] yeah, it was a, it was a fairly exciting game ended, won nothing. Um, and then we got to move on Oxyon out, uh, and we played the Netherlands next, which is going to be quite a

[00:12:12] Chuck: challenge, but, you know, I’m optimistic.

[00:12:15] Chuck: Anyway, back to whiskey. Uh, it looks like this is from Bardstown. Yeah, so, um, category bourbon. Oh, it’s redemption. This is like redemption bourbon four year. Single straight bourbon whiskey, 48%.

[00:12:30] Robbie: I’ve had redemption, rye. I dunno if I’ve

[00:12:32] Chuck: yeah, bourbon

[00:12:33] Chuck: Barrel Selections is a small company based in Bardstown, but then when you go to the details, it says, The region is Connecticut, so it’s very confusing.

[00:12:42] Chuck: Redemption Rye whiskey is known for producing great rye. No surprise there. Then they added a high rye bourbon to the lineup. Again, seems legit, but imagine our surprise when the company redemption rye whiskey came out with a weeded bourbon, which

[00:12:55] Chuck: has zero rye at all and how much we [00:13:00] like it. So, okay, we’ve got a

[00:13:01] Chuck: mash bill of 51% corn, 45% winter wheat, and 4% malted bar barley.

[00:13:08] Chuck: That’s very

[00:13:09] Robbie: important thing is did they say they liked the last two? Because if they did, they were liars.

[00:13:15] Chuck: Yeah. Hopefully they’re setting us up for a win here.

[00:13:19] Chuck: Um

[00:13:20] Robbie: this one already smells much better. All of these have a little bit more of a musty tone than I’m used to though,

[00:13:30] Robbie: unless it’s because I’m not rinsing my glass. Between these.

[00:13:33] Chuck: That’s probably part of it. Yeah, I’m getting a lot of vanilla on the, on the,

[00:13:39] Robbie: Yeah. Smokey vanilla E.

[00:13:42] Robbie: Um,

[00:13:45] Chuck: Yeah. A little roasted vanilla or something like,

[00:13:48] Robbie: I

[00:13:48] Chuck: like if you smoked some vanilla. Ooh, yeah. Let’s say, okay. [00:14:00] Hmm.

[00:14:02] Robbie: Oh, that’s much better.

[00:14:03] Robbie: Thank.

[00:14:04] Chuck: that’s pretty. I like that. Oh yeah. I’m getting a little more like roasted vanilla, you know, s’mores kind of blend in in that flavor. Finish

[00:14:18] Chuck: even all the way through.

[00:14:19] Robbie: Yeah, I could go so far as to say there’s a little tiny bit of graham cracker in there. No chocolate really for me, but.

[00:14:25] Chuck: No, no chocolate. Yeah, that’s true. But more of like the, you know, your marshmallows got a little char on it.

[00:14:34] Robbie: Yeah, it’s like, it does have a little bit of like sugar readiness of like,

[00:14:38] Chuck: he does.

[00:14:39] Robbie: it’s either the, the marshmallow or like, I would think even some whipped cream, kind of

[00:14:44] Chuck: Hmm.

[00:14:45] Robbie: just the tiniest bit, like it’s got that little bit of confectionary quality to it.

[00:14:50] Chuck: Yeah. And then almost a little bit of a nutty finish, like candied, uh, nuts though, because I’m still getting sweet all the way through. But then it goes from more of a like [00:15:00] smokey char to like a nuttiness in the finish.

[00:15:03] Chuck: And it’s what I almost say, like candied pecans or something.

[00:15:08] Robbie: Oh yeah. I could say a little pecan. Yeah. So this one’s pretty good. I would say this is a six for me.

[00:15:14] Chuck: Mm. Yeah, I always feeling well. So our last seven was a rye and now this is a bourbon. And I’m gonna say this might be a seven in the bourbons for me.

[00:15:23] Robbie: Oh, all right.

[00:15:24] Chuck: yeah,

[00:15:25] Chuck: we’re in the holiday season. yeah, we’re in the holiday season. And I could see this easily being like a sipper around the fire where, you know, making s’mores for the kids and you are having a little.

[00:15:37] Robbie: Yeah. All right. It’s asking me to rate this compared to the Indian one. That’s an easy choice. Uh, and compared to, okay, this is compared to the other rye we had though. What do we think on that?

[00:15:53] Chuck: Um,

[00:15:53] Robbie: comparable. Maybe slightly towards the rye,

[00:15:56] Chuck: Yeah, I think slightly towards rye,

[00:15:58] Chuck: just cuz like [00:16:00] getting that vanilla cream cola kind of flavor is very unique.

[00:16:05] Robbie: Yeah.

[00:16:06] Chuck: and some of

[00:16:07] Robbie: I would like to buy a bottle of that rye. So far that’s the one I’ve been most impressed with.

[00:16:11] Chuck: just go to, uh, the Netherlands apparently.

[00:16:15] Robbie: Or probably Flaviar sells it, I think. I think there’s a bottle page where you can go buy it. That’s the whole point is they want you to buy the ones you like.

[00:16:21] Chuck: Yeah. Get you to try a bunch. That’s reasonable,

[00:16:25] Robbie: All right. Well, we’ve spent a ton of time on whiskey on this one, so maybe we should talk about something else before people just stop listening at all.

[00:16:33] Chuck: Okay. Do you want to talk about any of the state of Js questions? That might be an interesting one for some folks.

[00:16:39] Robbie: Sure, I meant to look up some things about them, but we’ll just approach them as, uh, you know, we don’t necessarily know them either. So I, I actually filled out the survey the other day and wrote in whiskey web and whatnot. Reminder again to do that. Put it on your podcast. Um,

[00:16:56] Robbie: And I was, I was surprised.

[00:16:58] Robbie: There were several things [00:17:00] I hadn’t heard of. So the only things that I wrote down in our list here were the, uh, JavaScript features. There’s also like new browser features and like different things. We could do those on another episode of one of these 10. But, so these are the, the list of things and it’s like, have you heard of these?

[00:17:15] Robbie: Do you know what they do is like, kind of basically what they were asking.

[00:17:18] Chuck: I’m a little surprised about the third bullet point there. Um, but then again, dynamic imports I’ve used quite a bit in next JS and next has its little wrapper around the native imports. But,

[00:17:30] Chuck: uh, um, yeah, dynamic imports are very useful

[00:17:34] Robbie: Mm-hmm.

[00:17:35] Chuck: of defer chunks until

[00:17:37] Chuck: needed or unless.

[00:17:39] Robbie: Yeah. I

[00:17:40] Chuck: Actually I

[00:17:40] Chuck: do it in, uh, I use it, our open source wrapper around, uh, shepherd for React Shepherd in the example site, I have to do, uh, dynamic import because you can’t do server side render right until you have window.

[00:17:53] Chuck: So once you have window now import thing

[00:17:57] Robbie: uh, yes. Which I think now Shepherd [00:18:00] has guards against server side rendering to where it doesn’t do anything if there’s no window. Um, So yeah, that’s, that’s good. There’s also some other bugs, which we can, uh, that’s another topic we’ll get, get back to that,

[00:18:12] Chuck: That’s for a longer, less whiskey infused episode.

[00:18:16] Robbie: Yeah. So some of the things they had on here were like proxies, which honestly, I don’t know if you know, but it’s like, to me they’re just kind of this like mysterious thing where if you don’t want to actually touch the o the real object, you like do a proxy and like whatever.

[00:18:29] Robbie: And it’s kind of like, to me, I’m like, why? Like if you. What you were doing. Right. Which I guess it’s, it’s good for libraries or things that like, where you don’t control the object so that you don’t mess it up. But to me it’s, I would just say if there’s a thing you don’t want to mutate, don’t mutate it.

[00:18:46] Robbie: Like you don’t need the proxy, you could just use an object or whatever. Um, personally, I don’t know how you feel about it, but,

[00:18:55] Chuck: I mean, that kind of makes sense to me. Yeah.

[00:18:59] Robbie: [00:19:00] so then there’s some things that like, I’m not necessarily familiar with. Uh, from its exact syntax here that they have Promise dot all settled, which is very similar to like Ember has, like, you know, way back in the day before promises were really a thing. They had like RSVP to do like, uh, RSVP dot hash or I think it’s like dot all or sim, similar things where it’s basically wait for all of my promises to settle before we go to the next thing where you can group like, you know, 10 promises in an array and say, wait for all of these kind of

[00:19:32] Chuck: Yeah. Yeah. That’s nice stuff. Um, Knowledge coalescing. Again, that’s something I, uh, learned about a couple of years ago. Cause it got added to type script in a version

[00:19:44] Chuck: and

[00:19:44] Robbie: Oh, that’s where it

[00:19:45] Chuck: is in the, yeah. And then I guess now it’s in the spec, but,

[00:19:48] Chuck: uh, we, oh yeah, it’s, it’s, uh, it’s nice. It’s basically assigning default values if nu um, or, and,

[00:19:58] Robbie: If null are undefined, . That [00:20:00] way you can make sure it’s like, you know, if you meant to do an empty string or other falsy values, it doesn’t check those. It’s just, it’s not like, or it’s like specifically null and undefined,

[00:20:11] Chuck: Yeah. Instead of having a very messy, probably nested, ary kind of ridiculousness.

[00:20:16] Chuck: You, you got this just assigned default. If, if no.

[00:20:20] Robbie: Yeah, and I don’t think it’s on this list, but like the one that came with that, I’m blanking on what it is. The optional chaining that’s, is that on here somewhere?

[00:20:29] Robbie: That came out at the same time-ish. It’s not on the list though. But that’s another thing that’s like huge. You don’t have to be like if food and food bar and food out bar ba, you just go like fu question bar, question

[00:20:44] Chuck: Oh yes, yes, yes, yes. Um,

[00:20:46] Chuck: that’s another type script thing from a bit ago. So that was

[00:20:49] Chuck: brought up into the spec from Times Script. I know. It was like really nice when

[00:20:53] Chuck: you started being able to use some of those things in projects and like, oh,

[00:20:57] Chuck: now I don’t have to do the whole Yeah. [00:21:00] Long

[00:21:00] Chuck: chain of ridiculousness.

[00:21:02] Robbie: It’s a really hot take that like, I think Microsoft does everything right except for Windows. Every project they have is just awesome, like

[00:21:16] Chuck: uh, have you used teams?

[00:21:19] Robbie: Uh, okay. Okay. So every, let me back that, back that up. ?Yeah. No. Okay, let me back up. So it’s okay. Not literally everything, but it’s like they own npm, they own GitHub, they own LinkedIn, they own, uh, Xbox.

[00:21:34] Robbie: They own like all of the Halo series, like all these games, like

[00:21:38] Robbie: they just bought Bethesda. Like they have hunt everything I would want from leisure to work. They control. Which is cool like vs. Code vs. Code’s great. Or, but it’s like Visual Studio is maybe not as great. Like the one you have to pay for, that’s like proprietary for.net.

[00:21:56] Robbie: Like the theme is the more enterprisey you get, the [00:22:00] less their stuff is fun. But

[00:22:01] Chuck: Right. So their legacy stuff

[00:22:04] Chuck: sucks. And their new Microsoft, Microsoft, you know, the web three version of of Microsoft

[00:22:11] Chuck: is, is good. Yeah. Microsoft three is good. The legacy stuff, and I’m sure there are people that don’t agree with this opinion, but yeah, the, all of that old, we want to charge you money for licensing on all the things.

[00:22:25] Chuck: That model of stuff is not good

[00:22:27] Robbie: Yeah. I

[00:22:28] Robbie: liked though that, that in Windows, they finally allowed you to just install Linux so you can have a real terminal. And then, uh,

[00:22:38] Robbie: now I think it comes by default. Like you don’t even have to install Luon two or something as your terminal. It’s. You can use bash. You don’t have to use power Shell bullshit,

[00:22:49] Chuck: Oh, wow. That’s interesting. I wonder if that’s like in the way that, um, OSX allows you to either use Bash or Z S H. [00:23:00] Essentially Z Shell is the default show.

[00:23:02] Robbie: Yeah, I mean, you would think they could map everything from Unix based shells to, uh, command prompt and just say like, if you use the Unix one, Just switch it to the, I mean, you would think they would go down that path cuz that’s like my biggest complaint is if I’m doing development and I need to like debug something or even just run n pm or whatever, it’s like, oh well it runs a little different cuz it’s a Windows version and whatever.

[00:23:28] Robbie: And like on every other computer it runs this way. And it’s like, okay, well that doesn’t quite work, but you know, maybe they’ll get there.

[00:23:37] Chuck: Interesting. Hot take there. So, Yeah. So, you know, they’ve come a long way. Um, and, uh, we can agree on some things, so that’s good.

[00:23:46] Robbie: Yeah. Yeah. Uh, it is a little scary that they own all of JavaScript development though, because it’s a little bit of a monopoly, but

[00:23:55] Robbie: they’ve, they’ve done well with it.

[00:23:57] Chuck: you could always start pushing the GitLab. [00:24:00] You, uh, can start using Vim if you want or something

[00:24:05] Robbie: Host my own npm.

[00:24:06] Chuck: Yeah. Host your own, actually, yeah, you can do that. Which half the time just essentially ends up, um, being a proxy to npm, right, because

[00:24:15] Robbie: Oh all of the time. Every client I’ve worked with that has like their own artifacty is like, oh, it just installs from NPM and then like comes back to their, like

[00:24:26] Robbie: that. You have like a couple of internal packages, but the rest is just a proxy.

[00:24:30] Chuck: Exactly. Yeah. That way you don’t have to like, pay for, you know, private MPM or something like that.

[00:24:35] Robbie: Yeah.

[00:24:37] Chuck: Uh, Verio. Yeah, Verios one of the more recent ones that I’ve had experience with. Private package repository.

[00:24:48] Robbie: Gotcha. So yeah, let’s, let’s go through just the last couple. We don’t have to do all of these, but um, other things that are on the state of js. So if people haven’t done the state of JS survey yet, you’re gonna be [00:25:00] ahead here. You’re gonna have heard of some of these things even though maybe you hadn’t.

[00:25:03] Robbie: Um, private fields, I think also came from type script, right? Cause they were initially there. So now you can do that in JavaScript. You just put the little hash in front and it’s private. Um, numeric separators. I don’t even know what that is. I

[00:25:18] Robbie: think

[00:25:18] Chuck: don’t know. It sounds weird.

[00:25:20] Robbie: yeah, I think I meant to put an example, but we’re just gonna say I haven’t heard of it. And maybe we’ll give you an example another time.

[00:25:26] Robbie: Um. There’s new string methods like similar to string replace and match. You can now replace all or match all, which I think just finds all the occurrences and replaces or matches, um, logical assignment I did not know existed. Um, have you seen that?

[00:25:46] Chuck: I have seen a thing about it, and I’m not recalling exact, like people like saying, this is cool, blah, blah, blah, and then seeing that syntax and then I I didn’t I didn’t ever dig into it, so,

[00:25:57] Robbie: It’s basically like if the [00:26:00] value is falsey. So you say like you have an object and that object might have a title. Right? So if the title was empty string and you said food title, uh, or equals new title or something. Because it’s an empty string, which is falsey, that or equals, we’ll set it. If it was set to like my cool title, like already set to a string, it won’t set it.

[00:26:23] Robbie: Um,

[00:26:24] Robbie: so It’s kind of like,

[00:26:26] Chuck: thing, kind.

[00:26:28] Robbie: yeah, it’s, it’s similar to like, um, you know, just using, or, or I guess it’s different cuz it works with empty string too, but like, like the knowledge coalescing kind of idea. But like with assignments kind of,

[00:26:41] Robbie: I don’t know.

[00:26:42] Chuck: I see.

[00:26:43] Robbie: I’m unlikely to use it. Probably. It’s, it’s a little weird looking, but it’s cool.

[00:26:50] Robbie: Um,

[00:26:51] Chuck: looks funny to me.

[00:26:53] Robbie: Promise. Do any, uh, I honestly don’t know what that is. I’m guessing that’s, if

[00:26:58] Chuck: As, as soon as, [00:27:00] yeah. Yep. As just, so just the first one resolves, then it’ll start doing other things.

[00:27:05] Robbie: Okay. Uh, and they have array at which I’ve used that’s really useful for getting the last element of the array. So instead of doing like array brackets, array dot length, minus one like we normally do, you do array.at negative one, and it gives you the last element.

[00:27:25] Chuck: Okay. A little more readable. Get

[00:27:27] Robbie: Yeah. Um, you can

[00:27:29] Robbie: use it for anything else too, like at whatever index, but, uh, yeah, top level of weight, um, it’s a weight, but at the top level

[00:27:38] Chuck: yeah. Yeah. Outside of a scope. Yeah. Of a asynchronous function.

[00:27:42] Robbie: Right. So I guess that would be useful for like doing, I don’t know what dynamic imports or API calls before you actually wanted to start writing your functions and stuff.

[00:27:53] Chuck: Mm-hmm.

[00:27:55] Robbie: Let’s see, temporal. I’ve seen a lot of people post about, about like fixing all of our [00:28:00] dates and time problems with temporal, but I don’t know what it does.

[00:28:03] Robbie: Have you used it or looked at it at all?

[00:28:05] Chuck: Um, I looked at it once because again, seeing people talk about it and I was like, oh, cool. But then if you’re not putting anything in place, You’re like, what is this better way to develop applications is what I see.

[00:28:18] Robbie: Hmm.

[00:28:18] Chuck: probably different, so I probably looked at a different thing. There’s a company called Temporal, temporal.io.

[00:28:25] Chuck: Less

[00:28:25] Robbie: Do like MDN temporal or something?

[00:28:32] Chuck: Um, date JavaScript. Okay. Temporal documentation. O a lot of things going on. Um, I think, um, so TC 39 is working on temporal, a new date time api, so

[00:28:48] Robbie: Like MoMA js, but officially supported, I

[00:28:51] Chuck: yeah. Date has been a long pain point in ECMAScript. This is a proposal for temporal, a global object that acts as a top level name space [00:29:00] like math.

[00:29:00] Chuck: So there you go. It’s kind

[00:29:01] Chuck: of like a, yeah.

[00:29:04] Robbie: it’s date, time, tills,

[00:29:05] Chuck: Mm-hmm. exactly

[00:29:07] Chuck: built in to the native api, so that seems nice.

[00:29:10] Robbie: There’s a lot of stuff built in now though, where you can do like, uh, the, like I Ntl. I dunno, format, date for like your country or

[00:29:18] Chuck: Yeah, yeah. No, it’s ni it. Yeah, it is. But it’s really complex, right? You gotta

[00:29:24] Chuck: know all of the different methods to call to get like the exact

[00:29:28] Chuck: date and formatting and all this crazy stuff.

[00:29:31] Robbie: yeah. I would love to see, I don’t know what this Tim portal thing’s gonna be like, but it’s similar to moment where it’s like, pass it a date or a string that’s like a u uh, utc, like timestamp or like. Or a epoch or a like, you know, any kind of thing, right? That could represent a date and then give it a format string of like month, month slash day, day slash year, year, year or whatever.

[00:29:57] Robbie: It’s like, and I want it to look like this. That would be great. I would [00:30:00] love that to be built in, but it’ll probably be not as nice as that. I’m assuming it’ll be, have some rough edges, but we’ll see. Um, and yeah, so there’s a few other things. Nothing too exciting like array fine last, get the last instance of the thing you’re trying to find, I guess, um, et cetera.

[00:30:22] Robbie: Um, we’re just gonna skip the rest. We’re a little bit over our 30 minute limit here, so,

[00:30:26] Chuck: It’s cuz of Robbie’s drinking.

[00:30:28] Robbie: yeah, it gets us. But uh, yeah, this is our second advent of whiskey. We will. Eight more. I guess we’re supposed to have 10. I don’t know. We’ll do math. We’ll, we’ll drink all the whiskeys and we’ll keep recording things until you stop hearing from us.

[00:30:45] Robbie: So we’ll catch you, I guess tomorrow when you hear the next one of these.

[00:30:51] Chuck: boom, boom, boom.