012: DHH joins the show to talk Rails 8, Delegated Types, Kamal and more!
Aug 31, 2023
auto_awesome
DHH, Creator of Ruby on Rails, joins the show to talk about Kamal, The Rails Foundation, Delegated Types, and the upcoming Rails 8. Also discussed are the importance of application deployment, the need for a comprehensive authentication system in Rails, and the new asset pipeline library called Propshev in Rails 8.
The renaming of the project M-R-S-K to Kamal was driven by simplicity and symbolized sophistication.
The creation of the Rails Foundation provides crucial support to the Rails ecosystem and secures the framework's long-term future.
37 Signals emphasizes the importance of open source contributions and plans to share more knowledge and tools through YouTube series and other contributions.
Deep dives
Reasons for the Name Change
The speaker explains that the decision to change the name of the project M-R-S-K was driven by several reasons. One of the minor reasons was the difficulty people had in pronouncing it. Additionally, the speaker did not feel strongly attached to the name, as the project was a separate venture from Ruby on Rails and did not have the same significance. The new name, Kamal, was chosen because it symbolized simplicity and sophistication, similar to the navigation tool called Kamal. The speaker also mentions that the name change came later than expected, but the timing was not crucial, and the focus was on improving the tool itself rather than its name.
Establishing the Rails Foundation
The speaker discusses the creation of the Rails Foundation, which was a long overdue initiative to support the Rails ecosystem. The foundation was formed after many years of Rails being dependent on external organizations without having its own dedicated institution to promote and advance its goals. The foundation consists of eight founding core members, including companies like GitHub and Shopify, who were chosen based on their significant contributions and investments in Ruby and Rails. The foundation aims to provide support for documentation, education, marketing, and events within the Rails ecosystem. The speaker expresses that the foundation was a natural progression for Rails and highlights the importance of having an organization that can outlast any individual and guide the framework's long-term future.
Open Source Contributions and Future Plans
The speaker emphasizes the commitment to open source within 37 Signals and mentions various open source tools and technologies that they employ in their infrastructure. They express the view that open source contributions are not just important, but also a moral obligation. They highlight the openness of sharing knowledge and ideas with the ecosystem, and the benefits they have gained in return. The speaker also mentions plans to revive a series on YouTube that focuses on writing software and discusses topics related to basecamp and 37 Signals. They express an interest in sharing more knowledge, tools, and insights through these series and other open source contributions.
Delegated Types as a Powerful Pattern in Software Development
Delegated types are a pattern that can greatly simplify and enhance the structure of applications. By basing the main logic around delegated types, developers can achieve cleaner and more maintainable code. The speaker emphasizes the importance of using this pattern, citing its ability to handle multiple types of records and provide common functionality efficiently. This pattern was showcased using real code examples from the Basecamp application, demonstrating its practicality and effectiveness. The speaker expresses a desire to share more content like this, showcasing real code from large applications.
The Benefits of Delegated Types in Simplifying Application Development
Delegated types, such as recordings and buckets, have proven to be valuable in the Basecamp project. These delegated types allow for the creation of a generic system that can handle various types of content and functionality. By utilizing delegated types, developers can avoid the need for specialized code for each type and instead build a common system for the base type. This approach greatly simplifies development, reduces code duplication, and enables the addition of new features with ease. The speaker expresses excitement and plans of further exploring and discussing delegated types in future podcast episodes.
In this episode, I'm joined by DHH to discuss Kamal, The Rails Foundation, Rails 8, Delegated Types, On Writing Software Well and a whole lot more! This episode is packed and a must-listen!
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode