Friday, May 23, 2014

Meet our Google Summer of Code students and mentors!

Posted by Godfrey Chan

Google has announced the list of projects that were accepted into the Google Summer of Code (GSoC) 2014 program. I’m extremely excited and proud to announce that Rails has been granted eight project slots this year. Here’s what our students will be working on this summer and the mentors that they are working with:

Unifying controller and integration tests

Alan Guo Xiang Tan will be working on unifying controller and integration tests. This would help to improve the performance of integration tests and encourage more full-sprecturm testing.

Joining him on this effort will be Rails committers Matthew Draper and Yves Senn.

Long-running Ruby and Rails benchmark

Bert Chang will be creating a set of long-running benchmarks for Ruby and Rails. This will help both projects continuously monitor how their commits are impacting real-world performance, which will help discover and respond to regressions much earlier in the development cycle.

He will be mentored by Damien Mathieu, a longtime Rails contributor.

Form models

Petros Markou will be exploring different API designs to help reduce coupling between the view and model layer.

Carlos Antonio da Silva, a member of the Rails core team, will be assisting him along this journey.

Improving compatibility with other Ruby implementations

Robin Dupret will be getting the Rails test suite passing on alternative Ruby implementations, such as JRuby and Rubinius. This work will help improve the compatibility of Rails on these platforms.

Ben Browning (JRuby and Rails contributor), Vipul A M (Ruby and Rails contributor) and Federico Builes (Rubinius and Rubyspec contributor) will be joining forces to help Robin with his project.

A web-console in your error page

Last year, Genadi Samokovarov developed a web-based console in his GSoC project. This year, Ryan Dao will continue that effort and integrate the web-console project into the error page you see in development mode.

Fittingly, Genadi himself will be mentoring the project along with core team member Guillermo Iguaran.

Refactor URL generation and recognition code

Ujjwal Thaakar will be improving Rails’ internals by refactoring parts of the routing code that are no longer necessary thanks to Journey.

He will be mentored by Andrew White, another member of the Rails core team.

Security upgrades

Xuchu Zhang will be picking up the task of improving Rails’ security defaults and other related features. This effort would help ensure that Rails remains secure out-of-the-box. Plans include implementing support for the latest security features in modern browsers and auto-expiring cookie jars.

Godfrey Chan, a Rails committer, and Rafael Mendonça França, a core team member, will be mentoring Xuchu for this project.

Randomizing the Rails test suite

Last but not least, Zuhao Wan will be eliminating any leakage of global states in our test suite so that it can be run in randomized order without errors.

Rails committer Yves Senn will be assisting him on this project.

Towards a bright future

I don’t know about you, but after seeing this list of amazing projects, I am genuinely getting very excited about the bright future for Rails. By the end of this summer, not only would we gain a few great new features, but we are also helping to nurture some new contributors in Rails and the wider OSS community, how great is that!

Finally, we’d like to thank every single student and mentor who participated in the Google Summer of Code selection process. There were many great proposals and we’re really excited to be able to work on so many of them this year.

<3 <3 <3 <3 <3

P.S. If you enjoyed this post, you should also check out GSoC’s sister project – the Rails Girls Summer of Code initiative, where another seven (Update: 15!) awesome teams will be working on some equally impressive projects in our ecosystem. Did I mention how incredibly excited I am about this summer?