List

Rails World 2023 Opening Keynote by David Heinemeier Hansson

Rails World 2023 Opening Keynote by David Heinemeier Hansson

by David Heinemeier Hansson

In the Opening Keynote of the Rails World 2023, David Heinemeier Hansson, the creator of Ruby on Rails, celebrated the framework's 20th anniversary and outlined significant advancements in the Ruby on Rails ecosystem. Hansson expressed his excitement about the upcoming Rails 7.1 major release, highlighting the contributions from the community with about 4,000 commits and 700 contributors since the previous release. He emphasized the spirit of collaboration in the Rails community, likening it to a gift-swapping environment under the ethos of the MIT license.

Key points discussed include:
- Anniversary of Ruby on Rails: Reflecting on the framework’s remarkable 20-year journey and ongoing evolution.
- Community Contributions: Acknowledgment of approximately 7,000 contributors to Rails over the years, underscoring the collaborative nature of the Rails ecosystem.
- Rails Foundation: The introduction of the Rails Foundation to bolster community events, with support from various companies that invested to kick-start this initiative.
- Personal Journey: Hansson’s personal connection to the framework, having spent half his life developing it and reflecting on the ongoing relevance of the work done over the years.
- Looking Forward: An emphasis on the importance of embracing new technologies while addressing past mistakes in productivity, illustrating that the economic environment can drive both challenges and opportunities.
- Focus on Full-stack Development: Encouragement for developers to adopt a holistic approach to development, blending art and engineering, aspiring to be 'Renaissance developers' rather than narrowly focused specialists.
- Introduction of 7 Major Tools: Briefly set to introduce seven new frameworks/tools—Propshaft, Turbo 8, Strada, Solid Cache, Solid Queue, Mission Control, and Kamal—intended to simplify the development process moving forward.

The keynote concluded with a call to action for the community to continue fostering a spirit of collaboration and innovation while recognizing the importance of both technical proficiency and creativity in the development journey. Hansson's vision for Rails and its community is centered on simplifying complexity, enhancing productivity, and preparing for the evolving challenges of the technological landscape.

In the Opening Keynote of the first Rails World, Ruby on Rails creator and @37signals CTO David Heinemeier Hansson (@davidheinemeierhansson9989) covered a lot of ground, including introducing 7 major tools: Propshaft, Turbo 8, Strada, Solid Cache, Solid Queue, Mission Control, and Kamal.

Links:
https://rubyonrails.org/
https://hotwired.dev/
https://kamal-deploy.org/
https://github.com/rails/propshaft
https://rubyonrails.org/foundation

#RubyonRails #Rails #Rails7 #Propshaft #Turbo #Strada #SolidCache #SolidQueue #Kamal #missioncontrol #opensource #RailsWorld

Rails World 2023

