タイトルの通りです。cryptoタグが付いているけどそこまでcryptoではない。あと技術要素は申し訳程度。
至るまでの経緯
- 2016/9: RubyKaigi 2016でErRubyの発表をしていた@jonhlinvc氏ほか台湾勢と仲良くなる。
- 2017/9: RubyKaigi 2017のRubyKaraokeとかAfter Partyとかでオーガナイザーの@ryudoawaru氏から「次の台湾RubyConfはRuby x Elixir Confである」ということを聞く。RubyKaigiはだいたい自費で参加してるが、Elixirだったら上手く行けば会社の支援得られそうだし、せっかくだしCFP出そうと考える。
- 2017/10頃: CFPの締め切りが年内に延びる。
- 2017/11〜12については前の記事参照。CFPの締め切りに間に合わず。
- 2018/2頃: チケットが発売されたので申し込む。LTに応募することにする。
- このへんもだいたい同じなのでだいたい技術書典の記事参照。
- 2018/3/20: LTのCFP前日に応募する。
- 2018/3/22: LTのCFP締め切りがなんと前日まで延びている。ナンダコリャ
- 2018/4/14: CFPが通ったことを確認。
- 2018/4/25: スライドの準備が終わる。
話したネタ
D言語でSHA3-256*1を実装してElixirから呼ぶ話です。
スライドの最後に書いてある通り、C++を経由することで
という問題があるため、Rustlerのように中間言語を挟まずDで直接NIFを書けるような解答が実際のところは求められていると思います。幸いにしてこれでNIFの仕組みが理解できたので少しずつ進めていけたらよいと思います。…が、実際に暗号ライブラリを本格的に書いてNIFするなら私はRust使うかなあ…数値計算だったらDかもしれんけど…。
だいたいここで話した内容はCでNIFやるときも同じです。ERL_NIF_TERM
から値を取り出す関数を使ってC言語で使える値を取り出し、その値を戻すときはERL_NIF_TERM
に入れて返します。
DのGarbage Collectionとの関連
正確なところは調べていませんが、ERL_NIF_TERM
に包んで返す際に値をコピーしているのでERL_NIF_TERM
がGCされて値が失われて死ぬみたいなことは起こらないのでないかと踏んでいます。
その他
あとは非技術記事です。
17時まで仕事をしてから19:40の便で成田を出て現地時間22:30頃着いた。なので市内に着いた頃には深夜。
ロケット団のアジトかな?
これなんてERG?…という冗談はさておき、ホテル出たところの様子。西門駅の近くなのだが、路地の真ん中にあり、道路に面している部分がかなり小さいので、最初に見つけるのに非常に苦労した。ホテル入ったらあっさり日本語が通じてびっくりした。
会場のChang Yung-Fa Foundationビル*2。手前は景福門。門を囲むように環状の道路になっている。
会場の中。
ノベルティの名刺入れ。デザインが非常によいので日常使いしたい。2列になってないとかそういうのはminor issueだ、RubyとElixirをやってる人間であるとわかることが大事なのだ。
ティーブレイクの様子。他のところだったらスポンサーブースで無限コーヒーが出ているが、ここでは無限烏龍茶。めちゃめちゃ美味かったので即お買上げでした。
いっちばーん!
…とは言ったものの、「しらつゆ」ではなく二十四節気に由来している。Taiwan Head Brewersが出しているシリーズもので、今のところ15種類あるらしい。
じゃないんだよなあ
2日目終了後に行った饒河観光夜市*3。写真5枚目の「大腸包小腸」は行く前に会社の人から「絶対食ってこい」と言われたものだったのだが確かにその感想もわかる。東洋人の口にはホットドッグはパンよりもお米のほうが合う。
饒河観光夜市がある松山(Songshan)と漢字が同じなためか、松山(まつやま)の道後温泉と同じようなからくり時計が置いてあります。
ルビイストは川に引き寄せられる運命だった…。
あの永和さんとは関係ありません。
ジャパニーズオタークーストア。台湾ラノベが売ってたので言語読めないけど買ってみた。そしたら日本語版がネットにあった。
繁体字中国語版ドミナリアを4パックほど買った。ドイツ語版とフランス語版を1boxずつ予約していたので、日本語と英語はどうせ剥くだろうと仮定すると5言語でパック剥くことになる。