Description | Command |
---|---|
Start a new session with session name | screen -S <session_name> |
List running sessions / screens | screen -ls |
Attach to a running session | screen -x |
Attach to a running session with name | screen -r |
これは以前書いた研究者として生きていくコツへの補足のようなものです。主にはてブ等でついたコメントへの返事です。
Twitter等で偶然見かけた、顔も名前も知らないポスドクさんたちの言動を見て、これから研究者を目指す学生さんに向けて書きました。そのポスドクさんたちは分野も違うので、私とは直接の知り合いではありません。何年も前のつぶやきに対する反応で、最近の投稿へのエアリプではありません。
研究者も人間です。長くポスドクをしていると、いつも任期に追われ、かつ自分の望むテーマとは必ずしも合致しないプロジェクトをわたり歩くことで、だんだん「自分は何屋さんなのか」がぼやけてくるなか、同期、後輩がポストを取っていくのを見て焦り、「もっとがんばらなきゃ」と自分を追い込んだり、社会や身近な人に呪詛を吐いたり、ということがありがちです。そんな人たちの言動を見て、将来ある若い人が負の影響を受けないといいな、と思って書いたものです。なので、現在ポスドクをやっている人に向けて書いたものではありません。
# Get editor completions based on the config schema | |
"$schema" = 'https://starship.rs/config-schema.json' | |
format = """ | |
$username\ | |
$hostname\ | |
$localip\ | |
$shlvl\ | |
$singularity\ | |
$kubernetes\ |
import numpy as np | |
from tqdm import trange | |
def get_neighbour_matrix(x, L, R): | |
dx = np.subtract.outer(x[:, 0], x[:, 0]) | |
dy = np.subtract.outer(x[:, 1], x[:, 1]) | |
dx[dx > (L / 2) ** 2] -= (L / 2) ** 2 | |
dy[dy > (L / 2) ** 2] -= (L / 2) ** 2 | |
pair_dist = dx ** 2 + dy ** 2 |
これは卜部さんの優秀なプログラマーになるためのコツに影響されて書いたものです。
自分を構成する要素は、大きい順にシステムエンジニア、プログラマ、研究者だと思っています。でも、おそらく給料は「研究者」として払われているため、研究者として生きていくコツとしました。僕はさほど優秀とは言えませんが、とりあえずそれなりに長いことそれで食っています。大学の教授のウェブサイトに「研究者としてのコツ」みたいなことが書いてあることがありますが、これには「既に大学の教授になっている人が書いている」という強烈なバイアスがかかっています。もちろん参考になることも書いてありますが、「死ぬほど研究しろ、研究のことだけ考えろ」的な文章が多い印象です。これは普通の人にとって役に立たない助言です。これは平均的な研究者として生きていくための戯言、ポエムだと思ってください。
重要な順で
優秀なプログラマーというのは寝ている間に異世界に召喚されて無双するのとはわけが違うんですよ。
自分の例で言うとプログラミングを始めた中学生の時から優秀なプログラマだったかって、そんなわけない。みんなヘッポコからスタートしているに決まってるわけです。以来二十余年、地道に生き恥を晒し続けてきた結果として、現在いちおう業界の末席を汚すところまで来ている。このプロセスから目を背けるべきではないです。優秀なプログラマーに生まれる人間なんかいない。優秀なプログラマーに「育つ」んだし、それには時間が必要。今日から無双したいと思うな。
📝 企業を調べる時のメモ書きです。
- https://www.wantedly.com/
- https://jobs.forkwell.com/
- https://jp.indeed.com/
- 日本だとあんまり使ってる企業がいないけど、グローバルよりで日本でもやってる面白いものがたまに見つかる
- などの各種求人サイトを見る
- Note: 📝
2008年に新卒でソフトウェアエンジニアとしてグーグルに入社しました。2019年時点ですでに退職しています。
東京大学の電子電気情報学科という申し訳程度にコンピューターサイエンスをかじっているところから、そのまま修士課程に進学しました。研究分野は自然言語処理でした。大学がつまらなくて行かなくなった時期があり、留年して学部2年生を2回やっています。ただ勉強はかなりできたほうだと自覚しています。線形代数の試験で満点を取って授業中に名前を読み上げられたのを覚えています。大学院に進学してからは研究が面白くて土日や正月も関係なく研究室に通っていました。1月3日にどうせ誰もいないだろうと思いながら研究室に行ったら普段は忙しくて姿を見せない教授がいたのには驚きました。
プログラミングは大学に入ってから99%独学で身につけました。所属していたサークルのウェブサイトの管理をやることになったのがきっかけで、手打ちのHTMLを少しだけ書き変えることから始まり、JavaScriptでダイアログを出したり、Perlで掲示板CGIをつくったりと少しずつステップアップしていきました。できることが増えるたびに作りたいものが増え、作るたびにできることが増えと、どんどんプログラミングに没頭していきました。
最初の1〜2年のあいだは周囲にプログラミングをする人がいなかったので独りで手探りでやっていました。また、時代的にも、自分自身のリテラシー的にも、ウェブで自分が知りたいことをピンポイントで見つけることは現実的ではありませんでした。なのでプログラミングやコンピューターの知識はもっぱら本で身につけました。大学の図書館や本屋に通って棚の端から端まで目をとおしては今の自分に必要な知識を授けてくれそうな本を探すという毎日を送っていました。これはとても効率の悪いやりかたで、標準ライブラリ以外の、いわゆるサードパーティー製ライブラリというものがあることをしばらくのあいだ知らずにいて、ウェブクローラーをつくるのに生のTCPソケットの上に自前でHTTPを実装するところから始めるというような感じでした。大学を留年して暇を持てあましていたからできたのだと思いますが、このときのあらゆる困難を自力でブルドーザーのように薙ぎ倒していった経験は今でも自身のよりどころになっています。
査読の仕方についての覚書。初めて査読をすることになり、どうして良いかわからないような人向けに書いてある。分野、雑誌、個人によって流儀が異なるので、全てを鵜呑みにしないで欲しい。なお、私の専門は数値計算であり、主な査読経験はPhys. Rev.系、J. Chem. Phys.、そしてJPSJなどである。
査読システムに登場するプレイヤーは三種類、「著者」「エディタ」「査読者」である。
論文が投稿されると、まずエディタと呼ばれる研究者が論文を受け取る。エディタはその論文を読み、適切な査読者を選んで査読を依頼し、査読レポートを著者に送り、著者の反応を見て、最終的にその論文を出版するかどうか判断する。この一連の処理の責任を負うことを「ハンドルする」と呼んだりする。査読システムは著者と査読者のやりとりが主となるが、論文の生殺与奪権はエディタが握っており、実は最重要プレイヤーである。
#!/bin/bash | |
# Parse df selected output | |
df -h|egrep -v 'File|tmpfs|docker|udev'| \ | |
while read LINE; do | |
USED_NUMBER=`echo $LINE |awk '{print $5}'|sed 's/\%//'|sed 's/ //g'` | |
USED_PERCENT=`echo $LINE |awk '{print $5}'|sed 's/ //g'` | |
MOUNT_POINT=`echo $LINE |awk '{print $6}'|sed 's/ //g'` | |
if [ $USED_NUMBER -gt 80 ]; then | |
# Create message without spaces |