Episode 91 - May 16, 2022

Inside the Mind of a Side-Project Creative with Jacob Schatz

00:00 / 00:00


Support us on Kofi!

Today we welcome our friend Jacob Schatz to the show to have an informative and hilarious conversation about his work and how Vue fits into the different projects he is busy with. Jacob is currently the Head of Automation at Remote and has a lot of experience working with JavaScript and Vue. In our conversation, we get to hear from Jacob about the lessons he has learned in these, and other, languages, and how he approaches making decisions about which language to use for a specific task. We also speak about his conference appearances, his home, color representation in games, and the most recent game that Jacob has been developing. Our guest admits that he has an urge to learn and try out all coding languages and keep broadening his horizons; he also touches on his recent efforts to learn Chinese. Stay tuned for this week's extended picks section, where we talk about our favorite TV shows, cleaning products, and interior decorating hacks!

Key Points From This Episode:

  • An introduction to Jacob, his current position, and his goal of learning Chinese! 
  • A couple of self-help book recommendations from Jacob. 
  • Jacob unpacks his perspective on side projects and why he likes to use Vue. 
  • Some thoughts on humor at conferences and some of the longest jokes we know.
  • A walk-through of Jacob's house and some of the remodeling he has been busy with. 
  • The game that Jacob was working on recently as a means to explore the possibilities of Vue.js.  
  • Color representation in games and exploring the importance of true and accurate colors.  
  • Jacob's interest in learning and trying out all languages!  
  • Thoughts on breaking up projects into separate components and using different languages for each part.  
  • Examples of some popular devices and the languages that they use.  
  • Jacob shares how he approaches his current work at Remote and the languages he uses.  
  • Thoughts on when Vue is the right or wrong option to get something up and running.
  • Where to find Jacob online and his funny story about his email address!
  • This week's picks; Marvel TV shows, earplugs, comic series, drain cleaner, and more.
  • Jacob shares the inside scoop on his headphone choices.


“I've been writing Vue forever. I think the reason I chose it is just because at this point, it's boring and it's easy and I have all the problems solved already.” — @jakecodes [0:05:47]

“If you had a choice between a lawnmower, React, Vue, Svelt, and an electric skateboard, choose Vue.js.” — @jakecodes [0:36:03]

“I want to learn all the programming languages, even if it's like, nobody uses them. It's like talking to a bunch of different people.” — @jakecodes [0:47:24]

“If you're going to build a game from scratch and you can always do whatever the hell you want, you can just technically put something in C++ and then have something in Vue.” — @jakecodes [0:54:44]

Links Mentioned in Today’s Episode:

This Week's Picks




[00:00:10] AC: Hey, everybody, and welcome to Enjoy the Vue. I'm Ari. Today on our panel, we have Alex.

[00:00:17] AR: Hello.

[00:00:19] AC: And Tessa.

[00:00:21] T: Hello.

[00:00:23] AC: Today, our special guest is Jacob Schatz.

[00:00:28] JS: Hi. Do you want me to introduce myself?

[00:00:34] AC: Yes. Would you like to introduce yourself?

[00:00:36] JS: Sure. I'm Jacob Schatz. I'm Head of Automation at remote.com. I'm a longtime JavaScript and Vue.JS developer. That's pretty much it. There's not much else to know.

[00:00:59] AR: Fun.

[00:01:00] T: That's all you are. Your work life.

[00:01:02] JS: Yeah, I am work life. Okay, so for fun, I don't know. For fun, oh, you know what? I'm learning Chinese right now. Yeah. I'm learning Chinese right now. If anybody out there is a native Chinese speaker and you'd like to have a horrible conversation, a really limited conversation, then hit me up on Twitter. My Twitter handle is @angelhugseven@hotmail.com. With a Z.

[00:01:40] T: The one Siri, how to win friends in Chinese, you'll be invincible.

[00:01:45] JS: That's right. I've read the – there's a book, How to Win Friends and Influence People. It was written in, I think, the '30s, 1930s. It's really old and there's a bunch of parts of it that are maybe a little outdated, but there's a lot of it that's actually really good. It's How to Win Friends and Influence People. It's by Dale Carnegie. He also has another one called How to Stop Worrying and Start Living, which is I think that one's even better, but not as many people have heard of that one. Go read that book.

[00:02:19] T: Living?

[00:02:20] JS: I’ve stopped worrying and I started living. That's absolutely – that's what I've done. That's where I am. That's who I am.

[00:02:28] T: I feel like, I've definitely seen a book by that title, but by someone else. I didn't realize that Dale Carnegie also wrote a book like that.

[00:02:35] JS: Yeah. Those are his two big ones. How to Win Friends and Influence People, How to Stop Worrying. It's hard to say. How to Stop Worrying and Start Living. I'm sure there's other books that have similar titles to that. There's a lot of self-help books. But it's less of a self-help book and more of a specific instructions. Is that what a self-help book is? It’s specific instructions on how to.

[00:03:00] T: It depends on the book, I feel like. Some are specific instructions. Some are just a lot of anecdotes.

[00:03:06] JS: Yeah. This is the first self-help book, so it's not really a self-help book. Everything else copied it. I just don't want to admit that I'm reading self-help books in my free time.

[00:03:16] T: Feels like you’re an alien from outer space and you’re reading like, how to be a human being. You're like, “Okay. I got this.”

[00:03:22] JS: Right. Well then, what you do is like in the book, it says, make sure that you don't ask if the conversation is okay or not, because that tips them off that you're not actually human.

[00:03:36] T: Good to know. Writing that down.

[00:03:38] AR: That is how we don't reveal the lizard underneath this human skin. Got it. Got it. Okay.

[00:03:47] JS: The whole time, I'm just thinking like, “Keep smiling. Keep smiling. Okay, now ask more questions.” It’s because I have a multiprocessor. I have a multi-threaded processor, which is different than humans who are only –

[00:04:00] AC: Oh, I'm so jealous.

[00:04:02] JS: Yeah. You're only single-threaded and you really only do one thing at a time.

[00:04:06] AC: Yeah, I'm very single-threaded.

[00:04:08] T: You’re JavaScript as a person.

[00:04:10] JS: Yeah.

[00:04:12] AR: You got those brain workers for multi-threading.

[00:04:18] JS: Yeah, I'd like to, I don't know. I'm very busy. I'm trying to think of what I'm actually doing. I can't even remember what I did yesterday. Yeah, I like to learn Chinese. I like to ride my bike. I'm like a five-year-old kid. That's really what I am. I'm just like a child at heart.

[00:04:39] AC: We've heard rumors that you like to use Vue in side projects. Now, first of all, what is a side project?

[00:04:48] JS: That's the other thing I like to do. I've got so many side projects started. Yeah, each one – when you start a side project, you're like, “This is it. This is going to be the one. This is where I'm going to be successful. I'm going to release it.” Yeah. Recently, I started making a game and all these different things. I tried making a game in Vue.js. You know what Vue.js is really good for when talking about games? Vue.js is really good for the UX of the game, because you can essentially make the game and have the game send out events and then Vue.js can respond appropriately and display all the stuff very easily. If you're going to make a game in JavaScript, if you're if you're willing to do that thing, then Vue.js is really good for that.

Yeah. I mean, I've been writing Vue forever. I think, the reason I chose it is just because it's – at this point, it's boring and it's easy and it just – I have all the problems solved already. 

[00:06:02] AC: Even with the composition API, or scripts? I’m sorry.

[00:06:08] JS: Here's the thing. I have not even slightly looked at Vue 3 at all. I haven't looked at it for one second. Not even –

[00:06:15] AC: You’re in great company.

[00:06:19] JS: Wait. Are you all – Where do you all stay on that?

[00:06:24] AC: I haven't actually touched Vue 3 personally.

[00:06:28] JS: We know what it is. It’s like, when you've already solve the problems and you're like, “I don't know. Is this going to solve more problems for me? Or is this another thing to learn?” I'm sure it's fantastic. I'm really interested in the composition API. I think I know what it is. I'm very excited about all of it. I just haven't had the time to look at it test. Tessa, have you looked at it yet?

[00:07:01] T: I mean, I looked at it last year when I needed to try out the new portal implementation for a talk I was giving at the Vue Toronto, which is how we met.

[00:07:13] JS: Oh, yeah. That's right. Your talk was amazing at Vue Toronto. The lightning talk that you did at Vue Toronto. I forget what it was called, though. It had a really interesting name.

[00:07:24] T: It definitely had trash brain somewhere in it, I think. No, did it?

[00:07:26] JS: Trash brain. That's right. Yeah, yeah, yeah. Trash brain was one of the things for sure. Yeah.

[00:07:35] T: Thank you. Yeah. I was really stressed out because my laptop would not connect to the projector system. You vamped with a lot of jokes.

[00:07:44] JS: Yes. Yes. Well, so the thing was, is that I had – I love the groaner jokes, the jokes that everybody is like, “Oh, come on.” FFS. I had this 14-minute-long joke prepared that if all else failed, I had 14 minutes I could cover with this really long joke that doesn't have a punch until the very, very end. It's one of these jokes, for the whole time, you're just like, “Oh, my gosh. Can you please –” I think, I told the joke at Vue.js Toronto, didn’t I?

[00:08:28] T: You told one joke. Then afterwards – For our listeners who don't know the context, Jacob was emceeing and I was supposed to give this lightning talk and they said it was 7 minutes, but I knew my slides were going to be 30 minutes, so I cut it down to 7 minutes, but I couldn't get the updated slides to the presenter laptop over the hotel Wi-Fi. I ended up trying to squish my 30-minute slide show into 7 minutes.

