Saturday, May 2, 2015

Welcome to Google Summer of Code 2015!

Posted by febuiles

Google has announced the list of accepted projects for this year’s Google Summer of Code(GSoC). Rails has been granted 8 slots, here’s a brief introduction to the projects and the people behind them.

Performance Enhancements for the Asset Pipeline

Student: Martha de Luque
Mentors: Guillermo Iguaran and Josh Peek

Martha will be profiling, benchmarking and updating parts of our asset compilation process to improve our asset [re]generation speed. The initial scope of this project covers CoffeeScript, Sass and our Uglifier, but benchmarks will be guiding this effort to work where we can get the biggest benefits in these four months.

Evented File System Monitoring

Student: Puneet Agarwal
Mentors: Xavier Noria and Matthew Draper

ActiveSupport::FileUpdateChecker, the system we use for detecting changes in files (mostly for reloading purposes) has served us well over the years, but we’re done with polling. Puneet will be replacing our current design with a event-based approach that relies on existing third-party monitors (e.g. inotify or FSEvent).

Asset Pipeline Support for Source Maps

Student: Andrei Istratii
Mentors: Rafael França and Arthur Nogueira Neves

The goal of Andrei’s project is to give you good inspecting and debugging capabilities in environments where your code goes through various transformations (e.g. your CoffeeScript file being compiled to Javascript and then minified in your staging environment). With source maps you can use the existing tools your browser provides to do things like reading the CoffeeScript source or setting breakpoints on it.

Refactoring Action View and Active Support

Student: Islam Wazery
Mentors: Kir Shatrov and Carlos Antonio da Silva

Islam is adding some of the things we should already have in Rails, liked adding named arguments for Action View helpers (goodbye counting commas!). He will also be researching how to improve some of our core abstractions like ActionController::Parameters and ActionView::OutputBuffer to enable better security and performance.

Web Console Browser Extensions

Student: Hiroyuki Sano
Mentor: Genadi Samokovarov

Following up on the work of previous GSoC projects, Hiroyuki will be creating browser extensions for the Rails web console. Like the Source Maps project, this one will give you a better live debugging experience using standard tools that everyone has available already.

Test Failure Prediction

Student: Genki Sugimoto
Mentors: Robin Dupret and Josh Kalderimis

Aaron Patterson has touched upon some interesting ideas on predicting test failures using the experimental Coverage feature available in recent Ruby versions. Genki will be experimenting with this to see if we can make it a part of the Rails testing ecosystem.

Refactoring Cookies

Student: Siddharth Bhatore
Mentors: Kasper Timm Hansen and Prem Sichanugrist

Rails cookie handling is pretty basic, and although it works in most use cases, we can improve it. Siddarth will be adding server-side expiration mechanisms and purpose fields to our existing cookie jar, allowing us to have better control and security over our systems.

Improving RubyBench.org

Student: Kasif Gilbert
Mentors: Sam Saffron

In case you’re not familiar with it, RubyBench is an amazing effort to keep long running benchmarks for Ruby and related projects (like Rails). As you can see, our own benchmarks could use some love, so Kasif will be taking care of this. If everything goes well, JRuby support in RubyBench would be the next step for this project.


Fun Fact: 4 of the 14 mentors we have this year participated as GSoC students in previous years. Today they’re all active contributors around the Ruby/Rails ecosystem!

We hope to keep you up on important updates during the summer, but if you’re interested in staying up to date (or maybe lending a hand?) please make sure to subscribe to our mailing list.

Finally, we want to thank José Valim/The Pragmatic Programmers, Pat Shaughnessy/No Starch Press and O’Reilly for donating copies of Crafting Rails Applications, Ruby Under the Microscope and offering discounts on O’Reilly products to our students.

PS: In case you missed it, Ruby and SciRuby will also be part of this year’s GSoC! You can learn more in the Ruby GSoC and SciRuby Development mailing list announcements.