
JavaScript Jam Live - August 3 2022
A panel debates Douglas Crockford’s call to retire JS, alternatives like Blazor, and evolving definitions of Jamstack and composability
Episode Description
JavaScript Jam Live discusses React Native and Expo improvements, Web3 controversies around Tornado Cash, and the viral single-word brand Twitter trend.
Episode Summary
This JavaScript Jam Live session covers a broad range of web development topics, starting with news about BlitzJS 2 entering beta as a Next.js toolkit and Expo's rapid improvements for React Native development. Mike, a seasoned React Native developer, shares extensive insights on how Expo has matured past its earlier limitations around ejecting, now supporting complex native use cases across health tech, insurance, media, and apps like the Wall Street Journal and Axios. The conversation explores Expo's experimental web target, weighing its promise of cross-platform feature parity against practical limitations like native plugin compatibility and bundle optimization. The group then shifts to Web3, where Anthony discusses the Tornado Cash shutdown and the tension between crypto's decentralization ethos and regulatory compliance, along with a clickbait Hacker Noon article about quantum computing threatening blockchain. Jen shares her milestone of submitting her first pull request and her experience learning Python after JavaScript. Theo joins to discuss API documentation approaches, advocating for tRPC's type inference over traditional Swagger-style generators, and reveals how he accidentally started a viral trend of brand Twitter accounts posting single words or emojis. The session wraps with audio gear chat about Rodecaster setups and a Denver Fintech DevCon announcement.
Chapters
00:00:00 - Introductions and Community Connections
The episode opens with the hosts welcoming listeners and setting the stage for the weekly JavaScript Jam Live session. Scott mentions he's in the middle of a move, and Anthony floats the idea of bringing on a co-author for his Redwood book, with Mike expressing interest in potentially collaborating on the project.
The conversation quickly turns to community building as participants are invited to speak. Scott explains the show's format, emphasizing that beginners and experienced developers alike are encouraged to join the discussion and contribute questions or topics. The welcoming tone sets up the collaborative spirit that carries through the rest of the session.
00:03:40 - React Native, Expo, and Mobile Development
Mike kicks off the technical discussion with news about BlitzJS 2 entering beta and Expo's recent surge of improvements for the React Native ecosystem. He explains how Expo has evolved from a tool with significant limitations around ejecting to a comprehensive platform that handles complex native use cases without restrictions, supporting both managed and unmanaged workflows seamlessly.
The group explores where React Native is being used in production, with Mike citing apps for the Wall Street Journal, Axios, Coinbase, and Discord across industries like health tech, insurance, and media. He explains the architectural consideration of the dual-thread system — the native UI thread and the JavaScript thread — as the primary limitation at scale, while noting that these edge cases rarely disqualify React Native from serious production use.
00:11:00 - Expo Web Targets and Cross-Platform Trade-Offs
The discussion shifts to Expo's web capabilities, where Mike explains the promise and limitations of deploying React Native apps as mobile web applications. The dream of feature parity across iOS, Android, and web remains aspirational, as native plugins with platform-specific binaries won't work directly on the web target, requiring conditional logic and alternative implementations.
Mike also raises open questions about tree shaking and bundle optimization when sharing code between native and web builds. Scott brings up performance and SEO concerns, and Mike ultimately recommends using Expo's web target for simpler apps while keeping more elaborate web applications as separate projects that can still share components and business logic with the native codebase. The group also discusses whether Expo's web ambitions risk distracting from its mobile strengths, with Mike arguing the team has wisely kept web as a lower priority.
00:15:32 - Developer Relations and Networking Culture
The conversation takes a turn toward the developer relations ecosystem and networking within the tech community. Anthony reflects on how his networking skills grew out of desperation to break into the industry, eventually accumulating connections that he now leverages to help others, including introducing guests to shows and connecting developers with opportunities.
Jen shares her experience as a self-described advocate for beginners, and the group discusses how DevRel has grown significantly as a discipline in recent years. Mike frames DevRel as a sophisticated evolution of marketing's tribal philosophy, praising how the culture genuinely supports developers along their journey. The segment highlights how relationships and community engagement create compounding value for everyone involved.
00:27:11 - Web3, Tornado Cash, and Quantum Computing Fears
Anthony provides a Web3 update centered on the Tornado Cash controversy, where a privacy-focused fund-mixing protocol was shut down over money laundering concerns. He navigates the nuanced tension between crypto's decentralization ideals and the practical reality of operating within regulatory frameworks, noting that the debate looks very different depending on whether you live under a government that respects citizens' freedoms.
A Hacker Noon article claiming quantum computing spells the end of blockchain sparks further discussion. Anthony pushes back, explaining that quantum computing threatens all cryptographic systems, not just blockchain specifically, and that quantum-resistant algorithms can be developed using different mathematical foundations. The group critiques the article's clickbait framing, with Anthony noting this kind of sensationalism is precisely why he avoids most tech news coverage.
00:35:48 - First PRs, Learning Python, and API Documentation
Jen excitedly shares that she submitted her first pull request after watching BDougie's stream, describing how GitHub's workflow initially seemed intimidating but turned out to be more approachable than expected. She also discusses her experience learning Python after JavaScript, noting the challenge was less about Python's difficulty and more about constantly comparing syntax and concepts between the two languages.
The conversation then pivots to API documentation tooling when a participant asks about JavaScript equivalents to Python's FastAPI auto-documentation. Theo joins and makes a case for tRPC and GraphQL as superior alternatives to Swagger-style generators, arguing that type inference from the API itself provides a better developer experience than generated documentation. Anthony also shares an open-source library called API Doc as another option for RESTful documentation needs.
00:46:17 - Brand Twitter Trends and Audio Gear Talk
Theo reveals that he accidentally sparked a viral trend among developer brand Twitter accounts by tweeting single words like "HTML" and "CSS" from the Astro account, which generated impressive engagement. He coordinated with other accounts like SolidJS and PlanetScale, and woke up to find dozens of brand accounts joining in with their own single-word or emoji tweets.
The final stretch of the episode veers into a lively discussion about Rodecaster audio equipment, with Theo, Scott, and Daniel comparing their setups, discussing Bluetooth versus line-in connections, and debating the merits of the Rodecaster Pro versus the Rodecaster Two. The session wraps with Jen announcing Denver's upcoming Fintech DevCon and an API Denver meetup, and Scott reminds everyone to return next Wednesday at noon Pacific.
Transcript
00:00:00 - Scott Steinlage
Welcome. Let's make Daniel a co-host. Matt. What's up, Anthony? What's up? Okay, this seems really delayed. Holy cow. There we go. Sup, dude? Yeah.
00:00:28 - Anthony Campolo
We missed you last week.
00:00:31 - Scott Steinlage
Yeah, man. I'm actually in the middle of moving still today, and that's why I can't join with my profile. So I'll be the talking JavaScript Jam head today.
00:00:51 - Anthony Campolo
Yeah, you will. You're a talking microphone. A microphone speaking into the microphone.
00:00:57 - Scott Steinlage
Right. Mike. What's up? Welcome.
00:01:05 - Daniel
Hey.
00:01:06 - Mike
Hey. How's it going, everybody?
00:01:08 - Anthony Campolo
Yo, you should get Mike up here if he is interested. Hey, Mike.
00:01:13 - Scott Steinlage
Yeah.
00:01:13 - Anthony Campolo
Be a co author on my book.
00:01:15 - Scott Steinlage
I invited him to speak. Your book. Okay. What's this book we're talking about here, Anthony?
00:01:23 - Anthony Campolo
Yeah, I'm writing a Redwood book and I'm thinking of adding a co-author to help me with it.
00:01:30 - Mike
What's up?
00:01:31 - Anthony Campolo
Hey, hey, hey.
00:01:33 - Mike
What was that about being a co author?
00:01:35 - Anthony Campolo
I was saying I'm thinking about adding a co-author for my Redwood book to help me finish it off because, looking at where it is and what still needs to be done to complete it, I'm just like, oh God. Oh wow.
00:01:47 - Mike
We should maybe talk. The editing's been really easy. That's been pretty simple. They send me a chapter once every other month for editing.
00:01:57 - Anthony Campolo
Yeah. If you're interested, we'll definitely chat offline about it.
00:02:00 - Mike
Yeah, let's start. My plate might be a little full, but...
00:02:05 - Daniel
Right.
00:02:07 - Mike
Let's get some details either way. Got to catch up either way. Cool, man.
00:02:11 - Anthony Campolo
What's up, Jen?
00:02:14 - Scott Steinlage
Yeah, what's up, Jen? I invited her to speak as well. There we go. Cool.
00:02:20 - Jenn (Teach Jenn Tech)
Hello.
00:02:22 - Mike
Hello. Hey.
00:02:24 - Scott Steinlage
All right, so we've got several people in the room now. I'm sure more will be joining as we're talking, but welcome to JavaScript Jam Live. Everybody that's here knows how this rolls. Every week at 12:00 p.m. Pacific Standard Time, we jump on here and we talk about everything and anything JavaScript- and/or web-dev-related and have a good time doing it. Whether you're a beginner or you've been doing this for a very long time, we love to hear from everybody and anybody. In fact, that's where we typically get the most value and have the most fun, when the audience is contributing too. So if you feel the need to ask a question or you want to partake in the conversation at hand, please feel free to request to speak and we'll bring you up. No problem. We would love to hear from you and get the conversation going. So anywho, anybody have anything new that they'd like to bring up and/or discuss?
00:03:39 - Mike
I just got a couple of little blips that we don't necessarily have to discuss, but I just think they're cool. BlitzJS 2 is now in beta, and they've pivoted fully to be like a Next.js toolkit. So that's kind of cool. And the Expo people have been shipping like crazy. If anybody's into React Native, they caught up after being behind. Expo is an everything system for React Native, and it includes React Native in it. Their SDK was sort of parallel with React Native versions, and it fell behind a lot. Then they just recently rapidly caught up, added a bunch of other great stuff into it, and improved the application. So that's really exciting for anybody who's in the React Native space because they just make React Native even more awesome to work with.
00:04:36 - Anthony Campolo
Yeah, Expo has been on my list of things to check out for a while. Every now and then people bring up, you know, when's Redwood going to get React Native support? And the conversation inevitably goes to, well, if we can figure out a way to get it to work with Expo, that would be kind of the dream. So I think that we're trying to get in communication with the team, get some collaboration going there. So you've built apps with Expo?
00:05:02 - Mike
Oh, tons, tons. Our company uses Expo for all of our React Native these days. So if you need info on Expo, talk to me anytime. We've been developing React Native for years, but when Expo was new, it was great, though it didn't fit certain complex use cases, and now that's a thing of the past.
00:05:29 - Anthony Campolo
So you don't have to eject as much. That was kind of the main thing. You had to eject for anything that actually needed to be native, so it would get you part of the way there, but not all the way, which kind of defeats the purpose of an all-in-one toolkit.
00:05:42 - Mike
Yeah, that's exactly what I was going to ask. The ejection process moving away from Expo was pretty miserable a few years ago.
00:05:50 - Mike
Yep, it absolutely was. And now that problem, as far as I know, is long gone. I can't remember the last time we had to eject something. It was probably years ago. We ship apps with Expo in it, and they have two different workflows. There's a managed workflow and a non-managed workflow. But regardless, you can still leverage all the features and libraries that Expo has without having any blockages in your app or restrictions. It's become incredibly fine-tuned.
00:06:29 - Mike
Nice. That sounds awesome. I mean, I always loved working with Expo. Running into situations where I had to deal with ejecting just kind of put a damper on the life cycle when you're going through it, you know.
00:06:42 - Mike
Absolutely. Yeah.
00:06:44 - Mike
So I'm curious. We don't ever really talk about specific use cases and where people are working on different projects. Where do you see React Native being used pretty commonly these days? What kind of use cases?
00:06:58 - Mike
I mean, general purpose, really for everything. We've worked on apps that are everything from pure greenfield brand-new apps to inheriting existing codebases and scaling them. We've seen them in health tech, insurance, media. We did a React Native app for the Wall Street Journal. There was another one that we worked on, the Axios app, not the Axios JavaScript library, but the news company.
00:07:30 - Anthony Campolo
Yeah, they just got bought out for a ton of money, didn't they?
00:07:33 - Mike
They did, I believe they did. But their mobile app is built on React Native. We did a lot on that. So, I mean, there's lots of stuff on React Native these days, and from the things that I see, it's rare that I see a use case that is not well suited. The only use cases that I do see that are not well suited are outside of people using React Native...
00:08:00 - Daniel
Wrong.
00:08:00 - Mike
Which is a common problem. But if you want really performant native device functionality, then you've got to strongly consider it because the one limitation of the architecture is that you're using two threads. You've got the native UI thread, and you've got the JavaScript thread, which is what most of the React Native code runs through. One of the bigger challenges at scale, when you have a lot running on it, is how you offload that stuff to the native UI thread. And that's a bit challenging. But, like everything, I mean, so much on Coinbase is running on React Native. I don't know if it's still 100%, but they've written a lot of articles on React Native, and their app is pretty dope, in my opinion. Oh, Discord too. Discord, I think... I forget. I think at one time they were both React Native, and now definitely the Android is. I forgot if the iOS one is, but they have some React Native write-ups out there. I went off on a little tangent. I could rant about this stuff, though.
00:09:12 - Mike
Yeah, for a while, for me, I always preferred React Native, but I was happy to hop into Android Studio or use Kotlin or get on the iOS Swift path. And it was kind of like a war back in the day. Using React Native was an opinionated choice that could potentially cause all these different side effects. And I always enjoyed the experience so much more. It just felt more put together, especially with being an experienced React developer already. Hopping over to native was always what I preferred over native-native. But it feels like now, when you see React Native everywhere, whether it be job listings or sites and articles, it doesn't seem like it's as much of a war anymore.
00:09:54 - Daniel
Yeah,
00:09:56 - Mike
They've worked out so many kinks over the years in React Native itself. But then Expo has been a really big catalyst for it because the React Native core has the basic UI components and the basic application structure. And then Expo says, all right, well, let's do all the other things that people need to do and make that easier, like one-click sign-in with OAuth providers or more complicated UI. And the community too, there are other community libraries out there that are pretty great. But it's evolved a lot. I've worked with React Native since it was very young, and one big thing that was messy was the development tools. Those have evolved a whole lot, both the core React Native development tools and Expo's augmentation of them. So it's gotten much, much easier to work with.
00:11:00 - Mike
Yeah, that's exciting.
00:11:04 - Mike
You can even do web stuff with it now, like with Expo. I think we talked about this briefly on the FSJam podcast. Anthony, Chris was excited about React Native for the web, and that one's not crystal clear, but you can build a simple mobile app with Expo and export it to React Native Web. So you've got a mobile web version of it. You just have to carefully think about what packages you're using that are native versus web, and that's where you have to have some conditional logic. But you could export it and use the web version in Next.js, which is awesome too. There's still a lot of room for growth there. That's not nearly as streamlined as the mobile development for it, but it's got some cool promise there too.
00:12:03 - Anthony Campolo
I heard Jen is a multi-year veteran of React Native. Yeah, React Native.
00:12:08 - Mike
Jen Robinson.
00:12:10 - Anthony Campolo
No, no.
00:12:11 - Bro Nifty
Oh, sorry.
00:12:12 - Mike
Yes, that's right. We have another.
00:12:13 - Anthony Campolo
She is not.
00:12:14 - Jenn (Teach Jenn Tech)
No, yeah, no. Like, you mean by, you know, a few years? Like a few months, a month and a half...
00:12:23 - Anthony Campolo
Maybe a month of any programming, like JavaScript and all. Not React Native. You haven't done React Native yet.
00:12:30 - Jenn (Teach Jenn Tech)
I did. React something.
00:12:33 - Anthony Campolo
Yeah, exactly. That's the cool thing about React Native, is that it lets you take your React skills and hopefully port them to mobile. At a certain point, you should get someone on your stream to teach you React Native 101.
00:12:50 - Jenn (Teach Jenn Tech)
Yeah, I was going to say, Mike, you've been talking about it. You want to be on the show?
00:12:54 - Mike
Sure, yeah. That sounds fun.
00:12:56 - Jenn (Teach Jenn Tech)
You're like, I don't even know what show you're talking about.
00:12:57 - Mike
But yeah, I love being on shows in general. Shows are my thing.
00:13:04 - Jenn (Teach Jenn Tech)
It's called Teach Jenn Tech, and what happens is you get to teach me how to do something. Although I will say that you may have to tell me, I'm getting a lot better about this, but knowing when to put spaces, and, as I get yelled at often, commas. I always forget my commas.
00:13:25 - Mike
We all do. That's why we rely on our editors to do it these days. But that's totally okay and it's all part of the learning process. But yeah, I love teaching people stuff so I'd be glad to reach out to me anytime.
00:13:40 - Jenn (Teach Jenn Tech)
Yay. Will do. Thanks Anthony. Good looking out.
00:13:44 - Anthony Campolo
Anytime.
00:13:46 - Mike
Anthony's the master connector in JavaScript land.
00:13:50 - Anthony Campolo
Yeah, I'm pretty good at finding people as guests for shows. It's like once you... There's only so many people who go out and do DevRel-y kind of stuff. So I find once you meet a crew of people, you're gonna know like 90% of the people who would even be willing to join a show like that, you know.
00:14:09 - Mike
I gotta give you props. I've been in this industry 20 years at this point, and I haven't been hanging out with DevRels for that long. I mean, DevRel wasn't a thing for that long, I guess. But you're just very deeply submerged in it, and you've already introduced me to so many people. So I appreciate that, man.
00:14:35 - Anthony Campolo
Yeah, networking is definitely kind of its own skill unto itself for me. I was just so desperate to break into the industry. I went all in on it and tried to meet as many people as I could who knew as many people as they did. So it was kind of a self-preservation tactic. And then once I got to the point where I actually had a job and wasn't in that scarcity mindset anymore, I was like, oh wow, look at all these connections I have now. So I'm happy I can help other people leverage those because, you know, you just have to start. The thing with DevRel is that DevRel people are purposely meant to go out into the community and meet others. So once you meet other DevRels who know a lot of other DevRels, it's like that network effect. Most people who know everyone, they all know each other. So you've got to kind of get yourself into that circle. And most of the DevRel people I know, they're very open to introducing people to other people, and they'll help you get going pretty quick.
00:15:32 - Anthony Campolo
Jen, I think, is a testament to that.
00:15:36 - Jenn (Teach Jenn Tech)
It's true. I like to say that I'm the DevRel for beginners, you know, to give them some advocacy until I get a real job. But yes, there are so many people that I'm like, oh, you do know who they are. Yay. There's not a lot of times that I get to say, do you know this person, and at least one of the top five, the other person will know them.
00:16:15 - Scott Steinlage
Awesome.
00:16:15 - Daniel
Scott disappeared.
00:16:16 - Anthony Campolo
Oh, there he is.
00:16:18 - Scott Steinlage
Yeah, no, it was kind of choppy and I couldn't tell if she was done talking or not, but yeah, awesome. So good to hear all the wonderful connections being made. Yes, DevRel is an even more up-and-coming conversation. It's continuing to grow by leaps and bounds, especially the last couple years. I feel like lots of DevRel teams are growing out and focusing on that piece of it very specifically when it comes to developer advocacy or developer relations or whatever you want to call it. So it's exciting stuff.
00:17:04 - Mike
I think it's a really interesting adaptation to essentially understanding your tribe, right? In the marketing world, that's kind of how we've always thought about it. But DevRel is essentially a different take on the same thing. I think it's really cool how they've developed an entire culture around the tribe. And I love hearing Anthony come in and talk about the networking and how everything is happening currently in the space. It's definitely a true testament to that philosophy of marketing, really dialing into who actually cares and loves what they're doing, understands the ecosystem and space and how it's growing, and helps people along their journey to make decisions.
00:17:49 - Scott Steinlage
Absolutely. Providing that value, you know, that's a big piece of everything. If you can provide value, there are so many different byproducts that are going to make the difference in everybody's journey, and your own, obviously, right? So it's awesome. Love to hear it. Cool. Well, lots of great talk there. We're almost halfway through here, but lots of great talk there on React Native and all the wonderful things that it has to offer. Really looking forward to hearing more conversations about that in the near future as things progress. So, yeah, Mike, actually, quick question. As far as being able to use that to launch a web app essentially too, I know what you said it was exactly, but what are the negative side effects of that? Why would someone want to go that route versus, say, use React Native specifically? Obviously I know it would be because they want a web app, but what are some of the negative side effects from that, or whatever you would say?
00:19:18 - Mike
Yeah, yeah. So there are pros and cons and trade-offs in everything in tech. The dream for many companies that have an application is that you've got feature parity on every platform, right? If anybody who had a software business had a magic wand, they would want one codebase where you write everything once and it deploys and works exactly the same on iOS, Android, Apple TV, Apple Watch, desktop, and everywhere. Ubiquity, right? Of course, it doesn't work that way. But React Native and Expo, on those platforms, iOS and Android, have gotten really good at the parity. It's pretty close to write once and deploy to both. The web version is the one that isn't. And the reason you'd want to do it is that if you've got functionality that's simple enough and you want it to just work really well as a mobile web app, then you can have that feature parity between the native and browser version, and you can market those and engage users a little bit differently.
00:20:34 - Mike
The downside, which is what your real question was, is that, number one, you can't just take an already built React Native app that uses a lot of native plugins and deploy it as a web app. It's not going to work.
00:20:54 - Daniel
If you
00:20:54 - Mike
If you use a React Native plugin that relies on non-JavaScript code, so it has native binaries for iOS and Android, that's not going to work exactly as you expect on React Native Web. So you'd have to have some conditional code, which React Native does make really easy, but you'd have to have some conditional logic for handling that differently. So, for example, let's say I use a UI component like Magic Checkbox, if that exists.
00:21:27 - Daniel
Sure.
00:21:27 - Mike
And I'm just making something up. I haven't...
00:21:32 - Scott Steinlage
No, that's fine.
00:21:34 - Mike
Let's just say you pull in a React Native library for a Magic Checkbox that's really cool and animated, and you use it in your React Native app and it works fine on iOS and Android, but it uses native code for both of those platforms. Then when you use an Expo web target to deploy the web version of the mobile app, you're going to have to have alternative code that works for the web app and does something different. Either it's custom code or it uses a web-only library. That's the biggest thing that I can think of to keep in mind. The other thing that I don't know offhand is how those packages are managed from a tree-shaking perspective. If you've got a package that's only used in the native app and then you've got another one that's only used in the web app, does it get distributed the right way? Is it not included in the web bundle, but it is included in the native bundle, and vice versa? I know that React Native in the past didn't have webpack under the hood, so you don't have as clean tree shaking. There are tools that you could use as different bundlers in React Native that'll let you do tree shaking, but I haven't personally worked with them and I don't know how that affects Expo's web target.
00:23:00 - Mike
So those are considerations. It's stuff that I'm not sure on, but there's probably more detail for it out there. Those are some of the things that I'd keep in mind. And optimization is really about optimizing mobile-device performance for the web.
00:23:18 - Anthony Campolo
Right?
00:23:19 - Scott Steinlage
Yeah. And another thing I was concerned with is, say, the performance of things, right? And then considering other things too, like SEO and stuff like that when it comes to performance, or even UX, user experience, throughout the process, and how that correlates. Yeah, it's interesting. I just know, you know, when Chris was excited. Go ahead.
00:23:49 - Mike
Yeah, sorry. One thing to sum up is that I'd explore that web target thing for simpler app use cases, but for more elaborate stuff, generally I'd say do something separate. But you could still share components or business logic between a native app in React Native and a web app in React Web. But I wouldn't use the web targets for extremely elaborate apps at this time.
00:24:18 - Scott Steinlage
Yeah, definitely. Well, thank you for sharing all that from someone who's working with all this and knows the ins and outs of it for the most part. So that's awesome. Always good to learn from others. Welcome. I see Eric joined us, and Brad as well, Brad Adams, and I think Jason joined us a little bit before that. So welcome to the room, guys. You know the deal, you know the spiel. If anybody wants to jump up and speak, feel free to request, and I'd be more than happy to bring you up and join in on the conversation or even create a new topic. But as you heard, we were talking a little bit about React Native and all that wonderfulness there. So anybody else have anything else they'd like to bring up today?
00:25:22 - Mike
I am kind of curious, Mike. Do you think that Expo is kind of muddying the waters by getting involved in web?
00:25:33 - Mike
Not necessarily, no. It really depends. I could see that being a possibility if they were to distract themselves from being really good at mobile first, but I don't think they do. I think they're still acing React Native for mobile. I think they've wisely kept the web portion of what they do as less of a priority, so it doesn't take away from how good they've been doing mobile stuff. And as a result, I don't think it'll really get amazing until they give it that level of attention. But I think that's how I would scale something, right? Make sure you stay good at the thing that you're really good at, and if you start to expand into the other stuff, do it carefully. So I don't think it's muddying the waters. I think it's got the potential to be something really great in addition to what they've already done for mobile. I just don't think it's there for so many use cases yet. But it's got some potential.
00:26:40 - Mike
Yeah, that makes sense for sure. It's definitely interesting to see where they go with it. I mean, the user experience is great. Developer experience.
00:26:49 - Mike
Yeah, yeah.
00:26:54 - Scott Steinlage
Yeah. And that's important, you know, to be able to churn out things and enjoy utilizing it from a developer perspective. You want to enjoy what you're trying to make during the process as well, right?
00:27:10 - Mike
Oh yeah, absolutely. I'm curious, Anthony, what's the lowdown on Web3 this week?
00:27:21 - Anthony Campolo
Oh, I mean, I don't know. There's always stuff happening all the time, so I don't know if there's any hot things this week that would be worth bringing up. Right now we're still kind of in the bear market, so people are kind of heads-down building, it seems like. But the big thing was Tornado Cash, where it's a system that allows you to move funds anonymously, and it got shut down because of fears of it being used for money laundering and stuff like that. And so there's kind of a huge crisis of conscience among people whether to go along with that or to push against it, and what it means for the state of crypto. Because the point of crypto is to kind of be outside the control of governments and things like that. But at the same time, companies like Coinbase obviously need to operate in a country while complying with laws. So that was probably the most interesting thing that happened. I think it almost helps make the case for crypto when stuff like that happens.
00:28:34 - Anthony Campolo
Because a lot of people, when you talk about crypto and why it's useful, they'll be like, well, I'm not doing anything wrong and I don't really have an issue with complying with the government's laws and stuff like that. And I think that's a good take. But at the same time, that's a take that you can only really make when you live in a first-world country with a government that has sound laws and respects the freedoms of their citizens. So, yeah, that's more of a political argument than anything else. So I try not to dive too deeply into that.
00:29:08 - Mike
It's funny because I typically don't see anything on Hacker Noon come out about Web3. I mean, every once in a while you see an article here or there. But of course, the big highlight article of the week was around "the end of blockchain is near because quantum computing is speeding up." Of course they go that direction.
00:29:28 - Anthony Campolo
Well, you could say the same thing about literally any system that uses cryptography and encryption, because the whole point of quantum computers is that they'll allow you to speed up computation. The thing that makes encryption secure is that it's a math problem that would require a computer millions of years to solve. So if you create a system that can do math problems a million times faster, then that may break all the encryption. So I think that's not a fear that is specific to blockchain. It's more so for anyone using encryption at all. But I don't think it's a real threat right now. Quantum computers and the tech itself are still decades away, and by the time it gets here and has those capabilities, we could build new blockchains that are quantum resistant. You just have to use different algorithms, because the algorithms that we currently use are based on factorization, and that is what's going to be specifically solved by building a quantum computer. So it's just kind of a happy accident that quantum computers happen to break the thing that makes encryption possible.
00:30:34 - Anthony Campolo
But that doesn't mean we have to write our encryption this way specifically, right?
00:30:38 - Mike
No, for sure. And I mean, I've gone down the quantum route as well. And when you go through and read it, the article specifically focuses on why it's the end of blockchain. And I thought that was an interesting take on it. Like, let's not talk about cryptography or anything specific. This has to be the only reason quantum computing is coming around, because it's going to be the end of blockchain. And I thought that, for Hacker Noon, it was a very opinionated piece. And I just thought it was interesting how they highlighted it because they never highlight Web3 content. And of course, that was the one they chose to go with this week, qubits being the end of blockchain.
00:31:18 - Anthony Campolo
Yeah, it doesn't surprise me because that's something that's going to get clicks. And this is why I don't read much tech news.
00:31:24 - Mike
Yeah, makes sense.
00:31:31 - Bro Nifty
Hi everyone, thanks for adding me. I had a quick question for Anthony. Hey Anthony.
00:31:37 - Daniel
Hey.
00:31:38 - Bro Nifty
Are you familiar with this guy, goes by the name of Banteg, B-A-N-T-E-G? And he has kind of like a rabbit avatar, which is sort of a purple hue with red eyes or whatever. And now currently it looks like... it's hard to describe, but I'll post you the pic. Anyways, he posted this thing and I didn't know whether to like it or not. First of all, I don't know if it's going to get me in trouble, but second of all, I almost don't know what it means. But he says, "If you rushed to code compliance solutions this week... I congratulate you on unveiling your inner Fed." And it has that meme of the guy walking with his girl, his girlfriend looking at another girl, looking away, and then his girlfriend's mad. It says "unexplored [unclear] tech" is what he's looking at, and he's an Ethereum engineer. And then the censorship-resistant, permissionless tech is his girlfriend. So I don't know, I could DM you. I didn't know.
00:32:50 - Bro Nifty
Yeah, you could. What are you able to do?
00:32:54 - Anthony Campolo
You know what he's getting at?
00:32:55 - Daniel
Yes, exactly.
00:32:56 - Bro Nifty
What he's.
00:32:56 - Anthony Campolo
Yeah, I mean, it's almost certainly the Tornado Cash thing, which I just mentioned, because the kind of narc-ware tech is like, are you building a system that, if someone does something illegal with it, will allow you to immediately turn around and give that person's information to the authorities? This is why I say this is really a tough thing to answer, because it's a question of how you feel about the authorities in your own jurisdiction. Sometimes that'd be a good thing, sometimes that'd be a bad thing. It's not really a simple solution because I think that there are countries where there are governments that you don't want to actually comply with because they're not doing good things. I don't think that's necessarily the United States government. So that's kind of the context, what he's referring to. I'm not going to take a strong stance on whether we should be either going towards the stuff or going away from it. I think that for me, I'm more interested in giving people more freedom in their choices and tech and things like that. So I think that's usually a good thing.
00:34:02 - Anthony Campolo
But that doesn't mean I think that we should ignore all laws everywhere in the world, that laws are bad. I don't think that. So it's a nuanced conversation.
00:34:13 - Bro Nifty
I guess. He likes to write in Python, and he hypes this framework called Vyper or something like that. I don't know if you've heard that.
00:34:23 - Anthony Campolo
Yeah, Vyper, I think, is the competitor to Solidity. It's a language for writing smart contracts.
00:34:29 - Bro Nifty
Okay.
00:34:30 - Daniel
Yeah.
00:34:31 - Anthony Campolo
I imagine most people in the audience probably don't really care about any of this stuff, honestly.
00:34:35 - Bro Nifty
Yeah, probably not. Just as a tangent off of the Web3 discussion.
00:34:39 - Anthony Campolo
Yeah, no, for sure.
00:34:40 - Mike
Yeah.
00:34:44 - Scott Steinlage
That's a great, great question. And yeah, I don't know how many...
00:34:47 - Anthony Campolo
Times I've seen that meme. CEO just hopped in, by the way. Mark [unclear], from StepZen, a competitor to the last company I worked for. They build sweet GraphQL API mesh tech.
00:34:59 - Scott Steinlage
Nice.
00:35:00 - Daniel
Nice.
00:35:01 - Scott Steinlage
Yeah, that meme. I think everybody has seen that meme with something. I knew exactly what you were talking about when you said it, so that's funny. Yeah. For those who just stepped in, welcome to JavaScript Jam Live. This is where we talk about everything and anything JavaScript, and even web-dev-related stuff, Web3 stuff, all that. So yeah, it's good fun. If you are new or you've been doing this for a long time, it doesn't matter. We love to hear from everybody, so feel free to request to come up and speak, and you can join us up here and ask questions. Yep. What's up?
00:35:47 - Anthony Campolo
I'd be curious, Jen, what it was like learning Python. You just did Python on one of your recent streams.
00:35:55 - Jenn (Teach Jenn Tech)
I feel like this is the entire reason that even if I want to tune out, I need to pay attention because Anthony will just randomly bring me up. What? What? Yeah, well, I was gonna say, before I go into learning Python, I submitted my first PR and I'm very excited about that. So I thought I would share.
00:36:17 - Anthony Campolo
Yeah, tell that story. How'd your first PR go?
00:36:20 - Jenn (Teach Jenn Tech)
Oh, that was confusing. I think that's a big reason why I haven't looked into open source yet, because GitHub was confusing in the sense of not wanting to break their content and then being able to clone it on my own computer. It just didn't make very much sense. But I was watching the... what's his name?
00:36:51 - Anthony Campolo
BDougie.
00:36:51 - Jenn (Teach Jenn Tech)
BDougie. Why was I blanking on it? I was trying to mix them all up. I was watching his stream yesterday, his Twitch, and I was just like, now I want to do one. This looks fun. And I'm messaging Ben and just going, how do you even do this? So Ben showed me really quick, and I was able to submit it. I was very excited because it's not as complicated as I once thought it was. It's just going to take a lot of repetition, as does everything. But to answer your original question, how is learning Python? It was complicated, but I don't think it was necessarily Python's fault as much as it was comparing it to so much of what I already know and realizing that JavaScript does have a version of it, even though it may be called something else or it's a tool that can be used for both.
00:37:58 - Anthony Campolo
Yeah, I haven't done a ton of Python myself, but I've done enough to kind of get the gist of it, and I find that it's probably one of the easier languages to learn after learning JavaScript, compared to, like, if you're trying to learn a straight-up functional language. It might be a bigger leap.
00:38:13 - Scott Steinlage
Yeah, I agree. I mean, the syntax is very much like writing, right? Like English or something. So it's much easier than some of the things out there. I agree. But then again, honestly, when I tried it, because that's what I jumped into first before getting into JavaScript and stuff, was messing with some Python. And honestly, I didn't like it as much as when I got into JavaScript. So I don't know if that says something, but I don't think it's necessarily about being easy that would make you want to do it and keep doing it. It's like, what you like is what you like. I'm sure everybody has their favorite language, right? Even though it might be something that not a ton of people use, it might not be JavaScript. It could be something else completely different, right? So I don't know, like Go. There's not a ton of Golang people out there. There's a decent amount, right? It has its own corner, its own niche, but there are a ton of people that love to write Golang, right?
00:39:20 - Scott Steinlage
So I don't know.
00:39:21 - Anthony Campolo
Well, they're more in the microservices kind of area because if you're in web, you're doing JavaScript, and you could use these other languages to a certain extent with web. Go is being used for things like esbuild, but unless you're building that infra layer for web, chances are you're just going to be writing JavaScript. But if you're doing literally anything else, you're probably writing another programming language. It just doesn't really make much sense to use JavaScript as a backend for microservices. Even though you could do that, it might not be the most advisable thing to do.
00:39:56 - Scott Steinlage
Why wouldn't you use Node for that?
00:40:00 - Anthony Campolo
Well, I mean, you could, but Go is going to be smaller and more performant, and that's really what you want for a microservice.
00:40:07 - Scott Steinlage
Exactly. Yeah. We're all about performance, baby.
00:40:11 - Bro Nifty
Yeah, the containers and all that stuff are all written in Go, like all of Docker is written in Go, all that stuff. So that's kind of neat. But yeah, as far as other languages and JavaScript interop and stuff, I haven't looked deep into it, but isn't Wasm... the idea that you use some language and it compiles down to JavaScript and runs as JavaScript in the browser? Is that how that works?
00:40:38 - Anthony Campolo
Basically it compiles down to a type of assembly language that makes sense to the browser, which involves interop with JavaScript, I think. But the main idea is that you could just write another language for a client-side application. The most popular one being Blazor, which allows you to then write C# in the browser. I've been hearing more people talk about Blazor recently. It seems like it's starting to pick up steam, which is cool. I like other programming languages. I think it's great that more options are available for people who want to write things that work in the browser.
00:41:14 - Bro Nifty
Our favorite product is in here, Theo. I had one quick question if anybody has any idea, because we were talking about documentation in this space somewhere at some point. I found this neat tutorial from WayScript on FastAPI, speaking of Python, and it auto-documents your API. It gives you the, what used to be called Swagger, OpenAPI. It gives you that whole Swagger documentation based on when you write the routes and you write your API and stuff, and you have to put a little type stuff in there too so it understands. You can't have an OpenAPI spec without some
00:41:52 - Mike
kind of typing, you know, this is
00:41:54 - Bro Nifty
a string, this is a boolean or whatever, and it does that automatically. I was wondering if we have anything similar to that in JavaScript, or if there's some way that we can... You know how, like, StepZen, you can sit up on top of
00:42:05 - Anthony Campolo
Yeah, I was gonna say GraphQL stuff kind of has that to a certain extent. I think stuff like that is nice and it's better than nothing, but it tends to encourage people to just do that and then not write actual docs. And I think an API reference is not what I necessarily consider documentation. I guess it's like a subsection of the overall documentation. But I'm sure there are other tools like that for REST endpoints for JavaScript.
00:42:32 - Daniel
I'm just thinking, like, I totally agree. I actually do really like OpenAPI Swagger-doc-type generators. And I think that they don't get quite enough love in the JavaScript world because we had GraphQL so early. We just kind of leaned into that and ignored the generator tools. There are a few things that do it, but I can't remember any of their names off the top of my head. I think that NestJS has something, but there are no good reasons to use NestJS, and that certainly wouldn't be one of them. But yeah, if you Google searched it and named three, I could probably tell you which ones I've used, but I can't remember off the top of my head which ones I liked.
00:43:04 - Scott Steinlage
How's that new webcam for you, Theo?
00:43:09 - Daniel
Oh, it's life changing. I feel so much better.
00:43:17 - Bro Nifty
I was just thinking about the shortest distance between two points, and the laziest path possible, to even jump into something that's totally unfamiliar or irrelevant just for the sake of letting it do a task for me so that I can get back to really what I want to do. And looking at whatever it's called, I thought it was Fast... I thought it was RapidAPI, but no, it's FastAPI, something like that, that auto-documents. If we had something like that in JavaScript to auto-document... Okay, so Theo is saying that Nest has that. I wonder if it would almost be worth jumping through the hoops of Nest just to get that auto-documentation, and then see if you can reverse-engineer it to put it in something simpler.
00:44:00 - Daniel
Real crazy thought. What if you didn't need to do that because the types of your API functions were inferred off of the API itself using something like GraphQL or tRPC? I think that web dev has gotten to a point where it's evolved past the need for Swagger-doc generation, and the effort there is good if you have many different clients and many different servers consuming that API in many different ways. But generally speaking, when you're using JavaScript for your backend, that isn't the case. So it's a much more reasonable compromise to make to go with something like tRPC or GraphQL because you have a much better experience with the codegen, with the type safety across boundaries, with the documentation, with the interop experience, whereas the codegen stuff is more a nice-to-have in between different services that work different ways.
00:44:47 - Bro Nifty
Okay, so would you say maybe that's one reason why you don't like Storybook? Because tRPC auto-generates docs, and what is the actual final product?
00:44:56 - Daniel
I don't like Storybook because Storybook is bad for everything other than testing a component library. It's a fundamentally different thing. Storybook is inverting the flow of how you develop your applications out of the application into the components. I don't hire component developers, I hire application developers. There's no reason for them to be using Storybook.
00:45:13 - Bro Nifty
Cool. What is the final product of the actual documentation? Like, if I just wanted to say, I want the Theo docs for this app for paying or whatever, is there a documentation page where I can click, like how Swagger has "Try it out"? Can I do that with those docs for tRPC?
00:45:30 - Daniel
You clone the repo, you go to the client, you type trpc., and it autocompletes everything you'd ever want to do. That's my documentation. It's autocomplete. If we wanted to, there's a tRPC OpenAPI generator plugin that will generate OpenAPI docs like what you're describing off of my tRPC router directly. So if I wanted that, I could do that, but I don't. I just want to infer the types off of the things I'm calling.
00:45:56 - Bro Nifty
Very cool. Thanks.
00:45:57 - Anthony Campolo
I dropped something. I replied with APIDoc. This is a library. It has almost 10,000 stars. Restful Web API Documentation Generator. So this looks like the thing you might want to be looking at. Okie dokie.
00:46:17 - Daniel
How are we feeling about the one-word-plus-emoji brand Twitter trend I accidentally kick-started?
00:46:24 - Anthony Campolo
It's pretty funny. I don't know if other people have even seen that, and they may not notice it's even a trend if they just saw one or two examples of it.
00:46:34 - Daniel
We've documented at least 20 in my Discord so far. It's pretty absurd.
00:46:40 - Anthony Campolo
You should explain for the crowd.
00:46:44 - Daniel
So I recently got ahold of the credentials for the Astro Twitter account and have been having a lot of fun with it, mostly just tweeting single words. The one that did well, that I was proud of initially, was I just tweeted HTML from the Astro account and nothing else, and it was one of the best tweets in terms of performance and impressions that the account has had. So then I did another one, just tweeted CSS, and that did pretty well. So I talked to the Solid guys, got them to tweet open-closed parens, talked to a few other people, got them to tweet single things or characters or emotes, and then I woke up today to every single brand Twitter account in the software-dev space tweeting an emoji or a single word.
00:47:26 - Scott Steinlage
That's awesome.
00:47:31 - Anthony Campolo
Yeah.
00:47:31 - Daniel
The one I'm most proud of that I directly wrote was I got PlanetScale to tweet just SQL and nothing else. The best one I've seen so far is Vitest, which tweeted just a green check-mark emoji.
00:47:52 - Anthony Campolo
Awesome. Winning Twitter through memes. The only way to win Twitter.
00:47:59 - Scott Steinlage
Nobody knows. It's a constant change, constant battle. Yeah. So thank you all for joining us today for JavaScript Jam Live. It's been a lot of fun talking about React Native, talking about Python, talking about several different things, and it's been fun thus far. Lots of great value. And I swear, this thing always gets super hype right around 50 minutes in. It's like I told you, you got
00:48:42 - Daniel
to do at least two hours for a Twitter space to be worth it.
00:48:45 - Scott Steinlage
I think you just said that so that you could keep us rolling here, Theo.
00:48:55 - Daniel
Yeah, I was just finishing prep for my stream, which, by the way, obligatory plug, in the next 10 to 30 minutes I should hopefully be live if I can get my shit together. So, Twitch TV Theo, we'll be talking
00:49:03 - Anthony Campolo
about UI frameworks I think.
00:49:05 - Scott Steinlage
UI frameworks.
00:49:06 - Anthony Campolo
That's right.
00:49:08 - Scott Steinlage
Cool, cool, that'll be fun. So yeah, feel free to join up with Theo here in about 10 to 30 minutes and listen in on his wonderfulness. He's always got some great conversation, that's for sure.
00:49:25 - Daniel
It's a range.
00:49:26 - Scott Steinlage
Yep. And what's up with those late-night talks lately, dude? You've been getting on it, like, well, my time, like midnight, one o'clock. I pop on Twitter real quick and I'm like, dang, they're up late chatting about just randomness.
00:49:40 - Daniel
So historically I've had 11 p.m. to 2 a.m. as my prime code hours because there's nobody around and I can just go code. But I haven't had as many lately because I'm actually doing my job as CEO and delegating shit. But I still want to fill those hours with tech stuff. So I check a few Twitter Spaces. They're all just hiring shit, posting stuff like how to get your first job as a new developer. That's cool that all that exists, but there's enough content on YouTube for it. So I'll make a Space passive-aggressively just so I can talk about tech for a while. Out of nowhere, Ryan Carniato and Jay Phelps show up and just talk about reactivity for two hours straight, and then I'm trapped. But yeah, that's what's been happening, is I make a Space so I can talk tech for a bit. People who I worship show up and talk about way cooler things, and I just sit there and smile
00:50:25 - Mike
until one in the morning.
00:50:28 - Scott Steinlage
Nice. Yes. That's how you roll. Cool, man. That's good. Awesome. Yeah, I wasn't sure if you started a new thing or what you were doing, but glad to hear.
00:50:37 - Daniel
Oh, one funny thing before I forget. You're on the Rodecaster one, right?
00:50:41 - Scott Steinlage
Yeah, I am.
00:50:43 - Daniel
Are you using the line in or the Bluetooth for your audio to your phone?
00:50:48 - Scott Steinlage
I have the option for both. I tried line in, but actually I don't have TRRS. I just have TRS, so it wasn't working properly. So I've been using Bluetooth, but yeah, good to know.
00:51:03 - Daniel
The two doesn't support the line in, and I've been having a lot of bugs with the Bluetooth, so I was a little disappointed that there's no option for me to do the line in because that tends to be more reliable. But it's actually good to hear you've had more problems with that than with the Bluetooth, so I'm a little relieved in that sense. The one... yeah, the Bluetooth, it's such a good device.
00:51:20 - Anthony Campolo
Oh, I love it, man.
00:51:21 - Scott Steinlage
Yeah, I want to get the two just because it has the plug-in for instruments too. And I thought maybe, I don't know, I probably would never use it. I just thought it'd be cool to have it.
00:51:34 - Daniel
But then again, I think the main reasons to get the two are you need the preamps and you're tired of lugging them around, and you might need more than one. The fact that you could have four SM7Bs plugged into that without any preamps or any external processing is absurd. And if that's the reason you're getting it, it's worth it. Almost anything else, and I think the one is fine.
00:51:56 - Scott Steinlage
Yeah, I guess no Cloudlifter needed, right? So yeah, yeah.
00:52:01 - Daniel
The built-in pres are insane. Insane. I am very impressed with the quality of sound I'm getting out of them. I didn't think I would, because I'm so picky, but it sounds slightly better than Cloudlifter.
00:52:11 - Scott Steinlage
Yeah. Daniel has the one as well. But Daniel, do you have any preamps on yours, or are you just...
00:52:19 - Mike
I did not get any preamps. I just bought the first version. The second version wasn't out yet, otherwise
00:52:26 - Daniel
I probably would have got that one.
00:52:27 - Scott Steinlage
Same. Yeah.
00:52:29 - Daniel
What's the mic you're rocking though?
00:52:30 - Mike
Right now I have the Rode Procaster mic. I don't really remember the exact one I just bought. Like, yeah, whatever was recommended. The top-of-the-line one.
00:52:43 - Daniel
for all of it. Interesting. I think that the reason that people weren't recommending the SM7B is because you would also have to add a preamp because the mic's just so freaking power hungry.
00:52:51 - Scott Steinlage
True.
00:52:51 - Daniel
But the fact that you don't now makes the Shure mic a better fit for the Rode Procaster, which is funny because before that was not the case. I own a lot of Rode gear, and the only piece of it I'm using is the Rodecaster. Pretty much everything else is set aside in favor of other things now, but it's such a good centerpiece for all of that. I'm blown away.
00:53:12 - Anthony Campolo
Right.
00:53:13 - Scott Steinlage
Yeah, that makes sense. It's funny how similar your desk is to mine.
00:53:17 - Anthony Campolo
Right.
00:53:18 - Scott Steinlage
I saw the picture of it. I was like, yep, I got my Dell vertical and I got my LG 34 in the center and then my Rodecaster on the right. Yeah. So anyway, that's hilarious.
00:53:30 - Anthony Campolo
We're all a type.
00:53:31 - Mike
Yeah. I actually haven't connected my phone to it at all yet. That's the only thing I haven't done in general.
00:53:42 - Daniel
Haven't messed with it.
00:53:44 - Scott Steinlage
Yeah, it's. I don't know. I like it.
00:53:46 - Daniel
The routing. It's pretty cool.
00:53:49 - Scott Steinlage
Yeah, I actually like it because I use it for phone calls too. If I'm in my office, it's automatically connected to the Rodecaster, and if I have the headphones on, I'll listen to music through it. I'll do all that.
00:54:00 - Anthony Campolo
Like, it's crazy what...
00:54:01 - Scott Steinlage
How much stuff I use it for now. Yep.
00:54:05 - Daniel
The only problem I had is I would, like, listen to music or play a game on my computer and then be on spaces on my phone. And by default, the routing would send my computer audio to my phone as part of the inputs. You could be getting kills in Call of Duty, which was miserable. They sent out a firmware update and added a hacky routing window where you could click each output and uncheck specific inputs on it. So that saved me.
00:54:27 - Scott Steinlage
That's. That's super cool because normally I just mute out that line.
00:54:30 - Anthony Campolo
Right.
00:54:31 - Scott Steinlage
So that's cool. Awesome.
00:54:36 - Mike
Well, we...
00:54:36 - Scott Steinlage
I know we went a little off-topic there, but hey, you know what? It's all part of the process, folks. That's how we're connecting with you all and having a good time here today. So yeah, it's exciting. By the way, we got like five minutes left before the end of the hour here, and I would keep the talk going, but unfortunately I do have to keep moving here. I'm sitting here looking at the moving van, and it's like, hey, come pack me with more crud. I don't really want to, but gotta get it done. But yeah, I appreciate y'all coming here and taking your time in the afternoon to spend it with us, hanging out, talking JavaScript and web-dev stuff. Anybody have any last-minute thing they would like to discuss or chat about here for the next four or so minutes?
00:55:33 - Daniel
Finish my makeup. See y'all later.
00:55:36 - Scott Steinlage
All right, Theo, man, go join him if you want to listen to more fun conversation, as always. Awesome. All right, y'all. Well, hey, if you got value today from anybody on the stage here in particular, feel free to click on their face or their donut or whatever they have there and give them a follow if you aren't already. Because obviously, if you are getting value from them here, you're probably going to get value from them in other places. So do that. Also give us a nice little follow if you haven't followed us yet. Come on. We the bee's knees, y'all. What's up? Anyway, give us a follow, and yeah, thank you.
00:56:21 - Jenn (Teach Jenn Tech)
Really quick, I have something that I keep forgetting to talk about. If anyone's here in Denver, Fintech Devcon is going to be here next weekend, and the API Denver meetup is going to be hosting an event as well. So hit me up if you want the details for that. I need to start.
00:56:43 - Anthony Campolo
There you go talking about that.
00:56:44 - Scott Steinlage
Awesome. Yes. If you're in Denver, or if you want to go to Denver, hit up Jen and she'll give you the lowdown on the events happening out there. So awesome. Thank you all so, so much. Greatly appreciate it. Remember, next week we will be here once again, Wednesday, 12 p.m. Pacific Standard Time. Put it in your calendar. Give yourself a reminder, put it on a sticky note, stick it to your monitor. You could even write it on your bathroom mirror. If you want to take a picture, tag us in that sucker. And yeah, you'll be just as cool as us. No, I'm kidding.
00:57:26 - Anthony Campolo
All right.
00:57:26 - Scott Steinlage
Just... we'll see you next week. Thank you all so much. Greatly appreciate it. No outro music today. I'm not hooked up to the Rode. Maybe we'll just do some beatboxing. All right.
00:57:43 - Mike
All right, sounds good. See everybody.
00:57:45 - Scott Steinlage
See you later. Next week. Peace, peace, peace.