2020年度Rubyアソシエーション開発助成金成果報告

2020年度に採択されたプロジェクトの応募者による最終報告書及びメンターによる報告書を掲載致します。

mini mruby compiler (mmrbc)

プロジェクト概要

mmrbc(mini mruby compiler)はRubyスクリプトをmrubyのVMコードへコンパイルする。256 KiB ROM, 128 KiB RAM程度のワンチップマイコンを動作環境として想定している。これは、mruby標準添付のmruby-compilerでは動作できない小さなリソースである。 小リソース環境向けのmruby VM実装であるmruby/cとmmrbcを組み合わせることにより、ワンチップマイコン上でRubyをインタプリタ実行できるようになる。

このシステムの用途は、コンパイルツールチェインなしで開発できるIoTデバイス入門キット、本格的な組み込みアプリケーション開発時の実機デバッグのサポート、Smalrubyと統合した学校教育向けセットアップなどが考えられる。

採択者

Monstar Lab, inc.

最終報告書

最終報告書

メンター報告書

メンター報告書

Views support for NumRuby and Ruby-Sparse improvements.

プロジェクト概要

NumRuby is the re-implementation of popular dense matrix library NMatrix. It is re-implemented with the primary focus being performance and scalability. It has shown upto 100x speedup for the fundamental functionalities such as elementwise operations. This project aims at adding Views support to the NumRuby library. Views are used to have multi-dimensional data structures that exchange data without creating copies which saves a lot of memory and execution time.

Sparse matrices are an important part of scientific computing. Ruby-Sparse library is aimed to build an efficient and feature-rich end-user intended Sparse matrix library in Ruby with interfaces to popular dense matrix libraries (like Numo-Narray, NumRuby[NMatrix]) with linear algebra support.

採択者

Udit Gulati

最終報告書

最終報告書

メンター報告書

メンター報告書

Ruby-htslib - 次世代シーケンサーのデータをRubyで操作する

プロジェクト概要

Ruby-htslibは、ハイスループットシーケンス(HTS)データを処理するためのCライブラリであるHTSlibのRubyバインディングです。SAM/BAM、VCF/BCFなどのファイルフォーマットを読み書きするためのAPIを提供します。

近年、ライフサイエンス分野では、DNAやRNAの配列を読み取る次世代シーケンシング(NGS)技術が普及しました。私たちは、高速シーケンシングのファイル形式をRubyから操作する方法を提供することで、ゲノミクスにおけるRubyのエコシステムの向上を目指します。

採択者

kojix2

最終報告書

最終報告書

メンター報告書

メンター報告書

rubyの標準ライブラリSocketへのHappy Eyeballs Version 2 (RFC8305)の導入

プロジェクト概要

rubyの標準ライブラリSocketには、rubyを実行するホストがIPv6アドレスを持つにも関わらず接続先とIPv6での通信を行えない場合、接続を試みたまま数十秒程度プログラムが停止してしまう問題がある。 この問題により、意図せずプログラムが停止してしまう場合があるほか、RubyGemsでのパッケージ取得にも支障が生じる場合があることが報告されている。 本プロジェクトでは、rubyの標準ライブラリSocketにHappy Eyeballs Version 2 (RFC8305)で規定される接続試行アルゴリズムを導入することにより、IPv6での通信が確立しない場合は速やかにIPv4へフォールバックさせることで上記の問題の解決を目指す。

採択者

松下 正樹

最終報告書

最終報告書

メンター報告書

メンター報告書