雑記帳

怪文書書庫

2020年総括

はじめに

自宅待機の時間が多かったこともあり、矢のように過ぎ去った一年だった。代わり映えのしない日常は氷柱が形成されるが如く、ゆっくりと精神を凍らせていくものだということを身を持って体感した。人生に最も大切なものは変化に富んだ日常だったのかもしれない。

技術

相変わらずEnvoyやIstio周りをやってた。適当に機能追加したり、Envoyのwasm extension周りをやったり、Apache SkyWalkingのSDKを作ってEnvoyに組み込むみたいなこともやった(進行中)。コードレビューとかも積極的にやらんといかんなという気持ちがあり適当にPRを巡回して適当にコメントするくらいのことはやった。Istio周りはAuthN Filterのwasm移植を検討したりもした。世界中のスーパーエンジニア達とコミュニケーション取りながら作業が出来たりコードを見てもらえたりしたのは技術者としてはこれ以上ないくらいの福利厚生だったと思う。プライベートでは勉強目的で言語処理系とかWASMのVMとかを作っていた。(プライベートでは意義あるものを一切作っていないので詳細は割愛)登壇関係だとKubeConやEnvoy meetup辺りでの登壇もやった。特にKubeConは英語発表だったというのもあり英会話が得意でない私にとってはかなりチャレンジングだった、特に発音が下手すぎて発表動画見返すとなんとも言えない気持ちになる。オランダ行くためにわざわざパスポート取ったりした(大学に進学して一度も海外に行かなかったので)がコロナ騒ぎでKubeConはオンライン開催になってしまったのでお役御免となった。今後パスポート使う機会があればいいなあ。あとはLINEでインターンしたりした。初めての低レイヤパケット処理っぽい事の他、QUICのベンチマークツールを作って計測したりした。楽しかった。

engineering.linecorp.com

技術面では得難い経験が出来た気がする。バイト先の社員の方々やEnvoyコミュニティの人々やインターン先のチームの人々にはとてもお世話になった。

趣味

相変わらずアニメばかり見てた。今年のアニメの話を少しだけ。

2020年冬

恋する小惑星はきらら枠のお手本とも思えるアニメで、特段盛り上がる回もないが、各話が安定して構成されていて、それでいて一貫してそこそこのクオリティーを保っていたように感じる作品だった。天体モノのアニメは幼い頃に父親に連れられて何度も参加した明石天文科学館の天体観測会を思い出してノスタルジックな気持ちになるので少々バイアスを含んでいるかもしれないが、キャラクターが素敵だったという事実は周知のものであると思われる。桜井美景先輩可愛いよ。

koiastv.com

2020年春

かぐ告2期は安定したクオリティーと面白さをバランス良く維持していて安心感を持って見られる作品だった。石上とつばめ先輩の話で締めくくったのはナイスな構成だと思う。三期も決定しているらしいので、おそらくウルトラロマンティック作戦の回が映像で見れそう。楽しみ。

kaguya.love

2020年夏

俺ガイル完は良かった。中盤の展開はいささか退屈だったものの、終盤で一気に視聴者の感情を盗みに来るが如く怒涛の展開には目が離せなかった。視聴後の後味も甘くてほろ苦い彼らの青春を体現したかのようであった。原作小説は最終巻だけ読めていなかったので新鮮な気持ちで見れたのが良かった。

www.tbs.co.jp

2020年秋

トニカクカワイイは良かった。原作既読だったが、アニメでも脳漿が砂糖水と化すような感覚は健在だった。あとOPが神。独身男性のうちに見ておくべきアニメ堂々の一位。

tonikawa.com

旅行

これまた某ウイルスのせいであんまりあちこち行けなかった、今年は

くらいだった、GoToキャンペーンなどがあったのでそこそこ安く行けたのはよかった。

研究

色々迷走していたが、就活終了を機にモチベーションが高まったのでとりあえず方向性だけは決めた。

就活

そこまで就活に熱量を注ぐつもりはなかったのでとりあえず年内に終わればいいかなって感じでやってた。理由としては早めに終わらせて研究を真面目にやらなければならないという焦燥感が付きまとっていたからに尽きる。夏は長期1社、2日間だけのインターン1社に行った。 本選考では3社受けた。方向性はほとんど決まっていたものの内定が出揃ったタイミングで結構悩んだ。自己分析って奴はつらいぜ。悩んだ挙句結局緑色のアプリ作ってるとこ行くことにした。理由については聞かれたら答える。

