研究系で使ってるツール

Kento Nozawa
11 March 2018

ナウいやつあったらぜひ教えてください。

GitHub

目的:コードと LaTeX ファイルの管理・共有

  • 学生・大学関係者だと無料で private repository を複数作れる。
    • 研究室のアカウントでも同じく private repository が作れる
  • バックアップ兼用
  • 修士のときの研究室では、研究室の repository があり、他の学生にコメントをおくるときは D. Tran の A Research to Engineering Workflow っぽく /etc/ にコメント付きの pdf を PR で出していた
  • Issue や kanban を進捗管理で使ってません

Google Drive

目的:どのマシンを使ってるかを気にせずにファイルをやりとりしたいのと、特定のディレクトリのバックアップを自動でしたい

  • 作業するときはここの下でしかやらない
  • 大学によっては G suite を配っており、google drive が容量無制限で使える
  • Google の colab と google drive は相性がよさそう のもあって google drive を使っている
  • ちなみに、git 管理しているディレクトリも同期してるんですが、himkt様 に「やりすぎでは?」と言われたので意見で分かれそう。実際にまれにコンフリクト、revert が起こる
  • Google Drive の場合は、任意のフォルダの同期にも使える。ただ、これはマシン間で独立になるので、Google Drive をローカルのディレクトリと同期させるとよい
    • 2021年にgoogle driveの挙動が変わり、これをするとpermissionが強制的に変更されるようになってしまって困っています。permission 変えたくないものは、ローカルのフォルダを共有するようにしています。
  • 似たようなクラウドストレージサービスは色々あると思うので好きなものでいいと思っています。

Docker

目的:実行構築の再現

  • 特定のソフトウェアを動かすために環境構築がめんどうで使うことがある
    • 個人的な体験では graph-tool の依存が強かったので、使いだした
  • sudo がないサーバーで使いにくい
    • たまにプロセスが暴走して sudo kill でしか殺せないとか
    • 研究室で管理しているサーバーに docker いれると事故ることがあるので、GCP や AWS の上で使ったほうがいいと思っている
      • ちなみに、事故った理由は、各々が docker image を pull したためファイル容量がなくなったため
  • これに対して singularity や rootless docker があるらしいけど試してない
  • ほぼ使ってない

Paperpile

目的:文献管理・bibtex の自動生成

デフォルトで pdf ファイルの保存先が Google drive になっているので、どの PC / タブレットでも同じようにアクセス可能

5年ほどMendelyを使っていたのですが、MacOS のサポートが微妙で(具体的には、最新の OS に最新の Mendeley がインストールできない、検索のUIがよくない)移行しました。Zotero も1ヶ月ほど使ったのですが、移行するのに失敗したのと外部サービスに複数依存するのが手間なので paperpile を使っています。

Notion

TODO 管理や研究メモ用。LaTeX サポートが嬉しい。あんまり使いこなせてないです。

Google Scholar

目的:新着論文のアラートと特定の論文を引用してる論文を探すとき

  • 大雑把に論文を探すときは google 検索を使ってる
  • 引用してる文献探すとか、ある程度狭まってきたらこれを使う
  • アラート(mail 通知)が便利
    • 例0) ある著者の新しい論文、例えば Tomas Mikolov の新しい論文を Google が索引付けしたら通知
    • 例1) ある著者の任意の論文が引用した論文が出たら通知
    • 例2) ある論文が引用した論文が出たら通知
  • 自分の論文/被引用数のなさに凹むことができる

包括的な業績管理としても Google scholar を使っています。類似サービスの Semantic scholar もアカウントを作りました。論文が引用された時にメールがきます。 スライドやコードへのリンクは貼れないので、個人サイト(このサイト)からリンクしています。

Keynote

目的:スライドとポスター作成

  • テーマは zebra 2いじったやつ
  • スライド公開するときは SpeakerDeck
    • slideshare は日本語がバグったり、サイトが重かったり、広告が差し込まれて面倒なので、使うのをやめました。
    • 自分のサイトに pdf ファイルを直接おいてもいいんですが、github に大きいファイルを置くのが推奨されてない

Writing tools

LaTeX

  • LaTeX のいろいろなパッケージがはいってるので MacTeX をいれる
  • エディタはなんでもいいと思います

Overleaf

