Ruby Prize 2023 受賞者インタビュー
Ruby Prize 2023
Prize Winner
Kevin Newton
受賞理由/まつもとゆきひろ委員長より
Ruby言語をサポートするツールにとって、Rubyの構文解析機能は重要ですが、これまでは個別のツールで実装する必要があり、バージョンアップへの対応が困難でした。Ruby本体と共有できる構文解析器をツールから使いやすい形で提供できれば、これらの問題は解決できるはずですが、その達成は困難でした。Kevinはこの困難さに挑戦し、大きな成果をあげました。彼が開発した再起下降構文解析器である Prism はRuby 3.3でRuby本体に組み込まれる予定です。また、この挑戦は、既存のRubyの構文解析部の急速な進化も促しました。
The Ruby parser is important for tools that support the Ruby language, but until now it has had to be implemented in a separate tool, making it difficult to keep up with version upgrades. Kevin took on this challenge and achieved great results. His recursive descent parser, Prism, will be integrated into Ruby 3.3. This challenge also prompted a rapid evolution of the existing Ruby parser.
Ruby Prize 2023
Final Nominees
Hiroya Fujinami
藤浪 大弥
受賞理由/まつもとゆきひろ委員長より
Rubyの持つ機能の一つである「正規表現」は大変便利なものですが、ある種のパターンについて指数関数的実行時間を要する課題があります。これによってReDOSと呼ばれるセキュリティ攻撃が行われる可能性があることが知られています。他の言語ではマッチする文字列長を制限するアプローチを取るものもありますが、藤浪さんは「メモ化」という技術を使ってReDOSを本質的に解消することに成功しました。アルゴリズムで課題を解消する態度は大変「かっこいい」です。尊敬します。
One of Ruby’s features, “”regular expressions,”” is very useful, but it has an issue that requires exponential execution time for certain patterns. It is known that this can lead to a security attack called ReDOS. While some other languages take the approach of limiting the length of strings to be matched, Fujinami has succeeded in essentially eliminating ReDOS by using a technique called “”memoization. His attitude of solving issues with algorithms is very “”cool””. I respect him.
Ruby Prize 2023
Final Nominees
Yuichiro Kaneko
金子雄一郎
受賞理由/まつもとゆきひろ委員長より
Rubyの構文解析部分を担当するparse.yは「魔境」と呼ばれる難解な構造でした。しかし、この部分を処理する Bison というプログラムの制約からこの難解さを解消することは困難で、この30年間あきらめられてきました。金子さんは Ruby で記述された Bison 上位互換のソフトウェア(Lrama)を自ら開発することで、この難解さに果敢に挑戦しました。また、Kevin Newtonの Prism と切磋琢磨することで、Rubyの構文解析部の進化を牽引しました。
parse.y, which is in charge of the parsing part of Ruby, was an intractable structure known as the “”Magic Circle. However, due to the limitations of the Bison program that handles this part, it was difficult to solve this difficulty, and it has been given up for the past 30 years. Mr. Kaneko boldly took on this challenge by developing his own software (Lrama) written in Ruby that is upward compatible with Bison. He also led the evolution of Ruby’s parser section through friendly competition with Kevin Newton’s Prism.
Ruby Prize 2023ノミネート者が決定しました。
グランプリは以下の皆様の中から決定されます。
藤浪大弥
(Hiroya Fujinami)
Ruby 3.2において正規表現エンジンの根本的な改良を行い、ReDoSという脆弱性のリスク・エコシステム全体としてのコスト(gem作者のセキュリティリリースを行うコストや、Rubyユーザのアップデートを行うコスト)を大幅に下げ、その後もさらなる改良を続けている。
He conducted a fundamental revamp of the regular expression engine in Ruby 3.2, greatly brought down the risk of ReDoS vulnerability, and overall cost of the ecosystem (the cost of doing a security release for the gem creators, the cost for conducting updates for the Ruby users) and has been continuining with maintenance activities.
金子雄一郎
(Yuichiro Kaneko)
Ruby をソースビルドする際に使用されていたパーサージェネレーター Bison はバージョンが異なるとソースビルドできなくなるという問題を抱えていたが、Ruby 製パーサージェネレーター Lrama はその問題を解消し、”魔境”と称される parse.y を誰でも保守できるよう精力的に改善の努力をしている。
There was an issue that you could not source build if the versions of parser generator Bison were different. However, Lrama, the parser generator made in Ruby solved that issue. Along with that he has industriously improved parse.y, commoly referred to as the ‘Demon’s Lair’ in a way that anyone can do maintenance on it.
Kevin Newton
Ruby 3.3-3.4にかけてのPrismの開発で多大な貢献をしている。JRubyやTruffleRubyとの連携も順調に進んでおり、Rubyエコシステム全体がより良くなる大きな役割を果たしている。
Has contributed greatly to the development of Prism for Ruby 3.3-3.4. The linkage to JRuby, TruffleRuby etc has been progressing smoothly. He has been playing a great role for overall improvement of the Ruby ecosystem.
小野直人
(Naoto Ono)
Rubyのデバッガの拡充によるプログラムの可視化についての貢献。
Contributed to the visualization of the program by the expansion of the debugger in Ruby.
Masataka Pocke Kuwabara
RBSの整備に対する多大な貢献。
Contributed greatly to the maintenance RBS.
Mat Sadler
Magnus の開発者。これまでに、wasmのランタイムのRubyバインディングの「wasmtime-rb」など、次の時代のRubyのエコシステムを支えるであろう複数の重要なGemが、Magnusを使って実装されている。今現在、そしてこれからMagnusがRubyのエコシステムに与えるであろう影響は非常に大きなものがあると思う。
Developer of Magnus. Magnus was used in the implementation of multiple important Gems like ‘wasmtime-rb’, a Ruby binding for wasm runtime, which will support the ecosystem of Ruby in the future. The influence that Magnus currently has and will have on the ecosystem of Ruby is thought to be quite big.
Samuel Williams
サムエルはasync Rubyに大変貢献しています。variable.cにおけるオートロードコードの改善も行われ、とても大きい役割を果たしたように思います。彼はとても良い人間でもあり、ルビーコミュニティの人間の価値を反映しています。
Ruby Fibersとその関連のものやルビーのエコシステム全般に多大な貢献をしています。
Samuel has worked a lot on async Ruby. Also, improved autoload code in variable.c, which I believe represented a significant effort. He’s also a very nice person that reflects the human values of the Ruby community.
Incredible work on Ruby Fibers and related contributions throughout the Ruby ecosystem!
Mehdi Farsi
長年Rubyistを支える多数の無料コンテンツを提供してされており、大変素晴らしい功績です。
The amount of free content available to help Rubyists for many years
is simply INCREDIBLE.
過去の受賞者一覧
- Kevin Newton
- Yuta Saito
- (kateinoigakukun)
- Maxime
- Chevalier-Boisvert
- Jeremy Evans
- Sakura Itoyanagi
- 糸柳 茶蔵
- Takashi Kokubun
- 国分 崇志
- Ryuta Kamizono
- 上薗 竜太
- Kazuki Yamaguchi
- 山口 一生
- Naoki Nishida
- 西田 直樹
- Hiroshi Sibata
- 柴田 博志
- Tomoyuki Chikanaga
- 近永 智之
Ruby prize Special Interview
Yukihiro Matsumoto and Akihito Uesada
対談
Ruby City MATSUE
プロジェクトのこれから
Ruby Prize まつもとゆきひろ委員長×上定(うえさだ)松江市長ショート対談
(司会進行/しまねOSS協議会 会長 井上 浩)
※動画は2021年に公開されたものです