Three Rubyists having conversations and interviewing others about Ruby and web development.

Unlocking the Power of State Machines in Code Development with Elise Schaefer

December 01, 2023 0:49:31 9.05 MB ( 26.61 MB less) Downloads: 0

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

November 17, 2023 0:41:42 30.04 MB Downloads: 0

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

November 10, 2023 0:46:34 33.55 MB Downloads: 0

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

November 03, 2023 0:33:09 23.89 MB Downloads: 0

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

October 27, 2023 0:52:56 38.14 MB Downloads: 0

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

October 20, 2023 0:52:07 37.54 MB Downloads: 0

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

September 29, 2023 0:47:41 91.57 MB Downloads: 0

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

September 22, 2023 0:47:57 92.08 MB Downloads: 0

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!

September 15, 2023 0:42:49 82.22 MB Downloads: 0

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

September 08, 2023 0:29:04 55.81 MB Downloads: 0

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

September 01, 2023 0:38:43 74.35 MB Downloads: 0

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

August 25, 2023 0:35:08 67.46 MB Downloads: 0

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

Hackathon - Strada - Rails World

August 11, 2023 0:37:00 71.05 MB Downloads: 0

Welcome to today’s episode of Remote Ruby, where we dive into another successful year of Rails Hackathon, celebrating the talent and creativity showcased with 37 outstanding submissions from 216 participants across 111 teams, and Chris unveils his Signalman project, a tool that simplifies Rails development. We also venture into discussions about the potential and intricacies of hybrid applications, with Chris advocating for the power of Hotwire Turbo Native and eagerly awaiting the release of Rails 7.1 and Strata.  The upcoming Rail World conference becomes a topic of excitement, from intriguing speaking engagements to unique dining experiences.  Lastly, we explore the latest developer-friendly features from Stripe, including the innovative Workbench beta, which promises to transform the debugging experience. Join us on this thrilling ride through the world of Rails, hackathons, and future tech trends. Hit download now! [00:00:13] Rails Hackathon took place, and Chris fills us in on the details and the winners. The Judges’ Favo(u)rite went to ‘’ project by Awesome Docs. The Best Solo project was ‘Rails Duels’ by the Lazy Lambda team, and the Community Favorite award went to the ‘Locale Ninja’ project.  Other notable submissions included ‘Ahoy Captain’, ‘Ruby on Plain,’ ‘First Ruby Quest,’ and ‘AI Quiziverse.’[00:07:31] Chris worked on a project called Signalman during the Hackathon. It’s like Laravel Telescope for Rails, allowing users to build generators and scaffolds through a friendly UI rather than needing to use the command line.  [00:09:50] The Rails Hackathon had 216 participants across 111 teams, with 37 teams submitting an entry.  A fun aspect of the event was randomly assigning people to teams, allowing participants to meet new people and make friends. [00:12:21] Andrew mentions looking at and how cool it looks, he compares it to the Ruby toolbox, which hasn’t been updated much in recent years. He also praised Active Mermaid, an application that generates UML diagrams for active record tasks. [00:14:01] Chris requested suggestions for the theme of the next hackathon. Andrew discusses potential themes, including one based around new features released at Rails World, or web-based themes. He also suggested a hackathon where anything, but Rails could be used to build a web app with Ruby. [00:16:15] Jason brings up their speaking engagements at the upcoming Rails World event.  Chris brings up a Tweet that he posted from a Tom Scott video and the guy is talking about trains and says America doesn’t appreciate rails like they used to. [00:17:25] There’s a lot of good technical talks lined up at Rails World, and there’s speculation about the release of Rails 7.1 and Strata at Rails World.[00:21:51] Chris explained the benefits of hybrid applications, specifically how they can shift between web views and native settings depending on the user interaction.[00:24:12] Andrew points out the importance of a well-built hybrid application, suggesting a poorly built one can negatively impact the user experience. Chris explains the nice part about the Hotwire Turbo Native things and discusses the issues with PWAs. Chris thinks more people should start using Turbo Native to contribute to its development, and Strata could potentially make this process faster and easier.  [00:27:44] Andrew started learning SwiftUI to build mobile apps, and Chris points out the integration of all the authentication stuff in Turbo Native, making the mobile app development process much quicker. [00:30:00] The Rails World agenda is packed with a bunch of awesome talks and there are two tracks. Andrew is going to miss out on this event, and Jason booked a dinner place they’re going to that’s an old fort Island converted into a restaurant. [00:33:05] Chris mentions a new Stripe feature embedded Stripe checkout, which simplifies the payment process for developers that he finds easier to work with. There’s a new Stripe feature that disallows multiple subscriptions per customer. [00:35:34] Chris got access to Stripe’s Workbench beta, a developer toolbar that provides detailed visibility into Stripe events and objects, which is helpful for debugging.  Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRuby Radar TwitterRuby for All PodcastRails Hackathon July 2023 WinnersRails World 2023Chris Oliver Tweet Stripe Workbench