Anyway, you did tell a joke there, but I think it was a three or four-minute-long joke. Then afterwards, you told me to read the snake joke. For an hour in my hotel room last night, I was going through –

[00:09:03] JS: Did you really read it?

[00:09:04] T: I read the whole thing.

[00:09:06] JS: I think it's called – it's not called Jake the Snake. You remember what it’s called?

[00:09:11] T: Nate the Snake?

[00:09:12] JS: Nate the Snake.

[00:09:13] T: I always remember it as Jake the Snake, but it's not Jake.

[00:09:15] JS: Right, because that's the wrestler, Jake the Snake. That's the '80s, wrestler, '90s wrestler, Jake the Snake. Nate the Snake. If you go to natethesnake.com, which is like, it's the best thing ever. We're not talking high-tech JavaScript here. We're talking a big blob of text on a single page. It is probably the longest joke in existence.

[00:09:43] T: There’s an audiobook version now.

[00:09:45] JS: Is it really?

[00:09:46] T: Yeah.

[00:09:47] JS: That's amazing.

[00:09:49] T: I think it's at the top of the page.

[00:09:51] JS: Is there? I want to go there. My mic is attached to my laptop. If I start looking it up, it's going to be like, “Click, click, click, click, click.” No, but Nate the Snake is amazing. I've always wanted to memorize Nate the Snake. It's so long, you keep scrolling, you're like, “Oh, wow. It does keep going.” Read the whole thing after this. Ari, read the whole thing after this in its entirety. It's going to take you several hours.

[00:10:21] AC: Oh, my God. This is long.

[00:10:22] JS: Don't read the end, though. Don't read the end right now, because it's –

[00:10:26] T: The joke is longer every time –

[00:10:28] AC: It’s too late.

[00:10:29] JS: Did you really just –

[00:10:30] AC: I read the pun.

[00:10:30] JS: No, you didn’t. No.

[00:10:32] T: No. Ari. Well, it was really nice having you on the show.

[00:10:37] JS: No. Did you really read the pun?

[00:10:39] AC: Yes.

[00:10:40] JS: No.

[00:10:41] AR: I did, too.

[00:10:42] JS: No.

[00:10:43] T: You’re both awful.

[00:10:44] AC: Like, without any context, I’m like, “Okay.” That's obviously a pun, but –

[00:10:50] JS: Wait. Don’t say it.

[00:10:52] AC: I’m not going to. I’m not going to ruin it for others.

[00:10:57] JS: For everybody else, don't scroll to the end and read the pun. Just go read the joke.

[00:11:01] T: It won’t be worth it if you scroll to the end.

[00:11:03] JS: Yeah. It might still be worth it. You should do it anyway. By the time you get to the end, you'll be like, “What was the –” Anyway, you know what? Read the whole thing anyway, because you're not even going to have context, until at least four or five hours in.

[00:11:17] T: Yeah, it takes you on a journey. Every time you read, it gets longer.

[00:11:22] JS: Yeah, that's right.

[00:11:24] AC: It’s like a [inaudible 00:11:25].

[00:11:25] JS: Tessa said, she was going to memorize it and deliver it on the next podcast. 

[00:11:32] T: Yeah. That's definitely a thing that I said. Yeah. I love jokes like that. I remember, once I saw Jo Firestone talk for 20 minutes about how she was eating falafel in a restaurant by herself. It's really depressing, because – not because she's eating alone, but the restaurant has these pillars with mirrors on them, so she had to watch herself eating alone, and that was the really depressing part. Then after 20 minutes of this meandering like, “So I was really depressed.” She was like, “Do you like that joke?” The audience was like, “Yeah.” She was like, “Really? Because I falafel.” I was like, “Oh, this is great.”

[00:12:17] AC: Definitely seems like a Tessa joke.

[00:12:19] JS: Oh, my God.

[00:12:21] T: I think, also, maybe at that same show, or maybe it was a previous year, this was really, really early on in Trump's presidency. Jon Glazer told this really long joke about how he thought maybe he could have stopped him from becoming president, because he was watching the hockey game with his good friend Will Arnett, not to brag. They had box seats next to Trump, and Trump walks by with a soft serve. He had this whole story about how he could have pushed the soft serve into Trump, and then his suit would have been ruined and maybe he would have put out a hit Jon Glazer, but then that wouldn't have gotten him the presidency. But what if that clinched the presidency?

He was talking about like, what if he was murdered for pushing the soft serve and became an American hero? Then, his kids will just be on the playground and people would recognize them and be like, “Wait. Was that your father?” They are just standing there with tears in their eyes like, “Yes.” As he was thinking about this whole made-up, ridiculous story that would never happen, he literally started crying, because he felt bad for his kids for mourning him, for being murdered for stopping the presidency by pushing a soft-serve into Trump at a hockey game.

[00:13:25] JS: Oh, my God. That's amazing.

[00:13:28] T: It was a 45-minute joke. It was great.

[00:13:31] JS: That sounds incredible.

[00:13:36] AR: What is this podcast about again? Sorry, I forgot.

[00:13:39] JS: Vue.js.

[00:13:40] AR: Right. Yes.

[00:13:42] T: That's the feeling you'll have when you read Nate the Snake.

[00:13:44] JS: Yeah. I felt that. There's Nate the Snake, and then there's – there's another one. No, but the joke that I told, I think I made it lasts maybe 7 minutes, which is still pretty good.

[00:14:05] T: Yeah. I remember you had to tell it to me afterwards because my brain was just out the window.

[00:14:09] JS: Right. Right.

[00:14:10] AC: Josh Brain.

[00:14:11] JS: I tried to think about it later on, and I couldn't remember it. I tried to think of it recently. I had to tell it again when I remember it. I don't even remember. I think, I read it in one of these Reddit joke threads, what's your best joke sort of thing? Those are always amazing.

[00:14:30] T: Yeah. I'll have to check it out.

[00:14:32] JS: If you're ever going to emcee a Vue.js conference, I highly suggest that you go on to Reddit and find the joke threads. Specifically, what's your best clean joke?

[00:14:42] T: I'm pretty sure Ben emcees every Vue.js conference now, so we'll just send him the link.

[00:14:48] JS: Oh, is that what happens now?

[00:14:50] T: I think so.

[00:14:53] AC: My brain hasn't been able to retain a joke since I was six years old. I have one joke and it's really terrible, especially when you know that it was told to me when I was six.

[00:15:04] T: Let's hear it.

[00:15:05] AC: It's also a joke that I feel most people aren't going to get because it's very generational.

[00:15:11] JS: What? Okay.

[00:15:12] AC: What kind of wood doesn’t float?

[00:15:17] JS: Go on.

[00:15:19] AC: Natalie Wood. Oh, gosh. That's horrible.

[00:15:23] AC: Yeah, it’s pretty terrible.

[00:15:23] JS: It's okay for a six-year-old with the rough jokes. Yeah. It's so generational that Tessa didn't get it.

[00:15:33] T: Yeah. I did not get it.

[00:15:35] AC: It didn’t look like Alex got it either.

[00:15:37] T: Maybe he's just offended by the joke.

[00:15:40] JS: Yeah. I have a friend. I have one friend. I have a friend who he sent. He always sends me dad jokes. Yesterday, he sent me – He said, “You know, I wanted to get an electric fence, but my neighbor is dead against it.”

[00:16:05] T: Oh, no.

[00:16:06] AC: Oh, my God.

[00:16:08] T: Well, it doesn't make sense. How could you be dead against it if he didn't get the fence yet?

[00:16:15] AC: Stop overthinking it, Tessa. Just –

[00:16:17] T: [Inaudible 00:16:17].

[00:16:18] AC: Let the joke go through you.

[00:16:20] JS: Wait. How should I deliver it, Tessa, if I was going to deliver it again?

[00:16:23] T: Oh, I don't know.

[00:16:24] JS: What's a better delivery for that joke, knowing the pun now?

[00:16:30] T: Maybe he decided to get rid of his fence because it's too dangerous.

[00:16:36] JS: I had an electric fence. I had to get rid of it because my neighbor was dead against it.

[00:16:40] T: I wanted to get rid of it, because it's dangerous, but my neighbor was dead against it.

[00:16:46] JS: I like that.

[00:16:47] T: There's some irony there.

[00:16:48] JS: I like that. I feel like, you could turn this one also, into a seven-minute joke.

[00:16:51] T: You could turn anything into a seven-minute joke, if you believe.

[00:16:55] JS: If you just believe in yourself.

[00:16:57] T: Yeah.

[00:17:01] JS: Yeah. I can't remember any of the other jokes either.

[00:17:04] AR: See, the only good example that I can pull off of my head of a good joke that I have is the – is actually more of a real-life, real-world, multi-million-dollar pun.

[00:17:19] AC: Wait. How does a pun make that much money?

[00:17:21] T: Yeah. Why aren't you sharing it with us? That's honestly really rude.

[00:17:25] AC: Yeah.

[00:17:27] AR: Well, I'll explain it to you. Here in Atlanta, for many, many years, we have now had an aquarium. When the aquarium was being built, it was largely funded by the owners of Home Depot. There was lots of marketing and people putting in various things for it and trying to figure out what they're going to do. They were pitching ideas for different mascots and like, well, we wanted to be fish because it's an aquarium. We need to have something that's very fish-like. At that point, there was the big movie that had just come out recently was Finding Nemo. Clownfishes were all the rage, right? Everybody loved clownfishes, because of Nemo. They were like, “Okay, cool. We're going to have a mascot that's a clownfish because they're very popular.” They created this whole thing. Clownfishes, they live underwater, so it's deep under the water. They're going to name their clownfish Depot.