人生

就活で自己分析をやったのがきっかけで人生って奴を考えなければならんな〜ということを身をもって実感した。技術的好奇心だけでは人生ってやつはやってけない。

生活

コロナ騒ぎをきっかけに外出が制限された結果、自炊をするようになった。食費も安くつくし野菜も多く取れていいことしかない。調理も簡単なものであればそう時間もかからないし在宅勤務などであれば自炊しない手はない。この時期は鍋とシチューが美味い。

総括

良くも悪くも変化の1年だった。今年は特に自分を省みる機会も多かったので、総合的にはプラス成長の一年だったと信じたい。

ICPC2020 予選参加記

ICPC2020の学内予選に参加しました。

私は普段は競技プログラミングとは縁のない人間なのですが、出場できる最後のチャンスということもあり、幸い友人に誘って頂いたので出てみようと思った次第です。

事前練習

あんまりやってなかった....というよりなにをやればいいのかわからなかったのでとりあえずAOJ-ICPCの200-250点問題くらいを数問解いたり、メンバーでDiscordに集まってバーチャルコンテストをやったりした。自分は基本的に考察が軽くて実装が重い所謂「やるだけ問題」を積極的に拾っていく方針で行こうと思った。

当日

リハーサルが開催されていることを失念しておりのんきに飯を食ったりしていた。(は?) 16:30に競技開始だったので15:00くらいにDiscordに集まって適当に雑談したり情報共有などをしていた。

競技開始

問題を開こうとするが、ブラウザの画面は一面の白塗り状態のまま。何も表示されなかった。障害だろうか。画面の左上に申し訳程度に表示されていたメッセージによると、どうも問題DBが吹き飛んでいるらしい。どうやら他のチームも問題が見れなくなっているようなので障害と判断して静観。雑談に徹する。

10分くらいで復旧。早速B問題を見る。問題文の意味がわからなくて困惑していたが、じっくりと読んでみるとただのやるだけだったのでサクッと書いて提出。ここで事件が起きた。

ICPCの提出ルールとしては、アップロードされている複数のデータセットを使ってローカルで実行し、2回連続で正しい答えが吐けていればACというものだ。ここまでは割とよくあるシステムかもしれない、だがICPC固有のものとして、ソースコードを回答と併せて提出する必要がある。更に、2回の提出において、ソースコードは完全に同一なものでなければならないというルールがある。

回答をテキスト形式で提出する必要があるため、多くの人はテキストに回答を出力して提出するに違いないが、ここで私は、「回答の出力ファイル名を1回目と2回目で変えてしまう」というミスを犯してしまったのだ.....

具体的には、1回目の回答ではファイル名ansに出力し、2回目の回答ではファイル名ans_2に出力してしまった。

主要な回答ロジックに手を加えたわけではない。だが厳正なるICPCのジャッジシステムがそのような事情を慮ってくれるだろうか.....?

否である。

機械の厳正なる判定を受容できなかった私は焦りに焦り、なんと2回連続で提出に失敗し、回答権を失ってしまった.....

とまあ、このような事故が起こったが沈んでいても仕方がないので、D問題を眺める。BNFが書かれているので脳死でパーサーを書く。まあ普通にpermutationで間に合うやろwと言いながらこれまた脳死で書く。n=13で間に合わない。階乗オーダーだしそれはそう。

なにもわからなくなった私は終了時間まで椅子を温めることとなった。

感想

悔しい!!!!!!!!

こんなに悔しいと思ったのは割と久しぶりかもしれない。感想戦などを行っているうちに悔しさが増してきた。だがもう来年以降は出場できない。俺たちの夏は終わったのだ.....

競技プログラミングを真面目にやってみようかなあと思った一日になった。皆さんありがとうございました!

日々

最近ずっと引きこもって研究と仕事とゲームしかしてないのですが、こんな状況にも慣れてきて日々の潤いが乾いていくのを感じています。若葉が瑞々しく、初夏の薫風が香る5月、私は家に引きこもっています。

私はもともと引きこもりの気があるので、昨今の状況に際して特に日常に劇的な変革がもたらされたということは特にないのですが、時折のお出かけが出来ないのは大変悲しく思っております。

