080 - Organizing Rails Code Outside of Active Record with Dave Copeland, Author of Sustainable Rails
In this episode I talk with Dave Copeland, author of Sustainable Web Development with Ruby on Rails, about organizing Rails code. Dave and I discuss why although many Rails developers are used to it, putting code in Active Record models isn't always the best move. We also share the various tactics we prefer to use in order to keep Rails code organized.
079 - Dockerizing Rails Applications with Mike Rogers, Founder of TypoCI
In this episode I talk with Mike Rogers about how to Dockerize Rails applications. We talk about the difference between Dockerizing for development and Dockerizing for production, mount volumes, performance trade-offs, and more.
078 - StimulusReflex with Jason Charnes
In this episode I talk with Jason Charnes about StimulusReflex. Jason and I cover what StimulusReflex is as well as some of the core concepts of the technology.
077 - Courier Configuration Manager with Yoseph Radding
In this episode I talk with Yoseph Radding, founder of Shuttl, about Courier Configuration Manager.
076 - Heuristics for Object-Oriented Design in Ruby with Tyler Williams
In this episode I talk with Tyler Williams, Software Engineer at Home Game Poker, about the contents of a blog post he recently wrote entitled Heuristics for Object-Oriented Design in Ruby. Tyler and I discuss some of the ideas in his blog post, most of which came from Sandi Metz's book Practical Object-Oriented Design in Ruby (POODR).
075 - Puma, Front-End Performance and CLI Apps with Nate Berkopec
In this episode I talk with Nate Berkopec, author of The Complete Guide to Rails Performance. Nate and I discuss Puma, front-end performance and building command-line interface (CLI) apps.
074 - Molly Struve, Site Reliability Engineer at Forem (Dev.to)
In this episode I talk with Molly Struve, Site Reliability Engineer at Forem, about a variety of topics including performance, monitoring, types of incidents, dividing time between incident response and preventative work, and, of course, horses.
073 - [How I'd Build It] Building a Sailing Membership Feature with Adam Hawkins
This is another How I'd Build It episode, where listeners send in their feature requirements and we discuss them on the show. In this one we talk about a sailing application where there's a need to keep track of whether members' payments are up-to-date. Adam and I also talk about the YAGNI principle as well as why it's not possible to have high-quality code without tests.
072 - Release Toggles, Feature Branches and Continuous Deployment with Matt Swanson
It's commonly accepted that it's better to deploy frequently than to only deploy once in a while. However, an obstacle to achieving this ideal is when you have a long-running feature that can't be released until it's all the way done. In this episode Matt Swanson and I talk about the solution to this problem: release toggles, also known as feature flags.
071 - Stripe Checkout with CJ Avilla, Developer Advocate at Stripe
In this episode I talk with CJ Avilla, Developer Advocate at Stripe about integrating Stripe with web applications using Stripe Checkout. We also digress into mechanical keyboards and the challenges of keeping APIs up to date.
070 - Determining What Tools You Need with Adam Hawkins
In this episode I talk with Adam Hawkins about determining what tools you need for a project. Where should you host? Should you use Docker? Kubernetes? Ansible? We touch on some general DevOps principles along the way.
069 - [How I'd Build It] How Noah Gibbs Would Build My Scheduling Feature
In this episode I put Noah Gibbs on the spot and ask him how he'd build a certain doctor scheduling feature that I had to build for a real production application.
068 - Dave Ceddia, Author of Pure React
In this episode I talk with Dave Ceddia, author of Pure React. Dave and I talk about some of the fundamental concepts of React, common libraries used with React, and how persistence and HTTP communication typically work in React apps.
067 - Rails, Ansible and AWS with Axel Kee, Author of RubyYagi.com
In this episode I talk with Axel Kee about Ansible. Axel hosts his Rails application on AWS using Ansible as an infrastructure management tool, and so do I, so Axel and I compared notes on our respective setups. We also raised a recurring topic on the podcast: goats.
066 - Tom Rossi, Co-Founder of Buzzsprout
In this episode I talk with Tom Rossi, co-founder of Buzzsprout, about his entrepreneurial story. We talk about Tom's agency, Higher Pixels, and the products that grew out of that agency, including the podcasting platform Buzzsprout and the healthcare-related product StreamCare.
065 - [How I'd Build It] Poker Turn Enforcement with Tyler Williams, Software Engineer at Home Game Poker
In this How I'd Build It episode I talk with Tyler Williams about an interesting challenge in an online poker program. Tyler and I discuss what would need to happen in order to ensure that a player only gets a specific amount of time on his or her turn without the player being able to cheat the system. We talk not only about the technical implementation but also the costs of preventing cheating relative to the likelihood that someone would have the willingness and ability to cheat.
064 - [How I'd Build It] Third-Party API Interaction with Trae Robrock
In this episode, the first "How I'd Build It" episode, my guest Trae Robrock and I discuss a listener question about interacting with the Active Campaign API. Trae and I touch on testing, VCR, service objects, Interactors, and our general approaches for dealing with third-party APIs.
063 - Turning Around Legacy Projects with Robby Russell, CEO of Planet Argon
In this episode I talk with Robby Russell, CEO of Planet Argon, about improving legacy codebases. Robby and I discuss the "we'll fix it later" fallacy, whether to sacrifice quality for speed, the value of having a test suite, and Robby's and Jason's bands.
062 - Database Views with Mark Hutter, Lead Engineer at Landing
In this episode I talk with Mark Hutter, Lead Engineer at Landing, about database views. Mark and are discuss what views are, in what scenarios you'd use them, how we handle database modeling in general, and other topics.
061 - SRE and Incident Response with Erin Dees, Principal Software Engineer at Stitch Fix
In this episode I talk with Erin Dees, Principal Engineer at Stitch Fix, about Site Reliability Engineering. Topics discussed include being on-call, incident response, SLAs and SLOs, incident severity levels, recovering from incidents, and more.
060 - Andy Croll, Organizer of Brighton Ruby Conference and CTO of CoverageBook
In this wide-ranging episode I talk with Andy Croll about tech conferences, living in Singapore, spicy food, Andy's employer CoverageBook, and legacy code.
059 - Keeping Rails Apps Organized with Tim Canty, Senior Software Engineer at VTS
In this episode I talk with Tim Canty, Senior Software Engineer at VTS, about keeping Rails applications organized as they grow. Topics discussed include Plain Old Ruby Objects (POROs) and where to put them, Jason's enduring antipathy for service objects, and the pros and cons of using gems as a tactic for keeping code organized.
058 - Talking Technical Blogging with Ross Kaffenberger
In this episode Ross Kaffenberger and I talk about technical blogging. We discuss the benefits that blogging can bring to your career, how to get started, and whether you need to wait until you're an expert to start blogging.
057 - Matt Swanson, Creator of Boring Rails
In this episode I talk with Matt Swanson, creator of Boring Rails, about SPAs vs. traditional Rails apps, ways of structuring model code, POROs, service objects, Interactors, the merits of FormBuilder, and some other stuff.
056 - Rails Deployment using Docker and Kubernetes with Cameron Dutro
In this episode I talk with Cameron Dutro, software engineer at quip, about deploying Rails applications using Docker and Kubernetes. Cameron has built a tool called Kuby which helps with Rails/Kubernetes deployment.
055 - When NOT to use Rails with Noah Gibbs
In this episode I talk with Noah Gibbs about when NOT to use Rails. We also talk about aliens, cephalopods, and several other pertinent topics.
054 - Third-Party APIs, Refactoring and Roller Derby with Brittany Martin
In this episode I talk with Brittany Martin, Lead Web Developer at the Pittsburgh Cultural Trust and host of the 5x5 Ruby on Rails Podcast. Brittany and I talk about working successfully with poor-quality APIs, whether to extract application code into gems or not, and, of course, roller derby.
053 - Tim Cheadle, Director of Engineering at Resolve to Save Lives
In this episode I talk with Tim Cheadle, Director of Engineering at Resolve to Save Lives. Tim and I discuss the app Tim works on, called Simple, which helps healthcare professionals in India and elsewhere manage hypertension patients' needs. We also talk about scaling issues and usability testing.
052 - Debugging Techniques with Chelsea Troy
In this episode I talk with Chelsea Troy regarding the debugging techniques she shared in her recent RailsConf talk, "Debugging: Techniques for Uncertain Times". Chelsea and I talk about "progress mode" vs. "investigation mode", binary search, tests as scientific experiments, and, naturally, outer space.
051 - Developer Productivity with Itamar Turner-Trauring
In this episode I talk with Itamar Turner-Trauring, author of The Secret Skills of Productive Programmers. We share a number of productivity tips including don't get stuck, don't work long hours, implement the riskiest part first, write down what you're working on, and much more.
050 - DevOps for Beginners with Adam Hawkins
In this episode I talk with DevOps expert Adam Hawkins, who also appeared in episode 49. Adam and I talk about what DevOps is and how you can use DevOps principles to deliver better software faster.
049 - Testing Your Deployment Pipeline with Adam Hawkins
In this episode I talk with Adam Hawkins about the concept of not just testing your application code, but testing your deployment pipeline so that you mitigate the risk of running bad deploys that take your site down.
048 - Chad Pytel, Developer and CEO at thoughtbot
In this episode, packed with nuggets of wisdom, I talk with thoughtbot CEO Chad Pytel about the meaning of the terms "code quality" and "bad code", the ways in which poor-quality code comes into existence, how to add tests to a codebase that doesn't have much test coverage, and much more.
047 - Discussing Rails Deployment and Hosting Options with Nate Berkopec
In this episode I talk with Ruby performance consultant Nate Berkopec. This time Nate and I talk not about Rails performance but about hosting options for Rails including Heroku, Convox and bare AWS. We also touch on infrastructure management tools like Kubernetes, Terraform and Ansible.
046 - Tips for Working with Legacy Code with Nicolas Carlo
In this episode I talk with Nicolas Carlo, creator of UnderstandLegacyCode.com, about working with legacy code, adding tests to legacy code, how to safely make changes to legacy applications, and more.
045 - Jeff Geerling, Author of Ansible for DevOps
In this episode I talk with Jeff Geerling, author of Ansible for DevOps. Jeff and I talk about what Ansible is and why you would want to use it, some alternatives to Ansible and how Ansible is different, my experiences and Jeff's experiences with using Ansible, and much more.
044 - Cameron Gray, Co-Founder of Convox
In this episode I talk with Cameron Gray about Convox which is a free, open-source tool to assist with deploying applications to various cloud platforms. Cameron and I talk about how Convox works under the hood and how to get started with Convox for deploying an application. Technologies we touch on include AWS, Elastic Beanstalk, ECS, Docker and Kubernetes.
043 - AWS Lambda with Ken Collins, Staff Engineer at Custom Ink
In this conversation I talk with Ken Collins about what Lambda is, what use cases it's good for, why they started using Lambda at Custom Ink, and much more.
042 - Docker and Kubernetes with Kelsey Hightower
In this episode I ask Kelsey all kinds of noob questions such as "Under what scenarios should I use Docker?", "How does Kubernetes relate to Docker?" and "Can I borrow your toaster?" This is a great one for people who, like me, still have a hard time wrapping their head around Docker and K8s.
041 - Frank Rietta, Founder & CEO of Rietta.com
In this wide-ranging discussion about Rails security Frank and I talk about the security value of keeping gems updated, the security risk of infrequent deployment, state-sponsored hacking, and much more.
040 - Active Storage, CDNs and Image Performance with Mark Hutter, Lead Engineer at Landing
Mark and I talk about Active Storage, CDNs (including what one is and why you would use it), image performance, RailsConf, the Birmingham on Rails conference, and more.
039 - Talking Software Consulting with Justin Searls, Co-Founder of Test Double
In this conversation Justin and I talk about our respective experiences in software consulting, the different types of consulting/agency work, and how to get started in consulting.
038 - Andy Leverenz, Creator of Hello Rails
In this episode Andy and I talk about learning Rails, Tailwind CSS, graphic design, usability testing, entrepreneurial mistakes, and more.
037 - Server Infrastructure, systemd, and the Business Side of Sidekiq with Mike Perham
Me and Mike start with a detailed discussion of how systemd and systemctl work in Linux, then transition into server infrastructure in general, then finally we talk about the business side of Sidekiq.
036 - Jason Gedge, Staff Production Engineer at Shopify
In this episode I talk with Jason Gedge, Staff Production Engineer at Shopify, about Shopify's Rails monolith.
035 - [Solo Episode] How to Write a Test When the Implementation Isn't Obvious
In this solo episode I explain how to write a test when the implementation isn't obvious.
034 - David Bryant Copeland, Author of Sustainable Web Development with Ruby on Rails
It's a challenge to keep projects organized as they grow and to sustain a high level of productivity. In this episode me and David Bryant Copeland talk about techniques we've used to accomplish this. Among other things, we discuss presenters/decorators/facades, service objects, OOP vs. procedural, and monoliths vs. microservices.
033 - How to Speak at Conferences with Karl Hughes, Creator of CFP Land
Speaking can be a really effective way to advance your programming career. In this episode me and Karl Hughes both share our advice for landing speaking gigs at conferences and local meetups.
032 - Test Desiderata with Kent Beck and Kelly Sutton
I talk with Kent Beck and Kelly Sutton about their recent video series, Test Desiderata.
031 - Noah Gibbs on His New Book, Mastering Software Technique
Noah is working on a new book called Mastering Software Technique. In this episode Noah and I talk about his book, parallels between visual art and programming, French loanwords, and European history.
029 - AWS Deployment with Andreas Wittig
Me and Andreas talk about various AWS deployment options including EC2, Elastic Beanstalk, Heroku (which uses AWS under the hood), ECS, Packer, Fargate, Ansible, Chef, and more!
028 - Sandi Metz, Author of POODR (with Special Guest TJ Stankus)
Sandi, TJ and I talk about OOP in Rails; Java and COBOL; service objects and Interactors; getting bitten by snapping turtles; and Sandi's 11 bicycles.
027 - Ben Orenstein's Entrepreneurial Journey
In this episode I talk with Ben Orenstein about his entrepreneurial journey.
026 - Adam McCrea, Creator of Rails Autoscale
Me and Adam talk about his Rails origin story, his team's working style at You Need a Budget, 37signals advice, Adam's product Rails Autoscale, testing, and more.
025 - Jessica Kerr
In this episode me and Jessica talk about documentation, working with large systems, and how we write tests.
Taking a break - see you in 2020
Taking a break from releasing episodes for a few weeks.
024 - Michael Hartl, Author of The Ruby on Rails Tutorial
I talk with Michael about various miscellaneous topics including evolution, Stephen Hawking, Tau (a number equal to two times pi), Michael’s time in Y Combinator, and Michael’s experience developing the Ruby on Rails Tutorial.
023 - Rails and Docker with Julian Fahrer
In this episode, Julian Fahrer and I talk about using Docker with Rails.
022 - Talking Raspberry Pi with Colleen Schnettler
In this episode, Colleen Schnettler and I discuss Raspberry Pi, ship valves, freelancing, programming with kids, and Colleen's new Rails screencast series.
021 - Nate Hopkins, Co-Founder of CodeFund
020 - Rails Upgrades with Ernesto Tagwerker
Ernesto is back and this time we're talking upgrading Rails, speaking at conferences, how to find freelancing clients, and how to assess code quality.
019 - Charles Nutter and Tom Enebo, Co-Leads of the JRuby Project
Charles and Tom, co-leads of the JRuby project, explain what JRuby is, how it works and who it’s for. Our guests also patiently answer Jason’s numerous and excruciatingly fine-grained questions. Charles and Jason also discuss their respective endeavors for spicy food during their international travels.
018 - Andrew Culver, Creator of Bullet Train
Andrew and I got together to discuss his software Bullet Train, service objects, POROs, and the value of code testability.
017 Benedikt Deicke, Co-Founder of Userlist
On today's episode, Benedickt Deicke and I discuss Ember + Rails as an architecture choice, starting a software project from scratch, some of our past failed business attempts.
016 - Richard Schneeman
Richard Schneeman and I discuss his job with Heroku, rate limiting, inventions, refrigeration, peas, and the overlaps between mechanical engineering and coding.
015 - Mike Perham, Creator of Sidekiq
Me and Mike discuss, among other things, good use cases for Sidekiq, deploying Sidekiq to production, and side topics like what the JVM is and what threads are.
014 - A Completely Unfocused and Utterly Mind-Blowing Conversation with Noah Gibbs
Noah and I got together for a conversation about his book Rebuilding Rails and then immediately digressed into a series of fascinating rabbit holes about the history of coding and computers themselves.
013 - Rails Performance with Nate Berkopec
I talk with Nate Berkopec about common Rails performance issues. Nate also explains what the heck threads and connection pools are.
012 - Transitioning from Freelance to Products with Mike Buckbee
Mike Buckbee, founder of Expedited Security returns and we discuss how we transitioned from freelance work to building our own products.
011 - Two Docker Noobs Talk About Docker - with Andrew Mason
In this episode I drag my friend Andrew Mason through a long, rambling, undisciplined discussion of a number of things including me and Andrew's respective experiences with Docker.
010 - Vim Tips with Trae Robrock
Trae Robrock returns and we share our favorite tips, tricks, and plugins for working in Vim.
009 - Freelancing and Entrepreneurship as a Programmer with Mike Buckbee
Mike Buckbee, founder of Expedited Security, and I talk about our how we approach entrepreneurship, what we've learned, and why you shouldn't listen to our advice.
008 - Maintaining Large Rails Applications with Ernesto Tagwerker
In this episode, Ernesto Tagwerker and I discuss how we approach working on large Rails applications, methods for writing useful tests in a large application setting, and we extend an invitation to join us for some Nashville hot chicken in August at Southeast Ruby.
007 - How to Find a Job with Charles Max Wood
Charles Max Wood and I discuss how to create, grow, and leverage the relationships you need to get the work you want as a programmer.
006 - Me and Trae Robrock Share Our Favorite Debugging Tips
Me and Trae Robrock share all our favorite debugging tips.
005 - Vladimir Dementyev and I Discuss Contributing to Rails
Vladimir Dementyev and I discuss the hows, whens, and whys of contributing to Rails and other open source projects.
004 - Webpacker with Prathamesh Sonpatki, Director at BigBinary
003 - Rails Security with Frank Rietta
Today, Frank Rietta and I discuss common application vulnerabilities from the OWASP Top Ten and basic steps you can take to secure your Rails code as part of your development process.
002 - Stimulus and Webpacker with Noel Rappin
In today's episode, I talk to developer and author Noel Rappin about Webpack, Webpacker, and Stimulus.
001 - Ben Orenstein, Co-Founder of Tuple
On my premiere episode, I talk with Ben Orenstein about refactoring, forms in Rails, the pros and cons of inheritance, levels of abstraction, and ActiveRecord callbacks.