[00:18:35] T: No, no.

[00:18:37] AC: Oh, my God.

[00:18:38] AR: The mascot of the aquarium is an orange clownfish, because it is the Home of Depot.

[00:18:48] AC: Oh, my God.

[00:18:49] JS: Wow. Pause for effect.

[00:18:55] AR: Yeah, it's a multi-million-dollar pun.

[00:18:59] JS: It is a multi-million-dollar pun.

[00:19:01] AC: Oddly enough, I have a friend who's a trainer at the Atlanta Aquarium, which it seems like such a cool job.

[00:19:08] JS: I thought you're going to say at a Home Depot.

[00:19:09] T: Yeah. That’s what I thought, too. If they say Home Depot.

[00:19:17] AC: That's way less interesting. No offense to anyone who works at Home Depot.

[00:19:22] JS: I think that Home Depot is one of my favorite stores. I recently bought a lawnmower at Home Depot. I got one of those riding lawn mowers. That's another thing I do in my free time is I ride the lawnmower around the grass.

[00:19:42] T: I feel like, you need to have really good ear protection to do that, no? Like, you got to get your earmuffs out.

[00:19:48] JS: I do. Actually, hold on. I got to show you. Speaking of headphones, I got Bluetooth wireless Worker’s headphones.

[00:19:59] T: How's the sound quality on those?

[00:20:00] JS: Hold on. Wait.

[00:20:02] T: Oh, we're going on a journey.

[00:20:03] JS: Six out of ten. You don't buy them for the sound quality. You know what I mean? You buy them for the – Hold on. We're going to walk around the house and try to find these headphones so I can show it to you.

[00:20:13] AC: For our listeners.

[00:20:13] JS: So that everybody who's listening –

[00:20:14] AC: We’re being taken on a journey.

[00:20:15] JS: - cannot see them. We're currently walking through my house, so we can find those headphones.

[00:20:21] T: This is the most [inaudible 00:20:21] of your house.

[00:20:22] JS: Oh, it's a great house. It's –

[00:20:24] AC: The walking. So apparently, a large house.

[00:20:27] AR: We're really enjoying the view of your house.

[00:20:29] T: Oh, my God. Alex. Get out.

[00:20:32] JS: Enjoy the view of my house.

[00:20:34] AC: See, we bought it back. Yeah, yeah.

[00:20:36] JS: I just moved here in October, and this is the house that I grew up in, and I bought it for my parents. I've been fixing all these different things up, especially, I just put in a wood floor downstairs. It's very exciting. I don't know where those headphones went, though, but now you got a tour of my house.

[00:20:57] T: Now you can't write the [inaudible 00:20:58] anymore.

[00:21:01] JS: You know what I think? I have a shed, and I think the earphones are in the shed, probably on the lawnmower.

[00:21:11] T: Is your house shaped like a donut? I feel like you went a smooth path but then went back. What?

[00:21:18] JS: Well, so you can go out here and then – For those flying without the visuals at home, there's an entrance to my left and there's an entrance to my right, to this room. This side goes to a bedroom, and then this side goes to the living room. Check out the living room, though.

[00:21:39] T: It's like the ship in 2001.

[00:21:41] AR: It’s great audio content here. Oh, my gosh. That's amazing.

[00:21:46] JS: Isn't this nice?

[00:21:47] T: There's a lot of natural lighting.

[00:21:48] JS: Yeah.

[00:21:49] AR: Yeah. It’s super open and really big.

[00:21:53] T: Almost it's like, there are some god rays coming through the staircase.

[00:21:55] AR: Yeah. Then all the rococo details of the gold inlay that's going all over the place. It's amazing.

[00:22:05] T: I think the clown in the corner is not a great touch, though.

[00:22:07] JS: Oh, the clown in the corner. Yeah.

[00:22:09] T: Yeah. Hiding in the fireplace right there.

[00:22:11] AC: Yeah. I could do without that.

[00:22:13] AR: Yeah. It makes the room too asymmetrical. You really need more clowns to even it out.

[00:22:18] AC: Yeah. Do. 

[00:22:19] JS: I've been trying to get rid of the clown in the corner for years, but every time I go over to him, he's like, “Haaa.” He doesn’t want me to get rid of him. He lives here rent-free. Yeah, but I can't find those headphones right now. I actually got them at Home Depot. I was checking out getting the lawnmower, and I was like, “I bet you, you know what I need is some lawnmower headphones,” and they have these. To go pick up a pair of wireless Bluetooth lawnmower headphones at your local Home Depot and then –

[00:22:58] T: I have three or four different pairs of earmuffs because I used to work in an office that was also a construction site. They’re great. There's a portable pair. Yeah.

[00:23:06] JS: I've seen your earmuffs. I have seen your earmuffs because you wear them –

[00:23:11] T: I don't know if you've seen that, but we've definitely talked about them. My favorite one is a super slim portable pair that's made for going to the shooting range, but they're – Yeah, they're not tight on the head.

[00:23:21] AC: As one does.

[00:23:22] JS: Wait. You go to shooting ranges a lot?

[00:23:24] T: No. I got them because you also need really good hearing protection to go to a shooting range. That's what most of the head – the earmuffs are marketed towards.

[00:23:31] JS: Well, see, but that would be like, if I said to you, I got these headphones. They're made for riding lawnmowers and you say, “Oh, you have a lawnmower?” I'd say, “No, I don't have a lawnmower.”

[00:23:41] T: That's true. I mean, that makes sense to me.

[00:23:46] JS: Why did you get the shooting range –

[00:23:48] T: Earmuffs?

[00:23:49] JS: Earphones, headphones, earmuffs?

[00:23:52] T: Yeah, because I didn't get the ones – headphones built in, because that was more expensive, so I would just wear them over earbuds. Yeah.

[00:24:00] JS: Okay.

[00:24:01] T: Yeah, because I worked in a construction site and it was really loud all the time. Also, my boss likes to bring construction workers into the office and then yell at them in front of everybody. Yeah.

[00:24:11] JS: Wow. You got yourself like, “I don't want to hear that crap sort of earmuffs.”

[00:24:19] T: Well, I mean, I was just retouching stuff all day, so I was like, “I don't want to lose my hearing.” Then I realized after that, not having to hear the train and stuff all the time is really nice.

[00:24:28] JS: Oh, yeah. I can imagine. Wait, were in a developer – were you doing development for this – Were you writing code on a construction site?

[00:24:39] T: I mean, technically, I went there to do social media, but I've been using Photoshop for a while and they needed retouching. They need a copy of it, so that's what I really ended up doing.

[00:24:52] JS: That's interesting because I was thinking it would be – it sounds like, you had plenty of social media, like people yelling at each other. Just probably not the stuff that they wanted to post. You could take pictures of people yelling at each other and you'd be like, “This is Bob. He's yelling at Jack.”

[00:25:08] T: Yeah. I need to send them that Stop Worrying book.

[00:25:12] JS: The How to Stop Worrying and Start Living. Yeah. Should be how to stop arguing with people and start wearing earmuffs. I'm going to write that book.

[00:25:23] T: Nice.

[00:25:25] JS: Ari. We can't hear you.

[00:25:27] AC: I don't think I said anything.

[00:25:29] JS: Oh, okay. That's good. I was going to say no, we need the laugh track. It's like, people can't –

[00:25:34] AC: Oh, yeah. No, I’m mute when I'm not talking.

[00:25:39] JS: If you're going to laugh, you got to laugh out loud. Otherwise, it's painful, because then it's like, I'm getting a real laugh, but then the people, they just hear complete silence.

[00:25:49] AC: Oh, but the best part is, it is actually silent. I will unmute if I'm laughing out loud.

[00:25:56] JS: Oh, you were laughing silently.

[00:25:58] AC: Yeah.

[00:25:59] JS: Oh. Oh, my gosh.

[00:26:00] AC: I actually do last silently sometimes, which is ironic, considering how loud my laugh actually is.

[00:26:06] JS: For this podcast, you got to get yourself a laughing guy, or a laughing girl, or a laughing person.

[00:26:14] AC: Like Chanel West Coast.

[00:26:16] JS: Because you need someone that's – you need somebody that's got a cackle.

[00:26:22] AR: We all need to invest in some nitrous and then we can have laughing gas right before, and then we'll just –

[00:26:28] AC: It has no effect on me. It's really disappointing. I know.

[00:26:31] JS: Nitrous?

[00:26:33] AC: Yeah.

[00:26:33] AR: Nitrous oxide. Yeah.

[00:26:36] JS: You've tried this before?

[00:26:37] AC: Yeah. No, when I was a kid.

[00:26:38] JS: Obviously.

[00:26:40] AC: Dental procedures. They would –

[00:26:41] JS: Oh.

[00:26:42] T: Oh, I was given the option and I turned it down.

[00:26:45] AC: Well, I was seven. They're just like, “Here, we're going to put this.”

[00:26:49] JS: Well, what are your other options?

[00:26:50] T: They were like, “It'll just calm you down before you get the shot.” I was like, “I don't need to be calmed down. I'm fine.”

[00:26:56] JS: I'm fine. Do you need nitrous oxide? “No, I'm fine.”

[00:27:00] T: I was like, “Can I watch the procedure?” They were like, “If you want.”

