研究者に役立ちそうなサイトまとめ

最近、いろいろいいなと思ったサイトがあったのでまとめてみます。

無料でここまでできる→外国語を書くのに役立つサイト24選まとめ

英語の論文書くのって苦労しますよね。俺のようにかけない人は、機械翻訳に頼って何とかするのですが、上記サイトに役立ちそうなサイトがまとまっていました。

やればできる 卒業論文の書き方

執筆とは自分自身との心理戦である。自分を手なずけた者が勝者となる。

速く楽に書くコツは、「広く浅く書いて積み上げる」ことと「人に見せる」ことである。

などなど、本になっていてもおかしくない内容。私が日頃思っていることが書かれていて、共感できた。第1部の他、第2部、第3部も読むべし。

研究者を目指す普通の学生諸君に

折しも今週から週休2日になることが決まった.2日の休みは心身をリフレッシュさせるはずである.しからば学生はどうか,研究者はどうか.独創性,創造性と研究時間は無関係ではない.両者は正の相関をもち,かつときどき不連続に変化する.研究者は24時間戦う.余暇と堕落は全く違う.生活を律して研究を律せよ.

文章はちょっと古いが、書かれていることは肝に銘じておきたい。

人間的に少しおかしいけれども,研究能力は抜群である人を賞讃する向きもあるが,それは,研究の方が非常にご立派なきわめてまれなケースであって,普通の一流の研究者は人間的にも優れた人が圧倒的に多いのだ.人間を磨かないで研究だけを磨こうと思っている人は,まず失格.

大学院・研究者を目指す人へ

学生を気にかける教授もいればそうでないのもいる。たぶん大部分の教授は気にかけてくれるだろうが、みな忙しいし、時間がなくて実際は十分指導してもらえないかもしれない。頼れるのは自分だけだという状況に慣れておいた方がいい。このことはとても深い意味がある。重要な点を二つ挙げよう。

こちらも肝に命じておきたい。授業を受けるなと書かれていたり、一方で授業を受けろと書かれていたりしますが。

大事なことをもう一度言う。まず、重要な研究を行い、自分の研究にわくわくしている学生や教授たちと過ごすようにせよ。つまり、良い人に囲まれるようにしなさい。熱情は伝染するのだ。次に頭を整理する方法を学び、大事にしなさい。そうすることで、効率的になり時間を無駄にすることがなくなる。こうすれば、明らかに生産性が上がり、自分の研究活動への熱情も増すだろう。

 

「緑内障の疑い」

結論から言うと、なんともなかったんですが。

私、先日人間ドックを受けたわけです。最近体調がいろいろと悪いので。体調が悪いから受けるのは順番が逆なんだけど、まあ許してください。

それで、例によって別に何もなかった、と思ったら、最後の眼科検診で「緑内障の疑い」と言われてびっくり。視神経の形が緑内障の人に似てるのだとか。

33歳、男。視力が0.02位なので、そのせいかも、と言われ、本日精密検査に行ってきた。視野検査、というのが必要らしい。

視力、眼圧、精密眼底検査(なんか瞳孔開きっぱなしの目薬打たれた)をやった段階で、これ以上の検査は必要なし、とのことで、視野検査はされなかった。いいんだろうか。いいんだからいいんだろう。ということで安心。

==

緑内障以外に、甲状腺に水が溜まってるらしい。でも生まれつきなので問題なし。まぁ、いろいろ見つかるので、若くても一度行ってみるといいかもしれません。ちなみにバリウムは結構美味しかったけどな。

Gentoo Linuxに玄人志向のGbE-PCI(VT6122)をインストールした時のメモ

家庭内LANをGigabit Ethernetにした時に、Gentoo Linuxサーバに玄人志向のGbE-PCIをインストールした時でメモです。

GbE-PCIは、
VIA製VT6122を搭載した、玄人志向のギガビットのNICです。1000円で購入でき、性能も比較的高評価です。Gentoo
Linuxにもインストール可能ですが、私の場合は結構苦労したので、インストール方法を紹介します。なお、カーネルは2.6.16時の記録です。

まず、ドライバをダウンロードします。
VIA Velocity Family Gigabit Ethernet Driver

解凍したら、解凍したディレクトリに移動して、

# make
# make install