元来、引きこもりの私は、引きこもりで消耗したメンタルをリセットするために旅行に出かけることをルーティーンとしていたわけですが、そのような行為が法度とされる風潮が漂うこんなご時世。満足に外出することも叶わず。

卒業旅行で行った石垣島の空気がとても懐かしく感じられます。都会の喧騒にまみれた淀んだ空気は私の心を擦り減らすのには充分なものです。石垣島が恋しくて、現地で買い込んだ泡盛を煽る日々であります。

そういえば、のんのんびより のんすとっぷの放映が決定しました。

nonnontv.com

これは私にとって最高のニュースであることは間違いないのですが、昨今の状況でこのアニメを見るともう戻れない懐かしき日々を思い起こす感情で心がかき乱されて泣いてしまうこと必至です。

就職活動のシーズンも迫っているのですが、これもまた昨今の悩みの種で、コロナ渦のため軒並みインターンがリモートで開催されるようです。私は普段リモートワークなので、インターンの時くらい出社出来ることを期待していたのですがそうもいかないようです。これは私のモチベーションを挫くには充分なもので、自分の進みたい路線がわからなくなってしまったのと相まって、就職活動のことを考えるだけでとてもつらい。どうしてこうなった。大学三年時に結構インターン行ったしもういいかな.....

2020年やりたいこと100

以下記事に感化されたのでやってみます。

blog.yayawatanabe.net

生活

  1. 週3でジムに行く
  2. ビタミン剤を毎日飲む
  3. 野菜を食べる
  4. 朝ごはんを食べる
  5. 炭水化物を取りすぎない
  6. エンゲル係数を高める
  7. 毎日外出する
  8. 寝る前にツイッターを見ない
  9. 朝起きた後にツイッターを見ない
  10. 最低でも週1は誰かと一緒にごはんを食べる
  11. 知り合いを増やす
  12. 冷蔵庫を掃除する
  13. 粗大ごみを出す
  14. たまっているダンボールを破棄する
  15. いらない本をブックオフに出す
  16. 着ない服を捨てる
  17. 免許センターに行く
  18. 車を運転する
  19. Trelloを毎日チェックする
  20. Trelloのカラムを整備する
  21. 玄関の掃除、かなり汚くなってしまった
  22. 酒を飲みすぎない
  23. 気持ちの切替をもっとシームレスに
  24. メールの整理、特に謎のメルマガは届かないようにする
  25. 風呂とトイレを綺麗に保つ
  26. 書類の整理、確定申告辺りがスムーズに進められるように
  27. 寝すぎない、睡眠は1日6時間
  28. Alexaがごみになっているので活用する
  29. ベッドに寝転がるのは寝る時のみにする
  30. コーヒーを飲みすぎない、1日カップ3杯まで
  31. 家の近くのレストラン開拓
  32. 同じ店にばかりいかない
  33. 同じメニューばかり頼まない
  34. コンビニ飯を極力避ける
  35. 外出時は水筒を持参する
  36. 自炊のバリエーションを増やす
  37. プールに行く
  38. 8時に起きる
  39. 積極的に人と話す
  40. 1Passwordを整備する(お金だけ払ってちゃんと活用していない)
  41. パソコンのファイル整理
  42. 家でばかり作業しない
  43. お気に入りのカフェを見つける
  44. コワーキングスペースの開拓
  45. 配線の整理
  46. 洗濯物を澑めない

買う

  1. ソファーを買う
  2. 部屋用スリッパを買う
  3. ベッドサイドに設置するランプを買う
  4. コンロを買う
  5. Fire TV Stick 4Kを買う
  6. オーブンを買う
  7. じゅうたんを買い換える
  8. カーテンがないところがあるので買う

語学

  1. 英語(聞く方)にもっと触れる
  2. TOEICを受ける
  3. 英単語を毎日10個くらいは覚える
  4. 英語を日常に取り込む
  5. 英語を毎日口に出す