[00:27:04] JS: Oh, that's amazing. That's a great idea.

[00:27:07] AC: Well, then I could see the reflection. I was at an endodontist, so they have fancy stuff, but I could totally see the reflection in the microscope lens. It was so fascinating. I could not stop watching.

[00:27:21] JS: Ari, I was going to say that you should just – you know how people have carbon monoxide leaks in their house? You should check that you don't have a nitrous oxide leak in your house, because if nitrous oxide doesn't have an effect on you, maybe it's because you're constantly exposed to nitrous oxide. Then if you got rid of the leak, who knows –

[00:27:39] AC: How much more productive I could be.

[00:27:42] JS: How you'd be feeling.

[00:27:43] T: How loud your laugh would be, really?

[00:27:46] AC: Maybe that's my problem.

[00:27:48] JS: I'm not saying you have a problem. I'm just saying –

[00:27:50] AC: I’m saying I have a problem.

[00:27:51] JS: Well, I am. I'm saying, you possibly have a home repair problem, not a personal problem. There's another silent night.

[00:28:01] AC: I mean, this apartment is really old. There's definitely –

[00:28:04] JS: Is it?

[00:28:05] AC: Yeah. There's definitely lead paint in the wall. It was one of those where they had to give me the pamphlet bylaw when I moved in about the dangers of lead paint.

[00:28:15] JS: You know what I found out about lead paint, which is really interesting, is that I found out that the reason I think how to warn people is because lead paint tastes really good. If you eat it, and I didn't find this out from personal experience. I was just like, “Why are they warning people about lead paint? Who's going around eating the paint?” You know what I mean? It turns out that when it chips off, kids would just put it in their mouth and lead paint is sweet. It tastes like candy. That's why they had to – You had a whole generation of kids that were just like –

[00:28:48] AR: Mm, lead paint. Yeah.

[00:28:49] JS: - eating paint chips. Yeah. That's why they have to warn people, because lead paint is delicious.

[00:28:56] T: Makes sense.

[00:28:57] JS: Apparently. Never tried it myself.

[00:29:00] AC: Who wants to try it? No.

[00:29:02] T: Well, now, everybody does. I’m kidding.

[00:29:07] JS: Right. Recommendations from this podcast are, see what the effects of nitrous oxide are on you.

[00:29:12] AC: And the lead paint.

[00:29:13] JS: And try lead paint and get those headphones from Home Depot.

[00:29:17] AR: Do we have a legal team yet? I feel like, we're going to need a legal team after this episode, or something.

[00:29:22] T: You asking for a legal team is something I never thought I would hear.

[00:29:27] AC: Disclaimer. Do not eat lead paint.

[00:29:30] JS: Do not actually take his advice. If you do, let me know how it tastes.

[00:29:41] T: I do feel like, the experience of going to Home Depot, I feel like, is a lot trying a new tech tool, because I'll go there and I'll be like, “Wow, there are so many possibilities, but I don't know how to use anything here.” Then depending on who's working there that day, I might try to ask them for help, but really, I need to just Google it myself and suffer.

[00:30:08] JS: Home Depot has all these videos on how to do the individual projects. I went to go install a wood floor downstairs because this is my, this is the house I grew up in, so my parents did all sorts of stuff, and now I'm fixing all these things. It’s like, you find out later, you're like, “Oh, that's what you did.” One thing was we never had a radon mitigation system, which is like, if you ever do homeownership, then you start to learn about radon. When you're a renter, you never learn about radon.

[00:30:38] T: The stuff that comes out of rocks.

[00:30:39] JS: I was like, there's no radon mitigation system. I don't see anything. I bought a radon detector. It turns out that the radon in this house was five times the legal limit, which is the reason is because cancer – so you don't cancer. I got that installed. They have, well, now I have a sunroom. The sunroom was leaking like crazy. It was just leaking. Nobody ever knew it was leaking, because it was carpet. It was one of those multicolored carpets.

[00:31:14] T: Oh, no. Jacob.

[00:31:16] JS: You don't know if it's stained or not. I pulled up the carpets and it was like, “Oh, my gosh. It was amazing.” I fixed the leak. I installed a new hardwood floor. I mean, it's a whole another type of development. It's home development.

[00:31:32] AR: It is a lot like computer programing development though, because we are basement flooded. We've pulling apart the entire basement and going like, “They did what?” We had an entire wall just built –

[00:31:47] AC: The legacy codebase.

[00:31:48] JS: Yeah. Right. It is.

[00:31:49] AR: Yeah, yeah, yeah. We had an entire wall that was built out of random scraps of wood, where they were like, “Oh, wow.” They have five pieces here that'll just fit together. Yeah, sure. Why not? We went, “Oh. Oh. Okay. Wow. Cool?”

[00:32:14] AC: Home renovations are refactoring, is what I'm hearing?

[00:32:17] JS: You know what they are? They're like refact. Well, you know, what's so interesting about it, because I've thought about this a lot recently, I recently started getting into trying to do electronics.

[00:32:30] T: Like hardware?

[00:32:31] JS: Soldering and all that stuff. I started building all these electric skateboards and electric scooters and stuff like that. My goal was, I wanted to make an electric scooter that could go 70 miles an hour –

[00:32:47] AC: That’s unsafe.

[00:32:49] JS: And could have a 90-mile range. I could just be on the highway on this little tiny little scooter that's going straight down the highway. Anyway, I got, I built one that can go 60 miles an hour.

[00:33:04] AC:  So close.

[00:33:04] JS: I built a skateboard that can go 60 miles an hour. I put offroad tires on it and everything. I got the thing up to 50 miles an hour, I thought I was going to die. The thing that was so interesting about this stuff, versus programming, is that the stuff you're doing is like, what's the word for it? I was going to say expendable. I don't know if that's the right word for it. It's like, if you mess up, it costs you money. In software development, the great thing is you can keep pressing retry and it's not like you have broken something. It's not like you set something on fire. With electronics, you're constantly –

[00:33:42] AC: I mean, that assumes you find the problem with your software before shipping it.

[00:33:46] JS: Right. That's a different type of money problem. Potentially much larger Yeah, exactly. Yeah. That's exactly what it is, though. It's electronics. You go to do that stuff. It costs money when you break stuff. Whenever you buy parts, when you go to do a project, you always buy three of them, because you know you're going to fry two of them. Software development, similar – I'm sure there's a similar metaphor for that.

[00:34:16] T: I feel like, the real question is why make a scooter that goes 70 miles per hour when you could have a lawnmower that goes 70 miles per hour?

[00:34:28] JS: Right. My friend said, why have a scooter that goes 70 miles an hour when you could have a car, because that goes 70 miles an hour. You've essentially made a car at that point.

[00:34:38] AC: Nah. Lawnmower.

[00:34:39] JS: At a certain point, you bridge the gap, you've made a car. It's just a dumb car. It's not a very good car. Decades and decades of, whoa.

[00:34:52] AC: Wow.

[00:34:56] T: I just added that for you.

[00:34:58] JS: Who is that? Okay. That was you, Tessa. I thought something caught on fire and people were screaming.

[00:35:06] T: It's supposedly sitcom laughter.

[00:35:08] AC: I thought people were dying.

[00:35:10] JS: Yeah. That's a once in an episode sitcom laughter. Anyway, electric vehicles. That's why I think about that. Ari is laughing, in case you can't see it. 

[00:35:34] AC: Okay. This has been quite the wild ride, on a 70-mile-an-hour scooter.

[00:35:41] JS: I mean, speaking of Vue.js.

[00:35:45] T: Yeah, that's definitely what we were speaking of.

[00:35:48] AC: At some point.

[00:35:52] JS: Yeah. That's why I would choose Vue for your next side project. If you had a choice between a lawnmower, React, Vue, Svelt, and an electric skateboard, choose Vue.js.

[00:36:11] T: I do feel like, you do build a lot of things in Vue though. You were working on that bitmap font thing for a while. So the idea was there, but you were trying to do something with fonts and Vue, right?

[00:36:24] JS: Yeah. I recently started making a game. I was doing some research and trying to figure out, what's the best way to make a game? Now, obviously, you can go write a game in C++ and you can write a game in Unity and all that stuff. I was just curious, can you get anywhere near the performance with Canvas and Vue? What is you actually doing on a frame-by-frame basis that would make the thing particularly slow, or that sort of thing?

I wound up, I wound up making a wrapper inside C++ to contain – I wanted to write the UX of the game in Vue.js, and have the game be in C++, because a glutton for punishment or something. I wound up doing that. I just ran across these really crazy bitmap problems, where the glyphs – because I was trying to load a bitmap font, but through C++ into JavaScript, it was really messed up. It got all wonked out. Sometimes you're doing development where you're like, “I don't know if this is possible or not, so I don't know if I'm doing anything wrong necessarily.” Rather than it just being not actually possible. It actually did work. I have that game.

I'm planning on actually releasing it at some point. It's a full 2D platformer, and the whole point of it is that, it's like Mario, just like Mario, nice platformer. In fact, I decompiled the source code to Super Mario Brothers World, and I found the jump sequence in there. I was, because I want that jump sequence. It's such a good jump sequence. I found the jump sequence inside the assembly code. I learned how to read the assembly code. That's the first thing I had to do, because I needed to read the assembly code for Super Mario Brothers and Super Mario World, because that was written in the assembly.

