不眠日記

寝れない夜に書く日記

2020年を振り返る

時系列

※ 基本的に平日日中はずっとスマホゲームのサーバーを作ってます

1月

  • MySQLのexplainの読み方を勉強したり、Rustを書いてたりした気がする

2月・3月

  • コロナが本格的にアレしてきて、リモートワークが始まった。家具を買ったりしてたと思う。

4月

  • 記憶がないし、Twitterを漁っても何やってたのかわからず、github上のアクティビティもほぼない。多分仕事が忙しくて何もできなかったとかのアレだと思う。

5月

  • rumapを作ってた(ブログ書いたのは12月)。

  • 雀魂で麻雀を覚えた

6月

  • 雀魂にハマってたくさんやる

(雀魂 OR 麻雀) (from:genya0407) until:2020-07-01 since:2020-06-01 - Twitter Search / Twitter

  • 僕は昇給した

7月

  • スプラトゥーンのプレイ動画を録画して後から見返せるように、Switchの画面を録画・配信できる環境を整えた。
    • Twitchで配信しながらプレイして、アーカイブ動画をYouTubeに上げつつ、試合毎の反省をメモするということをやっていたが、この時期が一番スプラトゥーンが上達したと思う。
    • やっぱり何も考えずにプレイしても上達しないし、考えるためには録画は有用だと思った。

genya0407.hatenadiary.jp

8月

  • 高校の同期*1に本棚を作ってもらった

9月

10月

  • プロジェクトずっと忙しすぎワロタ状態になり、諸々の調整を頑張って正常化を図る。
  • 自転車を買い、江ノ島に行き、尻を壊す

11月

  • 柏から銚子まで、利根川沿いを自転車で爆走する一泊二日の旅行を敢行

  • 社内の研修に参加したり、勉強会を始めたり
  • PS5の抽選に当たる
  • 青梅と自宅を自転車で往復(110km)

12月

  • 眠剤(仮)
    • 眠剤の使用量がガクッと減った(不要になったとは言ってない)
  • 多摩境と江ノ島を自転車で往復(100km)

  • 僕は昇給した

2020年まとめ

  • プロジェクト大体わかってきて、やれることが増えてきた。引き続き業務力を上げ、昇給を目指したい。
  • 限界を感じることもしばしば(テスト、設計、プロジェクトマネジメント、ミドルウェアの深い知識)。研修とか本読んだりとかで、新しい知識を仕入れ続けたい。
  • 既存のモノに固執する心の動きを自覚することがしばしばあった。注意したい。
  • 画面を見なくて済む趣味(=自転車)が持てたのはよかった。自転車楽しいよ。
  • 2018/2019年に比べて、"身分"の変動が小さい年だった。働き方とかそういうのは大きく変わったけど。

2021年に向けて

いろいろあったはずの一年なのに、年初めの出来事を全然思い出せないので、来年は毎月振り返りブログを書きます。

来年も引き続きやっていこうと思います。

人は規範から自由になれない

この記事は、Kumano dorm. Advent Calendar 2020 の14日目の記事です。

フェミニズムっていうのは男性に対して「あなたも『男らしさ』から降りて自由になろう」みたいなことを言うんだけど、それに呼応して先進的な男性の皆様は、なるほどわかる俺も『男らしさ』から降りて自由になるぞって言うし、そのように行動する。でもそれって結局「新時代の男らしさ」を男性に対して求めているだけだよね?ということが、アンチフェミニズムの人からしばしば指摘されていて、「男らしさ2.0」っていうネットスラングに結実している。これは結構象徴的な例に思えて、先進性というのもつまるところ、「環境に合わせて自らの持つ規範を積極的に変化させる」という1つの(メタ的な)規範なのだ。そのため、これはただの勘というか例え話的思考なのだけれど、先進的な男性の皆様は案外、家父長制的な環境に置かれたら抵抗なく馴染んだりするんじゃないかなという気がする。つまり何が言いたいかというと、自分が規範から自由になったと思っていても、その実別の規範に乗り換えただけであり、規範から自由になるなんてことは無理で、規範に1から10まで行動を制御されているのが人間なのだ。規範から自由になった、などと感じている人は注意したほうが良いと思う。その新しい規範で、新しい別の誰かを殴りつけている可能性は常にあるのだから。

