MCUマラソン4

Marvel's The Avengers

MCUの真価のひとつ、クロスオーバー編。単に過去作のヒーローが集結するだけじゃなく、トニーとの相性でクラスタ分けができてるのが面白い。みんなアク強いもんね……。バナーが研究者としてAvengersに招聘されていて、しかもトニーに気に入られているのを観て、そう言えばこの人は科学者枠だったなと思いだした。キャプテンとトニーが相性悪いのはまあそうだよね。

キャプテンとThorがChitauriの兵士と戦ってるシーンで、武器を投げても戻ってくるのはアドバンテージの塊だななどと思った。ハルクも銃で撃たれようが雲の上から落ちようが全然傷つかなくてそれはそれでやばいが……。ClintはEndgameで最初に見て、弓矢が武器でいかにもなアーチャーっぽい格好が渋くて好きなんだけど、MCUのどこかで主人公か準主人公として出てくるのかと思っていたらこのタイミングであんまり説明なく出てきてしまった。LokiがBlack Widowを煽るのに過去の話を使ってたり、地上戦でもブダペストを思い出すとか話していたので、何か別の作品から取ってきてるんだろうか。

MCUマラソン3

今日は1本しか観れなかった。

Captain America: The First Avenger

Captain AmericaがコールドスリープしていたというのはEndgameを見る前から聞いて知っていたので、最初と最後は分かっていて間を補完する感じで観た。EndgameでCaptain Americaも超能力とかはなく、普通に超強いオッサンという感じだという印象だったので、血清で超人的な力を得るという設定には割と納得感がある(Hulkもそうなのでまたかよという感じもある)。ていうかここまでで最初から能力持ってるのThorしかいないな。

ハイドラはナチス架空戦記の例に漏れず科学力がやばい。謎のエネルギーガンみたいなの持ってるし、戦闘機はステルスでオートパイロットまで付いてるし。

MCUマラソン2

Iron Man 2

アークリアクターに使ったパラジウムによる中毒で死を目前にしたトニーが半ば自暴自棄になり、詳細を人に話さず抱え込んだままで自分に関係することを精算しようとするのが、見ていて痛々しい。リゼロ初期のスバルと似たようなものを感じる。 父親との関係はあまり良くなかったと劇中で話していたのが、Endgameでの会話を考えると感慨深い。映写フィルムから父親の思いを知って少し想いが和らいだというのはあるんだろうけど、これ以降も何かあるんだろうか。

Thor

人望はあるけど喧嘩っ早いThorが、王位継承権を一時的に奪われて地球に飛ばされ、自分の短所を見つめ直して成長する話。Iron Manもそうだったけど、こういう「デキるが大きな欠点がある人間」が打ちのめされて成長する話が自分の好みに合っている気がしてきた。成長譚としては心情やエピソードの掘り下げが物足りなく感じるが、2時間の映画だしまあ仕方ないかなという感じ。 アスガルドってどっかで聞いたことがある(ワイルドアームズアースガルドっていうロボがいたが、それ以外にも聞き覚えがある)し、ミッドガルドもなのはで聞いたなあと思ったら、この辺の言葉は全部北欧神話が由来っぽい。

ところで北欧神話のThorって日本語だとトールと訳すのが定番な気がするけど、邦題がマイティ・ソーなのは英語読みに準じてるのかな?なんか違和感がある。

MCUマラソン1

なんか話題になってるので先日Avengers: Endgameを観て、MCU面白そうだなと思ったのでシーズン1から順番にYouTubeで観始めた。Endgame以前に観たことあったのはANTMAN、Guardians of the Galaxy 2だけ。アイアンマンも見た目はどっかで見て知ってた(そういう話を同僚にしたら、お前それでEndgame観に行ったとかマジかと言われた)。

MCUについて

ja.wikipedia.org

Marvel Comics原作のスーパーヒーローを実写映画化して、更にクロスオーバーさせるという壮大な同人誌みたいなシリーズ。Endgameもストーリーの詳細は全然分からなかったけど映画の分だけでも楽しめたし、個人的にもこういうオムニバス形式っぽい作品は好き。ドラクエ4とか。

以下、個々の作品の感想なのでネタバレ。Endgameのネタバレもあるので気にする人は注意。

続きを読む

2019年の目標

アメリカで太らない

145lbs近辺を維持する。

ボイロ動画を作る

最近ボイロ動画ばっかり見てるので作りたくなってきた。

個人用途でWebインフラを作って管理する

業務で勉強するだけだと速度に限界を感じてきた。mikutter plugin archiveも作らないといけないし……。

旅行に行く(3回以上)

せっかくアメリカにいるんだしね(と去年も言っていた)。

ICFPCで1位を取る

恒例。Unagiを滅ぼす。

本を読む / 映画を見る / ゲームをする

どうせ目標にしなくても達成するっぽいことが分かってきたが、年末に振り返るときに便利なのでとりあえず書いておく。

2018年振り返り

人生三万日しかない。今年は有意義だったか?

目標設定

osak.hatenablog.jp

アメリカで生き残る (1/1)

まだ生きてる。ビザ周りでちょっとゴタゴタがあったものの、概ね生活はうまく回っている。

アメリカで太らない (1/1)

ボルダリングジムで定期的に体重を測っていたけど、145lbs(65.7kg)から動かなかった。ていうか元の体重を書いてないのはどういうことなんだ。

アニメや映画を10本見る (12/10)

覚えてるやつ

割と見てるな。

本を読んでログを残す (15くらい/1)

リゼロはアニメの後になろうで全部読んだ。感想も書いた。

osak.hatenablog.jp

読書メーター(ディファレンス・エンジンからドリフターズ6巻まで)

漫画を一気読みしたら最終巻だけ登録するようにした。各巻の感想には対して興味がないので結構便利。

