十を聞いて一を知る

要領の悪い高専生がプログラミングをします。

RubyKaigi2017 2日目

こんばんはー。ぐりです。
昨日に引き続きRubyKaigiに参加してきました。
f:id:taira1999120:20170920010410j:plain

目次

  • 発表まとめ
  • 秋吉に行ったお話
  • 2日目まとめ

発表まとめ

Keynote

今日はMatzのkeynoteから始まりました。島根と広島には時差があるそうです
RubyKaigiはrubyのカンファレンスでは一番ぐらいの大きいカンファレンスだそうですね。
そんなカンファレンスが家の近くで開催される凄さを実感したり、そもそも僕みたいな低レベルでも参加できる懐の深さを感じたりしました。
f:id:taira1999120:20170920010420j:plain

keynote

  • 途中から
  • Matz is talented language designer
  • Matz “I love all programming langages”
  • rubyがまだ有名じゃない頃にpythonメーリングリストに乗り込んでpythonにけんかを売ったrubyの売り込みをした
  • simula
    • 初めてのOOL
    • シミュレーション用の言語
    • Dr. Kristen Nygaardが開発
      • すべてのOOLはわしの孫みたいなものでなぁ…
  • 継承はすごい
    • 最初はSingle inheritance
    • class Boku < Father, Mother
    • 多重継承は自然
    • 多重継承→ネットワーク構造
    • 単一継承→木構造
    • C3 MRO
    • mixin
      • 最初はFlavors(Lispの方言)で実装された
      • バニラにフレーバーを追加してクラスを作っていくイメージ
      • バニラが一番元になるクラス
      • フレーバークラス(i.e. chocolateクラス)のインスタンスは生成できない
      • moduleとしてrubyに実装
    • Alias method chain
    • 何が重要なキーワードかわからない…
    • Guerrila→Gorilla→Monkey Patching
      • Active Support
    • mixinとして導入されたModuleはいろいろな使われ方をしてきた

Ruby, Opal and WebAssembly

  • Cached in my brain
  • 今はJSでいろいろなことができるようになっている
  • DXRuby
    • Game framework by ruby
    • rubyをインストールしなくても動く
    • sprite = Image = coordinate + collision
      • 重い
      • rubyの+はArrayやStringにも使われるから
      • じゃあwebassemblyを使おう
        • だって早そうじゃないですか
  • WebAssembly
    • 最適化とダウンロード時間の両方に於いて便利
    • ダウンロード時間は.jsより早いけど実行時間はそんなに変わらない
  • 如何にWebAssemblyとRubyを使うか
    • Opal + WebAssembly
    • compile Ruby into webassembly
      • it’s hard
        • ruby is dynamic
        • ruby is dynamically typed language
        • runtime issue
          • network cannnot be accesed from webasse bly
        • GC issue
          • GC is not supported by webassembly
  • でもやりたかったのはrubyをブラウザで動かすことで、それはOpalがあるからいいのでは

What visually impaired programmers are thinking about Ruby?

  • NonVisual Desktop Access(NVDA ≠ NVIDIA)
  • 島根県安来市のHP→pref Shimane CMSに対応
  • viper
    • 聴覚インターフェースのためのrubyエディタ
  • 各プラットフォームで読み上げに対応してる
  • 視覚障害を持つプログラマーにとってのruby
    • 利点
      • 日本語のドキュメントが多い
      • 読みやすく書きやすく、書く量が少ない
      • サーバーエンジニアのツールになっている
      • TDD
    • 欠点
      • どうやってwindowsのアプリをビルドするのか
      • GUIアプリを作る場合は

Food And Wine

  • some libraries for machine learning are available
  • how to make your data better for learning
    • feature engineering: transforming inputs into predictive features
    • fill in missing data
      • impute with adjacent data
    • use only the inputs that are relavant
  • 人間は6つの味覚と物理的な何かを舌で感じる
  • 1E4 ~ 1E12 種類の匂いを鼻で感じる
  • Food Taraining Data
    • オンラインレシピサイトのレシピを使った
      • 例)ハンバーガーで6つの味覚を感じる材料を書き出して学習
    • ワイン
      • 人は信用できないから一般的なカテゴリ分けをした
    • 食べ物とワインのマッチングに必要なのは
      • 相乗効果で美味しくなること
    • マッチングの方法
      • match flavour intensity and weight
      • complement the basic tastes for harmony
      • match and contrast flavours, textures
      • origin of the wine and cuisine
      • avoid problematic combinations
        • high alchole makes spicy food more spicy

LT

みんな面白くて全然メモが取れなかった

Implementation of Web Standards in Mastodon

  • Ostatus
  • Sidekiq
  • activity pub

How to develop CRuby easily with Vim

  • 飯テロ

How to specify ~~~

  • –debut=frozen-string-literal is useful

Black Magic

  • sugoi

秋吉に行った話

今日は私用があってパーティーには参加せずに帰ったんですけど、途中で秋吉を見つけたのでつい入ってしまいました。
ちなみに初一人居酒屋です。お酒も飲めないのに笑
居酒屋のお作法はわかりませんでしたが、美味しかったので良しとしましょう。
お酒飲めるようになったらまた行こうと思います。
f:id:taira1999120:20170920010347j:plain
f:id:taira1999120:20170920010357j:plain

2日目まとめ

という感じでRubyKaigi Day 2のまとめでした。 今日はあまり興味がわかないタイトルが多かったですが、見てみると楽しかったです。

あちこちから機械学習系の話題が聞こえてきたのでrubyでも盛り上がっているようです。
が、聞いてみた感じ既存のrubyプログラムを使いつつ機械学習を組み込むには…みたいな話が多い印象だったのでゼロから始める場合にはまだpythonの方が強いのかなと思いました。

気になったワード

そういえば、今日お昼ごはんを食べに本通りまで行ったんですけど、そのときにMatz見かけたんですね。そりゃいるだろって感じなんですけど冷静に考えるとかなりすごくないですか? だってMatzがいるんですよ?というかrubyのコミッターがいっぱいいるんですよ?広島に。 すげー。 って言う独り言でした。

明日が最終日なので皆さん楽しんでいきましょう!! After Partyでお話できるのを楽しみにしています!!! それでは。