中退キャンセルと、その後について

この記事は、Kyoto University Advent Calendar 2020の3日目の記事です。 

京都大学で1年留年した後、中退を検討し、最終的に卒業してから1.5年ちょっと経ちました。本記事は、そのへんに関する怪文書です。

経緯

留年、中退検討、卒業の経緯については、以下の記事にまとめてありますが、長いので3行でまとめると以下のような流れになります。

  • 様々な理由により単位を取ることができず留年した
  • 進級後も、就活・授業のストレスから精神をやってしまい、学業の継続は困難と判断し、中退して就職するべく動いた
  • 研究室の教授に相談したところ引き止められ、教授や研究室の人々から配慮を受けながら卒論と残りの単位を片付け、卒業・就職した

genya0407.hatenadiary.jp

卒業トラブルの原因、あるいは大学卒業という炎上プロジェクト

なぜ留年・中退検討などの卒業トラブルが発生したのか、ということを最近考える機会があったのですが、その一つの原因として、大学卒業は炎上しやすいプロジェクト*1であることが挙げられると思います(ここ怪文書ポイント)。

プロジェクトマネジメントの一般論として、QCDS(Quality、Cost、Delivery、Scope)の全てを満たすことは難しいと言われますが、大学卒業プロジェクトにおいてQCDSはいずれも調整が難しいです。

Quality (品質)

大学卒業プロジェクトにおいて、科目への理解度が品質に当たると思います。ソフトウェア開発プロジェクトにおいてもよく言われることですが、品質を落とすとその直後は速度が出ても、長期的にはプロジェクトの進行に悪影響が出ます。大学卒業プロジェクトについて言うと、例えば一夜漬けをして理解度が低い状態で定期テストを済ませると、次の単元を理解できなくなり、次第に一夜漬けによる対応すら難しくなっていくでしょう。

Cost (予算)

一般的なプロジェクトでは、予算を追加して成果物の質・納期を満たすという選択肢を取ることがしばしばあります。具体的には作業者の数を増やす、高い機材を購入して効率を上げる、作業を外注する、などの手段を取ります。しかし、大学卒業プロジェクトではこれは難しいです。というのも、作業者を増やしたり作業を外注することは、端的に不正行為だからです。高価な機材を購入して品質・納期を達成する、ということも想像しづらいです(大学院生の家庭教師を雇うとかでしょうか?)。あとは仕送りを増やしてもらってアルバイトの時間を減らすというのも「予算の調整」に含まれるかもしれません。しかし、そもそも追加の予算を獲得すること自体が難しい環境にある学生も少なくないです。

Delivery (納期)

納期の調整も、大学卒業プロジェクトにおいては難しいことが多いでしょう。この場合の納期とは、ミクロな視点では課題の提出期限や期末テストの実施日が、マクロな視点では大学卒業にかける年数が、それに当たると思います。前者は、教員と交渉することで調整が可能になるケースもあるにはあるのですが一般的にはかなり難しいです*2。また後者についてですが、こちらは交渉対象者が親(= 学費を捻出する主体)と、(内定を持っている場合は)内定先の企業ということになるでしょう。親については、1年程度の延長は許容してくれる可能性もありますが、内定先については難しいケースも多いでしょう。

Scope (プロジェクトの対象範囲)

ソフトウェア開発プロジェクトにおいてスコープは、実装する機能の数やその特性を表します。卒業プロジェクトのスコープは、単位の数や配属先の研究室ということになるでしょうか。前者については、卒業に必要な最低単位数を動かすことはできないので、調整の余地が少ないです。後者については、人気の分野の研究室に配属されるのを諦めることで調整可能かもしれません。

つまるところ、大学卒業は炎上への道が舗装されたプロジェクトであり、デスマーチ(徹夜)を伴い、Deliveryの遅延(留年)やプロジェクトの中止(中退)はしばしば発生します。

とはいえ、僕が留年したり中退を検討する羽目になったのは、プロジェクトマネジメントの失敗というよりは、そもそも電気電子工学(科)を思ったより楽しめなかったことが大きいとは思います。ただでさえ少ない自分というリソースを授業に振り分けず、寮での活動やプログラミングに多く割いたことが、プロジェクトの進行を妨げました。

