2018年9月4日〜5日にニューヨークで開催された try! Swift 2018 New York に登壇してきました。25分のトーク+25分のオフィスアワーで質疑応答、というのが私に与えられた枠でした。トーク内容は前回のtry Swift Tokyo の5分間LTで発表した超解像+CoreMLの話のロングバージョンです。
発表資料は以下
動画もそのうちYouTubeに上がると思います。
いまは空港で帰りの飛行機待ちです。時間があるので忘れないうちに、時系列順で起きた出来事、行ったこと、思ったことを書き綴ります。面白かったセッションは最後に列挙します。
2018-04-04 Natashaからの招待
3月に行われたtry! Swift Tokyoが終わって数週間後に主催者のNatasha から9月のニューヨークで話さない?と招待が来ました。おそらくTokyoでのLT発表がそこそこウケた+英語での発表だった、というあたりが招待された理由なのかなと思います。発表内容については、できればTokyoでのLTの発表内容のロングバージョンがいい、という要望がありました。
ちょっと悩む
NYCで登壇できるチャンスはそうないので即答でOKと言おうかと思ったけど、ちょっと悩みました。メルカリへの転職の選考が進行中だったからです。このとき取りうる選択肢としては以下のようなものがありました。
- (A) 転職しない + 登壇する
- (B) 転職時期を9月以降にずらす + 登壇する
- (C) 転職する + 登壇しない
- (D) 転職する + 登壇する
まず(A)について。そもそも超解像についてはほぼプライベートの時間を使って取り組んでいましたが、前職のマンガアプリ開発との親和性が非常に高い。DeNAにこのまま留まって業務と絡めてより知見を深めつつ、しっかり準備した上で満を持してNYCで登壇する、というのが多分一番安牌な選択だったかなと思います。
とはいえ、そこそこ考えた末、転職をしようと思っていたわけで、別の理由でそこにストップを掛けるってのはどうかなとも思いました。ってことで(B)のプランも浮かびましたが、なんというか、さすがにいろいろ多方面に不義理な感じがしたので、これは選択肢から外しました。
というわけで転職はすると決めたのですが、転職してあまりフィットしなかったりいきなり激務になったりして全然登壇準備ができなかったらどうしよう、という不安が湧いてきました。しかも今回はフル英語での発表+質疑応答なので、そっち方面の準備もしっかりする必要があります。なので(C)もちらっと頭に浮かんだのですが、これは流石にせっかくのチャンスなのにもったいない、ってことで、多分最もタフな(D)を選択しました。
誰か(誰だったかな?)が「迷ったら面白そうな方、一番タフそうな方を選べ」ってことを言っていて、これまでも度々その言葉に従ってきましたが、今回もその言葉に従うことにしました。
社外発表は社としても推奨しているので、本業と折り合いをつけて業務中に作業してもいいよ、と前もって聞いていたので、まあなんとかなるでしょう、という気持ちで、Natashaに承諾メールを返信しました。
2018-05 有給消化期間
無事メルペイへの転職がきまり、5月はほぼ1ヶ月有給消化してました。転職後はきっとバタバタするので、この期間にガガッと準備を進めてやるぜと意気込んでいました。まずテーマ決めからはじめましたが、このとき気になっていたのが以下の論文です。
[1708.00853] Audio Super Resolution using Neural Networks
ResNetを使って音声データに対して超解像するぜという手法についての論文です。こいつをCoreMLでうまくiOSデバイス上で動かして、「はい、画像を超解像できることがわかりましたね。では画像だけですか?いいえ、音声に対してもできます!フー!!!」みたいな感じで発表できたら盛り上がるやろな、と思って早速調査を開始しました。で、結果としてはこれは失敗に終わりました。かなりハマりつつもなんとか動くものができたわけですが、処理があまりにも重すぎて実用に耐えない感じになってしまったからです。それ以前にCoreMLに変換できるようにKerasで実装する部分でかなりハマったりして、なんかゴニョゴニョやっているうちに5月が終わってしまいました。この期間は発表準備の他にも、個人プロジェクトとして長年運営しているAnimeMakerのサーバーサイドをAWSに移す作業もしたりしてて、発表の準備作業は実質フルで8日間くらいの稼働だったかな。
2018-06 ~ 2018-09 メルペイでの業務開始+発表準備
6月からメルペイの仕事が開始しました。入社後から2つのプロジェクトに関わらせてもらってるのですが、とっても楽しくて6,7月はあまり準備作業はやってなかった気がします。さすがに8月もそろそろ近づいてきた段階でやばいなと思い、業務と平行して発表準備を進めました。
英語との格闘
メルカリには英語力向上プログラムとして、DMM英会話、英語話者との週に一回のチャットランチ、専門の先生とのレッスン、などなどが備わってるのでフル活用することにしました。なんと言っても僕の英語力はひどくて、たとえば「ABC」のことをこれまで「エービーシー」と発音してましたが、じつは「スィー」だということを知ったのがこの8月末です。妻も引くくらい知識がぽっかりと欠如している部分があるのです。あとチームメンバーも半分くらい英語話者エンジニアなので、彼らとなるべく英語で話すように心がけてました。でもやっぱり難しいし、聞き取るのが特に難しいです。
2018-09-02 いざ出発
9/2から5泊7日でいよいよ出発。羽田空港10:30ころ発。旅費とホテル代は主催者持ち。自腹でANAプレミアムエコノミーにアップグレードしておいたおかげか、ずっと機中でプログラミングしていたおかげか、13時間のフライトもあっという間でした。JFK空港に到着後はsimカードや両替はスキップしていきなりタクシーに乗り込みました。これがちょっと失敗で、イエローキャブ?っていうんですかね、運転雑だし、エアコン効いてないし、なんか怖いし、ドル現金持ってないし、オフラインだし、ちゃんとホテルに到着するだろうか?という不安とともに30分くらいでホテルに到着。
Yotel NewYork
スピーカー勢はみんなここに泊まるみたいです。部屋にあった案内をみると東京のカプセルホテルに着想を得たホテルらしく、狭くはあるがクリーンで機能的、ってのが売りのホテルのようです。非常に快適でした。
タイムズスクエア
ホテルにチェックイン後は歩いて10分くらいのところにあるタイムズスクエアへ。でっかいLEDがビルの壁にびっしりあったり、人混みでごった返していたり、渋谷センター街あたりの雰囲気がありました。京都のような碁盤目にそった町並みで、ビル群はどれも巨大で大規模な丸の内のよう。屋台のブリトーを食ってストリートパフォーマーを眺めたあと、AT&Tに行ってSIMカードをゲット。2GBで$25。
〜おっと、ここで帰りの飛行機の搭乗開始〜
〜ここから機中で書いてます〜
2018-09-03
2日目は午後にtry Swiftのワークショップがありますが、それまではフリーなのでちょっと観光。
MoMA
ホテルから歩いて途中ニンテンドーストアによりつつ、MoMA ニューヨーク近代美術館に到着。ゴッホやアンディー・ウォーホルなどが展示されてました。いちばん気になったのはこの作品(TODO:後で詳細を追記)
Appleストア巡礼
その後はセントラル駅内にあるアップルストアへ訪問。立派な駅の建物の二階部分がまるっとストアになってて荘厳な雰囲気のストアでした。
try! Swift Day0 ワークショップ
僕がうけたのは暗号通貨+iOSというテーマのワークショップでした。ブロックチェイン、イーサリアム、スマートコントラクトといった概念の説明から、実際にイーサリアムのフレームワークを使ってアプリを作ってみようというワークショップでした。なんとなくわかったけど、こっから更に踏み込んでやろうか、という気にはまだなれてない。ちなみに会場は TANOOKI LABSという会社のオフィス。TANOOKI = 狸ですって。TANUKI、じゃないんだね。
ちなみにここでサンフランシスコで働いている keita さんと初めて出会う。日本語が通じる。はじめまして!
〜おっとここで機内食の時間。食ったらちょっと寝よう。〜
〜起床〜
スピーカーディナー
ホテルに戻ってスピーカーディナーに参加。ここで@d_dateや@pancakeと初めて合流。pancakeは実際にあって話すのはほとんど初めてな気がする。そして同じメルカリに勤めるJonBottとも合流。彼はKotlinのWorkshopの講師として参加していたんだけど、会場のネットワークの不調で1時間ほどWorkshopが中断しちゃったとのこと。ちなみに今回は2回もブロードウェイ・ミュージカルを見たんだけど、Jonに強くオススメされたからです。ほかにも主催のnatash、インドから来たGopal、台湾からきたAudrey、コロラドから来たTomたちとお話をした。
2018-09-04
朝起きると軽い頭痛だったので薬を飲んで凌ぐ。時差ボケで変な時間に目が覚めてちょっとつらい。時差ボケは3日くらいでだいたい治りました。
try! Swift Day1
いよいよメインイベントの初日がスタート。東京のときは800人くらい参加者がいましたが、ニューヨークでは300人くらいのひとが参加している模様。会場は傾斜のある座席で正面にステージがあり、小さい劇場のような感じ。実際try Swift day2後にはジャージー・ボーイズのコンサートが行われていたみたい。
スピーカー受付後、簡単な会場ツアーをしてもらう。運営スケジュールのレクチャー、ステージ機材の説明、バックステージ、スピーカー控室、など一通り案内してもらう。
一日の流れは、朝食、25minトークx3、30min休憩、25minトークx3、昼食〜、みたいな流れ。休憩時間が結構長めなので、そこで会場の他の参加者とおしゃべりすることができる。テーブルも数少ないので、この席ご一緒していいですか?から始まり、どっから来たんですか、という感じで自然におしゃべりができる感じになっていました。300人なので最終日には結構顔ぶれを覚えられました。Appleの人とも話ができた。なんかSwiftNIOのチームメンバーが東京にもいるみたいなこと言ってたような気がした。
ミュージカル: fozen
初日終了後、ボーリング上でパーティがあったみたいなんだけど、僕はそれには参加せずfrozenのミュージカルを見に行く。チケットは$150くらいで前日にインターネットで購入できて、すごくお気軽。ブロードウェイでは毎日100くらいのミュージカルがやっているらしくびっくり。日本で言うところの劇団四季の劇場みたいなものがあちこちにあって、しかもそれらが毎日上演されているっていう。文化として完全に根付いている。でfrozenはどうだったかというと、今にして思うとすごく良かった。まず映画版を何回も見ているので、多少言っていることがわからなくても内容は完全に理解でき、しかもほとんどの曲がわかる、ってのが非常にでかい。演出もド派手で、エルザのあの氷の魔法が舞台装置やプロジェクションマッピングでうまく再現できていて迫力がある。ミュージカルといえば舞台下のオーケストラピットでの生演奏もライブ感があって良く、それで「レリゴ〜」とか歌うわけですから、かなり盛り上がります。お薦めです。
2018-09-04 try! Swift Day2
いよいよ登壇当日。
登壇
13:00からリハーサル。出番は14:30から。今回はスライド+iPhone実機でのデモ、という構成でしたが、スライドとiPhoneの画面表示はPAの人が切り替えてくれるようになってました。特に切り替えボタンなどはなく、「Let's go to the demo」と言ったらいいタイミングで画面を切り替えてくれて、「Back to the slide」と言ったら戻してくれる、といった具合。マイクはハンドマイクではなく、お尻ポッケに機械を入れてTシャツの中から線を通して胸元につけるタイプのテレビっぽいあれ。ピンマイク?そしてスライドのページめくりはWWDCとかでみんな持ってるあのリモコンみたいなやつが使える。本格的な機材構成となっていました。
リハ中に舞台袖でスタンバイしていると、NSHipsterでお馴染みのMattと一緒になった。おお、あの有名なMattだ、と思いブログ読んでるよー、っていったらクックックッ、あれねえ、、みたいな感じの反応でした。なんか結構変わった人だった。あといろいろNYCのおすすめ情報とか教えてくれた。
とかなんとか言ってるうちに本番スタート。正直あんまり発表中の記憶がないんだけど、とりあえず自分の英語が通じてるのかどうかわからない不安がずーっとあった。舞台上から観客席のお客さんの顔もバッチリ認識できて、ウケてるのか、ウケてないのか、理解できてるのか、できてないのか、あ、あの人席を立った帰っちゃうのかなー、とかとか。そんな中でしたが、デモはそれなりにウケたような気もする。前日にデモ中に小ネタというか、ちょっとクスッとしてもらえそうな要素をいれておいたんだけど、それにちゃんと反応してくれたのでホッとした。ただ後半にかけて割と淡々と進めちゃったので、もうちょっと2,3箇所、そういう要素を入れておいたほうがもうちょっとやりやすかったかなー、などなど反省しています。とりあえず噛まずにはっきり発音できるように、その練習ばっかりしていたので、そのへんまで気が回っていなかったなー。
てことでだいたい25分の持ち時間のうち、23分間くらいを使って発表を終えて、スピーカーQ&Aブースへ移動。誰も来なかったら悲しいなーと思ってたけど、スピーカーのAudrey、Gopal、そしてはじめましてのBerta、スピーカー以外にも、2, 3名くらいの人が質問に来てくれて、とにかく喋りまくったので終わったら喉がカラカラになった。
発表後はしばらく呆然としつつ、d_dateの発表を見る。内容がきっちりまとまってて、面白かったな〜。さすがやで。compactMapValue使っていこうな。
Pizza
終了後はCyberAgent、リクルート、eurekaの日本で働くメンバーたちと合流してピザを食いに行く。今回の旅行で一番うまかったかなー。その後もしばらくウロウロしてホテルに戻って即寝落ち。
2018-09-05 Meetup & 観光
パンケーキMeetup
pancakeに声をかけてもらって、ホテルのレストランでみんなでパンケーキを食う会に参加。そして皆さんとお別れ。また会いましょう!
その後は一日かけて観光&おみやげ探し
ハイライン
古い貨物列車の線路跡をつかった散歩コースみたいな感じのところ。30分くらい歩く。めっちゃ暑かった
911メモリアル博物館
ツインタワー跡地の池を眺め、博物館で当時の状況を振り返る。観光客は多かったけど、みんな神妙な面持ちで、他の観光地とはまったく雰囲気が違いました。2時間くらいかけて回った。
メトロポリタン美術館&セントラルパーク
地下鉄でアッパータウン方向へ向かう。この辺はダウンタウンよりも静かで比較的きれいな街だった。メトロポリタン美術館についた頃には夕方で17:30に閉まっちゃうので、20分くらいしか滞在できなかった。自然博物館のほうにもいきたかったけど、このスケジュールじゃ無理ですね。また来たいところ。
帰りにセントラルパークを歩いていたらリスを発見。めっちゃ可愛かった。
ミュージカル観劇: CHICAGO
汗だくになったので一度ホテルに戻り、シャワーを浴びてから、今回2度めの観劇、CHICAGO。frozenとは全然違ってJazzバンドが舞台したのピットではなく舞台上にデデンと並び、その前でザ・ブロードウェイといった感じのムキムキでキレキレの男女がピシパシ歌って踊るというミュージカルでした。そして圧倒的に英語がわからず、ジョークもわからず、話の筋もわからず、そして圧倒的な睡魔により、上演中に何度も寝てしまうという結果に。俺にはまだ早かった・・・・。
2018-09-06 帰国
そしてあっという間に帰国の日。Lyftで空港に向かう。Uberもつかったけど、便利過ぎますねコレ。
〜で今帰りの飛行機の中でコレを書いている。今は出発から8時間くらいたったところ。〜
その他・雑感
家族との通信
家族とはLINEボイスメッセージと娘からのお手紙で主にやり取りをしていました。
ニューヨーク雑感
住みたいかと言われたらあまり住みたくはない。でもアッパーとかブルックリンのあたりはもうちょい住みやすそうな感じなのかな。ニューヨークを語れるほどの経験はまだ足りてないけど、まだ見たかったものとかもあるし、自由の女神もスキップしちゃったし、ブルックリンにも行ってないし、またチャンスがあったら行きたいです。
現地エンジニアたちとの会話
やっぱりもっと自由にみんなと交流できるともっと楽しかっただろうなとは思います。1:1ならまだしも、複数人の会話になるとついていけないことがほとんどなので(これは前からわかっていたが)、引き続き訓練あるのみ。今回はスピーカーとして参加したので、何かと向こうから話しかけてもらうことも多く、こちらから話しかけるときも話のきっかけが作りやすくて、よかったです。
おもしろかったセッション
Taken For Granted
Swiftの歴史について。コミットログをさかのぼり、Swiftが世に初めて公開されるまでにどんな変遷を経てきたかという非常に興味深いセッションでした。Swift was Ruby.
Idea to launch
起業とプロダクトづくりの話。最初はテックの話じゃないのかよーと適当に聞いてましたが共感するところも多く、印象に残った。
SwiftNIO
ClientでSwiftNIOを使うわかりやすい説明。SwiftNIOを使って、SMTPクライアントをiOS上で作るという例。わかりやすかった。
Creating a delightful tactile user interface
Appleのデザイナによるデザインの話。スライドも凝ってて面白かった
Trusting SDKs
みんなCocoaPodとかでSDKを気軽にインストールしてるけど簡単にハックされまっせ的な話。発表社はFastlaneの作者の人でしたが、ほとんどFastlaneの話は出てきませんでした。が、興味深い内容だった。
Compassionate Code Reviewer
ギスギスしないためのコードレビューのコツ。レビュワーコメントの書き方のいい例・悪い例をたくさん紹介してくれて、すぐい仕事でも活用できそう。
Hacking Mazipan
自分の一つ前の発表で舞台袖にいたので見れなかったけど、絶対面白いだろうなという発表。あとで見る。
Super Resolution with CoreML
自分の発表。はい。
Strings Seven Ways
NSHipsterのMattによる文字列関係のあれこれ。あんまりちゃんと聞いてなかったけど
Make our Swift better
d_dateさんの発表。compactMapValue !!!
まとめ
ということで怒涛の5泊7日が終了しました。準備はめっちゃ大変でしたがとにかく無事終わってよかった。大成功!ってことにしとこうな。ここから年末くらいにかけては、ひとまず本業のほうに全力を注いでいく感じになりそうです。来年くらいになんかまた登壇できるような何かを仕込んでいこう。やっていこうな!
〜帰国の機中より。成田空港まであと4時間50分。〜
〜電車からPOST。写真は家に帰ってから添付する〜