Performance Enhancements for the Asset Pipeline
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
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.
Asset Pipeline Support for Source Maps
Refactoring Action View and Active Support
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
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
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.
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.
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.