で、コンパイルに成功したらラッキー。しかし、私はコンパイルでエラー発生。その場合は、以下の内容を"patch.txt"として保存します。た
だし、改行コードなどは「velocity_main.c」ファイルと同じくしなければなりません。私は、Fedora
Core5上のFireFoxでコピーした後、gEditでペーストし、保存しました。

--- velocity_main.orig.c        2005-07-22 10:57:16.000000000 +0200
+++ velocity_main.c     2006-05-17 22:14:14.000000000 +0200
@@ -1957,7 +1957,11 @@
#endif
             if(pci_dev_driver(pcid) == &velocity_driver) {
                 if (pci_get_drvdata(pcid))
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+                    velocity_suspend(pcid, PMSG_SUSPEND);
+#else
                     velocity_suspend(pcid, 3);
+#endif
             }
         }
     }
@@ -2001,7 +2005,11 @@
         velocity_save_pci_context(pInfo, &pInfo->pci_context);
         velocity_shutdown(&pInfo->hw);
         pci_disable_device(pcid);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+  power_status = pci_set_power_state(pcid, pci_choose_state(pcid, state));
+#else
         power_status = pci_set_power_state(pcid, state);
+#endif
     }
#else
     pci_disable_device(pcid);

保存後、

# patch < patch.txt

として、「velocity_main.c」にパッチを当てます。

# make
# make install

で、モジュールのコンパイルとインストールが終了。コンパイルできなければ文字コード、改行コードなどを改めてみてください。

ディレクトリ /etc/modules.autoload.d にあるkernel-2.6のファイルに、

velocityget

の一行を書き込みます。これで、起動時にvelocitygetのモジュールが読み込まれます。

# cd /etc/init.d
# cp net.eth0 net.eth1
# rc-update add net.eth1 default

で、再起動時にeth0とeth1が起動するようにし、

# vi /etc/conf.d/net

で、ネットワークの設定を行います.

# /etc/conf.d/net:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7
# 2002/11/18 19:39:22 azarah Exp $

# Global config file for net.* rc-scripts

# eth0とeth1のネットワークの設定
#
iface_eth0="192.168.0.10 broadcast 192.168.0.255 netmask 255.255.255.0"
iface_eth1="192.168.0.20 broadcast 192.168.0.255 netmask 255.255.255.0"

#ゲートウェイをどうするか。インタフェース/デフォルトゲートウェイ
gateway="eth1/192.168.0.1"

再起動してみて、

# /sbin/ifconfig
eth1      Link encap:Ethernet  HWaddr 00:02:2A:DD:05:45
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:85241 errors:0 dropped:0 overruns:0 frame:0
          TX packets:119855 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26372969 (25.1 Mb)  TX bytes:45627488 (43.5 Mb)
          Interrupt:9 Base address:0x1800

とし、「HWaddr
00:02:2A:DD・・・」となっているほうが今回インストールしているVT6122のNICとなります。従来ついているNICと逆転するかもしれま
せん(従来ついているのがeth0からeth1になったりする)。場合によっては/etc/conf.d/netを所望の設定になるようにさらに設定しな
おします。

Gentoo Linuxの強力なパッケージ管理(emerge と glsa-check)を利用したアップデート

セキュリティホールを埋めるためのアップデートはLinuxでは依存関係なんかがあってとても面倒くさいものだとされてきましたが、Gentoo
LinuxにはPortageと呼ばれる仕組みで強力なパッケージ管理がされているため、依存関係をほぼ意識することなくアップデートを行えるようになり
ました。ここでは、Portageを利用したアップデートを仕方を紹介します。

# emerge --sync

で更新情報のアップデートを行った後、

# glsa-check -t new
dns home # glsa-check -t new
WARNING: This tool is completely new and not very tested, so it should not be
used on production systems. It's mainly a test tool for the new GLSA release
and distribution system, it's functionality will later be merged into emerge
and equery.
Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml
before using this tool AND before reporting a bug.

This system is affected by the following GLSA:
200510-26 ←この辺から注目
200601-10
200511-14
200605-02
200605-05

というように、セキュリティ関係でアップデートが必要な情報があった場合、その日付が表示されます。さらに、

# glsa-check -l 200601-10
WARNING: This tool is completely new and not very tested, so it should not be
used on production systems. It's mainly a test tool for the new GLSA release
and distribution system, it's functionality will later be merged into emerge
and equery.
Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml
before using this tool AND before reporting a bug.

[A] means this GLSA was already applied,
[U] means the system is not affected and
[N] indicates that the system might be affected.