技術

  1. LeetCodeを毎日やる
  2. Cracking the coding interviewを読む
  3. 自宅のインフラ環境を整備する
  4. ICTSC頑張る
  5. Envoyの開発を頑張る
  6. 今までアウトプットがめんどくさくてサボりがちだったので頑張る
  7. 研究室のインフラをいい感じにしたい
  8. ISUCONに出る
  9. Kubernetesを理解する
  10. 誰かと新規でプロダクトを作る
  11. 論文を週2本読む、分野はなんでもよい
  12. The Art of High Performance Computingを読了する(途中までしか読んでいない)
  13. 計算量を常に頭の片隅におきつつコードを書く
  14. ラソンマッチをやる
  15. Professional IPv6を読む
  16. Optimized C++を読む
  17. Mastering KVM Virtualizationを読了する(最初の方しか読んでいない)
  18. C++のプロジェクトテンプレートを楽に適用出来るスクリプトを書く
  19. Bazelを使いこなせるようになる
  20. WASM/WASI周りの動向を追う
  21. 開発中のソフトウェアの開発を途中でやめない

趣味

  1. 沖縄に2週間以上滞在する
  2. 去年はあんまり小説を読まなかったので今年は月2冊くらいは読む
  3. 人体と塗りの練習
  4. 日本史を勉強し直す
  5. 一眼レフを活用する
  6. Kindleを活用する(紙の本買いがち)
  7. 体を動かす趣味を作る、弓道やりたい
  8. 東北を18切符で巡る
  9. 北陸を18切符で巡る
  10. 毎クール5本程度アニメ見る
  11. VTuber開拓
  12. 2週間に1回銭湯に行く
  13. 水族館に行く
  14. 音楽開拓
  15. 近代史をちゃんと勉強する

大学/研究

  1. 学会に行く
  2. Microsoft Academic Searchを試す
  3. 大学院の単位を回収する
  4. ゼミ資料を前日に作るのやめたい
  5. 学部の研究で作ったソフトウェアをメンテする
  6. 研究で作ったソフトウェアを公開できるくらいのものにする

多分100個です。結構たいへんだった....

2019年振り返り& 2020年目標

生活

研究室に配属されました。研究は自然言語処理関連でした。卒論提出に失敗しないようにがんばります。 講義がなくなったり、サークルを引退したりしたのであんまり人と会うことがなくなりました。来年も、きっとそれ以降も今みたいな生活は続くと思うので、人と積極的に合うようにしたいと思っています。人との繋がりをもっと増やしたいなあと感じた1年でした。来年は人との繋がりを増やすことを目標にしたいです。

仕事がフルリモートになったのであんまり家から出ていません。なので割と孤独を感じることが多いです。飲みでも飯でも誘ってくれたらホイホイ行きますので是非。

あと体がかなりひ弱になってしまい、以前と比べて体力も格段に落ちたという実感があります。なので今年はジムに行きます。これはマジで頑張らないと30くらいで体動かなくなりそうなので。

技術

10月末から Tetrate.io という会社でお仕事してます。業務内容は主にEnvoyの開発です。OSS開発はとても楽しいし、分からないことが結構多いのも楽しいです。よわよわコミッターなので、シニアメンテナーの方々に色々聞きつつ実装していくという感じでやってます。コードやドキュメントとにらめっこする毎日です。PRを出すとめっちゃレビューが帰ってくるのが新鮮です(今までやってきた中でここまで手厚いコードレビューが入ってきたことはあんまりなかった)。かなり速いペースで新しい機能が入ったりするので追いつくのは結構大変ですが。

自分の持ってる技術スタックに一番適当なプロダクトに関われている気がするので、来年はもっとPRを出す頻度を上げて積極的にコミットしていきたいと思います。

趣味

2019年はVTuberに出会えたのがとても大きいです。アニメは新規で見る事が少なくなりました。昔好きだったアニメをもう一度見るみたいなのが多かったです。旅行は城崎温泉や箱根や湯田中とか、主に温泉を攻めてました。あとは夏に18きっぷで中部〜西日本をフラフラとしたくらい。旅行好きなので誘ってくれたらどこでも行きます。2020年は2週間以上沖縄で過ごすというのを目標にしています。1ヶ月くらいいれたら最高だけど研究もしなきゃなので厳しいかも、研究もフルリモート可になってほしい。

その他

英語が出来なくて結構支障をきたしています。テキストベースならまだいいのですが(それでもたまに何言ってるかわからなかったりするのでつらい)、会話となると完全にダメです。聞き取れないし、自分が話そうとしてもなにも言葉が出てこない。さすがにマズいのですが、TOEICの対策とかがダイレクトに効くような領域ではない気もするので、もっと積極的に英語に触れなきゃなあと思います。

総括

来年の目標はもっと外に出ていくことです。よろしくおねがいします。

