- 開発
READ MORE
こんにちは、hachi8833です。RubyKaigi 2019サイトにスライドや動画が続々掲載され始めていますね。前回はスライドを記事に貼っていましたが、今回からは控えめにします。
そういえば、早くも来年のRubyKaigi 2020@松本のディレクトリができていますね。
誤りや追加情報などがありましたら@hachi8833までお知らせください。
AWS Lambdaの中の人でRuby runtime for AWS Lambdaの作者である@alexwwoodさんのセッションでは、LambdaでのRuby実行の実演が中心でした。DynamoDBをActive Recordっぽく扱えるgemを紹介したり、イヌ写真をレーティングするデモアプリを動かしてみせたりしました。
AWSエンジニアである@tonguerooさんは例のRuby on Jetsの作者です。morimorihogeさんが「productionに乗せられるものを作れそう」とJetsに期待を寄せていました。
Here are the slides to the Jets talk in #rubykaigi 👍 https://t.co/DXp1oPA4it #rubyonjets #awslambda #ruby
— Tung Nguyen (@tongueroo) April 20, 2019
4年前のRubyKaigi 2016@京都で@mrknさんのセッションを聞いたときは、Rubyにおけるデータサイエンス向けライブラリやツールはかなりお寒い状態だったと記憶しています。
参考: データサイエンスにおけるRubyの現在の位置づけと可能性 | しまねソフト研究開発センター
しかしその後@mrknさんをはじめ多くの方々がRed Data Toolsというプロジェクトを立ち上げて精力的に活動し、red-chainerフレームワークやpycall、Apache Arrowをはじめとして、今回のRubyKaigi 2019ではデータサイエンス/深層学習方面の発表が増えていて、4年前からは想像できないぐらいRubyのデータサイエンス方面が充実しつつあると感じられました。
参考: Red Data Tools - Rubyでデータ処理!
@sonotsさんと@hatappiさんのセッションはRed Chainerの速度をCumo(GPU向け数値計算ライブラリ)で改善したり、ONNXで他のフレームワークのモデルを利用する話でした。
I've uploaded the slide of our (me and @hatappi) today's talk!! #rubykaigi #rubykaigiD https://t.co/4RKKTd67vZ
— そのっつ (Naotoshi Seo) (@sonots) April 20, 2019
「Programming Machine Learning」の著者でもある@nuscoさんのセッションは、深層学習の原理を解説するとともに、既存のライブラリをあまり使わずにRubyで深層学習をやってみるという企画でした。
Day1の@youchanさんのセッションは見られませんでしたが、幸いDay2夜のコード懇親会のNLP(自然言語処理)のテーブルで、@youchanさんのご指導のもとで私もNLPのいろはである「MeCabでの日本語品詞分解」を初めてやってみる機会を得られました🙏。コード懇親会では他にもさまざまなお題ごとにテーブルに分かれてもくもく楽しくコーディングしていました。
参考: MeCab: Yet Another Part-of-Speech and Morphological Analyzer
CSVセッションを見たkazzさんによれば「リファクタリングがキレイな雰囲気で好感❤️」だったそうです。
初日のキーノートの中で、「Rubyのスレッドについては、当時マルチコアの未来を予測できず、導入を後悔している」「GUILDやAutofiber(名前は変わるかも)が定着したらスレッドが使われなくなるようにできるのではないか」とMatzが話していたのが印象的でした。
年のせいか個人的に最も胸アツのセッションでした😂。太古のApple II(正確にはApple IIc)で無理やりRubyを動かすという企画です。
6502 CPUはクロック1MHz(!)、メモリ容量もファミコンと大差ないときているので、そのままではCRubyはもちろん、ライブラリをすべて取っ払ったmrubyすら動かず、それ以前にgccが動きません😇。さらにApple IIのキャラクタモード(文字がROMに焼き込まれている)には英小文字がないという難攻不落ぶり。
そこで「nRuby」と称して全部6502アセンブラでRubyを書き下ろしたそうです。生成できるオブジェクトの上限は256個までと決める代わりに、Rubyの基本的な挙動は可能な限り再現するという手加減なしの追い込みに魂が震えました❤️。発表時点では惜しくも完全に動かすところまではいかなかったのですが、それでもアセンブラでテスティングフレームワークまで作ったのだそうです。Apple IIを直接プロジェクターにつないでやってるので、矢印を無理やりインポーズするなど工夫をこらしていました。
TK-80で遊んでいた私には、画面に映った6502アセンブラリストが懐かしすぎてうるっときてしまいました😭。カンペ見なくてもLDY、STA、BNEとかの意味を思い出せるっ!ゼロページアドレッシングモード!NMI!、IRQ!
1ドル=240円のあの時代、Apple IIはあまりにも高価でした(FDDとプリンタのフルセットで80万ぐらいだった覚えがあります💸)。
READ MORE
READ MORE
READ MORE