200601-10 [N] Sun and Blackdown Java: Applet privilege escalation
( dev-java/sun-jre-bin dev-java/blackdown-jre dev-java/blackdown-jdk ... )

glsa-check -l yyyymm-dd といった文法で、その更新情報の内容が表示されます。必要だと思われたら、

# emerge -u [更新すべきパッケージ名]

とし、パッケージの更新を行います。cronでglsa-checkを動かしておくと、毎日メールなりで更新情報が届けられます。

SYSLOG機能を利用したルータのログ管理

私の所有するルータには,SYSLOG機能があります.ログを,指定したIPアドレスに送ってくれる機能です.もしルータにこの機能があるなら,絶対に利用するべきです.

ルータの設定は説明書にお任せして,ここではサーバ側の設定を行います./etc/sysconfig/syslogを編集します.

#Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0 -r" <-ここを変更
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
#    once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-2"

SYSLOGD_OPTIONS="-m 0 -r"の"-r"オプションをつけることで外部からのSYSLOGを受け付けるようになります.最後に,SYSLOGデーモンを再起動すると,/var/log/messagesにルータのログが記録されていきます.

% /etc/init.d/syslog restart

logcheck

日々の管理は,やはり/var/log以下のログを随時チェックすることが大事ですが,膨大なログを,逐一チェックするのは大変に手間のかかる作業です.

しかし,我々には大きな見方がいます.その名はlogcheck.大事なログだけを抜粋して設定時間おきにメールで送ってきてくれます.

RPMで入れて,早速設定します.まず,どのログファイルチェックするかを設定します./usr/bin/logcheck.shを編集します.以下に抜粋を示します.

$LOGTAIL /var/log/messages > $TMPDIR/check.$$
$LOGTAIL /var/log/secure >> $TMPDIR/check.$$
$LOGTAIL /var/log/maillog >> $TMPDIR/check.$$
$LOGTAIL /var/log/router >> $TMPDIR/check.$$
$LOGTAIL /var/log/httpd/error_log >> $TMPDIR/check.$$

次に,どんなログが大事で,どんなログがいらないかを設定します.特に,いらないログを設定することは大事です.一杯送られてきたら意味がないです
から・・・.この設定は/etc/logcheck以下にありますが,今回はいらないログの設定を示します./etc/logcheck/ignoreに
は,「こんな文字列があるものは,いらない!」という設定をすることができます.

authsrv.*AUTHENTICATE
cron.*CMD
cron.*RELOAD
cron.*STARTUP
ftp-gw.*: exit host
ftp-gw.*: permit host
ftpd.*ANONYMOUS FTP LOGIN
ftpd.*FTP LOGIN FROM
ftpd.*retrieved
ftpd.*stored
http-gw.*: exit host
http-gw.*: permit host
mail.local
named.*Lame delegation
named.*Response from
named.*answer queries
named.*points to a CNAME
named.*reloading
named.*starting
netacl.*: exit host
netacl.*: permit host
popper.*Unable
popper: -ERR POP server at
popper: -ERR Unknown command: "uidl".
telnetd.*ttloop:  peer died
tn-gw.*: exit host
tn-gw.*: permit host
x-gw.*: exit host
x-gw.*: permit host
xntpd.*Previous time adjustment didn't complete
xntpd.*time reset
root 1
named.*Cleaned
named.*USAGE
named.*NSTATS
named.*XSTATS
ntpd.*ntpd
ntpd.*precision
ntpd.*using
ntpd.*frequency
ntpd.*: synchronisation lost
postfix/pickup.*: uid=
postfix/cleanup.*: message-id
postfix/nqmgr.*: from=
postfix/local.*: to=
postfix/smtp.*250
postfix/smtpd.*: connect from
postfix/smtpd.*: disconnect from
postfix/smtpd.*client
sshd.*: Connection closed by
sshd.*: Accepted rsa
PAM_pwdb.*: (login) session opened
PAM_pwdb.*: (login) session closed
named.*bad referral
named.*Lame server on
popper.*: login
popper.*: Stats:
xinetd.*pop3

.* というのはワイルドカードです.上手に利用して,アタックの早期発見を心がけましょう.

最後に,一時間おきにlogcheckを起動します.cronに書いておきます.

% su
% crontab -e
(この行を追加)
00 * * * * /usr/bin/logcheck.sh