実際問題として可能だったのか、あるいはそれをしたらうまく行ったのかという話はさておき、情報学科への転学科はなるべく早い段階で検討するべきだったでしょう。プロジェクトマネジメントでも、早い段階で計画を修正するのは大事って言われてますし(適当)。

なぜ卒業できたのか、あるいは人を頼るということ

とはいえ、1年間の留年を挟み、最終的には卒業できているわけです。そしてそれは、単に1年間延長したから納期が延びて卒業できたぜ、という感じのものでもありませんでした。

では何が要因で卒業にこぎつけられたのかと考えると、やはり教授に相談した*3のがポイントでした。上の記事にある「アナログな選択肢」を提示してくれたことは直接の解決に繋がりましたが、それよりも、研究室に配属されたことにより、「大学生活において困り事を抱えたときに相談する相手」を獲得したことが一番大きかったです。

当時の京都大学工学部電気電子工学科は、研究室に配属されるまで教員との接触が薄かったです。一応担当教授というのは入学時からアサインされるんですが、年に30分程度しか接触の機会がありません。年に30分しか接触の機会がない、しかも忙しい人に、困り事を相談するのは無理ですよね。そのことにより、進級に単位が足りないであるとか、授業がつらいであるとかの困り事を相談することができず、留年・中退が発生しやすい構造になっていたのではないかと思います。

また、研究室に配属されたことにより、まず「困ったら教授に相談できる」という状態が確保され、それに加えて、研究室の中で同期や先輩との関係が生まれ、こちらでも困り事を相談できる相手が増えました。上の記事にも書いたとおり、僕は電気電子工学科の学生との人間関係が希薄だったのですが、ここでいわゆる「横のつながり」が強制的に形成されたことによって、その部分が補完されました。

上で触れたような要因に加え、当時は自分の中の「自分のことは自分で解決できなくては駄目だ」という規範が強すぎたのかな、となんとなく思っています。社会人になっても「自分のことは自分で解決する」ことは(まだ)求められていません*4。むしろ困ったことはすぐに上司に相談するようにと教育されます。いわんや学生をや、といったところです。

研究室に配属されたことによって相談相手が明示され、人を頼りやすくなったというのが、上で述べたような「卒業できない理由」をどうにかやり過ごして卒業できた要因かなと思います。

余談:崩した精神について

余談ですが、中退を検討していた時期に発症した不眠症が、最近かなりよくなってきました。一番ひどいときは、疲れ切っていても薬なしでは一睡もできなかったのですが、最近は処方される量の1/4程度まで薬を減らしても問題なく入眠できるようになっていて、ここ数日は、全く薬を飲まずに入眠できる日も増えてきています。やはりストレスが不眠の原因だったんだなと思います。

私にとって、授業を受けて定期テストを受けるという生活はかなりのストレスでしたし、就職活動も大きなストレスとなっていました。研究は楽しくもあったけど自明にストレスで、入社後も、研修は結構ストレスが大きかったです。配属されてからも、不慣れさや仕事のハードさからストレスを感じていました。

やっと最近慣れてきて、また仕事のハードさもやや軽減され、ゆったりと働けるようになり、ストレスはかなり小さくなりました。

精神壊すと数年は引きずるとか、数年経っても「最近回復してきたな」と感じ続けるとかの話聞いてたけど本当だったんですね。でも、不眠症は不治の病ではありませんでした*5

で、結局中退しなくてよかったの?

そりゃあ、結果論的には、中退しなくてよかったってことにはなります。学歴は無いよりは有ったほうがいいし、研究の経験は無いよりは有ったほうがいいです。

学歴があるとと身構えられるとかそういうのはあるけど、そういう「ドス」の効き方で言ったら京大中退のほうが強いでしょう。そういう「ドス」がほしいと思ってた時期が私にもありましたし、高学歴中退検討人は割とみんなそれを思ってる気がします。しかし、ドスを効かせたところでそれは自分にとっては大事なことかもしれないけど、それによって実際の便益を得られるかというと微妙な気がする。

でも、「中退しなかった結果卒業できた」っていう結果論だけ見ても意味はなくて、というのも、中退するか悩んでいた時期(5回生の春頃)は、既に一年留年している状態にあり、今年度中に卒業までこぎつけられる見込みが立っていなかったのであって、 1) 今年度中に卒業して内定先に予定通り就職する 2) 精神をこれ以上悪化させない 、の2つを両立できるかどうかって、その時点では全くわからなかったわけです。

