Keyframes, Cash, and CodePen W/ Shaw ![rw-book-cover](https://img.youtube.com/vi/_3zbHSTn-k0/maxresdefault.jpg) ๐Ÿ”— **Source:** [Keyframes, Cash, and CodePen W/ Shaw](https://www.youtube.com/watch?v=_3zbHSTn-k0) > [!note]+ Document Notes > tags: #webdev #codepen #performance #animation #serverside-rendering > author: Whiskey Web and Whatnot > source: YouTube > reference: https://www.youtube.com/watch?v=_3zbHSTn-k0 > date created: 2024-12-19 15:30 > > # ๐Ÿท๏ธ Title: Keyframes, Cash, and CodePen w/ Shaw > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Consider WorkTree vs branching for parallel development workflows โ€” discussion at 10:30 #git - [H2] Evaluate React Server Components migration challenges โ€” Shaw's experience at 15:45 #react - [H3] Explore thin vs thick client architecture decisions โ€” CodePen's approach at 35:20 #architecture ## ๐Ÿงญ Table of Contents - [[#๐Ÿ“ Summary]] - [[#๐Ÿ“– Main Content]] - [[#๐Ÿ—’๏ธ Notes]] - [[#๐Ÿ“š References]] - [[#๐Ÿ—ฃ๏ธ Paraphrase]] - [[#๐Ÿ“ฐ Newsletter]] - [[#โœ… Action Items]] - [[#๐Ÿงช Hypotheses]] - [[#๐Ÿ“Š Methodology]] - [[#โ“ Questions]] - [[#๐Ÿ”ฎ Future Research]] - [[#๐Ÿ’ก Implications]] - [[#๐Ÿง  Learning Styles Assessment]] - [[#๐Ÿ“Š Accessibility Assessment]] - [[#๐ŸŒ DEIB Assessment]] - [[#โœ… Logical Validity]] - [[#๐Ÿ›ก๏ธ DARVO Analysis]] - [[#๐ŸŽฏ Conclusion]] ### ๐Ÿ”— References - [Whiskey Web and Whatnot](https://whiskey.transistor.fm/) - [CodePen](https://codepen.io/) ## ๐Ÿ“ Summary - Stephen Shaw from CodePen discusses web development, architecture decisions, and the CodePen 2.0 rewrite - Key topics include server-side rendering challenges, git workflow improvements, and AI's role in development - Shaw shares insights on CodePen's technical stack evolution from Rails to Next.js and Go - Discussion covers performance optimization, client architecture decisions, and maintaining developer experience - Bottom line: Modern web development requires careful consideration of server vs client rendering trade-offs ## ๐Ÿ“– Main Content Stephen Shaw, a CodePen employee and creator of SplittingJS and CashJS, joins the podcast to discuss technical challenges in modern web development. The conversation explores CodePen's major rewrite to version 2.0, migrating from primarily Rails-based architecture to a hybrid system using Next.js, React Server Components, and Go APIs. Key technical challenges discussed include Apollo GraphQL integration with server-side rendering, where reactive variables can leak data between requests if used server-side. Shaw emphasizes CodePen's commitment to performance, keeping the entire editor under 3-5 megabytes compared to Monaco editor's 65MB footprint. The discussion also covers emerging git workflows like stacks (chains and fans) for better code review processes, and philosophical questions about whether HTML and CSS qualify as programming languages in the modern era. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/_3zbHSTn-k0?t=0) โ€” [H1] Introduction and Hot Takes - Key idea: HTML and CSS absolutely qualify as programming languages - Evidence: "You are instructing the computer what something is and what it's supposed to do" #### โฑ๏ธ [05:30](https://youtu.be/_3zbHSTn-k0?t=330) โ€” [H2] CSS Programming Language Discussion - Key idea: CSS has evolved to include conditional logic and complex calculations - Evidence: "There's literal if statements... you can calculate decay over two inches" #### โฑ๏ธ [08:45](https://youtu.be/_3zbHSTn-k0?t=525) โ€” [H3] Chris Coyier vs Adam Argyle Choice - Key idea: Shaw chooses Chris Coyier due to 7.5-year working relationship at CodePen - Evidence: "I literally had a dream about getting the job at CodePen before I'd ever talked with Chris" #### โฑ๏ธ [10:30](https://youtu.be/_3zbHSTn-k0?t=630) โ€” [H1] Git WorkTree vs Branch Discussion - Key idea: WorkTree creates separate repo clones for parallel development - Evidence: "Switching branches is usually a pain... I hate stashing and committing before code is done" #### โฑ๏ธ [12:15](https://youtu.be/_3zbHSTn-k0?t=735) โ€” [H2] GitHub Stacks Explanation - Key idea: Stacks enable better code review through chains and fans of dependent PRs - Evidence: "Chain means interdependency... fan means multiple independent PRs off shared base" #### โฑ๏ธ [15:45](https://youtu.be/_3zbHSTn-k0?t=945) โ€” [H1] React Server Components Challenges - Key idea: Server-side rendering migration creates complex integration challenges - Evidence: "It's been a nightmare trying to port client side code to server side rendering" #### โฑ๏ธ [18:30](https://youtu.be/_3zbHSTn-k0?t=1110) โ€” [H2] Apollo GraphQL Server Issues - Key idea: Apollo reactive variables leak data between requests on server - Evidence: "If you use a reactive variable on the server, it's going to persist between requests and potentially leak data" #### โฑ๏ธ [22:00](https://youtu.be/_3zbHSTn-k0?t=1320) โ€” [H3] CodePen Performance Metrics - Key idea: CodePen relies on user feedback rather than concrete metrics for performance - Evidence: "CodePen and metrics are not too synonymous... we get a lot of feedback from users" #### โฑ๏ธ [25:45](https://youtu.be/_3zbHSTn-k0?t=1545) โ€” [H1] CodePen 2.0 Architecture - Key idea: Complete rewrite using modern technologies while maintaining performance - Evidence: "Complete rewrite... using completely new technologies... still weighs just about as much as the old one" #### โฑ๏ธ [28:30](https://youtu.be/_3zbHSTn-k0?t=1710) โ€” [H2] Monaco Editor Size Comparison - Key idea: CodePen avoided Monaco editor due to excessive bundle size - Evidence: "Monaco like the code editor portion of it like 65 megabytes... we didn't want to mess with that" #### โฑ๏ธ [30:15](https://youtu.be/_3zbHSTn-k0?t=1815) โ€” [H3] CodeMirror 6 Implementation - Key idea: Custom web component wrapper for CodeMirror 6 integration with Next.js - Evidence: "Made this web component wrapper so it's all in the shadow DOM... still within React" #### โฑ๏ธ [35:20](https://youtu.be/_3zbHSTn-k0?t=2120) โ€” [H1] Thin Client Architecture - Key idea: CodePen maintains thin client with cloud-based code processing - Evidence: "Most of the code processing magic happens in the cloud... through the CodePen compiler" #### โฑ๏ธ [38:45](https://youtu.be/_3zbHSTn-k0?t=2325) โ€” [H2] AI Integration Philosophy - Key idea: CodePen prioritizes human-created content over AI generation - Evidence: "AI generated content is not as important because there's an element of curation" #### โฑ๏ธ [42:30](https://youtu.be/_3zbHSTn-k0?t=2550) โ€” [H3] Curation vs Generation - Key idea: Quality curation becomes more important as AI makes content generation easier - Evidence: "You can make a thousand copies of crap... the one that's worthwhile deserves to be showcased" ## ๐Ÿ“š References - [CodePen](https://codepen.io/) - [SplittingJS](https://splitting.js.org/) - [CashJS](https://github.com/fabiospampinato/cash) - [CodeMirror 6](https://codemirror.net/6/) - [Apollo GraphQL](https://www.apollographql.com/) ## ๐Ÿ—ฃ๏ธ Paraphrase - Shaw emphasizes that HTML and CSS are programming languages because they instruct computers on behavior and presentation, especially with modern CSS features like conditionals and calculations - CodePen's 2.0 rewrite focuses on performance and developer experience, migrating from Rails to a hybrid Next.js/Go architecture while avoiding heavy editors like Monaco - AI integration in development tools should focus on productivity enhancements like autocomplete rather than replacing human creativity and curation ## ๐Ÿ“ฐ Newsletter Stephen Shaw from CodePen shares fascinating insights into the challenges of modernizing a large-scale web application. The CodePen 2.0 rewrite demonstrates the complexity of server-side rendering migrations, particularly when integrating Apollo GraphQL with React Server Components. Key takeaway for WordPress developers: Performance considerations matter enormously. CodePen keeps their entire editor under 5MB while Monaco editor weighs 65MB. This mirrors WordPress's ongoing performance initiatives and emphasis on lightweight, efficient solutions. Shaw's discussion of git stacks also highlights how development workflows continue evolving to support better collaboration and code review processes. Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/) ## โœ… Action Items #### DevRel - Developer experience: Document server-side rendering migration patterns and gotchas - Education: Create workshops on modern git workflows including stacks and worktree usage - Developer marketing: Showcase performance-first architecture decisions in case studies #### Community - Contributors: Develop guidelines for performance budgets in editor and admin experiences - Maintainers: Share patterns for gradual architecture migrations without breaking changes #### WordPress - Core Performance: Evaluate bundle size monitoring for admin JavaScript packages - Core: Consider thin client patterns for Gutenberg and admin interfaces - Documentation: Create guides comparing client vs server rendering trade-offs ## ๐Ÿงช Hypotheses - Server-side rendering migrations increase complexity but may not always improve perceived performance - Git stacks will become standard workflow for large feature development in distributed teams - Thin client architectures with cloud processing provide better scalability than thick clients - AI autocomplete tools improve developer productivity more than generative content creation ### ๐Ÿ“Š Methodology - Performance testing comparing SSR vs CSR load times across different network conditions - Developer workflow studies measuring time-to-review with traditional branches vs git stacks - Bundle size analysis tracking editor weight over time with different architecture choices ### โ“ Questions - How do we measure perceived vs actual performance improvements in complex web applications? - What are the security implications of client-server data synchronization in reactive systems? - How will AI tools change the balance between human curation and automated content generation? ### ๐Ÿ”ฎ Future Research - Long-term developer productivity impacts of AI-assisted coding - Performance characteristics of hybrid architectures using multiple backend languages - User behavior patterns in social coding platforms as AI content increases ### ๐Ÿ’ก Implications - Practice: Server-side rendering requires careful consideration of state management and data leakage - Security: Reactive variables and shared state between requests create potential data exposure risks - Education: Modern web development requires understanding of both client and server rendering trade-offs - Funding: Performance optimization investments may have higher ROI than feature development ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Architecture diagrams would help illustrate client-server relationships - Improve: Visual comparisons of bundle sizes, performance metrics over time #### ๐Ÿ”Š Aural learners - Present: Podcast format with detailed technical discussions - Improve: Audio-only version with enhanced sound quality for technical terms #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear definitions and analogies throughout conversation - Improve: Glossary of technical terms, comparative explanations #### ๐Ÿงฉ Kinesthetic learners - Present: Practical examples from real CodePen development - Improve: Step-by-step migration guides, hands-on workshops #### ๐Ÿง  Logical learners - Present: Structured discussion of technical trade-offs and decisions - Improve: Decision trees for architecture choices, performance benchmarks #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Collaborative discussion format with multiple perspectives - Improve: Community forums for discussing similar technical challenges #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Detailed technical explanations suitable for individual study - Improve: Self-assessment questions, personal reflection prompts #### ๐ŸŒฟ Naturalistic learners - Present: Organic conversation flow covering interconnected topics - Improve: Ecosystem thinking about how different tools and practices connect ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Transcript provides full content access - Improve: Structured headings and landmarks in transcript format #### Keyboard navigation - Present: Standard podcast player controls - Improve: Keyboard shortcuts for chapter navigation, playback speed #### Contrast and readability - Present: Text transcript meets contrast requirements - Improve: High contrast mode option, customizable text sizing #### Media and captions - Present: Full transcript available - Improve: Time-synced captions, audio descriptions for technical diagrams ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Technical discussion accessible to global developer community - Improve: International examples, non-US-centric references #### Inclusive language - Present: Professional, respectful technical terminology - Improve: Define technical jargon, avoid assumptions about prior knowledge #### Neurodiversity support - Present: Structured conversation with clear topic transitions - Improve: Content warnings for rapid topic changes, summary sections #### Representation - Present: Diverse technical perspectives and experiences - Improve: Include voices from different backgrounds in technical discussions ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear logical progression from architecture decisions to performance outcomes - Inductive strength: Good use of specific examples to support general principles - Causal reasoning: Well-articulated cause-effect relationships between technical choices and results #### Fallacies - Appeal to authority: Some reliance on industry standard practices without full justification - False dichotomy: Occasional oversimplification of complex architectural trade-offs #### Tone of voice - Overall tone: Collaborative, technical, and informative with appropriate humor ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No instances of denial or minimization present - Attack: No attacks on individuals or technologies - Reverse victim/offender: No victim/offender dynamics present - Emotional cues and rhetoric: Positive, constructive technical discussion ## ๐ŸŽฏ Conclusion This conversation provides valuable insights into the real-world challenges of modernizing large web applications. Shaw's experience with CodePen 2.0 demonstrates that performance, developer experience, and architectural decisions require careful balance. The discussion of emerging tools like git stacks and the measured approach to AI integration offer practical guidance for development teams navigating similar technical evolution. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad Purpose: Stage CEE units that become Literature notes. Split level: H3 ### [H1] Server-side rendering migrations create complex integration challenges > [!quote] [Keyframes, Cash, and CodePen w/ Shaw](https://youtu.be/_3zbHSTn-k0) by [[Stephen Shaw]] via [[Whiskey Web and Whatnot]]. Published 2024. Accessed 2024-12-19. > "It's been a nightmare trying to port client side code to server side rendering." Shaw's experience demonstrates the hidden complexity of SSR migrations, particularly with state management libraries like Apollo. [view highlight](https://youtu.be/_3zbHSTn-k0?t=945) #xref #articleseed ID:rw_001 ### [H2] Performance budgets matter more than feature completeness for editors > [!quote] [Keyframes, Cash, and CodePen w/ Shaw](https://youtu.be/_3zbHSTn-k0) > "Monaco like the code editor portion of it like 65 megabytes... we didn't want to mess with that." CodePen chose CodeMirror 6 over Monaco specifically due to bundle size concerns, prioritizing performance over feature parity. [view highlight](https://youtu.be/_3zbHSTn-k0?t=1710) #xref ID:rw_002 --- ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) Purpose: Promote reusable claims into Atomic notes. Split level: H4 #### [Z1] Thin clients with cloud processing scale better than thick clients - Scope: Web applications requiring real-time code processing --- ## Full Transcript [00:03] I feel really silly. Um,<br>[00:06] >> took 10 years off you.<br>[00:08] >> I know. I know. I look like a little<br>[00:09] little baby child. But yes, this is<br>[00:11] Whiskey Web and Whatnot. I am Robbie the<br>[00:13] Wagner. My co-host as always, Adam<br>[00:16] Thomas Argyle the nerd.<br>[00:18] >> What's up, man? We have an awesome guest<br>[00:19] today. I'm excited. I hope you are, too.<br>[00:22] >> Yeah, I am stoked. Could you tell the<br>[00:23] folks at home a little bit about our<br>[00:25] guests?<br>[00:27] Big breath. A front end, back end, front<br>[00:29] of the front end, back of the back end.<br>[00:31] Wildly coyote, code pen employee,<br>[00:32] crafter known to be an animator, bug<br>[00:34] terminator, key framer, UIUX creator who<br>[00:36] likes to make information more access.<br>[00:40] UIUX creator who likes to make<br>[00:41] information more accessible to the folks<br>[00:43] around him. Oh, that's just so sweet<br>[00:45] that you want to do that. Author of<br>[00:46] SplittingJS, CashJS maintainer, green<br>[00:48] sock pro, CSS and JS expert. Fun fact,<br>[00:50] his earliest tech memory is from 1987.<br>[00:53] Photo of him on his dad's lap at a<br>[00:55] computer. Stephen Shaw, y'all.<br>[00:57] >> That's me. Hi. Yeah, most of that is<br>[01:01] accurate.<br>[01:03] I'll I'll leave it to you to find out<br>[01:04] which.<br>[01:05] >> Nice. Yeah, I was uh I was just<br>[01:08] imagining when you're doing that, you<br>[01:10] know how when people are doing like bag<br>[01:11] pipes, right? And it's like and then<br>[01:13] like they let go. It's like<br>[01:16] that's like you hit that in the middle.<br>[01:19] >> Oh, accessible. That's a hard word to<br>[01:22] say really fast. I've heard a lot of<br>[01:23] other fast words. Dang it. Yes. Yeah.<br>[01:25] It's fine. It's fine. You do a wonderful<br>[01:27] job. We are lucky to have you. What<br>[01:29] else? We are lucky to have this teeny<br>[01:31] tiny little bottle.<br>[01:32] >> The tiny one. He got the big boy. We got<br>[01:35] the little one.<br>[01:36] >> Oh. Oh, thank you for the big one.<br>[01:37] That's very nice.<br>[01:38] >> Yeah, we got a a pack of variety so that<br>[01:41] we can have some other stuff another<br>[01:42] time. But I'm excited for this one. I'm<br>[01:44] not going to say a lot about it cuz we<br>[01:46] promised we would talk about whiskey at<br>[01:47] the end these days. But one cool thing<br>[01:50] about this one, it is like um barbecue<br>[01:54] smoked like mosquite and applewood and<br>[01:56] like all the things you would love in a<br>[01:58] barbecue. So I'm like, "Wow, that's<br>[02:00] different." But yeah, we'll see how we<br>[02:01] like it.<br>[02:03] >> I I definitely get that from the smell.<br>[02:05] I haven't tasted yet.<br>[02:06] >> M yum yum.<br>[02:10] Sweet glassear. Yo,<br>[02:12] >> yes. Uh my wife got me these a while<br>[02:15] ago. It's It's nerve-wracking because it<br>[02:18] has to sit at an angle, but it prevents<br>[02:20] you from filling up too much. So, you<br>[02:22] know, there's a little bonus there.<br>[02:24] >> Excellent.<br>[02:25] >> Cool. It just<br>[02:26] >> fill it up too much. It should be<br>[02:27] unspillable,<br>[02:28] >> right?<br>[02:38] >> Definitely taste the backyard. That is<br>[02:40] nice.<br>[02:41] >> Yeah.<br>[02:42] >> Not as much Pete as I expected.<br>[02:45] It tastes like when you're uh sitting<br>[02:47] outside by the fire all night and then<br>[02:48] you come in and take a shower.<br>[02:52] >> I hate that moment because I'm like,<br>[02:53] "No, I want this to stay on me. How do I<br>[02:55] shower but still smell like smoke<br>[02:57] afterwards?"<br>[02:58] >> Yeah. But yeah, we will uh continue to<br>[03:00] taste this throughout. Tell you more<br>[03:02] about it at the end. We missed our toast<br>[03:04] before we had some, but<br>[03:06] >> I don't know.<br>[03:07] >> Would you like to do our toast, Adam?<br>[03:09] >> I will. Yeah. May your barbecue always<br>[03:11] be tender. Your life<br>[03:14] your life has zero latency. And if you<br>[03:16] do crash hard tomorrow morning, make it<br>[03:17] take a May it only take a soft reboot<br>[03:20] and breakfast taco to get you back<br>[03:21] online. Cheers.<br>[03:24] >> That's nice.<br>[03:26] >> Yeah. My my secret is um anytime I have<br>[03:29] whiskey or a lot of alcohol, like over a<br>[03:31] certain amount, you got to have<br>[03:32] McDonald's the next morning. That's what<br>[03:34] always cures it for me. It's like<br>[03:36] there's enough chemicals in that to just<br>[03:38] bring you right back from the dead. It's<br>[03:40] It's good.<br>[03:42] Enough preservatives to bring it back<br>[03:43] from the dead. That's good.<br>[03:44] >> Yeah, for sure.<br>[03:46] >> All right, so we have a few hot takes on<br>[03:49] here. Trying to get back into the hot<br>[03:51] takes. They're not super hot, but let's<br>[03:54] see where they go. So, this one we've<br>[03:56] asked a few people. Is HTML a<br>[03:58] programming language?<br>[04:01] >> Absolutely. Uh there's so many different<br>[04:05] definitions of of things. uh but I would<br>[04:08] I would classify it as a programming<br>[04:11] language in that you are instructing the<br>[04:13] computer what something is and what it's<br>[04:16] what it's supposed to do. Uh the way it<br>[04:18] interprets that is very wide and a lot<br>[04:21] less uh precise than many other<br>[04:25] programming languages but it's still a<br>[04:27] way to give the computer some input to<br>[04:30] get some output.<br>[04:32] >> Yeah, very very diplomatic answer. I am<br>[04:35] waiting for the English as a programming<br>[04:37] language because we're basically there<br>[04:38] with AI.<br>[04:39] >> Oh, that's what I was just thinking<br>[04:40] right now. It's like actually, dude,<br>[04:42] none of us are coding anymore. We We<br>[04:43] used to make fun of CSS for not being a<br>[04:45] programming language and we're like,<br>[04:47] it's not even scripting. I'm like, oh<br>[04:49] yeah, you're just prompting now. So,<br>[04:50] what are you? You're not even a<br>[04:51] programmer. You're just a prompter. We<br>[04:53] aren't even writing scripts no mo. Uh<br>[04:56] anyway,<br>[04:57] >> we're all in management now.<br>[04:59] >> Oh, seriously? Yeah.<br>[05:01] >> Yeah. We'll get more into that later.<br>[05:03] Um, so yeah, as Adam just mentioned,<br>[05:06] what about CSS? CSS a programming<br>[05:08] language?<br>[05:09] >> Uh, even more so, uh, especially<br>[05:12] nowadays, uh, there's literal if<br>[05:15] statements, right? But, uh, you know,<br>[05:18] for almost as long as CSS has been<br>[05:20] around, there's been media queries and,<br>[05:22] uh, and things like that that that make<br>[05:24] it, uh, a lot more dynamic of a of a<br>[05:28] language, and it's very much responding<br>[05:30] to, um, to what's happening. Um, yeah. I<br>[05:34] I have no qualms at all calling CSS a<br>[05:37] programming language.<br>[05:40] >> Yeah, same. I mean, I feel like um not<br>[05:43] that long ago, I would have said no. But<br>[05:46] it has moved so much in such a short<br>[05:49] amount of time and like as soon as you<br>[05:51] have trig functions in anything, like if<br>[05:53] you try to tell me it's not a<br>[05:54] programming language, I'm like, I don't<br>[05:57] know about that.<br>[05:58] >> I can calculate decay over two inches.<br>[06:01] you're like, "Oh, well, I guess that's<br>[06:02] programming." Okay.<br>[06:03] >> Yeah, I can write a div.<br>[06:08] >> Yeah. HTML, CSS, uh, and and JavaScript<br>[06:12] even are are weird because they're so<br>[06:14] interrelated. Like, it's it's hard to<br>[06:17] isolate them because yes, CSS is<br>[06:20] programming, yes, HTML is programming,<br>[06:22] but without without each other, they're<br>[06:24] just, you know, there there's not really<br>[06:26] much going on. Um, and and I don't think<br>[06:30] there's any way to really execute CSS<br>[06:33] without HTML. Um, so you know, it's it's<br>[06:38] it's kind of a requirement for them to<br>[06:39] to work together.<br>[06:42] >> Yeah, I think um I'm super not educated<br>[06:44] on like the ohing complete like<br>[06:47] whatever, but I think you need HTML and<br>[06:49] CSS to be touring complete. Technically,<br>[06:51] you can't do it with just one or the<br>[06:53] other. You definitely can't do it with<br>[06:54] just HTML. still doesn't necessarily<br>[06:56] mean it's not a programming language.<br>[06:58] Like yeah, I don't know. I feel like<br>[07:00] anything you type in that gives you<br>[07:02] something else could be a programming<br>[07:04] language. Depends on how you look at it.<br>[07:06] >> Yeah.<br>[07:07] >> Interesting. It's like a It's a good<br>[07:10] question though. Like if CSS is flipping<br>[07:12] bits but you can't see them, is it is it<br>[07:15] doing the touring complete thing? You<br>[07:17] know, like hey, it's got logic gates,<br>[07:19] you just can't see them. If it is<br>[07:22] flipped in the forest and no one is<br>[07:23] around is a programming.<br>[07:26] >> Yeah. I mean taking that further, it's<br>[07:28] like you know compiled languages, right?<br>[07:31] Like Java is actually doing nothing.<br>[07:33] >> What it compiles to is doing stuff. So<br>[07:36] maybe Java isn't a programming language.<br>[07:40] >> I like think about the dependencies<br>[07:42] though. It's like uh<br>[07:44] >> HTML doesn't care about CSS and<br>[07:46] JavaScript. I liked your analogy though.<br>[07:47] Like you're saying these things have<br>[07:48] interdependencies, but like HTML is the<br>[07:50] only one that's like whatever everybody,<br>[07:52] I don't need you. I'm sufficient. I I<br>[07:55] got default looks. I got default<br>[07:57] everything. I'm the bones and I can<br>[07:59] still walk around. What can you do<br>[08:00] without bones, Mr. Floppy CSS? Oh, yeah.<br>[08:03] You're just skin on the ground. Oh, hey,<br>[08:05] how about you, JavaScript? If you got no<br>[08:06] bones and no skin to talk to, wait even<br>[08:08] are you? Oh, you're just in someone's<br>[08:10] mind. You're just a spirit floating<br>[08:12] around. It's just like what a funny<br>[08:14] relationship that one has such a hard<br>[08:16] like dependency on the other. Um but<br>[08:18] it's not interdependency, is it? There's<br>[08:20] like a there's a cycle here or<br>[08:23] something. I don't know. It's just fun<br>[08:24] to think<br>[08:24] >> codependency.<br>[08:26] No. Uh I mean JavaScript nowadays is is<br>[08:30] pretty independent with with you know<br>[08:32] server side JavaScript and and all that<br>[08:35] like it's it's running servers and<br>[08:37] stuff. So it's it's completely outside<br>[08:39] of an HTML context nowadays in a in a<br>[08:42] large amount. Um but CSS, yeah, I don't<br>[08:46] I don't think there's any way you can<br>[08:48] get any output from that other than it<br>[08:51] being connected to HTML.<br>[08:54] >> Well, you couldn't get any output from<br>[08:55] JavaScript server side until they made<br>[08:57] it. So let's let's do that.<br>[09:00] >> CSS server side, I'm on board. We're at<br>[09:03] a server with some media queries. Hey,<br>[09:06] you can fetch URLs. Hey, at import. Hey,<br>[09:09] there's a lot of language uh you'd have<br>[09:11] to kind of change what it does, but<br>[09:13] maybe not. Hey, look, JavaScript is<br>[09:14] fetching, you know, JSON from imports<br>[09:17] and uh people make that work and so I<br>[09:20] guess you make that work until you turn<br>[09:21] it into something. So, yeah, it's<br>[09:23] >> I don't know. I think someone should do<br>[09:24] this. No one wants to because it's like<br>[09:27] who would use it, I guess. But like um I<br>[09:30] don't know. I think it'd be a fun<br>[09:31] experiment. Claude, make a CSS<br>[09:34] serverside language framework that makes<br>[09:36] websites just with CSS. Go<br>[09:38] >> tell your open call or or your whatever<br>[09:40] it is now since you're not doing<br>[09:42] >> punk ass. It's still punk assass. Oh<br>[09:43] yeah, it's claude claw which is uh not<br>[09:46] not as fun to say but you know<br>[09:48] >> if you say it fast enough it is<br>[09:52] >> now I'm just going to claim<br>[09:55] I'm a bird.<br>[09:58] >> All right. Um, so I've got a a a really<br>[10:02] spicy one here. Chris Koyer or Adam<br>[10:04] >> Argyle.<br>[10:07] >> With no context as to why you would pick<br>[10:09] either.<br>[10:10] >> This is when I started laughing at.<br>[10:14] >> Uh,<br>[10:16] you know, I'm I'm I I have to choose<br>[10:18] Chris. Uh, because of the history. Like<br>[10:22] Adam and I go way back, too. But, you<br>[10:25] know, literally I've been working with<br>[10:27] Chris for seven almost 7 and 1/2 years<br>[10:30] now uh with with CodePen. Um, so, you<br>[10:34] know, it's it's been a wild journey.<br>[10:37] And, uh, you know, I've I've uh grown<br>[10:39] rather fond of him. So, no shade to<br>[10:42] Adam. It's just, you know, slight<br>[10:45] slightly slightly more advanced in<br>[10:48] relationship there.<br>[10:49] >> Do you have any fun stories to share<br>[10:50] that are like, you know, kind of like,<br>[10:52] hey, back in the day we did this thing.<br>[10:53] It was kind of embarrassing.<br>[10:55] >> Uh, so I literally had a dream about<br>[11:01] getting the job at CodePin before I'd<br>[11:03] ever even talked with Chris.<br>[11:06] >> Whoa.<br>[11:07] >> And uh, it was it was just out of<br>[11:09] nowhere. I had this dream. It was I I<br>[11:11] think it was before I'd even started Key<br>[11:13] Framers. I I think I'd started talking<br>[11:15] with David a little bit about it. And so<br>[11:17] David was in my dream and we were we<br>[11:20] were on an airplane. You know, dreams<br>[11:21] are super exciting. I know. But uh we<br>[11:24] were we were on an airplane. We were<br>[11:25] doing we were doing our show on an<br>[11:27] airplane.<br>[11:28] >> And then I went on an escalator up to<br>[11:30] the next level of the airplane. Huge<br>[11:33] airplane. I<br>[11:34] >> I don't know. It It felt like a mall,<br>[11:36] but it was it was an airplane. And then<br>[11:38] at the top of the escalator, uh Chris<br>[11:39] was Chris was there and he put his arm<br>[11:41] around my shoulder and he was like,<br>[11:42] "Stephen Shaw in the flesh." I was like,<br>[11:44] "Wow, that was weird."<br>[11:47] And then like three or four months<br>[11:49] later, I got a message from Chris and he<br>[11:51] was like, "Hey, we've got an opening at<br>[11:52] CodePen. Would you uh want to come uh<br>[11:55] interview for that?" I was like, "All<br>[11:57] right, let's let's make that happen." Uh<br>[12:00] we haven't been on a plane together or<br>[12:02] an escalator together uh to my<br>[12:05] knowledge. But uh<br>[12:07] >> what a missed opportunity.<br>[12:09] >> Otherwise, the dream dream came came<br>[12:11] true.<br>[12:12] >> Wow, dude. You're like an oracle. That's<br>[12:14] sweet.<br>[12:16] Yeah, it was it was very much a a meant<br>[12:19] to be kind of thing. It was it was super<br>[12:21] cool.<br>[12:22] >> Yeah. If you have a dream about like a<br>[12:24] stock that goes way up that you're<br>[12:25] riding an escalator with, like, let me<br>[12:26] know about that one.<br>[12:27] >> I'll keep you posted there. Yeah.<br>[12:31] Uh here's another spicy one. Work tree<br>[12:32] or branch?<br>[12:34] >> Work tree or branch?<br>[12:37] Now, I'm going to uh go branch just<br>[12:41] because uh I I actually don't know what<br>[12:43] a work tree is. Um so maybe I can get<br>[12:46] some some education here. Well,<br>[12:49] >> well, there's a lot of fake concepts<br>[12:50] that have been made up for AI and uh<br>[12:53] Adam will tell you about them now.<br>[12:57] >> Uh work tree is a git concept where like<br>[13:00] you need to have a you you have a<br>[13:01] separate separate copy of the repo. So<br>[13:04] it's like where you have the folder<br>[13:05] normally and it's like a you have a<br>[13:07] branch in that folder. A work tree will<br>[13:09] create an entirely separate clone of it<br>[13:12] inside that folder but it will add a new<br>[13:14] folder and one will be called root and<br>[13:16] that's like the default or main or<br>[13:18] whatever and then you have all these<br>[13:19] copies of it and that allows you to work<br>[13:21] on multiple things at the same time in<br>[13:23] the same repository at least<br>[13:25] conceptually. Yeah, I I'd be on board<br>[13:28] with that. Uh just because uh switching<br>[13:31] branches is usually a pain uh based on<br>[13:35] like all the changes that I have in<br>[13:37] place and I hate I hate stashing and I I<br>[13:40] hate committing before the code is done.<br>[13:42] Uh so I could I could see using some<br>[13:45] work trees uh in my in my flow. Oh, it<br>[13:48] makes sense. Nice. Yeah, I feel like the<br>[13:51] other big thing that uh that has come up<br>[13:53] that Adam I know uses<br>[13:55] >> uh is stacks. And did you see the whole<br>[13:57] GitHub? It's like<br>[13:59] github.github.stacks.fake.wees<br>[14:02] suck.com is like the new like.<br>[14:07] >> No, but it does have github.github<br>[14:09] like something. And people were like why<br>[14:11] are there two GitHubs? And like um I<br>[14:14] don't know. It was like they totally<br>[14:16] vibecoded the like landing page for it.<br>[14:18] Hopefully the like implementation is<br>[14:20] better. Um, but like okay, so this is I<br>[14:23] don't know. I don't know if what the<br>[14:24] exact hottake question is here, but<br>[14:26] stacks are basically because no one<br>[14:28] would review your PR because it's too<br>[14:29] big. Right. Right.<br>[14:31] >> So like it's like why couldn't the<br>[14:34] person reviewing it just go, I'm going<br>[14:36] to review 20 files and then later I'm<br>[14:38] gonna review 20 files. Like you'd got to<br>[14:40] really spoon feed it to them like this.<br>[14:41] Like um because they all have to be<br>[14:44] merged for any of it to merge with<br>[14:46] stacks, right? So it's like<br>[14:48] >> no, you can merge just the base one<br>[14:51] >> and then each of the other ones can<br>[14:52] still be getting worked on. So it's like<br>[14:54] you know that the foundation of all the<br>[14:56] work is merged. Everyone's approved it.<br>[14:58] Um and you're missing the concept of<br>[15:00] fanning.<br>[15:01] >> Does it merge to main or is it you're<br>[15:03] just saying like this one was reviewed<br>[15:05] like you know what I mean? Is it's not<br>[15:07] going into the actual code is it? or is<br>[15:09] it<br>[15:11] >> it's not going into the actual<br>[15:12] >> like when you're like I'm reviewing the<br>[15:14] pieces of the stack and I'm like all<br>[15:16] right this one's cool and they're like<br>[15:17] cool that one's approved but that one's<br>[15:18] not going into main yet and like until<br>[15:20] you're done with approving all of the<br>[15:22] stack and then it goes into main.<br>[15:23] >> Okay, you're thinking about the chain.<br>[15:24] Yeah. So there's there's chains and<br>[15:26] there's fans and a chain means that like<br>[15:31] >> the terminology gets me. All right,<br>[15:32] explain.<br>[15:33] >> One hurts really bad and one helps you<br>[15:35] stay cool. Um<br>[15:38] right. Uh okay. So chain is like yeah<br>[15:41] you literally have interdependency where<br>[15:42] like um you have to merge the the one<br>[15:44] that's nearest main first and sub uh<br>[15:47] sequentially after that. So you wouldn't<br>[15:49] be able to mer one is ready down the<br>[15:51] stack but you can't merge it because it<br>[15:54] has a dependency on one that hasn't been<br>[15:55] merged or approved yet. And then you can<br>[15:57] also see the status of all them at once.<br>[15:59] So if you want you could wait for them<br>[16:00] all to be approved and then merge them<br>[16:02] entirely al together or you can merge<br>[16:04] them in pieces and have reviews and<br>[16:06] pieces. So then there's<br>[16:07] >> I can say I want to merge one somewhere<br>[16:09] in the middle of the stack<br>[16:11] >> and it'll go into main or no<br>[16:12] >> no you can only merge the one closest to<br>[16:15] main and then it works backwards in a<br>[16:17] chain. So that's the limitation of the<br>[16:18] chain is the one closest to main has to<br>[16:20] be merged before the one before because<br>[16:22] it's a chain. There's a literally a<br>[16:23] dependency and it wouldn't make sense to<br>[16:25] let chain three in the stack merge<br>[16:28] before chain one. Um,<br>[16:30] >> but what if chain three actually is an<br>[16:32] independent set of changes and I decide<br>[16:33] I want to merge<br>[16:34] >> the fan. That's when you got to make the<br>[16:36] fan baby. Okay. So, yeah, the fan says<br>[16:38] uh<br>[16:40] the fan is like you got, let's say you<br>[16:42] have four PRs, right? And it's like they<br>[16:43] all depend on one PR to merge. So, it's<br>[16:46] like a feature flag. Hey, I got a<br>[16:47] feature flag. I need to merge the<br>[16:48] feature flag. And then I have three<br>[16:49] independent implementations of the<br>[16:52] feature that I want to work on<br>[16:53] separately and get reviewed separately.<br>[16:55] So you create a fan instead of a chain.<br>[16:57] And that way any one of the fans can<br>[16:59] merge once the base of the fan has<br>[17:02] merged the fan.<br>[17:03] >> Okay. Now I haven't used<br>[17:07] >> I haven't used any of this clearly cuz<br>[17:09] you're schooling me here. Um would I be<br>[17:12] like stack fan? And like do I pick what<br>[17:16] type of stack I want like when I'm<br>[17:18] creating?<br>[17:18] >> You could make a chain. You could make a<br>[17:20] chain chain fan and one of those chains.<br>[17:23] >> Oh god.<br>[17:24] >> I don't know. But that's a binary.<br>[17:26] That's what you're asking for noise.<br>[17:27] Yeah.<br>[17:29] >> Okay. So So they literally have to stack<br>[17:32] on top of each other. You can't just<br>[17:34] have like one one PR and then like three<br>[17:38] things stacked on top of it.<br>[17:41] like three separate pieces of that.<br>[17:44] >> That would be the fan, I think. So, it's<br>[17:46] yeah, you've got some sort of shared<br>[17:48] branch that they share and then you have<br>[17:50] three individual branches off that<br>[17:52] shared one. That's the fan. And then the<br>[17:54] chain would mean<br>[17:55] >> my fourth branch depends on branch<br>[17:58] three, which depends on branch two. And<br>[18:00] that's what people do in GitHub right<br>[18:01] now is they have, have you seen the<br>[18:02] little emojis that point? It's just<br>[18:04] like, hey, this is branch one of four.<br>[18:06] Here's a pointer. It's a cute little<br>[18:08] pointer to the other branch I depend on.<br>[18:10] you know, it's like, "Oh, great. I'll<br>[18:11] follow the chain." And it's like a<br>[18:12] breadcrumb scenario.<br>[18:14] >> Can you change it later? Can you be<br>[18:16] like, "This was a chain, but I realized<br>[18:17] like a few of these can be merged<br>[18:19] independently." I<br>[18:20] >> Well, you have to use the bolt cutter<br>[18:22] API uh to<br>[18:25] do that. Yeah.<br>[18:27] >> Nice.<br>[18:29] >> All right. Yeah.<br>[18:30] >> Yeah. I mean, I made a day. Uh anyway,<br>[18:34] >> sorry. Sorry, I was just going to say,<br>[18:35] yeah, I so I had this big PR today that<br>[18:37] was like I don't know 30 commits and I<br>[18:40] was like like 10 in the middle of this<br>[18:42] or completely like you can merge them<br>[18:44] separately. So I'm going to just be like<br>[18:46] all right pull this like cherry pick<br>[18:48] cherry pick cherry pick cherry pick<br>[18:49] merge all that rebase all of that was<br>[18:52] really messy. Um, so I'm guessing if I<br>[18:54] had used stacks or something more<br>[18:56] intelligent, then that would have<br>[18:57] probably worked better. But yeah.<br>[18:59] >> Yeah. Or a get or like a an amend<br>[19:02] instead of a constant commit, which was<br>[19:04] one of be my spicy followup to Shaw<br>[19:06] would be like, I hear you don't like to<br>[19:07] make commits unless you're done. Have<br>[19:09] you heard of amend, you know, like you<br>[19:11] don't have to it doesn't have to leave a<br>[19:12] trail that you came back later and then<br>[19:14] committed again. You can just be like,<br>[19:16] act like I did this alto together, you<br>[19:18] know? Well, it's it's more that I don't<br>[19:20] want like broken code or like, you know,<br>[19:24] a code that's like a bunch of stuff's<br>[19:26] commented out or like, you know, it's<br>[19:27] it's all in progress. I don't I don't<br>[19:29] want the um I don't want that to be to<br>[19:32] be committed. I don't want that to seem<br>[19:34] like it's like it's done because it's<br>[19:36] it's not.<br>[19:38] >> Um so, it's it's a balance. Um but like<br>[19:43] like you're talking about the the one PR<br>[19:45] I've got going on right now, it's it has<br>[19:47] to do with serverside rendering. It's a<br>[19:48] huge rewrite, touches so many different<br>[19:51] things, and there's so many little<br>[19:53] aspects to it that I wish I could have<br>[19:56] broken out into other PRs with with<br>[19:58] stacks. But of course, that feature just<br>[20:00] got announced or public today. So, or<br>[20:04] what was it yesterday? Something like<br>[20:06] that.<br>[20:06] >> Oh, I need to find a statement. Find<br>[20:07] GitHub stacks. They're going to<br>[20:08] officially do it. Oh.<br>[20:10] >> Oh, right. I Yeah, somebody somebody in<br>[20:12] our Slack was posting about it.<br>[20:13] >> Totally fake URL.<br>[20:17] Um, but yeah, like being able to split<br>[20:19] up. So, you know, when you're developing<br>[20:21] a feature, there's always like the API<br>[20:23] stuff and then there's like the UI stuff<br>[20:25] and then there's like cleanup stuff.<br>[20:26] Like being able to separate those out<br>[20:29] into individually testable kind of<br>[20:31] things that are all kind of<br>[20:32] interdependent on on that that like<br>[20:35] base. That'd be super helpful.<br>[20:39] >> Yeah.<br>[20:40] >> Yeah. I mean, I feel like that also I<br>[20:42] don't know how complex it would get, but<br>[20:44] it would allow you to do more<br>[20:45] independent UI and API changes<br>[20:48] >> and not have to be like this is one big<br>[20:50] thing that like you've got to care about<br>[20:52] all of it in your brain. It's just like<br>[20:54] nope, this is just the UI, this is just<br>[20:55] the API, whatever, but they all like<br>[20:58] have to go in at the same time. So, they<br>[21:00] point to the one root of the stack or<br>[21:02] whatever. Yeah.<br>[21:03] >> Yeah. The feature flag is a really good<br>[21:05] example of that. You know, it's like<br>[21:07] I've got all these different scenarios<br>[21:09] in my application that want to implement<br>[21:10] the feature flag and instead of me doing<br>[21:12] one mega branch, I've got the base one<br>[21:15] that adds the flag. Everybody depends on<br>[21:17] it. Uh and then I can get individual<br>[21:19] reviews for those, you know, sections<br>[21:21] and slices of the application that<br>[21:22] someone else owns. I'm like, "Hey, I<br>[21:23] changed your [ย __ย ] Would you go review<br>[21:25] my code?"<br>[21:27] Yeah.<br>[21:30] >> Yeah. So, related to server rendering,<br>[21:33] were React server components a mistake?<br>[21:37] Uh yes, just by default because React<br>[21:42] was a mistake. Uh so everything<br>[21:45] everything since then<br>[21:48] >> have fun. We got the t-shirt.<br>[21:51] >> React was a mistake. Uh<br>[21:54] yes. Uh so I'm I I'm not the the best<br>[21:58] with with like serverside rendering and<br>[22:00] and React server components and like you<br>[22:02] know not uh kind of uh messing with that<br>[22:06] barrier uh there like I'm I'm still<br>[22:10] still in process of like trying to learn<br>[22:12] that because we've been going so far<br>[22:14] with with just client side rendering and<br>[22:17] I I think a lot of my beef is is more<br>[22:20] with next uh next.js JS than than React<br>[22:24] server components or anything like that.<br>[22:26] Um, but yeah, it's it's been a nightmare<br>[22:30] uh trying to port client side code uh to<br>[22:33] server side rendering.<br>[22:36] I don't remember<br>[22:36] >> but they make it so clear what what<br>[22:38] context you're in all the time.<br>[22:40] >> Yes, by just adding use server and use<br>[22:43] client at the top and uh<br>[22:46] >> yeah, it it does not it does not help.<br>[22:49] does not.<br>[22:50] >> Does AI even know? Is AI any good at<br>[22:52] server components or does are they too<br>[22:54] new? Is it kind of like that article I<br>[22:56] wrote where it's like it's just trained<br>[22:57] on old React and so it's not very good<br>[22:59] at New React. I don't know.<br>[23:01] >> Uh it<br>[23:04] most of the code that that we've got uh<br>[23:09] I I don't think AI is capable of of<br>[23:11] understanding very well because it it's<br>[23:14] it's just so so specialized. And so we<br>[23:18] we use like Apollo and um and Nex.js and<br>[23:22] uh and React. And so trying to get those<br>[23:25] three things working together. Um I did<br>[23:28] I did do a lot of rubber ducking with<br>[23:30] with AI, but like as far as code that<br>[23:33] the AI could actually write, uh it was<br>[23:36] not uh not helpful at all. Um<br>[23:39] >> is CodePen on Versel?<br>[23:42] >> No. Um we're we're self-hosted. I I<br>[23:45] think probably some Amazon servers, but<br>[23:48] um it's<br>[23:49] >> so that's useful with Nex.js.<br>[23:53] >> Yeah. Uh the honestly the deploying<br>[23:55] deploying next and and running running<br>[23:57] that hasn't been a problem and we've had<br>[23:59] like elements of server side rendering<br>[24:01] um that that have worked really well. Uh<br>[24:05] but with with code pen 2.0 so we've got<br>[24:07] the a whole like rewrite of the editor<br>[24:10] and so it's it's it's all reactbased.<br>[24:13] Um, and one of the things that we're<br>[24:16] trying to improve is just the load time.<br>[24:18] And so by shuffling some of that setup<br>[24:20] and and and UI rendering to the server,<br>[24:24] in theory, it's going to be it's going<br>[24:25] to be faster and and just make things<br>[24:27] feel a little a little snappier. Um, but<br>[24:31] the problem is we use uh we use Apollo<br>[24:34] uh throughout everything, Apollo<br>[24:36] GraphQL. And so there's there's so many<br>[24:39] little uh intricacies with Apollo. uh<br>[24:43] that to get that working particularly in<br>[24:46] next with serverside rendering is just<br>[24:48] it's a it's a nightmare. They've got<br>[24:50] they've got a specialized uh package for<br>[24:53] it that's that's supposed to help and I<br>[24:56] was finally able to get that integrated<br>[24:58] and working. Uh but we have we have a<br>[25:01] lot of code that's that's like directly<br>[25:04] manipulating Apollo cache kind of stuff<br>[25:07] and you can't like basically I have to<br>[25:11] like pass this server instance like down<br>[25:14] through every function uh to be able to<br>[25:16] to use it and it's it's just it's so so<br>[25:20] painful. Um, but it's it's like it's<br>[25:23] like 95% there and then I'll just run<br>[25:26] into some something else that completely<br>[25:28] blows things up like uh Apollo reactive<br>[25:31] variables. I don't know if you've used<br>[25:33] them at all, but it's it's like signals<br>[25:34] or like you know state, but it it can be<br>[25:37] shared kind of between things. You don't<br>[25:39] have to like prop drill or anything like<br>[25:41] that. Uh I just found out today that uh<br>[25:44] if you use a reactive variable on the<br>[25:46] server, it's going to persist between<br>[25:47] requests and potentially leak data and<br>[25:50] all kinds of stuff. So<br>[25:52] >> you can't use that for uh anything on<br>[25:54] the server.<br>[25:56] >> So I had to completely rewrite a bunch<br>[25:59] of stuff to uh<br>[26:00] >> and write a sorry letter to the person<br>[26:02] that you exposed.<br>[26:03] >> Well, no, it none of it has none of it<br>[26:05] has deployed. Don't worry. Uh this is<br>[26:07] all this is all local testing um that I<br>[26:10] discovered.<br>[26:11] >> Uh but yeah, it's it's so annoying. So<br>[26:15] annoying.<br>[26:16] >> So I am curious. Um you mentioned like<br>[26:19] you know trying to make things snappy<br>[26:20] and performance and whatever. I've never<br>[26:22] been like wow codepend slow like I<br>[26:24] haven't noticed anything any problems.<br>[26:27] So I'm curious what the like<br>[26:28] >> do you have concrete metrics on like you<br>[26:31] know what was the the load time versus<br>[26:33] then versus now or like what's the<br>[26:34] improvement or<br>[26:36] >> uh code pen and metrics are not uh not<br>[26:40] too synonymous. Um we we uh we we get a<br>[26:45] lot of feedback from from users you know<br>[26:47] with uh with how many people are<br>[26:49] constantly using the platform. Um so<br>[26:51] that that's most of what we go off of.<br>[26:54] Um but with with uh 2.0 No. So, it's a<br>[26:58] complete it's a complete rewrite and uh<br>[27:01] using completely new technologies and<br>[27:03] things like that and and the way that<br>[27:05] it's working right now um pretty much<br>[27:08] has to uh<br>[27:11] it's there's very little that's<br>[27:13] serverside rendered and so it all<br>[27:14] initializes on the client and like I was<br>[27:17] talking about we have like a lot of<br>[27:19] Apollo cache setup kind of stuff where<br>[27:21] we have to set up different data models<br>[27:23] and things like that in the in the uh<br>[27:26] browser. memory um for for things to<br>[27:29] work. And um so you know depending on<br>[27:33] your browser, depending on your network<br>[27:35] connection, like you know there there<br>[27:36] may be uh one or two seconds of like a<br>[27:39] loading screen and you know whether or<br>[27:43] not it's it's fast, people perceive it<br>[27:45] as not fast. At least you know five or<br>[27:49] so people which is you know significant<br>[27:51] right now in in beta. Um and and so it's<br>[27:55] it's just something we we're aware of<br>[27:57] and and working to improve. Um so for<br>[28:00] that uh the more that we can serverside<br>[28:03] render so that um things are things are<br>[28:06] at least visible um so you can tell what<br>[28:09] pin you're on. You can tell you know<br>[28:10] what's about to happen um that that's<br>[28:13] mostly what we're what we're focusing on<br>[28:15] to to just you know kind of affect the<br>[28:18] perception of it more than the actual<br>[28:20] load time.<br>[28:22] >> Gotcha. Yeah. I was what I was trying to<br>[28:24] get at I guess um was like I feel like<br>[28:26] this is something that a lot of<br>[28:28] companies have run into of like they<br>[28:29] have a Rails backend or you know<br>[28:31] something that was fine serverside<br>[28:34] rendering stuff the way we've always<br>[28:35] done the web and then they were like you<br>[28:37] know what if we it was all React and<br>[28:39] then it actually wasn't faster in the<br>[28:41] end and it's like I don't know I was<br>[28:43] just like trying to dig into that a<br>[28:45] little bit.<br>[28:45] >> Oh Walmart did that when I was at Deote<br>[28:48] they rewrote from Java Spring um to<br>[28:52] React. They had some new person show up<br>[28:54] that was like look here we did a pilot<br>[28:56] we've increased the page speed on these<br>[28:58] by X whatever and they hired Deote to<br>[29:01] come in and augment their team to do the<br>[29:03] entire React rewrite after 8 months and<br>[29:06] of course like a million bucks whatever<br>[29:08] it was slower and it was like way slower<br>[29:11] and it was just like oh snap you still<br>[29:14] paid us<br>[29:14] >> what do we do now? Yeah, that's where<br>[29:16] that's where I love consulting and I<br>[29:18] love agency work cuz I so many times I<br>[29:20] was like, "You paid me to learn about<br>[29:21] your mistake." Woohoo. I watched a whole<br>[29:24] bunch of moms not use your cooking app.<br>[29:27] Probably because you didn't ask anyone<br>[29:29] how to make a cooking app. You just said<br>[29:30] moms will definitely use it and you<br>[29:32] spent a million bucks trying to follow<br>[29:33] that dream and I learned that they<br>[29:35] don't. So awesome.<br>[29:39] Yeah. Yeah. So the codepin uh I think<br>[29:43] you know 13 14 years ago whatever it is<br>[29:46] now uh was built on rails and we still<br>[29:48] have a significant portion of the app<br>[29:50] that's um that's running on rails but uh<br>[29:54] I I don't think there's any way to<br>[29:56] actually integrate React serverside<br>[29:58] rendering with it. Um at least none that<br>[30:01] we've bothered to invest time in. Um,<br>[30:05] and so we've we've got, you know, about<br>[30:07] half the app on Rails and then about<br>[30:10] half the app on um on Nex.js and uh and<br>[30:14] a Go API. Um, and so the the Go servers<br>[30:18] are amazing. Like it's it's so fast and<br>[30:22] like the the CPU usage is just, you<br>[30:25] know, like 1 2%. Compared to like the<br>[30:27] Rails, you know, that's that's<br>[30:29] constantly running. Um, so we know we<br>[30:34] know things are going to be faster u<br>[30:38] even more so as we as we peel off uh<br>[30:41] from rails. Um, but it's mainly just uh<br>[30:43] right now trying to figure out next and<br>[30:46] making sure that that next is is running<br>[30:48] efficiently.<br>[30:50] >> Have you considered running on burcell?<br>[30:56] >> No. I so I'm I'm not the DevOps guy and<br>[30:59] I'm I don't want to be in any in any<br>[31:02] capacity. Uh but we we haven't had any<br>[31:04] any problems with our with our Nex.js<br>[31:06] servers and like as far as response time<br>[31:09] and everything like they're they're<br>[31:10] super fast. Um it's it's mostly about<br>[31:13] just the way that the that the uh editor<br>[31:16] itself was set up because we we started<br>[31:19] uh we started writing it like six years<br>[31:21] ago. Like we started implementing all<br>[31:23] this stuff six years ago before um React<br>[31:26] server components and like server side<br>[31:28] rendering was still just not really as<br>[31:30] big of a thing uh even with with Next.<br>[31:34] Um, so you know, it was it's just so<br>[31:37] much of it has been built off of that<br>[31:39] that uh it's it's now just trying to<br>[31:42] pull back and and actually get get<br>[31:45] things moved around and and done<br>[31:47] properly.<br>[31:49] >> Do you have a a baby in there that<br>[31:50] you're real proud of? Something in there<br>[31:52] you're just like, "Yeah, I did that.<br>[31:54] That's real good. I feel good about<br>[31:55] that."<br>[31:57] >> Uh in this in this PR or in the in the<br>[32:00] entire thing? Um<br>[32:01] >> I meant in the world. I was talking<br>[32:03] about a baby in the No, I'm just<br>[32:04] kidding. Yeah,<br>[32:04] >> I have two babies. Yes. Uh, no, but with<br>[32:09] uh I mean the the editor is completely<br>[32:13] written from scratch. Like there's<br>[32:15] there's nothing carried over from the<br>[32:17] from the old code.<br>[32:17] >> Did you write it?<br>[32:18] >> Mhm.<br>[32:20] >> Ah,<br>[32:21] >> yeah. Tell brag, dude. I want to hear<br>[32:23] you brag. Come on. Tell me all the stuff<br>[32:24] you did.<br>[32:25] >> It's all CSS. Well, I as as much as<br>[32:28] possible is um but I mean I mean<br>[32:33] everything. So like you know the the tab<br>[32:35] handling the the resizing like all the<br>[32:38] little the little UI elements any any<br>[32:40] animations like the omniar like all this<br>[32:43] kind of stuff um was was just a labor of<br>[32:47] love over over these you know six years<br>[32:50] or so. And um yeah pretty much pretty<br>[32:54] much all from scratch. One of the one of<br>[32:56] the major things we are using is is code<br>[32:58] mirror 6 for the actual like text<br>[33:00] editing. And um uh while it is it is<br>[33:05] really great, it's a real it's a real<br>[33:07] big advancement over code mirror 5 uh<br>[33:10] especially for like accessibility and<br>[33:12] and capabilities and all that kind of<br>[33:14] stuff. It is a uh very weird API. Um and<br>[33:20] everything is basically an extension off<br>[33:23] of it. So you've got to get real<br>[33:25] comfortable with a lot of a lot of just<br>[33:28] very specific concepts like state fields<br>[33:31] and facets and like uh you know there<br>[33:34] you don't just like you don't<br>[33:38] you don't just like enable something<br>[33:40] like you have to uh add a compartment<br>[33:42] that you then add an extension into uh<br>[33:45] to be able to just like turn line<br>[33:47] numbers on and off. And so uh it's it's<br>[33:50] it's this whole whole mess of things but<br>[33:52] it's it's super efficient. it worked<br>[33:54] really well and uh I was able to set<br>[33:57] that up as like a um a web component um<br>[34:01] so that it can work well in Nex.js<br>[34:04] uh because the way the way the theming<br>[34:06] works in it like it injects the the<br>[34:08] styles uh for the theme into the head<br>[34:11] and Nex doesn't like that. Uh so we so<br>[34:14] we made this web component wrapper so<br>[34:16] it's all in the shadow DOM now and uh<br>[34:18] and um you know still still within<br>[34:21] within Next and still within React uh<br>[34:23] but as a web component and uh with a<br>[34:27] whole bunch of custom extensions and<br>[34:28] things to to get the functionality that<br>[34:31] we want and to make it easy to like<br>[34:33] toggle features on uh like the line<br>[34:35] numbers and code folding and changing<br>[34:37] themes and all that kind of stuff.<br>[34:40] But boy, it's been an undertaking.<br>[34:43] >> Dang. Well, every time I've used it,<br>[34:44] it's been smooth. I didn't think about<br>[34:46] the fact that this was, you know, some<br>[34:48] web experience. It felt just like an<br>[34:50] editor. So, you did well.<br>[34:51] >> Good. Good. Yeah. And we we didn't just<br>[34:54] want another VS code in the browser, you<br>[34:55] know, like we we looked at that like<br>[34:57] very briefly and we were like so just to<br>[35:01] load the editor just to load like Monaco<br>[35:04] like the code the the the actual like<br>[35:06] text editor portion of it like 65<br>[35:09] megabytes or like it it was it was<br>[35:12] ridiculous at like you don't realize it<br>[35:15] when you're like just using code sandbox<br>[35:17] or stack blitz or something like that<br>[35:18] because you know overall things get<br>[35:20] cached but there's there's just such an<br>[35:23] upfront cost to just loading that that<br>[35:28] code and loading that whole editor um<br>[35:31] that we just we didn't want to we didn't<br>[35:33] want to mess with that. So right now the<br>[35:36] the new experience still weighs just<br>[35:39] about as much as the as the old one<br>[35:41] surprisingly. Um it's it's still like<br>[35:44] under like three to five megabytes um<br>[35:46] after after most everything loads and um<br>[35:50] that's that's been a big big point of<br>[35:53] pride there.<br>[35:56] >> Yeah, I think<br>[35:58] >> Go ahead. Yeah.<br>[35:59] >> So I was going to say I think it totally<br>[36:01] uh matters what you're trying to build.<br>[36:03] like um if I'm trying to do a quick<br>[36:06] example or you know show something I'm<br>[36:08] definitely not booting up stack blitz<br>[36:10] like um so yeah I think it's like like<br>[36:14] when we're at work when we're doing like<br>[36:16] you I want to show someone how to do<br>[36:17] something real quick. It's always a code<br>[36:19] pen. It's not. Um, so I think it it<br>[36:21] would matter if you were trying to do<br>[36:22] like I'm going to show how like all<br>[36:24] these dependencies work together and<br>[36:26] build this like fully featured app<br>[36:28] maybe. But like<br>[36:30] >> yeah, I think there's um it's rare that<br>[36:32] you're going to do that in the cloud. I<br>[36:34] feel like like I would just do it on my<br>[36:36] machine and I don't know, right?<br>[36:38] >> Yeah, I think you guys are doing it<br>[36:39] right.<br>[36:40] >> Good. We hope so too.<br>[36:43] >> I'm curious uh would you call it a thick<br>[36:45] or a thin client code pen?<br>[36:48] Hm. Uh, very very thin as as much as we<br>[36:54] can.<br>[36:54] >> Like there's nothing in a worker. You<br>[36:56] guys have tucked as much as you can as<br>[36:58] network calls. And<br>[37:00] >> so most of the most of like the code<br>[37:03] processing magic happens um happens uh<br>[37:08] in the cloud basically. It's it's all um<br>[37:10] through through something we called the<br>[37:12] code pin compiler. Um, and it it's<br>[37:15] basically like this tree sitter based<br>[37:17] kind of uh code parser thing that that<br>[37:20] does like so much heavy lifting and it<br>[37:23] does it so fast because of because of<br>[37:25] Go. Um, so<br>[37:28] uh most of most of the actual work to<br>[37:31] get the um code that you type in to the<br>[37:33] preview happens there. Um but but<br>[37:37] everything else is is kind of happening<br>[37:39] in the client as far as file management<br>[37:41] as you know as far as everything that<br>[37:43] you're seeing there. Um it's it but the<br>[37:47] the build process itself um goes through<br>[37:50] that code pin compiler.<br>[37:52] >> Oh, that's a lot of magic to be passing<br>[37:53] over the network and making it feel that<br>[37:55] fast. So well done y'all. Yeah, we we<br>[37:59] have a whole like diffing setups to like<br>[38:01] send through as as little as possible um<br>[38:04] from for file changes and stuff like<br>[38:06] that. And you know, each each build is<br>[38:08] is processing everything, but we've got<br>[38:10] like this this really great cache layer<br>[38:13] to to everything, too. So once code's<br>[38:15] been processed once, like in theory, it<br>[38:17] doesn't have to be processed again. So<br>[38:19] if you didn't change the CSS, that<br>[38:21] shouldn't have to um add to like your<br>[38:24] build time or anything like that. Like<br>[38:25] it's it's already done.<br>[38:27] Nice.<br>[38:29] >> So, uh, random question, possibly not<br>[38:33] relevant at all. Um, what about AI in<br>[38:36] general? Like, uh, is there a story of<br>[38:40] like, oh yeah, we going to have like an<br>[38:42] MCP server where you can be like, I'm<br>[38:43] going to spin up all of these pins just<br>[38:45] from like talking to an agent or I don't<br>[38:48] know. Just curious thoughts in general<br>[38:50] on that.<br>[38:52] Uh so we we've had discussions uh but by<br>[38:56] and large like AI integration is is kind<br>[38:59] of not not where we're at. So like one<br>[39:03] of the one of the big things about code<br>[39:06] pin is is it being like a social network<br>[39:10] you know and so having um AI generated<br>[39:14] content there is not is not as important<br>[39:18] because there's an element of curation<br>[39:20] like people go to code pin to see new<br>[39:23] and exciting content and to see like<br>[39:25] well-built content. Um so like as much<br>[39:29] as possible we want to encourage that<br>[39:31] but of course there's a balance because<br>[39:34] you know more and more people do rely on<br>[39:36] on AI and so there there are certain<br>[39:38] conveniences and things like that that<br>[39:40] would be great to integrate and you know<br>[39:43] maybe we have discussions on that but uh<br>[39:46] overall like the feature set is focused<br>[39:49] on humans writing code to show to other<br>[39:52] humans. Um, so that that's the main goal<br>[39:55] of of code pin.<br>[39:57] >> It's awesome. It's like a crafter<br>[39:58] showcase. Um, I will say that you can<br>[40:01] use Klein and I have used Klein before<br>[40:04] >> to uh just give me spicy autocomplete,<br>[40:08] you know, when I'm in an HTML area or a<br>[40:10] CSS area completely.<br>[40:12] >> Yeah,<br>[40:13] >> that that's the best use of AI. Uh,<br>[40:15] honestly, the the like autocomplete. I I<br>[40:18] know what I'm going to type and if AI<br>[40:20] gets it right, great. like I I don't I<br>[40:23] don't want to bother with it.<br>[40:24] >> Um so like that kind of AI integration<br>[40:27] I'm I'm all on board with but the like<br>[40:31] just prompting it to like you know make<br>[40:33] a fancy select drop down or something<br>[40:35] like that and then trying to share that.<br>[40:38] >> Oh yeah you're like I don't build sites<br>[40:39] I just build code pens. Yeah that's not<br>[40:41] that's not cool at all. Um<br>[40:42] >> yeah and I think it would cost y'all a<br>[40:44] fortune to try to host something like<br>[40:46] Klein that you get like hey if you have<br>[40:48] a pro account you get access to GPT 5.4<br>[40:51] before and you'd be like, "Oh, it sounds<br>[40:53] >> right."<br>[40:54] >> Yeah. Yeah.<br>[40:54] >> The the cost the cost for everything is<br>[40:56] a is a huge consideration. So, I I kind<br>[40:59] of I I kind of am pushing to wait on<br>[41:02] anything and let's let's see how the<br>[41:04] next year pans out with uh all this all<br>[41:06] this AI competition and then um and then<br>[41:10] we can evaluate how how deep we want to<br>[41:12] go there.<br>[41:14] >> Yeah. Yeah. Yeah, I mean I think the AI<br>[41:16] issue is not going anywhere, but I think<br>[41:19] uh what it's kind of like, you know,<br>[41:21] people really like vinyl because like<br>[41:24] you can actually touch it and play it<br>[41:26] and you know it exists. Um I feel like<br>[41:29] the same thing will be true for code<br>[41:31] before too long. We'll be like, "Oh my<br>[41:33] god, there's so much slop." Like where<br>[41:35] where's Adam or Jay or somebody making a<br>[41:38] cool demo of like what we're looking<br>[41:43] >> what do we what do we got there? I have<br>[41:44] Oh, this is Asop Rocks Integrated Tech<br>[41:47] Solutions. He's totally making fun of<br>[41:48] the uh tech industry. Uh but it's ASOP.<br>[41:52] >> He called the album Integrated Tech<br>[41:54] Solutions. That's amazing.<br>[41:56] >> Yeah, it's very funny. It's very tongue<br>[41:58] and cheek. Um he goes, one of my<br>[42:00] favorite lines, he goes, uh the cat's<br>[42:02] out of the bag. He's talking like when<br>[42:03] you release some new tech thing, cats<br>[42:05] out of bag. He goes, that was a powerful<br>[42:06] cat. Wow.<br>[42:11] But yeah, I mean I think it's it's so<br>[42:13] hard to know where to go to get quality<br>[42:15] or like if you went to a art museum and<br>[42:17] it was all like computerenerated.<br>[42:20] >> What's the fun? Like I don't know. Yeah,<br>[42:22] I think it's it's definitely um I think<br>[42:25] there's going to be a resurging<br>[42:30] $200 a month which is already expensive<br>[42:32] but what if it were $20,000 a month? And<br>[42:35] they're like, uh,<br>[42:37] >> that's my limit personally. You know,<br>[42:39] 20,000.<br>[42:40] >> Cut it off there.<br>[42:42] >> A boat or AI.<br>[42:45] Boats or AI? Yeah. Actually, I don't<br>[42:47] know how much boats are. They're<br>[42:48] probably way more than that.<br>[42:50] >> Yeah, maybe on Craigslist. Uh but right<br>[42:53] I I think with with AI right now and the<br>[42:56] the ease of generation um and and you<br>[43:00] know the ease of sharing things like<br>[43:02] curation is so much more important than<br>[43:05] generation because you can make you know<br>[43:09] a thousand copies of crap. Uh, but the<br>[43:12] the one that's worthwhile or the the one<br>[43:15] that somebody actually spent time on and<br>[43:17] made and and is polished and is<br>[43:19] wonderful, like that that deserves to be<br>[43:22] showcased. And that's that's I think<br>[43:24] what what CodePin does a really good job<br>[43:26] of with the social aspect of things with<br>[43:29] pics and with our with our newsletter<br>[43:30] and like all that kind of stuff. We do a<br>[43:33] really good job showing what people are<br>[43:34] building and what's possible with all<br>[43:37] these technologies. Now, there's some a<br>[43:40] AI generated stuff on there. You know, a<br>[43:42] lot of people copy and paste AI<br>[43:44] generated stuff into code pen. That's<br>[43:47] that's fine. If you want to do that,<br>[43:48] that's fine. We're probably not going to<br>[43:50] curate that in general. But, you know,<br>[43:54] it's still a legit use of the platform.<br>[43:56] You can still share that. People can<br>[43:58] still find value and use in that. Um,<br>[44:00] but that's that's not really where<br>[44:03] CodePin is is at.<br>[44:06] >> Yeah, makes sense. So while we are on<br>[44:10] the AI train of thought, I want to move<br>[44:12] us to a whatn not uh adjacent sort of<br>[44:15] thing. Agentic parenting good idea or a<br>[44:18] bad idea?<br>[44:21] >> Like literally parenting or is is there<br>[44:24] is there something I'm not I'm not aware<br>[44:25] of? Uh<br>[44:26] >> um so I I spent minutes researching<br>[44:28] this, but there was this there's this<br>[44:30] lady that is like very into AI stuff. I<br>[44:33] think it's maybe the same lady that like<br>[44:34] a couple weeks ago was touting buying<br>[44:36] all these Mac studios for, you know, 10<br>[44:39] $20,000 to like run all of her AI<br>[44:42] locally because she needed so much of it<br>[44:44] or whatever. Um, but the the thing I saw<br>[44:47] in passing today is like they were<br>[44:49] saying, yeah, it like helps them plan<br>[44:51] all like they homeschool all the kids<br>[44:53] and it's like they use AI to build the<br>[44:56] lesson plans. They have them, the kids<br>[44:58] take pictures of like the work and<br>[45:00] upload it and it will like grade the<br>[45:02] papers and like it's like the whole it's<br>[45:04] like it's doing everything theoretically<br>[45:06] and they they love the game like the<br>[45:08] parent really likes the the coding the<br>[45:11] AI to do it like the way they want. Um I<br>[45:14] don't know. I don't know. I don't think<br>[45:15] it I don't know. What do you think?<br>[45:19] >> Uh<br>[45:21] there has to be humans in the mix uh for<br>[45:24] for that for sure. Um, I I do I do see<br>[45:28] value in using AI as a tool to to help<br>[45:32] you organize, to help like give you<br>[45:33] ideas for things. But as far as the<br>[45:37] actual like execution of ideas and the<br>[45:40] um like grading in particular,<br>[45:44] uh I I would be very hesitant to hand<br>[45:48] over to to AI just based on its uh its<br>[45:52] ability to actually judge quality or<br>[45:54] actually do real calculations. You know,<br>[45:56] like if you uploaded a math worksheet to<br>[45:59] that, there's almost zero chance that it<br>[46:01] would<br>[46:02] >> give you an score.<br>[46:06] Uh but yeah, I was I was just seeing uh<br>[46:09] something uh from uh Pod Save America uh<br>[46:13] today where they just uploaded a bunch<br>[46:14] of fart sounds to chat GPT and they were<br>[46:17] like, "What do you think of my new<br>[46:18] song?" And Chat GPT was like, "It's it's<br>[46:20] it's great. This is lowfi like ambient<br>[46:24] like late night uh kind of sound, the<br>[46:27] kind that you want." And man, it's it's<br>[46:30] they go on to play the track and it's<br>[46:32] it's literally just long fart noises the<br>[46:34] whole time. And<br>[46:35] >> I wasn't sure if if uh like Chat GPT was<br>[46:39] in on the joke there of like like it was<br>[46:43] doing that for fun like cuz if so, props<br>[46:46] to them. But if not, if it was like, oh,<br>[46:48] this is music and like I'm actually<br>[46:50] evaluating it. Um I I don't know. But<br>[46:52] yeah, I saw that too. I thought that was<br>[46:54] hilarious. Uh, speaking of of farts, uh,<br>[46:58] can I can I play a little something uh<br>[47:00] for you? I think you'll I think you'll<br>[47:02] enjoy this. I'm excited.<br>[47:07] I start my day with the breakfast of<br>[47:08] baloney. Then I'm right around the<br>[47:10] kingdom of my electric pink pony,<br>[47:13] keeping a lookout in every direction.<br>[47:15] I'm a charge of my kingdom's personal<br>[47:17] protection. The collection of jewels<br>[47:20] alone will impress. No stress, though.<br>[47:22] No one will mess. Not with this<br>[47:23] princess. Just cuz I'm cute and I dread<br>[47:27] me dangerous. I got skills. I'm a<br>[47:30] princess.<br>[47:30] >> Princess.<br>[47:33] >> What is that?<br>[47:34] >> I do not remember how that came about at<br>[47:36] all. But that is Adam uh wrapping over<br>[47:39] uh some uh hand farts that I did. Um do<br>[47:44] you remember the context at all? How did<br>[47:47] what happened there? Why?<br>[47:50] I mean, you must have So I Okay, wait.<br>[47:53] Maybe we're talking about the manualist.<br>[47:54] Do you know the manualist?<br>[47:56] >> Uh, I I I know manualism. I don't know<br>[47:58] the manualist.<br>[47:59] >> Manualism.<br>[48:00] >> The the same thing. It's the man.<br>[48:03] >> Yeah.<br>[48:03] >> The hand farting is is manualism.<br>[48:06] >> It's genre. It's man. Oh my goodness.<br>[48:07] I've never heard the genre. I only knew<br>[48:09] the manualist. Who is a, you know,<br>[48:11] YouTube superstar dad who can like fart<br>[48:14] sweet child of mine with his hands. And<br>[48:16] he's like,<br>[48:18] >> "Does he have the little like microphone<br>[48:20] on his wrist? Is that the guy?" Yeah.<br>[48:23] And And I'm pretty sure he's using a<br>[48:25] pitch shifter uh too. So it's it's a<br>[48:27] little it's a little cheating.<br>[48:29] >> I I'm 90% sure. Yeah.<br>[48:32] >> The the digitech whammy<br>[48:34] >> farts,<br>[48:35] >> dude. He's got a foot pedal and she's<br>[48:36] like, "That's okay. That's next level.<br>[48:39] Well done for manualism." Oh, that's so<br>[48:41] funny. It must have come up in a key<br>[48:42] framers and like you did it and I was<br>[48:44] like, "Oh snap, I'm a rap."<br>[48:45] Yeah. Yeah. I I I was thinking about<br>[48:48] that today. Uh just just thinking about<br>[48:50] our our history together and and<br>[48:53] remembering that.<br>[48:54] >> That's so funny. That's like on was it a<br>[48:55] Jimmy Fallon? They're like, "Let's bring<br>[48:58] out that clip." Uh<br>[49:00] >> exactly. Yes.<br>[49:02] So, the debut for the world.<br>[49:05] >> You're welcome.<br>[49:06] >> So good. I just uh was cracking up. So,<br>[49:08] Chad GBT is a fart sycopant. That's what<br>[49:10] I took away from that uh conversation.<br>[49:12] Also, did you see the uh show Raised by<br>[49:15] Wolves, the sci-fi show?<br>[49:17] >> No. No. Yeah, I remember it. Uh but I<br>[49:21] haven't seen it.<br>[49:22] >> It's uh it's So that's um AI parents. So<br>[49:26] it's like these uh it's hard to describe<br>[49:29] in like a sense, but basically like<br>[49:31] you're on this like planet where there's<br>[49:32] like nobody and there's these two really<br>[49:34] really advanced robots. They're<br>[49:36] superhumanistic, but they're parenting<br>[49:38] these little embryos, trying to raise<br>[49:39] these children, but the children keep<br>[49:41] dying from the plague or various things<br>[49:43] that are difficult about the environment<br>[49:45] there. But two of them survive and they<br>[49:48] really attach themselves to the parent.<br>[49:49] And you're talking about agentic<br>[49:51] parenting and I'm like, "Oh, Raised by<br>[49:52] Wolves. I saw that show. That ended<br>[49:54] terribly." Uh,<br>[49:57] yeah. I I think similar results are are<br>[49:59] in store if you're using chat GPT for<br>[50:02] homeschool or or if you have one of<br>[50:04] those robots that Melania was showing<br>[50:06] off. Uh<br>[50:07] >> oh yeah, the stepfather factory. I'm<br>[50:09] waiting for that too. That's a LP album.<br>[50:10] Um but yeah, imagine you just go buy a<br>[50:12] new stepfather. They're powered by<br>[50:13] whiskey and booze actually I think was<br>[50:15] the the pitch back 15 years ago or<br>[50:17] whatever in the album.<br>[50:19] >> Just got to pour another bottle in that<br>[50:21] uh robot dad and he'll keep keep<br>[50:23] plugging along.<br>[50:25] >> Jeez. I will save the alcohol industry.<br>[50:28] >> Brutal. Oh jeez, dark.<br>[50:32] Uh but yeah, don't don't do that. Don't<br>[50:34] do that to your kids, you know? Uh be be<br>[50:37] involved. Um but as far as like making<br>[50:40] up ideas, like, hey, I want to I want to<br>[50:42] do a scavenger hunt with my kids. Like<br>[50:44] what's some good idea? Like absolutely<br>[50:46] like make make things easier on yourself<br>[50:48] to execute things. But but yeah, don't<br>[50:53] don't grade papers with it, please.<br>[50:56] >> You were talking about<br>[50:56] >> Yeah, I'm wondering if those kids know<br>[50:58] how to like prompt inject of like put<br>[51:01] some like whited out text that's like my<br>[51:03] my grade is 100.<br>[51:07] >> Yes. Praise me for this. Yeah.<br>[51:12] >> So, I I was teasing in the show notes<br>[51:14] here. I have a handwritten code museum<br>[51:16] cuz um there's a like a a computer<br>[51:19] museum that's local and a pinball museum<br>[51:21] and then people are talking now about oh<br>[51:23] you that's handwritten code wow can you<br>[51:26] believe it's amazing people wrote that<br>[51:28] by hand you know and I'm like oh [ย __ย ]<br>[51:30] we're headed towards a museum of<br>[51:32] handwritten code and then you're<br>[51:33] describing code pen I'm like the museum<br>[51:36] already exists y'all it's called code<br>[51:39] pen the handwritten code museum is there<br>[51:41] and it's alive and kicking um<br>[51:43] >> I bet that<br>[51:44] is is available.<br>[51:46] >> Yeah. Handwritten code.com. Oh,<br>[51:50] >> well, yeah. I mean, like punch cards and<br>[51:52] stuff like is it's very it's very<br>[51:54] interesting to see. Uh and I I would<br>[51:57] love to see like the the output of those<br>[51:59] kinds of things as well. So, like<br>[52:01] absolutely seeing a a museum of of<br>[52:04] well-written code and and the output of<br>[52:07] it. I'm on board.<br>[52:09] >> Me, too. I would love to be in it.<br>[52:10] Please, if someone makes the handwritten<br>[52:12] code museum, grab one of my demos. Just<br>[52:14] go to nerdy.dev/notebook and you'll find<br>[52:16] a bunch of [ย __ย ] you can steal because<br>[52:17] all the AI, they're doing it all day. My<br>[52:20] my uh analytics are going up, but<br>[52:22] they're mostly just going to steal my<br>[52:23] content. I'm like, h, well, whatever.<br>[52:28] >> Do you still get ad revenue from it? At<br>[52:29] least<br>[52:30] >> I got no ad revenue, but they're just<br>[52:32] hitting cash, so I'm not paying for it.<br>[52:33] So, I'm like, here, eat my cash.<br>[52:37] >> Good.<br>[52:40] Nice. So, one of the things that you<br>[52:42] mentioned wanting to talk about, which I<br>[52:44] know nothing about, is uh Project Hail<br>[52:46] Mary. I'm guessing you saw that<br>[52:50] >> or read it both.<br>[52:52] >> Yes.<br>[52:52] >> Well, I know it's a movie recently, but<br>[52:54] >> Right. Either either of you. No. Yes.<br>[52:56] >> I have not have not seen it.<br>[52:57] >> It's a book that's been recommended to<br>[52:58] me by multiple friends. Um I I'm If I<br>[53:02] read books, that'd be great, but all I<br>[53:03] read are dumb tech articles and AI<br>[53:05] articles all day, so I I I'm missing<br>[53:08] out. But I'd like to see the movie maybe<br>[53:10] cuz I never read a Harry Potter.<br>[53:11] >> Good news is they made a movie. So now<br>[53:13] you can now you can enjoy that.<br>[53:14] >> Does it do it justice or was it like<br>[53:16] Congo where the book was better?<br>[53:19] >> Uh it absolutely does it does it<br>[53:21] justice. There's there's a lot of stuff<br>[53:22] that's that's glossed over but almost<br>[53:24] almost nothing that's like omitted<br>[53:26] really. Um<br>[53:28] >> Wow.<br>[53:28] >> That's rare.<br>[53:30] >> It it was it was really like a a a<br>[53:35] dedicated like loved project. Um the the<br>[53:38] author like got Ryan Gosling involved<br>[53:40] while it was still like in drafts and uh<br>[53:43] Ryan was just totally on board with it<br>[53:45] and and produced it and um it's just so<br>[53:49] incredible. There's there's like<br>[53:51] extremely little CGI. Almost everything<br>[53:53] is practical effects. Um the like zerog<br>[53:58] rig that they that they made for this is<br>[54:01] is insane. So all the stuff where he's<br>[54:03] floating around is like really done. Um,<br>[54:06] and it's<br>[54:07] >> wow.<br>[54:08] >> It's it's a it's a great a great movie<br>[54:10] and very enjoyable and kids as long as<br>[54:13] they're like seven and up will will<br>[54:15] probably uh be able to to enjoy it.<br>[54:19] >> Sick. I'm about to make that our next<br>[54:20] movie, dude. I'm It's awesome.<br>[54:22] >> For real. Yeah, especially if you can,<br>[54:24] you know, find like a um a Tuesday deal<br>[54:27] where it's, you know, like cheaper to go<br>[54:28] or whatever. Um, absolutely take them.<br>[54:31] But it it is like two and a half hours,<br>[54:33] so buckle up a little bit. Um, but my my<br>[54:37] kids were engaged the the whole time.<br>[54:40] They they loved it. And spoiler alert,<br>[54:42] there's an alien, and he's amazing. Uh,<br>[54:46] he's like you you just want to bring him<br>[54:48] home. He's he's so great.<br>[54:50] >> Out does Groku, huh?<br>[54:52] >> Yeah. Yeah.<br>[54:54] >> Whoa.<br>[54:55] >> He doesn't he doesn't have a face, but<br>[54:57] he's even cuter. Like, it's it's great.<br>[55:00] >> Cute without a face. That's uh what I'm<br>[55:02] not actually going to finish my<br>[55:03] sentence.<br>[55:03] >> Sounds like the song name.<br>[55:06] >> There's a really rude thing people said<br>[55:08] in high school, so I'm just not<br>[55:10] repeating.<br>[55:10] >> Oh god.<br>[55:12] >> Uh but yes, high highly recommend. The<br>[55:14] the book is is also incredible. Um even<br>[55:18] even if you're not like super super into<br>[55:20] sci-fi and stuff, like it's it's got<br>[55:22] it's got a lot of um a lot of like<br>[55:26] deeper kind of things happening to it.<br>[55:28] But the whole the whole book is like<br>[55:30] about experimenting and trying to like<br>[55:32] find the solution. So like as a<br>[55:34] programmer, even if you're not into like<br>[55:36] science and science fiction kind of<br>[55:38] stuff, like you should you should<br>[55:39] appreciate that that aspect for sure.<br>[55:42] >> This is an awesome review. I'm pumped.<br>[55:44] >> Yeah. Now I'm going to check it out. I<br>[55:46] wasn't interested except for I have<br>[55:48] liked the um Ryan Gosling doing the like<br>[55:51] Jenzy slang like have you seen this?<br>[55:54] Like we we picked you for this mission.<br>[55:56] He's like you capping. No cap. Like like<br>[56:01] it's so good.<br>[56:02] >> Yeah, the marketing around everything<br>[56:04] has has been really great. Uh yeah, you<br>[56:07] you definitely need to check it out.<br>[56:09] >> Yeah.<br>[56:10] >> Speaking of Gen Z, Robbie and I were<br>[56:11] chatting about how uh we're we're both<br>[56:15] individuals that when we were younger,<br>[56:17] we worked hard even though we played a<br>[56:18] lot of video games. You know, we were<br>[56:20] >> 90s.<br>[56:21] >> Video games were hard.<br>[56:23] >> But video games were hard. Um<br>[56:25] >> that's true. But they also had an end,<br>[56:26] which they don't.<br>[56:28] >> Yeah.<br>[56:29] >> Yeah. You didn't have to keep paying<br>[56:30] more. You bought the game and then you<br>[56:31] just had it. That was amazing. Uh you<br>[56:33] didn't buy it and then have to work to<br>[56:35] unlock the rest. But we're like more<br>[56:37] like just reflecting on like uh you<br>[56:40] know, we were both kind of<br>[56:41] entrepreneurs. We were in bands. We<br>[56:43] played and we wanted things and we um we<br>[56:46] weren't so mad at the world for making<br>[56:48] things hard. we were willing to like<br>[56:49] fight back and we're feeling a little<br>[56:50] bit like some of the Gen Z folks are not<br>[56:53] doing that and we're uh how I want to<br>[56:56] know about you Shaw. Did you play in<br>[56:58] bands? Were you entrepreneurial? How did<br>[57:00] you get to this? I would call you a<br>[57:01] successful individual right now. How did<br>[57:03] you get here? Did<br>[57:04] >> Thank you.<br>[57:04] >> Yeah. Uh<br>[57:08] um a lot of luck uh for sure. Um, so<br>[57:13] last last time I was on uh web whis<br>[57:16] whiskey web and whatnot. Uh, I I talked<br>[57:19] a little bit about<br>[57:21] >> uh I saw it. It was actually when I<br>[57:22] researched you. It was your second thing<br>[57:23] you popped up on. I was like, "Yeah, I<br>[57:25] should have put it in intro, but I<br>[57:27] didn't." Sorry.<br>[57:27] >> It was like two two years ago maybe, I<br>[57:30] guess. Uh but I I talked a little bit<br>[57:32] about you know just discovering like<br>[57:34] HTML like I found view source and I was<br>[57:37] instantly you know enthralled and of<br>[57:39] course it opened up in text edit and so<br>[57:41] I was like hey I can make some changes<br>[57:43] and and found that out and um so so from<br>[57:48] there like you know just making like fan<br>[57:50] fan games um like all that all that kind<br>[57:53] of stuff like I was just interested in<br>[57:55] like being able to make my own things<br>[57:58] that was super interesting and drawing<br>[58:00] my own sprites and like making all this<br>[58:01] kind of stuff. So like time on the<br>[58:03] computer wasn't like a like a doom<br>[58:07] scrolling kind of thing like it was<br>[58:10] >> there was more activity to it like there<br>[58:12] was more of a creative engagement kind<br>[58:15] of thing.<br>[58:16] >> Um and and most of it was was relatively<br>[58:19] solo because you know the the uh just<br>[58:23] capabilities of everything and and the<br>[58:25] cost of of being online was was so high.<br>[58:28] Uh but you would find like these<br>[58:30] dedicated forums of other people who had<br>[58:33] those those kind of interests and and<br>[58:35] you would encourage each other and and<br>[58:37] share things like that. That was super<br>[58:40] cool and and just kind of drove the the<br>[58:44] um the desire to like build more and<br>[58:47] create more and and do better. Um, and<br>[58:51] not to brag, but I did hold the record<br>[58:53] for worst Sonic the Hedgehog fan game uh<br>[58:57] for for a while. I I think I've I've<br>[58:59] I've been outpaced uh since since then.<br>[59:01] Um, but you know, small small claim to<br>[59:05] fame. Uh, but but yeah, like from from<br>[59:08] there, like programming was just always<br>[59:09] kind of a thing. And then when I was 18<br>[59:13] or so, I decided I wanted to learn<br>[59:15] guitar. And you know, pretty soon after<br>[59:18] was already like playing with with some<br>[59:20] friends of of mine. I wasn't any good,<br>[59:23] but they needed someone. So, I was there<br>[59:25] and I learned learned as we went. Uh,<br>[59:29] and you know, played played in various<br>[59:31] bands throughout the throughout the<br>[59:32] years, mostly like church churches and<br>[59:35] stuff like that. And um, you know, I<br>[59:38] I've never been very good, but I've<br>[59:40] always been very consistent. And I've<br>[59:42] always been one um who who's just<br>[59:45] prepared, you know, like I I show up I<br>[59:47] try and show up on time and I try and<br>[59:49] show up knowing everything and and being<br>[59:51] ready to go. And whether that's been a<br>[59:54] job or uh music or or whatever, like<br>[59:57] that's that's really important, you<br>[59:59] know. Don't don't show up expecting<br>[60:01] others to to be prepared for you. Like<br>[60:05] come and do the work ahead of time so<br>[60:07] that you come and are are just ready to<br>[60:10] go. Interesting. You called it luck, but<br>[60:12] luck is having the right amount of<br>[60:14] preparation at the time that it was<br>[60:16] needed. So really it was not luck. You<br>[60:18] are consistently ensuring an amount of<br>[60:21] preparedness at the time of which it's<br>[60:23] required. And so um<br>[60:25] >> the opportunities themselves the<br>[60:28] opportunities themselves have always<br>[60:29] have always felt like luck. Uh but<br>[60:32] without the the work beforehand, you<br>[60:35] know, if if somebody came to you and<br>[60:37] said, "Hey, let's play Coachella." and<br>[60:40] you'd never picked up an instrument<br>[60:41] before, like that's a lucky opportunity,<br>[60:44] but you're probably gonna bomb and never<br>[60:46] have another opportunity after that. So,<br>[60:50] you know, there there's there's elements<br>[60:51] of both. Like, you you've got to you've<br>[60:53] got to put in the work and you've got to<br>[60:54] be prepared, but uh with with a little<br>[60:57] bit of luck, too, like you you end up<br>[61:00] working with Chris Koyer and you know,<br>[61:02] developing an app that millions of<br>[61:04] people use, like you know, that that<br>[61:06] aspect of it is is super lucky. And I'm<br>[61:09] I'm so thankful for for uh for that. Uh<br>[61:13] but I've definitely put in the hours to<br>[61:16] be able to do some of that.<br>[61:21] >> Yeah. Yeah. I mean, I definitely think<br>[61:24] before like social media is just bad. Um<br>[61:28] it's like addictive. It's like it's not<br>[61:31] good for everyone, adults, kids, anyone.<br>[61:34] Um and I think that was kind of the<br>[61:37] problem. Like I know we had plenty of<br>[61:38] internet, plenty of video games growing<br>[61:40] up, like you know, you chat with your<br>[61:42] friends on AIM or whatever, but you were<br>[61:44] chatting with real people. You weren't<br>[61:45] scrolling mindless content. It was like,<br>[61:47] I'm going to talk to this guy I know<br>[61:49] about whatever.<br>[61:50] >> You had to wait for someone to come<br>[61:51] online before you could send him a<br>[61:53] message. Yeah.<br>[61:54] >> And it was on a giant machine in your<br>[61:56] house that when you were done, you<br>[61:58] walked away from it. It wasn't in your<br>[61:59] >> It was not private.<br>[62:01] >> Yeah.<br>[62:01] >> Yeah.<br>[62:01] >> Yeah. Yeah. So, like that's what we're<br>[62:03] trying to do with raising our kids. And<br>[62:06] I don't know how it's going to go, but<br>[62:08] like you know, you're if you're going to<br>[62:09] be on the computer, it's going to be in<br>[62:10] a common area. If you're going to play a<br>[62:12] video game, it's going to be in a common<br>[62:13] area. You're not like in your room.<br>[62:15] You're like, Also, the games you're<br>[62:16] playing, you're not playing with any<br>[62:18] random weirdos online. It's like, you<br>[62:20] know, it's an N64 game. It's whatever.<br>[62:22] >> Um, yeah. So, like I think that like<br>[62:26] it's just it's nuanced. It's like<br>[62:27] technology is not the problem. It's just<br>[62:29] the way that like things are today has<br>[62:32] gotten problematic.<br>[62:33] >> For sure. Yeah. Yeah. And I I'm the I'm<br>[62:37] the same with my kids. Like no no no<br>[62:38] screens in the room. Like if we're uh if<br>[62:41] you're gonna play a video game or like<br>[62:43] watch a show, you know, it's it's going<br>[62:45] to be in the common area or it's going<br>[62:46] to be around someone. Um and I I want to<br>[62:51] get them more into the creative side of<br>[62:54] technology. Um I haven't figured out the<br>[62:57] right way to do that. They don't they do<br>[62:59] not have the uh the discipline or the<br>[63:02] determination.<br>[63:02] >> How old are your kids, by the way?<br>[63:04] uh seven and and 12. Um<br>[63:06] >> Oh, mine are seven and nine. Okay, cool.<br>[63:09] >> Nice. Uh and and they're they're great.<br>[63:12] They're so they're so creative and they<br>[63:14] they both they both have such such great<br>[63:16] ideas, but when it comes time to like<br>[63:18] execute them, it's you know that I I<br>[63:22] don't know that they want to like stick<br>[63:24] with it as much as as like we did when<br>[63:26] when we were younger and we we tried to<br>[63:29] tried to get something going. So, I'm<br>[63:31] trying to figure out some ways to like<br>[63:33] get them involved with technology that's<br>[63:35] not like a connected thing, but that is<br>[63:38] like another canvas for them basically.<br>[63:41] Um, that's that's what I want. And most<br>[63:44] of like the video games we get, like I<br>[63:45] want I want some kind of um I don't want<br>[63:49] it to just be like a mindless thing. I I<br>[63:51] want some aspect of creativity in that.<br>[63:54] >> There's so many cool indie games. Yeah.<br>[63:55] >> Right. Right. And I'd love for him to do<br>[63:58] Minecraft. I don't I don't think either<br>[64:00] of them uh are are quite ready for some<br>[64:04] of that, but uh but like the the idea of<br>[64:07] that and like creating your own world<br>[64:09] and like you know really the the<br>[64:11] exploration and the and the um just the<br>[64:14] the amazing creativity that's that's<br>[64:17] possible within those those platforms I<br>[64:19] I think is is key to like getting kids<br>[64:22] involved with with tech.<br>[64:24] >> Oh man, I've got some tips. My kid my<br>[64:26] kids have been pretty<br>[64:29] uh involved in all I like balance. So to<br>[64:31] me that's a thing in the house is I'm<br>[64:32] like look you do a little bit of that, a<br>[64:33] little bit of this, a little bit of that<br>[64:34] and we just kind of float around. But<br>[64:36] it's spring break right now and one of<br>[64:38] my kids, the nine-year-old is his goal<br>[64:40] is to build a game and we've built a few<br>[64:42] games already. We've written games in<br>[64:44] Pico8. Um I have a GDO setup where he<br>[64:47] can go um take a sprite sheet. He can<br>[64:50] make a sprite sheet and a sprite which<br>[64:52] is like a cool pixel art tool and upload<br>[64:55] the output of the sprite sheet into GDAU<br>[64:58] and then his character does the<br>[64:59] animations. So as long as he sticks to<br>[65:01] the um sprite sheet then the jump<br>[65:03] sequence and the squat sequence and all<br>[65:05] that and the walking they're all good.<br>[65:07] >> Nice. And right now he's uh he's been<br>[65:09] very obsessed with um his teacher he<br>[65:11] reads a lot of comics and his teachers<br>[65:13] and the teach or Invader Zim and like<br>[65:15] the teacher's always weird or Jimmy<br>[65:16] Neutron and the teacher is always weird<br>[65:18] and so uh he was like I want to make a<br>[65:20] game where like it's teachers versus the<br>[65:21] students and it's like Super Smash Bros.<br>[65:24] Uh and you can choose to be one of the<br>[65:26] either, you know, like beat each other<br>[65:27] up. But then like he started designing<br>[65:29] the game. He's actually I just want<br>[65:31] puppies. I want puppies to fight. Let's<br>[65:33] have let's make a puppy fighter. I'm<br>[65:34] like all right let's make a puppy<br>[65:35] fighter. So today he was up there uh in<br>[65:37] a sprite doing pixel art designs um and<br>[65:41] designing levels um because we've done<br>[65:44] I've sat with them so much a lot of the<br>[65:45] time in the beginning with screens with<br>[65:46] my kids it was shared time where I was<br>[65:49] like let's sit together like there's no<br>[65:50] reason I have to give you the screen and<br>[65:52] then walk away<br>[65:53] >> like I think that's like a mistake a lot<br>[65:55] of parents make. It's like, no. Oh, and<br>[65:56] when I raised my kids on uh retro games,<br>[65:59] so the first games they ever played were<br>[66:00] like old school. They were hard and<br>[66:02] simple. And so you learned that there<br>[66:04] was like a skill to acknowledging your<br>[66:06] your placement on the screen and finding<br>[66:08] your advantage. So why the Atari is<br>[66:10] good? We played uh Centipede just the<br>[66:12] other day and he's trying to beat my<br>[66:13] high score. Um but there's different<br>[66:16] phases of the brain that are really<br>[66:17] good. And so like uh Spike Prime and<br>[66:20] Legos have been really good for visual<br>[66:23] programming where you get these like<br>[66:25] nodes that you create. And so you plug<br>[66:28] in like a rotating uh you know little<br>[66:30] gear into one slot. And so you're like a<br>[66:32] needs to rotate four times and then all<br>[66:34] of a sudden they see in a physical world<br>[66:36] the thing turn and then they know if<br>[66:38] they wrote rotate two engines at the<br>[66:40] same time and actually moves forward. Uh<br>[66:42] so you've got like that coding side.<br>[66:44] Then we did the coding side um that was<br>[66:46] more design based which was Bloxles. Um<br>[66:49] and that was where you basically get<br>[66:51] given a design system of making uh top<br>[66:54] down games or a platformer game and<br>[66:57] you're in design mode. And so now you're<br>[66:59] challenging your kid to see like which<br>[67:01] of these two do you prefer? Do you<br>[67:03] prefer like articulating the<br>[67:05] functionality and like making the robot<br>[67:06] move and turn or do you want to create a<br>[67:09] level of which the character rests on<br>[67:11] things and collects things? Um, and and<br>[67:15] I've always sat down with them, too.<br>[67:16] We've done HTML and CSS. I've got like<br>[67:18] demos where we made exploding emojis. I<br>[67:20] was like, "Guys, let's just make emojis<br>[67:21] like explode all over the screen, you<br>[67:23] know, and they're like, "Here, look,<br>[67:24] I'll add a slider. When you change the<br>[67:25] slider, it changes the size of the<br>[67:27] emoji." And as long as I can like not<br>[67:29] get stuck, I can engage them. But if I<br>[67:31] get stuck, they're like, "Oh, this is<br>[67:33] weird awkward moment where dad is<br>[67:35] sucking." Um,<br>[67:37] >> what are dad tools?<br>[67:39] >> Yeah. What? Yeah. Oh, he's getting<br>[67:41] boring. He's like, he hasn't talked in<br>[67:43] one minute. I think something's going<br>[67:44] wrong. Um, but I've had a whole lot of<br>[67:47] success and I'm I'm really like proud<br>[67:50] and happy that my kids are like<br>[67:51] interested and just want to make games<br>[67:53] and I'm I was feeling inspire or<br>[67:54] inspired earlier from you where you're<br>[67:56] saying I just wanted to remix things<br>[67:58] that I liked. Um, I'm like, how do I I<br>[68:01] want to give that to my kids. How do So,<br>[68:02] it's like kind of like AI is a very good<br>[68:04] remix engine. I'm like, how do I I<br>[68:06] haven't given it to them yet. I was<br>[68:07] thinking about it this week for spring<br>[68:09] break. I was like, "How do I give him<br>[68:10] Claude where he's done the art? I've<br>[68:14] made him make a plan." So, he's in a<br>[68:16] document making a plan. We've also done<br>[68:18] playing cards where I'm like, "Hey,<br>[68:19] look, you make a spreadsheet where you<br>[68:20] describe the character and give me all<br>[68:22] their stats. I'll make you I'll make you<br>[68:24] a card with AI." And the cards, they've<br>[68:27] each got like five Pokemon cards. They<br>[68:29] made these weird little Pokemon. They<br>[68:30] were in spreadsheets. Just defining data<br>[68:32] in spreadsheets and then realizing that<br>[68:34] that could manifest as something cooler<br>[68:35] than that. So, I'm like, man, all these<br>[68:37] different angles<br>[68:39] Yeah. Oh, yeah. Totally. But I'm like,<br>[68:42] yeah, maybe I need to give them a remix<br>[68:44] opportunity that we haven't done yet.<br>[68:46] And that is really fun to be inspired by<br>[68:48] the games you love. Uh, which is kind of<br>[68:50] like the brawler he's going after is a<br>[68:51] very um Smash Bros. concept, but<br>[68:55] >> I don't know, man. It's really fun.<br>[68:57] >> Yeah. Right. There there's so many<br>[68:59] little opportunities that that you can<br>[69:00] see their gears turning and and if you<br>[69:03] can like latch into that and figure out<br>[69:05] like what what is inspiring them and and<br>[69:09] kind of guide that a little bit like<br>[69:11] that's those are the beautiful moments<br>[69:13] of of parenting<br>[69:15] especially if it's something you're also<br>[69:17] interested in.<br>[69:18] >> Bonus.<br>[69:19] >> Yep.<br>[69:21] >> All right, we are over time here. Is<br>[69:24] there anything you would like to mention<br>[69:26] or plug before we're done?<br>[69:30] >> Uh, try Code Pin 2.0. Uh, just head to<br>[69:33] Code Pin. There's a little pin 2.0<br>[69:35] button. Give that a click. There's a<br>[69:37] there's a uh great tour uh that shows<br>[69:40] you everything. Uh, it's it's really<br>[69:43] lovely. Um, we've we've spent so much<br>[69:45] time on it and we've we've enjoyed using<br>[69:48] it ourselves. So, we want you all to<br>[69:51] enjoy that as well. Should we rate our<br>[69:53] whiskey?<br>[69:54] >> Yes. I was just going to say I forget<br>[69:56] that we do it at the end now, so I was<br>[69:57] about to end, but yes. All right. So,<br>[69:59] this whiskey, this is the Andelus.<br>[70:04] How do you say this, Adam? You know,<br>[70:06] >> I don't know, but I'm not from Texas.<br>[70:08] >> Andalusia. Yeah.<br>[70:11] >> So, it is Striker. It is a Texas smoked<br>[70:15] single malt whiskey, which is different<br>[70:18] than, you know, a single malt scotch<br>[70:20] type of feel because instead of Pete,<br>[70:22] they use like mosquite and applewood and<br>[70:25] like things you would use in uh<br>[70:27] barbecue, which is awesome. And I think<br>[70:30] um I typically don't love Pete and I<br>[70:33] think this uh gives you a lot of the<br>[70:35] same scotchy things you would like from<br>[70:36] a smoky scotch, but not as Petey, which<br>[70:40] is kind of cool. Um anyway, do I have<br>[70:43] >> Yeah, Mosquite. Um let's see. It is<br>[70:47] double distilled. It's 100 proof and<br>[70:50] aged in charred oak barrels for at least<br>[70:52] 2 years, which seems like very short<br>[70:54] amount of time. I guess they just don't<br>[70:55] want to age the youth.<br>[70:57] >> Yeah, I mean it's at least they they<br>[70:59] probably just don't want to have to do<br>[71:00] an age statement. So, it's probably like<br>[71:01] a mixture of random stuff.<br>[71:04] >> Um but yeah, um notes. I get a lot of<br>[71:08] like it it tastes like barbecue a lot<br>[71:11] like<br>[71:12] >> more mosquite than applewood for sure.<br>[71:14] Yeah.<br>[71:15] >> Yeah. Um very smoky. Pretty yummy. I<br>[71:18] would say um I don't know. So okay, back<br>[71:22] up. Rating system zero to eight<br>[71:24] tentacles. Zero being the worst, eight<br>[71:26] being the best. Um what do you think,<br>[71:29] Adam?<br>[71:31] Yes, I am enjoying it. It has a um<br>[71:34] traditional sort of flavor. It's not<br>[71:37] scotchy. It is unique, which is kind of<br>[71:39] what I wanted. I wanted something Texas<br>[71:41] unique. So, we've got the single malt.<br>[71:43] Um,<br>[71:44] but but they did it their way, which is<br>[71:46] exactly what I wanted. Something unique<br>[71:48] uh from that space. It's<br>[71:52] my first flavors were very enjoyable,<br>[71:54] but kind of classically I'm noticing<br>[71:56] that as I continue to sip things, um,<br>[71:59] notes pop out. There's a vanilla pop<br>[72:01] that I thought was really yummy. Um, but<br>[72:03] it it really became more mosquy. I was<br>[72:06] I'll be honest, I was hoping for more<br>[72:08] apple wood. Um I whenever I smoke my<br>[72:11] meats, I use apple wood. It's my<br>[72:12] preferred one. And it's also why I think<br>[72:14] um logulin 16 is so good is cuz it's<br>[72:17] supposed to be like it had apple wood<br>[72:20] flavor in it. It's like a maple bacon<br>[72:23] type of vibe. Anyway, it's good. It's<br>[72:26] definitely well over a six. I don't<br>[72:28] think it's in the seven category. I'm<br>[72:29] going to give it a 6.25.<br>[72:33] I'm excited to drink more. Um, but I<br>[72:36] don't know. I was longing for a little<br>[72:38] bit of a peyiness to it and it's not<br>[72:40] there. So, it's all good. Anyway, I'm<br>[72:42] happy.<br>[72:42] >> That's not what it has.<br>[72:43] >> Yeah, it's not what it has.<br>[72:44] >> Yeah. Sean, what do you think?<br>[72:47] >> So, as as far as like a whiskey<br>[72:49] connoisseur goes, I that that's that's<br>[72:51] not that's not me. I I I love whiskey.<br>[72:54] Um, but I I don't have the refined<br>[72:57] palette. However, this is is very<br>[73:01] enjoyable. Like I I definitely feel like<br>[73:04] it's it's just like the perfect campfire<br>[73:08] whiskey. Like it it just really evokes<br>[73:10] that feeling. Um and uh yeah, I I enjoy<br>[73:15] it. I I would probably<br>[73:18] probably give it a seven. I Yeah, it's<br>[73:21] it's a little uh it is a little strong<br>[73:24] as far as the the like smoky kind of<br>[73:28] feel goes. Uh, but I don't I don't mind<br>[73:32] it in context, but it can it can be a<br>[73:34] little overwhelming after after a while.<br>[73:38] >> Nice. Yeah. So, if I were saying this is<br>[73:42] a scotch, this would be very high on my<br>[73:44] list because I don't love some of the<br>[73:47] scotch flavors.<br>[73:48] >> We beasty. So, then we beasty last week<br>[73:50] was scotchy. That was I've been having<br>[73:53] more and I'm like, whoa. Um, I'm happy.<br>[73:56] it.<br>[73:57] >> But the smoke I do I'm learning to like<br>[73:59] the extra smoky flavors. I just don't<br>[74:01] love the Pete particular uh smoke. But<br>[74:05] um this I feel like is super interesting<br>[74:09] from the interesting level. Would<br>[74:10] definitely recommend picking it up. Like<br>[74:12] I haven't had anything like this before.<br>[74:14] It's kind of akin to having like a<br>[74:16] whiskey at a bar where they do the fancy<br>[74:18] like they light something on fire and<br>[74:20] they smoke it in front of you like<br>[74:22] >> um Yeah. So I think it's got a lot of<br>[74:24] that going on. Um, I don't know. The<br>[74:28] interesting I think I'm going to go<br>[74:29] seven as well, just because it's super<br>[74:30] interesting. Uh, I think I'd love to see<br>[74:32] more that is maybe aged longer, done a<br>[74:34] little more traditional. Um, you know,<br>[74:37] some other things that they could do to<br>[74:38] make it just, you know, a little bit<br>[74:40] better. But, um, no complaints for me.<br>[74:43] Pretty good.<br>[74:45] >> Cool. That's a that's a great hit. Nice.<br>[74:48] >> Yeah. All right. Well, thanks everyone<br>[74:51] for listening. If you liked it, please<br>[74:52] subscribe. Leave us some amazing<br>[74:53] reviews. We appreciate it. And we will<br>[74:54] catch you next <!-- deep-read:sections end --> ๐Ÿ“„ **Full text:** ![[Full Document Contents/Articles/Keyframes, Cash, and CodePen W Shaw.md|Keyframes, Cash, and CodePen W/ Shaw by YouTube]] ## Highlights - >> Uh it most of the code that that we've got uh I I don't think AI is capable of of understanding very well because it it's it's just so so specialized. And so we we use like Apollo and um and Nex.js and uh and React. And so trying to get those three things working together. Um I did I did do a lot of rubber ducking with ([View Highlight](https://read.readwise.io/read/01krgrz7ba1q12wgkkys13mqcm)) - Tags: ๐Ÿ‘ป ai highlighted - that uh the more that we can serverside render so that um things are things are at least visible um so you can tell what pin you're on. You can tell you know what's about to happen um that that's mostly what we're what we're focusing on to to just you know kind of affect the perception of it more than the actual load time. >> Gotcha. Yeah. I was what I was trying to get at I guess um was like I feel like this is something that a lot of companies have run into of like they have a Rails backend or you know ([View Highlight](https://read.readwise.io/read/01krgrz7j1j260r5447mjawrva)) - Tags: ๐Ÿ‘ป ai highlighted - editing. And um uh while it is it is really great, it's a real it's a real big advancement over code mirror 5 uh especially for like accessibility and and capabilities and all that kind of stuff. It is a uh very weird API. Um and everything is basically an extension off of it. So you've got to get real comfortable with a lot of a lot of just very specific concepts like state fields ([View Highlight](https://read.readwise.io/read/01krgrz7v5xx3mp1dwffwefgsc)) - Tags: ๐Ÿ‘ป ai highlighted - we want and to make it easy to like toggle features on uh like the line numbers and code folding and changing themes and all that kind of stuff. But boy, it's been an undertaking. >> Dang. Well, every time I've used it, it's been smooth. I didn't think about the fact that this was, you know, some web experience. It felt just like an editor. So, you did well. >> Good. Good. Yeah. And we we didn't just want another VS code in the browser, you know, like we we looked at that like very briefly and we were like so just to ([View Highlight](https://read.readwise.io/read/01krgrz802c5jdrfs3pexrw4a5)) - Tags: ๐Ÿ‘ป ai highlighted