It wasn't written in C. Wasn't written in anything like that. I read the source code of that. I found the jump physics in the code and then I ported it over to C++. Then, all of the graphics and everything, I ported it over to Vue.js. Now, the cool thing about that is that Mario used hexadecimals, instead of decimals for counting things. If you ever try and hack a Mario game and try and get more coins, instead of it going above a 100, it's just going to go to A, instead of – you're going to have A0 coins or something like that. I used hexadecimals to actually count the number of coins in the game and all that stuff.

The whole point of the game is to actually hack the game. It has hacks built into it. The whole thing is one giant Easter egg. You can beat the game normally as a regular Mario Brothers game. It's not Mario Brothers, because I don’t – it's not Mario Brothers, and I can be sued.

[00:39:34] AC: Licensing?

[00:39:36] JS: Yeah. It's a similar jumping platforming game, like you've seen a million times. Then, you slowly figure out that there's ways to make the game glitch out. Using those glitches, you can actually get into other parts of the game and beat the game in completely different ways. That's the whole point of it. It uses Vue.js as the gooey layer, and then it uses C++ for the engine, the game engine of the thing, using this library called Allegro.

The reason I chose Allegro is because I heard that Factorio runs on Allegro. They actually had to build the whole game engine from scratch, because Allegro is just like, it's nothing. It's just drawing. It's just shapes. It's very, very basic, like canvas. Imagine you had to make a whole game engine out of canvas. Now, you have to do layering and all that stuff. Yeah. That's what I've been doing. Yeah. I love using Vue for all sorts of super hacky things.

One of the other things I did, which I think I tweeted about a while ago, was I used Rust for WASM. Is that how you pronounce it? I've never actually pronounced it out loud. Do people pronounce it –

[00:40:51] T: I’ve only heard WASM as well, or else, WebAssembly. One or the other.

[00:40:54] JS: Okay, that's good. Hold on. Wait one second. My dog is barking. You'll have to edit this out or not. That's up to you. One second. Anyway, the thing with WASM is that, originally, before I actually looked into it and everything, I thought that you're going to actually be able to manipulate the DOM and all this stuff, but you can't. You can't manipulate the DOM with WASM. Unless, somebody has written a DOM, like the same thing with Vue. Vue actually has – When you run JQuery, you're actually manipulating the physical DOM. This is keeping essentially a copy of the DOM. Unless you're going to do the same thing in Rust or whatever.

I wrote this thing because I wanted to make a color picker. I had been reading a book about colors and I realized that the browser does true colors up to a certain point. But to do actually true, accurate, perfect colors, you would have to build a whole library around it. Somebody had built that library in Rust.

[00:42:11] T: What do you mean by true and accurate colors?

[00:42:13] JS: Alex probably knows more than I do.

[00:42:15] T: Alex, what does he mean by true and accurate colors?

[00:42:17] JS: Because he was nodding.

[00:42:18] T: Stop shaking your head.

[00:42:20] AR: Some of it is that you have only three colors to work with in JavaScript. You have red, green, blue, but there are other colors out there that are able, that you can use. Coming from a lighting background, there are actually fixtures that you get where you have an amber, a yellow goldish color light. You also have extra violets in there, maybe a couple of different greens, all these. The color mixing of those, you have a much wider variety of colors that you can make with it, because you have all these different types of color mixing. Because the web is limited to what we have, it's not perfectly accurate, is my basic understanding of it.

[00:43:11] JS: I think, the web can actually represent all the colors. I don't think it's necessarily a question of that. If you get into color theory and the wait – I honestly have no idea what I'm talking about. It was a while since I did this. If you go back to color theory and you look at the way that you actually calculate colors, and you go back to – you've got RGB, and then – if you talk about hue and you've got 360 degrees. Sometimes the way that you calculate between RGB and the other different representations of colors, you take some shortcuts to maybe round some things, whatever. To get actual true colors, where when you're converting between them, you're actually giving a better representation of the color, you'd have to do different types of calculations.

Bottom line is there's a library in Rust that does these true color representations. I thought, why not use that to get the color representations in Vue, using a color wheel? The Rust does all the calculations of the colors and Vue does all the displaying of it. Actually, the displaying of it is on a canvas, but the communication back and forth to WASM, I used Vue to do that. The cool thing was, is that I got this really nice 60 frames a second, because the calculations are pretty heavy, but they're all being done in Rust, and so it was really, really fast. All sorts of stuff like that. I love that stuff. It’s not really taking it to its limits or anything with that. It's just doing stuff that people don't normally do. It's not the stuff you typically hear about. That's what I like doing.

I built a display for the electric scooter that I built, and I put the display in Vue.js. It tells you the miles an hour, miles per hour that you're going. Then you have to interface with the electronics to actually display all that stuff. That meant that I needed a browser, because – It’s just so overkill, so unnecessary, so stupid. But like, why not? Why not? Then suddenly, I can use the marquee tag.

[00:45:36] T: When you're going 60 miles an hour.

[00:45:38] JS: Right.

[00:45:38] AC: Oh, my God.

[00:45:39] JS: Yeah. 70 miles an hour and suddenly, the marquee tag comes by and it's like, “You are going too fast.” See, that's the right usage of the marquee tag. Or, you could hook it up to the weather and actually have weather warnings going across the bottom, on the news. All sorts of stuff you could do. Yeah, if there's a reason not to do it, I like to do it then. Just because of the unnecessary – unnecessaraliness.

[00:46:14] AC: That's a word.

[00:46:15] JS: How would you say that? Because of how overkill it is, right? Overkill.

[00:46:20] T: The unnecessity.

[00:46:21] JS: The unnecessary of it all.

[00:46:23] AC: I think that's right, but it somehow still sounds wrong.

[00:46:26] T: I mean, it's not a real word.

[00:46:28] JS: Ari, what's a better word for it?

[00:46:30] AC: I don't know. Frivolousness.

[00:46:32] JS: The frivolousness, the frugality. The frugality.

[00:46:39] AC: Superfluousness.

[00:46:42] JS: Superfluousness.

[00:46:42] T: SAT vocab training podcast.

[00:46:47] JS: The frivolity, the frivolity of it.

[00:46:50] JS: Frivolity? The superfluoussosity.

[00:46:54] AC: I did get a 760 on the verbal section of the essay.

[00:46:57] JS: Hey. Was that when it was 1600?

[00:47:00] T: I think it's 1600 again now.

[00:47:01] JS: It changed a couple of times, I think. Is it?

[00:47:05] AC: Yeah. I think, they got rid of the writing section.

[00:47:07] JS: Oh, they went from 24 back to 16.

[00:47:10] T: I believe so.

[00:47:11] JS: Oh, I didn't know that. Yeah. Because no longer was my score any good. I mean, my score wasn't that great to begin with, but – Yeah. That's the story stuff I like to – I want to learn all the programming languages, even if it's like, nobody uses them. I just want to see – it's like talking to a bunch of different people. Al Graham has this – I don't know if you call it a version, or what do you call it? A list called Ark? I was playing with Ark the other day.  I don't know. I could be completely wrong. The community of Ark could be enormous. I'm ready to use this thing as a web server for Vue.js. It sounds incredible.

[00:48:01] T: Wait. Did you try K it then?

[00:48:04] JS: No. What's that?

[00:48:07] T: Remember, I sent it to you. It's based on APL, and it's a bunch of punctuation marks and stuff?

[00:48:14] JS: Oh, yeah. Yes, yes. Yes, yes, yes, yes, yes, yes. I haven't tried it yet.

[00:48:20] T: Now, I feel like, that one's hard to learn, but it would be cool to do something with it.

[00:48:24] JS: Yeah, it would be amazing. It would be amazing. Yeah, just there are so many. I used to work at a kiosk application making place. If you ever went to the airport and you would log in with the kiosk, you go those kiosks that are there, or you go to Cabelas and they have the gun store. I just know that I worked on Cabelas myself. All the places that you see these kiosks all over the place, I used to make those. Like the grocery store, you do the checkout app. I'm pretty sure that some of the checkout apps that are still out there I made a million years ago.

The crazy thing was, is that we had to have it all locked down. It had to be the super locked down thing. We wrote everything in HTML, CSS and JavaScript. The only thing that was available, because of the way this thing was made is we had to do it in IE6. We're talking not that long ago. Still using IE6. I got really good at ActiveX. A completely unnecessary skill, but I got really good at ActiveX. You know when people used to paint, we didn't have all the colors, and so blue used to be made out of lead. It's like going back to those days.

[00:49:53] T: It was like painting with food.

[00:49:55] AR: Apparently, it tastes like candy, too.

[00:49:57] JS: Yeah, that's right. I got this thing printing to – you know a zebra thermal printer to an ActiveX control? I mean, it was amazing what I could do with IE6. It makes you feel like, you're in the Wild West or something like that. There are so many people that are doing this stuff still. I'm sure, there are still people that are using locked down IE6 systems that they –

[00:50:23] T: I mean, you put IE6 on your scooter, I assume.

[00:50:26] JS: Oh, my gosh. I got to put IE6 on my scooter. That would be awful.

[00:50:29] T: You have to. You have to now.

[00:50:31] JS: It sounds like a health hazard to put IE6 on your scooter.

[00:50:36] T: Well, I heard that IE3 is the ultimate browser, so maybe you want to go with that one.

[00:50:40] JS: That doesn't even have JavaScript, does it?

[00:50:42] T: Oh, no.

[00:50:43] AC: Oh, my God.

[00:50:42] JS: Does IE3 have JavaScript? I would love to do that.

[00:50:51] AR: Give me a second. Hold on. Let me get my JavaScript book out.

[00:50:59] AC: He was not joking.

