
Sign up to save your podcasts
Or


What does it take to scale a successful podcast hosting platform and maintain happiness in a SaaS business? Join us as we unravel this mystery with our special guest, Tom Rossi, co-founder of the popular podcast hosting service, Buzzsprout. Tom gives us the lowdown on the inception and growth trajectory of Buzzsprout since its launch in 2008, shifting gears from client services to product creation, and their commitment to simplicity and a user-friendly experience.
Brace yourselves as we zoom into the world of Ruby on Rails and its pivotal role in product development. Anecdotes of starting out with Rails 1, a transformative Basecamp workshop, and the challenges of developing a podcast hosting platform form the crux of our discussion. As we journey through the evolution of Rails, we shed light on the associated issues, like caching problems, that surfaced with the rise of podcasting.
As we navigate the labyrinth of CDN and storage in web development, we expose the ripple effects of changes to these systems on other services and partners. Our narrative also spotlights the delicate balance between having a clear opinion about your product and making your customers happy. Hear us out as we stress the significance of optimizing happiness - both for founders and the team - and the freedom of decision-making that comes with being privately funded. This is an episode you won't want to miss for an in-depth understanding of the complexities of managing CDN, storage, and the intersection of opinion and happiness in business.
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.
In this episode, Jason, Chris, and Andrew welcome guest, Amanda Perino, Executive
Director from the Rails Foundation. Today, they discuss their experiences at Rails
World, touching on the importance of community enthusiasm and the benefits of in-
person events. Amanda shares how the Rails Foundation coordinated Rails World and
managed feedback, with a special mention of the EventStack team. They highlight the
custom design elements of the conference and the speaker experience. Amanda
emphasizes the significance of having a strong team, and they discuss the decision to
host the next Rails World 2024 in Toronto and the potential for future rotations to diverse
regions. There’s also a conversation about the importance of communal spaces for
networking at conferences, and they touch on documentation improvements and the
need for technically knowledgeable contributors.
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!
HoneybadgerIn 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.
HoneybadgerIn 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 Twitter
Chris Oliver Twitter
Andrew Mason Twitter
DHH Twitter
Rails World 2023 Opening Keynote-David Heinemeier Hansson (YouTube)
The Rails Foundation
Propshaft
Skiff
Kamal
Resque
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 Test-Driven
HoneybadgerIn 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, incl
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, me
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 f
From the publisher's feed
Rubyists having conversations and interviewing others about Ruby and web development.

30,698 Listeners

121 Listeners

1,912 Listeners

9,602 Listeners

623 Listeners

983 Listeners

212 Listeners

205 Listeners

32 Listeners

5,368 Listeners

10,177 Listeners

12 Listeners

1,433 Listeners

6 Listeners

9 Listeners