Three Rubyists having conversations and interviewing others about Ruby and web development.
Similar Podcasts
Flutter 101 Podcast
Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.
The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
Decoding Postgres: A Journey Through User-Friendly Database Experiences with Craig Kirsten & Tom Kincaid
Get ready to embark on a captivating journey into the world of databases with our esteemed guest, Craig Kirsten, a 12-year veteran of working with Postgres. From an unplanned stint as product manager for Heroku Postgres to the unique challenges he faced in marketing the platform to developers, Craig's story is as intriguing as it is enlightening. But hold on, we don't stop there! We're also joined by Tom Kincaid, an expert in the field of database management, who gives us a sneak peek into the evolution of platforms like Heroku, Citus, and Crunchy.Fasten your seat belts as we navigate through the terrain of user-friendly database experiences, the evolution of language in the tech industry, and the sometimes-dreaded realm of Postgres among developers. Do you ever wonder what makes a database experience user-friendly? Or perhaps you're curious about tightening security for your databases and the role of a solid database checklist for production? We're on hand to guide you through these essential topics, alongside insights into the importance of multi-tenancy in databases, and how a well-thought-out strategy can make all the difference.But that's not all! We have a special treat for all you cocktail lovers out there - a delightful chat about our favorite Tiki bars, because who doesn't enjoy a good drink while contemplating databases? So, join us for an episode packed with technical insights, practical advice, and a dash of fun. Whether you're a tech aficionado or curious about how language evolves in the tech industry, this episode has something for everyone. Tune in and quench your thirst for knowledge (and perhaps a cocktail too)!Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Unleashing the Power of Postgres with Andrew Atkinson
Ever wondered why a seasoned software engineer would transition into becoming an author? Meet our guest for today, Andrew Atkinson, a software veteran who is about to launch his book focusing on database operations for Rails developers. Andrew's rich 15-year career as a software engineer has culminated in this exciting new venture, as he peels back the layers of database operations, specifically in the Ruby on Rails landscape. In our lively discussion, we delve into the heart of relational databases - comparing the merits of Postgres and MongoDB, and when to use one over the other. Andrew demystifies the assumption that one necessarily needs multiple databases, discussing how Postgres could be potentially used as a catch-all solution. Not stopping there, we journey through the thorny terrain of data synchronization challenges across multiple databases and the treasures of transactional consistency. Finally, we discuss the importance of performance optimization in Rails applications and the role of database internals. Andrew dispenses nuggets of wisdom on how to optimize Rails performance and database queries. We also talk about the benefits of strict loading in active record - a key player in avoiding the notorious n plus one query problem. Wrapping up our discussion, Andrew guides us to the Pragmatic Bookshelf where his upcoming book awaits all keen Rails developers. So, lean in and listen, as we uncover layers of database operations that could dramatically level-up your projects.Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Scaling Buzzsprout: A Deep Dive into Podcast Hosting, CDN, Rails, and Business Happiness with Tom Rossi
What does it take to scale a successful podcast hosting platform and maintain happiness in a SaaS business? Join us as we unravel this mystery with our special guest, Tom Rossi, co-founder of the popular podcast hosting service, Buzzsprout. Tom gives us the lowdown on the inception and growth trajectory of Buzzsprout since its launch in 2008, shifting gears from client services to product creation, and their commitment to simplicity and a user-friendly experience.Brace yourselves as we zoom into the world of Ruby on Rails and its pivotal role in product development. Anecdotes of starting out with Rails 1, a transformative Basecamp workshop, and the challenges of developing a podcast hosting platform form the crux of our discussion. As we journey through the evolution of Rails, we shed light on the associated issues, like caching problems, that surfaced with the rise of podcasting.As we navigate the labyrinth of CDN and storage in web development, we expose the ripple effects of changes to these systems on other services and partners. Our narrative also spotlights the delicate balance between having a clear opinion about your product and making your customers happy. Hear us out as we stress the significance of optimizing happiness - both for founders and the team - and the freedom of decision-making that comes with being privately funded. This is an episode you won't want to miss for an in-depth understanding of the complexities of managing CDN, storage, and the intersection of opinion and happiness in business.Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.BuzzSprout Podcast Hosting Made Easy.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Unlocking the Power of State Machines in Code Development with Elise Schaefer
Welcome to a lively conversation where we turn the spotlight on the oft-overlooked powerhouse of web development - state machines. We'll share our insights, experiences, and the reasons why we think state machines are the secret sauce to simplifying complex logic. If you've ever felt bogged down by the complexity of transitioning systems between states, you're in for a treat as we illustrate how state machines can be your knight in shining armor in the realm of code development and maintainability.We're thrilled to welcome Elise Schaefer, our new podcast host, who has stepped into her role with immense enthusiasm and a deep passion for Ruby. She brings with her a fresh perspective and an eagerness to shape engaging conversations with members of the Ruby community. As she doffs her hat to the well-structured platform left behind by Brittany Martin, Elise also shares how she's tweaking it to align with her style. So, what's the magic formula to recognize the need for a state machine? We believe the answer lies in the presence of state in a database column or the use of enums. Listen as we traverse through the use of timestamps and callbacks in state machines and how they capture crucial nuances in the code. We also share our excitement on the immense potential of future changes in languages and how this could revolutionize web development. So, buckle up and join us on this exciting adventure as we unravel the power of state machines and the future of programming.Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Rails World 2023 Recap & Rails Foundation Plans with Amanda Perino
In this episode, Jason, Chris, and Andrew welcome guest, Amanda Perino, ExecutiveDirector from the Rails Foundation. Today, they discuss their experiences at RailsWorld, touching on the importance of community enthusiasm and the benefits of in-person events. Amanda shares how the Rails Foundation coordinated Rails World andmanaged feedback, with a special mention of the EventStack team. They highlight thecustom design elements of the conference and the speaker experience. Amandaemphasizes the significance of having a strong team, and they discuss the decision tohost the next Rails World 2024 in Toronto and the potential for future rotations to diverseregions. There’s also a conversation about the importance of communal spaces fornetworking at conferences, and they touch on documentation improvements and theneed for technically knowledgeable contributors.Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Turbo Morph & ActiveRecord Encryption with Jorge Manrubia
In this episode, Jason and Chris welcome guest, Jorge Manrubia, a Lead Programmer at 37signals in Spain known for his contributions to Ruby on Rails. Today, Jorge shares insights into his background, role at 37signals, and contributions to open source projects. He discusses his experiences, including the importance of learning from rejection and the value of experience in job interviews. The conversation dives into Jorge’s work on Active Record Encryption and Console1984, and Jorge touches on the development of Turbo, with a particular focus on enhancing user interface fidelity in calendar applications using morphing. Also, they discuss the challenges of using Turbo Streams for complex updates and the benefits of using libraries like morphdom or Idiomorph for simplifying the update process. Jorge also gives us a glimpse into the upcoming release of Turbo 8, so press download to find out more! Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Live at Rails World 2023
In this live afterparty episode from Rails World 2023, Jason, Chris, and Andrew are joined by Andy Croll, Robby Russell, William Kennedy, and Jason Cheal. Today, they discuss various aspects of the Rails World conference, sharing experiences and loads of humor. With each guest, they have conversations about their conference experiences, Ruby confessions, and the vibrant Ruby community. Also, they explore the behind-the-scenes work of core contributors to Ruby on Rails and discuss the significance of awards and recognition in the Ruby world.[00:00:46] Andy talks about his favorite part of Rails World which is the joy of not having to travel across the Atlantic for a Ruby event and he can simply attend this one.[00:01:40] Chris won an award and he’s trying to figure out how he’s going to take the giant check home, and he jokes about having a wall of giant checks at home. [00:02:24] Andy suggests using Honeybadger and they thank Buzzsprout for their support and comment on the quality of the podcast hosting service. [00:02:49] Andrew mentions the great talks from Chris and Jason, and Chris talks about his experience presenting at the conference and the challenges of staying within the time limit. Jason tells us about his presentation gags and creating presentations with humor. [00:04:46] What was everyone’s favorite part of the conference? Chris talks about enjoying talking to people, attending their talks, and Remote Ruby stickers. They all mention the venue was impressive, and how they enjoy Amsterdam, the food, and friendliness of the people. Also, next year it will take place in Toronto. [00:07:34] Jason shares an unconventional life hack involving airport parking. [00:09:52] Robby Russell arrives and describes the conference as inspirational and asks Jason what he learned from the Rails Core team. [00:11:27] Robby discusses the goal of the panel was to show that anyone can contribute to projects like Ruby on Rails without a computer science degree, and he talks about the large number of project contributors and audience interaction. Chris expresses appreciation for core contributors’ work behind the scenes.[00:13:51] The panel discusses awards and Ruby Heroes. Robby talks about his contact with Rick Olson (technoweenie) and his contributions to Z shell and “Oh My ZSH!” and he talks about his band “The Mighty Missoula” and recording a new album.[00:19:24] William Kennedy is joining us now and they discuss his famous blog post on Single Page Applications (SPAs). They discuss the satisfaction of coding humor and how frustrating errors can be.[00:23:43] The conversation takes a turn towards sharing Ruby confessions, starting with William’s early metaprogramming mistake. Chris recalls a Python experience related to metaprogramming and potential security issues. [00:25:11] William shares how he won the ticket to Rails World 2023, and he shares his appreciation for the banter and personal stories shared on Remote Ruby. [00:26:41] Vladimir Dementyev joins us and gives a signed copy of his book, Layered Design, to Chris. [00:29:18] Chris discusses his role as a luminary and his contributions to the Ruby community. [00:30:39] Julian Cheal, a Rails developer from Bath, joins us and shares his experiences attending Ruby conferences in Romania and Amsterdam. He confesses to writing bad code when using Sonic Pi and DRb to send MIDI data to instruments. Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.BuzzSprout Podcast Hosting Made Easy.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
DHH on Rails World 2023 & Rails 7.1
In this episode, Jason and Chris welcome DHH, who joins them after the recent Rails World event. They cover a wide range of topics from the Rails Foundation’s mission to attract new talent to open source misconceptions, the value of open source contributions as gifts, and the importance of boundaries between contributions and vendor relationships. DHH shares insights into his current projects, including “Prop Shaft” and “Skiff,” addressing deployment challenges and building static sites. [00:00:29] DHH describes the incredible energy and positive atmosphere at Rails World, emphasizing the importance of in-person gatherings. [00:05:02] A discussion comes up about the foundation’s role in supporting open source and attracting sponsors like Shopify for the benefit of both the community and businesses.[00:11:54] DHH talks about the misconception that open source is primarily about unpaid labor and how it’s important to avoid becoming an unpaid employee.[00:15:47] DHH announced in his keynote at Rails World seven new things coming out and he tells us some he most excited about.[00:20:00] DHH describes the development journey from initial concept to validating in production applications, extracting into a library or framework, and ultimately making it the default for broad use. [00:22:12] Jason asks about the static site work that DHH is thinking about, and he introduces a project he’s working on called “Skiff,” built on top of Kamal for deploying static sites.[00:26:28] Chris brings up a question about when to build your own solutions or use existing ones, and DHH highlights that it depends on the domain and the impact it has on daily work. [00:29:30] DHH talks about the problems with the existing job running solution, Resque, and the need to maintain multiple gems to patch it. [00:34:46] Jason brings up Webpacker and DHH discusses his frustration with complex bundling systems like Webpacker and his eagerness to simplify them. [00:36:02] Chris talks about the concept of finding the right abstraction layer where there’s a balance between providing a simple interface and allowing users to dig deep into specific features when necessary.[00:38:32] The importance of recognizing fundamental improvements like esbuild and adopting them is highlighted.[00:40:59] The conversation shifts to the maintenance of separate frameworks like Hotwire and Kamal, and the question of separate maintainer teams and regular Rails releases is brought up.[00:43:55] DHH describes Hotwire as a “two and a half party” with substantial development happening with Basecamp but contributions from a considerable external community.[00:45:14] DHH talks about the evolving nature of projects like Turbo and the need for experimentation to address real-world issues.[00:50:37] We end with DHH highlighting the inherent tension between project creators and users and clarifies that not all open source projects operate as democracies. Links:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterDHH TwitterRails World 2023 Opening Keynote-David Heinemeier Hansson (YouTube)The Rails FoundationHoneybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
Live with Adam Wathan at Rails World 2023
In this episode, Jason, Chris, and Andrew are live at Rails World 2023 in Amsterdam, where they are joined by Adam Wathan, creator of Tailwind CSS. Today, they discuss the well-organized event, their excitement about being part of the Rails community, and Adam’s talk on making the most of Tailwind CSS for Rails developers. The conversation dives into topics like using Inertia with Rails, the challenges of creating accessible components, and the management of open source projects, all while shedding light on the nuances of web development. They also explore the pros and cons of using React and Vue.js in their projects, highlighting the flexibility and evolution of these frontend technologies. Press download now to hear much more! [00:01:01] Adam talks about being at his first-ever Rails conference he’s attending.[00:02:00] Adam discusses “Tailwind Connect,” an event that started as a team retreat and grew into a successful meetup. [00:04:38] Jason asks about Adam’s upcoming talk at the conference. He discusses the content of his talk, focusing on helping Rails developers make the most of TailwindCSS.[00:06:19] Jason inquires about using Laravel with Inertia, and Adam explains the benefits of Inertia, including how it preserves the monolithic feel of Rails while using React or Vue for the view layer. [00:10:46] Chris and Adam discuss the history and challenges of using Inertia in Rails and its potential advantages. They talk about the limitations of web components and styling issues when using Tailwind CSS.[00:13:50] Adam discusses the need for unstyled primitives with Stimulus or similar solutions to support keyboard navigation and accessibility, and the complexities of handling various scenarios and the need for continuous maintenance.[00:16:07] Chris appreciates the high quality of Tailwind CSS, and they discuss the challenge of managing criticism and maintaining high standards for open source projects. [00:19:02] Adam shares the company’s high standards for quality and handling GitHub issues, the ideal number of GitHub issues, and the importance of triaging effectively. [00:21:15] We hear how issues are categorized, including bug reports and feature requests. Chris and Adam discuss how to handle feature requests in GitHub repositories. The conversation shifts to the challenges of managing open source project, including handling issues and feature requests. [00:27:29] The discussion turns to implementing interactive frontend components without React, focusing on accessibility and keyboard navigation, and Adam brings up the “curse of React.” Then, Adam discusses the challenges of building frontend components in the context of a Rails project. [00:33:32] The conversation shifts to a comparison of React and Vue.js and why Adam leans towards using React in recent projects. Adam explains that his shift towards react began when they needed interactive components for Tailwind UI and React was chosen due to better support and expertise in the team. [00:35:35] Adam discusses the benefits of creating smaller components in React compared to Vue due to lower extraction costs. He also touches on the evolution of the React and Vue ecosystems, where it appears that Vue often follows in Reacts footsteps. [00:39:42] How much Laravel does Adam get to do these days? Adam mentions that while he doesn’t work with Laravel much these days, it is still the main technology for their primary web app. [00:41:38] Adam expresses his excitement about being a part of the Rails community, despite having written his first line of Rails code only recently. He appreciates the influence Rails has had on him and mentions how Rails played a crucial role in his journey of learning
Layered Rails Design with Vladimir Dementyev
In this episode, Jason and Andrew are joined by guest, Vladimir Dementyev of Ruby on Rails and Evil Martians fame. Today, they touch on Vladmir’s new book on designing Rails applications, and dive into the importance of sticking to Rails principles, even in the era of microservices. Vladimir shares insights on working as a consultant on legacy Rails projects and the challenges that can arise when codebases deviate from Rails conventions. We’ll also explore the evolution of Rails applications, the power of open source contributions, and Vladimir’s journey to becoming a recognized figure in the tech community. Also, Vladimir introduces AnyCable, a performance-oriented solution for real-time communication in Rails applications and provides insights into its capabilities and evolution. Hit download now to hear much more! [00:02:29] Vladimir briefly describes his book on designing Rails applications. [00:05:40] Vladimir talks about sticking to Rails principles and not injecting foreign patterns into Rails applications and emphasizes the importance of maintaining a Rails oriented approach even when using microservices. [00:08:33] We hear about Vladimir working as a consultant on legacy Rails projects and the challenges of maintaining codebases that deviate from Rails principles. [00:10:29] Jason asks for more examples of where the Rails framework ends and developers have to steer their own course. Vladimir discusses the structure of the app folder in Rails applications and mentions the trend of putting everything in the model folder, and he talks about how Rails applications changed during the API-only era, leading to a shift away from Rails conventions and MVC patterns. [00:13:41] Andrew expresses how he feels vindicated for sticking to writing Rails apps even when the trend shifted towards API-only development. [00:15:08] Vladimir shares his journey to joining Evil Martians, starting as a solo developer, and his attraction to the simplicity of Rails. He mentions his experiments with different design patterns and how joining Evil Martians provided a collaborative environment for open source work. [00:19:15] Vladimir talks about how Evil Martians encouraged new engineers to propose conference talks, leading him to present on AnyCable, which sparked his open source contributions. [00:20:18] He talks about how it took a couple of years for his efforts, including writing blog posts and working on AnyCable, to gain recognition and production users outside of Evil Martians. Also, he explains how writing became a way for him to cope with stress and how it contributed to the company’s visibility and recognition in the tech community. [00:26:20] We hear about Evil Martians’ shift in focus from consumer products to developer tools and how they use and contribute to products built by others. Vladimir briefly discusses HTTPie, and how they helped with its development. [00:28:44] Jason brings up AnyCable, and Vladimir tells us what it is, what problem it solves, and the benefits of using it. Also, he explains how AnyCable allows for seamless replacement of Action Cable in existing applications and its Go-based WebSocket server. [00:32:16] Vladimir mentions that AnyCable has evolved over seven years to offer additional features, including support for different transports and service-sent events, making it versatile for various use cases. [00:34:08] Vladimir discusses the versatility of AnyCable, highlighting that it can be deployed anywhere and used with platforms beyond Rails. He mentions that AnyCable is becoming the default choice for handling WebSockets in Rails applications as they continue to expand their reach into other ecosystems.[00:38:09] We hear about some upcoming features for AnyCable, including presence tracking, and plans to make AnyCable compatible with other ecosystems. Vladimir teases a new feature he’s working on for Rails and Turbo.[00:43:04] Andrew shares that he used to read Vladimir’s code on GitHub to learn new patterns and gain inspiration for his own work. He mentions reading code from different libraries and ecosystems is a powerful way to expand one’s toolkit for problem-solving.[00:43:47] Vladimir suggests the idea of a podcast or show where experts review codebases and discuss patterns, techniques, and the rationale behind certain code decisions. He believes it could be a great way to learn and share knowledge. [00:45:36] Jason shares that he appreciates Vladimir’s contributions to Ruby on Rails and the high-quality content shared by Evil Martian’s on their blog. [00:46:36] Find out where you can find Vladimir online.Panelists:Jason CharnesAndrew MasonGuest:Vladimir DementyevSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterVladimir Dementyev TwitterVladimir Dementyev GitHubStimulusReflex DiscordEvil MartiansLayered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications by Vladimir DementyevAnyCableHTTPieRails World 2023Ruby for All Podcast
Rails 7.1 Is Gonna Be HUGE
In today’s episode, Jason, Chris, and Andrew embark on some lively and humorous discussions about Bitcoin-inspired trucks, to practical insights on Rails 7.1 features, they explore security concepts, gas fees, Amsterdam travel plans, and much more. They dive into interesting developments like common table expressions, token generation in Rails 7.1, and the intriguing Bun package manager’s potential impact on Node. Chris also shares valuable insights into Stripe’s address element, Paddle as a Stripe alternative, and the complexities of handling taxes and chargebacks. Hit download now for more “Bun” stuff![00:00:12] Our conversation starts with Chris seeing a truck with a BTC logo implying it may be hauling Bitcoins around, prices of gas and gas fees comes up, and the guy’s upcoming trip to Amsterdam, with Jason still having to work on is talk.[00:03:29] Jason discusses a new feature in Stripe related to payment intents and Chris talks about embedded Stripe checkout and its benefits. [00:08:16] Jason mentions the beta release of Rails 7.1 and its new features and Chris discusses his video on Rails 7.1 authentication features and its positive reception. [00:11:13] Jason mentions using Rails 7.1 beta and noticing the presence of Docker-related files. Chris discusses Docker commands and the possibility of using “dock rails” as an alias, and he mentions the addition of a health check endpoint in Rails 7.1.[00:12:24] Chris talks about a new route, rails routes—unused, for finding unused routes, Andrew discusses async queries and their potential impact on rendering, and Chris explains how async queries can be beneficial for parallel processing. [00:16:26] Chris mentions a new feature in Rails 7.1 that allows specifying required parameters using a magic comment. We also hear about the benefits of the Trilogy gem, a modern MySQL adapter for Rails, Andrew recalls past issues with installing the MySQL 2 gem, and Chris talks about the improved installation experience for the Trilogy gem.[00:20:09] Jason asks if Rails 7.1 includes support for TypeScript and Chris mentions that Rails 7.1 has built-in support for common table expressions. Jason talks about the benefits of common table expressions in Rails 7.1 and how they eliminate the need for raw SQL. [00:22:50] Chris discusses the new “generates_ token_ for” feature in Rails 7.1, allowing the generation of one-time use tokens without the need for database storage.[00:24:21] Andrew brings up the “perform_all_later” method in Active Job, which allows multiple jobs to be pushed to the queue at once without running queue callbacks. [00:25:01] Jason expresses excitement about JS bundling and how it seamlessly integrates into Rails, making it easier to adopt. [00:26:03] We hear about issues related to Rake tasks and the namespace of methods in Rake files. Also, the flexibility of Rails’ asset pipeline and how you can add new tools to the pipeline without major changes.[00:29:14] Andrew tells Jason why he should use Bun and mentions the improved speed and the historical use of Yarn for asset management in Rails. Andrew expresses interest in trying out Bun to speed up CI processes, and Chris discusses Bun as a package manager and JavaScript/TypeScript runtime, which aims to replace Node and NPM.[00:32:35] Chris mentions that Bun aims to be interchangeable with esbuild, making it easier for users to switch between the two. Jason raises the question of whether Bun could eliminate the need for Node on the server.[00:37:29] The conversation shifts to a Stripe issue related to payment element improvements, and Chris mentions he’ll need to investigate the changes. [00:39:50] Chris discusses the Stripe address element and its cost, mentioning that it can used independently or tied to a payment intent, which makes it free because it’s built on the Google Maps Places API. [00:41:21] Chris praises Stripe’s Workbench beta, which includes a resizable interface with Stripe shell functionality for API exploration, making development more convenient.[00:43:44] Chris mentions that Tailwind and Laravel are big users of Paddle, a billing platform that offers an alternative to Stripe, and he discusses the challenges Paddle faced in evolving its product.[00:44:27] The conversation briefly touches on the complexities of handling taxes, especially when using a merchant of record service, and the thresholds for sales tax collection. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterIntroducing Trilogy: a new database adapter for Ruby on RailsRails 7.1 Beta 1: Dockerfiles, BYO Authentication, More Async Queries, and more! What’s New in Rails 7.1PaddleActive Record: generates_token_forAdd Bun support # 49241Bun
There's A TypeScript In My Boot!
On today’s episode, Jason, Chris, and Andrew start off with a captivating discussion that starts with bleeping offensive content, reminiscing about the era of Walkman’s, and hearing about Andrew’s absence from social media. The conversation then shifts to the announcement of the removal of TypeScript and exploring the challenges and community dynamics surrounding it. The guys share their experiences with TypeScript, communication challenges in open source projects, and the importance of maintaining a positive and respectful community. Additionally, they touch on recent announcements related to software source code and a humorous incident involving law enforcement. They also have discussions on React, Active Model Dirty API, and the benefits of using type checking tools like TypeScript and Sorbet in Rails applications. They also explore methods for improving code clarity and performance enhancements for sending notification emails. Hit download now to hear more! [00:00:33] Andrew talks about having a Walkman and his absence from Twitter and social media. [00:03:13] The removal of TypeScript comes up and how DHH declared it dead this week. Jason mentions the removal of TypeScript from Turbo and its impact an Andrew anticipates downstream effects of removing TypeScript. [00:08:01] Jason describes the controversy surrounding DHH’s blog post about removing TypeScript, and Chris comments on the toxic behavior and reactions from the TypeScript community. [00:10:19] Chris talks about his experience with TypeScript and how struggled with it while trying to make a PR to Stimulus. He also expresses concerns about the lack of open communication in some Rails JavaScript projects. [00:12:31] Andrew shares that he feels pretty good about the decision and discusses the potential benefits of the removal of TypeScript, making contributions and reviews easier for Rails developers who are not familiar with TypeScript. [00:13:20] Jason empathizes with Marco, one of the maintainers, for not getting a chance for discussion and mentions the potential benefits of using JS doc as a compromise. [00:14:24] Chris talks about the toxicity he witnessed during the TypeScript removal discussion and emphasizes the importance of maintaining a positive community. Andrew points out that toxicity can exist in both the Rails and JavaScript communities, urging everyone to work towards a more positive environment. [00:18:22] Chris announces a recent announcement by Basecamp, suggesting they might be selling software with source code included. [00:21:47] Chris shares a wild week he had when a sheriff showed up at his door looking for him. Was it because he wasn’t using TypeScript? Also, Andrew tells us what happened when two detectives showed up at his house due to an address mix-up. [00:24:22] Andrew mentions that he’s been writing a lot of React lately and is upgrading his database. [00:25:47] Andrew shares an experience with the Active Model Dirty API, initially struggling to understand it but eventually realizing how it works.[00:28:27] Chris and Andrew discuss the idea of converting all of Rails to Sorbet and how it might reveal inconsistencies and improve code clarity. [00:30:36] Andrew discusses using yard docs with parameter types in methods to understand complex code areas better and how it can help clarify data flow in an application. [00:31:24] Jason mentions he’s been working on speeding up the sending of notification emails, discusses working on Podia’s community feature, and talks about implementing dynamic URLs and substitution data based on user types to batch send emails through their service. [00:34:20] The guys discuss the concept of feature flags, their potential for various case uses, and the performance considerations when relying on Redis. [00:38:49] The conversation transitions with the guys talking about traveling to Amsterdam for Rails World and what they want to do there. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRemove TypeScript #971Turbo 8 is dropping TypeScript by DHHOpen source hooliganism and the TypeScript meltdown by DHH
Sorry For Slandering Yet Another Gem
In this episode of Remote Ruby, Jason and Andrew cover a wide range of topics that start out with nothing to do with tech. First, they discuss energy drink flavors and then transition into a humorous exploration of disagreements with Chris, who happens to not be here today. They cover various topics including CMS options, front-end development, and Tailwind CSS customization. They also introduce a gem called “Counter” created by their colleague Jamie, aka “Dad” at Podia, which efficiently handles attribute tracking. Jason and Andrew discuss the gem’s features and flexibility, highlighting its value in addressing complex counting challenges. We end with a discussion on email delivery performance issues and ice cream preferences, culminating in a friendly bet about whether Chris will listen to the episode. Hit download now to hear more! [00:00:13] Jason and Andrew talk about juicing, and they consider discussing topics that Chris doesn’t agree with, such as Vimeo vs. Wistia, the way he says “query,” and his dislike for ViewComponent. [00:03:35] Jason talks about using Spina CMS for Rails, and Andrew mentions using Spinal CMS with Bridgetown. [00:06:15] Jason briefly discusses another page builder for Rails called “Maglev” that Bram Jetten works on. Andrew mentions working on their own site builder and they touch on front-end development and tools. [00:08:13] The conversation shifts towards Tailwind CSS and the Figma component library “Untitled UI.” Jason talks about Tailwind configuration and arbitrary values for spacing, and he’s customized Tailwind CSS for his projects, including adding display styles and base textiles. Andrew and Jason praise the IntelliSense feature. [00:10:34] Andrew mentions feeling out of touch lately due to working with React and he shares an interesting challenge he faced involving data migration and validation. [00:12:20] Jason discusses the use of maintenance tasks for data migrations at Podia and their benefits. They talk about default scopes in Rails and the problems they can cause. [00:15:30] Jason mentions a gem called “Counter” created by Jamie “Dad” at Podia, and he explains the purpose of the gem, which efficiently handles counting and tracking attributes, and how the gem uses polymorphism and provides flexibility in defining custom counters. Shout-out to “Dad” for creating the gem.[00:21:14] Find out what happened at the last Rails Conf when Andrew shares the story of telling his boss while riding in an Uber, why he doesn’t wear a seatbelt. [00:22:13] Jason shares that he’s trying to improve email delivery performance and using email substitution for personalized links. He discusses his struggles with Action Mailer and email link generation, blaming it for issues. He talks about his efforts with Pre Mailer and Pre Mailer Rails and how he had to skip Pre Mailer to resolve the issue. [00:25:12] Andrew asks what Pre Mailer does and Jason explains Pre Mailer’s role in converting styles to inline styles and generating text parts for HTML emails. Andrew mentions “Roadie” was updated five days ago and is now in passive maintenance mode. [00:27:08] The conversation shifts to discussing favorite ice cream flavors, their preferences for mixing ice cream flavors, and they place a bet on whether Chris will listen to this episode and come up with a phrase for him to use if he does.Panelists:Jason CharnesAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterSpina CMSSpinal CMSBram Jetten WebsiteMaglevMaintenanceTasksUntitled UICounterPremailer READMERoadie
No Surprise | Now We Are A Burger Podcast
In this episode, Jason, Chris, and Andrew start us off with a conversation about burger toppings preferences, discussing whether certain ingredients should be included in “the works” and sharing tips to prevent burger slippage. The discussion transitions to programming topics, exploring the challenges of working with multiline environment variables and the intricacies of Bash scripting. The guy’s dive into the benefits of building UI components using frameworks like Tailwind CSS and Alpine.js, emphasizing the importance of well-organized and specialized components for better code management. The conversation also touches on the desire for more pre-built component libraries in the Rails ecosystem and the complexities of using various frontend frameworks. Hit download now to satisfy your appetite for both burgers and development insights! [00:00:08] Find out what the guys prefer for their burger toppings and Andrew mentions eating burgers upside down to prevent slippage and eating burgers with chopsticks. [00:04:13] The discussion moves to other sandwich places like Firehouse Subs, Jersey Mikes, Subway, and Lenny’s, and Chris brings up the Meat Church BBQ guy who made a smoked cream cheese with hot pepper jelly. [00:06:31] Andrew wants BBQ now and tells us about a greatest BBQ place in Arizona, and Chris tells us about an Egyptian guy that moved to Texas that does Texas style but with Egyptian fusion BBQ that is unbelievable. [00:07:55] Jason and Chris tease Andrew about booking his flight to Rails World and his ticket to Rails World. [00:09:40] Jason expresses his excitement about going to Amsterdam. [00:10:33] Chris talks about not having fun adding support for multi-line environment variables in a programming project. Andrew clarifies the concept of multiline environment variables. [00:12:53] Chris describes the limitations of RVM vars, which truncates multiline values, and he discusses the process of rewriting and fixing the RVM vars behavior to support multiline values. [00:15:43] Andrew and Chris share their recent experiences with writing Bash scripts, discussing the challenges and nuances of Bash scripting, as well as the difficulties of learning and remembering the intricacies of Bash scripting between projects. [00:21:07] Andrew talks about his enjoyment of combining different command-line tools to create interactive scripts and functions. He highlights the benefits of creating personalized tools and shortcuts to simplify daily tasks.[00:23:17] Jason mentions to Andrew that they are recording a podcast at Rails World, and he arranged two recording sessions, one with Adam Wathan, and the other is an open session during the Friday happy hour. [00:26:22] The discussion shifts to discussing building UI components using Tailwind CSS and Alpine.js. Jason talks about the concerns and considerations while building and organizing View Components, Chris asks about handling forms and buttons components within Rails, and Andrew emphasizes the importance of well-defined and specialized components for better code organization and discoverability. [00:32:09] Jason mentions how he’s using component variants, sizes, and colors within his app, and he wishes for more pre-built component libraries in the Rails ecosystem, like what’s available for React. [00:36:00] Jason mentions the use of Alpine.js data directives for reusable functionality and components, Chris and Jason discuss Alpine.js’s ease of use for handling simple UI interactions, and they mention recent version releases of Alpine.js and Laravel Livewire. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterMeat Church BBQ (YouTube)The Most Exciting BBQ Joint in Texas is Egyptian-Bon Appétit (YouTube)Rails World 2023Alpine.dataLaravel LivewireRuby Radar TwitterRuby for All Podcast
Ain't Your Callback Girl
In this episode, Chris, Jason, and Andrew engage in a discussion revolving around the functionality and nuances of generated columns, callbacks, and coding practices in database and Rails applications. They explore the benefits and challenges of these features, and they dive into the complexities of coding tests. They also discuss the HTML Pipeline library, GitHub’s markdown processing, and the Rails function for rendering rich text associations. Jason, Chris, and Andrew share their personal experiences, they explore the deeper layers of the Rails ecosystem, and they touch on Rails upgrades and the importance of maintaining minimal dependencies. Join us for a blend of tech insights, nostalgia, and humor! [00:00:51] Chris jumps right in and asks the guys if they’ve ever used any virtual generated columns, and Jason shares a story about a diesel spill in the water supply near Memphis. [00:02:31] In other news this week, Chris talks about the technical aspect of searching for users in the databases and the introduction of generated columns, he mentions Jamie’s involvement in PRs related to the feature, the bugs he encountered while trying to feature in SQLite, and how generated columns work in Active Record and their current limitations. [00:09:19] Chris asks Andrew and Jason if they’ve ever used generated or virtual columns in the database. Jason discusses his views on callbacks and the Name of Person gem. Chris mentions Jorge’s post about callbacks. [00:12:56] Jason discusses the pros and cons of using callbacks. He finds them convenient but also problematic at times. Chris provides an example where callbacks come in handy. [00:15:17] Jason states he has some high-level rules about callbacks, and Chris and Jason discuss when it’s appropriate to use callbacks, like when making HTTP requests or sending emails. [00:16:16] Chris brings up an old tutorial on Stripe where the save method also involved verifying data before sending a request to Stripe. [00:17:20] Andrew introduces the idea of a “smell test” for potential pitfalls in code. He shares his experience of having to work around callbacks when they caused unexpected changes in records. [00:18:08] Jason shares his thoughts on testing, especially when callbacks create tightly coupled associations. [00:18:50] The guys share various stories about tests failing due to timing and other unexpected conditions. They also joke about different “solutions” to these issues.[00:22:24] Jason introduces the HTML-Pipeline library, which he recently used. He praises GitHub for its tech center and variable support, emphasizing its capability in content replacement. Chris recalls using GitHub for its auto-link feature which identifies HTTP and HTTPS links. [00:24:46] Chris reminisces about the early days of GitHub, its hiring spree, and the cool open source tools they released. [00:25:21] Jason describes building an action-text style structure for content, which allows for rich content editing and rendering, Chris appreciates the simplicity of this system, and they discuss the Rails function and how it renders text associations. [00:27:24] Jason highlights a limitation with the ‘render in’ method, where it doesn’t accept certain arguments and he talks about the structure of his board concept and the challenges faced with variable integration. [00:28:53] Chris shares his experience working on component stuff for Jumpstart Pro, emphasizing the simplicity and efficiency of their solution. Also, he emphasizes the benefits of keeping dependencies minimal for maintainability. [00:33:17] Chris was super excited to see that Rails 7.0.7 was released and speculates about Rails 7.1.0. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterName of Person Globals, callbacks and other sacrileges by Jorge ManrubiaHTML-PipelineRails 7.0.7 has been released by Rafael FrancaRuby Radar TwitterRuby for All Podcast