00:00:05.120
I am Rich Kilmer.
00:00:10.639
I'm going to give a talk about the fact that all this obsolete technology actually isn't obsolete, as we discussed earlier.
00:00:16.880
Let's move on to the first slide.
00:00:23.519
Before most of you were born, sorry for the color here, but this is RubyConf 2002.
00:00:28.840
I couldn't find any pictures from RubyConf 2001, but it was about the same size, with around 30 to 40 people attending.
00:00:35.600
The important thing about this slide is that you can see Avi right here.
00:00:42.000
I think that's him, but it could be Paul Brannon.
00:00:47.039
Anyway, we often had confusion about who was who back then.
00:00:52.879
In 2001 and 2002, at the first and second Ruby conferences, what was interesting was that Ruby was seen as a hobbyist language.
00:01:00.320
Everyone there was a hobbyist. I was actually out of work at the time, so everything seemed like a hobby to me.
00:01:06.880
This was during the dot-com crash, and no one would hire me because they thought I wanted their jobs.
00:01:12.080
It was really tough to find a programming job, so I picked up Ruby instead.
00:01:18.240
My wife thought I was insane for going to a developer conference when I hadn’t worked for eight months.
00:01:24.320
I told her I had to go because it was going to be great, and it was in Florida.
00:01:30.240
So, I went to this conference, and everyone thought at the time that Ruby's greatest strength would be in testing.
00:01:35.759
They believed Ruby would excel at testing other people's applications, especially Java applications.
00:01:41.920
The early discussions centered around executable specifications.
00:01:47.759
Dave Thomas and Andy Hunt looked at Ruby with the intention of encoding specifications.
00:01:52.840
This idea evolved; by 2001, we were already having conversations about acceptance tests.
00:01:58.079
It was fascinating to see that we were doing that with Ruby applications, Rails applications, and the like.
00:02:04.079
The early years were a bit lean; we didn’t have many sponsors.
00:02:09.200
Despite this, Ruby started to make an impact. Fast forward to 2005, when Rails had just been released.
00:02:17.840
At that RubyConf, we had about 300 attendees, which was a huge growth from past years.
00:02:24.160
It became clear we needed to split the conference into RubyConf and RailsConf.
00:02:30.080
In the back of that conference, you can see some of the tech from back then, quite old-school.
00:02:35.680
Not many people were using Macs at that time, and it wasn’t until later that DHH had a significant impact on our community.
00:02:42.080
The conference was a pivotal moment where hobbyists started turning into professionals.
00:02:48.480
At the first RubyConf, I submitted a bid to work as a subcontractor under BBN Technologies.
00:02:53.599
BBN helped create the internet and had a DARPA contract for a distributed multi-agent system.
00:02:58.640
There was a notable guy working on our project named Ray Tomlinson. Does anyone know what he did?
00:03:06.879
He wrote SMTP, the specification for sending emails.
00:03:13.200
So getting to work with the person who created email was pretty surreal for me.
00:03:21.360
Our project was entirely in Java and involved about a hundred thousand lines of code.
00:03:28.960
I got the call at the RubyConf that my bid was accepted.
00:03:35.360
We were tasked with building a testing harness for this distributed multi-agent system.
00:03:42.160
We also handled systems administration, and we decided to automate everything.
00:03:50.080
From early 2002 to 2005, we utilized Ruby to build a test harness, allowing us to run automated tests for our Java system.
00:04:04.240
This setup would generate Ruby scripts that would run massive tests, up to a million lines long.
00:04:10.080
For a million lines of XML, parsing it in Ruby was impractical, but Ruby handled the large scripts well.
00:04:18.720
Each Ruby process could control a cluster of 300 machines effectively.
00:04:25.760
In the early days, we had no automation for our multi-agent system, with only a handful of runs.
00:04:31.440
By the end of the project, we pulled off around 15 runs a night, showcasing Ruby's capability.
00:04:38.799
Those who claim Ruby doesn't scale or work are misinformed.
00:04:45.200
Rails started making a significant impact, and I was doing this work early on.
00:04:52.160
At the first RailsConf, there were approximately 600 attendees, a significant increase.
00:04:58.559
One notable thing from this conference was the overwhelming number of developers in startups.
00:05:05.919
Dave Thomas delivered the keynote speech, advocating that all developers deserve to be happy.
00:05:12.160
He emphasized the need to support the enterprise, but many developers were resistant to that idea.
00:05:18.480
Many argued they didn't care about the enterprise and preferred to focus on their niche.
00:05:23.680
As Ruby grew, we saw that RubyConf in 2006 had about 500 attendees.
00:05:30.160
The conference in Orlando was impressive.
00:05:37.680
RubyConf this year will be a blast, and there are tickets available.
00:05:44.400
We're anticipating around 800 attendees, which is quite significant.
00:05:51.200
RailsConf in 2008 boasted 1,800 attendees, highlighting Rails's popularity.
00:05:58.320
The attendance illustrates the divide between startup developers and those focused on internal applications.
00:06:04.320
Having discussions with consultancies revealed a growing focus on enterprise projects.
00:06:11.440
Over the years, the number of enterprise projects has increased dramatically.
00:06:18.560
There’s a significant need for applications in enterprises, and companies are adopting Ruby on Rails.
00:06:24.959
Many organizations have backlogs of applications needing development.
00:06:32.640
Balmer noted that there will be more applications written in the next five years than any previous period.
00:06:39.440
The backlog in IT at enterprises and SMBs is vast.
00:06:46.720
Many organizations are moving away from outdated systems like Cobalt, embracing newer technologies.
00:06:53.440
What are the current applications enterprises need? They are primarily departmental applications.
00:07:02.160
There’s a marked shift away from building complex enterprise systems to developing simpler applications.
00:07:09.600
For example, many organizations have applications in Lotus Notes, and they are porting these to Rails.
00:07:16.960
One intelligence agency is moving 40,000 Lotus Notes applications to Rails.
00:07:24.240
Another example is a bank in New Zealand that is porting 6,000 Lotus Notes applications to Rails.
00:07:31.520
These organizations are automating incredibly crucial applications.
00:07:37.760
Companies are moving away from proprietary systems and toward open-source solutions.
00:07:43.920
There’s an opportunity for Rails and Ruby to dominate this space.
00:07:50.080
I had the opportunity to train USDA developers who built a Rails application.
00:07:55.440
They used the Hobo framework on top of Rails and published a 300-page book on its development.
00:08:04.800
The USDA's CIO is a strong advocate for Ruby and Rails.
00:08:11.280
So, enterprises are increasingly developing Rails applications internally.
00:08:19.200
We should ask why it's important for Rails to be embraced by enterprise developers.
00:08:25.760
Diverse gene pools foster survival, and we must support this diversity.
00:08:32.320
If we ignore the enterprise developers, we risk stagnation.
00:08:39.440
Their work is crucial for building applications that serve the business.
00:08:47.360
We need to extend support and compassion to enterprise developers.
00:08:55.440
They are responsible for building vital applications that enterprises rely on.
00:09:03.600
What do enterprise developers need? Their requirements may differ from our expectations.
00:09:09.760
Instead of asking for changes to Rails, they need stability and predictability.
00:09:16.320
Enterprise developers are looking for control over deployments.
00:09:23.200
They want IT to manage deployment processes, not developers.
00:09:30.160
IT departments prefer stability and structural oversight.
00:09:35.680
Accountability is critical; they need to track who pushed code regarding deployment.
00:09:43.360
This level of oversight can be challenging in more fluid environments.
00:09:50.240
Talking with teams at MITRE revealed that they had 50 developers focused on Rails applications.
00:09:58.080
Despite that, application deployments took four weeks due to bureaucratic processes.
00:10:05.359
Enterprise processes are often more about control than about technology.
00:10:12.559
Our environments are complex, but Rails can help simplify many aspects.
00:10:19.360
Being able to see how a Rails application operates can boost confidence.
00:10:26.240
One of the perspectives I hope to share is how we can help enterprise developers do their jobs better.
00:10:34.080
Visualizing systems can demystify complex applications.
00:10:41.439
If we simplify processes for these developers, they will thrive.
00:10:49.360
I believe Interactive Development Environments (IDEs) can really aid average developers.
00:10:57.600
An IDE that wraps Rails and makes it more accessible will boost productivity.
00:11:05.760
Furthermore, this tool could provide visualization of models, controllers, and views.
00:11:14.080
A good IDE would help developers define models and see their connections visually.
00:11:23.440
It can promote clarity and simplify their understanding.
00:11:31.440
This could open Rails development to a broader base of developers.
00:11:40.880
We need to give average developers tools that help them succeed in Rails development.
00:11:49.360
Here's where I see an opportunity in the Rails ecosystem.
00:11:58.400
Many people are unaware of what is truly happening with enterprise developers.
00:12:07.200
They’re not broadcasting their work on Twitter; it’s a hidden revolution.
00:12:15.680
Enterprises are increasingly adopting Rails, and we should embrace this.
00:12:23.040
With the right support and tools, we can help broaden the reach and impact of Ruby and Rails.
00:12:31.440
Let's work together to enhance the Rails ecosystem.
00:12:41.600
Thank you, everyone!