2021年初ブログ投稿.
就活をしたら次に何が来るか,そう,(卒業|修士|博士)論文です.
今回は修士論文を選択しましたので,クリアまでのチャートを公開します.
時間がないときにはついつい焦ってファイル名をtempやらhogeやらaaaやらにしてしまいがちですが,1週間以上の戦いでそれをやると4日目あたりで死にます.ちゃんとツールを活用しつつ継続的かつコンティニュアスな方法で解決しましょう.
今回は2週間で実験をやって論文を書かないといけなくなった私みたいな読者の方のために,研究を加速させた手法をダイジェストでお届けします.
Tl; DR
ここから下のN日目は実執筆日ベース.書かなかった日はノーカン.
1日目
Overleafはマジで便利.海外のトップカンファレンス直前でもない限りそうそう落ちません.
課金すると履歴が追えるし,Google Docsみたいに複数人でリアルタイムコラボレーションできるし,レビューとかもできるので本当に便利.研究室内に布教しようとしましたが,見える範囲では僕と指導教員と指導教員(2)しか使ってくれてなさそうで悲しい.
3日目
やるだけ
4日目
修論執筆4日目: 第2章全然進まなくて死。Zoomでさぎょイプ感を出すもなぜか人4コードを書いてアブノーマルなコンテンツ見て今年一の衝撃を受けて人のシャニマスプレイを見て冬優子の解釈違いにキレて小糸ちゃんの地雷感にニコニコしてちょこせんぱい可愛いとあさひちゃん誕生日おめでとう(40ページ)
— kyontan (@sukukyon) January 4, 2021
さぎょイプとかいう概念は悪.やらないほうが良い.
小糸ちゃんはじめノクチルの連中は誰一人アイドルやる気がないし,あさひは「何なんすかこれ?」しか言わないしなに? ちなみにあさひ推しです.
7日目
こんなクソ忙しい時期にサーバルームの工事をするな.
8日目
IDOLY PRIDE はちゃんとアイドルやってる.推しが1話目で実体を持たなくなって悲しい.
ゆるキャン△ SEASON 2 の OP 見て,こういうOPが2期のOPなんだよ〜〜の解釈一致に号泣した
ここらへんで提案手法に疑念を抱き瀕死状態.提出まで2週間切ってますがまだ提案手法固まってない.
9日目
修論の分析を効率的に行うためにBigQueryに払うコストを最小化しつつクエリのパフォーマンスを最適化することならいくらでも書けるのに肝心の実験が進まない,助けて
— kyontan (@sukukyon) January 13, 2021
この話は前に詳しく書きました.時間がないときは並列化でCPU時間を稼ごう.
読んでください: コストを掛けずにBigQueryを使い倒す会
11日目
グラフを描く.グラフを見ると解釈が生まれ,解釈が生まれると考察が生まれ,やがて文章が生じます.
このあたりでは完全に生活リズムが崩壊していて,17時起床7時就寝のペースで論文を書いていました.
毎日論文を少しずつ書き進めて,とにかく文の形をしてない箇条書きでも実験結果をまとめて第n稿を指導教員に送信.翌朝(17時)返ってきたレビューがあればそれを元に修正,という流れで1週間ぐらい過ごしていました.
これは指導教員の期待値を適切にコントロールするつもりでやっていたというのもあります.あとは生存報告という意味もあります.
豪華な異世界転生モノこと無職転生,ロキシーちゃんの御神体に解釈一致です.
12日目
12日目: 11日目に修正した原稿を指導教員に見てもらったところ,また章構成を見直すことになる.2つのテーマを1つの論文にまとめると崩壊しがち.実験結果を追加で取る.グラフを見ると色々考察できて楽しい.この手法で良くなるの,ほんまに?信じてません (54ページ)
— kyontan (@sukukyon) January 20, 2021
グラフを描く.
前世生まれなので未だに gnuplot を使ってグラフを描いてるんですが, gnuplot のコマンド群をファイルに書いて,それを fswatch で変更検知して描画するということをしています.
fswatch *.gp | xargs -n1 -t gnuplot
同期はみんな matplotlib 使ってる.使っとらんのはお前だけ
13日目
13日目: 実験して文を書いて実験して文を書いて実験環境がおかしいことに気がついてあびゃーってなったけどすぐに直せて偉い100点実験してグラフ書いて文を書いて文を書いて文を書いてたら15時.今日の進捗を指導教員に投げたのでおにいちゃんはおしまい (67ページ)
— kyontan (@sukukyon) January 22, 2021
グラフを描く.
実験手法が微妙に間違っていて (締め切り3日前) 慌てて再実験をすることになるが実験環境の再起動が必要で死にかける.再現性のある環境づくりは大事.
Linux の iproute2 では,なんとインタフェースに割り当てたアドレスやルーティングテーブルをダンプ/リストアできます.便利すぎて泣いた.
ip address save
centos – Is there a way to save current state of network configuration in linux into a datafile or set of ip commands like iptables-save? – Unix & Linux Stack Exchange
ip address restore
…
https://unix.stackexchange.com/questions/506504/is-there-a-way-to-save-current-state-of-network-configuration-in-linux-into-a-da
ip (addr/route/rule) (save|restore|showdump)
あたりのコマンドを使えばなんとかなります.適宜 -6
とか table
とかは指定する必要があります.
14日目
14日目: いよいよ大詰めなのでまとめと今後の展望と謝辞を書いた.オタクに謝辞で感謝される”存在”も大変だな…… (68ページ) https://t.co/PAXQu1KNYX
— kyontan (@sukukyon) January 23, 2021
ぎりぎり義理.
15日目
今年は緊急事態宣言下ということもあり Google Forms を用いたオンライン提出でした.点数は0点.
提出時に要旨と本文のPDFを結合する必要があり,macOSなら Preview.app でもできるのですが,調べたらCLIでもできるらしい.
Automatorのアクション定義内のpython叩くってどうなのよ……
"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" [output.pdf] [inputs.pdf ...]
総括
実験,集計,グラフ描画,執筆,PDF生成のイテレーションを高速に回すことでなんとか締切に間に合わせることができました.
— kyontan (@sukukyon) January 23, 2021
この図は同期3人の論文執筆の進捗を記録していたものです.黄色の人間が最後頑張って追い上げたように見えますが,これは完全にフェイクで1/10あたりで書き上げていて,最後にフォーマットを修正していただけです.許せないな.
研究とかいうのをサボっていた結果,1月にツケが回ってきたので2週間で修士相当の成果を出すことになり死にかけました.最終的に良さげな結果が出たのでオーライ.結果が出ると人間は図に乗るので愚か.
皆さんも日頃からシェルスクリプト筋やグルー言語筋,gnuplot筋などを鍛えて突然のデスマーチに備えてください.やればできる粉,そんな粉に僕もなりたい.
おわり
シャニマスはMAD素材