EmptyRoom

Diary

twitterもはじめました

[309]2007/8/22(Wed) [tag: 旧日記システム ]
朝起きたときはすげえ体調が悪かったのに、寝たら何もなかったかのように治ってしまった… なんかすげえ損した気分だ…せっかくドライブに誘われていたのに…
openSUSE Linux 10.2 小技
デスクトップPCに以前入れてどうやらダメそうだったDebianを削除して、 openSUSE Linux 10.2を入れることにした。

インストール作業自体は何回もやって慣れてるし、書くことも特にないけど、 2chのSUSE Linuxスレのテンプレがまとまってていいなと思ったので、 ここにも書いておこうと思った。

便利なリポジトリ(from 2ch テンプレ)
wine最新 http://software.opensuse.org/download/Emulators:/Wine/openSUSE_10.2/
mozilla最新 http://software.opensuse.org/download/mozilla/openSUSE_10.2/
kde3*最新 http://software.opensuse.org/download/KDE:/KDE3/openSUSE_10.2/
gnome最新 ttp://software.opensuse.org/download/GNOME:/UNSTABLE/openSUSE_10.2/
xorg最新 http://software.opensuse.org/download/xorg73/openSUSE_10.2/
berylとか http://software.opensuse.org/download/X11:/XGL/openSUSE_10.2/
nvidia 最新 http://download.nvidia.com/opensuse/10.2

色々 多すぎるので各自で探索sdlmameとかも転がってる
http://software.opensuse.org/download/home:/

guru ありとあらゆる物
http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.2

packman guruと同様。packmanとguruがあれば大体揃う
http://packman.inode.at/suse/10.2/
あと、2chテンプレにないリポジトリとして
NTFS Read/Write Dirver "ntfs-3g"
http://download.opensuse.org/repositories/filesystems/openSUSE_10.2/
を追加するとWindowsとのデュアルブートマシンで幸せになれるかも。
問題は無いと思ったのだが…
あいかわらず…というか、NVIDIAのドライバがうまくインスコできない。 上のリポジトリから確かにパッケージを落としたんだけど、これだけだとダメらしい。 また自分でxorg.confを手で書くのかなぁとか思ったけど、 結局NVIDIAからドライバを持ってこないとインストールできなかった。

FedoraとDebianではパッケージでドライバを入れられたのになぁ…

ドライバを手動インストールする場合、Xを殺さなければならないが、 Xを殺すにも楽な方法があったので書いておくことにする。
Ctrl+Alt+F1を押す
rootでログイン

init 3
sh NVIDIA....sh
ポイントは「init 3」これでXを殺せたんだな…今さら知った。

さらにこの状態ではBerylを起動しようとしても
Checking for XComposite extension : failed

No composite extension
beryl: No composite extension
と怒られてしまう。

結局、自分でxorg.confを編集する羽目になった。 書き加えたのはこれ。
Section "Extensions"
   Option  "Composite"  "Enable"
   Option  "RENDER"     "Enable"
EndSection
なんだかなぁ…
小技 ALSAでサンプリングレートを指定する
ALSAではさまざまなアプリケーションが鳴らす音をミックスするが、 そのデフォルトリサンプリングレートは48kHz。 この状態でAmarokなどで音楽を聞いても、強制的に48kHzにリサンプルされて音質が劣化してしまう。 これを防ぐ、というより多くの音楽ファイルと同じサンプリングレートである44.1kHzでミックス してしまえば、リサンプルは回避できる。

ALSAの設定ファイルはディストリによって違うが、以下の通り。
FedoraCore 6: /etc/alsa/alsa.conf
openSUSE 10.2: /usr/share/alsa/alsa.conf
この中の
defaults.pcm.dmix.rate  48000
の数値を「44100」と書き換えればOK。 これで44.1kHzソースの音声ファイルの音質劣化は回避できる。

本当は現在ALSAを使っているアプリケーションが1つなら、 それにサンプリングレートを合わせてくれるような設定ができたら最高なんだけど。
小技 RPMパッケージが壊れたときの解決法
今回、パッケージのアップデート中、アップデータが死んで、強制終了喰らわせたら、 アップデート中だったパッケージが見事に死んでくれて、 しかもその死んだパッケージがSUSE LinuxのパッケージマネージャであるYastに必要なものだったらしく、 Yastが起動不能になった。

