2011年9月23日金曜日

旅行にいく時に持っていった方がいいもの

しばらく学会に行っていたのだが、いくつか現地で必要になって買うことになったものがある。次回は忘れないように書いておこう。
いままでの「旅の持ち物」リストに加えておこう

持っていけばよかったものたち

1. 爪切り
4日もあれば、爪は伸びる。現地の薬局で購入したが、次回は持っていこう。

2. フォーク
旅先でアップルパイを買って宿に持って帰ったときに、手づかみで食べるのは悲しい。結局、駅ビルの100円ショップでフォークを購入したが、次回は持っていこう。

3. 紅茶のティーバッグ
わたしは紅茶中毒でかつブランドにこだわりがあるのだが、うっかり忘れてしまった。これも現地調達することになった。

4. 学会の参加証
なくても困ることはなかったが、他の参加者と話すときに、わたしもあった方が相手にとって便利だろうなと思った。

5. 時刻表
ちょっと、次の次の電車を調べるときとか手元に時刻表があればよかったと思った。iPhoneでも経路検索できるけど一覧性は紙の勝ち。

これから、出かける皆さんへ
旅を楽しんできてくださいね。

2011年9月21日水曜日

回数券入れを自作しました


回数券は10枚分の値段で、11回電車に乗れるのでお得である。
得に東京メトロの回数券は金額だけで、経路の指定がないので出発地、目的地が違っても使える。さらに乗り越しができるので、190円の回数券で乗って230円のところで降りるには40円の差額を払えばよい。したがって160円の回数券を持っていればいつでも使えるのだ。

しかし、PASMOやSuicaの普及に伴い、回数券入れが置いていない券売機が多い。しかたがないので自作したので、その作り方を載せておく。

1.紙を用意する。
綺麗な紙を探そう。下図のように切り、より綺麗な面を下にして机の上に置く。


2.折り紙のように折る。




最後に糊でとめれば完璧。使用開始から2週間経つが、今のところ壊れていない。

追記

切符かPASMOで乗ると、東京メトロと都営地下鉄は乗り継ぎ割引で70円引かれるから、地下鉄を乗り継ぐなら回数券を使わない方が得だ。

2011年9月4日日曜日

電源ボタンを入れて待ってたら、gnomeが立ったらうれしい(boot時にautologinする方法)

1.背景
家のマシンに限った話をすると、
  • 使い終わったら電源を落とす。
  • 私しかユーザーはいないし、sshされない。
  • 使うときは、電源を入れるとlogin画面で止まっていて、loginしてstartxとtypeし、gnome環境で生活する。
という日々を送っていた。

しかし、
電源ボタンを入れて待っていたら、gnome が立って欲しい!
ので設定した。

2.概要
/etc/gettytabと/etc/ttysを編集し、ttyv4に自動ログイン(autologin)し、~/.bash_profileでttyv4にloginしたときはlogin直後にstartxするように設定する。

3. 自動ログイン
/etc/gettytabと/etc/ttysを以下のように修正する。

--- /etc/gettytab.orig    2011-09-03 20:59:47.000000000 +0900
+++ /etc/gettytab    2011-09-03 21:08:25.000000000 +0900
@@ -164,6 +164,10 @@
 P|Pc|Pc console:\
     :ht:np:sp#115200:

+P1|Pc1|Pc1 console:\
+    :al=username:ht:np:sp#115200:
+
+
 #
 # Wierdo special case for fast crt's with hardcopy devices
 #

--- /etc/ttys.orig   2007-01-12 16:42:20.000000000 +0900
+++ /etc/ttys    2011-09-03 21:08:55.000000000 +0900
@@ -37,7 +37,7 @@
 ttyv1    "/usr/libexec/getty Pc"        cons25    on  secure
 ttyv2    "/usr/libexec/getty Pc"        cons25    on  secure
 ttyv3    "/usr/libexec/getty Pc"        cons25    on  secure
