Fallthrough cover image

Fallthrough

Latest episodes

undefined
Apr 7, 2025 • 1h 29min

APIs: Design Imperfectly, Improve Relentlessly

Jamie Tanna, a Co-maintainer of OAPI CodeGen, dives into the fascinating world of API design. He shares invaluable insights on building APIs—embracing mistakes and the iterative process. The discussion highlights the importance of flexibility and planning, addressing challenges like pagination and versioning. They advocate for continuous improvement and separating application layers for better functionality. Plus, Jamie humorously introduces the concept of 'unpop' and encourages self-reflection with the idea of creating a 'Manual of Me' for better team understanding.
undefined
Mar 31, 2025 • 1h 53min

What Even Is A Senior Software Engineer?

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 LemonsTable 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
undefined
Mar 24, 2025 • 1h 36min

Translating The Law for Software Engineers

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
undefined
Mar 17, 2025 • 1h 49min

Choosing, Expanding, & Evolving Communities

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 NightmaresTable 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
undefined
4 snips
Mar 10, 2025 • 1h 16min

An Exploration of APIs, Versioning, & HTTP

Jamie Tanna, a Senior Software Engineer at Elastic and co-maintainer of the OpenAPI2Go code generator, joins the conversation to dive deep into the world of APIs. He discusses the critical aspects of API design and the often-overlooked intricacies of versioning, including how to communicate breaking changes effectively. The role of documentation is emphasized, with Tanna advocating for a strategic approach to clarity and user experience. They also explore the complexity of HTTP status codes and the ongoing debate between XML and JSON in API interactions.
undefined
Mar 3, 2025 • 1h 54min

Tools We Love

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 SKADISChapters:(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
undefined
7 snips
Feb 24, 2025 • 1h 35min

Ghosttying Go

Mitchell Hashimoto, co-founder of Hashicorp and creator of Vagrant and Terraform, joins the discussion to unveil Ghostty, an innovative terminal emulator. He shares insights about its development challenges and the importance of community feedback. The conversation also dives into the Zig programming language, highlighting its advantages over Rust and Go. Hashimoto reflects on the evolving identity of Go amidst generics, urging a focus on creativity in programming languages. Plus, they explore the significance of contributing to open source projects and the power of expressing unpopular opinions.
undefined
Feb 17, 2025 • 2h 7min

Patching Problems with Persnickety Proxies Purveyed by Paternalistic Princes

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
undefined
Feb 10, 2025 • 1h 6min

What's New In Go 1.24?

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
undefined
Feb 3, 2025 • 1h 26min

Navigating A Career In Tech

Chris Allaire, Owner and CEO of Averity, brings nearly 30 years of tech recruiting expertise to the table. He dives into the vital traits that make a standout candidate and debates the future of recruiting in an AI-driven world. The conversation explores the evolution of tech recruiting, emphasizing personal connections and genuine communication over mere qualifications. Allaire also shares insights on navigating engineering roles, the importance of adaptability, and choosing a recruiter who genuinely cares about candidates' success.

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner