Should A New Coder Use AI? ๐Ÿ”— **Source:** [Should A New Coder Use AI?](https://www.youtube.com/watch?v=NrBQI9So5lM) > [!note]+ Document Notes > tags: [ai-tools, learning-code, development-workflow] > author: Syntax > source: YouTube > reference: https://www.youtube.com/watch?v=NrBQI9So5lM > date created: 2025-01-14 15:30 > > # ๐Ÿท๏ธ Title: Should A New Coder Use AI? > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Research how to effectively prompt AI for learning โ€” evaluate current prompting strategies #ai-tools - [H2] Build side projects with modern tech stack โ€” React, Drizzle, Tailwind for job market #career - [H3] Set up proper validation schemas and email deliverability โ€” move beyond basic SMTP #fullstack ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Syntax.fm](https://syntax.fm) - [Sentry CLI](https://sentry.io) ## ๐Ÿ“ Summary - Discussion about using AI tools effectively vs. becoming dependent on them for coding - Advice for new coders on balancing AI assistance with fundamental learning - Analysis of multiple AI agents, pagination strategies, and career transition advice - Emphasis on problem-solving skills over tool dependency - Practical examples from real development projects and security considerations ## ๐Ÿ“– Main Content The hosts discuss the nuanced question of whether new coders should use AI tools like Claude and Cursor. They argue that AI should augment learning and problem-solving rather than replace fundamental understanding. The conversation covers multiple AI agents working simultaneously, different pagination approaches, career advice for developers with outdated skills, and time management for side projects while balancing family responsibilities. Key themes include the importance of planning and review phases when using AI, the value of understanding underlying concepts rather than just getting code output, and practical considerations for both learning developers and experienced practitioners transitioning between technology stacks. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/NrBQI9So5lM?t=0) โ€” [H1] Multiple AI agents question from community - Key idea: Developer asks about running 5+ AI agents simultaneously for different features - Evidence: "I see folks are how they're able to spin up multiple agents and work on five separate features at once" #### โฑ๏ธ [02:30](https://youtu.be/NrBQI9So5lM?t=150) โ€” [H2] Planning is the longest part of AI-assisted coding - Key idea: Most time is spent on upfront planning and post-generation review, not actual code generation - Evidence: "The longest part of AI generated code is on either end. First it's planning what needs to happen" #### โฑ๏ธ [05:45](https://youtu.be/NrBQI9So5lM?t=345) โ€” [H2] Well-documented codebases work better with AI - Key idea: AI performs better when codebase has clear patterns and documentation - Evidence: "Because Scott spent a whole bunch of time up front sort of like detailing how how rigid it will be, I found that it did a very good job" #### โฑ๏ธ [08:15](https://youtu.be/NrBQI9So5lM?t=495) โ€” [H2] Using AI for overlapping work, not parallel features - Key idea: Rather than running multiple agents, use AI while planning next tasks during code generation - Evidence: "While it's working on that problem I will then shift to looking at okay what am I working on next" #### โฑ๏ธ [12:00](https://youtu.be/NrBQI9So5lM?t=720) โ€” [H1] Pagination strategies and user experience - Key idea: Choose pagination type based on content update frequency and user navigation needs - Evidence: "Infinite scroll is more of like like a feed, right? A feed is always going to just continue to give you the next thing" #### โฑ๏ธ [15:30](https://youtu.be/NrBQI9So5lM?t=930) โ€” [H2] Cursor-based vs offset-based pagination - Key idea: Use cursor-based pagination for frequently updating content to avoid item shifts - Evidence: "If you had a list of like like tweets and and those are updating frequently... you might be reading page like 1 through 10 and then you push page two and then the 10th one from the page one is now now the 11th one" #### โฑ๏ธ [18:45](https://youtu.be/NrBQI9So5lM?t=1125) โ€” [H1] Should new coders use AI tools? - Key idea: Use AI for research and understanding, not as a replacement for learning fundamentals - Evidence: "If you simply are just boop boop boop into the box and and hoping the answer comes out and not actually learning anything... you're not going to make it" #### โฑ๏ธ [22:15](https://youtu.be/NrBQI9So5lM?t=1335) โ€” [H2] AI as learning accelerator, not crutch - Key idea: AI should help with research and debugging, similar to calculator vs. learning math - Evidence: "It can help you figure out how to solve a problem and how to do that research very productively" #### โฑ๏ธ [25:30](https://youtu.be/NrBQI9So5lM?t=1530) โ€” [H2] Using AI to parse difficult documentation - Key idea: Present documentation to AI for reformatting rather than asking it to generate explanations - Evidence: "Give the AI someone else's documentation that I'm having a hard time parsing and saying, break this down into bulleted lists" #### โฑ๏ธ [28:00](https://youtu.be/NrBQI9So5lM?t=1680) โ€” [H3] Real example: Image comparison algorithm development - Key idea: Used AI for research, tested multiple approaches, then solved core problem through human discussion - Evidence: "I researched that with AI and I figured, okay, these are a couple different ways... then we all tested it and then we found like some major flaw" #### โฑ๏ธ [32:45](https://youtu.be/NrBQI9So5lM?t=1965) โ€” [H2] Security: Someone attempted XSS attack - Key idea: Explanation of cross-site scripting attempt through form submission - Evidence: "Somebody wrote uh closing text area open script tag fetch web hook... trying to run JavaScript code on your your browser" #### โฑ๏ธ [36:00](https://youtu.be/NrBQI9So5lM?t=2160) โ€” [H2] Career advice: Updating from PHP/jQuery stack - Key idea: Build side projects with modern stack for job market competitiveness - Evidence: "You are a problem solver and your tools are are out of date... you got to build a couple little side projects so you can scale up" #### โฑ๏ธ [39:15](https://youtu.be/NrBQI9So5lM?t=2355) โ€” [H3] Balancing family, work, and side projects - Key idea: Focus on learning that overlaps with work and family-beneficial projects - Evidence: "A big part of our jobs is to explore and to learn and to teach and you don't do that without getting deep into side projects" #### โฑ๏ธ [42:30](https://youtu.be/NrBQI9So5lM?t=2550) โ€” [H3] Time management strategies for developers - Key idea: Dive deep into one thing at a time, use excitement as motivation, leverage dead time for learning - Evidence: "I like to start an idea, dive in, master it and and finish it... I go so much based on excitement by trying things" ## ๐Ÿ“š References - [Syntax.fm Potluck Submissions](https://syntax.fm) - [Sentry CLI Documentation](https://sentry.io/cli) - [Tailscale Network Setup](https://tailscale.com) ## ๐Ÿ—ฃ๏ธ Paraphrase - AI tools should enhance learning and problem-solving abilities rather than replace the need to understand fundamental programming concepts - The most time-consuming aspects of AI-assisted development are planning the approach and reviewing the generated code, not the actual code generation - New developers should use AI for research and understanding complex topics, but must still develop core problem-solving skills to remain competitive ## ๐Ÿ“ฐ Newsletter **AI-Assisted Development: Finding the Right Balance** The latest Syntax podcast tackles a crucial question for today's developers: how much should you rely on AI tools when learning to code? The hosts provide practical guidance on using AI as a learning accelerator rather than a replacement for fundamental skills. **Key Takeaway**: The longest parts of AI-assisted development aren't the code generationโ€”they're the upfront planning and post-generation review phases. **Practical Application**: Use AI to help research solutions and understand complex documentation, but ensure you're developing problem-solving skills rather than just copying outputs. **Community Connection**: Join the WordPress developer community discussions about AI integration in development workflows. Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/) ## โœ… Action Items #### DevRel - Developer education: Create workshops on effective AI tool usage in coding education - Developer experience: Document best practices for AI-assisted debugging and research - Community management: Address concerns about AI dependency in developer discussions #### WordPress - Documentation: Update coding standards to include AI-assisted development guidelines - Training: Develop lesson plans on balancing AI tools with fundamental learning - Community: Host discussions on AI tool integration in WordPress development workflows ## ๐Ÿงช Hypotheses - Developers who use AI for research and understanding perform better than those who use it purely for code generation - Well-documented codebases with clear patterns produce better AI-assisted development outcomes - New developers who learn fundamentals before AI integration have better long-term career prospects - Multiple AI agents working simultaneously creates more review burden than productivity gains ### ๐Ÿ“Š Methodology - Survey developers on AI usage patterns and correlate with code quality metrics - Compare learning outcomes between AI-first vs fundamentals-first educational approaches - Analyze time allocation in AI-assisted development projects ### โ“ Questions - How do we measure the optimal balance between AI assistance and fundamental learning? - What specific documentation patterns make codebases more AI-friendly? - How will AI tool dependency affect long-term developer skill development? ### ๐Ÿ”ฎ Future Research - Longitudinal study of developers trained with different AI integration approaches - Analysis of security vulnerabilities in AI-generated vs human-written code - Investigation of effective AI prompt engineering for educational purposes ### ๐Ÿ’ก Implications - Practice: Developers need structured approaches to AI tool integration - Education: Coding curricula must balance AI assistance with fundamental skill development - Security: Increased vigilance needed for AI-generated code security review - Career: Traditional skill requirements evolving toward AI-augmented development ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 10th-11th grade #### ๐Ÿ‘€ Visual learners - Present: Discussion of pagination types with concrete examples - Improve: Diagrams showing AI workflow stages, pagination comparison charts #### ๐Ÿ”Š Aural learners - Present: Full podcast audio with natural conversation flow - Improve: Chapter markers for key topics, audio summary highlights #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear analogies (calculator vs. math learning), practical examples - Improve: Glossary of AI tool terminology, step-by-step explanations #### ๐Ÿงฉ Kinesthetic learners - Present: Real coding examples and security demonstration - Improve: Hands-on exercises for AI prompt engineering, practice projects #### ๐Ÿง  Logical learners - Present: Systematic comparison of pagination approaches, structured advice - Improve: Decision trees for AI tool selection, workflow optimization charts #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community-submitted questions, collaborative discussion format - Improve: Group exercises for AI-assisted pair programming #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual reflection on tool usage patterns - Improve: Self-assessment rubrics for AI dependency, personal learning plans #### ๐ŸŒฟ Naturalistic learners - Present: Organic development of skills over time metaphors - Improve: Growth mindset frameworks, skill evolution timelines ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure in transcript, descriptive content - Improve: More detailed alt text for any visual examples mentioned #### Keyboard navigation - Present: Standard audio player controls - Improve: Keyboard shortcuts for chapter navigation #### Contrast and readability - Present: Clear audio with good speaker differentiation - Improve: Enhanced transcript formatting with speaker identification #### Media and captions - Present: Full transcript available - Improve: Time-stamped captions, downloadable transcript options ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Discussion of global development practices, tool accessibility - Improve: Examples from diverse educational backgrounds and coding bootcamps #### Inclusive language - Present: Gender-neutral technical discussions - Improve: Consider different learning pace preferences, avoid assumption of formal CS education #### Neurodiversity support - Present: Multiple learning approaches discussed - Improve: Recognition of different cognitive processing styles for AI interaction #### Representation - Present: Inclusive approach to different experience levels - Improve: Examples from diverse career transition paths ### โœ… Logical Validity #### Strong reasoning - Deductive strength: If AI generates code without understanding, then debugging becomes impossible - Inductive strength: Multiple examples support planning/review being most time-consuming - Causal reasoning: Poor documentation leads to poor AI output quality - Analogical strength: Calculator/math learning analogy effectively illustrates AI dependency risks #### Fallacies - False dichotomy: Slight tendency to present AI as either helpful or harmful, could acknowledge more nuanced middle ground - Appeal to consequences: Some arguments based on job market fears rather than learning effectiveness #### Tone of voice - Overall tone: Conversational and practical, balancing enthusiasm with realistic caution about AI limitations ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present - Attack: No attacks on accusers - Reverse victim/offender: Not applicable to this technical discussion - Emotional cues and rhetoric: Balanced presentation with appropriate caution about AI dependency ## ๐ŸŽฏ Conclusion The podcast provides nuanced guidance on AI tool usage for developers, emphasizing that AI should augment rather than replace fundamental programming skills. The key insight is that effective AI-assisted development requires strong upfront planning and careful review, with the actual code generation being the least time-consuming part. New developers should focus on developing problem-solving abilities while using AI strategically for research and learning acceleration. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad Purpose: Stage CEE units that become Literature notes. Split level: H3 ### [H1] AI planning and review phases consume most development time > [!quote] Should A New Coder Use AI? by Syntax via YouTube. Published 2025. Accessed 2025-01-14. > "The longest part of AI generated code is on either end. First it's planning what needs to happen" Challenges common assumption that code generation is the bottleneck in AI-assisted development. [view highlight](https://youtu.be/NrBQI9So5lM?t=150#H1) #xref #articleseed ID:rw_ai_planning_phases ### [H2] Well-documented codebases improve AI output quality > [!quote] Should A New Coder Use AI? > "Because Scott spent a whole bunch of time up front sort of like detailing how how rigid it will be, I found that it did a very good job" Documentation investment pays dividends in AI-assisted development workflows. [view highlight](https://youtu.be/NrBQI9So5lM?t=345#H2) #x --- ## Full Transcript [00:00] Welcome to Syntax. Today we got a<br>[00:02] potluck episode for you. This is where<br>[00:03] you bring the questions, we bring the<br>[00:05] answers. We got lots of really good<br>[00:06] questions, including somebody tried to<br>[00:07] hack us and we dive into the the code<br>[00:11] that they wrote. They tried to use an<br>[00:12] XSS and we'll we'll detail it and sort<br>[00:15] of explain what that is. Really good<br>[00:17] questions about like are people really<br>[00:19] running five agents at once and what<br>[00:21] does that look like? You know, like how<br>[00:23] do you possibly review that much code?<br>[00:26] Um, if you're running five at a time,<br>[00:28] what are the different types of<br>[00:29] pageionation? Someone asked like there's<br>[00:31] there's cursor base and there's page<br>[00:32] base and offset base and there's there's<br>[00:34] infinite scroll and there's money that<br>[00:36] is being played into it as well. Uh,<br>[00:39] should a new coder use AI for coding?<br>[00:43] Like what do you think? Right? Like if<br>[00:44] if you're just learning to code, if you<br>[00:46] you got HTML, CSS, JavaScript, should<br>[00:48] you be using AI or not? Skilling up from<br>[00:51] PHP and jQuery. Someone wants to get a<br>[00:52] new job but their their skills are a<br>[00:54] little bit out of date. What do you do<br>[00:55] in that case? And then finally, like<br>[00:57] seems like you got a lot of side<br>[00:58] projects and and stuff like that, Wes<br>[01:00] and Scott. How do you possibly manage<br>[01:02] that with kids and a family? All that<br>[01:04] good stuff. So, those are the questions.<br>[01:05] Let's get into the first question, which<br>[01:07] is from Paige Netheringhouse always<br>[01:09] submits the best questions. I just went<br>[01:11] and DM'd her because I was like,<br>[01:13] >> making the job easy, Paige.<br>[01:15] >> By the way, if you've got a a potluck<br>[01:17] question you'd like us to answer, go to<br>[01:18] syntax.fm FM and there is a button in<br>[01:21] the URL bar or not the URL bar the the<br>[01:23] menu that says potluck. Click the<br>[01:25] button, put your question in the box and<br>[01:28] we will answer it for you. By the way,<br>[01:30] somebody tried to cross- sight script<br>[01:32] us. Um, which I put it I put it in this<br>[01:34] episode. We're going to we're going to<br>[01:36] debug why somebody cross-ite script us,<br>[01:38] but Paige says, "Hey Scott and Wes, I<br>[01:40] want to ask if you use multiple AI<br>[01:43] agents while you're writing code with<br>[01:44] cloud code, cursor, etc. I've become a<br>[01:47] big fan of using cloud code to work on<br>[01:49] features day-to-day, but I still don't<br>[01:51] trust it to write new code unsupervised<br>[01:54] that follows conventions that are<br>[01:55] already established in the codebase. Use<br>[01:57] existing utility functions, keep the<br>[01:59] code dry, it wasn't repeating itself,<br>[02:02] etc., etc. TLDDR: I prove every code<br>[02:04] change Claude makes before it does them,<br>[02:07] and I want to watch it like a hawk to<br>[02:09] avoid the sight of refactoring and<br>[02:11] rewriting uh at the end of the features<br>[02:14] online. However,<br>[02:18] um I see folks are how they're able to<br>[02:20] spin up multiple agents and work on five<br>[02:22] separate features at once. AI companies<br>[02:25] like Cursor are touting how devs can<br>[02:27] have multiple different LLMs working on<br>[02:28] the same feature and then pick the<br>[02:30] implementation they look best. Yeah,<br>[02:32] that's that's a thing in cursor. You can<br>[02:34] you can like set it up to rip on like<br>[02:37] you can say, "Hey, make five and I'll<br>[02:38] choose the best."<br>[02:40] Um, to me it seems like a recipe for a<br>[02:42] fatigue from trying to review all of<br>[02:44] this AI generary code, too much context<br>[02:46] switching, etc., etc. Am I being too<br>[02:48] controlling by h handling all of my<br>[02:50] agents to higher standards than ever<br>[02:52] other devs? I'd like to think not. Um,<br>[02:55] and it just goes on to say like, are you<br>[02:57] guys using multiple AI agents at a<br>[03:00] single time? And I I I wrote a bit of a<br>[03:02] book to this because I I feel like this<br>[03:05] is is a such a good question for kind of<br>[03:07] where we're at right now. Everyone's<br>[03:09] talking about how like you got to have<br>[03:10] five running at a single time and if<br>[03:12] you're not you're you're falling behind.<br>[03:15] >> Totally.<br>[03:15] >> But I find and I'm curious what you<br>[03:17] think about this Scott is I find that<br>[03:19] the longest part of AI generated code is<br>[03:23] on either end. First it's planning what<br>[03:26] needs to happen for the thing. So<br>[03:28] whether that is is code styles, whether<br>[03:31] that's how you need to actually solve<br>[03:33] the problem, um whether that's what the<br>[03:35] actual problem is and and how to<br>[03:37] interact with it and and what packages<br>[03:39] to use, etc., etc. That like making sure<br>[03:43] that you type everything in what is<br>[03:45] actually happening and giving it all of<br>[03:47] the context up front is is probably<br>[03:50] takes the most time, right? Um and then<br>[03:52] the second last second longest part is<br>[03:54] is actually reviewing it after the fact,<br>[03:56] right? like testing that it actually<br>[03:58] works, that it didn't make a mess<br>[04:00] somewhere, that it didn't just copy<br>[04:01] paste and duplicate a whole bunch of<br>[04:02] styles and and make a problem for for<br>[04:05] down the road. But I do I was just<br>[04:07] saying this like Scott and I were<br>[04:09] working on this like syntax codebase.<br>[04:11] Um, we got an episode coming up on that,<br>[04:13] but that was a codebase that was like<br>[04:16] very well defined with like how how<br>[04:19] pages are made, how components are made,<br>[04:20] how CSS is done, how mutations are done.<br>[04:24] And because Scott spent a whole bunch of<br>[04:26] time up front sort of like detailing how<br>[04:29] how rigid it will be, I found that it<br>[04:31] did a very good job at not perfect. Um<br>[04:33] there's certainly some messes that we<br>[04:35] made, but<br>[04:36] >> I think it it because it was a had<br>[04:39] everything sort of documented as to how<br>[04:41] it should work ahead of time. It it<br>[04:44] actually did a better job than a lot of<br>[04:45] these other like green field projects<br>[04:47] where it just kind of goes nuts on it.<br>[04:49] Right. So multiple agents at a time.<br>[04:52] What do you think? I am not at a spot<br>[04:54] where I'm running five of them at a time<br>[04:56] because simply like the actual<br>[04:59] generation of the code is not the the<br>[05:03] slow part right now, right? It's it's<br>[05:05] simply the two things that I talked<br>[05:06] about. So much of software development<br>[05:09] is not just writing code. It's it's me<br>[05:12] thinking about like what's next? So what<br>[05:14] I'll do is I'll let an agent rip and<br>[05:17] while it's working on that problem I<br>[05:20] will then shift to looking at okay what<br>[05:23] am I working on next how should I<br>[05:25] approach something what needs to be done<br>[05:27] can I log some issues do I need to talk<br>[05:29] to somebody on Slack about this this<br>[05:31] specific problems that is where I find<br>[05:34] it it is really really helpful where I<br>[05:36] can like just like where time where I<br>[05:37] would normally just be like actually<br>[05:39] writing the code I can then just like<br>[05:41] while that thing is running I can go<br>[05:42] switch to what is next? And because of<br>[05:44] that, I can often like not running two<br>[05:47] or three at a time, but they do overlap<br>[05:50] each other. And a lot of that work tends<br>[05:52] to overlap each other and thus make it<br>[05:54] faster. Oh, yeah. You know what? It<br>[05:57] depends on on what it is. The things<br>[05:59] that I care less about, I can run more<br>[06:02] on. Projects that are either personal<br>[06:04] software that I I don't care how sloppy<br>[06:06] it is. Sure, I can run a whole bunch of<br>[06:08] stuff on it at once and just be like,<br>[06:10] "Oh, something's going wrong. Fix it."<br>[06:12] Blah blah blah. But like for real<br>[06:14] software, for real things I care about.<br>[06:17] No. No. And and I am on it pretty hard.<br>[06:20] In regards to your point about the the<br>[06:22] Sinhacks, you know, making messes and<br>[06:24] stuff, part of the reasons why we had<br>[06:26] messes even with was it not even due to<br>[06:29] the AI. It's because the scope of the<br>[06:31] project had changed a lot. There were<br>[06:34] established patterns in the code uh uh<br>[06:36] that needed to adjust quite a bit. And<br>[06:39] like because of that, I think these<br>[06:41] would have been bugs and issues that<br>[06:43] normal devs would have had as well as<br>[06:45] AI. So like to me like I I I wouldn't<br>[06:48] have even assigned a lot of the issues<br>[06:50] that we had there to be those types of<br>[06:52] things. Uh you're 100% right. I had a a<br>[06:55] tweet uh the other day that was Let me<br>[06:58] read the tweet here. Let me just read my<br>[07:01] own tweet to validate this here, which<br>[07:04] is uh some of y'all I use y'all<br>[07:07] ironically, but uh some of y'all have AI<br>[07:10] doing everything for you and are still<br>[07:12] lazy. And that is exactly what I'm<br>[07:15] talking about with this tweet in this<br>[07:18] situation because the work upfront and<br>[07:22] the work at the end<br>[07:24] greatly impact the work in the middle.<br>[07:28] If if you plan, if you have strong<br>[07:31] preferences, if you have things laid<br>[07:34] out, uh if you have good patterns<br>[07:37] already established in the codebase, if<br>[07:39] you have the correct context priming and<br>[07:42] all of those things, your end results of<br>[07:46] working with the AI are going to be<br>[07:48] endlessly better. And not only that, if<br>[07:50] you have a very clear understanding of<br>[07:54] the task at hand and how to solve it,<br>[07:57] the results are going to be way better<br>[07:59] as well. We should do a whole episode on<br>[08:01] this. In fact, I've been planning one on<br>[08:02] like working with AI tools effectively<br>[08:04] in coding. Some of the biggest problems<br>[08:06] people have in this regard in terms of<br>[08:09] being lazy are one assuming tools are<br>[08:13] going to fix all of your problems.<br>[08:14] you're just going to say, "I'm going to<br>[08:16] throw some skills or some MCPs or some<br>[08:18] some whatever at this thing and it's<br>[08:21] just going to do it." No, you need to<br>[08:23] have clear instructions. You need to<br>[08:25] know what you need to accomplish. And if<br>[08:28] you don't know how to accomplish it, you<br>[08:30] need to work with the AI to do that<br>[08:32] research upfront. Because I think some<br>[08:35] of you all are are using these prompts<br>[08:38] as like make this feature just go do it,<br>[08:41] you know, and then not being happy with<br>[08:42] the end results because the AI will be<br>[08:45] lazy. It will duplicate utilities over<br>[08:48] and over again. It will write sloppy<br>[08:50] code in various ways. The tools can<br>[08:53] help, but they're not going to save you.<br>[08:55] Doing that work up front is going to be<br>[08:57] the thing that makes it possible. When I<br>[09:00] started on the Syninhack platform, I<br>[09:02] wrote such detailed byhand planning<br>[09:05] documents of how the flows work, how the<br>[09:08] game works, all that stuff. And uh I do<br>[09:11] think that helped any kind of AI work<br>[09:13] that we did with it to complete things<br>[09:15] cuz it had that information there.<br>[09:17] >> Yeah.<br>[09:18] >> So, it depends like uh I'm not typically<br>[09:22] uh doing a lot of agents yoloing on<br>[09:24] stuff. I'm not just going to throw a<br>[09:26] bash loop and give it a name of the AI<br>[09:29] repeatedly working on something. I'm<br>[09:31] going to uh validate these things every<br>[09:34] step of the way uh for code and I'm<br>[09:36] going to do the work up front. I'm going<br>[09:38] to give it clear prompts and I'm going<br>[09:39] to have very clear instructions.<br>[09:41] Speaking of which, Wes,<br>[09:43] >> you know what does a great job of this<br>[09:45] is Sentry. And Sentry actually just has<br>[09:48] a new CLI that came out, the Sentry CLI,<br>[09:52] which is really, really good at this<br>[09:54] kind of stuff because it can give you<br>[09:56] the root cause of bugs and uh it uses<br>[10:00] the SER, their AI seer to give you the<br>[10:02] root cause of a bug and return that<br>[10:04] directly from the CLI, which works<br>[10:07] really well with some of these AI tools<br>[10:09] because you could say, "Use the Century<br>[10:12] CLI, get me all of the errors, catalog<br>[10:16] them as tasks and however you manage<br>[10:18] tasks. I use something called dex and<br>[10:20] then use the uh sier root cause in the<br>[10:24] descriptions and then you can go and<br>[10:26] have that fix bugs really easily. So<br>[10:28] century does such a good job of having<br>[10:30] all that information. But again<br>[10:33] >> to to reiterate my point, you're priming<br>[10:36] the AI with all of the the information<br>[10:38] that's needed. It has the bug, it has<br>[10:40] the root cause, it has the files, it<br>[10:42] knows what to do. It can go off and do<br>[10:43] it. And if you don't do that work up<br>[10:45] front, either by hand or with a CLI or<br>[10:48] with Sentry or whatever,<br>[10:50] >> it's just not going to work out as well.<br>[10:53] One more thing I'll I'll say about that<br>[10:54] is like that's more I think the use case<br>[10:56] for running multiple agents at once. It<br>[10:59] can even be like be automatic, right?<br>[11:01] Like you could just say like, oh,<br>[11:02] something's logged in in Sentry, just<br>[11:04] automatically maybe try to suggest a<br>[11:06] fix. And sometimes it's as simple as<br>[11:08] just like checking if a property exists<br>[11:11] before assuming that it that it is<br>[11:13] there, right? But like like a lot of<br>[11:15] people and I have not gone down this<br>[11:17] path yet, but a lot of people are like<br>[11:19] setting up multiple work trees on their<br>[11:23] thing. So like a work tree is in Git, if<br>[11:26] you check out a work tree, you're<br>[11:28] essentially just like duplicating the<br>[11:29] code into a second folder. So you can<br>[11:31] have like two or three versions of your<br>[11:33] codebase running on your computer at the<br>[11:36] same time or like wherever it is that<br>[11:38] you're running these agents. It might be<br>[11:40] in like a cloud as well. If you set up<br>[11:43] your like thing properly um with like<br>[11:46] work trees and your npm scripts are<br>[11:48] aware of of the work trees then you can<br>[11:50] run multiple at a time. But I've not<br>[11:52] gone down that path just yet. One more<br>[11:54] thing, I know we're talking a lot about<br>[11:55] this, but I I think like another huge<br>[11:57] use case is simply just like those bugs<br>[11:59] that you have been meaning to fix for a<br>[12:01] very long time, but just like haven't<br>[12:03] got around to it because it's like I<br>[12:06] don't know, takes a little bit to get<br>[12:07] set up. You got to research it. You got<br>[12:09] to and it's it might be relatively two<br>[12:11] or three line fix, but the the overhead<br>[12:15] of just having to get into it is the<br>[12:16] reason why you just never go and fix it.<br>[12:18] That is such good stuff that you can<br>[12:20] just set an agent on and and let her<br>[12:22] rip. Like even what do we have? Like the<br>[12:24] sound was too loud on on on one of our<br>[12:27] like audio things that played and uh<br>[12:30] yeah, I could have like branched out and<br>[12:33] and made a pull request and all that,<br>[12:34] but like just let an agent rip on it,<br>[12:36] find out where in the codebase it is,<br>[12:38] and it's just a simple just one thing.<br>[12:39] Make the volume 20%. Boom.<br>[12:42] >> Yeah, let it go. Hit the merge button.<br>[12:45] >> Word. Next question here from Max. I see<br>[12:47] a lot of websites use pageionation or<br>[12:49] infinite scroll, but I don't think I've<br>[12:52] seen any good explanations of it<br>[12:54] anywhere. Why do websites use<br>[12:56] pageionation? How would you decide on a<br>[12:58] good page side and when it might be a<br>[13:00] better idea just to show everything at<br>[13:02] once? Ooh. Okay. So, for me, I'll tell<br>[13:06] you this. This is definitely a vibes<br>[13:08] thing. I'm sure there is a hard number<br>[13:11] here, but for me it's a lot of dog<br>[13:13] fooding your own stuff, using your own<br>[13:16] work, your applications, seeing what<br>[13:19] feels good, what feels bad. The things<br>[13:21] that work well for I would say something<br>[13:23] like infinite scroll is more of like<br>[13:26] like a feed, right? A feed is always<br>[13:29] going to just continue to give you the<br>[13:32] next thing. It's like a neverending well<br>[13:34] of content. You can just keep mindlessly<br>[13:36] scrolling it. hard lists of lot of data.<br>[13:40] To me, that that tracks more for<br>[13:42] pageionation because you will want<br>[13:45] people to be able to navigate to a<br>[13:48] specific page. Like syntax has nearly<br>[13:51] 1,000 episodes now. And we wouldn't put<br>[13:54] our main listing of all of the episodes<br>[13:58] as an infinite scroll because you could<br>[14:01] never say link to page 19 and and get<br>[14:05] like the early or those episodes here or<br>[14:07] there. Uh to me that makes sense for<br>[14:09] pageionation. However, how many do you<br>[14:12] have is totally a vibes thing. Like for<br>[14:16] instance, the the syntax uh listing I<br>[14:20] believe is uh a three card per row and<br>[14:25] then therefore it makes sense to have<br>[14:27] multiples of three, right?<br>[14:29] >> It never works with responsive though.<br>[14:31] You always got<br>[14:32] >> when you go down to two and you've got<br>[14:34] like that weird that weird one thing<br>[14:36] missing.<br>[14:37] >> Well, you know, you just go from three<br>[14:38] to to Yeah. No, you have some views<br>[14:40] where the CSS looks bad. No, I to me<br>[14:43] personally that that's it and that's the<br>[14:46] distinction. But a lot of that comes<br>[14:47] from just using your stuff and knowing<br>[14:49] what feels good and what doesn't feel<br>[14:50] good and predicting the needs of your<br>[14:53] users, right? We should also say there's<br>[14:55] there's kind of like two types of<br>[14:56] pageionation, right? There's there's<br>[14:57] offset pageionation where like you have<br>[15:00] listing 1 to 10 and you have 10 per page<br>[15:02] and you click on page two and then you<br>[15:03] see 11 through 20, right? That that's<br>[15:05] offset. Where offset pageionation does<br>[15:08] not make sense is where the content is<br>[15:09] updating frequently, right? So you might<br>[15:11] be, for example, if if you had a list of<br>[15:13] like like tweets and and those are<br>[15:15] updating every minute or so, um you<br>[15:17] might be reading page like 1 through 10<br>[15:20] and then you push page two and then the<br>[15:22] 10th one from the page one is now now<br>[15:25] the 11th one, right?<br>[15:26] >> Because it it got pushed down. And if<br>[15:29] that's the case, you have to use<br>[15:30] something called cursorbased<br>[15:31] pageionation where instead of saying<br>[15:33] give me the 50th uh one, give me 10 from<br>[15:37] the 50th one forward when you sort by<br>[15:40] date, etc., you simply just say give me<br>[15:43] all of the items that are between these<br>[15:45] cursors. Meaning that like this is the<br>[15:47] ID of the last item that I saw. Now the<br>[15:51] next page will be the items that are are<br>[15:54] after that. And and often they simply<br>[15:55] don't even have like page numbers<br>[15:57] associated with them. They are simply<br>[15:59] based on like the piece of content that<br>[16:01] you are viewing and and that's helpful<br>[16:02] if you want to bookmark something long<br>[16:04] term um or if you have constantly<br>[16:06] updating data. My favorite pageionation<br>[16:10] is infinite scroll but when they update<br>[16:15] the URL because I find like a lot of<br>[16:17] infinite scroll if you accidentally bump<br>[16:20] something. I was we we were looking at<br>[16:23] the restoration hardware website with my<br>[16:25] wife the other day<br>[16:26] >> and they have<br>[16:29] I don't know probably 80 different items<br>[16:32] in their um sideboards category side<br>[16:36] tables and sideboards and we were<br>[16:38] scrolling for like probably 10 minutes<br>[16:40] and I clicked something by accident and<br>[16:43] it was over it. That was it. I screwed<br>[16:45] it up and I had to go back and I spent<br>[16:48] like three minutes trying to get to the<br>[16:50] freaking bottom of the thing and it just<br>[16:52] kept loading more in and what they<br>[16:54] should have done there is that every<br>[16:56] single time that you load a new page or<br>[16:58] you pass a new piece of content you<br>[17:00] should just update the the URL with push<br>[17:02] state so that if somebody then refreshes<br>[17:04] that page you go back to where you were<br>[17:07] in that in that specific that was that<br>[17:09] was a problem with Pinterest as well.<br>[17:10] It's less of a problem with like<br>[17:12] discovery things where you're just like<br>[17:14] I don't know the speed is different<br>[17:15] every single time that I refresh it.<br>[17:17] >> Yeah. I I mean that that to me is like a<br>[17:19] clear situation. A product listing is a<br>[17:21] clear situation where I don't think you<br>[17:24] should have infinite scroll. That's just<br>[17:25] me.<br>[17:26] >> I think it's fine because also people<br>[17:28] might get to the bottom and not realize<br>[17:30] there's more or like every time somebody<br>[17:32] gets to the bottom there's a choice in<br>[17:35] their head that says do I stop or or do<br>[17:38] I do anything? But if there's always<br>[17:40] just more. That's why like Tik Tok does<br>[17:41] so well, right? There's always more.<br>[17:43] There's always more to consume and it's<br>[17:45] very hard to snap out of that loop to<br>[17:47] say should I keep going. Other thing is<br>[17:49] about pageionation is that like this is<br>[17:51] maybe less of a problem now, but like<br>[17:53] like ads. People used to put three items<br>[17:56] on a page because every time you cut the<br>[17:58] next that page impression. So, a lot of<br>[18:01] the pageionation on the web right now is<br>[18:03] simply just sticking around because<br>[18:06] there's somebody that works in ad sales<br>[18:08] that does not want their page<br>[18:10] impressions to go down the slightest<br>[18:12] amount.<br>[18:14] >> Uh, ads. Yeah. Wow.<br>[18:17] >> Kaylin, this is a really good question.<br>[18:19] How much would you use AI like cloud<br>[18:22] code if you were learning to code today?<br>[18:24] I am learning to code having completed<br>[18:26] the web development boot camp, JS, CSS,<br>[18:28] and HTML. I have a basic level of<br>[18:31] Python. I am debating how much I should<br>[18:33] be using AI to help program in a<br>[18:35] paralysis analysis situation. Should I<br>[18:38] fully embrace AI and be prompting with<br>[18:39] cloud code to develop projects or do I<br>[18:42] just like put that aside and and simply<br>[18:45] learn it myself? This I honestly have<br>[18:47] changed my opinion on this many times<br>[18:50] over the years, right? Because there's<br>[18:52] something to be said for like no, don't<br>[18:54] touch it. like learn the fundamentals<br>[18:56] first and then like suffer through that<br>[18:58] and then you you can use it. But the<br>[19:01] reality of a lot of that is that<br>[19:04] everybody else is using it and you are<br>[19:07] probably going to get like left behind<br>[19:10] in a lot of the things. But if you<br>[19:12] simply are just boop boop boop into the<br>[19:15] box and and hoping the answer comes out<br>[19:16] and not actually learning anything and<br>[19:20] not actually like solving any problems,<br>[19:22] you're not going to make it, right?<br>[19:23] because there are much smarter people.<br>[19:25] There are much more experienced people<br>[19:27] in this industry that will be able to do<br>[19:28] that as well and they're smart and they<br>[19:31] can they can solve problems, right?<br>[19:33] >> Yeah.<br>[19:33] >> How so? Like should you use it? I think<br>[19:36] you should use it to help you to<br>[19:38] research to find problems to understand<br>[19:40] features. I use AI all of the time to<br>[19:43] sort of supercharge<br>[19:45] my learning and understanding of of<br>[19:49] areas that I do not quite understand.<br>[19:51] Right? like you are a problem solver and<br>[19:53] part of that problem solver is<br>[19:55] understanding the codebase,<br>[19:56] understanding what errors might be,<br>[19:58] understanding how these pieces work<br>[19:59] together and AI can really help you with<br>[20:02] that, right? Like yes, it can write the<br>[20:04] code for you as well, but like one huge<br>[20:06] thing is that it can help you figure out<br>[20:08] how to solve a problem and how to do<br>[20:10] that research very productively and not<br>[20:12] get like not get hung up on these just<br>[20:16] obtuse<br>[20:17] problems. like like we used to spend<br>[20:20] days I used to sometimes have bugs that<br>[20:22] would would give me days and days of of<br>[20:25] problems where like now it's just oh<br>[20:29] what do you think this could be how do<br>[20:30] these things interact you know like help<br>[20:32] me debug this add some logging into here<br>[20:34] it's it's just so much faster to be able<br>[20:37] to do those things so you have to as a<br>[20:41] as a web developer getting into this<br>[20:42] industry you have to figure out how to<br>[20:46] solve problems how how to become smart<br>[20:48] in this and this is a tool that you're<br>[20:50] going to use how to do this. If you use<br>[20:52] it simply as a crutch like it almost<br>[20:54] comes back to this like like a<br>[20:56] calculator and like learning math, you<br>[21:00] know, like my kids are are are learning<br>[21:02] multiplication and division right now.<br>[21:03] And it's like yes, of course you can<br>[21:05] just boop boop boop those numbers into<br>[21:06] the calculator.<br>[21:08] >> Yeah.<br>[21:08] >> Spits it out.<br>[21:09] >> But like you you kind of do need to<br>[21:11] understand how this stuff works and and<br>[21:14] why it is working. Not because you're<br>[21:16] going to need to do long division one<br>[21:18] day um without a calculator. You you<br>[21:20] have one in your pocket, but because the<br>[21:22] way that you think and solve problems<br>[21:24] with that in your head, that's such a<br>[21:26] such a crucial skill for life. So,<br>[21:29] that's that's my thoughts there. Um Oh,<br>[21:31] yeah. I have some more more examples<br>[21:33] here, but you go ahead, Scott. I've been<br>[21:34] ying.<br>[21:35] >> Yeah, you can continue afterwards. You<br>[21:36] know, I I think that like I 100% agree<br>[21:38] that like your brain needs to work<br>[21:43] through concepts for you to be able to<br>[21:46] even know like what the problems are,<br>[21:48] what the solutions are, what the general<br>[21:51] flow is of things. And the way that I<br>[21:53] use AI personally to help me discover<br>[21:57] those things without it doing things for<br>[22:00] me is taking<br>[22:03] things that are difficult for my brain<br>[22:06] to<br>[22:07] really parse and break it down into ways<br>[22:11] that I can learn more better.<br>[22:16] So like for instance, one of the things<br>[22:18] I I really like diagrams for stuff. I<br>[22:21] really like bulleted lists. I really<br>[22:24] like technical explanations in code.<br>[22:26] What I don't like is big paragraphs of<br>[22:30] text. Um, again, I talk about dyslexia<br>[22:32] on this show all the time, but when I<br>[22:34] see a big paragraph of text, I I lose my<br>[22:37] place in it. I retain nothing. And<br>[22:40] another big problem is that a lot of<br>[22:42] developers are not good at technical<br>[22:47] writing in a way that makes things<br>[22:49] approachable. They're either too close<br>[22:52] to the problem or they're too nerdy to<br>[22:54] even really understand what the average<br>[22:57] person is going to think about while<br>[23:00] they're like trying to learn a tech.<br>[23:02] Like people who are are kneedeep into<br>[23:05] difficult technical problems are often<br>[23:07] times going to give explanations of how<br>[23:09] things work in a way that makes sense to<br>[23:12] them. And because they're so much<br>[23:14] smarter than most people, it's not going<br>[23:16] to land. So, I really use AI to distill,<br>[23:21] not to be like go into the AI and be<br>[23:23] like, tell me about this, but to give<br>[23:25] the AI someone else's documentation that<br>[23:28] I'm having a hard time parsing and<br>[23:30] saying, break this down into bulleted<br>[23:31] lists. Uh, create diagrams for me.<br>[23:34] Create like asky diagrams of how this<br>[23:36] thing actually works, what connects,<br>[23:38] what are the major technical pieces<br>[23:40] here. What are the things and how do<br>[23:41] they speak to each other? uh like those<br>[23:44] types of of questions that you can ask<br>[23:46] to the AI when you're presenting it with<br>[23:49] actual documentation for it to get its<br>[23:52] information from and it's not like uh<br>[23:54] going to be hallucinating, you still<br>[23:57] still have to like validate these<br>[23:58] things. But like<br>[24:00] >> if you just ask an AI like how does this<br>[24:02] thing work? It will often just tell you<br>[24:04] even if it doesn't have the information<br>[24:06] in front of you. But if you present it<br>[24:07] with hard documentation and say, "Read<br>[24:10] through this documentation and distill<br>[24:12] it into diagrams, give me bulleted<br>[24:14] lists, technical explanations, blah blah<br>[24:16] blah." To me, that's how I personally<br>[24:19] use it. And then that way, I'm reading,<br>[24:21] I'm consuming, my brain is doing work,<br>[24:24] not<br>[24:25] >> just fix a problem for me, whatever.<br>[24:28] Because you do need to know how this<br>[24:29] stuff works. Uh, today you still need to<br>[24:31] know how this stuff works. one example<br>[24:33] in the Synhax platform that we we just<br>[24:37] made on. So part of the platform is is<br>[24:39] taking a target and taking what somebody<br>[24:41] had coded and and comparing them, right?<br>[24:43] We we we export them to a PNG. Um and<br>[24:46] then you you basically diff them and<br>[24:48] figure out what the score is. Um, and<br>[24:52] one of the problems we've had in the<br>[24:54] past is like slight variations in it<br>[24:56] could like like a box shadow that's 10<br>[24:59] pixels more than it should be or a color<br>[25:02] that is slightly off. Those things can<br>[25:04] just throw it off and it's just like<br>[25:06] kind of unfair because like you clearly<br>[25:07] got it but it wasn't it just wasn't<br>[25:10] wasn't great, right? So like I I started<br>[25:13] that like okay we need to build like an<br>[25:15] algorithm to compare these two things.<br>[25:17] Um so I I asked like look what are ways<br>[25:19] to compare things, right? and and we<br>[25:20] figured out like there's actual pixel<br>[25:22] dipping uh just straight up is this<br>[25:24] pixel red and is the other one red? If<br>[25:26] so, then you got it. If not, you didn't.<br>[25:28] Um then there was also this structural<br>[25:31] similarity index measure. Um and then<br>[25:33] there was also like weighting the pixels<br>[25:35] a little bit differently and and and<br>[25:37] figuring out like if the pixels are up<br>[25:38] and down, but like so I researched that<br>[25:40] with AI and I figured, okay, these are a<br>[25:41] couple different ways. So I said, all<br>[25:43] right, let's let it rip. Give me example<br>[25:45] in in each of them and we can I was able<br>[25:47] to test them all fairly quickly. And<br>[25:49] then we realized like, okay, like the<br>[25:51] the structural similarity doesn't work<br>[25:53] in a lot of cases, right? There's so<br>[25:55] many little edge cases. So, we threw<br>[25:56] that out. The actual like straight up<br>[25:58] pixel diffing not very good. And then<br>[25:59] the actual like weighted comparison<br>[26:02] algorithm it made, it wasn't very good<br>[26:04] either at all. Right? So, like but that<br>[26:06] wasn't a waste. That was really quick<br>[26:08] research that I did and it was able to<br>[26:10] scaffold it out. Then I we did a whole<br>[26:12] bunch of work or our I did a whole bunch<br>[26:14] of work on figuring out different<br>[26:16] weights and and how to weight different<br>[26:17] types of pixels and if there's<br>[26:19] transparency weighted a little bit less<br>[26:20] and we got it to a pretty good spot and<br>[26:22] then we all tested it and then we found<br>[26:24] like some major flaw where like if you<br>[26:26] set the background image it would bring<br>[26:28] you to like 98%. We're like yeah or or<br>[26:30] background color. And we're like, "No, I<br>[26:33] spent so much time on just like trying<br>[26:35] to figure out what a good solution for<br>[26:37] this was." And like, of course, I asked<br>[26:39] the AI and it it just kept spitting out<br>[26:41] these just garbage solutions there.<br>[26:44] >> And then the actual fix was just like<br>[26:46] like Scott, CJ, and I we just like<br>[26:48] talked about it for like probably half<br>[26:49] an hour<br>[26:50] >> and we're like, can we scale up the<br>[26:52] score? Maybe figure out what the score<br>[26:53] is with the background. And then but<br>[26:56] like that like half an hour of actually<br>[26:59] problem solving and looking at it and<br>[27:01] figuring out like why is it causing<br>[27:03] this? What are our possible options? Um<br>[27:06] and then finally we had this idea. We'll<br>[27:08] talk about the actual solution in<br>[27:09] another episode. But the actual solution<br>[27:11] that we came up with then we just type<br>[27:14] that solution into the box and it was<br>[27:15] able to actually generate the code for<br>[27:17] you and it worked. It works awesome now.<br>[27:20] Very happy with it. So like<br>[27:21] >> that I feel like that's a pretty good<br>[27:24] explanation of like<br>[27:26] >> problem solving but still using the AI<br>[27:28] to help you solve the problem, you know.<br>[27:31] >> Yeah. Yeah. I do think that is it. You<br>[27:33] you should be like using it to help you<br>[27:36] save time, not to to do things for you.<br>[27:39] I mean Prime said it really well like<br>[27:41] it's making you dumb if you're just<br>[27:42] letting it push all the buttons for you.<br>[27:44] >> And especially if you're first starting,<br>[27:46] man. Yeah, it is crazy. I keep going<br>[27:49] back to that tweet about people being<br>[27:50] lazy now that they have access to AI<br>[27:52] because like that really like with this<br>[27:55] Cloudbot stuff, man, people would rather<br>[27:59] hot potato all of their data through<br>[28:02] Discord servers, through other people's<br>[28:05] servers when like you could just tell<br>[28:07] the AI to write you a chat and have it<br>[28:10] available with Tailscale or whatever<br>[28:13] >> and people are just like, I just want it<br>[28:15] in my uh Discord because that's crazy.<br>[28:18] Like, okay, but now you're you're just<br>[28:22] sending your like these same people are<br>[28:24] the same people who don't understand<br>[28:26] that<br>[28:27] >> whatever personal data they're plugging<br>[28:29] or or API keys or whatever are not just<br>[28:31] going now to anthropic and open AI<br>[28:33] servers. They're now going and saving<br>[28:36] permanently on Discord servers and going<br>[28:38] through that. It's just increasing your<br>[28:40] attack vectors. It's increasing your<br>[28:42] insecurity. Like, you got to know how<br>[28:44] this stuff works. You got to use your<br>[28:46] brain, people. And I think that's<br>[28:47] becoming such a a major problem just<br>[28:50] yeah there's so there's so many<br>[28:51] instances of that if you are a developer<br>[28:55] thinking that I find this stuff so hard<br>[28:57] to talk about because I'm so bullish on<br>[28:59] it but I also like I think so many of<br>[29:03] these people are like wrong<br>[29:07] if if you think that you're a developer<br>[29:09] and that it's just going to do<br>[29:11] absolutely everything for you it<br>[29:12] certainly is doing a lot more for you<br>[29:14] and it's certainly affecting the job<br>[29:16] landscape and and everything in web<br>[29:18] development. But if if you think that<br>[29:20] it's going to just absolutely just<br>[29:23] totally do everything for you and you're<br>[29:25] going to just sit pretty and allow it to<br>[29:27] to do that, you're going to be in in a<br>[29:29] bit of trouble.<br>[29:30] >> Yeah. And that's actually one of the<br>[29:31] things that drives me nuts about people<br>[29:34] leaving negative comments about us<br>[29:35] talking about AI on this YouTube<br>[29:37] channel. We have like I feel real<br>[29:39] measured takes. Not only that, but we we<br>[29:43] we understand how these things all work<br>[29:45] and connect and you you either get<br>[29:48] criticized by the people who are don't<br>[29:52] have the technical understanding and are<br>[29:54] yelling everything or you get criticized<br>[29:56] by the people who on the other end just<br>[29:58] see all the other grifters and annoying<br>[30:00] people and just going to lump you into<br>[30:02] that category simply for saying the<br>[30:03] words AI like<br>[30:04] >> yeah they're oh you it outputs bad code<br>[30:07] you're in trouble like<br>[30:08] >> yes<br>[30:09] >> yeah but also it's really really good.<br>[30:11] Like, have you have you seen some of the<br>[30:12] stuff it can do? It's very good. I I<br>[30:15] don't think you're giving it enough<br>[30:16] credit.<br>[30:17] >> Yeah.<br>[30:17] >> Yeah.<br>[30:19] >> Yeah. Makes me frustrated. Cool.<br>[30:21] >> A nonI question next.<br>[30:23] >> Yeah. Nona non nonAI question next from<br>[30:26] Will. Uh, hey Weson Scott. I went the<br>[30:28] traditional route. CS degree theoryheavy<br>[30:31] curriculum solid fundamentals. It<br>[30:33] absolutely gave me a framework for<br>[30:34] thinking and learning and I don't regret<br>[30:36] it. But man, a lot of the practical<br>[30:38] stuff was left for me to figure out on<br>[30:40] my own. Yeah, that's totally it. With<br>[30:42] the job market the way it is, I don't I<br>[30:44] didn't even bother applying. I set up my<br>[30:47] own LLC and started building clients<br>[30:48] right out of the gate, which meant<br>[30:50] learning real world development<br>[30:52] immediately. For example, in school,<br>[30:54] client side and server side validation<br>[30:56] was drilled into us, which is great<br>[30:58] because we always wrote it ourselves.<br>[31:00] Zod was never mentioned. validation<br>[31:02] schemas weren't a concept and I heard<br>[31:03] someone casually reference them after<br>[31:05] graduating and had to stop to Google<br>[31:07] what they even were. The rabbit hole<br>[31:10] changed how I build forms entirely. Same<br>[31:14] thing with email. I was taught use SMTP<br>[31:17] for contact forms and transactional<br>[31:19] email. Full stop. Basin form spree send<br>[31:22] grid postmark. None of them ever came<br>[31:24] up. Even more surprising, no one talked<br>[31:27] about SPF, DKIM, and Demark deliver.<br>[31:31] >> We have an episode on all of those<br>[31:33] things.<br>[31:37] Deliverability wasn't a topic. Spam<br>[31:39] folders weren't a topic. You just send<br>[31:41] an email and hope for the best. Now, I'm<br>[31:44] about half a year out of school, running<br>[31:46] my own shop, and I keep wondering, what<br>[31:48] else am I missing? What didn't schools<br>[31:51] teach us that actually matters day to<br>[31:54] day? You know what's funny, Wes? I was<br>[31:56] on the board of the web development<br>[32:01] curriculum, I believe, at the University<br>[32:03] of Florida. I should know this. I should<br>[32:06] But it was it was just long enough ago,<br>[32:08] like 10 years ago, that I I I've<br>[32:10] completely forgot. But I used to go to<br>[32:12] meetings for this thing, and it would be<br>[32:15] me and like six other developers. I<br>[32:18] remember just thinking like they need so<br>[32:21] much help with this curriculum. they're<br>[32:24] doing things even even back then and<br>[32:26] things were moving fast 10 years ago but<br>[32:28] like<br>[32:29] >> still I remember thinking like wow this<br>[32:32] curriculum is so out of date with what I<br>[32:36] use day-to-day what most people are<br>[32:38] using day-to-day the types of<br>[32:39] technologies that they were teaching uh<br>[32:41] like web design and Photoshop and stuff<br>[32:43] like that even though like that was just<br>[32:45] like part of it and and this was past<br>[32:47] the time Figma existed sketch existed<br>[32:50] Illustrator we were vectorizing<br>[32:52] everything that's beyond on the web<br>[32:53] topics. So, universities specifically<br>[32:56] move so slow us on this practical stuff,<br>[32:59] the stuff that you hit. I would say so<br>[33:02] much of what I've learned that's been<br>[33:05] applicable in my early career was all<br>[33:08] learned from mentors and my boss and<br>[33:12] like my various bosses and co-workers at<br>[33:15] different jobs. like I don't think I<br>[33:17] would have picked up JavaScript<br>[33:18] frameworks as early as I did if the guy<br>[33:21] sitting next to me wasn't experimenting<br>[33:23] with early Angular or uh the other guy<br>[33:26] was checking out React the moment that<br>[33:29] it was announced. So like part of this<br>[33:34] needs to be fixed by having a more solid<br>[33:37] network of people to bounce ideas off of<br>[33:40] or people to follow and listen to who<br>[33:43] are trying interesting and different<br>[33:44] things. So, like I I don't have a good<br>[33:47] answer for the actual question here. I I<br>[33:50] do think you just need to continue to<br>[33:53] gain experience, but don't because you<br>[33:56] went off to do your own thing and you<br>[33:58] have your own clients, you have the<br>[34:00] potential issue of like remaining in a<br>[34:02] vacuum. So, just do your best to make<br>[34:04] sure that you don't get stuck in that<br>[34:06] vacuum. Uh Wes, do you have an answer to<br>[34:08] the actual question?<br>[34:09] >> I did I did literally exactly this. I<br>[34:12] straight out of university started like<br>[34:15] freelancing, running my own company. It<br>[34:17] always grinds my gears when people are<br>[34:18] like they should teach X, Y, and Z in<br>[34:20] school. And yeah, but like school<br>[34:25] teaches you to theory, like how to<br>[34:28] think, how to research, how to how to<br>[34:30] tackle things. And the fact that they<br>[34:32] didn't teach you Zod and like all these<br>[34:36] really specific things,<br>[34:37] >> technical details is those are simply<br>[34:39] just implementation details and there is<br>[34:42] no chance that they can fit an entire<br>[34:46] career's worth of learning into like a<br>[34:48] like a three-hour class once a week,<br>[34:51] right? Like I've taught many people in<br>[34:52] my life in person and in my courses. And<br>[34:55] what a lot of people like email me being<br>[34:57] like, "Well, I know absolutely<br>[34:58] everything to be a web developer after<br>[35:00] taking this course." I was like, "No,<br>[35:01] no, absolutely not." Like, it's going to<br>[35:03] teach you like, "Here's how to put these<br>[35:05] pieces together. Here's how to learn.<br>[35:06] Here's how to debug." And then the rest<br>[35:09] of your career is simply going to be<br>[35:11] learning new things. This stuff changes<br>[35:13] absolutely every single day. You're<br>[35:15] picking up new approaches. And the fact<br>[35:16] that you were taught client and server<br>[35:18] validation, great. Now you can go figure<br>[35:21] out, okay, what are people actually<br>[35:23] using? You have to go and build stuff to<br>[35:26] actually figure out how these things<br>[35:27] work. you got to hit problems with spam<br>[35:29] to have to dive deep into what the hell<br>[35:31] SPF, DKM, and and Demark is. That is<br>[35:35] your job as as a web developer. So, I<br>[35:38] don't think like yeah, I think sometimes<br>[35:40] these these universities like teach you<br>[35:42] old stuff and it's really hard to keep<br>[35:44] curriculum up to date, but I don't think<br>[35:47] they've really did you too dirty when<br>[35:50] you like your job as a web developer is<br>[35:52] just to get out there and and to just<br>[35:54] consume all of the stuff and to learn it<br>[35:56] all. So,<br>[35:57] Yeah, trial by fire. Someone tried to<br>[36:00] XSS us. I thought this was kind of<br>[36:03] interesting. We'll put we'll put the um<br>[36:05] thing up on the video, but I'll explain<br>[36:07] it as well. Is when people submit pot<br>[36:09] questions, you can type whatever you<br>[36:11] want in the box. And somebody wrote uh<br>[36:14] closing text area open script tag fetch<br>[36:17] web hook.<br>[36:19] Some URL and then encode URI component<br>[36:23] document.cookie. So what they were<br>[36:26] trying to do here is they were hoping<br>[36:28] that we were pulling in this user input<br>[36:33] and simply just setting it as as HTML.<br>[36:37] And this used to be a much more<br>[36:39] prevalent thing where frameworks didn't<br>[36:42] take care of it for you. meaning that<br>[36:43] like if you are displaying<br>[36:46] some text from a user and and inputting<br>[36:49] it as HTML, if somebody were to type<br>[36:52] HTML into that box, they could possibly<br>[36:56] run JavaScript code on your your<br>[36:59] browser, right? And and what this one<br>[37:01] was trying to do was to try to run a<br>[37:04] script tag that when loaded runs a fetch<br>[37:06] request, takes the entire document<br>[37:09] cookies, not server side cookies, just<br>[37:11] just simply client side cookies that you<br>[37:13] can access with JavaScript. Um, and then<br>[37:15] send them over to this random website,<br>[37:18] which it seems like it's been taken down<br>[37:19] already. Probably was some sort of bot.<br>[37:22] But that was kind of interesting. And if<br>[37:24] we were to ever build something and like<br>[37:26] we've done this in React, we have<br>[37:27] something called dangerously set inner<br>[37:30] HTML. That's exactly why it's called<br>[37:32] dangerously set inner HTML because if<br>[37:34] you were to take this comment and<br>[37:35] dangerously use it as HTML instead of<br>[37:38] just dump it into like a React<br>[37:39] component, then it would it would<br>[37:41] execute the JavaScript and run that<br>[37:43] fetch and you would be be out of luck.<br>[37:46] So kind of interesting one. You don't<br>[37:48] see XSS too often because like all of<br>[37:51] the frameworks make it very hard to<br>[37:54] actually XSS yourself.<br>[37:57] But it's it's still doable, especially<br>[37:59] with like a lot of these uh AI agents<br>[38:01] where they are returning markdown. If<br>[38:04] you're not properly sanitizing that<br>[38:06] markdown, that could have like a script<br>[38:08] tag in it and then that would execute<br>[38:10] when it's turned into HTML.<br>[38:12] >> Yeah. All right. Next one from toxik<br>[38:16] nilot which is Scott Tolinsky backwards<br>[38:18] apparently. Uh syntax history question.<br>[38:22] When you first started the podcast who<br>[38:24] was on your list of potential co-hosts<br>[38:26] and who did you consider like adding a<br>[38:28] third host? I will say this when I<br>[38:32] independently came up with all of the<br>[38:34] ideas and concepts of logos and<br>[38:36] everything for syntax on my own<br>[38:38] independently.<br>[38:39] That didn't happen by the way. Uh I I<br>[38:42] thought of every single I think Wes was<br>[38:44] the last person uh on the list and I<br>[38:46] didn't consider him until everyone else<br>[38:48] had said no. The podcast did not exist<br>[38:52] in any form<br>[38:54] outside of Wes and I uh having good<br>[38:59] vibes and having a good rapport and<br>[39:04] being fans of podcasts and having strong<br>[39:07] opinions on podcasts. If it wasn't Wes,<br>[39:10] I wouldn't have done it. Uh I didn't<br>[39:12] even consider. Yeah.<br>[39:13] >> Yeah. Not literally nobody. And I think<br>[39:16] that that's just so much more common in<br>[39:18] the industry. Yeah. Sometimes people<br>[39:19] have ideas and then they go search for<br>[39:21] the people. But often a lot of great<br>[39:25] companies, a lot of great projects, they<br>[39:27] simply just come out of two people<br>[39:30] shooting the chatting, and then<br>[39:31] realizing, "Ah, we think the same way.<br>[39:34] We would work well together. Um, we<br>[39:37] should we should do something. So, that<br>[39:40] was I thought that was kind of an<br>[39:41] interesting one.<br>[39:42] >> The fact that it was organic<br>[39:45] makes it so much better. All of the best<br>[39:47] things in media art are organic. You<br>[39:53] know, like I'll never understand when<br>[39:55] there's like uh in in music when<br>[39:58] somebody is like an industry plant and<br>[40:00] become successful like Drake, right?<br>[40:03] Like how do people<br>[40:04] >> sucks? How do people fall into that and<br>[40:06] be like, "Oh yeah, this industry plant<br>[40:09] that is like the art for me." Like that<br>[40:11] just speaks to me. This person<br>[40:13] >> most people unfortunately it is<br>[40:15] >> freaking the AI music on Spotify kills<br>[40:18] me and it's so popular<br>[40:20] >> musicians all the best bands were just<br>[40:23] people who found each other organically<br>[40:26] and it worked. So like I'm not calling<br>[40:28] this podcast art although I am. I I just<br>[40:32] think that that's how it operates for me<br>[40:34] personally.<br>[40:36] >> Yeah. I And for me as well, like I I<br>[40:38] don't think that I would be able to<br>[40:41] disingenuously do something like that<br>[40:44] like like be an industry plant or like<br>[40:46] you see it on TikTok as well where where<br>[40:49] people are able to simply<br>[40:52] masquerade as something and it make it<br>[40:55] work. One really interesting thing is is<br>[40:58] Finn Mckenty. He had this YouTube<br>[41:00] channel called Punk Rock MBA and he I<br>[41:03] don't know almost half a million<br>[41:04] subscribers, hundreds of videos about<br>[41:06] the history of of punk and hardcore and<br>[41:09] and everything like that. And then one<br>[41:11] day he simply just stopped and said, "I<br>[41:14] actually wasn't really into that music<br>[41:16] at all, but he just like was just this<br>[41:19] crazy like knew everything about it and<br>[41:21] did amazing research." And I don't know<br>[41:24] if that is true or not, but part of me<br>[41:27] like I know the guy and I I think like<br>[41:29] part of me thinks that it is it is true<br>[41:31] and he figured out this one industry<br>[41:34] which is crazy to go into the punk<br>[41:35] hardcore scene<br>[41:36] >> and just be an absolute not necessarily<br>[41:39] con, but just like I am doing this<br>[41:41] because I realize this is a niche and I<br>[41:43] am going to absolutely kill it in this<br>[41:46] niche. Um, and he did that and then he<br>[41:48] stopped and he's like I'm going to do<br>[41:49] something else. Like I I did really well<br>[41:51] in that. I don't know if I could ever do<br>[41:53] that, you know.<br>[41:54] >> No, that's not for me. Yeah, the vibes<br>[41:56] has got like Vibes has got to be on for<br>[41:58] me. Yeah.<br>[41:59] >> Yeah. Christian says, "Hey guys, I've<br>[42:02] been working as a front end dev, a small<br>[42:04] software house for about five years. I'm<br>[42:06] looking to move to a larger company. I'm<br>[42:08] finding it difficult given my<br>[42:09] background. I'm overqualified for junior<br>[42:12] roles, but due to the tech stack, PHP<br>[42:14] and jQuery, I don't fully meet<br>[42:16] expectation for mid-level positions in<br>[42:19] bigger companies. How would you suggest<br>[42:21] approaching the situation?<br>[42:23] I feel like we've we've talked about<br>[42:25] this 7,000 times on this podcast is that<br>[42:28] you are a problem solver and your tools<br>[42:31] are are out of date. All right?<br>[42:32] Obviously, people still use PHP, but<br>[42:34] like that stack of PHP and jQuery is is<br>[42:38] very old by now, right? Like like we are<br>[42:40] many like React is what like 12 15 years<br>[42:44] old by now. your tech stack is out of<br>[42:46] date and and you need to scale up and<br>[42:48] and very quickly on on modern tech<br>[42:50] stacks because that is a like you<br>[42:53] probably have several decades old of<br>[42:55] like you probably missed two or three<br>[42:57] waves, you know, you missed GraphQL. Uh<br>[43:00] what else? What else did you miss? You<br>[43:02] know, we're on local F first now. So, I<br>[43:05] would probably you just have to you got<br>[43:07] to build the side project. You got to<br>[43:08] scale up. You got to get better at this<br>[43:09] things. You got to build something. And<br>[43:11] if you can't do it at work, you got to<br>[43:12] go and build a couple little side<br>[43:14] projects so you can scale up and<br>[43:15] understand how these things work, right?<br>[43:17] Like I would probably do a good balance<br>[43:19] of keyword stuffing because like this is<br>[43:23] don't choose I'm I'm curious what Scott<br>[43:25] thinks as well, but like if you are<br>[43:26] going to build a side project, you kind<br>[43:28] of have to aim it at what do employers<br>[43:30] want um and not necessarily just what<br>[43:33] you personally want to use. And I think<br>[43:36] today that would probably be React,<br>[43:39] Drizzle or Prisma using vanilla.<br>[43:42] >> Drizzle<br>[43:43] >> and Tailwind.<br>[43:44] >> Yeah. See this but like the thing is<br>[43:46] that Prisma is even if you don't like<br>[43:48] Prisma, it's absolutely used and used in<br>[43:51] so many massive companies right now and<br>[43:55] that's that's a a very hierable skill.<br>[43:57] Zod is really popular. And then like you<br>[43:58] have to scale up on using AI API. So<br>[44:02] integrating these AI LLMs into products<br>[44:05] as well as using LLM AI coding tools to<br>[44:09] to build your things. I think if you<br>[44:11] were to get good at all of those things,<br>[44:12] you'd probably be ready for applying to<br>[44:14] these mid-level jobs.<br>[44:16] >> Yeah, I have I'm the worst person in the<br>[44:18] world to give this advice cuz<br>[44:20] >> I was going to say some like obscure<br>[44:22] unreleased library that has eight<br>[44:24] downloads.<br>[44:25] >> Yeah. Yeah, it it is so funny. I was<br>[44:28] just talking to Courtney about this and<br>[44:30] I was talking about the Clawbot stuff<br>[44:32] which is now Open Claw and I was She was<br>[44:34] like, "Well, maybe this time you being<br>[44:37] uh way too early on something will<br>[44:38] actually come in handy because<br>[44:41] >> it did."<br>[44:42] >> Yeah, it did. Yeah, for sure. It Yeah,<br>[44:44] very funny. Like that is a problem of<br>[44:47] mine. I I I'll just I'll agree with<br>[44:48] whatever your take was here, Wes,<br>[44:50] because otherwise I don't I don't think<br>[44:52] I have a good one. I like the the<br>[44:54] cutting edge stuff as well too, but like<br>[44:56] if you're if you're trying to feed your<br>[44:57] family and get a job, like you have to<br>[44:59] kind of look at like there's the old<br>[45:01] saying is no one ever got fired for<br>[45:03] recommending IBM.<br>[45:04] >> Yeah.<br>[45:04] >> And like you have to understand what are<br>[45:06] these larger companies that don't move<br>[45:08] as fast as us. I have the issue of I I<br>[45:12] was described by one of my professors as<br>[45:15] quickotic to a fault where I'm so overly<br>[45:18] optimistic about things like oh of<br>[45:23] course this tech is going to take off.<br>[45:25] Oh, of course this is the way of like I<br>[45:28] I am firmly optimistic in those ways and<br>[45:31] that leads to me to become supremely<br>[45:34] blind as to practical choices on things.<br>[45:37] So, I I'm not the most practical dude.<br>[45:39] That's definitely the truth.<br>[45:42] Next question here from John Love. I've<br>[45:45] been following you and heard that you<br>[45:48] all have kids, jobs, and a lot of side<br>[45:50] projects. I am in a similar boat, but I<br>[45:52] have no idea how to make time to truly<br>[45:54] dive deep on a side project or learn how<br>[45:57] to set up hardware, etc. How are you<br>[45:59] able to balance your time between<br>[46:01] family, work, and extracurriculars, so<br>[46:03] to speak? the the biggest thing for both<br>[46:06] of us I would say is that a big part of<br>[46:08] our jobs is to explore and to learn and<br>[46:13] to teach and you don't do that without<br>[46:16] getting deep into side projects as a<br>[46:19] part of my job. Um, so while I am<br>[46:22] maintaining code bases and I am working<br>[46:24] on things longterm and managing the<br>[46:26] syntax team and that kind of stuff that<br>[46:29] does take up time, but I would say and<br>[46:32] obviously recording the podcast, I would<br>[46:34] say it's still a good 50% of my time is<br>[46:37] spent exploring and diving into topics<br>[46:41] and getting to work on side projects as<br>[46:44] a part of my actual job. So the things<br>[46:48] outside of that though oftent times now<br>[46:51] are like diving more into like what are<br>[46:53] things that I can do with my kits. Like<br>[46:56] my 3D printing stuff is entirely like a<br>[46:58] project to do with my kids from the<br>[47:01] start. Um to the point where both of our<br>[47:03] kids can load and unload the 3D printer.<br>[47:05] They they can do things with it. They<br>[47:08] can choose what they want to print. They<br>[47:09] can explore ideas on it and those types<br>[47:11] of things. Um, coding side projects<br>[47:14] oftent times are like the things I<br>[47:17] actually get into that aren't<br>[47:18] workrelated<br>[47:20] are things that are making my day-to-day<br>[47:22] life processes better. Like for<br>[47:24] instance, a thing I just built that was<br>[47:27] uh going to be very useful to my wife<br>[47:29] and I is we're going on a a big trip<br>[47:31] this year to celebrate our 40th<br>[47:32] birthdays. And I was like, you know what<br>[47:35] would be really cool would be like a<br>[47:37] trip hub where every single day of the<br>[47:40] trip has the itinerary. It would have on<br>[47:43] maps all the locations and then if you<br>[47:46] select a day, it would have all the<br>[47:48] addresses and phone numbers of anything<br>[47:50] you're doing that day. It would have<br>[47:52] budgeting built in so you could see how<br>[47:54] much the entire trip will cost. I could<br>[47:57] use AI to estimate costs of dinners and<br>[48:00] stuff like that. Like point it to the<br>[48:02] restaurants and say, "Hey, estimate me a<br>[48:04] cost of dinner for all these<br>[48:05] restaurants." And it's like that is an<br>[48:07] app that my wife can get behind because<br>[48:11] it is uh taking the things that I'm bad<br>[48:13] at, which is planning and augmenting<br>[48:15] them so I can help her uh plan better<br>[48:17] and therefore is an a useful use of my<br>[48:22] time. That's not just me wasting time on<br>[48:24] my computer when I'm outside of work.<br>[48:27] >> Yeah. People ask me this all the time<br>[48:29] and I would say my like most biggest<br>[48:31] frustration in life is simply just not<br>[48:33] having enough time to do all the things<br>[48:35] that I want to do. And probably<br>[48:37] everybody has that. Um but<br>[48:39] >> I don't know some tips that I do have is<br>[48:41] >> I like to start an idea, dive in, master<br>[48:44] it and and finish it, right? Like I'm<br>[48:46] not into 10,000 things at once. I'm<br>[48:50] simply just like, I want to learn this.<br>[48:52] I dive in. I I figure it out. I move on<br>[48:54] and and I move on to the next thing,<br>[48:55] right? I've done that with electronics,<br>[48:57] small engines, 3D printing, home<br>[48:59] Renault, cooking, like so many different<br>[49:01] things. And then I just feel like I have<br>[49:03] a very good like I still do lots of 3D<br>[49:05] printing, but I'm not like I'm not<br>[49:07] learning the 3D modeling software for<br>[49:09] hours on end. Like I I know how to use<br>[49:11] it now and I'm pretty good at it and and<br>[49:13] when I need to do something that that<br>[49:14] uses that, then I can can get into it.<br>[49:16] The other thing is is like I go so much<br>[49:19] based on excitement by trying things and<br>[49:21] and just dipping into different things.<br>[49:23] You're going to trip upon something that<br>[49:25] is exciting and and once you hit that,<br>[49:28] you're going to you're going to find<br>[49:30] time, right? Like it's the same thing<br>[49:32] with like literally anything in life,<br>[49:34] you know, like working out or whatever<br>[49:36] is like as soon as you like it like like<br>[49:37] something clicks in your head where like<br>[49:39] yes, this is this is great.<br>[49:41] >> You're going to you're going to figure<br>[49:42] out how to find time for those types of<br>[49:43] things, right? Like sometimes I have<br>[49:44] like four hours of screen time on my<br>[49:47] phone every single day and I sit in<br>[49:48] front of a computer all day, right?<br>[49:50] There's probably an hour or two there<br>[49:52] that I can can squeeze it out, right?<br>[49:53] Next tip is asynchronous learning. Like<br>[49:55] listen to podcasts, YouTube videos, like<br>[49:59] there's so much dead time that you can<br>[50:03] have asynchronous learning whether<br>[50:05] you're driving or just like even just<br>[50:06] like standing in line at the grocery<br>[50:08] store. I will just whip open an article<br>[50:11] and just like just start pawing through<br>[50:13] it, you know, because<br>[50:14] >> Can I interrupt here with something that<br>[50:16] I did yesterday that I'm not super proud<br>[50:18] of? There was a a long line at the<br>[50:20] pharmacy at Target, like like 15 people<br>[50:23] and since setting up my tail scale<br>[50:26] network, I have open code serve running.<br>[50:29] I was vibe coding in line at the<br>[50:32] pharmacy<br>[50:34] instead of just like existing there. I<br>[50:36] was like prompting AI agents to to work<br>[50:39] on something stupid and I'm just<br>[50:41] thinking to myself like I can't shut<br>[50:43] this off right now. Why can't I shut<br>[50:44] this off? That that's a problem I think.<br>[50:48] >> Oh, that's crazy. My last tip I have<br>[50:50] here is just cutting out as much like<br>[50:53] stuff that you don't like. Like I I seem<br>[50:56] it seems like I like a lot of stuff but<br>[50:58] like I don't know I don't know anything<br>[50:59] about movies. I don't know anything<br>[51:01] about pop culture. I don't know anything<br>[51:02] about hockey or anything any sports.<br>[51:05] told me the other day that the Olympics<br>[51:06] are on. I had no idea that there was<br>[51:08] Olympics this year. And those are not<br>[51:10] bad things. Like I'm not saying like<br>[51:12] don't watch hockey cuz like like do<br>[51:14] whatever the hell you want with your<br>[51:15] life. Um those are very enjoyable things<br>[51:17] for a lot of people. They're just not<br>[51:19] for me. Um and and I have different<br>[51:22] weird interests that I'm able to to talk<br>[51:24] about rather than like hockey players<br>[51:27] and and movies.<br>[51:30] >> See, I need those things. Otherwise, my<br>[51:32] brain would just be<br>[51:33] >> Exactly. Yeah. and you know what it is<br>[51:36] for you, you know.<br>[51:37] >> Totally. Yeah. Yeah. That is my get out<br>[51:40] of my my head kind of moments that I<br>[51:43] need.<br>[51:43] >> If I have like a long stressful day, my<br>[51:47] go-to is not to watch TV. Um or to like<br>[51:51] watch like a brain like a lot of people<br>[51:52] are like, "Oh, I love watching like Love<br>[51:54] Island or like these like brain dead TV<br>[51:56] shows because it just is a way to shut<br>[51:58] my brain off." And like<br>[51:59] >> if I'm like feeling stressed out and my<br>[52:01] wife's like, "You want to just like<br>[52:02] watch a show or whatever?" I'm like, I<br>[52:04] kind of just want to like write an<br>[52:06] article or watch a YouTube video on 3D<br>[52:10] printing or something like that. Like<br>[52:12] that's what it is for me and and I know<br>[52:14] that about myself.<br>[52:16] >> We're currently watching Singles Inferno<br>[52:18] on Netflix, which is it's a Korean<br>[52:20] dating show, which is so I love I love<br>[52:23] Singles Inferno every year just because<br>[52:26] it's so different. Like if you were to<br>[52:29] put I always think about like you were<br>[52:31] to put one American on this show and it<br>[52:33] would be like a a a bomb going off<br>[52:36] because of just how insanely different<br>[52:38] the dating culture is. It it's so<br>[52:40] interesting.<br>[52:42] But I love I love that kind of trash TV.<br>[52:44] That's me. Jason Bourne says, "I've been<br>[52:47] playing around with Transformers.js.<br>[52:49] This is a JavaScript library that will<br>[52:50] allow you to um load in LLM models from<br>[52:54] generally from like HuggingFace. It's<br>[52:56] built by hugging face. Um, and you can<br>[52:59] just like run them in JavaScript,<br>[53:00] whether that's in the browser or in<br>[53:02] Node.js. I'm working on a personal dev<br>[53:04] site. The idea is to use a small in<br>[53:05] browser meod feed it my CV and LinkedIn<br>[53:09] data and then build a chat GBT style rag<br>[53:12] search that can answer questions about<br>[53:14] my work history mostly in a fun way to<br>[53:16] learn rag in LLM and something genuinely<br>[53:20] useful for recruiters and potential<br>[53:21] clients. I've had a very rough working<br>[53:23] version. and I've embedded my CV data<br>[53:25] into JSON and pass the relevant chunks<br>[53:28] to the model from console logs. It does<br>[53:30] seem to retrieve the right context, but<br>[53:32] the responses come back as I don't know<br>[53:35] or say there's no context. Um I can't<br>[53:38] tell if this is a prompting issue, a<br>[53:39] limitation of smaller models or I need a<br>[53:42] larger model with better reasoning. So<br>[53:44] this is kind of interesting. So rag,<br>[53:46] what that means is that you take<br>[53:48] something like we use we use rag on we<br>[53:52] don't actually have it on the syntax<br>[53:53] site right now but I've used it with the<br>[53:55] syntax transcripts where you take like<br>[53:58] like what's called an utterance like two<br>[54:00] or three sentences that somebody has<br>[54:02] said um and then you can you you<br>[54:04] vectorize that you store in a vector DB<br>[54:06] and and that vector is just a a<br>[54:09] representation of what you said in<br>[54:12] numbers um and then it's it's mapped in<br>[54:14] like a thous0 in different dimensions<br>[54:16] and you can use vector search to find<br>[54:18] things that are are similar to that,<br>[54:20] right? So you I could search for like<br>[54:23] like react pitfalls and then it would<br>[54:25] bring up all the utterances where we<br>[54:27] talked about things that are similar to<br>[54:29] that without actually having to like say<br>[54:31] the words react pitfalls. So what he's<br>[54:34] done here is he's is he's vectorized his<br>[54:36] whole LinkedIn and and and cover letter<br>[54:38] and all that stuff. And then what you do<br>[54:40] is before you you run the LLM chat, you<br>[54:44] you do a vector search based on what the<br>[54:47] user has asked and then you put those<br>[54:50] retrievalss. It's called retrieval<br>[54:51] augmented generation. You put those<br>[54:53] things that you found in the prompt and<br>[54:55] then you ask the question given this<br>[54:57] data and it'll spit out an answer for<br>[54:58] you. Right? So he's having a problem<br>[55:00] where it's like yeah it gets the right<br>[55:01] context but it's it's not doing it. So<br>[55:03] like your rag might not be picking up<br>[55:06] the right bits. So when I was doing the<br>[55:08] transcript utterances, sometimes it<br>[55:10] would find the the actual utterance that<br>[55:13] I wanted, but it was missing context<br>[55:15] from like maybe what was said before or<br>[55:17] after. So I modified it so like yeah,<br>[55:20] you can get the one utterance, but maybe<br>[55:22] pull the last two before it and the<br>[55:24] other two after it and then use that as<br>[55:27] as context. If you are 100% sure that<br>[55:30] you're getting all the right context,<br>[55:31] then yeah, the model is probably just<br>[55:32] not good enough. I don't find that<br>[55:34] transformers.js JS in local models is<br>[55:37] very good for simply just straight up<br>[55:40] chat. where transformers.js JS in<br>[55:42] smaller local models make more sense is<br>[55:45] that models that do a very specific<br>[55:48] thing. Um depth detection, face<br>[55:50] segmentation, object detection, toxicity<br>[55:53] detection, uh text to speech, um<br>[55:57] translation, things that are tuned and<br>[55:59] trained exactly to do one thing well and<br>[56:04] not I I find it not as good as like<br>[56:07] these like just massive LLMs that you<br>[56:09] can give it text and it will return it<br>[56:11] to you. So, yeah, get a bigger model.<br>[56:13] >> Get a bigger model. Yes. All right. Uh,<br>[56:16] last one here is yearning for the past.<br>[56:19] Uh, the question is, why are Chad<br>[56:21] Whitaker videos showing up on the syntax<br>[56:24] YouTube channel? His videos are so out<br>[56:27] of touch with the rest of the content. I<br>[56:30] was excited to see another Syntax video<br>[56:32] on my feed only to be disappointed that<br>[56:34] it wasn't Wes, Scott, or CJ. They are<br>[56:37] who I want to see and who I want to hear<br>[56:38] from. Well, thank you for saying that<br>[56:40] you want to hear from us. I I will<br>[56:42] actually talk about the Chad stuff<br>[56:43] because Chad is a really talented uh<br>[56:46] developer. He has such a long history<br>[56:50] and knowledge of open source and does<br>[56:53] all of the open source funding stuff at<br>[56:55] Sentry. Now, uh there was an opportunity<br>[56:58] for Chad to be able to share some of<br>[57:02] that knowledge on uh syntax. So, I I<br>[57:06] I'll say first and foremost that when it<br>[57:08] came up uh to have that opportunity to<br>[57:10] have Chad share some of his knowledge,<br>[57:13] um he produced a little bit of a pilot<br>[57:15] for us and I was like, "Oh, this is<br>[57:18] great. This is a change of pace from<br>[57:20] what we have on the show or on the<br>[57:21] channel. It covers things that frankly<br>[57:24] the three of us are not as deep into as<br>[57:27] as Chad was. And through that process, I<br>[57:30] do think we all learned that it it<br>[57:32] wasn't necessarily a good fit, despite<br>[57:34] the fact that I think Chad's content is<br>[57:36] great, and I I think it's uh very<br>[57:38] undervalued. I I think if you're out<br>[57:40] there, you should go listen and<br>[57:41] subscribe. Um, and so because of that,<br>[57:44] Chad is going to be continuing his<br>[57:46] content, but he is doing so on his own<br>[57:49] channel, which we'll link in the show<br>[57:50] notes. So, I I think we got that<br>[57:52] feedback, but also I I do think, you<br>[57:55] know, you're right. probably wasn't a<br>[57:58] good fit because it was too different.<br>[58:00] And I'll say I'll say straight up that<br>[58:02] was my choice. And I I think that I<br>[58:04] thought it was going to be a nice<br>[58:06] contrast, but ultimately I I think it<br>[58:09] was probably better uh for him to<br>[58:10] continue producing it in a way that's<br>[58:12] like<br>[58:12] >> Yeah. And it's it's doing better on his<br>[58:14] own channel as well because of this<br>[58:16] finicky finicky algorithm.<br>[58:18] >> Yeah, totally. So we'll link that up.<br>[58:21] And if you're interested in Chad's<br>[58:23] stuff, if you're interested about<br>[58:24] open-source topics, like Chad went to<br>[58:27] Ukraine and interviewed the Drizzle<br>[58:29] folks, like he's done some amazing stuff<br>[58:31] on on his channel. So follow that<br>[58:33] channel. Uh he'll be continuing to do it<br>[58:35] there, but if you weren't a fan of that<br>[58:37] content for whatever reason, you won't<br>[58:39] be seeing it as a part of the normal<br>[58:40] syntax feed going forward. Uh sick<br>[58:43] picks. I I'm going to sick pick. I feel<br>[58:44] like something I've talked about a few<br>[58:46] times on this show, but I don't know if<br>[58:47] I truly did as a sick pick. my terminal<br>[58:49] screen. You can see it tells me when my<br>[58:52] next uh Penguins hockey game is on.<br>[58:54] They're playing the Islanders on<br>[58:56] February 3rd. And this is just one of<br>[58:58] the many screens that this little thing<br>[59:00] has on it. It's a really simple device.<br>[59:02] It's a e- in with a battery and a USB to<br>[59:04] charge it. One on and off button. You<br>[59:06] can write your own software for this<br>[59:08] thing super easily. And I'm a huge huge<br>[59:11] fan of this device. It's one of the few<br>[59:13] things that I keep on my desk. And yeah,<br>[59:16] it has the Penguins game on here right<br>[59:17] now, but every 15 minutes it changes to<br>[59:19] a different screen, whether that's how<br>[59:21] many days are left in the gear or my<br>[59:23] calendar or what the weather is for the<br>[59:25] next week or all kinds of stuff. And<br>[59:28] it's so easy to code your own of<br>[59:31] anything you want on here. GitHub<br>[59:33] contributions. I have like YouTube<br>[59:35] subscribers, that kind of stuff. Um, so<br>[59:37] check it out. TR RML.<br>[59:40] I think this is like if if I would have<br>[59:42] had this for our our gift episode, I<br>[59:44] would have said this was like a perfect<br>[59:45] holiday gift, but I did ask for this for<br>[59:47] Christmas myself. So, um, really neat<br>[59:50] stuff. Sick. Yeah, I really I really<br>[59:52] want an e- in display. That seems so<br>[59:55] cool. Somebody asked a pot question<br>[59:57] about a different e- in display. So,<br>[59:59] maybe I'll take a look at that as well.<br>[60:01] Speaking of electronics, I'm going to<br>[60:02] sick pick my soldering iron. So, ooh, in<br>[60:05] the past I have I have one of those like<br>[60:07] USB<br>[60:09] C like soldering iron pens and it works<br>[60:13] great, but I find that I don't always<br>[60:16] have the right cable for it because it<br>[60:18] needs to be like um like a power<br>[60:20] delivery cable. And then I also find<br>[60:22] that I have to find the power bank um<br>[60:24] and then sometimes it's in my backpack<br>[60:26] or whatever. And I find that like I<br>[60:27] don't use it as much cuz I have to like<br>[60:29] run around looking for everything that I<br>[60:31] want. So, I've had this also have had<br>[60:34] this one for many years. This is a Ryobi<br>[60:36] soldering iron and I use this one all<br>[60:38] the time. It gets hot very quickly and<br>[60:42] it just like works. I have tons tons of<br>[60:44] these Ryobi batteries. You can just slap<br>[60:46] one in. It's always in my workshop. It<br>[60:47] has a nice it's has a stand in itself,<br>[60:50] you know. So, if you are going to be<br>[60:53] buying a soldering iron, don't buy one.<br>[60:55] The ones that plug into the wall are<br>[60:57] great, but like I hate having to find a<br>[60:59] plug cuz<br>[61:00] >> Yeah, same. You can never like you have<br>[61:02] to solder it right next to the plug or<br>[61:03] find an extension cord. The these<br>[61:05] battery ones are absolutely perfect. The<br>[61:07] battery lasts like I don't know many<br>[61:09] hours of soldering. It auto shuts off.<br>[61:11] It's just a fantastic little thing. So<br>[61:13] whatever you don't have to get the Ryobi<br>[61:15] one or you can get the DeWalt or<br>[61:16] whatever version of it. But I've just<br>[61:19] been very happy with this sort of<br>[61:21] package as a as a soldering iron.<br>[61:24] >> I've been having the worst time<br>[61:25] soldering. I feel like that is one skill<br>[61:28] that I've tried to hone. I've watched<br>[61:30] YouTube videos. I've practiced. I've<br>[61:32] tried all I'm so god awful at soldering.<br>[61:37] >> I do have one of those. Yes. Not that<br>[61:39] one in particular, but I do have a<br>[61:40] feeder like that. Yeah.<br>[61:42] >> Yeah. Are you using the little USBC one?<br>[61:45] >> Yes. And it gets hot fast. It's nice.<br>[61:48] It's got a nice little tip on it. Yeah.<br>[61:50] >> Yeah. It's It's tricky. It is It is a<br>[61:52] hard thing to learn. Mine aren't<br>[61:54] perfect, but I feel like after I don't<br>[61:55] know 10 years of doing it, I've I've<br>[61:57] gotten pretty good at it. Yeah, I've<br>[61:59] been garbage since day one and and<br>[62:01] still. Yeah.<br>[62:03] >> Awesome. All right. Well, thank you so<br>[62:05] much for tuning in. We will catch you<br>[62:07] later. Peace. <!-- deep-read:sections end -->