JVM Language Summit 2019(JVMLS) day 3

JVMLSに来ています。3日目。
JVM Language Summit — July 29–31, 2019

2日目まではこちら。
JVM Language Summit 2019(JVMLS) day 1 - きしだのHatena
JVM Language Summit 2019(JVMLS) day 2 - きしだのHatena

今日は3つのセッションとLTです。 終わったあとはみんなでコンピュータ歴史博物館に行きました。

Annotation for Java

寝坊して遅刻・・・
最初はNonNull/Nullableをアノテーションを使って型システムに組み込む話。
f:id:nowokay:20190801210248j:plain

Map.getはNullableだけど、コード上NonNullになるときもあるよね、とか。
f:id:nowokay:20190801210253j:plain

動画は今の時点(西海岸時間 3:28 日本時間19:28)ではアップされていませんね。

Fast type checking for Ruby

Sorbetというtype checkerを使ってRubyに型検査を導入する話
Sorbet · A static type checker for Ruby f:id:nowokay:20190801210404j:plain


Gradual typing for Ruby at Scale with Sorbet - Dmitry Petrashko

LT

ここで3つLT

最初は"It's time to remove checked exceptions!"っていう、ネタ的な話。LTらしさある。
f:id:nowokay:20190801210411j:plain

2番目はAzulのGilさんによる、Javaにチェックポイントを入れる話。 f:id:nowokay:20190801210415j:plain
動作中のJVM上の状態を保存して他のマシンで再開できるようにする、みたいな話でした。

3番目はEclipseの人の、Javaエディタをどう実装してるかという話。
f:id:nowokay:20190801210428j:plain

Differentiable Programming

機械学習でコーディングをもっと改善する、という話。
f:id:nowokay:20190801210442j:plain

FacebookのDeveloper InfrastructureチームのErik Meijerさんの話です。Wikipediaあるのね。
Erik Meijer (computer scientist) - Wikipedia

Aromaというツールを作っています。
Aroma: Using ML for code recommendation

資料がほぼ全部イラスト入りの手書きでめちゃくちゃかわいい。
f:id:nowokay:20190801210451j:plain

一番最初、ちょっと政治的な話から始まりましたが、YouTubeではそのあとから収録されてますね。
f:id:nowokay:20190801210436j:plain

話し方もめちゃくちゃおもしろくて、何の話をしてるかその場では全然わからなかったのだけどなんか面白い、という感じでした。
昨日のjWarmupの人は話の内容は面白いはずなのにずっと手元をみていて話し方が面白くなかったので、なんも面白くなかったというのと対照的。
というか、何の話をしてたかわかった上でYouTube見返すと、めちゃくちゃ面白いな、これ。

内容のほとんどは、二重数を導入して自動微分するという話でした。
f:id:nowokay:20190801210448j:plain
eは二乗すると-1になる数ですが、二乗すると0になるεを導入してa+bεという数を定義すると自動微分ができるっぽい。
二重数で自動微分する - Qiita

Scalaで二重数を定義して、各演算も定義すると、こう。
f:id:nowokay:20190801210455j:plain

で、なんかニューラルネットワークのコードがすっきり実行効率よく書けるようになるのだけど、最後にJVM線形代数ライブラリを導入してくれ〜そしたらPython使わなくていいんだ、という話で終わりました。
f:id:nowokay:20190801210507j:plain


Differentiable Programming with Erik Meijer

Lunch

ということで、 @ajis_ka による終わったのポーズでJVMLS終了です。
f:id:nowokay:20190801210512j:plain

ランチも出てましたが、Mountain ViewのComputer History Museumに行くのでそのあたりで食べるということに。
f:id:nowokay:20190801210518j:plain

行こうとしてた店はいっぱいだったので、隣の韓国料理屋さんで石焼ビビンバ。
f:id:nowokay:20190801210531j:plain

Computer History Museum

ということで、Computer History Museum
f:id:nowokay:20190801210634j:plain

Crayとかあってテンションあがる
f:id:nowokay:20190801210624j:plain

MSXもあった!
f:id:nowokay:20190801210544j:plain

データベースの記号がなんであんな形なのかわかるハードディスク
f:id:nowokay:20190801210621j:plain

説明をみてる @jyukutyo
f:id:nowokay:20190801210535j:plain

あと、IBM 1401の実際に動くデモがあったので見ます。
f:id:nowokay:20190801210548j:plain

デモの流れはこのツイートにぶらさげてるので、こちらを。

まんなかに鎮座するのがProcessor Unit。つまりCPU。
f:id:nowokay:20190801210600j:plain

メモリはコアメモリといって、磁石で記憶するやつ。6$/bitらしい。1401には4KBのメモリが載ってるらしいので、2000万円くらいですね。
f:id:nowokay:20190801210606j:plain

これがそのコアです。手は @skrb f:id:nowokay:20190801210616j:plain

楽しかった。

Dinner

晩ごはんを食べに、Mountain Viewのダウンタウンまで30分ほど歩きます。
f:id:nowokay:20190801213043j:plain:w400

途中、Googleのオフィスがあったりする。
f:id:nowokay:20190801210647j:plain

そして、まずはスイーツ。 f:id:nowokay:20190801210658j:plain

となると、スイーツを撮る @skrb を撮るのは重要
f:id:nowokay:20190801210710j:plain

そのあと、自家醸造してる Tied House Cafe & Brewery
f:id:nowokay:20190801210716j:plain

ビールを!Alpine Goldおいしい。
f:id:nowokay:20190801210720j:plain

ハンバーガー、1/3サイズというのを頼んだら、マクドナルドの倍くらいの出てきました。1/1サイズどんだけ・・・
f:id:nowokay:20190801210730j:plain
1/2ポンド400gが標準らしくその1/3なので75gくらい。 @megascus 情報でマクドナルドが45gなので、やはり大きい。
8/2 追記 @skrb 情報で、1/3ポンドということなので150gっぽい。

ということで、JVMLS最終日終了。おつかれさまでした!