GSoC/GCI Archive
Google Summer of Code 2015

Ruby

License: New and Simplified BSD licenses

Web Page: https://github.com/rubygsoc/rubygsoc/wiki/Ideas-List

Mailing List: https://www.ruby-lang.org/en/community/mailing-lists/

A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

Projects

  • Breaking Changes and New Features for Bundler 2.0 There are many high-priority bug-fixes and features that need to be implemented for Bundler 2.0, and several desired features break Bundler's backwards compatibility and thus need to be carefully added. My goal is to implement, document, and test at least three of these features.
  • Deadlock detection for Celluloid Celluloid is an Actor based concurrent system, which you can use in your project to do concurrent tasks. When the system become more complex the potential of happening deadlock increases. My task for the GSoc period is to create a deadlock detector to handle when a deadlock happens.
  • Filesystem monitoring support for nio4r Both libev and Java NIO2 have APIs for evented filesystem monitoring. However, nio4r does not presently expose these APIs into Ruby. This project would involve creating an abstract filesystem monitoring API that interacts with NIO::Selectors in a generic way and exposes the some API on both CRuby and JRuby. This would allow filesystem monitoring within the same event loop as other nio4r events
  • Implement the new bundler index This is a project to implement the new index helper proposed and prototyped by AndrĂ© Arko. This index will allow Bundler to do exactly what it does today but using less network and server resources. In the end we will have all necessary implementation done and a test version. The objective of this project is make rubists happier by using a faster bundler, and bundler developer hapier by not having to lose their sleep.
  • Maintain Bundler: a very popular and widely-used open source project Reformat the bundler website, keep documentation up-to-date, triage bug reports and in general help keep the bundler project in good shape.
  • Sidekiq: Improve Job and Worker Metrics Creating a plugin for displaying full information and statistics about workers and jobs in sidekiq web ui.