The One Where We Talk About Our STIs

July 28, 2023 0:37:22 71.75 MB Downloads: 0

Welcome to another interesting and lively episode of Remote Ruby, where Jason, Chris, and Andrew dive deep into their personal adventures and tech talks, including a detailed discussion on Single Table Inheritance (STI) in Ruby on Rails, sharing different perspectives, use-cases, and alternatives.  Andrew teases about a big project reveal coming up next week, and Jason, now Podia’s ‘Emotional Support Developer’, shares his expertise in managing projects. The conversation takes humorous turns as the group jokes about Andrew’s propensity to speak before thinking, Jason’s new job title, and their collective appreciation of internet memes.  In the mix, we also touch on the decline of Reddit, affordable tech solutions, Andrew’s late adoption of technologies like NFC and 4k monitors, and the art of creating compelling YouTube thumbnails. Tune in and download now to hear more! [00:00:39] Andrew talks about his recent time away he had and went hiking and backpacking in the Grand Canyon with Drew Bragg. [00:02:00] Jason reveals he’s been managing projects for the last month, and the term “STI” comes up. Andrew teases about a big project they’ve been working on for an entire year, which is to be released soon. [00:03:41] Andrew admits that he often speaks without thinking, which leads to him regretting what he says. [00:04:06] Andrew asks Chris why there’s no Go Rails video on STI (Single Table Inheritance), leading to a discussion on what STI is and when it’s useful. Jason explains how he uses at Podia to handle different types of events and to avoid having to create separate tables for each type. [00:08:54] Chris asks when it’s not suitable to use STI, and Jason provides an example form Podia where different products use STI, but their site builder’s page sections use a different approach. Jason brings up the concept of JSONB an proposes trying a different approach with subclasses in order to avoid adding an unnecessary column. [00:13:12] There’s a discussion on the benefits of utilizing a STI and delegated types in Rials to reduce database complexity, with Jason giving specific examples from Job Boardly. [00:18:23] They also discuss the concept of overriding methods in subclasses to control the behavior of specific types of users. [00:21:07] Jason further discusses how he leverages Rails’ associations to simplify code related to his location example, allowing Rails to implicitly set the type based on the association. [00:23:52] Andrew and Jason discuss sharing British memes with each other and Jason reveals his new title at Podia as an ‘Emotional Support Developer.’ [00:24:54] Chris and Andrew talk about the decline of Reddit and Andrew’s shift away from the platform, and Andrew tells us about Tor Browser and NFC (Near-field communication) tags, leading to a discussion about their usage and benefits. [00:28:04] Andrew announces he’s recently switched to 4k monitors and that he has several monitors. Jason jokingly labels him a “boomer boy” because of his late adoption of technologies. [00:30:01] Chris talks about his Govee LED strip light and the challenges of setting up such lighting systems. Andrew and Jason recall watching a YouTube video with a thumbnail they found intriguing. [00:33:33] Chris shares a story about programming on a TI-83, 84 calculator and downloading an app that would let you rotate it sideways instead of vertical. [00:35:39] The episode ends with a sharp turn and a conversation about Andrew’s meal delivery service.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterStore AttributeRuby Radar TwitterRuby for All PodcastWhat the Basecamp exodus means for the future of Ruby on Rails and Hotwire (YouTube)Tor BrowserNear-field communicationGovee LED light strips

