Thinkpad R31パワーアップ
SSDに換装したThinkpad R31は現役でトレードに使っている.USB1.1の口が2個しかなく,それにワイヤレスマウスのレシーバと無線LANのドングルを差して使っていた.外付けHDDやbluetoothドングルも使いたいのだが,もうUSBの口がない.何かないかと,工具箱の中を引っかき回していたら,アイオーデータのCardBus対応 USB 2.0 インターフェイスPCカードを見つけた.もしや使えるのではとPCMCIA(R31はCardBusなんだがついこう呼んでしまう)スロットに差し込むと,自動でドライバがインスト-ルされ使えるようになった.やった!USB2.0の口が2個増えた.余っていたbluetoothのドングルをその口に差し込むとこれも自動でドライバがインストールされ,使えるようになった.まだUSB2.0の口は1個余っている.すばらしい.R31はまだまだ活躍してくれそうだ.
なに?USBハブを使えば簡単だろうって.それはそうなんだが,廃物利用が良いのだよ.
nVidiaせこいよ!
CUDAを使う場合,最新のCUDAはCC(=ComputeCapability)が大きいカード(新しいカード)でないと使えない.deep learningのフレームワークの最新バージョンは最新のCUDAで動くように作られる.古いCUDAでは動かない。最新のCUDAを使いたかったら古いCUDA用の古いビデオカードを外してCCの大きい新しいビデオカードを付けるしかない.普通にソフトウェアを作る人だったらソフトがバージョンアップしても古いカードでも動くように工夫するはずだ.ところがCUDAを作っている奴はそれをしない.たぶんわざとそうしている.古いカードを廃棄して,新しいカードを買ってくれた方がnVidiaが儲かるからだ.せこいよ.マイクロソフトよりせこい.せこい奴は嫌いなので私はCUDAは使わないことにした.自分でFPGAでアクセラレータを作るよ.学習用アクセラレータを作るのはとても難しいけれど,せこい奴を利するくらいなら困難に挑戦する.
Neural Network Console分かりやすい!
SONYのNeural Network Consoleで添付されていたプロジェクトsemi_supervised_learning_VATを動かした.VATというのはVirtual Adversarial Trainingのことだ.VATは説明を読んでも良く分からなかったが,ConsoleのEDITタブで計算グラフを見たら分かった.なんと分かりやすい.すごいよSONY.
ランナーズハイ
朝に走ったが,いくら走ってもやめようという気にならなかった.どんどん速度を上げたくなってくる.あ,これはランナーズハイだ.久しぶりだ.ハイになったものは仕方ない.何か走りやめる理由が出てくるまで走ろうと思った.しばらく走り続けた.とても気持ちがよい.競技のときにこれが出てくれたら良い成績が出るのに.残念ながら練習のときしかランナーズハイになったことはない.どうも最初ゆっくり走るとランナーズハイになりやすい.競技だと最初から飛ばすのでダメなのだ.さらに走り続けると左ひざが痛くなった.そこで思い出した.私は左ひざの故障で競技を引退したことを.走るのが気持ち良かったため,左ひざが悪いことさえ忘れていた.痛いのを吹き飛ばすほどのドーパミンは出てこないので,そこで走るのをやめた.
logrotateを無効化
午前4時過ぎに「ギャギャギャギャ,ガッコーン」という大きな音で目が覚めた.libretto20のHDDからだ.またディスクアクセスをしたようだ.2.5インチの小さなディスクなのに大きな音がでるものだ.時刻からcrondで動くlogrotateによるものとすぐに気付いた.そこで/etc/cron.dailyの下のlogrotateを無効化した.これでしばらくは静かになるだろう.
librettoの壊れたHDDの書き込み先を/dev/nullへ
libretto20の壊れたHDDがガリガリと大きな音を立てるのはログインしたとき,ファイルを書き込んだとき,ログアウトしたときだ.ログインとログアウトでは/var/logにログを書き込んでいるのが書けずにエラーになっているようだ.logなぞどうでもよいので,/var/logの下にあるログファイルを全部/dev/nullへのシンボリックリンクにした.そしたら,HDDの異音は消えた.おお,これならまだいけるかも.稼働30年間を目指して頑張ってもらおう.
主メモリは20Mしかないが,Redhat6.2は主メモリ16Mの486マシンでもきちんと動くので,20Mのうち4MをRAMディスクにした./var/log/wtmpなどはRAMディスク上に作るようにした.