Loading video player...
In this session, I continue the journey of building a basic load balancer from scratch using Rust. We take a deep dive into asynchronous programming with Tokyo, explore the nuances of TCPListener vs. TCPStream, and tackle the "fun" of move semantics and lifetimes in async blocks. Beyond the code, we have some great community discussions about the reality of being a full-time creator, the "cognitive debt" of over-relying on AI for coding, and why I’m still a beginner-ish at Rust despite what my GitHub might say. Grab a cup of Yorkshire Gold and let's get into some "whimsy-driven development." In this stream, we cover: Asynchronous Rust: Implementing tokio::spawn and understanding async move. Networking Fundamentals: Handling multiple concurrent connections with listener.accept(). Error Handling Patterns: Moving from custom error enums to more idiomatic patterns. Developer Philosophy: Why building things manually is still the best way to learn in the age of AI. Setup Tour: A look at my NixOS configuration on the Framework 13 Pro. Chapters 00:00 - Stream Start & Bribery (Tea & Electrolytes) 03:30 - The Setup: NixOS on Framework 13 Pro 05:18 - Productivity Talk: Peak Performance vs. Burnout 07:45 - My Rust Journey: From Cargo Run to Now 10:15 - Project Goal: Forwarding TCP Connections 13:40 - Researching Tokyo: Spawning Async Tasks 15:30 - Advice for Escaping Tutorial Hell 18:15 - Breaking Down the Forwarding Logic 22:15 - The Struggle with Long Nails & Keyboards 26:10 - Full-Time Content Creator Reality Check 28:30 - Explaining async move & Lifetimes in Rust 31:25 - The Traumatizing Smell of Coffee Breath 35:20 - TCPListener: Incoming vs. Accept Methods 37:45 - Why DuckDuckGo is Mogging Google for Devs 41:40 - Project Update: Building a Shell from Scratch? 44:40 - Learning System Programming 48:30 - The "Cognitive Debt" of Using Too Much AI 52:45 - Momentum is Everything in Programming 56:30 - Clippy: The Real MVP of Rust Development 01:03:00 - Are You an AI Avatar? 01:07:30 - Handling Await in Non-Async Contexts 01:13:00 - Health Checks & Connection Management 01:21:30 - The "Process" vs. "Product" Developer Mindset 01:26:00 - Debugging copy_bidirectional Mismatch Types 01:34:00 - Refactoring for Multiple Concurrent Requests 01:44:00 - Tracking Active Server Connections 01:52:00 - Why We Should Feel More Whimsy When Coding 02:00:15 - Emacs Navigation vs. Neovim (Doom Emacs) 02:10:00 - Bookmarking Code & project Retrospectives 02:17:10 - Recording a Recap: Lessons Learned from "Measured" 02:28:40 - 4K Stream Technical Difficulties (Encoding Overload) 02:34:00 - Final Thoughts: You Have Free Will, Go Build! Join this channel to get access to perks: https://www.youtube.com/channel/UC9H0HzpKf5JlazkADWnW1Jw/join wanna join the chat on the stream?? it's over at https://twitch.tv/bashbunni #rustlang #doomemacs #programming #bashbunni #linux #nixos #fortheloveofcode