Three Rubyists having conversations and interviewing others about Ruby and web development.
Subscribe to this podcastOpen in app
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.
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.
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.
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.
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.
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
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
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
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
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
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 ‘Gem.sh’ 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 Gem.sh 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
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