libzypp.soとcurlが死んだらしい。

Yastはこれらのパッケージが入っていないと言うが、 パッケージを探してきて自分でrpm -ivh libzypp....rpmとかインストールしても、 すでに入っているとか言われてしまう。 こんなワケの分からないことになってて困っていたが、こうすればいいらしい。
rpm -e --nodeps libzypp...      #強制的にアンインストール
rpm -ivh --nodeps libzypp...    #インストール
というような形で壊れたRPMパッケージの差し替えができる、というワケ。

なんというか、Linux使いはじめてそんなに短いワケじゃないのに、 いまだにトラブルに弱いなぁと思う…
やっと安定
と言っても1日もかかってないけど…

しかし、まだ問題があったりする。 上のリポジトリからいれたThunderBirdが何故か英語。 どこかでロケールを設定するところとかあったっけ…?

あと、FireFoxがなんかトロい。 すごく微妙な差なんだけど、どうも他のディストリと比べて動作がもっさりしてる。 …なんでだろうなぁ。 あとでそのディストリ以外のFireFoxを試してみたりしようと思った。

もしかすると、FedoraCoreで使っていた設定ファイル(ディレクトリ).mozillaをそのまま持ってきたからだろうか。 しかし、.mozillaディレクトリをコピーするだけでアドオンからテーマから全ての設定が引き継がれるのが非常に便利なんだけども…うーん…

あと、VLCが何故かWMVとかを再生してくれない。なんでだろう… xineなんかはばっちり再生してくれるのになぁ… リポジトリ間違えたかな…