00:00:15.200 All right, I am incredibly happy to be here.
00:00:20.840 It’s the 20th anniversary of Ruby on Rails. It is an amazing achievement to survive 20 years in technology with a framework or a library.
00:00:27.840 Making it to 20 years is almost unbelievable. Not just to reach 20 years, but to be here, 20 years in, and to be this fired up, this excited, and this motivated to continue improving the framework and the ecosystem.
00:00:39.520 It is just an absolute honor. Hence, it’s incredibly flattering that we have Rails World, the first event of a brand new foundation, happening this year.
00:00:45.360 I started back in 2003 working on Ruby on Rails and have not stopped. This year, in the 20th anniversary, it’s wonderful to announce that we will be pushing Rails 7.1 as another major release of the framework packed full of exciting new features.
00:01:07.680 Raphael is our release manager, and he has done an excellent job getting everything ready. The last major release of Ruby on Rails was Rails 7.0, which was almost two years ago.
00:01:14.480 Since then, around 700 people in this room have made code contributions to the release, and about 4,000 commits have gone into the framework since that last release.
00:01:27.240 It’s a pleasure to see all of this, and it’s one of those gifts that I think this community is really all about.
00:01:36.640 I like to look at the Rails community and the ecosystem as a gift-swapping environment. We are here to make gifts for ourselves and share them with everyone else. You bring a gift, I bring a gift, and together we have a whole stack of gifts.
00:01:49.920 This realization reflects the ethos of the MIT license—we are not here in a transactional way. I am building something for you, and then you have to give me an equal part back. No, we are here to give each other gifts with no strings attached because we simply enjoy making gifts.
00:02:02.240 I enjoy making these gifts, I enjoy making them for myself, and I really enjoy sharing them and seeing all the gifts that come back. Some of those gifts are code.
00:02:14.000 As I said, we have 700 people who have contributed to the latest version of Rails, and almost 7,000 people have contributed to Rails over the 20 years we've been tracking contributions.
00:02:26.400 This is truly astounding—not just that we have so many people contributing, but that many continue to contribute, with new people coming in all the time.
00:02:39.800 I know there are a lot of attendees here for whom Rails World is their first Rails event. This is a key part of why we are putting on these events, to welcome new people into the ecosystem and get them involved in this gift-sharing ceremony.
00:03:02.400 While a lot of these gifts are indeed code—and code is important, it’s foundational—it certainly isn’t everything. You can have the best code in the world, but if it’s not wrapped in understandable documentation and clear marketing, no one is going to care.
00:03:16.360 The magic of the Ruby and Rails community is understanding that while code is essential, there is so much more to it. One of the most important gifts we’ve been able to give ourselves is the foundation for new institutions.
00:03:30.240 When you've been around for 20 years, a lot of stuff accumulates. Sometimes you have to take a brand new sheet of paper and think, 'With everything I know now, what would I do?' One of the most rewarding things I’ve been involved in over the past year or so has been the Rails Foundation, setting that up.
00:03:45.080 We knew we probably should have had this for a long time, but now we do. I want to thank the people and companies who, when I reached out with just an idea of forming this Foundation, were eager and willing to help us.
00:03:58.919 I first reached out to Tobi from Shopify about just under a year ago with this idea of creating a Foundation and setting up a new institution for creating events like this. He was on board right away.
00:04:12.919 These companies signed up shortly thereafter: CookB, Fly.io, GitHub, Intercom, Procore, Shopify, and my own company, 37signals. If not for them, we wouldn’t be here today.
00:04:24.739 These were the eight companies that kicked in a million dollars to get us started, to have a treasure chest to book events like this before we even had anyone showing up to pay for tickets.
00:04:38.479 Since then, we’ve added a whole slew of contributing members, including AppSignal, who is also the lead sponsor of this conference, and is an application we now use at 37signals to track our performance.
00:04:51.079 We have BigBinary, Cedar, Code Planet, and Argun Andu. It’s incredible to have this kind of support this long into it, to have people willing to invest not just their time but also their money into facilitating something like this.
00:05:04.000 But even with all of that, none of it would have come to fruition, and I wouldn’t be on this stage if it hadn’t been for the Executive Director, Amanda Perino. I just want to give her a huge round of applause.
00:05:31.080 It’s such a strange concept to wrap your head around. I am 44 years old, which means I’ve spent about half my life working on this framework and half my life being involved with creating Ruby on Rails from a technology and ecosystem perspective.
00:05:44.400 That’s sometimes hard to contextualize. One way I try to make sense of time is to look at the past. We are as far away from the inception of Ruby on Rails in 2003 as we are from 1983.
00:06:00.840 This is me in 1983, the year that the modern internet really got started with ARPANET converting to TCP/IP—the year that the first home Nintendo system was released—and one year before the first computer I experienced, the Commodore 64, was released.
00:06:15.560 That was a long time ago and feels like a completely different era, which reminds me of just how young this industry is. We are basically the same distance from the creation of Ruby on Rails as many people are from their first computer.
00:06:29.040 When these things came out with one megahertz cpu, if we jump to 2003, this might actually be 2004. This was my home office in Copenhagen where I worked on Ruby on Rails before moving to the United States.
00:06:43.000 These milestones remind me that we’ve come a long way, but also that a lot of things are the same. If you look at the applications on my screen now, you could squint and see applications that look exactly like those on my screen today.
00:06:58.320 We’ve got text editors, our terminals, and while we’re not using Track anymore, we’re using GitHub. A lot of things have changed, but a lot of things have remained the same.
00:07:12.400 We can get nostalgic easily. We could spend an entire keynote sharing funny anecdotes from 20 years in this community, developing it. But I think we’re going to have plenty of time to look back.
00:07:25.680 Far sooner than we’re ready—perhaps after AI puts us all out of work or destroys the world, whichever comes first.
00:07:38.920 What I’m interested in is looking forward, and that’s what this morning’s keynote will mostly focus on: all the things we’re doing, all the things we’re building. There is so much.
00:07:52.640 Perhaps this is the most packed time I’ve been involved with in terms of the new frameworks and libraries that I’ve seen grow and that we’ve planted recently. It’s an exciting time.
00:08:05.440 I was going to ask AI to suggest what we should do about this phenomenon that is coming in. I’m sure all of you have had fun playing with AI, and maybe some of you are ambivalent about what this new world is going to be.
00:08:20.560 I thought this cliché Chinese expression for crisis, meaning danger but also opportunity, might represent it quite well. AI is both threatening and exciting.
00:08:37.600 It probably would have stated it confidently because that is what AI does. It dreams and thinks. The second character doesn’t mean opportunity; it means change point. However, it’s been adopted by speakers and business people for a long time.
00:08:53.280 What we get back from AI reflects what we put in. Therefore, we need to give our best: the best we have of humanity, the best ideas of development, to get something great back.
00:09:08.800 I think this is what’s exciting about this moment. Now, I believe that it is one of the opportunities we have that in 20 years of developing Ruby on Rails, we’ve gone through at least two and a half major crises in the industry. We are in one right now.
00:09:22.560 The 5.5% is the American Federal Reserve fund rate, which is the main interest rate governing things in the US. It is still heading up, and we are in this weird economic space where things are going.
00:09:37.040 Even if it’s painful, I think that some compression, some pressure, can cause us to rise to the moment and realize what’s important—the things we’re actually good at—and compel us to improve.
00:09:53.120 If I look back over the last decade-plus of the tech industry, you can sort of map it to this graph of long-term rates from the Federal Reserve fund rate. Around 2009, the rate went to zero and stayed there for the next six years.
00:10:08.640 In my opinion, this is what gave rise to a sort of sloth and indifference to productivity—an indifference to how capable individual programmers needed to be.
00:10:22.760 I think we’re rediscovering now, as rates go back up and the price of innovation becomes more significant, that this wasn’t a good place to be.
00:10:35.760 We need pressures from the economy, from startups, and from each other to stay productive. This was the original pitch of Ruby on Rails: that we had to be productive.
00:10:51.760 If you examine some of the things that were released during that era, it's not a mystery that we continuously got tools that enabled us to create slightly better versions of the same thing, but required far more effort.
00:11:07.680 This wasn’t a good direction; this setup represented a low productivity tolerance, which was a zero-interest phenomenon, and I’m glad we’re going to move past it.
00:11:20.680 The phase from 2009 onwards was a kind of productivity dark ages. Yes, we were able to produce slightly more grain, but we were using primitive tools that required a lot of labor.
00:11:34.880 My formative experience with Rails and Ruby was building Basecamp. We built Basecamp in about six months with one developer and two part-time designers, and it became a wonderful business.
00:11:48.680 That business has yielded hundreds of millions of dollars over the years. If we could do that in 2003-2004, we should be able to do so much more in 2023.
00:12:03.679 Yet, when I speak to startups and companies, and I hear about team sizes and specialization, it’s the opposite: it takes longer to create marginally different features, and that’s not a good place to be.
00:12:20.760 I believe this syndrome, these dark ages, were in part ushered in by companies that had early success, realizing they needed something different and more.
00:12:34.480 In many cases, that second round of ideas just wasn’t as good or didn’t apply to as many people in various circumstances. There was a discussion on Twitter recently about Twitter and the fact that it moved off Rails.
00:12:48.000 I was always curious about that story—here's a testimony from someone who actually worked at Twitter when they moved off. They moved off because they had a poorly designed Rails app.
00:13:03.760 That happens. Then they transitioned into what they thought was better: a constellation of Java microservices. For ten years, nothing happened.
00:13:17.320 They ended up pouring concrete over the application and hiring thousands of people but made no progress at all. Twitter, in many ways, exemplifies what can happen during these dark ages.
00:13:30.360 We think we’re making progress when, in reality, the incremental yield is so small. The same trend occurred at Airbnb, and these trends could be shown next to JavaScript frameworks.
00:13:44.640 But what is going to happen now is that the pendulum is swinging back because it has to. The forces of the economy will compel us to swing back. We will move away from this focus on part-stack developers.
00:13:58.960 We shouldn’t be aiming for smaller niches and ever more specialized tasks. We should design, install, and maintain everything, and we should be capable of doing all of these things ourselves.
00:14:12.080 There’s a funny anecdote in the Elon Musk biography about how the solar business struggled because designers weren't present when installations were happening, leading to inefficiencies.
00:14:27.760 This divides designers from implementers and creates inefficiencies. It codifies the split between part-stack developers and the holistic view we cherish in the Rails community.
00:14:39.960 Unless you are both designing and implementing, feeling the pressures of all the little bolts, you’re going to create something cumbersome. One of my favorite articles ever in the development world is Joel Spolsky’s 2001 piece, 'Don't Let Architecture Astronauts Scare You.'
00:14:54.160 It encapsulates the essence of this sentiment: architects work to solve problems they think they can solve, not problems that are useful. Tell me something new that I couldn’t do before.
00:15:07.360 Instead, these 'astronauts' often float out of touch with reality and waste our time. This reflects the last decade in tech—we need real progress.
00:15:22.080 What new things can we achieve in the last 10-15 years? We should embrace what is new, but also acknowledge that there has been much 'roundness' that has only resulted in spinning us in circles.
00:15:35.560 The ideal I look towards is Leonardo da Vinci from the 1500s. He painted the Mona Lisa but also explored the specific gravity of solids and developed ball bearings.
00:15:47.840 He embodied the merger of art and engineering, which should be our aim as developers. We should appreciate and embrace what Ruby provides, both in terms of the beauty of the language and productivity.
00:16:05.200 We are not just engineers; we are writers, artists, and, yes, code poets.
00:16:19.440 This duality enriches our work, allowing us to find joy in both creation and comprehension. We should aim to be more than just full-stack developers.
00:16:32.240 Maybe the term 'full-stack developer' has aged out a bit. Instead, we should be Renaissance developers—interested in all aspects of design, implementation, maintenance, and deployment.
00:16:45.520 That’s what is so wonderful about the Rails community: we tirelessly work to lower the barriers for new people to come in, enabling them to experience success.
00:17:01.080 We want them to see a Hello World example without hassle, while also providing a decade-long journey for them to learn, explore, and discover more.
00:17:15.440 There’s no division between who creates the framework and who uses it. Ruby is this magical environment where, at any time, if you wonder how something works, you can dive into the source and see what's happening.
00:17:30.800 You could look at a Ruby method while understanding its context. This leads to the idea of progress being good—it has been good.
00:17:44.240 I’m not saying that the height of all web development was in 2005. Absolutely not; we have developed a collection of great tools during this time.
00:17:58.560 However, we've done so on a bridge of complexity—trapped in complexity, wrapped in complexity. It doesn’t need to be that way.
00:18:10.800 Progress is not synonymous with complexity. Complexity is a bridge we use to get to simplicity. I believe this is what makes this moment so exciting.
00:18:24.960 There have been significant core developments that allow us to see the destination clearly now. We can recognize that this was arduous, but it's getting easier.
00:18:38.560 So, I’m going to talk about seven frameworks and libraries that have either recently been announced or will soon be released in the next 37 minutes.
00:18:51.860 This will be a tasting menu, not a deep dive into every single framework. A lot of this conference is packed with sessions dedicated to those frameworks.
00:19:07.160 But there are three bridges that I think have been traversed with varying degrees of complexity over the past 10-15 years, and we're now seeing a destination of simplicity that looks incredibly appealing.
00:19:24.000 Let’s start with the front end. The front end has experienced the most churn, the most change, both positively and negatively in terms of expectations for the kind of applications we make for the web today.
00:19:37.480 There has been a constant strain to keep up with that change, and some of that blame does fall on Rails because we have tried to adapt. We weren’t content to sit by and wait; we had to be part of the mix.
00:19:58.640 In 2019, we added Webpacker by default to the Rails stack, which was perhaps one of the few times we added a major new framework to Rails, knowing: 'I hope this doesn’t last.'