その状態で、1と2を目指した結果1も2満たせないリスクを回避するために、2のみを取りに行く(= 中退する)のだって間違った判断とは言えないと思います。ただ、私の場合は研究室の教授が割と厚めにサポートしてくれるという話になったので、それを頼みに1と2を両方取りにいったという判断は、(結果論的には)良かったと思います。

僕の場合は中退しなくてよかったけど、一般的に中退をしようとしてる人に対して「中退をするべきではない」とは言えないし、言いたくないです。無責任に「諦めんなよ笑」みたいに言われてつらい気持ちになったりもしたので。

*1:期限があり、独自性がある(ルーチンワークではない)という意味で、大学卒業はプロジェクトであると考える

*2:近年の大学では、教員側がそれを禁じられているらしい

*3:そのときは、相談しにいくという気持ちではなく、「中退します」と意思を伝えて終わりにするつもりだったのだが。

*4:これは、一から十まで上司の指示を仰がねばならない、という意味ではありません

*5:少なくとも私の不眠症

アンチョビヤグラ作戦


2020/08/14 ガチヤグラ  アンチョビットゲームズ・マンタマリア号

  • 初動は味方の台の右端に陣取り、広場塗りと右から出てくる敵のケア
  • 中央広場を味方に制圧してもらったら、降りてヤグラに乗る
  • 第一カンモンを突破し、敵がヤグラ進行方向にまだいる場合は一度ヤグラから降り、インクをばらまいて味方をフォローする(味方がいなかったら下がる)
  • 第二カンモンまで到達したらヤグラに乗る
  • 右・正面・左のうち、敵が来ていてかつ味方が見ていない方向をケアする(2箇所以上該当する場所があったら下がる)
  • 第一カンモン〜第二カンモンの守りは、右高台から行う
  • 第二カンモン〜の守りは、左高台から行う

 

スプラトゥーン2 2020/07/26 感想戦

youtu.be

雑に飛びすぎ。自分から人数不利を作ってどうする。
初動は「チャージャーの定位置(右広場の入口)」から高台と右広場を見たほうがよさそう。「チャージャーの定位置」は、中央から駆け抜けてこられると弱いので、まず中央側を見て事故を防ぐ。右広場に対しては、右広場は開けているので比較的安全そう。右広場から中央高台〜敵陣側の一段高いところにアプローチするのは有効そう。特に味方がいるときは。

 

youtu.be

左高台はちょっとピーキーすぎる位置取りなのでやめよう。中央高台と左からの侵入に対してしか刺さらない上に、特に左からの侵入に対してはそれほど強くもない。下に降りると中央と左に対してめっちゃ不利なので、降りづらいのも難点。また、防衛のターンになったときに、右まで戻るのが大変すぎる。この日の対戦を通じて駄目ポジションが一つ明らかになったのは収穫(ポジティブシンキング)。

0:55のやられた報告から、0:58でローラーが飛び出してくるのを予測できたのはめっちゃえらい。

 

youtu.be

左高台に固執している事も含めて、有効な行動が取れていない面が多い。

  • 押せる場面なのに敵の存在を気にして引いてしまい、結果として前方での人数不利を生んでしまっているケース
  • 詰んでいるのに飛ばない

あと、第一カンモンを突破した後は、左と正面と中央高台を見る必要があるが、自分がどこを見るべきなのかは、「どこから敵が出てきているか」ではなく「どこが見られていないか」を基準に決めるべきっぽい。今現在敵が見当たらない場所からでも、敵が飛び出してくることはよくある。この理論から行くと、2:10の攻めでは誰も見ていない左を見るべきだったと後出しで言うことができる(このとき味方は中央高台と正面を取れている(直後に死んでいるが))。

また、敵が飛び出してくる可能性が高いがケアできない場所があるときは、攻めが失敗する確率が高いため引いてもいいかもしれない。

 

youtu.be

「チャージャーの定位置」を使えているのが良いが、壁のすぐ裏に対する意識が足りていないのと、中央から出てきた敵に対して弱気すぎる。そこで引いてしまうと、壁裏がノーマークになって逆に不利になってしまうため、強気に出るべき。また、一度壁裏に入られてしまった場合はうかつに定位置に近づいてはならない。