[00:51:12] JS: One second.

[00:51:13] T: Alex is showing us JavaScript: The Definitive Guide.

[00:51:17] AC: Ooh.

[00:51:17] T: Activate your web pages.

[00:51:19] AR: Version 1.2.

[00:51:22] T: That's newer than the version I'm using.

[00:51:24] AR: It covers JavaScript 1.2.

[00:51:26] AC: That is.

[00:51:31] AR: Let's see here. This one has –

[00:51:43] AC: I like that we can hear the pages turning.

[00:51:47] AR: Yeah. This one is for Internet Explorer 4.

[00:51:52] T: Useless.

[00:51:54] AR: Yeah. Or Opera 3. I like going in there for some fun times.

[00:52:01] AC: Nerd.

[00:52:02] AR: Yup.

[00:52:04] T: This seven-year-old question, they're saying Internet Explorer doesn't support JavaScript, it supports JScripts. Well, that's their implementation because they don't want to deal with the copyright. That's only as early as ES3. This is still newer than your book.

[00:52:22] AR: Yeah, yeah.

[00:52:24] T: Oh, somebody wrote a blog post. Internet Explorer 3, an Adventure in cross-browser compatibility. This is the organizer of Talk CSS, which is a CSS meetup in Singapore. It was released in 1996 on August 13. Almost, however many years ago anniversary. You can do the math, listeners. I believe in you.

[00:52:46] AC: It's 25.

[00:52:50] T: That's a lot of years.

[00:52:55] AR: It's a lot higher than I can count.

[00:53:01] AC: Yeah. None of us are 10 years older than that.

[00:53:07] JS: I'm 19.

[00:53:11] AC: I like the story.

[00:53:14] T: IE3 claims to support CSS1. I wonder if they do support JavaScript.

[00:53:21] AR: When was JavaScript made?

[00:53:23] T: ’96? I don’t have a clue. ’92?

[00:53:26] JS: JavaScript.

[00:53:28] T: I used to give a little lecture on this. ’95.

[00:53:31] AR: JavaScript is ’95.

[00:53:34] AC: This episode has been quite the journey.

[00:53:40] T: I feel like, speaking of doing weird things, my friend, Ringo, also makes games using Unity and also uses Vue for its event handling and for making the UI elements. I would never think that if I was making game, I'd be like, “Okay, I want to do one part in this language and the other part in this other language,” but I guess it's a thing.

[00:53:59] JS: Here's the thing. It's going to be not the right performance thing. It's not the right choice for a lot of reasons. I need to program this and I want to get it to look exactly like I wanted to, and I want it to react in these certain ways. Just the idea that Vue is reactive, you change a variable and things change. You don't have that. If you're going to write the thing in C++, you have to do some architecture, or whatever to make it work. I mean, Unity has a whole thing dedicated to the user interface. It has a separate thing to the user interface. If you're going to build a game from scratch and you can always do whatever the hell you want, you can just technically put something in C++ and then have something in Vue. I have a friend who will remain nameless, that wrote the UI for PlayStation's menus, whenever you turn on a PlayStation, it has that.

[00:55:09] T: Wait. PlayStation 1?

[00:55:11] JS: I'm not sure. Not PlayStation 1. No. Whatever the one that was around the time when Angular and Backbone and then later Vue came out. I forget what they used, but they use some JavaScript. It might have been Backbone, but it might have actually been Vue. I'm not sure. I'm trying to go back. It was just around the time that Vue came out. Yeah. All those menus were written in – and a lot of these TV – in the early days when these smart TV things came out, a lot of it was HTML in JavaScript that you do, that you would do it with.

[00:55:49] AC: Is that why my Roku TV sucks so much? Sorry.

[00:55:53] JS: Probably. That's probably right. You could think of it from the adoption standpoint, it's much easier to get developers to write that stuff than to be like, okay, so now here's a C library, or something like that. You got to balance your options there, or balance your whatever.

[00:56:11] T: At Naughty Dog, they use their own custom language, but it's really old and all the tools that it uses are really old, but they can never build new tools because they're always in development. They're just constantly having to patch these 20, 30-year-old tools. They keep on building games on –

[00:56:25] JS: Which one is this?

[00:56:26] T: Naughty Dog.

[00:56:27] JS: Naughty Dog. Oh, what is Naughty Dog?

[00:56:30] T: They’re a Sony game development house studio. They did Jak and Daxter, Uncharted, The Last of Us.

[00:56:39] JS: Oh. Oh, that's cool. Started in 1984.

[00:56:47] T: Wow. Yeah. They worked on Crash Bandicoot. This is all apocryphal. I don't know if it's actually true.

[00:56:53] JS: Crash Bandicoot.

[00:56:55] T: With the other studio that did the story with the thing that looks like a raccoon and there's a robot, Ratchet and Clank. That studio split off and made Ratchet and Clank is what I heard.

[00:57:05] JS: Wow.

[00:57:06] T: Maybe it's true. Maybe it's not. You can let me know @gloomylumi.

[00:57:13] JS: That's amazing.

[00:57:16] T: Yeah. For the record, apparently Internet Explorer 3 supported reverse engineered JavaScript that they called Jscript. Then from 3.01, they supported JavaScript.

[00:57:27] JS: That's amazing. Now, I remember, this is dating myself a little bit. There was a point at which people were like, “Ajax is a thing.” I don't know if anybody's old enough to remember when suddenly, people were like, “Now, we're going to do Ajax.” Ajax was the word.

[00:57:50] T: The early 2000s.

[00:57:51] JS: Everybody was talking about that. I remember, I still have the book downstairs, because I got to keep it. This is when I used to buy a lot of physical books. I had this book. It's just called Ajax. It teaches you how to make asynchronous requests to build an online shop and all this stuff. You're doing it with new XML HTTP request objects in JavaScript. You're doing it from scratch. Just in case you have IE6, here's what you have to do. I still have the book. I should go back to it and see if any of the JavaScript still work. It probably does. It probably works great.

[00:58:32] AC: There are things though that about Vanilla XHR that I still find easier than everything else.

[00:58:40] JS: Well, now. Now for sure.

[00:58:42] AC: Because you can cancel the request so easily, as opposed to Axios, which it took me so long to figure out, how the heck you're supposed to use the cancel tokens.

[00:58:51] JS: Yeah.

[00:58:52] AC: I did eventually figure it out.

[00:58:54] JS: Now it's much easier. I mean, the big thing in the beginning with query was that the XML HTTP requests object was vastly different between different browsers. It was a completely different thing between all the different browsers. It was just a nightmare to try and get it to work. You had to write all this code. In that book, I'm pretty sure for Firefox, do this. For IE, do this. For this, do this. Remember, you used to have to be like, if it's IE6, do this. Then if it's up to IE9, do this. You have to use to do it for different versions of IEs to have to make things work is painful.

[00:59:37] AR: I remember attempting to make rounded corners in IE6.

[00:59:43] JS: Oh, yeah. That's legit.

[00:59:46] T: Before I entered the tech world, I already had some books on Ajax. I thought they would help me out, but they're all about some Greek guy.

[00:59:54] AC: I thought it was soap. Well, on that note, does anyone have any final questions?

[01:00:16] T: Yeah. When do you think is the ideal time to use Vue, and when is the time that you should absolutely not use Vue?

[01:00:24] JS: I don't know. I feel like, you should use Vue whenever you want. I am not a Vue, React, Svelt war person. I just use whatever is the easiest thing to me. The way you realize it happens is there's – I was reading something by Paul Graham the other day, because he started waxing poetic.

[01:00:51] T: He seems to do that a lot.

[01:00:53] JS: On just a meme that somebody had posted. Yeah. Well, I mean, he had this very in-depth response to a meme. Basically, he was saying that over time, programming languages will get better and all that stuff. I was just thinking about it, it's like, how do you wind up adopting Vue at a certain point and what would make you switch? You're not going to switch right now, because it's the thing that you know, unless you get a job that would force you to learn React. Then you'd have to have this other learning curve and all this stuff. A lot of the stuff is like, it's good in the beginning. Then you just use it, because it works.

Right now, I write a lot of React at Remote, or I write React at Remote. I'm seeing a lot of the patterns they have, and it's good, too. React is totally fine as well. I feel like, the biggest thing is that Vue, it just has this really small learning curve. You can write very little, but you could still do the old school, just make a new Vue object in a browser and that's the end of it. Which makes it really – There’s a bunch of different ways that you can use Vue. You don't have to use the UX. Just like, if you wanted to make it give reactive, you can do that stuff. I like that it’s got that flexibility. It's the thing that I know really, really well. It's easy enough to know really, really well.

[01:02:26] T: Yeah. I guess, I was thinking along the lines of in all of your experiments, if there was ever a time that you really wanted to make Vue work and just it's not the right tool, or you couldn't get it to run.

[01:02:37] JS: Yeah. I mean, I just think of you as JavaScript. Yeah. I just think of Vue as JavaScript, if there’s a time that I can get JavaScript to run, I can probably get Vue to run. If JavaScript’s an okay choice, then I might use Vue, or I probably will use Vue to something. Yeah, I can't think of anything. The thing that I'd love to see is like, I'm going to get Vue in WASM. People who have done WASM might understand this, but it would be great to have some virtual DOM within WAS that you can control in a similar way.

I know that people are working on that, but you basically have to recreate the entire DOM in Rust, or whatever language you're going to use. Probably Rust, if you're going to do WASM. If you want to. I think that that would be a really, really cool thing to do because that would open up a lot in theory and only in theory.

