Member of Ruby and Rails CoreTeam, top 1 Ruby contributor, Ruby Hero 2010. Speaker at RailsClub 2014.
Biggest Russian Ruby on Rails event
At RailsClub 2014 he had a speech about the future of Rack.
We had a chance to ask Aaron few questions after the speech.
What are you working on right now?
Right now I'm working on a few things:
- Speeding up view generation (including routing) in Rails;
- Speeding up tests in ActiveRecord by investigating parallel execution;
- Working on Rack 2.0.
What is the best and worst part of your job?
The best part is helping other developers, and of course deleting code. I think my favorite thing to do is delete code! The worst part is trying to figure out why some code is the way that it is. Working on Rails is sometimes hard because the codebase is old in some places, so it's difficult to track down where some code came from, or why a particular bit of code is the way it is.
What’s your main achievements at the moment?
I think my greatest achievement so far is the performance improvements I did on ActiveRecord (called AdequateRecord). It took me years to refactor the code to get to the point I could make this type of performance improvement. It feels good to work hard on something for so long and to see it actually ship. Also being able to make performance improvements without changing any user facing APIs makes me very happy.
On your opinion, how will Ruby and Ruby on Rails develop in the future?
For Rails, I hope that we can improve the HTTP story in Ruby webservers. I want streaming responses to be a better supported, and use that as a launching pad for HTTP 2 support. As far as Ruby is concerned, I am excited to see improvements to Ruby's garbage collector. I think Ruby's long term future will be to add more concurrency constructs, maybe the actor pattern built in.
What’s the main problem which Ruby society faces at the moment?
On the far horizon for the Rails community, I think supporting HTTP 2 is very important and will be quite a challenge. We have lots of software that depends on HTTP 1.1, and I think it will be a challenge to upgrade.
What’s your favorite gem?
I think minitest is a good example. It's small and easy to understand. But I have to say that no gem is perfect. Everything has some problems, you just might not see it yet!
What rules would you propose to establish for the successful development of the Ruby project with 250000 lines of code by many developers with very different skill levels?
I guess the best rule I could give would be to have good communication among the team. Other than that, stick to the SOLID design principles. I think they are good rules for new people to follow, and as you gain experience, you'll begin to understand when it's OK to break those rules.
Is there any chance that MRI will get rid of GIL in the nearest future?
Probably not in the near future, but I do think it will happen.
Do you read any Ruby\Rails blog?
I usually read the ruby subreddit. Also I like listening to the Giant Robots podcast, but they don't really seem to talk about Giant Robots very often.
What do you like to do when not coding?
Mostly cooking and playing video games. Mostly cooking though. I am curing my own bacon right now!
RailsClub conference on which we managed to communicate with Aaron will take place this year in Moscow 23th of September.
Get your ticket here.