We're A JavaScript Podcast Now

July 14, 2023 0:50:00 96.02 MB Downloads: 0

Even though we’re missing Andrew today, Chris and Jason keep things lively, kicking off with a fun chat about candies, and unusual dislikes. Then, they dive into the professional world where Jason shares insights from his Job Boardly project and talks about the challenges and tools he found useful, such as Imperavi’s, Article. Chris and Jason have a discussion on various text editors, focusing on Basecamp’s Trix, we hear the difference between Redactor X and Article, and the Revolvapp, which is Imperavi’s email templates editor.  Chris and Jason go deeper into the world of JavaScript development, and they discuss their struggles with customizing elements using CSS and Tailwind.  They also share their thoughts reminding developers to view themselves as Ruby developers, recognizing the broader capabilities of Ruby beyond what Rails offers. Stay tuned for a fun episode and hit download now to hear more! [00:00:31] Chris and Jason discuss the absence of Andrew and have a conversation  about specific candies and personal preferences. [00:02:22] The conversation shifts to Jason’s project, Job Boardly, where he’s been actively working on giving users more control over their job board’s appearance, and he shares all the secrets and talks about Imperavi, a website editor, and Article. [00:07:03] Jason acknowledges the potential pitfalls of storing HTML but praises the user experience offered by the editor, enabling users to directly see the impact of their edits. [00:07:56] Chris and Jason debate the complexity of using Trix, and comment on the lack of progress seen in public updates.[00:09:50] What’s the difference between Redactor X and Article? Jason explains Redactor X is a pure WYSIWIG editor, while Article incorporates both text editing and content layout functionalities. [00:11:35] Jason talks about the Revolvapp, discussing its advantages, including having all the functionality from a single source and it’s not a subscription.  [00:13:00] Chris discusses using the EL transition library for Tailwind CSS stimulus components, noting the library’s simplicity but highlighting some complications when animations overlap due to quick mouse movement.[00:18:21] Chris talks about simplifying his codebase and moving away from certain older features.  He discussed his decision to discard bundle and compile using the esbuild for modern imports and CommonJS, and he mentions Adam Wathan’s keynote at Tailwind Connect with Sam Selikoff showing off some amazing stuff.[00:25:55] Jason and Chris converse about their struggles with customizing the look and feel of elements using CSS and Tailwind.  They talk about the benefits and challenges of using Tailwind with Rails, particularly as it relates to component-based projects. [00:30:42] Chris discusses the implementation of getters and setters in a single method. He points out that if additional functionality such as sidecar or JavaScript isn’t necessary, and a lot can be accomplished using pure Ruby. [00:36:04] Chris and Jason discuss the possibility of using pure forms or creating custom tools instead of relying solely on Rails provided tools.  [00:40:05] They remind developers to view themselves as more than just Rails developers, highlighting the importance of understanding and utilizing the broader capabilities of Ruby beyond just what Rails offers. [00:41:05] Jason brings up his experience with earlier versions of Laravel that had a form builder which later got phased out. He praises Laravel’s way of handling inline errors. Chris expresses his views about the tendency of developers to over-engineer forms. [00:44:54] Chris adds his thoughts on “conceptual compression,” discussing he balance between abstracting processes and maintaining the ability to drop a lower level when needed.[00:46:23] They discuss theirs experience and observations from using Adam’s browser tools and watching his keynote, and they mention how the early days of Tailwind were challenging due to configuration issues. Panelists:Jason CharnesChris OliverSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterImperaviArticle Imperavi Article & Redactor XRevolvappTrixTailwind Connect 2023-Keynote (YouTube)Ruby Radar TwitterRuby for All Podcast