You still have to update the DOM, and maybe that's not the – you're going to have that bottleneck there. Making those calculations is to update a shadow DOM would be much faster. Potentially, you could do things that are really, really fast with – I keep saying shadow DOM. I did meant shadow DOM. I mean –

[01:04:11] AC: Virtual.

[01:04:12] JS: Yeah, virtual DOM. Thank you. You should have cop that virtual DOM. Yeah. I wound up writing a bunch of different programming languages every day. Anyway, a lot of my days right now are filled with Elixir, which is a really awesome language. That's the thing I would love to see. I would love to see some of these really cool programming paradigms that are being done in things like Elixir. Elixir has pattern matching. I was talking to Kyle Simpson the other day. He can do pattern matching in his library called Moonio. I think, just some of those paradigms would be really, really cool to somehow bring into JavaScript.

I don't know if it means bringing it into JavaScript itself. Or if it means a library that would support that, or what that means. A lot of that stuff is just a different way of thinking and it's just another way, and that would be cool.

[01:05:28] AC: Okay. Before we move on to picks, if people want to find you on the internet, Jacob, where would they find you?

[01:05:36] JS: Twitter. I'm on @JakeCodes.

[01:05:42] AC: I was really hoping it was going to be a Z, just for funsies.

[01:05:46] JS: You can also find me at angelhugzeven@hotmail.com.

[01:05:50] AC: With a Z.

[01:05:51] JS: With a Z. I actually got that email address. If you do want to email me at angelhugzeven@hotmail.com, you can do that. It forwards to my regular email address.

[01:06:00] AC: That's amazing.

[01:06:01] JS: It was because when I was a kid, I had a friend that had that email address, when you're, whatever, 11 or something, I was like, “That's the greatest thing I've ever heard.” As a kid, I was just like, “How did you come up with that?” I mean, that is just amazing. It's beautiful. Then I checked last year. I was like, “You know what? I might as well reserve it because I bet you they don't have it anymore.” It was available, so I took it.

[01:06:29] AC: Okay. Let's move on to picks. Let's see. Who's going to go first this week? Alex.

[01:06:40] AR: Sure. This week we have been watching, because my wife and I like to watch television together during lunch, and we have been enjoying the new episodes that have been coming out of Marvel Studios What If. It is alternate timelines within the Marvel Universe. If you have spent most of your life in movie theaters trying to understand what's happening with the Marvel Universe, or if you've read any of the comic books, this one's fun, because it goes and says, “Okay, let's change one thing in the timeline and watch what happens.” First episode, Peggy Carter becomes Captain Carter, instead of –

[01:07:29] T: Peggy?

[01:07:30] AR: Instead of there being a Captain America. Then, there you have – this last episode was, what if T'Challa was accidentally abducted, instead of Peter Quinn for – and went off and became Guardians of the Galaxy? It was really fun. Yeah.

[01:07:57] T: My teacher was on that show.

[01:07:58] AR: Oh, cool. It's animated. It's great. It's super nice. Just good fun. There you go. That's my pick.

[01:08:07] JS: That's cool.

[01:08:10] AC: Okay, Tessa. Looks you have quite the collection of picks for us this week.

[01:08:15] T: I started with two, but the show just made me think of some other things that I was like, “Oh, that's related.” Okay, so the first one is, lately, I was reminiscing about when I used to walk on rock paths, and I was like, I want something like that in my house, but it's really cumbersome. I found this small plastic board that's supposed to recreate that feeling. It's not quite the same, but it's pretty relaxing. It’s the [inaudible 01:08:44] massage board. If you also like stepping on rocks, maybe you want to try it out. Ari is making a face. It's like reflexology or something. It's very relaxing.

[01:08:56] AC: I was like, “What?”

[01:08:57] AR: Do they make one with Lego shapes on it? I feel like –

[01:09:03] T: If your feet are cowards, maybe this isn't the pick for you, but.

[01:09:09] AC: It’s true. Mine are.

[01:09:11] JS: Serious question. Serious question. Why don't you just go outside?

[01:09:15] T: We don't have rocks outside. We just have dirt.

[01:09:18] JS: Oh, really?

[01:09:19] T: Yeah.

[01:09:20] JS: You should come to this area. We've got lots of rocks. This place is bountiful in rocks.

[01:09:26] T: Nice.

[01:09:28] JS: Wow. Yeah. I think that product wouldn't work as well around here.

[01:09:31] T: Yeah, probably not.

[01:09:32] JS: Just because of our rock population being so large.

[01:09:37] T: Yeah. I mean, I'm sure in Japan, too, actually, there's probably a lot of rock paths and stuff you could go on maybe. Or at the playground or something. Yeah, I guess it sells there anyway. So, we'll see.

[01:09:48] JS: Yeah. That's cool.

[01:09:50] T: Yeah. Then we were talking a lot about earplugs and my favorite earplugs are these ones called Loop Experience Earplugs. Well, they come with different types of tips. You can use a foam tip, or you could use a silicone tip. I'm not sure the silicone tip would really work. It just looked like an earbud. I like it, because instead of having a little stem sticking out of your ear, you just have a little metal circle sitting inside your ear canal. It's easier to pull out. Also, it looks less weird. Also, if you're brushing your hair or something, your hand flicks your ear, you don't flick the stem and that hurts.

[01:10:28] JS: That's cool.

[01:10:30] T: Yeah. I did find the earmuffs I was talking about earlier, so I put them in the show notes. Yeah. Then we were talking about all the fun growth in – and that reminded me of this comic series, Nodame Cantabile. In there, the main character is this really messy woman. I was like, “That's great. You never see that. You never see a messy woman in media.” She never cleans anything, including her dishes. There's all sorts of different spores and mushroom colonies and things growing in her kitchen. That's what I thought of when we were talking about Jacob’s carpet. Yeah.

Then my last original pick for today was InVade Bio Drain. I talked a lot about the various flying things that I've been seeing this summer. InVade Bio Drain is this thing that you can pour it on your brain to theoretically clean the drain and kill all of these things that's a – I can't think of the right word. But it's bacteria that eats away all the crap in your drain.

I'm not going to see that your drain always necessarily runs smoother after you use it, but it's amazing. You just leave it on something and you wipe it off and it's clean. You don't have to do any scrubbing. It also smells pretty nice. It has a mild orange scent, like Gojo or any of those other organic cleaners that you find in art studio. It doesn't smell super chemically. Just like a lighter orange cleaning smell. The foam smells really bad there. Don't get the foam. Those are my picks.

[01:12:01] JS: Nice.

[01:12:04] AC: Okay. Jacob, do you have any picks for us?

[01:12:07] JS: Ari, do you have picks?

[01:12:08] AC: I do, but I go last. That's how this works.

[01:12:10] JS: Oh, you go last, because you're the host. That's how it works? Oh, okay.

[01:12:15] T: Giving away our industry secrets, Ari.

[01:12:16] JS: Host always goes last.

[01:12:22] JS: Oh, yeah. No. I'm learning Chinese right now, because why not learn Chinese? I did a ton of research to figure out the best way to learn Chinese. One of the things I'm doing is that I'm meeting regularly with people that speak Chinese, which is – so on Wednesdays, I go to the public library, and I talk with this guy who's previously a CTO at a startup, and all that stuff, and he's teaching me Chinese, and I'm learning all the background behind it.

The software that I'm using, I started with Duolingo. Duolingo is great for learning the characters. To learn to speak, there's this really great program called Rocket Chinese. I've been using it and it's been really great so far, and I feel I'm actually starting to converse in Chinese, which is hard. It's a hard language, especially for we don't have the tones and stuff like that. I don't have as many other pixies as you all, but Rocket Chinese is something that I recently picked up. You know what else? Anki. Has anybody use Anki for flashcards? A-N-K-I.

[01:13:35] T: Yeah. For UI, for making flashcards needs a lot of love.

[01:13:38] JS: Right. It's horrible. Everybody uses it. It's the standard for flashcards. If I could just plug this one guy, this guy made – the way that you train the – I guess, the training course. I don't know what exactly what it is. Whoever knows better than I do, because I am not an expert on Chinese or anything. HSK125 is the course that you need to – I guess, it's a – What's that called? A certificate of some sort that you can pass. It’s the course that you can pass. This guy named Jonathan Stuart made Anki flashcards for all the HSK, for all 5,000 words in the HSK thing. On his website, it said 40 bucks for it. I paid it.

He wrote me an email saying, “Hey, if you would have completed HSK1, you would have seen that there's a coupon for 90% off the thing.” I'm going to retroactively apply the coupon. He gave me 90% off. He refunded 90% of the money I paid this thing, which is really, really nice of him. He should have just let me be a sucker and do that. I thought that was really nice. His name's Jonathan Stuart. I don't know if it's his real name, because that means his name is Jon Stuart, which is awesome. That makes him the second most popular Jon Stuart in the world. Those are my two picks.

[01:15:18] T: Have you heard of RemNote? It’s that old [inaudible 01:15:21] style notetaking aap that's free, but it generates funky style, spaced repetition cards for you based on your notes.

[01:15:30] JS: No, I never heard of this.

[01:15:31] T: That might be one worth trying.

[01:15:33] JS: Yeah, yeah, yeah. Because the one thing with Anki is that it's super old-school looking. It's very basic. It's very, very basic. Thing is, it works really well. Yeah, it's not the hot new stuff or anything. It's a steady-as-she-goes old software. Yeah. I used to use it for learning Hebrew and all sorts of stuff. People use it for learning all sorts of stuff.