-ttyv4    "/usr/libexec/getty Pc"        cons25    on  secure
+ttyv4    "/usr/libexec/getty Pc1"        cons25    on  secure
 ttyv5    "/usr/libexec/getty Pc"        cons25    on  secure
 ttyv6    "/usr/libexec/getty Pc"        cons25    on  secure
 ttyv7    "/usr/libexec/getty Pc"        cons25    on  secure
patch形式になれていない人へ
diff の読み方は、/etc/ttysの例でいくと、
@@ -37,7 +37,7 @@ は「/etc/ttys.origの37行目から7行分と/etc/ttysの37行目から7行分を表示しています」という意味だ。
そのあとは、「-で始まる行は、ttys.origにあってttysにない行、+で始まる行はtty.origにはなくてttysにはある行です。他の行は両方のファイルにありますが、どの行かわかりやすい用に表示しています」という意味だ。
つまり、40行目のPcをPc1にするように、エディタで編集しろと言うことだ。

上は
$ diff -u /etc/ttys.orig /etc/ttys
の出力をコピペしたもので、unified context という形式で、patchを当てるときに
使う形式でもある。diffとpatchのマニュアルに目をとおしておくこと。

これでboot直後に、ttyv4に自動ログインするようになった。
参考 昔々のhandbook http://docs.freebsd.org/doc/3.0-RELEASE/usr/share/doc/ja/handbook/handbook172.html

4.gnomeをたてる
私は、default shell としてbashを使っているので、loginしたときに~/.bash_profile が実行される。なので、~/.bash_profileに以下のように追記する。

if [ `tty` = "/dev/ttyv4" ]; then
        startx
fi
これで ttyv4 でログインした時に限り、ログイン直後に startx が実行されるようになる。

csh、tcshの人へ
.login に正しい書式で、同様に書けばよろしい。if文の書式は自分で調べてること。

以上、/etc/ttys、/etc/gettytab、~/.bash_profileの3ファイルを書き直せば、
電源を入れると、gnomeがあなたを待っている。さあrebootしよう。

5.注意
UNIXマシンに詳しくない同居人がいる人は、あなたのプライバシーが暴かれる可能性が増大します。電源を入れて黒い画面で login: と表示されたら手も足もでない人は多いですが、gnomeが立っていたらファイルを見ることは簡単です。
しかし、パートナーがUNIXに詳しい場合はLiveCDで起動して、HDDをmountしてすべて見ることができるので、あまり危険度は変わりません。気にしないでよいでしょう。

Xserver をlocalhostのclient以外が使う場合は注意が必要です。上のように、rootでautologinして、、、と思うかもしれませんが、うまくやらないと、正当なユーザ以外でもXserverを使えるようになったり、他のユーザのウインドウをとったりすることができてしまうようになります(例えば xinit 以外で Xserver を立てた場合など)。
上記のように、個人ユーザで startxする分には大丈夫ですが、気をつけてください。


2011年8月31日水曜日

FreeBSDにlinux由来のソフトウェアを入れようとすると、perlのpathのせいでしくじる

 1.FreeBSDにlinux由来のソフトウェアを入れようとすると、perlのpathのせいでしくじる

今日は、ffmpeg を install しようとして、失敗した。
(portupgrade は楽だが、成功率は100パーセントではない)

multimedia/ffmpeg の場合は、texi2pod.pl の一行目に
#!  /usr/bin/perl -w
とあるのだが、FreeBSD での perl 本体の場所は、/usr/local/bin/perl である。
($ type perl
としてみるがよい。昔は/usr/bin/perl だったらしいが、少なくとも8.2では/usr/local/bin/にある。)

perl script の path が正しくなくてmakeが通らないことは、ports systemを使わないでlinux用のソフトウェアを source codeからcompile、installをしようとするときにも、しばしばある。

2.対策
(1)
source codeがあるならば、*.pl という名のファイル内の "/usr/bin/perl" を "/usr/local/bin/perl" に置換してしまえばよいのだが、毎回やるのは面倒くさい(一行ですむけど)。よってこの方法は不採用。

(2)
# ln -s /usr/local/bin/perl5.14.1 /usr/bin/perl
# ln -s /usr/local/bin/perl5.14.1  /usr/bin/perl5
一見やる気ないが、これで万事OK。