また、結果的にそうなったというだけだが、攻めるときもちゃんと3方向全てがケアできているので良い。逆に言うと、守るときは攻め側が見ていない方向からアプローチするのが正しいということになる。中央高台は攻めにも守りにも有効なので、ぜひ取っておきたいポジションだ。

 

youtu.be

一度定位置から剥がされてしまうと、右広場に敵がいないことを保証してからでないと戻れないので、初動で定位置に行くのは重要っぽい。また、守りが成功して敵を追い払えたときに、定位置周りの足場を固める行動をしても良いかも。トラップおいたり塗替えしたり。

1:28での守り情勢になったときに、中央高台が取られていることに対して危機感を抱くべきかもしれない。中央高台からリスポン下までが取られてしまうと、多方面からヤグラにアプローチすることが不可能になってしまう。ここは、多少カウントを進められる/返り討ちにされるリスクを取ってでも、中央高台を取りに行くべきな気がする(自分が行かなくてもいいが、誰かしらが取る必要はある)。

 

youtu.be

味方が強すぎて、ヤグラ乗ってたらなんか勝った。以上。

 

youtu.be

3:20でヤグラに乗らなかったのはちょっと良くなかったかなあ...とくにインクレールで右上に入るのはよっぽど押してる&ヤグラが進んでる時以外にやっても有効じゃなさそう。というのも、ヤグラが進んでないときは、ここは敵の通り道なので複数人で突破しにかかられる可能性が高いから。ヤグラが進んでいれば、ここまで敵がやって来ることは稀、あるいは敵にとって無駄な行動となるので比較的安全で、ヤグラにアプローチする敵を不意打ちすることが可能になる。

 

youtu.be

定位置が取れないと中央〜第2カンモン手前までの守りが崩壊するということがよく分かる。敵の攻め気配が見えたら、なにはともあれ定位置を取りに行かなくてはいけない。

中央高台が取られてしまった状態で防衛をするという観点からは、左高台からアプローチして中央高台を取り返すのもありうると一瞬思ったが、敵の位置が把握できない状況ではすぐに取り返すのは難しく時間がかかる上に、潜伏している敵に殺される未来が濃厚な気がする。のでやっぱだめかも。

 

youtu.be

味方のローラーが強くて、敵陣深くまで切り込んでくれたところでヤグラに乗ってたら勝った

 

youtu.be

なんかよくわからないけど守りきって勝った。敵に長射程がいて、お互いに左高台でガン待ちしちゃうと睨み合いになって、カウントがあまり進まない試合になってしまう。若干危険度は上がるけど、右高台からのアプローチを研究するべきかも?自分はヤグラにのって、敵右高台へのアプローチは味方に任せるというのもアリかも知れないが、味方任せになってしまい不確実性が上がる気がする。

 

 

スプラトゥーン 最近の学び

  • 勝ちパターンを探索せよ。
  • 発見した勝ちパターンに固執するな。
  • 自身の調子の悪さを受け入れろ。
  • 50%しか勝てないゲームだということを意識せよ。
  • カウント、生きた敵味方の数、位置、塗り状況から総合的に戦況を判断せよ。
  • 攻めるべきときに攻め、守るべきときに守れ。
  • 浮いた駒がないか探せ。
  • 味方をフォローせよ。

最近並列に仕事ができるようになった

入社直後ぐらいはタスクを2つ抱えるとそれだけであっぷあっぷしてたんですが、最近は並列に仕事を抱えるやり方がだんだんわかってきた気がする。

並列に仕事を抱えるときのコツは、

  • コンテキストスイッチによる効率の低下を受け入れること
  • 仕事を中断&再開できるように「どこまでやったか」「次に何をやるか」をメモっておくこと
  • 他者によってブロックされる工程を見出すこと
  • 優先度と「他者によってブロックされる工程が来るタイミング」を考慮に入れて仕事を並び替えること

の4つっぽい。

並列に仕事を抱えられるようになると待ち時間が減るんで、一つのタスクを片付けるのにかかる時間は増えるにせよ、こなせる仕事の量は全体では増えるなと思った。