まぁ、そんな感じでLinuxの移行も慣れたモンです(ホントか?
[308]2007/8/14(Tue) [tag: 旧日記システム ]
実家に帰るとどうも…寝てばっかりだな…俺は…
すごいヤバげなデータ
オヤジの部屋に入ってみたら、つい3月までは無かったPCが3台くらいあった。 まぁ、新しいのは無いけど。 1台はAthlonXP3000+な会社で使っていたお古PC。 1台は妹にあげる予定だったJunk寄せ集めPC(結局、動作が不安定でまだ妹にやってない)。 1台は相当昔のPC98シリーズ(MMX Pentium 233MHz)。

タイトルの「ヤバげなデータ」っていうのは、その最後のPCのためにくっつけようとして買ったSCSIの中古(Junkか?)なHDDの中に入っていたデータ。 そのPCはBIOSの問題で4.3GB以上のHDDは認識しないので、 それに都合の良いSCSI HDDを秋葉原で探していたところ、 店の奥に眠っていた物を発掘し、500円で譲ってもらったらしい。

その中に入っていたデータは
「某超有名企業の人事などのデータ(99年〜02年あたりまで)」
あんまりに有名かつ巨大で金汚い企業なんで、社名はさすがに書けない…

そのファイルはFileMakerで作られていた物で、当然パスワードがかかってはいたものの、 バイナリエディタでこっそり中を覗いてみると、 非常に「それらしい」文字列がずらーっと並んでいて、 見ているだけでワクワクします(ぉ

しかし、そういうデータが入っているHDDがどうして秋葉原の店の奥に眠っていたのか… しかも、ゼロクリアもフォーマットも何もせず、素のママで… パスワードがかかってるから大丈夫だと思ったんだろうか…

俺も中古HDD漁りがしたくなった(ぉ
是非パスワードクラックをしたい。
追記
いつのデータか間違っていたので修正。99〜02年あたりまででした。
[307]2007/8/2(Thu) [tag: 旧日記システム ]
さて,英語の論文を書けと言われたが,思いっきり放置しまくりの日々…どうしたものか。

今日はプレゼンPDFを家から学校に送信したのはいいけど, 学校のPCがなぜか起動せず,あたふたしているうちにいつも通り遅刻した。 原因はわからないけど,フェイルセーフモードで立ち上げたら治ったから,まぁいいや…

そのあと,音楽室に行ってピアノ弾いた。 LinkとPhilia。と一緒に。 どうやら,その音楽室は普段Jazz研が使っているようで,中に楽器がたくさん置いてあった。

しばらく音楽室で遊んでいると,Jazz研の人が入ってきたけど, どうやら知合いらしく,しばらく話してた。 俺はそのJazz研の人のことはよく知らなかったので,手持ちぶさたになって ちょろちょろと「Someday My Prince Will Come」を弾いたら, 「Jazz Piano弾けるの?」と食いついてきたので「まぁ,すこし」と答えておいた。

音楽室はその後,Jazz研が使うことになったので, 音楽室の鍵をそのJazz研の人と一緒に返しに行く途中,色々聴いてみた。

「どんな人がJazz研にいるの?」
「ピンキリだよ。大学に来て初めて楽器触る人から,プロ目指してる人,バークリー行こうとしてる人まで。」

「俺,C Majorでしか弾けないんだけど,どの調が多い?」
「Cでしか弾けないって珍しいねー。BbとかEbが多いよ。あと,俺もCで考えちゃうねー。」
(その調が多いのは金管楽器の関係らしい,あと,この人はJazz Guitar)

「俺,コードは分かるけど,楽譜読めないんだけど」
「コード譜読めるんならいいよ」

かつて,俺にも「音楽サークルに入りたい」と思っていた時期(大学入りたての頃)があって, なんか良いなぁーと思ったけど,さすがに院からサークル活動やるのはキツすぎるし, あと,Linkiにも指摘されたが,人間関係が面倒臭いらしい。

考えてみれば,今の研究室での人間関係と,いつものメンバとの人間関係をどうするかで疲れているのに, これにサークルの人間関係が加われば,俺は間違いなく学校に来なくなるだろうなぁ。

あとは,金銭面がキツいとか。楽器を買ったり,合宿みたいなのに参加したり。

分かれ際に
「是非Jazz研に入ることも考えておいてよ!」
とか言われて
「あー,セッションとかやってみたいねー。C Jam Bluesとか」
と答えておいたが,まぁ…無理だろうな。 そして,この勧誘は「未経験者歓迎」と同じ意味であろうことも想像に難くない。

…まぁ,結局俺が音楽サークルに入ることは無さそうだな。
[306]2007/7/29(Sun) [tag: 旧日記システム ]
ぼちぼち日記PHPをいじってるんだけど,どうももう一度設計から考え直したほうが良いような気がしてきた… っていうか,全然進まないなぁ…日記PHP… まぁ,やる気が無いのもあるけど(ぉ
次期日記PHPは3倍速い
今までファイルを読んで,そのファイルのパーシング (Parsing: 文法解析。この場合,区切り文字に囲まれたテキストを抜き出すこと) は自前の関数でやっていたんだけど, これだけのパーシングにわざわざ自前の関数を用意する必要なんて無くて, PHPの組込み関数であるexplode()を使えば良かったんだなぁ…って今更思った。

…いや,設計当時はそういう関数があるのが知らなくて,地道にパーサ組んでたんだけど… (といっても,非常に単純なものだが…)

それで,自前で関数を作った場合と,組込み関数を使った場合,どれくらい性能差があるかベンチマークやってみたところ,こんなことに。
#古いの
$ time php diary.php >/dev/null
real    0m0.105s
user    0m0.100s
sys     0m0.008s

#新しいの
$ time php new_diary.php >/dev/null
real    0m0.038s
user    0m0.032s
sys     0m0.004s
やっぱり,PHPのようなスクリプト言語で車輪の再開発をしちゃいけないんだなーって思った。 まぁ,これだけ性能差が出るのも当然といえば当然で, インタプリタ,スクリプト言語は実行時にソースコードを読んで,解析して, 順順に実行していくので, プリコンパイルされている組込み関数と性能を比べれば,そりゃ雲泥の差があるワケです。

ソースコードの解析やらなくて済むワケだし。

ちなみに,explode()の使いかたはこんな感じ。
$string = "test1<>hoge<>foo";

$token = explode("<>", $string);
for($i = 0; $i < 3; $i++)
    echo "token[$i] = $token[$i]\n";
と,書くと
token[0] = test1
token[1] = hoge
token[2] = foo
という具合にできる。便利。
[305]2007/7/24(Tue) [tag: 旧日記システム ]
あー…なんか最近の俺は調子が悪い。なんかおかしい。 大きめなおっぱいに反応するようになった。中学生くらいの。 おかしいなぁ…
あ〜ん規制
要望があったので,カタカナだけでもOKにした。

なんで昔,Perlでやってたころはダメだったんだろう…おかしいなぁ…
$result = ereg("['あ'-'ん''ア'-'ン']", $comment);
1ページに表示する件数