(3)
(2)でいいのだが、perlをportupgradeするたびに(2)をするのは面倒くさい。なので /usr/local/etc/pkgtools.confの AFTERINSTALL のところに
        'lang/perl5*' =>
          'ln -s /usr/local/bin/perl5* /usr/bin/perl',
と書いておけば、perlのversionが6に上がるまでは安泰だ。

3.参考文献
ports の不具合の報告 http://www.freebsd.org/cgi/query-pr.cgi?pr=131331

4.追記
ふつうは、perlのmake optionで
USE_PERL on
になっているので、上記対策は必要ないらしい(/usr/ports/lang/perl5.14.1/Makefile を参照)。けれど、なぜか/usr/bin/perl がなかった時のために記事は残しておく。pkgtools.confは編集しないで様子見がよろし。

2011年8月23日火曜日

Mathematicaをssh越しに使うにはlocalhostにfontのinstallが必要だ。

Mathematica(http://www.wolfram.com/index.ja.html) を sshでXをとばじて使うには、 localhostにmathematica用のfontを用意する必要がある。

概要はhandbook(http://www.freebsd.org/doc/ja/books/handbook/linuxemu-mathematica.html)に書いてあるが、下の様に適当にやっても動く。なおマシン構成は、
server : FreeBSD 8.2, Xorg 7.5, Mathematica 4(古い!でも不定積分はできる)
localhost : FreeBSD 8.2, Xorg 7.5

1. fontをserverからコピーする
server のどこに fontがあるかを調べるには、server:/etc/X11/xorg.confを見る。
Section "files"のFontPathにそれらしい記述があるので、例

----ここから server:/etc/X11/xorg.conf ----
Section "ServerLayout"
        Identifier      "秘密"
        Screen      0   "秘密"
        InputDevice     "Mouse0" "CorePointer"
        InputDevice     "hhk" "CoreKeyboard"
EndSection

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        ModulePath   "/usr/X11R6/lib/modules"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/mathematica4/SystemFiles/Fonts/X/"  <-
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
...(続く)
----- ここまで server:/etc/X11/xorg.conf ----

localhostに同じdirectryを作って、中身をすべてコピーするよろし。 上の例だと
# mkdir  -p /usr/local/mathematica4/SystemFiles/Fonts/X/
# rsync -azv username@server:/usr/local/mathematica4/SystemFiles/Fonts/X/ /usr/local/mathematica4/SystemFiles/Fonts/X/

2. xorg.confの設定
それから、/etc/X11/xorg.conf にもFontPathの行を加えて、Xを立ち上げ直せばよろし。ただし、FontPathのなかで、一番先頭にmathematica用のfontを指定しないと、fontを見つけられないので注意。(serverのxorg.confと同じ位置に書き加えればよろし)。

2011年8月20日土曜日

コンソール画面で日本語で生活するための小道具

私の自宅マシン(FreeBSD 8.2、amd64)は、年に3回くらいgnomeなどのportupgradeをしくじって黒い画面で暮らすことになる。しかし、gnomeが壊れていても、日本語のメールの読み書きとgnomeを復旧するためのネット情報の閲覧くらいはしたい。
そんな願いを叶えてくれるのが、konとemacsとwanderlustとw3mだ。

1.kon (japanese/kon2-16dot)
konは漢字(日本語の文字)をコンソールの上に表示するためのプログラムだ。
(KON2 is a program for displaying Kanji (japanese characters) on the
console of Linux/FreeBSD. pkg_descrより)
現在 FreeBSD ports では32bit にしかインストールできなくなっているが、Makefile の
ONLY_FOR_ARCH=i386
の行をコメントアウトすれば、エラーも出ずにインストールできた(うちの子は64bitなのだ)。

kon は入力の文字コードはEUCを受け取るので、実行するプログラムのオプションが必要となる。たとえば黒い画面で
$ kon
$ lv -Oeuc japanese.txt
とすると、ファイルの中身が確認できる
$ emacs japanese.txt
は適当に出力を調整してくれるようで、出力オプションなしで大丈夫。wlもあくまでもemacs の内側で走るので、いつもどおりに使える。入力切替はいつもどおり ctrl+バックスラッシュ。

2.w3m (japanese/w3m-img)
まず、w3mは www/w3m-img ではなく japanese/w3m-img がインストールされているかを確認すること。www/w3m-imgは指定できるオプションが少なく、出力をEUCにすることができない(大変なだけだとは思う)。
$ kon
$ w3m -Oe google.co.jp
で検索する。tabキーでリンクやテキストボックスを移動できるので、テキストボックスを選択してReturnキーを押すと、窓下部に TEXT: と入力受付するのでテキストを打ち込もう。
日本語入力の方法は知らない。webメールを使っていたりして、日本語を書きたい人、ごめんなさい。

(うわさでは、uim-fepをなんとかすればいいらしい)
(失敗の記録だが、www/emacs-w3mをでemacsの入力を使おうと思ったが、w3m-m17nとja-w3m-imgが conflictして、これもうまくいかない。)
 
Xは壊れやすいし、もしもの時のためにインストールしておくと安心できる。

参考
kon 本家サイトが見つからない。
w3mの多言語拡張している人のページ。ありがとうございます。 http://www2u.biglobe.ne.jp/~hsaka/w3m/patch/README.m17n-ja
コンソールが好きそうな人たち。友達になりたい。
ある nakagami の日記 http://nakagami.blog.so-net.ne.jp/2006-08-08
oogatta の勉強日記 http://d.hatena.ne.jp/oogatta/20100520/1274311272

(2011-10-31追記)
32bitのシステム(kernel+userland)を64bitマシンにつないでも基本的には動くのだが、konは立たなかった。

より詳細に書くと、今のマシンのHDD不具合で、昔32bitマシンで使ってい(てsmart的にまずそうになったから、換装して0で埋めて捨てようと思ったまま放置してい)たHDDを差してみたら、konは灰色モザイク画面になってしまう。kernelもgnomeも完全に動くのになあ。ちなみにportupgradeしてもダメだった。うーん残念。

2011年8月15日月曜日

SFと科学1  高野史緒「ひな菊」とイヌ可移植性性器腫瘍

 SF(サイエンスフィクション)は科学の知見や仮説を、非専門家にもわかりやすく小説の形で表現されたものであるという一面を持つ。(もちろん、超光速移動など、現代科学的にはありえない設定に基づくものもある。)

したがって、SF小説には、元ネタとなる科学的な事実や新技術が存在することがあり、元ネタと対応する科学・技術に出会ったら、記録することにする。


---- ----

最近の日経サイエンス2011年9月号の「タスマニアデビルの伝染するがん」を読み、昔読んだ 量子回廊 年刊日本SF傑作選(2010年)に収載の高野史緒著の「ひな菊」とを思い出した。

イヌ可移植性性器腫瘍は、伝染するがんであり、交尾の際に相手に移動してひろがる。
小説中の描写と似ている点は、「イヌ性器腫瘍は雌に発情を促す化合物を作り出すことによって、雄にうつる確率を高めている」(日経サイエンス2011年9月号)、「おそらく(中略)最初のうちは非常に致死性が高かったのだろう。」(同)

高野史緒著の「ひな菊」ではスターリン時代のロシアの音楽院のサマースクールを舞台として、上のような特徴を持つ病気があったとしたら、、、を描いている。

参考
大森望『量子回廊 年刊日本SF傑作選』(大森望・日下三蔵編)序文 http://www.webmysteries.jp/sf/ohmori1007.html
東北大学SF研wiki-ひな菊 http://www28.atwiki.jp/tohokusf/m/pages/112.html?guid=on
日経サイエンスの紹介記事 http://www.nikkei-science.com/page/magazine/1109/201109_062.html
wikipedia 可移植性性器腫瘍
 http://ja.wikipedia.org/wiki/%E5%8F%AF%E7%A7%BB%E6%A4%8D%E6%80%A7%E6%80%A7%E5%99%A8%E8%85%AB%E7%98%8D