Skip to content

Instantly share code, notes, and snippets.

View kaityo256's full-sized avatar
🤖
I, Robot

Hiroshi Watanabe kaityo256

🤖
I, Robot
View GitHub Profile
@kaityo256
kaityo256 / howtoreview.md
Last active July 22, 2024 00:26
査読の仕方

査読の仕方

査読の仕方についての覚書。初めて査読をすることになり、どうして良いかわからないような人向けに書いてある。分野、雑誌、個人によって流儀が異なるので、全てを鵜呑みにしないで欲しい。なお、私の専門は数値計算であり、主な査読経験はPhys. Rev.系、J. Chem. Phys.、そしてJPSJなどである。

査読とは

査読システムに登場するプレイヤーは三種類、「著者」「エディタ」「査読者」である。

論文が投稿されると、まずエディタと呼ばれる研究者が論文を受け取る。エディタはその論文を読み、適切な査読者を選んで査読を依頼し、査読レポートを著者に送り、著者の反応を見て、最終的にその論文を出版するかどうか判断する。この一連の処理の責任を負うことを「ハンドルする」と呼んだりする。査読システムは著者と査読者のやりとりが主となるが、論文の生殺与奪権はエディタが握っており、実は最重要プレイヤーである。

@kaityo256
kaityo256 / serializablemap.cpp
Created April 6, 2017 11:06
Serializable std::map
/*
# Copyright H. Watanabe 2017
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
*/
#include <iostream>
#include <vector>
#include <map>
@kaityo256
kaityo256 / fandcandcompiler.md
Last active June 28, 2024 15:07
FortranとC++とコンパイラと

FortranとC++とコンパイラと

はじめに

将来どうなるかはわからないのだが、とりあえず2018年現在、まだスパコンを使って数値計算をしようとしたらFortranかC++を使わなければならない。で、一般論としてコンパイラはFortranの方が最適化しやすく、似たようなコードをFortranとC++で書いたら、Fortranの方が早くなる、ということはまま起きる。それじゃ全部Fortranでかけばよいのか?というと、世の中そんなに単純では無い気がするよ、という感じのポエムです。

なお、以下に出てくる数値計算結果は筆者の(だいぶ昔の)経験を脚色したもので、実際に存在するアーキテクチャやコンパイラとは全く関係ありませんのであしからず。

C++で書いてみる

@kaityo256
kaityo256 / howto.md
Last active May 20, 2024 11:32
研究者として生きていくコツ

研究者として生きていくコツ

これは卜部さんの優秀なプログラマーになるためのコツに影響されて書いたものです。

著者について

自分を構成する要素は、大きい順にシステムエンジニア、プログラマ、研究者だと思っています。でも、おそらく給料は「研究者」として払われているため、研究者として生きていくコツとしました。僕はさほど優秀とは言えませんが、とりあえずそれなりに長いことそれで食っています。大学の教授のウェブサイトに「研究者としてのコツ」みたいなことが書いてあることがありますが、これには「既に大学の教授になっている人が書いている」という強烈なバイアスがかかっています。もちろん参考になることも書いてありますが、「死ぬほど研究しろ、研究のことだけ考えろ」的な文章が多い印象です。これは普通の人にとって役に立たない助言です。これは平均的な研究者として生きていくための戯言、ポエムだと思ってください。

健康第一

@kaityo256
kaityo256 / table.md
Created May 14, 2024 12:55
テーブルに座る4人

テーブルに座る4人

日本語で聞いた場合

東西南北に向いた正方形のテーブルがあり、そこにA, B, C, Dの4人が座っている。Aの前にCが座っており、Bが南の席に座っている時、Dはどの席にいるか?

ChatGPT-3.5

DはAの前に座っている必要があるので、Dは北の席に座っています。

@kaityo256
kaityo256 / gpt-compare.md
Created April 19, 2023 08:28
ChatGPT 3.5と4の比較

GPT-3.5とGPT-4の比較

先生の名前

以下の文章を読み、後の問いに答えてください。

「私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶を呼び起すごとに、すぐ「先生」といいたくなる。別段深い意味で先生と呼んでいるのではない。憧れとか尊敬とかいう気持ではないからだ。私はその人を先生と呼ぶと、同時に自分を生徒と思うのである。すると自分は末席につくがよいと思う。そう思っていると、どんなに気が利いても、気どっても、おしゃべりになれない。私は先生に対しておしゃべりになりたいとは思わない。」

問 「私」は「先生」の本名を知っていると考えられますか?

@kaityo256
kaityo256 / re_howto.md
Created January 21, 2018 10:40
Re:研究者として生きていくコツ

Re:研究者として生きていくコツ

これは以前書いた研究者として生きていくコツへの補足のようなものです。主にはてブ等でついたコメントへの返事です。

誰に向けて書いたか?

Twitter等で偶然見かけた、顔も名前も知らないポスドクさんたちの言動を見て、これから研究者を目指す学生さんに向けて書きました。そのポスドクさんたちは分野も違うので、私とは直接の知り合いではありません。何年も前のつぶやきに対する反応で、最近の投稿へのエアリプではありません。

研究者も人間です。長くポスドクをしていると、いつも任期に追われ、かつ自分の望むテーマとは必ずしも合致しないプロジェクトをわたり歩くことで、だんだん「自分は何屋さんなのか」がぼやけてくるなか、同期、後輩がポストを取っていくのを見て焦り、「もっとがんばらなきゃ」と自分を追い込んだり、社会や身近な人に呪詛を吐いたり、ということがありがちです。そんな人たちの言動を見て、将来ある若い人が負の影響を受けないといいな、と思って書いたものです。なので、現在ポスドクをやっている人に向けて書いたものではありません。

@kaityo256
kaityo256 / kakenhi.md
Last active March 21, 2024 05:39
科研費の話

科研費の話

はじめに

最近、少し科研費が話題になっています。どうせ話題になっている理由などは一か月もしないうちに忘れ去られるでしょうが、研究者でない人には科研費は馴染みが薄いかもしれません。せっかくなので、科研費がどういうものか簡単に説明してみたいと思います。

大学の経理状況

まず、大学の経理状況をちょっと見てみましょう。例えば東大の令和元年度財務情報を見てみることにします。令和元年度の支出は2376億円、収入が2368億円となっています。収入のうち36%が国費、つまり税金ですが、そのメインは運営交付金という大学に毎年支給される補助金で763億円です。授業料は165億円と収入に占める割合は7%程度です。支出では、人件費が1009億円で42%ほどを占めます。つまり、毎年入ってくる運営交付金と授業料では人件費に届かないくらいです(附属病院による収益はかなり大きいですが、ここでは除いています)。多くの大学において運営交付金が収入に占める割合はもっと大きいと思います。気になる人は「大学名 財務諸表」で検索してみてください。

@kaityo256
kaityo256 / sve_check.cpp
Created January 7, 2021 07:05
Check availability and length of SVE
#include <cstdio>
#ifdef __ARM_FEATURE_SVE
#include <arm_sve.h>
#endif
int main() {
int n = 0;
#ifdef __ARM_FEATURE_SVE
n = svcntb() * 8;
#endif
@kaityo256
kaityo256 / test.cpp
Created February 5, 2020 14:36
Intel Compiler vs. GCC
#include <iostream>
#include <random>
struct myrand {
uint32_t operator()() {
return 0;
}
uint32_t max(){
return std::mt19937::max();
}