2022 Grant Accomplishment Report
The following projects have been completed, and their deliverables have been accepted by the grant committee.
Introducing Quarto into the RubyData ecosystem and promoting the combination to the Ruby community
Project Summary
In this project, I will add Quarto to the RubyData ecosystem and work for community activities to promote the use. Quarto is an open source scientific publishing system built on Pandoc. Quarto can generate content containing program execution results in various formats, using Jupyter kernels, etc. Through the realization of this project, I will share the Quarto benefits with (not only Python / R but also) Ruby community.
Applicant Name
Kozo Nishida
Final report
Mentor’s report
RedAmber - A simple dataframe library for ruby
Project Summary
RedAmber is a data frame library written in Ruby. It uses Red Arrow’s Table as its backend, and is expected to be a fast, versatile, functional, and future-proof library. The columnar data is called Vector, and the various vector arithmetic methods can be used to intuitively describe columnar and column-to-column operations. This API is inspired from Rover (rover-df), a data frame library also written in Ruby. I am also aiming for a simple API written in a Ruby-like manner, using blocks, method chains, and primitive Ruby collection classes. As activities for this year, I will implement further features, contribute to Red Arrow through feedback, improve performance and code quality, maintain documentation, and work on promotional activities.
Applicant Name
Hirokazu SUZUKI
Final report
Mentor’s report
Porting the QUIC protocol implementation from other languages and creating original implementation in Ruby
Project Summary
The QUIC, an internet protocol standardized in 2021, is spreading rapidly, and implementations in various programming languages are growing. Some programming languages have multiple implementations, but Ruby has no publicly available implementation. This project aims to create a Ruby implementation of the QUIC protocol eventually. As an initial step, we will port aioquic, a Python implementation of QUIC, to Ruby to establish guidelines and knowledge for QUIC implementation.
Applicant Name
unasuke (Yusuke Nakamura)
Final report
Mentor’s report
Ruby Reference Manual Improvement Plan 2022
Project Summary
We are currently using BitClust to generate the Ruby Reference Manual. BitClust uses RD-based notation, which adds its own preprocessor and other features to RD, and modifies inline notation and other features.
Currently, RD-based notation is not popular, and it is difficult to learn RD-based notation even if you want to contribute to the Ruby Reference Manual.
Therefore, this project aims to migrate the documentation source from RD-based notation to Markdown-based notation, which is currently the most popular notation among programmers.
Applicant Name
Ruby Development Inc.