旅行に5回行く (2?/5)

旅行のカウント方法が微妙だけど(日本に帰るのは旅行なのか?)、とりあえず3月に東北旅行と、9月にICFPCがてらSt. Louis観光に行った。アメリカ国内旅行とか南アメリカとかは全然行ってないですね……。来年はがんばる。

公開できるWebサービスをなんか作って運営する (0/1)

mikutter plugin archiveを作って公開しようとしていたが結局完成しなかった。悲しい。

ICFPCで1位を取る (0/1)

2位は取れたものの、またUnagiに負けたし、なんなら2016年と同様にほぼ全順序が付くような形で負けた。悲しい。 チームは結局ビデオチャット経由で会話することにしたけど、物理的に集まったほうがやっぱりやりやすいなと思った。

osak.hatenablog.jp

osak.hatenablog.jp

ゲームで遊ぶ (8/1)

去年と比べるとかなりまともに色々遊んだ。

どれも面白かった。特にNieR: Automataは初めてタイムを測るRTAまでやったし、結構練習もしたのでやり込んだと思う。Celesteも最後までプレイし続けられるか少し不安だったけど、育成要素がまったくなく、リスタートのテンポもかなり良いので結局100%クリアまでできた。こっちはRTAやろうと思ったら世界レベルが既に人間をやめていたので早々に諦めた。

育成要素がなく、プレイヤーが成長するタイプのゲームが好きなことが分かってきた(ってずっと言ってる気もするな)。来年はPrismataとStarCraftをやりたい。

そういえばMtGは全然やらなくなってしまった。なんか直接人と話すような環境じゃないとやる気が起きなくて、それならカードショップでトーナメントとかに出ればいいという説はあるけど、英語で遊べる気がしなくて気後れしているまま1年が経過してしまった。来年はやりたい。

ボイロ実況はたくさん見たけど自分では作らなかった。インプットを増やしたり、仕事関連でちょいちょい機会を得たのもあって、人に伝えるものの作り方がちょっと掴めてきたのでそろそろ作れそう。

osak.jpを作り直す (0/1)

osak.jpは何も触らなかった。サーバは1年間無駄に走り続けた。

目標達成率5/9。人生の充実度は上がったのでいい年だったと思う。プログラミング関係の目標を全然達成できてないのがちょっとつらいけど、技術的なあれこれは仕事の方で結構できたので完全に不満足という訳ではない。来年はブログとかで公開できる成果を出していきたい。

Re: ICFP Prorgamming Contest のチーム戦テクニック集

pepsin-amylase.hatenablog.com

ICFP Prorgamming Contest のチーム戦テクニック集」を読んで、大半の内容はなるほど確かになぁという感じだったんだけど(それはそう)、一箇所この部分

大量に同時実行したAIの出力を POST リクエストでポータルサイトに投げるような設計をした場合はその負荷にも注意が必要です。ポータルサイトボトルネックになって計算結果が失われるという悲しいながらも割と起こる事故があります。ISUCONするはめにならないよう。*4

*4:個人的にはこういう設計がそもそもダメなんじゃないかという気もします。jsonメタデータを書くしょぼエンジニアリング最強なのでは??

だけちょっと思うところがあったのでメモします。*1*2

この主張には一理あり、ICFPCをやっているとそもそもの問題サイズが大きかったり、中間結果もビジュアライズのために取っておきたくなったり等の理由により、プログラムの出力が数MBから数十MBに膨れ上がることが稀によくあります。そういうとき、序盤で雑に書かれたFlask製サーバなんかがスケーリングされずにアップロードを待ち受けていたりすると一瞬で死んでしまうため、そんな辛い思いをするくらいなら最初からrsyncとファイルI/Oで頑張ればいいじゃんと考えるのは自然な発想ではあります。

しかしJSONメタデータ戦法は検索性が致命的に悪い。例を挙げると、何かしらの検索をしたければ、全てのデータを舐めながらマッチするデータだけ拾ってくる必要があるため自明に遅いという点が1つ。また、検索したい軸が1つしかないという状況もまずあり得ず、こういうカスタムクエリが欲しいという要望が無限に飛んできて、似たような検索ロジックをコピペで量産した挙句に全部バグって死ぬことになります(断言)。

……みたいなことを考えて、実際2016年はこの方針だったけど途中でスケールしなくなってMySQL建てたと記憶してるので、まあどうせみんなMySQL書けるし、大人なんだから自分の好きな言語でMySQLに繋ぐ方法くらい分かるでしょ(大嘘)という感じで思考停止でMySQL使う→MySQLの認証情報を配るのめんどいし、Webサーバを建てといてアップロードした解答を勝手にインデックスすると楽だよね、という感じで上記の記事に書いてあるようなシステムが出来上がったんだったと思います。そしていつの間にかISUCONが同時開催されます。勝手にコンテストの問題が増えるなんてお得ですね。

で、まあこうやって読んでるとなんとなく分かると思うんですが、上の理屈には飛躍があります。ICFPCのポータルサイトはデータ解析基盤なので厳しいリアルタイム性が要求されることはほぼなく、新しい結果が届いてから反映されるまで2、3分のラグがあってもまあええやろという雰囲気であることがほとんどです。ということは、アップロードを司る何かがインデックスを作る必要は特になく、各人が勝手にファイルをrsyncで所定の場所に置くようにして、それを適当なcronがMySQLなりElasticSearchなりに順次突っ込んでいけば良いのでは?

ということを思いついたので記事を書きました。誰か試してみてください。

*1:本当はコメント欄にもっと雑な版を書こうと思ったんだけど、なんかコメント欄が存在しなかった

*2:と思ったら下の方にボタンがあるのをこれを書き終えてから見つけた。おのれはてな