目的:LaTeX の原稿共有

  • オンラインの LaTeX 執筆環境
    • LaTeX の環境揃えるの地味にしんどいので使うことがあるので解決できる(: 先生はコンパイルできるけど、私はできないとか)
  • git の URL があるので push/pull もできる
  • 主要会議はテンプレがあるので、すぐに書ける
    • CV とかもある
  • タグがつけられるので、タグつけてからの差分がわかりやすかったりする:
    1. 学生が書き終わってタグを付け
    2. 共著者がコメント
    3. 学生がタグを付けたところと最新との diff を確認

Grammarly

目的:スペルチェック等

  • 英語文法とかスペルを直してくれるサービス
  • ブラウザの add-on いれるとフォームとかでも機能(例えば github の issue)
  • 課金してる
    • 課金するともう少し詳しめに直してくれる
  • 過信すると死ぬ

Cambridge dictionary

  • オンライン英語辞書

Hyper collocation

  • よく共起する英語表記を探すやつ
  • Google 検索もだけど、数があれば正しいわけでもないので気をつける

論文を読み

  • iPad Pro 上で Notability か Paperpile
    • goodnotes 使ってる知り合いも多い
  • Notability でつけたメモの同期は google drive に自動保存
    • 同期の方向が片方向なので、結局別ディレクトリにしている
  • notion に別途1行要約を書いてた時期もありましたが気づいたらやめてました。

コミュニケーション

  • GMail: メーラー。大学のメーラーはだいたいしょぼいので、全部のメールアカウントを gmail の一つのアカウントの画面に統一している。
  • Slack: チャット。だいたいどこも使ってると思うので省略。あんまり雑談が多いチャンネルは作業用PCでは見なかったり、focus mode や night modeなどを使うといいと思います。
  • whereby: オンラインミーティング。機能が最低限でかなり気に入ってる。海外にいる共著者との打ち合わせは常にこれ。無料アカウントだと、同時接続人数が4人なので、それ以上の場合は、Google meet とか好きなのを…
  • zoom: SYI+S 研のゼミの人数が30超えるのでこれしかないさそう。そのとき以外は使ってない。
  • zulip: LaTeX が使える。検索が弱い。
  • Google meet: 研究室のゼミがこれ

オンラインホワイトボード

  • Google jamboard (同時に複数人で触れるホワイトボード)かと思ったんですが、Jamboardの同期が無視できないラグがある。
  • Scribble Together: ホワイトボードの共有アプリ。ほぼリアルタイムで同期される。一人が課金していれば、他の参加者もホワイトボードに参加できる
  • Miro: 同上

作業

TODO list

Google tasks を使ってたんですが、変えました。ちなみに、Google tasks の利点は、

  • Gmail と google calendar は画面の右側に表示できる
  • スマホアプリがある
  • シンプル

作業時間とプレイリスト

全然実践できてませんが、理想としては、以下のようなスケジュールです。

開始 終了 やってること
10:00 12:15 作業
12:15 14:00 休憩 ☕
14:00 16:15 作業
16:15 16:45 休憩 ☕
16:45 19:00 作業

以前は、次のような Pomodoro technique を使ってましたが、UCL 行ってたときに、向こうの同僚に合わせていたら、上記の方法に収束した。

作業時間ですが、おおよそ2時間で終わるプレイリスト(1時間たつと15分休憩用の音楽が流れる)を作って、それがなっている間は作業をするようにしているこのアイディアは Dr. 森博嗣がどこかで言及していたやり方からきています。

細かいルールとして、

  • このプレイリストに入っている音楽は作業以外では聞かない
  • ソーシャルメディアサイト、Amazon、ニュースサイト、メールは開かない
    • 気持ちでは難しいので以下を導入
      • Android のスマートフォンだと focus mode という指定したアプリ以外を止める機能があるのでそれを使う。
      • Chrome では blocksite というアドオンを入れている。これは指定したサイトを開かなくするもの

さらに作業用のPCの /etc/hosts そういった娯楽系のソーシャルメディアサイトを追加して開けなくしています。

LaTeXの地味なこと

  • ベクタ形式は拡大してもボケないのと、bounding box の指定をしたくないので PDF 形式を使う。
    • EPS は使ってない。詳しい理由はこのあたり
    • 追記できるメリットとしては、PDF は github で展開されるけど、 EPS は2021年の段階ではされてない
  • 余白を削りたいときは pdfcrop

booktabs の中身を pandasto_latextabulate で生成。手作業で表を極力作らないようにしている。

その他

LaTeX のコマンドやパッケージで使い方がわからなかったら texdoc が便利で、例えば natbib がよくわからなかったら texdoc natbib をターミナルで実行するとマニュアルの PDF ファイルが開く。QAサイトよりもこっちのほうが解決してくれることが多い。