ThinkPad 調子悪し
ThinkPad 調子悪し
このサイトを動かしている我が家の ThinkPad X20 が最近調子悪いです。
ときどき、ふと気が付くと電源が落ちちゃっています。サーバログを見ても何の痕跡も残っていないので、本当に突然電源断しちゃっているみたい。負荷が高まった時が怪しい感じなところを見ると、冷却ファンが壊れちゃったのかな。
脆弱性を突かれて死んでいるんでないことを祈ろう…1。
このサイトを動かしている我が家の ThinkPad X20 が最近調子悪いです。
ときどき、ふと気が付くと電源が落ちちゃっています。サーバログを見ても何の痕跡も残っていないので、本当に突然電源断しちゃっているみたい。負荷が高まった時が怪しい感じなところを見ると、冷却ファンが壊れちゃったのかな。
脆弱性を突かれて死んでいるんでないことを祈ろう…1。
岡嶋二人の中の人の一人、井上夢人さんの書いた、岡嶋二人が誕生して消滅するまでの記録です。
岡嶋二人作品といえばこれまで、「クラインの壷」と「99%の誘拐」しか読んでなかった1のに思わずこの本を買ってしまったのは、やっぱり作者の井上夢人さんとナニゲに 2 hop の関係2で親近感を持っていたから、かなぁ。読み始めたとたんの冒頭に「トリックを隠して書くなんて器用な真似は出来ないので覚悟するように」と書かれていて少し後悔しかかりましたが、とても面白くて一気に読んでしまいました。確かにトリックや小説の構成がばっちり書かれてしまっている箇所もあるけれど、かといって二度と岡嶋作品が読めなくなるか、というとそんな事無いので、未読の方もご安心を。我が家の場合むしろ、この本がきっかけで今、岡嶋熱が高まっていたりします。
本書は大きく「盛の部」と「衰の部」に分かれていて、乱歩賞を受賞してプロデビューするまでが「盛」、プロデビューしてから消滅までが「衰」となっています。ミステリー小説とは全く縁のなかった井上さん、徳山さんコンビ3が、もっぱらお金目当てで乱歩賞を取ろうと決心し、何年もの努力の末ゲット、その後プロとして書き続けていく間の赤裸々な苦労話は、とてもリアルで面白い。普段漠然と考えているプロ作家の生活、というものへのイメージが結構変わりましたね。
特になるほどなぁと思ったのは、乱歩賞を受賞してからの怒涛のような毎日について。商業作家としてデビューする、ということはつまり、一定の期間で水準以上のクオリティを持つ作品を量産し続けなければならない、ということを意味する、ってことを初めて身にしみて理解できました。乱歩賞目的で「とりあえずいい作品を一つ書く!」ということを目標にやってきた二人にとって、その後の急なペースチェンジ、量産作業がとても辛かったであろうことは想像に難くなく…。いやはや、プロの作家、というのは大変なんですね。
実はこの本の前には東野圭吾のエッセイ、「さいえんす?」を読んでいたりしたんですが、そっちはクソつまらなかったです(笑。小説はそこそこ面白いのに、なんでエッセイはあんなにつまらないんだろう…という個人的な感想は置いておいて(^^;、そのエッセイの中で、東野氏が最初から量産可能な商業作家を目指して自分で書きうる分量を計算、それに伴って得られるであろう印税額まで綿密に計算してからデビューしていたのと比べると、岡嶋二人のお二方はとても対照的で、面白かった。
ロフトプラスワンで今でも準定期的に行われている、「ロケットまつり」で語られた日本のロケット開発の昔話をまとめた本です。「ロケットまつり」に実際足繁く通っている実はかなりディープなロケットガイ、SAK 氏に借りて読みました。
ペンシルロケットから始まる日本のロケット開発の現場を、日本のロケットの父、糸川氏とそれを取り巻く人々の当時の様子を、実際に居合わせ、肌で知る林氏、垣見氏がとても熱く語ってくれます。書かれている内容はとてもぶっ飛んでいて、「おいおい、そんなこと書いちゃって大丈夫なの?!」と思ってしまうほど。もう時効、ってことなんですかね(笑。
生の現場を知る両氏の言葉は軽妙でありつつとても含蓄深くて、思わず引き込まれ一気に読んでしまいました。きっとまだまだ語れない事は多いのでしょうが1、本書はその見た目、文体の軽いノリとは裏腹に、実はとても資料的価値が高いのかもしれない。林さんや垣見さんのような方が生きているうちに (失礼!)、もっともっとお話を聞いておくべきですよ。
ちなみに本書には当時の資料映像を収録した DVD もオマケについていて、これがまたすごく貴重な内容 (失敗して燃えるロケットに消防車で水をかける映像とか見られます・笑)。そういう意味じゃとてもお買い得な本かも。
東野圭吾著。一昨年の正月クールで放映していたドラマを結構熱心に見ていたので話の流れは大体知っていたんですが、あゆみさんが図書館で借りてきたのを又借りして読みました。
あとがきで馳星周が「主人公二人の内面について全く描くことなく読者に伝える事の出来る東野の才能に嫉妬」とか書いてましたけど<2ちゃんねらーかよ(笑、僕はむしろ主人公二人ではなく、それにより逆に際立っている取り巻く人々の善人性に惹かれましたね。一成さん、栗原さん、友彦君、笹垣刑事、高宮夫妻。これらの人たちの善人ぶりがとても印象的でした。あゆみさんはしきりに、「ドラマを見る前に読みたかった」といっていたけれど、僕はドラマ→小説の順でも楽しめたなぁ。あんなシーンやこんなシーンに具体的なヴィジュアルを当て込めるのがイイ<ヲイ(笑。
しかし主役二人の「20年にも渡る物語」とはいえ、その時代性を語るのにあまりにも有名な事件、オイルショックであるとか阪神優勝、バブルとその崩壊などを使う、ってのは、ちと安っぽすぎる感じがしました。分かりやすくはあるんだけどね。もう少しひねった書き方をして欲しいとおじさんは思ってしまうよ。
先日遭遇したとある出来事。外付け USB HDD に Windows XP の My Documents の中の、My Music と My Pictures (それぞれカタカナで「マイミュージック」「マイピクチャ」と見える) をバックアップ1しました。
その USB HDD は主に PS3 に接続して使う予定だったので、PS3 上で使いやすいかな、と思い、それぞれのディレクトリ名を「MUSIC」「PHOTO2」に rename しました。PS3 は USB HDD やメモリースティック等の外部記憶メディア上で音楽データ、画像データを保持するディレクトリ名が決められているのですね (詳しくはこちらを)。
さて、その USB HDD を PS3 に繋ぎ、PS3 の内蔵 HDD に保存してあった音楽データ等をバックアップしようと「コピー」しようとしたところ、「80030514」というエラーがでてコピーできません。なぜだ。
いろいろ調べてみたところ、面白いことが分かりました。
というわけで、Windows 上のデータを PS3 で使うときや、他のポータブルプレイヤー等で使う際に、意味不明なエラーが出て困っている場合は、「読み取り専用」属性に気をつけてみると良いかもしれません。
しっかし謎な挙動だよな…。
新年 6 日になって書くことじゃないかもしれませんが、あらためまして、あけましておめでとうございます。
2007 年は、前年から引き続いて、なんだかバタバタやってるうちに終わってしまったような一年でした。一昨年のような一大イベントが無く、代わりに小粒のイベントが数カ月おきにやってきていたのがそんな印象の原因でしょうか。
さて個人的な面での 2007 年のトピックはやっぱり、プラズマテレビ購入に伴う、我が家の映像ソースの本格的なハイビジョン世代への移行1でしょう。「放送」という、一般的な家庭における最大の映像ソースがデジタル化され、これがとても快適。これまでのようにアンテナに乗るノイズ源を探して右往左往2、というような苦労を一切しなくて良くなったのはとてもありがたいです。DVD の登場以降、テレビで放送される映画を見ることもずいぶん減っていたんですが (見たい映画は DVD で見るスタイルが定着)、今回テレビだけがハイビジョン化されたことで、あえてテレビで見よう、と思う事も増えました (前に書いたように、放送された映画をスクイーズで録画できるようになったのも嬉しい点)。少なくとも、これで当面 (2011 年以降も) あわてて機材を買い換える必要がなくなったのも良かった。
我が家のプラズマはフルハイビジョンで無いせいか、はたまた PS3 のアプコンの恩恵に与っているからか、これまでの SD ソースもそれほどの違和感なく視聴可能だったのも良かった点。DVD や PS2 のゲームも相変わらず現役です3。
なんだか自分の仕事と趣味の事ばかり書いていて、悪い父親ですね>俺。子供たちは最近とても丈夫になって、ほとんど風邪もひきません (親の方がしょっちゅう調子悪くしてる感じがする)。最近は食事の量が劇的に増えてきて、ちょっと今から先行き不安になります(笑。我が家のエンゲル係数は急上昇中です。
2008 年はどんな年になるのでしょうね。総選挙、北京オリンピック、アメリカ大統領選挙あたりが最大のトピックなんでしょうか。仕事方面では引き続き粛々と某マシンのネット環境を充実させることに注力していくことになるのでしょう。個人的にはあまり無駄な散財をしないよう、お財布の紐を引き締めていきたい(^^;。
とにもかくにも、今年もよろしくお願いします!
最近はすっかり全ての私用メールを Gmail で処理するようになっちゃっていますが (バックアップ目的で念のため自宅サーバへも転送してますが、そっちではほとんど見ていません)、この間から、Firefox で Gmail を見ているときに、「連絡先」が開けなくて困っていました。開こうとするとしばらく「読み込み中」が表示されるのですが、その後何も起こらずに終了してしまいます4。
それが今日になって、「設定」画面も開けなくなり、あれよあれよと思っている間にとうとう、受信トレイを始めとするベース画面も開けなくなってしまいました。開こうとすると読み込み中の画面のまま通信が止まってしまいます。ブラウザを立ち上げなおしてみたりしてもダメです。
最初、Shift+Reload のスーパーリロードを試してみたりするも直らず、困ったなぁ、と思っていたんですが、ふと全キャッシュのクリアを試してみたところ、見事全ての機能が復活しました。
Gmail はかつていろいろなところで書かれていたように、いわゆる Ajax 的な手法をふんだんに用いて作成された Web アプリケーションです。そのようなアプリの場合、キャッシュのコンディションによっては今回のようなことが起こりうること、またその場合スーパーリロードも効かず明示的にキャッシュクリアしなければならないことがありうること、ってことですね。
一つ勉強になりました。
今回、Linux box に接続されているバックアップ領域用外付け USB HDD を交換1したんですが、もともとの HDD が一定期間アクセスがないと自動的に spin down (HDD の回転を停止) してくれる省エネタイプのものだったのに対して、今度のものは放っておくとずっと回り続けているタイプのようでした。本体には一定時間アイドルが続くと spin down するユーティリティが添付されているのですが、なぜか Windows 専用。
そこでちょっとググって見たところ、こちらのページなどで、外付け USB HDD でも sdparm というコマンドを使うことで spin down 出来ることが書かれていました。sdparm はすでに debianize されているようでしたので、早速 apt-get で入れてみて、手始めに
# sdparm --command=stop /dev/sda
としてみると、おお、ちゃんと止まる。止まっている状態でその HDD 上のパーティションにアクセスしてみると、自動的に spin up してくれるみたい。なかなかいい感じ。
さらにちょっと調べて、同じ方のこちらのページからそのものズバリなページに飛び、そのページに書かれた「Shell-only scsi-idle without kernel patch」な shell script を sdparm を利用するように少し書き換えて root ユーザで実行することで、idle 監視、自動 spin down させることにしました。
#!/bin/sh
if [ $# -lt 2 ]; then
echo "$0: $0 [DISK] [INTERVAL]"
echo "ex: $0 sda 900"
exit 0
fi
disk=$1
interval=$2
state=`grep " $disk " /proc/diskstats`
count=$interval
up=1
while [ true ]; do
sleep 10
count=$(($count-10))
newstate=`grep " $disk " /proc/diskstats`
if [ "$state" = "$newstate" ]; then
if [ $count -lt 0 ]; then
count=$interval
if [ $up = 1 ]; then
echo -e "spin-down: /dev/$disk"
sync
state=`grep " $disk " /proc/diskstats`
sdparm --command=stop /dev/$disk
up=0
fi
fi
else
echo -e "drive is up: /dev/$disk"
count=$interval
state="$newstate"
up=1
fi
done
実際には上記スクリプトを下記のようにして実行しています。
# bin/usbhdd_spindown sda 900 2>&1 | logger -t usbhdd_spindown &
いつものように完全に無保証ですのでお気をつけください。HDD はずっと回転させておくほうが長持ちする、という話もありますし…。
僕は現在、この web サーバ等をサービスしている Debign GNU/Linux サーバを、pdumpfs を使って日々バックアップしています1。pdumpfs は、毎日バックアップ対象として指定したディレクトリツリーの完全なコピーをバックアップしつつ、前日から変化のないファイルについてはハードリンクを使うことでバックアップ先ディスクの容量を節約できることが特徴のツールです。pdumpfs のバックアップ先は対象ディレクトリツリーの daily snapshot のような形になっていて、そのまま自由にアクセスできるので、誤って消してしまったようなファイルも後日簡単に取り出すことができます。
ただ、僕のように「メイン HDD のほぼ全域を毎日バックアップ」というような使い方をしている場合、絶対的なディスク領域は確かに節約できるのですが、ディレクトリエントリの数 (見た目のファイル数) がべらぼうな数になります。そのべらぼうな数のファイル (ハードリンクされたファイル) が、いざ pdumpfs のアーカイブ領域 (pdumpfs のバックアップ先) を移動しようと思った時に、やっかいな障害になります。
今回、アーカイブ先として使っていた外付け USB HDD を交換したいと思い、別のやっぱり外付け USB HDD にアーカイブ全体をコピーしようとしました。
最初、何も考えずに tar を使って次のように実行してみました2。
# (cd /mnt0 && tar cf - *) | (cd /mnt1 && tar xvfp -)
一番最初にトライしたときは、2つの USB HDD を USB 1.1 のホストに接続していたため (ThinkPad X20 の本体 USB 端子はなんと USB 2.0 未対応なのです)、df で確認した転送スループットを元に軽く計算してみたバックアップ完了までの時間がとんでもないことになりそうだったので、早々に止めて、急遽 CardBus の USB 2.0 インターフェイスカードを 3,000 円くらいで買ってきて繋ぎなおしました。
さて二度目のトライ。最初のうちこそ順調に処理されているように見えたのですが、大量のハードリンクを含む pdumpfs 領域を処理し始めると、tar のプロセスサイズがみるみるふくらみ、CPU 利用率も 100% に張り付き、最後にはマシンがダウンしてしまいました (昨日このサイトにアクセスできなかったのはそのダウンが原因です)3。何か別の手を考えなければなりません。
僕が pdumpfs でバックアップを取り始めたのは去年の 8 月くらいのようですが、そもそも、去年の8月からのすべての daily backup を保存しているのはちょっと無駄です。元々その外付け HDD の容量が逼迫してきたら、一定期間よりも古いバックアップは順次消していこう、と考えていましたが、軽くググってみたところやっぱり似たように思っていた人はいて、pdumpfs-clean というツールが作られていました。僕は単純に「一定期間よりも古いものは全削除、それ以降は全保存」としか考えていませんでしたが、このツールは「古くなるに従ってだんだん密度が薄くなっていくような残し方」ができるようになっています。つまり、直近 30 日はすべて残すけれども、それより古いものは週次、月次、年次でのみ残す、という指定が可能になっています。
早速このツールをダウンロードし、以下のように実行してアーカイブを掃除しました。
# ./pdumpfs-clean -k 99Y99M99W99D -v /mnt0/time_machine
pdumpfs-clean のおかけでかなりアーカイブ先のファイルも減り、うまくすれば今度は tar でもうまくいくかもしれなかったんですが、どうせなら、と思い、pdumpfs のアーカイブを移動する方法をググってみました。すると、鵜飼さんの次のような記事を見つけました。
pdumpfsした領域をコピーする時は、rsyncしてpdumpfs -d 日付 でがんばるよりも、昨日のぶんをcp –link -aしてきてその上にrsync -a –deleteかけるほうが早いような気がするがどうだろうか。
鵜飼さんの示されたサンプルコードは下記の通りです。
today=2002/06/04
end=2003/12/31
mkdir -p /archive/${today}
while test "$today" != "$end"
do
cd /archive/${today}
rsync -a --delete hikaru.fsij.org::archive/${today}/ .
tomorrow=$(date -d "next day ${today}" +'%Y/%m/%d')
mkdir -p /archive/$tomorrow
cp --link -a . /archive/$tomorrow
today=${tomorrow}
done
そこで、上記鵜飼さんのスクリプトを若干修正して4、以下のようなスクリプトでコピーしてみることにしました。
#!/bin/bash
if [ $# -lt 4 ]; then
echo "$0: $0 [START_DATE] [END_DATE] [SRC_DIR] [DST_DIR]"
exit 0
fi
start_date=$1
end_date=$2
src_dir=$3
dst_dir=$4
next_date=""
before_date="x"
copySnapshot() {
echo -n "Copying ${start_date} "
mkdir -p ${dst_dir}/${start_date}
echo -n "."
cd ${dst_dir}/${start_date}
echo -n "."
if [ -d "${dst_dir}/${before_date}" ]; then
cp --link -a ${dst_dir}/${before_date}/. .
fi
echo -n "."
rsync -a --delete ${src_dir}/${start_date}/ .
echo " done."
}
while [ "$start_date" != "$end_date" ]
do
copySnapshot
next_date=$(date -d "next day ${start_date}" +'%Y/%m/%d')
until test -d "${src_dir}/${next_date}"
do
next_date=$(date -d "next day ${next_date}" +'%Y/%m/%d')
done
before_date=${start_date}
start_date=${next_date}
done
copySnapshot
今のところそれなりにうまく動いている感じですが、完全に無保証ですので利用される際は注意してください。
先日購入した ATOK X3 for Linux (以下、atokx3 と略)、便利に使っていますが、いくつかあった難点とその対処について記録しておきます。
以前の記事でも書いたとおり、デフォルトの「GTK_IM_MODULE=iiim」状態で使っていると、ubuntu 標準のパッケージ管理ツール synaptic が動かなくなってしまうだけでなく、他にも eclipse が動かなかったり、システムアップデータが途中でハングしたりと、ちょっといろいろ調子悪くなってしまうことが分かりました。
そこで、/etc/X11/xinit/xinput.d/ja_JP を $HOME/.xinput.d/ja_JP としてコピーした後、下記のように変更して、GTK 利用時も xim 経由で ATOK を使うようにしてみました。
XIM=iiimx
XIM_PROGRAM=/usr/bin/iiimx
XIM_ARGS=-iiimd
#GTK_IM_MODULE=iiim
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
#if [ "$lang_region" = "ja_JP" ] ; then
export HTT_DISABLE_STATUS_WINDOW=t
export HTT_GENERATES_KANAKEY=t
export HTT_USES_LINUX_XKEYSYM=t
export HTT_IGNORES_LOCK_MASK=t
export JS_FEEDBACK_CONVERT=t
#fi
なお、これも以前書いた通り、xim で ATOK を使っていると、当初「半角/全角キーで ATOK を on にはできるのだが、off にすることができない (キー入力ではどうやっても off にできない)」という問題があり、off にしたいときにはいちいち ATOK パレット上のボタンをマウスでクリックせねばならず、ちょっと面倒な思いを味わっていました (GTK/QT 双方とも)。
自分でいろいろ試した範囲ではどうしても直すことができず、結局 JustSystem のサポートページから問い合わせてみることにしちゃったのですが、ubuntu は正規サポート環境ではないにもかかわらず比較的すぐとても丁寧なお返事をいただき、上の設定ファイルを見れば分かる通り、ファイル後半の環境変数をセットしている部分前後の if 文 (とそれの対となる fi 文) をコメントアウトすればよい、とのことで、実際に修正して再ログインしてみると、一発で直ってしまいました。
お返事のメール中では他にも、GTK アプリ全体を xim 経由にするのではなく、調子の悪い synaptic や eclipse のみを xim 経由で使うようにする方法などもとても細かく説明してくださっていて (各プログラム起動時に GTK_IM_MODULE=xim をコマンドの前に書く)、とても素晴らしいお返事でした。
最近、僕はどうも初期不良品を引くことが多いのですが (<クレーマーへの道?^^;)、今回の JustSystem のプロフェショナリズムあふれる対応にはとても感激しました。本当にどうもありがとうございました。
投入されたコインを自動的に振り分ける「コインコロン」というおもちゃ。記事では、
「ピタゴラスイッチ」や「めざマシーン」でテレビでもお馴染みのルーブ・ゴールドバーグ・マシン。つまり、簡単なことをわざわざ複雑な仕掛けにして楽しむ装置だ。
と書かれているのですが、僕は全く別のものを思い出しました。
僕の祖父の家は中野にある印刷屋さんで、一階が工場、二階が住まいという家でした。今ではオフセット印刷が主流となり工場の機械もずいぶん様変わりしてしまっていますが、僕がまだ小さかったころ、工場には大量の活字と、大きな活版印刷機がありました。
活字による印刷 (活版印刷) というのは、壁にずらっと並べられた活字入れから一文字一文字活字を選び出して、小さなお弁当箱のような木の箱に並べて版を作り、それをインクをつけて紙にプレスする印刷機械にセットして行います。活字を探して版を作る作業は人手で行うので、昔は何人もの人がその版を作る仕事をしていたといいます。
そんな工場の片隅に、子供心にちょっとおもしろい機械がおいてありました。大きな丸い広場のようなものが左側にあり、そこからグルグルと坂道が上って、右の方に細長い高速道路のような道が続いています。高速道路のような道の左右 (丸い部分を左に見ると前後になります) には、小さな入れ物がいくつも付いていました。最初、僕は何のための機械なのか全然分かりませんでした。
そんなある日、いつもは止まっているその機械が、「ブー」という音を立てて動いていたことがありました。見てみると、丸い部分に積みあげられた活字が、自動的にずんずんずんずん坂道を上り、高速道路を通ってそれぞれまちまちの箱へ落ちていっていました。つまり、この機械は使用済みの活字の振り分け機だったのですね。長澤まさみがでている「ロボコン」映画でも出てきた振動推進1と同じ仕組みで活字を送り、高速道路部分の脇のガードレールにあけられた穴の大きさによって、自動的に活字を振り分けてくれる機械2。版を作った後、大量の活字を元の棚に戻す作業はきっととても大変だったはずで、それを補助するためのツールだったわけです。
子供だった僕には、活字たちが動き回って次々に流れていく様がおもしろくて、ずっと見ていたことを思い出します。この「コインコロン」は、まさにあのときの機械と同じ構造ですね (やっとつながった^^;)。というよりむしろほんとは、自販機のコイン判別機と同じ、というべきなのかな。
12/24 追記。久しぶりにあった親父がここを読んでいたらしく、直接コメントくれました。
あの機械は「込選機 (しらべてみたら込物選別機の略称らしい)」、といって、実際には活字そのものを選別するものではなく、活字の間に詰める込め物 (時間、行間を調整するための細かい金属片、木片?) を選別するためのもの。活字は印字面が欠けてしまったら使い物にならないので、そんな乱暴な扱いはしない。
オヤジのコメントより引用
なるほど〜。あれは活字を分けるものではなかったのですね。一つ勉強になりました。