Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.

Listen/Watch

19: Decentralized Gaming, IntelliJ, Twitch, and the Shortcomings of Modern VR with Rob Cary


Show Notes

What do web development, Twitch, VR, and blockchain all have in common? More than you might think. After years as a game developer, Ship Shape's longest-tenured employee Rob Cary was bound to put those unlikely virtual dots together and today he's here to share a few original insights.  After meeting Robbie Wagner in an elementary school play as a couple of accountants, their lives continued to overlap. From a choice in college to a knack for web development, making sweet beats, and ultimately, their careers, an intro to Rob may sound identical to an intro to Robbie. But unlike Robbie Wagner, Rob Cary has years of VR experience under his belt. Not to mention, some interesting ideas about the future of our virtual metaverse.  In this episode, Robbie, Chuck, and Rob discuss the wonders of WebStorm and IntelliJ, what on earth decentralized gaming is, how VR has transformed the gaming world, and the mostly unknown link between Twitch and web development.  Key Takeaways * [00:28] - Introduction to Rob. * [01:27] - A whiskey review.  * [06:57] - Rob, Robbie, or both?  * [13:05] - Rob's technical background and the state of decentralized gaming. * [16:12] - A game of Stumped. * [24:50] - What Rob likes about WebStorm and IntelliJ. * [30:16] - A conversation about the VR universe, how it's transformed, and where we're headed.   * [39:10] - Why NFTs are everywhere.  * [43:20] - Rob's hobbies outside of gaming and websites.  Quotes [26:35] - "VS Code is one of the few examples I've seen of an IDE that's really universally been adopted really quickly." ~ @r0bc4ry [https://twitter.com/r0bc4ry] [34:50] - "Some of the things you can do on VR, you could just never do in a traditional game. The technology has a ton of promise, there are just fundamental issues that still are being worked on that I think need to be fixed." ~ @r0bc4ry [https://twitter.com/r0bc4ry] Links * Rob Cary [https://twitter.com/r0bc4ry] * React [https://reactjs.org] * Ember [https://emberjs.com] * Dojo [https://dojotoolkit.org] * Vuori [https://vuoriclothing.com] * Lululemon [https://shop.lululemon.com] * Widow Jane Rye Mash, Oak & Applewood-Aged Whiskey [https://widowjane.com/whiskey/oak-and-apple-wood] * Twitter [http://twitter.com] * Whiskey Web and Whatnot: Next.js 12, React vs. Svelte, and the Future of Frameworks with Wes Bos [https://www.whiskeywebandwhatnot.fm/nextjs-12-react-vs-svelte-and-the-future-of-frameworks-with-wes-bos/] * Virginia Tech [https://vt.edu] * StarCraft [https://starcraft.com/en-us/] * Zoom [http://zoom.com] * Unity [https://unity.com] * Blockchain [https://www.blockchain.com] * Halo [https://www.halowaypoint.com] * Syntax [https://www.syntax.fm] * Web3 [https://web3js.readthedocs.io/en/v1.5.2/] * DoorDash [https://www.doordash.com] * Uber Eats [https://www.ubereats.com] * Async/await [https://javascript.info/async-await] * NativeScript [https://nativescript.org] * BlueJ [https://www.bluej.org] * JSON [https://www.json.org/json-en.html] * IntelliJ IDEA [https://www.jetbrains.com/idea/] * WebStorm [https://www.jetbrains.com/webstorm/] * Visual Studio Code [https://code.visualstudio.com] * Atom [https://atom.io] * yarn install [https://classic.yarnpkg.com/en/docs/cli/install/] --- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message

Transcript

Robbie Wagner: [00:09] What's going on, everybody? Welcome to another Whiskey Web and Whatnot with myself, Robbie Wagner. My co-host as always, Charles W. Carpenter III. Our guest today is our longest-tenured employee, Rob Cary.

Rob Cary: [00:25] How's it going, guys?

Chuck Carpenter: [00:27] Swell, thank you.

Robbie Wagner: [00:28] Maybe tell everybody a little bit about yourself, Rob.

Rob Cary: [00:31] Yeah. So I am Rob. I've been a full-stack JavaScript engineer for close to ten years now. I've worked at everything from really small startups with only maybe a dozen employees to giant companies with thousands of employees and worked on all kinds of applications and done a bunch of fun stuff and every framework from React to Ember to Dojo even so. Yeah.

Robbie Wagner: [00:57] I see you're wearing your Vuori shirt. What's better, Vuori or Lulu.

Rob Cary: [01:04] If you're just sitting around the house, Vuori, all day? But if you got to get some stuff done, that Lulu has the extra durability, I think, so it really just depends.

Chuck Carpenter: [01:16] Well, there goes our Vuori sponsorship.

Robbie Wagner: [01:20] Well, Rob is working with Lulu right now.

Chuck Carpenter: [01:24] He's obligated. Let's get to the first order of business, which is today's whiskey. This would be the Widow Jane. It says it's from a rye mash. It's the only important differentiation I can note from their website. They won't tell us the mash bill. Nobody seems to know it, but.

Robbie Wagner: [01:44] It's between 1 and 100% rye.

Chuck Carpenter: [01:46] Yeah, it's probably fairly high rye. If they're going to say rye. And these are aged in oak and applewood, so I don't know if that's two different barrels or just one with a mix of staves, but alas, here we go.

Robbie Wagner: [02:01] I know that.

Chuck Carpenter: [02:02] Okay.

Robbie Wagner: [02:03] It is oak barrels that were used for ten years to make whiskey previously, and then applewood staves added in.

Chuck Carpenter: [02:13] Oh, okay. So it's like the Makers 46 process.

Rob Cary: [02:16] Now, how important is this limestone mineral water?

Robbie Wagner: [02:19] Well.

Chuck Carpenter: [02:19] Well, if you ask anyone, any distillery in Kentucky, they will tell you that's what makes Kentucky whiskeys different is that the limestone, that is, like, a natural part of those resources.

Robbie Wagner: [02:32] This is from New York, so wouldn't they say it's trash?

Rob Cary: [02:34] A legendary Rosendale limestone?

Chuck Carpenter: [02:37] Yeah, I mean, that's something else to behold, I guess. But I'm just saying that that's the marketing behind a lot of Kentucky whiskeys is saying, like, well, our limestone is why it's different.

Rob Cary: [02:52] Okay.

Chuck Carpenter: [02:53] Yeah.

Rob Cary: [02:53] Interesting. Should we try it?

Chuck Carpenter: [02:55] Yeah. I smell a lot of apple.

Robbie Wagner: [03:01] Mine feels almost watered down or something.

Rob Cary: [03:04] That's what I was thinking. I was like, is it my ice? Has it been sitting too long?

Chuck Carpenter: [03:09] Could be. Yeah. There's not a lot of burn.

Robbie Wagner: [03:11] So. I'm going to say it's not 100% rye because it doesn't have much spiciness. It does have a little bit of a spicy finish. See if I can taste any of that apple wood.

Chuck Carpenter: [03:22] Yeah, I'm smelling an appley kind of cinnamony. I get a little, like, apple cider vinegar early. More than, like, apple pie.

Rob Cary: [03:34] Yeah. I'm thinking apple, but I'm not tasting apple.

Chuck Carpenter: [03:37] Yeah.

Robbie Wagner: [03:38] It does taste a little bit fruity in general, almost like a sangria that you really watered down and then put rye whiskey in.

Chuck Carpenter: [03:47] That would be a different way to approach it.

Robbie Wagner: [03:49] Which sounds delicious.

Chuck Carpenter: [03:51] Yeah, it's almost like a slight bitter note, too, in the finish for me. Leaves a little bitter.

Robbie Wagner: [03:56] We give this like a four tentacles, I think.

Chuck Carpenter: [03:59] Yeah.

Rob Cary: [04:00] This is out of eight tentacles?

Robbie Wagner: [04:02] Yeah, this is out of eight tentacles.

Rob Cary: [04:04] I'm going to say five tentacles.

Chuck Carpenter: [04:07] All right. Well, as our tenure through these episodes has gone on, I feel that our judgment has become a bit more harsh. Like, oh, now we've tried more, but a wider context of things. And we were maybe generous with some six and sevens early on. We're like then we had some things that we felt maybe were more six and seven, and now other things, comparatively, are getting a stricter note on that. Yeah, I was kind of in the four to five-range, but I think I would lean to the four. It's drinkable. It's got a different profile to it. I don't think that I love it, though, in the sense of an interesting smell, but I also don't like sweet things. It didn't end up tasting sweet, but then it also was very mellowed out. So if you like a rye, you're not getting a lot of the rye punch.

Rob Cary: [04:57] After tasting this and knowing that they have a ten-year, I'm more interested in the ten-year to know what that tastes like, comparatively.

Robbie Wagner: [05:04] Yeah, this does feel a little young. A little bit rushed, maybe.

Chuck Carpenter: [05:09] That aspect of things, too. Like maybe this is a two or three-year or something, and it's really just beginning to pick up some of those things. Yeah, two-year. Two is super young. I guess I will say that it's for such a young one, sometimes you get that very just green alcohol taste, and they managed to do better with that, so I appreciate that.

Robbie Wagner: [05:33] Yeah.

Rob Cary: [05:35] Yeah, I will say I can really taste that legendary mineral water, though.

Chuck Carpenter: [05:40] Legendary to someone, to those in Rosendale. I guess it may be just as legendary as the Kentucky limestone water that I was speaking about before, but.

Robbie Wagner: [05:51] I don't know. We'll have to everybody tell us on Twitter if you prefer the legendary New York mineral water or Kentucky mineral water.

Chuck Carpenter: [05:59] Or just plain old Kentucky mineral water. Not legendary at all.

Rob Cary: [06:03] I think that's one of the hot debates. Correct? In Whiskey.

Chuck Carpenter: [06:05] Could be.

Rob Cary: [06:06] Kentucky or New York mineral water.

Chuck Carpenter: [06:09] I might get back on Twitter just to engage in that sounds.

Robbie Wagner: [06:13] Yeah. Every time I mention that I'm doing a whiskey podcast, everyone's like, oh, yeah, which kind of mineral water do you like better? That's the first thing they ask.

Chuck Carpenter: [06:22] Or no mineral whatsoever. I'm sure plenty of distilleries are not even utilizing limestone water whatsoever.

Robbie Wagner: [06:30] Yeah.

Chuck Carpenter: [06:31] It's an aspect of it. We always talk about the mash bill. We never talk about the water.

Robbie Wagner: [06:36] True. We will start now.

Chuck Carpenter: [06:39] Yeah, it begins now. Everything that doesn't mention limestone or water quality.

Robbie Wagner: [06:44] We just throw it in the trash.

Chuck Carpenter: [06:46] We're going to feverishly just bombard their customer service. We must know the water content. The mineral content limestone in your area.

Robbie Wagner: [06:57] All right, well, fun as continuing limestone talk is we're going to move into a game here, which, if you listen to the episode with Wes Bos a few weeks ago, it's going to be similar to that. So we have a Rob, Robbie, or both game for Chuck to try to look at these different statements and decide, was it me, Rob Carey, or both of us that this thing applies to? All right, so let's start at the top here. So the first one should be easy, if you've been paying attention. Went to Virginia Tech.

Chuck Carpenter: [07:33] Both.

Robbie Wagner: [07:34] Yes, that is correct. This one is a bit more obscure. Is masters rank in StarCraft.

Chuck Carpenter: [07:44] Rob Carey.

Robbie Wagner: [07:46] No, that's me. All right. Played saxophone in high school.

Chuck Carpenter: [07:56] Robbie?

Robbie Wagner: [07:57] No, that's Rob Carey.

Rob Cary: [08:01] I was in a jazz band, marching band, and concert band playing saxophone.

Chuck Carpenter: [08:05] I have not gotten to know my colleagues very well.

Rob Cary: [08:08] And then I did not touch the saxophone, I think after high school, unfortunately, I still own it.

Robbie Wagner: [08:13] I was going to say, can you still play it?

Rob Cary: [08:16] I think the muscle memory is still there. Like, I could still probably pick up a couple of songs, but yeah, no, I'm not a regular.

Robbie Wagner: [08:25] Yeah, same. Like, I could do a couple of things on trumpet, but I don't really remember much. Okay, let's see. Real throwback was an accountant in the second-grade play.

Chuck Carpenter: [08:38] I mean, how am I supposed to deduce this, and or have ever discovered this information? It's only one of you. 50-50 chance out of that. Rob Carey looks accountant material.

Robbie Wagner: [08:50] That's both of us.

Chuck Carpenter: [08:53] There was three accountants in a play.

Rob Cary: [08:56] This is how Robbie and I met each other. There was three accountants in the play, and it was me, Robbie, and then another Robbie. All were assigned to be the accountants.

Chuck Carpenter: [09:06] So anyone whose given name is Robert is destined to be in the numbers game.

Rob Cary: [09:13] The teachers were not feeling very original at that point. They just were like, oh, the Robbies’ put them over there.

Robbie Wagner: [09:18] I think we just all were like, I don't care about this play. I don't really want a speaking part. Just give me whatever. And they're like, all right. You can all be this accountant.

Rob Cary: [09:27] I remember we did get to wear sunglasses, and I think we just had to walk across the stage and look cool for, like, 10 seconds.

Robbie Wagner: [09:33] Yes, that was all we had to do. Played in a church basketball league.

Chuck Carpenter: [09:41] Both of you?

Robbie Wagner: [09:42] No, it's just me.

Rob Cary: [09:44] We thought we would fool you with this one.

Chuck Carpenter: [09:46] Yeah, well, one of you looks like you should play basketball, and then the other actually does.

Robbie Wagner: [09:52] Well, at the time, like, when we were younger, I've looked this height and been exactly like this in 6th grade. So I was like, good at basketball then because everyone else was like 4ft tall, and I was like, no.

Rob Cary: [10:05] I guess the listener should know that I am six-five, which makes it the obvious choice, I feel, for anything basketball related.

Chuck Carpenter: [10:13] Right. Because we have to categorize everyone. Yes. So it makes sense. And that's great. That's a good detail to point out that not everyone, or maybe even most people, wouldn't know that. Yeah.

Robbie Wagner: [10:28] All right. Next one is, watched all the Diehard movies in reverse order in one day.

Chuck Carpenter: [10:34] That sounds like a Rob Cary move.

Robbie Wagner: [10:36] That's both of us.

Chuck Carpenter: [10:39] I don't think I've gotten that. I only got the first one. Right?

Robbie Wagner: [10:43] Yeah. I was on the way to Florida, right? And we're all in the van.

Rob Cary: [10:51] We were in a van that had a TV. So we somehow started with the last one, and it just worked our way backwards, and we did it all one day.

Robbie Wagner: [10:58] Yeah. I think we wanted to watch the last one, and then we were like, well, I'd like to see the other ones. And since we started with the last one, we'll just go backwards.

Chuck Carpenter: [11:06] Right. It's logical at the time.

Robbie Wagner: [11:09] Let's see. Plays guitar.

Chuck Carpenter: [11:14] Feel like it was also a trick question?

Robbie Wagner: [11:18] No. This one's easy.

Chuck Carpenter: [11:21] All right, I'm going to just Robbie Wagner.

Rob Cary: [11:24] That's both.

Rob Cary: [11:25] That's the more right answer.

Robbie Wagner: [11:26] Yeah, it's mostly me. Rob plays.

Rob Cary: [11:29] Mostly Robbie. I learned, like, power chords, which is like the easiest thing to do. And me and Robbie have played guitar together before, so I think that qualifies.

Chuck Carpenter: [11:38] I guess so. As long as you play more than Smoke on the Water, does it qualify? As long as you get above that.

Robbie Wagner: [11:44] Yeah. We just had some tabs. You can play anything, then. All right. Last one. Made beats and rapped in college.

Chuck Carpenter: [11:57] Yo, yo, yo. That's Rob Cary.

Robbie Wagner: [12:00] Mostly Rob Cary. It's both of us, though.

Chuck Carpenter: [12:04] The answer to most of these is both of us. Well, anyone who comes on to a normal Zoom call on a regular basis and goes, yo, yo, yo, what up? That person made beats.

Rob Cary: [12:19] Okay, that's fair. I didn't think about that. That's fair.

Robbie Wagner: [12:22] Rob didn't live with us, but he came over to parties and stuff, and we would, like, go to the basin. We had strobe lights going, and we would make beats down there and do raps and stuff.

Rob Cary: [12:33] We had GarageBand open. And the only cool thing was we had a strobe light synchronized to any noise you made. So everything instantly became a classic because you had the light show already going while you're making the song.

Chuck Carpenter: [12:46] Right.

Rob Cary: [12:48] And then you listened to it the next day, and it was awful. But that's besides the point.

Chuck Carpenter: [12:53] Right. Cool in the moment.

Robbie Wagner: [12:56] Well, every 100 songs or so, one would actually be pretty good, but yeah.

Chuck Carpenter:[13:03] So, let's discuss some technical things. I mean, one fun fact for the listeners is that Rob used to be a game developer. I'm sure, in some ways, he still is at heart.

Rob Cary: [13:16] Still mostly hobbyist now, but definitely, like, I'm working in Unity almost every day still after work.

Robbie Wagner: [13:25] You pivoting your game to the metaverse.

Rob Cary: [13:27] Always. You got to be on top of the NFT metaverse. I'm going to have coins in the game. I actually was going to bring this up later, but the new thing right now is decentralized games for this year, which I don't even know what that means. They're trying to bring in this NFT and Bitcoin technology with blockchain, but for games, and I don't know what that means.

Chuck Carpenter: [13:52] Yeah, I think it's more of, like, the Web3 umbrella. So utilizing blockchain and trying to decentralize, which means, like, not keeping user data on servers, but instead in a blockchain. Although that is still on a server. Right, but it's decentralized, not just one server, so it's not one database in one place.

Robbie Wagner: [14:15] So I would assume the game itself would run on servers, though. Right, but, like, all of your data, like, if you get an item or something that would be on the blockchain.

Rob Cary: [14:25] Yeah. I just am confused because the way it works now, say you have an item shop in your game. You buy an item, and then on their server, you have access to the item. If it's decentralized, sure, it's on multiple servers, but they still, in some way, own that.

Chuck Carpenter: [14:40] Yeah. Your item goes on the ledger, and then your ledger is accessible across anywhere in the network. Right. So it's not just one thing. So that's where you're basically setting state, but it's like an immutable state.

Robbie Wagner: [14:54] You do use state NFTs.

Chuck Carpenter: [14:57] Yeah, exactly.

Robbie Wagner: [14:59] Use state. That's the thing with React.

Chuck Carpenter: [15:01] React hooks. I can see where there's a place on that. I mean, it's not unlike all the other aspects of this Web3 umbrella of things. It's not a random JPEG, but then it is maybe because you bought a thing. It's just an NFT. It's an item.

Chuck Carpenter: [15:22] Yeah. Still working in Unity. Writing C# code.

Chuck Carpenter: [15:25] It's good.

Rob Cary: [15:25] I actually really enjoy it. So it's been nice.

Chuck Carpenter: [15:28] Okay. I mean, somebody has to. I like playing games.

Robbie Wagner: [15:35] Yup. Been playing a lot of Halo.

Chuck Carpenter: [15:40] Okay. Not decentralized Halo. Microsoft servers.

Rob Cary: [15:43] That's next.

Chuck Carpenter: [15:44] Yeah.

Rob Cary: [15:44] Halo coins.

Chuck Carpenter: [15:45] Yeah.

Robbie Wagner: [15:46] So Syntax does this game they call Stumped, and they just go through and do, like, JavaScript interview questions and pick random ones that they think the other person won't know and see if they know what the answer is. So we could do a couple of rounds of that if you want to.

Chuck Carpenter: [16:03] Set up a whiteboard first. All right.

Rob Cary: [16:10] I got one for Chuck, so it's not on this list, but I have a question that I always enjoy asking people.

Chuck Carpenter: [16:15] Okay.

Rob Cary: [16:17] So, Chuck, working from the element outward, can you name all of the properties in the CSS box model?

Chuck Carpenter: [16:28] No, not anymore. I don't really do any CSS anymore. I've, on purpose, forgot all of those things. So I will 100% tell you.

Robbie Wagner: [16:35] The better question is can you name any of the things in the box model?

Chuck Carpenter: [16:41] I mean, box model properties are there like margin and padding are part of the box model.

Rob Cary: [16:45] Yeah.

Chuck Carpenter: [16:46] So there you go. I know those. I remember all of that stuff way back in the day, and then yeah.

Rob Cary: [16:53] It's just element padding or border margin. And then, if you want to get real fancy, then outline after that.

Chuck Carpenter: [17:00] Oh, yes. Okay. Well, there we go. So I didn't do so bad.

Robbie Wagner: [17:04] You got the important ones.

Chuck Carpenter: [17:06] Yeah, I think so. All right, so, Robbie Wagner, what is memoization?

Robbie Wagner: [17:15] Pass.

Chuck Carpenter: [17:19] Only because I had to go through that with some hooks stuff recently, so I don't know. That's fine. That's fair.

Robbie Wagner: [17:25] Yeah. Isn't it something about no? I'm just going to make myself look dumb if I even try to talk it out, so I'm saying no. Next one.

Chuck Carpenter: [17:33] Capturing the previously computed results and only making a change basically, if the inputs change, recalling the function if the inputs change.

Robbie Wagner: [17:43] Something about, like, caching, but yeah, I didn't know, so I was like, I don't want to say caching and then be wrong, so I'm just going to not say anything.

Chuck Carpenter: [17:51] All right, here's one that used to be when I actually would just ask questions. Like all these JavaScript programming questions in interviews back in the day. What are closures?

Robbie Wagner: [18:01] Is that for me?

Chuck Carpenter: [18:02] Yeah, you passed, so you have a question.

Robbie Wagner: [18:05] No, closures are easy. It's just like wrapping something in a function to keep the scope contained to that function. So if you want to have, like, a this dot foo and iterate it and increase that value or whatever, you can do that in the closure.

Chuck Carpenter: [18:20] Without affecting outside scopes.

Robbie Wagner: [18:22] Yeah.

Chuck Carpenter: [18:24] Cool. All right, I think you're up now. You win.

Robbie Wagner: [18:26] Let me open my console up and do a math random.

Chuck Carpenter: [18:33] I can appreciate that.

Rob Cary: [18:34] I thought you were going to do something like, what is the boolean value of not MC array string?

Chuck Carpenter: [18:42] It's got a sorting algorithm for you to.

Robbie Wagner: [18:45] All right, 31. Let's see. What is a service worker Rob Carey?

Rob Cary: [18:52] Service Worker? I mean, I'm just thinking in terms of service is if it's an actual JavaScript.

Robbie Wagner: [18:59] A guy that serves your lunch, right? That's service worker.

Rob Cary: [19:02] Yeah.

Chuck Carpenter: [19:03] Yeah. I had a service worker deliver me a delicious salad today.

Rob Cary: [19:08] Was it a Dasher or an Uber Eatser?

Chuck Carpenter: [19:11] UberEatser.

Robbie Wagner: [19:14] Yeah, no. It's basically what you use to run progressive web apps and cache stuff when you're offline and stuff.

Chuck Carpenter: [19:21] If you want to have non-blocking functions within JavaScript loads, they run in the background. It's like multi-threading for the browser.

Rob Cary: [19:28] Got it.

Robbie Wagner: [19:29] Yeah. Chuck with the better answer, but yeah.

Chuck Carpenter: [19:33] Once again, proving who's the smartest one on this podcast. I should be careful. I'm going to get a really bad question.

Robbie Wagner: [19:47] I guess it's Rob's turn since he was just called on.

Rob Cary: [19:50] Okay, so I don't even know if this is in the list, but from when you type in a URL in the browser and push enter, can you describe in detail, as much detail as possible, all the steps that happen until you see the page?

Chuck Carpenter: [20:03] Well, first of all, a jerk asks you a question, and then you hit the button. I mean, it would have to go first to DNS service to interpret the URL to the IP address of the endpoint, and then it would go there, and it would have to get routed by some kind of routing server like NGINX or whatever else so that it knows what kind of thing it's supposed to serve up. Interpret that, take any inputs, run functions, generate pages, whatever it has to do, and then send that back to the user. I guess it would be, well, that would actually be part of the request headers, I guess. The return location. I'm sure I'm forgetting some things. I'm going to give you that as my high-level answer. That's good.

Rob Cary: [20:55] I feel like you did good. I feel like the fun stuff is really once it gets routed to someone, and then you have your load balancers, your Caching servers, like all that kind of stuff.

Chuck Carpenter: [21:03] But yeah, I could have approached cash, and I was just like, no one really understands cash. Whatever answer, I get money, right? Yeah, it rules everything around me. But outside of that, I have an old note. I used to ask, explain how prototypical inheritance works. And no, you don't have to answer that.

Rob Cary: [21:28] Prototypical.

Chuck Carpenter: [21:29] What kind of jerk was I? Prototypal.

Robbie Wagner: [21:32] Prototypal?

Chuck Carpenter: [21:33] Yeah, apparently.

Rob Cary: [21:35] Prototypical.

Chuck Carpenter: [21:38] Like old stuff, like what are the pros and cons of using promises instead of callbacks? We don't. Async await.

Robbie Wagner: [21:44] What is type of null?

Chuck Carpenter: [21:47] That is Robbie, one of Robbie's favorite okay, let me.

Rob Cary: [21:51] Can we just say async await is one of the best inventions in JavaScript in recent times?

Robbie Wagner: [21:58] I mean, even promises have been great, too, because I did a little bit of JavaScript before all that, and it was just like.

Chuck Carpenter: [22:04] Callback hell.

Robbie Wagner: [22:05] Yeah. Seven layers deep of callbacks.

Rob Cary: [22:08] Yeah. Before native promises. What was the library that everyone uses? Like Blue Bird Jbird, something like that?

Robbie Wagner: [22:14] BlueJ?

Chuck Carpenter: [22:15] Blue J. Not safe for work. Can you describe the main difference between a for each loop and a map loop and why you would pick one versus the other?

Rob Cary: [22:28] Well, so a map is going to return an array. So if you want to modify and change it, you can do that for each if you just want to loop over data but you don't necessarily want to return. You just need to do something with the set of data. So you have items or something you just need to loop over and get some values or whatever. In that case, yeah, I mean, that would be the main difference. I think. It's just based on if you need data afterwards or not.

Chuck Carpenter: [00:22:49] Yeah, one mutates, and one doesn't. One returns a new array, and one mutates the existing. Basically, what you described. Cool. There you go. Finally busted those out again.

Robbie Wagner: [23:00] Don't neither of them mutate.

Chuck Carpenter: [23:02] For loop would mutate, wouldn't it? Because you would be looping through an existing, you don't return a new array. You would be changing the existing or items.

Robbie Wagner: [23:10] Only if you were changing it in the for loop. If you weren't changing it, you were just doing, like, I don't know, setting something else.

Chuck Carpenter: [23:17] Sure, yeah, I guess you could loop over it and do nothing.

Robbie Wagner: [23:20] Yeah.

Rob Cary: [23:23] I mean, when I cut the log, my items every time I'm debugging something.

Chuck Carpenter: [23:27] So maybe, like, one returns a new array, and one doesn't. There you go. The simpler answer.

Robbie Wagner: [23:32] Yeah, I just always loop through my items and call other people's random APIs just to make their server costs higher for fun.

Chuck Carpenter: [23:39] Nice. Just not our serverless functions. It's all on usage. All right, so Rob gets to ask Robbie at this point.

Rob Cary: [23:50] I'll get to ask you one.

Robbie Wagner: [23:53] Yeah.

Rob Cary: [23:54] Oh, this is a good question for Robbie. I've got it. Why do you need JSON?

Robbie Wagner: [24:03] Okay, that's kind of a vague question, but I guess trying to think, I mean, you don't really you need it sometimes for, like, if you want to, like, JSON stringify, like, an object and save it to a database or something, then you can unstrinify it. But a JSON object is just the same as a JavaScript object, basically. It just doesn't have all the same types in it.

Rob Cary: [24:30] Am I allowed to see the answers here? Here we go. It's a lightweight format used for data interchanging. So, yeah, basically what you said, I think it's more just for JavaScript objects as a way to serialize and unserialize them in a consistent manner.

Robbie Wagner: [24:44] Yeah. Makes sense.

Rob Cary: [24:46] Yeah.

Robbie Wagner: [24:46] I didn't really write a lot of notes up, but one thing I think you still are a fan of, like, IntelliJ stuff, right, Rob?

Rob Cary: [24:55] Yeah, definitely.

Robbie Wagner: [24:57] So what do you like about WebStorm versus, I assume, you've tried VS Code and stuff?

Rob Cary: [25:03] Yeah. I mean, I have. And honestly, I don't know. It's the same as every time I try something else. Like, I tried Atom, and other than, I feel like they're more lightweight, like, almost closer to text editors than they are IDEs in some ways. And I know that they have plugins that you can do things, and they have powerful features like VS Code or Atom, at the time, I think, was the one first one to do, like, multi-select so you could change a variable, multiple lines or something at the same time. But I just have always found IntelliJ. It's just how my brain works. It makes sense for working on an app. I mean, you can run it. It checks your dependencies for you. It tells you if you need to update, like, say I do a poll and someone's updated dependency, it'll tell me. So I don't need to just run yarn install every single time. The debugging tools are really great, so you can put breakpoints even on server side or on front end really easily and tie it into the browser. The testing, it just detects your frameworks. Basically, all of those things combined, there's not one single thing that is my favorite, but all those things combined are what just keeps me around.

Chuck Carpenter: [26:04] If anything broke.

Rob Cary: [26:06] And also, I think it was one of the first that had dark mode like built in, and that was instantly the thing that was like, okay, I'm staying here.

Chuck Carpenter: [26:14] Right.

Robbie Wagner: [26:15] Yeah. I started out doing all intelligent stuff, and I used Web Storm for at least half of my professional career. I don't know. I guess VS Code is not all that new, or I don't know how long did.

Chuck Carpenter: [26:28] Maybe a couple of years, I don't know, it seems, or at least it caught fire a couple of years ago.

Rob Cary: [26:34] VS Code is one of the few examples I've seen of, I feel like, an IDE that's really universally been adopted really quickly.

Chuck Carpenter: [26:43] Yeah, Atom had like a short period of people really into it. It took me a long time to get off of Sublime Text. I was on Sublime Text for quite some time. Text Wrangler for a bit before that.

Robbie Wagner: [26:56] I think the downfall of IntelliJ is that all their stuff is very specific. Like WebStorm is for JavaScript only. Mostly you can do whatever you want in it, but it's mainly for JavaScript. And they have PHPStorm, which is like for PHP. Whereas VS Code is like, do every language in here, just download a plug-in for it? You're using one app.

Chuck Carpenter: [27:20] Yeah, right.

Rob Cary: [27:21] There might be a business decision by them because honestly, at this point, I've learned so many hotkeys in WebStorm that, like when I go to Rider, which is their C# IDE, it just carries over immediately. I can use the exact same hotkey, so I'm not going to switch, obviously, but that's better for them because now they're getting two subscription payments from me per month instead of one.

Robbie Wagner: [27:43] Right. Yeah. There's a package for VS Code that lets you do the hotkeys from IntelliJ. Okay, I use that. So I don't know any of the VS Code hotkeys. People are like, oh, what's the hotkey for this? I'm like, I have no idea. You have to ask someone else.

Rob Cary: [27:57] No. And I tried to do Visual Studio, and I was doing Unity at first, but not knowing the hot keys really was a killer for me because I'm so much more productive in what I know, and so I didn't want to relearn everything.

Chuck Carpenter: [28:11] It's reasonable. It's been a couple of times where I've wanted to switch to Vim because I saw people that are very productive in Vim set it up really cool. I could never get there and get frustrated after a day or two, and you're just like, no.

Robbie Wagner: [28:26] Yeah, I've had aspirations a couple of times to try to do, like, all keyboard-based everything. Just never use a mouse. And even for normal applications and stuff, just navigate through everything in your dock with tab or arrows or whatever. I don't know. A lot of people do it, and they swear by it, but my brain would take so long to adjust to that. No, that's okay.

Chuck Carpenter: [28:55] Yeah, I mean, that's very ambitious to go to everything. Once you master.

Rob Cary: [29:02] What if Vim froze, though? Oh, man. I worked with a guy that was all of them. He's plugged in the matrix. It's incredible.

Chuck Carpenter: [29:09] Yeah, it's probably true. He's definitely on the blockchain.

Robbie Wagner: [29:13] Yeah. I remember the presentation that Torren did at EmberConf. Do you remember that one, Chuck, where he did tons of Vim stuff, and it was just moving everything around everywhere and instant everything? Like, whoa, that's so impressive.

Chuck Carpenter: [29:31] You're a better developer than us.

Rob Cary: [29:35] The funny thing is, though, the guy that I worked with who was all Vim. I hope he's not listening to this, was not the best developer. But his Vim skills were top-notch.

Robbie Wagner: [29:44] Yeah. If that guy is listening, it's not about you. It's about someone else.

Chuck Carpenter: [29:48] What is the possibility that someone's going to remember that they worked with you, that they used when currently used Vim? I guess you wouldn't move away from it. And then they're going to think I'm the one, of course.

Robbie Wagner: [30:03] And that they're one of the few hundred people that listen to this podcast.

Chuck Carpenter: [30:08] And that as well. That would be fantastic.

Rob Cary: [30:12] He's going to text me tomorrow. I know it.

Chuck Carpenter: [30:16] Speaking of games and other hobbies and whatnot, I know us three have started to dig into the VR world. Sort of the metaverse, sort of the thing.

Rob Cary: [30:28] Yeah. So we did the VR happy hour thing last week. Wagner, was that your first time in a VR social space before?

Robbie Wagner: [30:39] Yeah, and I have to say, while it was extremely fun, I was very nauseous afterwards, dizzy, and not feeling good.

Chuck Carpenter: [30:49] Interesting.

Rob Cary: [30:50] Yeah, I enjoyed it because I was just kind of like listening to your reactions, and I was like, I remember the reactions you were having were things that I had two years ago when I first started doing VR stuff. It's funny because I think VR I tried VR, the development kit one for Oculus, which was, I don't even remember, like, whatever, eight years ago. First time I tried it, I was like, this is the future. Absolutely is the future. But some of the issues it had then still are issues now. Things like locomotion and games, like moving around. A very essential part of a game is still like, you get anyone in the game, and they have to move forward, but their brain is telling them they're sitting still. That disconnect just is going to cause issues. And it still has yet to be figured out.

Chuck Carpenter: [31:37] Yeah, it's interesting.

Robbie Wagner: [31:39] You have to have a treadmill.

Chuck Carpenter: [31:40] Right. I don't know how you move around with that. And then you just have to use a lot of the stick for movement versus just walking around. But yeah, I actually played some rec room last night with my brother. We decided to do some disc golf.

Rob Cary: [31:52] Nice.

Chuck Carpenter: [31:53] Kind of fun. I mean, it was a little weird but fun. Tried that and tried a couple of other things. There was one called Rise of the Jumbotron. And then you're on a roller coaster and then trying to shoot these little jumbotron robots. That one would have made you sick.

Robbie Wagner: [32:12] I was using a sword and shield in that one game. And then you would have to turn left and hit stuff and move around and then turn right and hit stuff. And doing all of that, constantly moving around, and then you didn't actually go anywhere. Yeah, your brain is just like, no, didn't like that.

Rob Cary: [32:27] So Robbie, were you physically turning, or were you using the stick to turn your character?

Robbie Wagner: [32:33] I was physically turning, so it wasn't far enough to need to turn with the stick. So I turn a little bit and hit stuff over to the left a little, and then they were around me. But if I had turned fully with the stick, it would have been too far.

Rob Cary: [32:45] Yeah, because I find that moving is a little uncomfortable at first, but you get used to it. I always found that it rotating. Like if you use a stick to rotate like 45 degrees or something, that was what made me not feel good. And if I physically rotate, it's fine, but if I use the stick to virtually rotate, that's what throws me off.

Robbie Wagner: [33:05] Well, I was also sitting down, so I should probably do standing up so I can actually turn fully around.

Chuck Carpenter: [33:13] Yeah, standing is key. It's nice to have a bit of space.

Rob Cary: [33:18] Another one of my things with VR that I think needs to be looked at is most people play games to relax, and VR, I feel like it's best experienced standing, but it wears you out really quick, and it's something that you can only do for 30 or 45 minutes at a time before you're tired. And that's hard to pitch to people who would just want to relax and sit on the couch or whatever. Oh, by the way, you're going to exercise for 30 minutes now.

Chuck Carpenter: [33:42] Plus, my battery will almost die after an hour every time. So it's like you make it to an hour. My brow is sweaty. I wasn't doing too much, but I guess that thing stuck to your face. I don't know. And then the battery starting to die.

Robbie Wagner: [33:56] That was my problem with the Wii when it came out. Stuff like bowling or Wii Sports and stuff was really fun. But then normal games, there weren't a ton of them because Nintendo never has the main games and stuff. But if you had Call of Duty or something like trying to shoot and move all around and point at stuff. I want to lay back and just use a controller. That's what most people want.

Rob Cary: [34:21] I forgot there was a Call of Duty, I think, or something. For Wii. It was like, you had to point around.

Chuck Carpenter: [34:28] I forgot about that. Yeah, there's a Medal of Honor that looks very appealing to me and, like, when I watch the trailer, but it also seems, like, really hard.

Rob Cary: [34:37] I own it. I have not played it yet.

Chuck Carpenter: [34:41] The Vader Immortal games, those were also a little bit exhausting when some of those fights, and pretty fun.

Rob Cary: [34:49] But some of the things you can do on VR, you could just never do in a traditional game. Like when we were playing our happy hour, we played Pictionary, basically, where you drew in 3D space in front of you, and then everyone guessed, but like, the fact you could pick up a card, throw it away, grab another card if you didn't like the word. The drawing was 3D. Like in a traditional game, that interaction of picking up a card and then throwing it away and then grabbing another one or grabbing two cards at the same you would have to code each of those individually. And in VR, it's just you just code the interaction of I'm picking up a card, and then they throw it, and you just use the velocity of their hand for handling. So it's much more natural in that sense. There's a lot of things about VR that are just so you could never do in a traditional game that are just so nice. And I think the technology has a ton of promise. There's just fundamental issues that still are being worked on that I think need to be fixed.

Chuck Carpenter: [35:47] And as a remote company, I think that it's not even just about the interaction and gaming aspect of it. Although that was pretty fun. But Rob and I did a one-on-one in Horizon work rooms or whatever and sitting next to each other, looking at our avatars, talking about like, oh, this. Yeah, I thought that was pretty nice.

Rob Cary: [36:09] Because it's I actually really enjoyed that because you're in a physical meeting room, you're with another person's avatar, so it feels like you're in a meeting. They have a tool so you can have your computer screen in VR with you, and then I can throw my screen up on the whiteboard in front of us. Like you would share a screen in Zoom, and we can both see it. So it's interesting because it feels like a real meeting, but obviously, it's all virtual.

Robbie Wagner: [36:37] I think, for that, that really helps with zoom fatigue and stuff because you can't see yourself anymore. It's like a normal meeting, sitting there, and you wouldn't be as nauseous from something like that as moving around in the game and stuff.

Rob Cary: [36:50] Yeah, especially, I think, that one. You also include your desk. You scan in your desk, and you have your laptop, so you have physical items in the virtual world. So you're basically doing the actions you're doing in VR the same ones that you're doing in real life. I feel like there's no motion sickness issues with there at all.

Robbie Wagner: [37:11] So can you see through does it video your computer so you can type and stuff on it?

Rob Cary: [37:17] Yeah, it only supports some keyboards, but one of them was MacBook Pros. And so you do your MacBook Pro, and then the cameras on the Oculus just find the MacBook Pro on your desk, and it just puts it virtually there. And then once your hands you don't use the controllers. It's using the hand tracking. Once your hands get close to the keyboard, it turns on the pass-through view where you can see your physical hands, like through the goggles on the keyboard. So you're basically like in VR, but then as you get closer, you can see your real hands in case you're not lined up 100% or whatever.

Robbie Wagner: [37:53] That's nice.

Rob Cary: [37:54] Yeah, it is really cool. And your desk is there. You scan your desk in with the controller and stuff. So yeah, it's weird when you touch something in VR, but you physically are touching something in real life. Like, that sensation is very strange.

Robbie Wagner: [38:07] Yeah. I have a feature request for all VR platforms that you recognize, like a cup or a can of soda or something, and let me pick that up and drink it while I'm in VR. You can't find that when you're in a game.

Chuck Carpenter: [38:25] Right. Or if you were in this virtual work situation having a meeting, and during said meeting, you want to have a drink of water.

Robbie Wagner: [38:34] Yeah, true.

Rob Cary: [38:36] Hot tip. There is a setting in the Quest 2 menus that you can double-tap the side of your headset, and it activates pass-through. So that's the best of like for happy hour. I did that, and you could just tap tap, grab your drink, tap tap, you're back in VR.

Robbie Wagner: [38:52] Oh, I had no idea.

Chuck Carpenter: [38:52] Yeah, that's a pro tip right there. It's nice. I don't know what we could ever I mean, we aren't doing C# programming, so I don't know that we would ever be able to create something, some application for VR, but who knows?

Robbie Wagner: [39:10] We'll make the NFTs for it.

Chuck Carpenter: [39:12] That's right. We're going to set up the blockchain for the DeFi VR game or experience.

Robbie Wagner: [39:20] Yeah, I don't think we're far away from the Sandbox alpha and where people can build whatever they want on their land and stuff. We're not far from just never taking VR goggles off and living and working in there because you can make money or make coins from doing things in there or like viewing ads or whatever. So why would you ever take your goggles off?

Chuck Carpenter: [39:44] Are you seeing your Sandbox land?

Robbie Wagner: [39:46] I wish I did. It cost too much money.

Rob Cary: [39:48] Is it next to Snoop Dogg, though?

Robbie Wager: [39:50] Well, they did some sales, and I went on, and I didn't have enough Ethereum anyway, but all of my money was in Ethereum, and you had to have Sand. And I was like, okay, well, I don't have time to convert it to sand before it's all sold.

Rob Cary: [40:05] Did you go to the beach and grab some?

Robbie Wagner: [40:12] A big bucket of sand from the beach that's probably worth 20 grand, just like the sand is.

Rob Cary: [40:18] What's NFT? A bucket of sand and sell it as sand.

Robbie Wagner: [04:24] Okay.

Chuck Carpenter: [40:25] So I think I'm sure you can try that. You can definitely put photos of anything you want up and create an NFT. It's about, like, creating demand, though I think the difference is it's not an arbitrary JPEG. Even when it's an arbitrary JPEG, there's been a whole bunch of marketing and project support behind it that it's now created this desire and need, and then some of them give you real-world benefit.

Robbie Wagner: [40:50] We could do, like, the mass one that you have. So you have a bucket of sand, right, in real life. And every time someone buys a sand NFT, we dump a few grains of sand out, and at the bottom, there's, like, a diamond or something. Like, whoever gets the last one gets that one.

Chuck Carpenter: [41:10] Okay, I see. It would be interesting. First of all, we got to invest in a diamond.

Robbie Wagner: [41:15] Well, I mean, if everyone buys the NFTs, we could buy a country.

Chuck Carpenter: [41:22] It certainly appears that way. I don't know where all the network cash goes and stuff, but that mass project sold a lot. Was it $92 million or something?

Robbie Wagner: [41:32] Yeah, I mean, there's all these stories of like, you know, this twelve-year-old kid did some art and put it up as NFTs and made $3 million. So I'm like, okay, I need to do something different.

Chuck Carpenter: [41:47] You need the kind of time a twelve-year-old kid has. First of all, part of it.

Robbie Wagner: [41:52] Yeah. I don't know. Maybe I should just hire a twelve-year-old kid, and I'll give them 100 grand to make me millions of dollars.

Rob Cary: [42:02] Aren't twelve-year-olds watching Ninja or playing Minecraft or something? They're making NFTs nowadays.

Chuck Carpenter: [42:07] I'm sure they probably are. I mean, Adidas made NFTs, for example. Was it like Pepsi to the NFTs? I don't know.

Robbie Wagner: [42:18] Macy's Thanksgiving Parade.

Chuck Carpenter: [42:21] Yeah. Hated them too.

Rob Cary: [42:23] Were those an auction one?

Robbie Wagner: [42:25] The rare ones were auctioned, but they had like 30,000 free or something.

Robbie Wagner: [42:29] I got one of the free ones.

Rob Cary: [42:30] Yeah, because I noticed some of those brands, they do those large drops, but they're auction ones, and it's like, well, I stand no chance against somebody with a ton of money.

Chuck Carpenter: [042:40] But I'm assuming that everybody wants those things. I don't know. I mean, what's the floor price on the Macy's free ones?

Robbie Wagner: [42:47] Who knows? Because every time some big company does that, they're also like, let's put out our own NFT marketplace. So it's not like I can look it up on OpenSea or something. I don't even know what theirs are, honestly. I would have to look through my Internet history to find it because I have no recollection of what it's called.

Rob Cary: [43:08] It's probably like, Macy's dot NFT dot we're cool too dot com.

Chuck Carpenter: [43:15] Okay. Yeah. Hey, Macy's. You are cool. So, Rob, any other hobbies that you have outside of gaming, making games, doing games, working on games with us?

Rob Cary: [43:31] I'm a dad that's like, all my time outside of games and WebStorm, that's pretty much it.

Robbie Wagner: [43:37] Did you take Emmy out in the snow today?

Rob Cary: [43:39] Oh, absolutely. She loved it. We put her on her back in the snow, and she was, like, sticking her tongue out trying to catch snowflakes, and I was like, it was the cutest thing.

Chuck Carpenter: [43:49] Yeah, that's nice. It's true. As a recent dad, that basically takes up all of your sleep, all your sleep time, for sure.

Rob Cary: [43:58] But we're talking about number two, so it can't be it wasn't the end of the world.

Chuck Carpenter: [44:03] You heard it here first. I have these theories, though. For some reason, you forget, you go through it once, you get past it. And then you kind of forget, and you're like, oh, wait, you're adorable and easy now. I should do this again.

Rob Cary: [44:16] I almost wondered, do you think that might be like an evolutionary thing of blocking out this terrible experience because it's just part of your genetic code to just make more humans?

Robbie Wagner: [44:26] To procreate?

Chuck Carpenter: [44:27] Yeah, I think so. It's got to be.

Robbie Wagner: [44:32] It applies to not humans as well. We have two dogs, got them both as puppies, and puppies are terrible. Like, it's the same thing. Any baby of, like, mammal is cute, and all of us think it's cute, and then, yeah, you forget how terrible they are because they're cute. And then once you get past that phase, they're not terrible, and you're like, oh, yeah, this wasn't that bad. But yeah, it's all a scam. It is still terrible.

Rob Cary: [45:01] It's not a scam. My daughter is not a scam.

Chuck Carpenter: [45:06] But your dogs as babies, that is a scam.

Rob Cary: [45:10] Yes.

Chuck Carpenter: [45:10] Definitely. That there's been an evolution in that marketplace that has changed the positioning of pets to become part of the family, and it works. There's lots of that now.

Robbie Wagner: [45:23]True.

Chuck Carpenter: [45:24] Those are all my conspiracy theories around the pet industry, though.

Rob Cary: [45:27] No, outside of that, my wife and I watch a lot of, so we don't watch a lot of traditional TV shows, but we watch a lot of YouTube channels that are interesting. And then also we watch a lot of Twitch, which is related to gaming. But I was talking to you guys about this before, but the relation to web development with Twitch is actually they kind of go hand in hand because I don't think most people know this, but the software you use when you stream is this software called OBS, which I think stands for Open Broadcaster Software. But it basically captures your webcam. It captures whatever you're playing. But one of the things is a browser source, and so when you get a notification, someone donates money, someone follows you. Basically, what's happening is there's a web page that has WebSocket connection or something to the Twitch API. They get a notification, and then the web page displays a notification, but they're just showing that over top of their stream, and the background of the web page is transparent, so they just. But I always thought that was interesting because I feel like there's so many use cases there for ways you could integrate web stuff into live entertainment.

Chuck Carpenter: [46:36] Like a service worker.

Rob Cary: [46:38] Yes, service worker. It's mostly used for notifications, but I've always thought, like, how could you tie it into esports for statistics? How could you tie it into so every Twitch stream has a chat going at the same time, and you could basically, I know some streamers have. They grab some of the emotes being used in the chat and will show them live over top of the stream. So like, if you're watching, you don't have chat enabled, you can still like get a feel for what the consensus or chat is doing just based on what is showing up on screen because they're showing the chat emotes at the same time and stuff like that.

Chuck Carpenter: [47:17] Interesting. I wonder if you could apply like a sentiment analysis API to the chat stream and then like have some sort of rating over time. Like, where is the sentiment of the chat? What's happening?

Rob Cary: [47:29] Yeah, over the pandemic. I think it grew like 60% in 2020, and I don't think they released numbers for this year yet. But Twitch viewership, I mean, you're talking the average. It's not uncommon to see people over 50 to 100,000 people live watching concurrently for one streamer, which is insane to me as you basically have a college football stadium watching somebody playing a video game, but at the end of the day, they're an entertainer. But yeah, they're just playing a video game.

Chuck Carpenter: [47:59] I've heard of a decent amount of, like, not a lot, probably like a handful, but I'm sure many people do it live coding on Twitch. I'm going to go on Twitch and do some live coding for a couple of hours.

Robbie Wagner: [48:10] 50,000 people don't watch that.

Chuck Carpenter: [48:12] Yeah, probably a different audience thing. But I mean, there is an entire budding culture of makers, and there's a lot of demand for makers.

Rob Cary: [48:23] I mean, they do everything. They do live coding. There's people who make video games, there's people do art, there's obviously video games. But there's even stuff like past few years. There's been a couple of cases of like Twitch Place Pokemon where chat can input like they're playing like Game Boy Pokemon. Chat can input like up, down, left, right, A, B, whatever, whatever, say in 10 seconds, whatever the prevailing chat message is, that's the action that takes place in the game. And so basically, over time, like over hours and hours, twitch chat is playing the game, and they've beaten multiple games. I think they've beaten. I know they've beaten Pokemon. I want to say they've beaten, maybe, like some crazy stuff like Dark Souls and some really hard games. But yeah, it's just Twitch chat, live feed. But I mean, that's almost equivalent to over hundreds of hours. Randomness, at some point, is going to do anything. So that's almost what it comes down to. It's just a little bit of consensus because you have all these people, most of them are attempting to do the right thing, but any open platform, you're going to have people that are just trying to mess it up.

Chuck Carpenter: [49:31] Oh, yeah. That's just machine learning over time. Put in the inputs, inputs, inputs, and it takes the majority of.

Rob Cary: [49:40] I just find it interesting. It's a very growing field. That and esports is also growing extremely fast. You have people like Robert Kraft, who owns the Patriots. He owns an esports team. You have big names, investors getting into it, and it's just.

Chuck Carpenter: [49:58] I've heard of some colleges, like, spitting up esports teams.

Rob Cary: [50:01] Oh, yeah. I think they have scholarships for them now.

Robbie Wagner: [50:05] Yeah, they probably make more money than football players in some cases.

Chuck Carpenter: [50:11] The threat of injury is definitely lower.

Robbie Wagner: [50:15] No, the carpal tunnel is real.

Rob Cary: [50:17] I was going to say those wrist sprains can get really intense.

Chuck Carpenter: [50:20] For college? College kids. Come on.

Robbie Wagner: [50:26] I'm not that old, arguably, and my wrists are.

Rob Cary: [50:30] You're talking to a Master StarCraft player.

Chuck Carpenter: [50:35] Player. I don't know what that amounts to.

Rob Cary: [50:37] That's like, I think, what is the second highest level?

Robbie Wagner: [50:40] Yeah, but what it amounts to is we accidentally won. So you have placement matches. Right. And we won like most of those. So it ranked us really high, and then we weren't really that good. We've been losing more than we should now, but we got artificially ranked really high.

Rob Cary: [51:01] Did they reset the rank?

Chuck Carpenter: [51:04] So there's a sub-question there I wasn't necessarily aware of. This is a recent thing. I thought.

Robbie Wagner: [51:09] Oh, yeah, StarCraft is like a 20-year-old game, and we were playing it. You better believe it.

Chuck Carpenter: [51:15] All right, fair enough. There's still a community around that.

Robbie Wagner: [51:19] There's me and our friend Thomas and then 20 people in Korea, and there's probably a few hundred people to play fair.

Chuck Carpenter:[51:31] Okay. Those servers still running? I'm surprised.

Robbie Wagner: [51:34] Yeah, Diablo Two was running until recently. I guess they re-released. Diablo Two.

Rob Cary: [51:40] Yeah. I think there's a lot of games that are like they will be old enough that the company will shut down the servers for them, but the community will build their own server clients to continue the game running and then run it themselves. The level of dedication for video games is outrageous.

Chuck Carpenter: [51:58] Yeah. That I believe for sure.

Robbie Wagner:[52:01] Yeah. Hellgate did that a long time. I used to play that. But anyway, we're about at an hour here, and we're going really far out of the realm of what people probably care about us talking about. So thanks, everybody, for listening. And if you liked it, please subscribe, and we'll catch you next time.

Chuck Carpenter: [52:22] Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you by Ship Shape and produced by Podcast Royale. If you like this episode, consider sharing it with a friend or two and leave us a rating, maybe a review, as long as it's good.

Robbie Wagner: [52:37] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at shipshape.io.