RailsClub 2015: Interview with Kir Shatrov

    Hello!

    A new week and a new interview with the speaker of the RailsClub 2015 conference , which will be held on September 26 in Moscow. Today, Kir Shatrov , lead developer at Evil Martians, Rails contributor, and lead RubyNoname Podcast, answers questions .

    image

    In your opinion, in what direction will Ruby and Ruby on Rails develop in the coming years?

    At Rubyconf 2014, Matz said one of the tricks of Ruby 3 would be to maintain competitiveness. The makings of this already appear in the form of gems - for example, concurrent-ruby , which is already used in the insides of the Rail. I think that now it will become one of the tasks in the development of the language; without good competition support, Ruby may not have a future.
    As for Rails, I'm glad that over the past year there have been alternatives to the rail stack: for example, Lotus and ROM. Adaptation of alternative frameworks at the community level will help to open the eyes of developers and talk about the fact that besides the rail there is still something: other approaches and other paradigms.


    What is missing in Rails?

    Inside Rails, there is enough. In the fall there will still include ActionCable. What is missing is more modularity. It is possible, but nobody uses it - how many friends do you have that use Sequel or ROM instead of ActiveRecord?
    I think that the popularity of competitors could give rails an incentive to rewrite monolithic components such as ActiveRecord.


    Favorite programming language after Ruby, why it?

    I used to love Go, but after I saw Clojure, my opinion about Go changed :) Clojure bribed with its beautiful syntax, the presence of REPL and a functional approach. After experimenting with Clojure, looking at the code on Go even got a little painful. The main disadvantage of Clojure for me is that this language is less popular in production compared to Go, so for now I have no idea how to use it in a combat project.


    What, in your opinion, technology will be the most promising in the near future?

    In my opinion, 70% of Rails Core Team developers - and other reputable developers - are wild fans of Rust. I think that he will gain a certain audience as soon as he becomes stable. Although some lack of stability does not stop - for example, Yehuda Katz already uses it in its serviceSkylight .


    What is Open Source for you? What projects do you participate in and why?

    OpenSource and Github provide an opportunity to work together with very talented people who have something to learn.
    1% of developers create frameworks, and 99% consume them. It’s also nice when you know that your code runs on a thousand machines.


    Favorite resources (blogs / sites / twitter) on the topics of web development and programming?

    I closely follow the work of Richard Schneeman - the author of derailed, a set of utilities for the benchmark rail applications. He also recently optimized the response time in Rails by almost 10% .
    I can recommend This Week in Rails newsletter- it contains all the interesting bugs and pull requests in Rails for the week.


    Best Read Programming / Technology Book?

    Definitely Ruby Under a Microscope , which gives an excellent understanding of the data structures in the language, and how they are implemented in MRI, JRuby and Rubinius.


    What advice would you give developers who want to succeed?

    In ruby ​​and rails there are many magical things that work out of the box, immediately after adding a gem to the project. Many developers are so happy about this that they don’t even think about how it actually works.
    It seems to me that if we read more source codes of gems instead of googling or reading documentation, then we would much better understand the subject area.
    Therefore, advice - every time you have a question, feel free to type bundle open gem and read the sources. And do not be afraid to read the source of the rail :)


    Not tired of programming?

    Tired of it. The last six months I have been trying to get as far away from programming in my free time as possible. I'm going to go to carpentry courses and start making furniture. In my free time I like to cook, and in July my colleague and I rode a thousand kilometers on bicycles in Germany and Denmark.


    What would you do if you had 2 months of free paid time?

    I have been going to port the ActiveRecord Attributes API inside the ActiveModel for a long time, so that typecasting and multiple attributes finally appear in ActiveModel. Now for this you need to use a third-party gem - for example, virtus. This would make it even better to pump Form Objects in the default composition of Rails.

    I would also try to write my own, modern solution for storing files in ruby ​​applications. It seems to me that now the community lacks such a solution, because Carrierwave is obsolete (it was written for Merb in 2008), and the new Refile has an excellent architecture, but its file processing is far from ideal.

    I already made my first attempt (see Storage ), but came across architecture problems, I decided to rewrite everything, but I still could not find for this time.

    Thanks for the interview and see you at the conference!

    September 26 Cyrus will come from Helsinki to perform at RailsCllub. Full program and registration on our website .

    At the conference, we are waiting for the Russian version of the report of Cyrus with RailsConf 2015 in Atlanta.
    Using the beta version of Rails 4.2 as an example, we saw how often performance regressions can occur in the Rails framework, and how easily they can go unnoticed.
    The issue of performance and its regressions is becoming more acute in the Ruby community. This prompted me and other Rails contributors to develop Rubybench, a service for finding performance regressions in Ruby and Rails.

    In his talk, he will look at performance regressions with examples of commits from Rails, talk about building benchmarks for Ruby applications, and demonstrate Rubybench and its architecture.

    Our sponsors


    General partner: Toptal
    Golden partner: Cloud Castle
    Silver partners: AT-Consulting and Honeybadger
    image
    Honeybadger is a service that monitors the exception, uptime and performance of your applications. When a problem occurs, Honeybadger sends a notification by e-mail, chat, or even a message to a mobile. You can quickly fix bugs and build cool applications without being distracted.

    Bronze partners: Rambler & Co and Look at Media

    Stay up to date with our newsletter by subscribing to the newsletter on railsclub.ru and stay tuned:
    RailsClub.ru
    twitter.com/railsclub_en
    facebook.com/railsclub

    Also popular now: