2018 Grant Accomplishment Report

The following projects have been completed, and their deliverables have been accepted by the grant committee.

memory saving of mruby

Project summary

mruby is lightweight and it needs less memory than CRuby. But microcontroller boards usually have a small amount of memory, so it is not easy to use mruby in some embedded environments.

In our project, we tried to make memory consumption of mruby even smaller, especially using ROM effectively.

Our goal is to use Ruby on small and cheap boards without losing Ruby’s flexibility.

Applicant

yamanekko(Maysayoshi Takahashi, Yurie Yamane)

Final report

Final report

Mentor’s report

Mentor’s report

R Markdown clone gem “rubydown” and its application

Project summary

In recent years, “notebook” which has codes and documents in one file is mainly used for sharing the data-science workflow. The two main implementations of the notebook are “Jupyter Notebook” and “R Markdown”. Although Jupyter Notebook has the extension to add Ruby language support (iruby gem), the software structure is more complicated than R Markdown and its maintenance is not easy. In this project, we create R markdown clone gem “rubydown” and show the application examples.

Applicant

Kozo Nishida
Kazuhiro Nishiyama

Final report

Final report

Mentor’s report

Mentor’s report

Enhancing Ruby’s concurrency tooling

Project summary

The objective of the project is to enhance Ruby’s concurrency tooling through the concurrent-ruby gem. The gem is well positioned to deliver the new tools to wide spectrum of Ruby users. When the project is finished three new concurrency abstractions (promises, actors, and channels) will be available in the concurrent-ruby gem. Their APIs will be designed to provide seamless integration with the other two abstractions, delivering more flexibility to their users. For better performance, a work stealing thread pool will be implemented and lock-free algorithms will be used when possible.

Applicant

Petr Chalupa

Final report

Final report

Mentor’s report

Mentor’s report

Implementation of Charty - Visualizing your data in Ruby

Project summary

Charty is open-source Ruby library for visualizing your data in a simple way. In this project, Implement Data Visualization Tool which has Visualization Layer and Data Abstraction Layer and can support multiple data types and multiple backends. Make the GR Framework available as a backend, and implement Collection Interface and Daru Inteface as Data Abstraction Layer to make it possible to support multiple data types.

Applicant

Kazuma Furuhashi

Final report

Final report

Mentor’s report

Mentor’s report