One cool thing about Anki is that people use it for learning chess really well. You can get free chess flashcards that teach you all these moves and you just basically memorize all these moves. If this, then that sort of thing. You've ever heard a mermaid, the text format mermaid?

[01:16:27] T: Yeah.

[01:16:27] JS: Mermaid is a way to draw diagrams with just text and it displays well. There's apparently a way to draw chess moves in just text. Anki supports that, because apparently, Anki is huge in the chess community. I don't play chess at all. I'm not going to say I'm good or bad at chess. I don't play chess. It supports this chess text diagraming feature, which I thought was cool. It's completely useless to me, but it's good nonetheless. Anki, Jon Stuart and Rocket Chinese.

[01:17:15] AC: I have one pick this week. Surprise, it's a TV show.

[01:17:20] T: Nice.

[01:17:20] AC: Because I never pick those. It's called Manifest. The premise is that these people were on an airplane that disappeared, and five and a half years later, the plane comes back. I'm not going to pretend that this show is good, but it is entertaining. It's one of those it's so bad, it's good.

[01:17:41] T: It's like Lost put on a plane, right?

[01:17:43] JS: Ooh.

[01:17:44] AC: It's so melodramatic. The dialog is honestly pretty terrible, but I can't stop watching. I think it's available on Hulu, Netflix, probably Peacock, because it's an NBC show. I'm sure you can find it somewhere to watch. Yeah. It's terrible, but I highly recommend it anyway.

[01:18:08] JS: Is it bad in that way where there's – It's Pat the movie bad, where it's so bad that you almost get a satisfaction, a weird feeling of how bad it is and you just want to watch it for that? Or is it bad, because it's just like, you can sit back and watch it and it's just dumb and it's making you dumber and you just enjoy the fact that you're not invested in it heavily. You know what I mean?

[01:18:38] AC: It's hard to explain.

[01:18:41] JS: I mean, those are not the only two options of bad either. There's multiple. I'm sure there's many others.

[01:18:51] AC: It's like watching a train wreck, but a somewhat interesting train wreck.

[01:18:57] T: A plane wreck?

[01:18:58] AC: Maybe there's some weird debris on the side of the train tracks that is causing weird stuff to happen to the train while it's crashing. It's like that, even though that probably doesn't make any sense.

[01:19:13] JS: Is it over the top?

[01:19:16] AC: It is. It's very over the top. Yeah, the dialog is not even a little bit believable. There are times where it's cringy. You're just like, no one would ever say that ever. People, they form these relationships where you’re like, even though I have BPD, that was too fast. Yes, very over-the-top. Yeah, in an entertaining way. I'm not sure it's supposed to be entertaining in that way, but it is. Anyway.

[01:19:54] JS: Have you ever seen, speaking of over the top, there's a movie that if you like over the top, comically over the top, just painful to watch. It's so painful. It's comical. There is a Bollywood movie called Bang Bang. The star of it is this Bollywood actor named Hrithik Roshan. I don’t know if you’ve ever seen him. You should look him up, because he is – it's like, okay, they're going to have a chase scene on a motorcycle, fine. Then he's going to turn around backwards on the motorcycle and shoot guns. Okay, fine. While he's backwards, they're going to go up a ramp and he's going to nail several people perfectly. Okay, fine.

While doing that, stuff is going to blow up around them, and he's going to do a backflip and go under the motorcycle. It keeps going more and more. It's not meant to be funny. I don't know if it's meant to be funny, and the guy, Hrithik Roshan, you should look him up. He's so jacked that it's funny. It's almost hysterical, how jacked he is. It's absolutely ridiculous. It's the most amazing thing.

[01:21:16] T: According to Wikipedia, it was based on the movie Knight and Day, which is the worst movie title I've seen in my entire life.

[01:21:24] JS: Night and Day?

[01:21:24] T: Knight spelled like a knight in shining armor. With Tom Cruise, I think. Maybe Cameron Diaz?

[01:21:32] JS: Yeah, yeah, yeah. 2010 Tom Cruise and Cameron Diaz. I didn't realize it was based on that. I've watched Bang Bang seven or eight times. It's so fantastic. You should go watch it. For all you Hollywood aficionados playing along at home, or not, you will now be a Bollywood aficionado.

[01:21:55] T: Well, I mean, speaking of over the top, are you going to tell us about those cans on your head? Oh, also speaking of Bang Bang.

[01:22:03] JS: Oh, you mean the headphones?

[01:22:06] T: Yeah.

[01:22:07] JS: So Job, who is the CEO of Remote. I'm Head of Automation of Remote. We're hiring. If you'd like to be an automation engineer, send me a message on Twitter, or just apply online. Job is big into headphones. Any time I'm ever looking for headphones, I'm really particular because I can't do noise-canceling headphones. Because for some reason, it makes me seasick. When I put on noise-canceling headphones and I put on the noise thing, and there's a small minority of people that this happens to. I found that community, and we all sob together. Because there's so many noise canceling headphones that I actually really, really, really want to –

I had done a project a couple of years ago. The guy, the project person was like, “You did such a great job on getting your present.” Sent me these ridiculous noise-canceling headphones that were just gorgeous. I was like, “Maybe I can get over this.” I put them on and I was like, “Oh. No, no, no, no, no.” I had to give those away to a friend. They were really nice. Anyway, these are Bang & Olufsen. Are they?

[01:23:23] T: Yes.

[01:23:25] JS: Yes. They're Bang & Olufsen headphones. I forget what they're called, but Bang & Olufsen doesn't make that many headphones and they're fantastic because they don't hurt your ears. They sound ridiculously incredible. Then he suggested one other pair, which I have here. What are they? They are the Philips. The difference between these two is that these are the closest thing you're going to get to noise-canceling, without actually having the noise canceling. What do they call it? They call it not active noise canceling. 

They call it passive noise-canceling because it doesn't have anything in it. It just has a lot of thickness to it. These ones are whatever you call it, through-ear – so you can hear all the noise up. There's no sound reduction or anything. Depending on what you want, I got the two different ones. I've got the Philips ones. I forget what they called. I lost the box and I've got this Bang & Olufsen’s. Passive noise-canceling headphones.

[01:24:24] T: Nice.

[01:24:25] AC: We're going to call that all for this week's episode. If you aren't following us on Twitter, what is wrong with you? You should go do that @enjoythevuecast. Soon, there will be a new Twitter thing we're going to debut. Just a teaser on that.

[01:24:41] JS: What is it?

[01:24:41] AC: We'll tell you after.

[01:24:43] JS: Okay.

[01:24:45] AC: It will be in the know.

[01:24:45] T: It will be out by the time this episode comes out. You could tell him if you want to.

[01:24:50] AC: Okay. If you happen to misspell cast to cats.

[01:24:53] T: You mean, get it right.

[01:24:54] AC: Good news. We have you covered. Enjoy the Vue Cats. We just post pictures of our cats. It's fun, because somebody automated it for us. All I have to do is email a picture of my cat with a title, and then it tweets it for me.

[01:25:21] JS: That's amazing.

[01:25:22] AC: Yeah, that was really exciting.

[01:25:24] JS: You should call it Enjoy the Vue Cats, the musical.

[01:25:28] AC: Too many characters.

[01:25:30] T: We want people to enjoy it.

[01:25:31] AC: Right. Creepy.

[01:25:34] JS: It’s not my problem. Enjoy the Vue Cats the movie with Taylor Swift.

[01:25:40] AC: No. No, no, no, no, no, no.

[01:25:42] JS: She was in that, right? Taylor Swift was in that?

[01:25:45] T: She was.

[01:25:45] AR: No, she wrote a song for it.

[01:25:47] T: She was in the movie.

[01:25:49] AR: She was in it. She was in it. She was in it.

[01:25:50] AC: Yeah. I was like, “I thought she was.”

[01:25:50] JS: I couldn't find it. I watched it and I couldn't – I was like, “Where's Taylor Swift?” Then I thought I saw Taylor Swift. Everybody's like, “No, that's not Taylor Swift.” Yeah. Okay. Need to get her moment there.”

[01:26:05] T: She’s not a chandelier in a new Taylor.

[01:26:04] AR: She’s in there for one scene.

[01:26:08] JS: Yeah. I saw Taylor Swift in concert once. She was amazing. You get a chance to see Taylor Swift in concert. I'm adding that to my picks.

[01:26:16] T: All right. I’ll fit in.

[01:26:18] AC: Even the ending somehow is a long meandering problem.

[01:26:24] T: 9 out 10 on the conversation scale.

[01:26:27] JS: Tessa. Tessa specifically brought me here, because I can meander for a long time.

[01:26:35] AC: If you haven't subscribed to the show on whatever podcasting app you're using, do. Don't you love us? Come on, give us love and leave a review, but only if it's nice. I don't want to hear bad stuff about us. Also, tell other people about it, because you love us. Thanks for listening. Until next time. Enjoy the Vue.

[01:27:03] AC: Hey, everybody, and welcome to Enjoy the Vue.

[01:27:04] T: No, no, no. Stop, stop, stop, stop, stop. Stop. I don’t know what happened. It was so bad.

[01:27:10] JS: It was going, pa, pa, pa, pa, pa, pa, pa.

[01:27:12] AC: Oh, no.

[01:27:13] T: Uh-oh. Every time you talk.

[01:27:19] AR: Oh, wow. Okay.

[01:27:19] JS: Try turning it off and on.

[01:27:26] T: It’s literally like...