サイバーエージェントのおうちkubernetesインターンに参加した

巷では話題のおうちkubernetesインターンに参加してきました。おうちkubernetesについて詳しく知りたい方はこちらのブログを読んでみてください。

developers.cyberagent.co.jp

参加した動機

クラウドネイティブ技術に以前から興味があったのと、kubernetesを使ってみたいという気持ちで応募しました。参加特典でIntel NUCも貰えるという事でアツかった。

サイバーエージェントインターンは昨年度アドテクコンペに参加して以来です。この時もkubernetes(GKE)を使っていたのですが、最近業務でkubernetesを使っているとはいえ、ほぼ一年ぶりのkubernetesということになります。

www.cyberagent.co.jp

普段アプリケーション寄りの事をやることが多いのであまりインフラに触れるという事はないのですが、アプリケーションの運用に関しての知識は増やしたかったのでちょうどいい機会だと思いました。

f:id:shikugawa:20190921010847j:plain
人数分用意されているIntel NUC

内容

2日間で行うインターンで、1日目の午前中で軽い座学を行った後、各自でテーマを設定してやっていくって感じでした。このインターンの面白い所は実際にIntel NUCが配布されて、その中で仮想的なマルチノードクラスタを作ってその中で色々と作業を行っていくという形だった事です。今回はクラスタの構成ツールとしてkindを使っていました。

kind.sigs.k8s.io

やったこと

最近EnvoyにハマっていたのでEnvoyを使ってなにかしたいと思ってました。EnvoyはクラウドネイティブなHTTP Proxyで、Circuit BreakerやService DiscoveryみたいなService Meshの構築に必要な機能を一通り備えています。HTTP/2にも対応しているので、gRPCのロードバランシングなんかも出来ます。モダンなC++で書かれているのも個人的に好感度高くて最高です。C++はいいぞ。

www.envoyproxy.io

EnvoyにはHTTP Filterという機能があって、L7なIngress/Egressを掴んでヘッダを書き換えたりする機能があります。このフィルタはLua Scriptingでプログラマブルな通信の制御を行うことが可能なのでかなり色々な事ができそうです。これをうまく使ってA/Bテストのような仕組みに必要なネットワーク周りの処理をEnvoyに切り出せないかどうかを確かめるということをやりました。kubernetesインターンなので、必要なアプリやミドルウェアは全てkubernetesで再現できるようにしております。

github.com

詳しい内容に関しては後日Qiitaかなんかに上げます。

感想

新しめの技術を実際に手を動かして触ってみるという事を最近あまりやっていなかったのですが、このインターンでその楽しさを思い出しました。コードを書き始めた高校生の頃に戻ったかのような心持ちです。2日間しかないので作業時間はあまりないのですが、メンターさんのサポートがあるというのが心理的安全性につながっており、詰まったら積極的に質問できるという環境があったのが非常にありがたかったと思いました。おかげ様で最優秀逸般の誤家庭賞(!?)を頂くこともできました。

f:id:shikugawa:20190921011511j:plain
アベマ君ぬいぐるみとTシャツをもらった

ちなみに真ん中の青いぬいぐるみはGo言語のマスコットキャラクターのGopher君です。このインターンの参加者だった知り合いに購入をお願いしていたのですが、それが期間中に届いたみたいなので会場で引き取りました。このキモかわいさがいい味出してます。

参加特典のIntel NUCはもう一台買ってきて物理kubernetesクラスタを組んで使ってみたいと思います。

2日間ありがとうございました!!!!!!!

ベッド買い換えた

最近ベッドを買った。シングルサイズで予算15万以内というとこで探していた。新宿の大塚家具に行っていろいろ寝て試してみた結果ボトムマットレスマットレスを即購入するに至った。総額11万くらいだったので予算よりも安く済んだ。

 

今まで5000円くらいのパイプベッドとぺらぺらのマットレスで寝ていた。ベッドは人生の1/3過ごす場所なので金かけた方がいいのは間違いないのだが、そのことに気づいたのは今まで使っていたベッドが壊れてからの話だった。

 

新しいベッド、使用して3日目くらいになるのだが、どうも寝付きが悪い。多分今までと寝心地が違いすぎて体が馴染んでないのだと思う。

 

それでも毎日の睡眠が楽しみになったのは間違いない。今までの安いベッドと比較すると圧倒的な寝そべり心地の良さがそこにはある。