Afleveringen

  • Fallthrough is a podcast about having conversations in public, and over the last 3 months we've shipped 15 of them! In this episode, Kris, Ian, and Matt sit down to discuss the podcast so far: what we've enjoyed, the feedback we've gotten, how we produce episodes, and so much more. We're excited to take a look at the first 15 episodes we've produced and look forward to making the next 15!

    Supporters get access to an extended conversation including chapters on how we've pivoted the podcast, learned about what works and what doesn't, our thoughts on art vs production, and much more. You can get access by signing up at https://fallthrough.fm/subscribe.

    Thanks for tuning in and happy listening!

    Table of Contents:

    Prologue (01:23)Chapter 1: The Podcast So Far (02:07)Chapter 2: Behind The Scenes (05:53)Chapter 3: Our Favorite Episodes (12:59)Chapter 4: Pivoting The Podcast (Supporter Only)Chapter 5: On Feedback (18:14)Chapter 6: Yes, And vs No, But (27:58)Chapter 7: Monologing (35:45)Chapter 8: Pre & Post Production (43:01)Chapter 9: How We Make Episodes (01:01:04)Chapter 10: Learning How Things Work (Supporter Only)Chapter 11: The Best Feedback (01:08:19)Appendix UNPOP: Unpopular Opinions (01:13:45)Appendix DESIGN: Art vs Production (Supporter Only)Epilogue (01:22:27)

    Hosts

    Kris Brandow - Host Ian Wester-Lopshire - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(01:23) - Prologue(02:07) - Chapter 1: The Podcast So Far(05:53) - Chapter 2: Behind The Scenes(12:59) - Chapter 3: Our Favorite Episodes(17:50) - Chapter 4: Pivoting The Podcast(18:14) - Chapter 5: On Feedback(27:58) - Chapter 6: Yes, And vs No, But(35:45) - Chapter 7: Monologing(43:01) - Chapter 8: Pre & Post Production(01:01:04) - Chapter 9: How We Make Episodes(01:08:18) - Chapter 10: Learning How Things Work(01:08:19) - Chapter 11: The Best Feedback(01:13:45) - Appendix UNPOP: Unpopular Opinions(01:22:00) - Appendix DESIGN: Art vs Production(01:22:27) - Epilogue
  • APIs are built, not born, so how do we go about actually building them? Well, it starts with design. In this episode, Kris and Ian are joined by Jamie Tanna to talk about API design. From creating a theory of your API, through building its foundation, to actively prototyping as you design, the panel discusses what they've learned over the years to design high quality APIs. At the end we have unpopular opinions, but we also have a bonus behind the scenes look at howe we create episodes of this podcast. Make sure to stick around until the end of the episode for that content!

    Supporters get access to an extended conversation about API design, where we continue some conversation that were cut short, dig more into how the podcast is made, and you'll get to hear Kris argue against using REST! You can get access by signing up at https://fallthrough.fm/subscribe.

    Thanks for tuning in and happy listening!

    Notes:

    Spotlight PrismCan I Use?Manual of Me


    Table of Contents:

    Prologue (01:11)Chapter 1: Designing APIs (02:54)You will make mistakes (03:26)Inventing things from whole cloth (06:29)There is no correct (12:34)Chapter 2: A Theory of Your API (17:48)Creating a foundation (31:26)Starting from your database schema (Supporter Only)Chapter 3: Prior Art (34:13)Chapter 4: Design Requires Code (41:37)Chapter 5: The Happy Path (48:19)Chapter 6: Application Transactions (53:08)Chapter 7: What Is Forever? (57:06)Chapter 8: Separate Application & Transfer (01:08:30)Chapter 9: Stop Doing RESTful Nonsense (Supporter Only)Chapter 10: Concrete Challenges with Correctness (01:11:59)Appendix UNPOP: Unpopular Opinions (01:18:44)Jamie's Surprise Unpop (01:18:47)Jamie's Second Unpop (01:23:55)Epilogue (01:26:55)

    Hosts

    Kris Brandow - Host Ian Wester-Lopshire - Host Jamie Tanna - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(01:11) - Prologue(02:54) - Chapter 1: Designing APIs(17:48) - Chapter 2: A Theory of Your API(34:13) - Chapter 3: Prior Art(41:37) - Chapter 4: Design Requires Code(48:19) - Chapter 5: The Happy Path(53:08) - Chapter 6: Application Transactions(57:06) - Chapter 7: What Is Forever?(01:08:30) - Chapter 8: Separate Application & Transfer(01:11:59) - Chapter 9: Stop Doing RESTful Nonsense (Supporter Only)(01:11:59) - Chapter 10: Concrete Challenges with Correctness(01:18:44) - Appendix UNPOP: Unpopular Opinions(01:26:55) - Epilogue
  • What does it mean to be a senior (or staff) software engineer? How are we preparing the next generation of software engineers to maintain the software we've created? In this episode, Matt and Kris are joined by Bill Kennedy to discuss tech communities, training software engineers, the landscape of learning, how artificial intelligence is affecting it all, and so much more.

    Supporters get access to an extended conversation with Bill, where we get into more depth on artificial intelligence, the Go team, and more! You can get access by signing up at https://fallthrough.fm/subscribe.

    Thanks for tuning in and happy listening!

    Notes:

    The Market for Lemons


    Table of Contents:

    Prologue (01:10)Intros & The Rain (01:10)Mr. Gopher Man (02:35)Introducing Bill Kennedy (03:08)Chapter 1: Tech Communities & Software Engineer Training (04:57)From Ultimate Go to Ultimate Software Design Live (04:57)Software Engineers & Criticism (10:01)Saying The Wrong Things (15:12)The Times Have Changed (16:08)You Learn More From Your Mistakes (24:44)Chapter 2: The Learning Landscape (28:25)The trouble with senior engineering (30:10)The difference between programming and coding (35:04)What is legacy? (39:19)It's All About Packages (44:06)Expanding Into Rust (51:23)Chapter 3: Giving Back (59:43)Sustaining open source projects (59:43)Chapter 4: Passing The Baton (01:13:28)The need for written documentation (01:27:50)What AI can do for you (01:33:50)When do you do something? (01:40:57)Epilogue (01:50:05)Helicopter taxi (01:50:34)

    Hosts

    Kris Brandow - Host Matthew Sanabria - Host Bill Kennedy - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(01:10) - Prologue(04:57) - Chapter 1: Tech Communities & Software Engineer Training(28:25) - Chapter 2: The Learning Landscape(59:43) - Chapter 3: Giving Back(01:13:28) - Chapter 4: Passing The Baton(01:50:05) - Epilogue
  • Software is hard to build. From knowing which regulations apply to us to understanding what's in our software, there's a lot to learn. On top of that, regulation is coming for all of us. In this episode, Luis Villa joins Kris, Ian, and Angelica, to discuss the laws and regulations that will change the way that you build and deploy software. We discuss the EU's Cyber Resilience Act, the difficulty in interpreting the law and staying within its bounds, how these new laws differ from what we're used to, artificial intelligence, and so much more.

    Supporters get access to an extended conversation with Luis, where we discuss AI, the Deno vs Oracle lawsuit, writing personal code on employer devices, and more! You can get access by signing up at https://fallthrough.fm/subscribe.

    Thanks for tuning in and happy listening!

    Notes:

    The Draghi ReportMacPherson v. Buick Motor Co.


    Table of Contents:

    Prologue (1:11)Panel introductions (1:24)Introducing Luis Villa (2:32)Chapter 1: What's even in our software? (5:58)What is the Cyber Resilience Act? (9:31)Why software engineers need to care (12:06)Ambiguity begets flexibility (15:57)Law is eventually consistent (19:29)The rooms where law is made (21:14)Open source has power (23:51)The reach of regulation (28:25)Thinking on the global scale (36:17)Silicon Union: Rebuilding Silicon Valley in Europe (41:25)Challenges in regulating open source (43:47)Regulations aren't our adversaries (46:47)What's even in this (software) stuff? (51:24)Regulations Sticks vs Monetary Carrots (55:41)Chapter 2: AI & Legal Knowledge Graphs (1:06:07)The law lacks a linter (1:10:16)Chapter 3: Open Source & Business Licenses (1:16:08)Epilogue (1:33:42)

    Hosts

    Kris Brandow - Host Ian Wester-Lopshire - Host Angelica Hill - Producer Luis Villa - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(01:11) - Prologue(05:58) - Chapter 1: What's even in our software?(01:06:07) - Chapter 2: AI & Legal Knowledge Graphs(01:16:08) - Chapter 3: Open Source & Business Licenses(01:33:42) - Epilogue
  • Communities play a vital role in our technical and non-technical lives, but how much thought have we put into what makes these spaces valuable? In this episode, Kris is joined by the panel and Kelsey Hightower to discuss communities and their intersection with the digital and non-digital world.

    Supporters get access to an extended conversation with Kelsey, where we discuss his views of AI and what he's been up to in retirement! You can get access by signing up at https://fallthrough.fm/subscribe.

    Thanks for tuning in and happy listening!

    Notes:

    What If CSS Grid Changes?The Infinite Game by Simon SinekKitchen Nightmares


    Table of Contents:

    Prologue (00:00)Kelsey Introduction (01:18)Panel Introduction (01:39)GopherCon CFP (01:54)Chapter 1: Choice (02:46)Why did Kelsey leave the Go community? (02:46)Dylan's first experiences with Go (09:05)A shared vocabulary (10:39)The software relay race (12:30)Go: The Potential Parts (13:37)The challenge of having a Go team (15:00)Yes is forever (25:59)Modules Therapy (27:11)Remember the past & give space to be honest (28:17)Dropping the community baton (31:53)Go by choice (32:19)Wall Street measure of success (35:48)The first date isn't the same as the hundredth (39:36)The leader in you (42:19)Chapter 2: Infinite (47:35)Software is an Infinite Game (47:35)Constraints are required (51:30)You cannot build the everything tool (54:21)We need to touch grass (55:39)Augmenting life (59:27)Chapter 3: Evolution (01:00:55)Keeping sane in DevRel (01:07:17)Conferences in the current era (01:13:30)Superiority of the Single Track Conference (01:18:04)Kelsey's KubeCon Story (01:21:00)Virtual Conferences need a new term (01:23:38)Conferences need some innovating (01:25:35)Does tech even have communities? (01:27:52)Kelsey's dream talk development path (01:30:06)Chapter 4: Kelsey's Retirement (01:42:05)This chapter is supporter only content.Epilogue (01:43:34)

    Hosts

    Kelsey Hightower - Guest Kris Brandow - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(00:00) - Prologue(02:46) - Chapter 1: Choice(47:35) - Chapter 2: Infinite(01:00:55) - Chapter 3: Evolution(01:42:05) - Chapter 4: Retirement(01:43:34) - Epilogue
  • There are Web APIs everywhere, from the classic REST/HTTP, to GraphQL, to gRPC, we rely on them to get things done each and every day. But how much do we think about the design of these APIs? How do you document an API once you've created it? What even is versioning? Do we really understand HTTP? In this episode, Kris and the panel are joined by Jamie Tanna to discuss APIs, their design, how to document them, and more.

    Want to hear us discuss APIs and how we design identifiers? Become a supporter and enjoy bonus content and higher quality audio today, and additional perks and benefits when we add them in the future.

    Thanks for tuning in and happy listening!

    Notes:

    Web API Versioning Is Insufficient (08:38)http.cat (50:03)Please Stop Saying "just" (01:12:01)jvt.me/elsewhere (01:13:17)


    Table of Contents:

    Intro (00:00)Preface (01:13)Introducing Jamie Tanna (01:13)Prologue - APIs: The Leaky Kitchen Sink of Software (02:12)This chapter is supporter only content. Subscribe at https://fallthrough.fm/subscribe!Chapter 1 - Versioning & Breaking Changes (02:15)What is a breaking change? (02:17)Communicating breaking changes (05:17)APIs as Contracts (08:32)Chapter 2 - API: Annoying Perpetual Interface (08:32)APIs require planning (16:52)Chapter 3 - Documenting Designs (21:34)Can OpenAPI save us? (21:34)Design through documentation (30:40)Innovation & API/Transport Separation (34:21)Interlude - Version 0 Forever! (44:00)Chapter 4 - An Exploration of HTTP (44:26)HTTP and it's Status Codes (44:26)Chapter 5 - Identifying Identifiers (57:42)How to choose identifiers (57:42)Appendix UNPOP - Unpopular Opinions (58:01)Dylan's Unpop (58:46)Jamie's Unpop (01:01:51)Matt's Unpop (01:07:35)Ian's Unpop (01:09:17)Kris' Unpop (01:10:47)Just stop using just (01:12:01)Epilogue (01:13:13)Where to find Jamie (01:13:13)Outro (01:13:27)


    Hosts

    Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host Jamie Tanna - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram(00:00) - Intro(01:13) - Prologue(02:12) - Preface - APIs: The Leaky Kitchen Sink of Software (supporter only)(02:15) - Chapter 1 - Versioning & Breaking Changes(08:32) - Chapter 2 - API: Annoying Perpetual Interface(21:34) - Chapter 3 - Documenting Designs(44:26) - Chapter 4 - An Exploration of HTTP(57:42) - Chapter 5 - Identifying Identifiers (supporter only)(58:01) - Appendix UNPOP - Unpopular Opinions(01:13:13) - Epilogue(01:13:27) - Outro
  • We all have tools that make our lives better. Software tools, hardware tools, and everything in between. In this episode, Matt is joined by Kris, Ian, and Dylan to discuss some of their favorite tools, what they use them for, and why they chose them.

    Want to hear about the tools we don't like? Become a supporter and enjoy bonus content and higher quality audio today, and additional perks and benefits when we add them in the future.

    Thanks for tuning in and happy listening!

    Tools:

    (01:36) Tool #1: Jujitsu(05:40) Tool #2: MyRepos(08:56) Tool #3: GitHub Actions(14:54) Tool #4: ZFS(17:02) Tool #5: GNU Stow(19:15) .ignore in your .gitconfig(19:49) Subshell for mktmp -d(27:29) Tool #6: ZSA Moonlander(32:47) Tool #7: A good office chair(37:25) Tool #8: KitchenAid Professional 600(39:17) https://flameka.com(40:47) Tool #9: Sourcegraph(42:53) Tool #10: Comby(43:25) Tool #11: Kagi(47:14) Tool #12: Datagrip(48:57) Tool #13: govers(51:15) Tool #14: Mage(53:22) Tool #15: NeoVim(55:57) Tree-sitter(58:44) Tool #16: Ghostty(01:00:57) Tool #17: 1Password(01:06:02) Tool #18: B5 Paper(01:12:22) Tool #19: Leuchtturm1917(01:13:26) Tool #20: Uni Kuru Toga(01:13:52) Tool #21: Koh-i-noor Rapidomatic(01:16:36) Tool #22: Hardened steel ruler(01:17:37) Tool #23: LAMY Safari(01:19:01) Tool #24: Baron Fig Strategist(01:20:42) Tool #25: Beyerdynamic DT 990 Pro(01:21:12) Tool #26: Schiit Vali(01:21:51) Tool #27: Sony MDR-7506(01:22:24) Tool #28: Shokz OpenRun(01:28:56) Tool #29: BlackMagic Design Ultra Studio Recorded 3G(01:31:16) Tool #30: OBS(01:33:05) Tool #31: SM7B(01:33:47) Tool #32: Ziess lens wipes(01:34:58) Tool #33: Apple M2 Macbook Air(01:41:36) Tool #34: iFixIt Mako driver kit(01:42:46) Tool #35: American Giant hoodie(01:44:17) Tool #36: Epson ES-300W portable scanner(01:45:37) Tool #37: HP LasterJet P1102W(01:47:30) Tool #38: IKEA SKADIS

    Chapters:

    (00:00) - Intro(01:36) - Tech Tools(23:49) - Shift Lock & Escaping Vim (tangent)(27:29) - Keyboards(30:29) - Typing Classes (tangent)(32:47) - Office Gear(37:25) - Kitchen Gear(40:47) - More Tech Tools(46:17) - Ad Auctions (tangent)(47:14) - Even More Software(01:06:02) - Stationery(01:20:42) - Audio & Video Gear(01:42:46) - Other Tools(01:50:53) - Tools We Don't Love(01:52:01) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • What's a terminal? Why is it being emulated? On this week's episode, Matt and Kris are joined by Mitchell Hashimoto to discuss his newest project Ghostty, the Zig programming language, thoughts and feelings about Go, and more. As always, catch some Unpopular Opinions at the end of the episode.

    Want to hear even more from Mitchell? This episode features bonus content for our Fallthrough Fan and above subscribers! Become a supporter and enjoy bonus content and higher quality audio today, and additional perks and benefits when we add them in the future.

    Thanks for tuning in and happy listening!

    Notes & Links:

    How to reset the terminal in Ghostty (from 04:41)Ghostty reset keybindingSunsetting Cursed Terminal Emulation (from 18:22)XTGETTCAP in Ghostty (from 23:31)ncurses terminfo database (from 25:14)Gnome VTE (from 36:55)Mongoose embedded web server (from 52:28)libuv (from 52:40)freetype (from 52:44)HarfBuzz (from 52:45)Pixman (from 52:48)libxev (from 52:58)z2d (from 53:01)Scripto Continua (from 01:25:26)


    Chapters:

    (00:05) - Intro(00:39) - Become a subscriber: https://fallthrough.fm/subscribe(01:52) - What is Ghostty?(03:47) - Consequences of cat'ing binaries(04:43) - Ghostty's journey to release(06:47) - Ghostty's team structure(08:22) - What terminal are we using?(09:03) - Ghostty's Dev Tools(14:53) - What are escape sequences?(16:57) - What are terminal emulators emulating?(19:50) - The ossification of SSH & Terminfo(27:26) - Ghostty Terminfo workaround(28:38) - Shell in the Ghostty(34:44) - libghostty(38:59) - The most difficult part in implementing Ghostty(42:35) - Why Zig?(46:41) - How to build with Zig(55:35) - The Zig Standard Library(59:00) - Social feedback creates bleh languages(01:02:52) - Go's place in the modern world(01:11:56) - On handling feedback(01:19:45) - Join the Ghostty development community(01:21:35) - Mitchell's thoughts on GitHub (subscriber only)(01:23:02) - Mitchell's Unpop(01:24:21) - Matt's Unpop(01:26:37) - Kris' Duolingo Streak(01:29:29) - Kris' Unpop(01:33:25) - Outro
    Hosts Kris Brandow - Host Matthew Sanabria - Host Mitchell Hashimoto - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • A recent Ars Technica article outlined a backdoor in the Go Module Mirror. Even though it's framed as a backdoor, and potentially a vulnerability, it's actually an exploit of a design choice designers of the module mirror made. Kris is joined by Matthew, Dylan, and guest host Jamie Tanna, to discuss this vulnerability-but-actually-feature, the implications for the Go community, and the wider reasons why something like this happened. We go on a journey through the history of modules, the Go community, and a whole lot more. We know this is a long one but we're sure you'll love it! Have thoughts? Reach out to us on social media and let us hear them!

    Thanks for tuning in and happy listening!

    Notes & Links:

    Go Module Mirror served backdoor to devs for 3+ yearsGo Supply Chain Attack: Malicious Package Exploits Go Module Proxy Caching for PersistenceAbusing Go's infrastructure (from 8:38)#66653: x/pkgsite: links can point at source code that may not match what is served by the module proxyopenapi.tanna.dev/go/validator (from 22:15)#44550: proposal: cmd/go: make major versions optional in import paths (from 1:15:56)Comment from aboveSourceHut will (not) blacklist the Go module mirror (from 9:19)


    Chapters:

    (00:05) - Intro(01:38) - Introducing Jamie Tanna(02:21) - The vulnerability that's actually a feature(04:53) - The Go Module Mirror(14:02) - Paternalism(21:14) - What are vanity URLs?(23:02) - Not just the official Go Module Mirror(27:58) - Unforgiving Module Proxies(29:23) - #BringBackGOPATH(29:36) - Tags are mutable(33:44) - What does a version mean?(35:10) - Jamie's Hot Take(38:20) - The Trails and Tribulations of Modules(42:03) - It's humans!(44:40) - How might we fix this?(49:12) - Is it too easy to fetch dependencies?(52:25) - Decentralized versus Centralized(57:24) - A Proxy is not an Origin(01:03:14) - Can we revalidate?(01:05:14) - I can't believe it's not SemVer!(01:06:34) - Analogy Time, featuring The Web!(01:09:25) - Is this a problem elsewhere?(01:12:20) - The tooling should be better(01:16:47) - The Community that was(01:23:06) - Matthew's Is Go Dead? Perspective(01:23:59) - Jamie's Is Go Dead? Perspective(01:25:19) - What does Dead mean?(01:28:23) - Go should be able to do more(01:31:22) - Go as an identity(01:32:33) - Some added nuance(01:39:18) - A difference in leadership(01:43:03) - A lack of inclusion(01:57:34) - Blame the system, not the person(02:03:00) - Outro
    Hosts Kris Brandow - Host Dylan Bourque - Host Matthew Sanabria - Host Jamie Tanna - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • Go's steady cycle of releasing new versions every six months continues. On this episode, our "What's new in Go?" correspondent (a carry over from Go Time) joins special guest host Johnny Boursiquot to talk about the new features and changes coming in Go 1.24. As always, we've got some great unpopular opinions at the end.

    Thanks for tuning in and happy listening!

    Notes & Links:

    Carlana's WebsiteTime Is Not A Synchronization Primitive (from 19:04)sqlc (from 1:05:01)


    Chapters:

    (00:00) - Intro(02:20) - Introducing Carlana(03:29) - What's New In Go 1.24?(04:02) - package weak(10:17) - package runtime(16:55) - testing(27:37) - package os(32:28) - go tool(37:58) - generic type aliases(41:35) - minor changes(52:25) - Unpopular Opinions(52:35) - Carlana's Unpop(56:36) - Johnny's Unpop(01:05:43) - Outro
    Hosts Kris Brandow - Producer Johnny Boursiquot - Host Carlana Johnson - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • How much do you know about a career in coding? Perhaps you're already a well versed professional software person. Or maybe you're someone who's just starting out. Either way, you're going to need some help along your entire technology career. In this episode, which is part 2 of a 2 part series, the panel is chatting with Chris Allaire to talk about all things tech recruiting! They discuss what makes one a good candidate, why a recruiter is useful, whether recruiting can be replaced with AI, and so much more. As always, we've got some great unpopular opinions at the end.

    Thanks for tuning in and happy listening!

    Notes & Links:

    Averity


    Chapters:

    (00:00) - Intro(00:57) - How're we doing?(01:47) - Introducing Chris Allaire(03:30) - Retro Tech Recruiting(08:44) - Recruiting Throughout The Decades(13:17) - Increasing Specialization. Or Not.(17:02) - Modern Tech Recruiting(27:47) - Fearing Automation(35:45) - What makes a good candidate?(42:33) - Senior vs Staff: Knowing The Job You want(47:23) - Starting A Career In Coding(55:51) - For Those Who Love Tech, But Not Coding(01:00:57) - How To Choose The Right Company(01:13:03) - Unpopular Opinions(01:13:48) - Chris' Unpop(01:16:10) - Dylan's Unpop(01:17:43) - Kris' Unpop(01:20:18) - Ian's Unpop(01:22:50) - Final Advice: Get A Recruiter (who cares about you)!(01:25:23) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Chris Allaire - Guest
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • Modern software development feels so complex. In this episode, Ian Wester-Lopshire is joined by Kris Brandow, Matthew Sanabria, and Angelica Hill to discuss complexity. They propose hypotheses for the root cause of complexity, explore the ways complexity affects our technology and organizations, and ponder if artificial intelligence can aid us in reducing complexity. As always, we've got some great unpopular opinions at the end.

    As always thanks for tuning in and happy listening!

    This episode is a pilot for a planned mini-series on complexity. We'd like to explore complexity deeper by having conversations with and interviewing a diverse set of people. Do you have thoughts about complexity, know someone who thinks deeply about this topic, or have something you'd like to add? Reach out to us on social media and let us know!

    Notes & Links:

    CPU.fmChangelog & Friends #77


    Chapters:

    (00:00) - Intro(00:31) - How are we doing?(01:24) - Where did complexity come from?(02:53) - Ian's Hypothesis(07:00) - Kris' (Hot Take) Hypothesis(14:38) - FAANG & Engineering Excellence(19:21) - Do better practices lead to complexity?(24:02) - The Cloud's enablement of complexity(24:39) - Some of the complexity is worth it(26:01) - Systems become more complex over time(27:33) - Moving Faster & Thinking Less(31:18) - Accidental complexity(31:47) - Where else does complexity surface?(32:03) - Human Organizations & Trading Complexities(37:46) - Documenting Decisions(38:20) - Hypoethsis: Bad information organization is the root of complexity(49:01) - Can AI be our librarian?(54:39) - Search is not a text box(55:57) - Machine learning for indexing(01:00:17) - Can AI write our code?(01:05:44) - Easy & Hard Learning(01:12:27) - Hypothesis: mixed and unclear terminology(01:14:46) - Concise Hyopthesis of Complexity(01:18:05) - Letters by mail?!(01:18:56) - Unpopular Opinions(01:19:14) - Matthew's Unpop(01:23:10) - Ian's Unpop(01:28:30) - Kris' Unpop(01:35:47) - Fallthrough & CPU.fm(01:37:39) - Complexity Mini-Series(01:38:26) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Matthew Sanabria - Host Angelica Hill - Producer
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • For years we've been told that everyone needs to learn to code. As career software people, what are our thoughts on this? Should you learn to code? Is coding the right career for you? In this first episode of a two part series, the panel discusses how they learned to code, whether they think everyone should learn to code, and of course they offer up some unpopular opinions.

    And if you're thinking, "I already know how to code", don't worry, this episode contains valuable advice for you as well.

    As always thanks for tuning in and happy listening!

    Notes & Links:

    Ben Eater's YouTube Channel (from 53:00)John Carmack's Fast Inverse Square Root (from 1:01:47)This is actually from Quake, not Doom.Change Interviews #581 It's Not Always DNS (from 1:04:15)


    Chapters:

    (00:00) - Intro(01:33) - How're we doing?(04:41) - Why did we learn to code?(06:10) - Why Kris learned to code(07:44) - Why Ian learned to code(08:54) - Why Dylan learned to code(10:36) - Why Matthew learned to code(14:22) - Computer Assembly Not Required(16:51) - Tangent: Why Are USB-C Cables?(17:36) - Should you focus on a specific language?(22:45) - Do you want to solve problems?(24:53) - Coding & Woodworking(27:09) - Curiosity & Itches that need scratching(31:07) - What do we mean when we say "code"?(32:34) - You should learn Excel(39:35) - Coding Is Configuring Computers(43:32) - Discrete Math, Not Binary(47:03) - Learn the low level stuff... eventually(53:42) - The desire to learn(57:41) - Sidequest: Networking(01:05:52) - Learning Design & Being Load Bearing(01:12:10) - Continual Learning(01:14:33) - What of AI and Automation?(01:21:49) - Share What You Learn(01:24:24) - Should You Learn To Code?(01:24:57) - Teaser: Episode 5 - Is Coding The Career For You?(01:26:02) - Unpopular Opinions(01:26:08) - Matthew's Unpop(01:28:51) - Ian's Unpop(01:29:29) - Dylan's Unpop(01:33:52) - Kris' Unpop(01:36:50) - Tangent: Chopper?(01:37:27) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • Gems are the things we love, and warts are the things we don't. On today's episode, Kris is joined by the hosting panel of Ian, Matt, and Dylan and they are talking about the gems and warts of Go. From defer, to net/http, to vanity URLs, to modules, we cover around 30 topics! To prevent our listeners/viewers from returning an E_TOO_MANY_UNPOPS error, we didn't include the Unpopular Opinions segment (there are plenty throughout the episode). We hope you enjoy this tangent filled episode. Have a gem or wart you agree/disagree with or think we missed a few? Let us know on social media or in the comments!

    Thank you so much for listening. Happy listening!

    Notes & Links:

    Chandler Carruth's CPPcon talk (from 40:44)Go x/tools/guru (from 43:36)Since deprecated, however this functionality is included in gopls.go/analysis (from 47:19)go/x/tools/cmd/eg (from 1:47:25)go/x/tools/refactor/egeg documentation

    Chapters:

    (00:00) - Intro(00:31) - Introductions(05:07) - Gem#1: net/http(07:37) - Gem#2: defer (gem)(09:36) - PEBKAC (tangent)(11:36) - Gem#3: if err != nil (gem)(16:09) - Gem#4: testing included (gem)(19:13) - Gem#5: struct field tags (gem)(21:57) - Gem#6: reflect & unsafe (gem)(24:35) - Gem#7: sync/atomic (gem)(24:54) - Gem#8: io as composeable interfaces (gem)(25:32) - Gem#9: No inheritance (gem)(31:20) - Gem#10: Vanity URLs (gem)(34:33) - Gem#11: single for loop (gem)(37:08) - Gem#12: pprof (gem)(38:25) - Gem#13: security by default (gem)(40:01) - Gem#14: fast compiler times (gem)(41:16) - Gem#15: go/ast & go/* packages (gem)(42:05) - Gem#16: implicit interfaces (gem)(42:38) - Wart#1: implicit interfaces (wart)(48:37) - Wart#2: slice tricks (wart)(54:10) - Wart#3: lack of method overloads (wart)(56:57) - Wart#4: covariance for array parameters (wart)(59:38) - Wart#5: encoding/json marshalling unexported fields (wart)(01:01:27) - Wart#6: encoding/json marshalling errors (wart)(01:02:31) - Wart#7: single letter variable names (wart)(01:08:45) - Wart#8: iota (wart)(01:16:09) - Wart#9: map operations (wart)(01:18:23) - Gem#17: structs as map keys (gem)(01:20:04) - Wart#10: main function signature (wart)(01:23:35) - Gem/Wart#1: channels (gem & wart)(01:30:38) - Wart#11: range loop variables (wart)(01:34:31) - Wart#12: no standard build system (wart)(01:38:09) - Wart#13: modules (wart)(01:53:18) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • Our experiences are what make us the software people we are today. In this episode, Kris is joined by the hosting panel of Ian, Matt, and Dylan and they're talking war stories. You'll hear tales of coworker frustrations, our own hubris, and plenty of weird software bugs. To close the episode out, Dylan, Ian, and Kris provide some unpopular opinions! Let us know on social media if you think their opinions are unpopular as they seem to think they are!

    Thank you so much for listening to our first episode. Happy listening!

    (00:00) - Introduction(00:43) - Talkin' Bout The Rain(01:39) - Dates, Times, and "Helpful" Platforms(14:17) - Y2K Flashback(16:20) - Non-Refreshing Refresh Tokens(21:53) - TCP, Locks, and Load Balancers(34:16) - tar != tar(39:52) - Bonus Story: Too Many Modules(43:58) - pprof to the rescue!(47:18) - netcat: the ultimate database backup tool(49:03) - The Perfect API (In Theory)(53:30) - Hubris and the ease of ETL(55:38) - Problems with Proactive Fixes(58:39) - Unpopular Opinions(59:00) - Dylan's Unpop(01:03:08) - Ian's Unpop(01:09:26) - Kris' Unpop(01:12:32) - Outro
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • Welcome to Fallthrough! In our first episode, properly numbered 0, we're discussing what this podcast is and many of the things we hope to discuss on future episodes of the podcast. If you loved Go Time, we hope that you'll love Fallthrough. Happy listening!

    (00:00) - Welcome to Fallthrough!(00:29) - What's in a name?(01:55) - A New Perspective(03:33) - Introduction: Ian Wester-Lopshire(04:02) - Introduction: Matthew Sanabria(05:43) - Introduction: Dylan Bourque(06:19) - From the prospective of Go(06:34) - Prospective Podcast Content: Dylan(07:46) - Prospective Topic: Other languages from the Go perspective(13:39) - Prospective Topic: The missing bits from the standard library(15:17) - Prospective Topic: The "Don't touch that!" parts of Go(19:04) - Prospective Topic: The No Build movement(23:21) - Prospective Topic: Removing old Go habits(23:47) - Prospective Topic: Union, Sum, or Option types(25:41) - Prospective Topic: Documentation, Code Readability, & Error Planning(32:16) - Prospective Topic: If, Else, Switch, & Strong Opinions(36:55) - Podcast format changes(38:19) - Things we're planning to keep(38:58) - Opinions of the unpopular variety(39:29) - Ian's Unpopular Opinion(40:56) - Matthew's Unpopular Opinion(43:08) - Dylan's Unpopular Opinion(45:31) - Kris' Unpopular Opinion(46:20) - Bonus: A Popular Opinion(47:06) - Wrap up
    Hosts Kris Brandow - Host Ian Wester-Lopshire - Host Dylan Bourque - Host Matthew Sanabria - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
  • We're hard at work preparing the first episode of Fallthrough, but in the meantime we put together a short trailer to tease some of that episode's content. Make sure to subscribe so you'll be notified when the first episode ships. Happy listening!

    (00:00) - Introduction(01:09) - Clip 1: The Unsafe & Reflect Packages(04:03) - Clip 2: Documentation & Errors(06:04) - Clip 3: Internet Speeds(07:16) - Outro
    Hosts Kris Brandow - Host Matthew Sanabria - Host Dylan Bourque - Host Ian Wester-Lopshire - Host
    Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram