Diary of Sacred Fox - May, 2008

The Quintetには通算 179068 人(今日:0, 昨日:1)のお客様が来場しています

2008/05/01(1)

VMP

フリーバトルで堅いけど魔力低いし遅いナイト堅くて魔力高くて速いダークナイトで嬲り殺す日々, これをいじめと言わずして何と言えるのだろうか
…てか, そうでもしないとこういうのが苦手な狐にはSなんて取れないのですよ

2008/05/01(2)

オーディオ機器としてのPSP

家にあったwav音源をoggだけでなくmp3も作るようにして, PSPに放り込んでみた
数日使ってみて, PSPが暫定据え置き機器となっている我が部屋ではPCをつけずに音楽を聴ける機器として実用的なのではないかとの考えに至る
音質に極限まで拘るマニア様方は放って置くとして, PCと違ってファン等のノイズがなく再生できる時点で十分に加点要素
昔はmp3をまぁ今でも意味もなく嫌いだけど極端なまでに毛嫌いしてwmaを再生できる携帯プレーヤーを手に入れたりとかしてたし, PSPでも最新『システムソフトウェア』と呼ぶらしいファームウェアではwmaの再生は可能だけど, 音楽ファイルの処理環境がLinuxに移ってしまった今ではWindowsでは可能らしい, タグまでちゃんと指定できるかは調べてないけどコマンドラインでエンコードできないwmaファイルを作るのが面倒になって, ATRACとかも同様の理由で却下するとwavとmp3しか残らないので容量問題を考えると1択になってしまうのである
ちなみにmp3ファイルに規格どおりの日本語のタグをつけるのに多少手間取ったので, 対処法を次の記事にメモしておく

2008/05/01(3)

ID3v2の日本語タグをLinuxのコマンドラインで

ここでの前提条件/目標は, LinuxでGUIを介さずにスクリプトさえ組めばバッチ処理的にタグ付けが可能になるようにすること

参考文献

とりあえずFedoraにはid3v2なるコマンドラインのタグエディタがある模様なので, これを使うことに
エスケープとかが面倒なので, perlの明示的に引数を区切っておけば, タイトル中に頻出するスペースとかをエスケープしないでもOKリストのsystem関数で呼ぶことにすると以下のような感じ

system('id3v2', '-a', $artist, '-A', $album, '-t', $title, '-T', sprintf('%d/%d', $tnum, $total), $file);

id3v2コマンドのmanには明記されてないけど, ディスク番号のようなコマンドにないタグも『--TPOS』みたいにid3v2の識別子名を与えれば普通に使える
これで別名Latin-1ISO-8859-1に入る範囲の文字列なら問題なくタグが作れる…が, この中には当然日本語の文字列を入れることはできない
一部の世の中ではここにShift-JISの文字列を何食わぬ顔して放り込むことがまかり通っているようなのだが, こんな日本ローカルルールなファイルは普通にLatin-1を使う人も使えるような国際化されたプログラムにはこんな方法は通用するわけがなく, アクセント記号の山に埋もれて哀しい思いをするだけである
ここで出力されたファイルをodしてみると, 文字列はID3 v2.3でエンコード識別子は常に0x00, つまりISO-8859-1固定であることがソースコード上もそうなっている上に指定方法は無い(使っているid3libの当該関数の呼び出しが存在しない)模様分かる

ここからファイルを無理やり書き換えて日本語タグが入った正常なファイルを目指すわけだが, その前に

system('id3v2', '-s', $file);

として文字コードの概念の欠片も無いID3v1のタグを取り去ることを推奨

本題に戻るとして, とりあえずv2.3のもう一つの選択肢であるUTF-16 w/ BOMを試すことにする, perlならEncodeモジュールで多少書き加えればいいだけ
そのままだとエンコード指定子がISO-8859-1のままなのでid3v2を呼んだ後でヘッダ部分を拾ってきて s/(TIT2......)./$1\x01/s; とか, .に改行文字が引っかかるようにsフラグ必須バイナリ編集して1に書き換えてみた
こうすると日本語のみのタイトルは正常に表示されるのだが, 英文混じりになるとそこで途切れて表示されてしまうようになる
何故だろうと思いながらバイナリを改めて眺めると, どうやらファイルに書き込まれる過程で既に消失している模様, よくよく考えるとUTF-16上のASCII文字って片方のバイトが0x00なのでid3v2コマンドのargvの時点で途切れてしまっていることに気づく, これだからUTF-16は駄目なんだと(以下略)

仕方が無いので, ID3 v2.4.0で追加されたUTF-8エンコードを使うことに
手順は先ほどと変わらず, むしろロケールがUTF-8なのでEncodeモジュールは要らない
コマンドを通した後のバイナリ編集ではseek FILE, 3, 0; したところ4バイト目\x04と書くべきか0x04に書き換えるのを追加すればOK
これでPSPでもちゃんと日本語タイトルが表示できるmp3ファイルが出来ましたとさ

2008/05/06

半年に一度の運動

角神降臨
…書けと言われたから書いた, このネタ2度目かな

行きの電車が線路上の障害物で遅延, 少し焦る
別路線で同じ目に遭ったnikori氏情報によれば, 布団だったらしい

チケットの整理番号順入場で, 何故か1桁チケットを持ってたので入り口で買い物してから席をとっても最前列中央列の角をゲット, かなり快適
因みにライブ後に自分の椅子を見たら椅子1つ分ぐらい前進してた, 後ろの人前出すぎ…って自分もか

セットリストとかはどうせそのうちどこかに載ると思うので割愛, 憶えてないし
ただ, 全曲分かってしまった自分がいて虚しい, クラーケンとかブルードラゴンとかは原典を聞いたことがあるわけじゃないのに…

今回は椅子付きだったので開演前の待ち時間も無駄に体力使うことなく待つことが出来たり
後ろにいたカップルの片割れが普通のライヴというものとこの場の雰囲気の相違点を力説しているのに耳を傾けながら待つ
『年齢層とか全然違うから, 中にはサイリウム代に3万ぐらいつぎ込んでいる人も居るんじゃない?』的な返答に, 某所で『○○さんの用意された600本のサイリウムが…』という発言を見たのを思い出して吹き出しそうになる
…まぁそのときには当人から1本頂くとは夢にも思っていませんでしたが
ありがとうございました > ジンのコスプレが妙に決まっていた方

帰りは同行したymatu氏の希望により彼曰く飲み物である食べ物を食べた後に, これまた彼の希望で小銭を崩すために入ったゲーセンでQMAを見物した後に帰宅, 会場で売られていたライブのCDを聴きながら今に至るわけです

そして手元には使い終わったサイリウムが, 机の下の陰に持っていくとまだうっすらと光っている
これは外殻はプラスチックなのでこっちに該当可燃ごみなのだろうか, 不燃ごみなのだろうか, そもそも中の液体は毒性があると聞いた事があるどう処理すべきなんだろう…

追記 @ 翌日 01:20
mixi内の発言を見て配布物に空の軌跡の携帯クリーナが入っていたことに気づく, これで2つ目なので片方開封できるというもの(謎)

追記 @ 翌日夜
書き忘れてたことを2点ほど
開始前の待ち時間にPSPでVMPのネットワーク対戦をしている人を探してみる
待ち状態の人が1人いるのを見て, こんな風に表示されるのかと思うだけ思ってそのまま終了, 思い切って対戦を申し込んだほうがよかったのだろうか, まぁ基本チキンなのである

前述のカップル様であるが, 開始前のBGMにセルペンティナが流れたときにしっかり口ずさんでいた, あなた方も立派な同類ですと思ったが口には出さず

さらに追記 @ 9日
例によってセットリスト付きライブレポートが上がってるのでリンク
ついでに前回運動したときの記事にもリンク

2008/05/07

orz

ThinkpadのWindowsが起動しなくなった
なんかsafe modeもだめっぽい
ログの流れ方の速度を見る限り, どうもディスクのドライバがどうにかなってしまったらしい
仕方がないので一念発起してクリーンインストール, これを機に3年半で汚れきった環境をお掃除することに
…ということで, 一日かかってほぼ復旧完了, 研究室の作業をサーバ任せにしてることが多いので必要なファイルってあんまりないということがわかった

(追記 @ 9日)
その過程でWindows Updateが壊れたみたいなので, 対処法URLをメモ
Windows XP インストールを修復した後、Windows Update、Microsoft Update、または自動更新で更新プログラムが正常にインストールされない
基本的に方法2にあるとおり, Windows Updateのコンポーネントを強制再インストールすればいいらしい
リンクが切れた時に備えてキーワード: /wuforce

2008/05/10(1)

ID3v2再び

前回はこれ
コマンドラインで渡す関係上UTF-16の適用を諦めてUTF-8でID3v2.4のタグを作ったのだが, PSPでは問題なかったものの手持ちのICプレイヤーが対応してなかったので再考, 因みにWindows Media Playerもv2.4には対応していない
前回使ったid3v2コマンドはid3libを使っていたのだが, このライブラリ自体がかなりクズである予感がしてきたので他の方法を試すことにした
というのも, id3libで任意のフィールドの内容を参照するID3_GetString APIのソースを見たら, 無理やりマクロ定数がこうなってたのでこう書いたけど, 実際は多分latin-1"ASCII"に内部構造を変換して文字列を得た後に元のエンコードに再変換していた, これでは当然Latin-1に入らない文字は全部壊れるわけで, この時点でLatin-1以外のロケールを一切考えてない作りであると分かった
まぁ2003年で開発がとまってるものだし仕方が無いとも言えるかな, そもそも継続して開発が続けられる類のものでもないけど…

さて, RhythmboxとかはどうやってID3を読んでいるのかと思って調べてみるとtaglibというものを使っているらしい
これはID3やVorbisCommentなどのタグを同じインタフェースで読み書きできるものらしい
実際CPANにもAudio::TagLib
があり, そこそこ使えそうな模様
ただ, 複数のタグ形式に対応するため必然ではあるが, ライブラリが対応していないタグを埋める方法がない
id3v2の--T???オプションとか, oggencの-cオプションの相当品がないのである
これは通常は問題ないだろうが, 何か痒いところに手が届かなくなった瞬間にまた彷徨うのもアレだなと…
他にもID3ではオプションとして総トラック数を分数の形で書けるトラック番号とかの分母を書けないとか細かいところに手が届かないところがあったり

ということで, なんだかんだ言ってID3v2.3.0の仕様書は一通り読んでしまったので結局PerlでUTF-16な直接タグを生成することに, ビバ車輪の再発明
ついでにこんな問題も見つけたので, ついでにTLENフィールドも埋めることにした
方針としてはそれぞれのフィールドについてこれは(use localeしてない場合)Cのisprint()が0を返す, つまりASCIIの範囲に入っていない文字にマッチする[[:^print]]に引っかかる文字が入っていたらPerlのEncodeモジュールはUTF-16と指定するとBOMつきのUTF-16BEで出力するUTF-16にエンコードし, UTF-8と違ってUTF-16はASCIIでもバイト数を馬鹿食いするので不要なところには使わないことにした入ってなければASCIIで出力, あとはid3v2.3.0の規格に合うように適宜ごちゃごちゃしておしまい
タグを読めないソフトがタグをMP3の同期信号と誤認するのを防ぐための場当たり的なエスケープ処理非同期化が面倒そうだったけど, ID3v2.3.0を解するソフトなら使っては居ないが某プレイヤーは逆に非同期かをするとタグを読めなくなるらしいやらなくても良さそうな雰囲気だったので今回は無視

で, 再生してみると軒並みまともに動いてくれている模様なので, これでおしまいかと思ってWindowsに移り, 開いてみるとどうも日本語タイトルだけ認識しない模様
まさかと思ってバイナリエディタでエンディアンを逆転させてみると認識される…
なんでBOMいれてるのにLittle Endianを強制するのかなWMP君は…
ということでLEで出力されるように修正して終了, スクリプトは気が向いたときにアップする予定
それにしてもPSPはともかく3年前に安売りされてた携帯音楽プレイヤーにも後れを取るWMPって…

2008/05/10(2)

そいえばこっちでは書いてなかったな

FalcomのPC次作は『ZWEI II』だそうで, 期待なのです
これ, ドイツに行ったらなんて呼ばれるんだろう? まぁ行かないだろうから問題ないけど

2008/05/15

Fedora 9

なんかいつものイベントという感じであまり書くネタがない気がする今日この頃
とりあえずリリース当日~翌日はTorrentでi386のDVD isoを貰う & 配る
その日の夜にインストール, F8のときもそうだったけど2nd HDDを起動ドライブにしている所為かAnacondaの入れるgrubの設定が間違っているので手入力で起動してdevice.mapを弄ってgrub-installし直す
例によって例の如くlivnaを有効にしてみたけど, xorgが新しすぎるためかnvidiaのドライバが無い模様, 暫くはsupertuxは無理ということで, まぁやらないけど
また, 事前情報の通りscim-anthyが入ってないが, そもそもシステムの言語設定はインストール時の言語になるので, 英語でインストールする, ユーザの言語設定だけをGDMで日本語にするのが個人的な好みであるインストール時にJapanese Supportを有効にした覚えもなかったので適当に入れる, なんかcompsが壊れてるらしくyum groupinstall "Japanese Support"するとちょっと変になるが, 列挙されたパッケージの中から必要そうなのを適当に選べば入るので問題ない
GDMの言語選択がある条件で表示されないバグというのもあるらしいが, /home/をF8から移植したのでその辺は設定済みなので特には困らない
この辺で動じなくなったあたり, 慣れって怖いなぁと思ったり, まぁそんなに実害はないからでもあるが…
livnaの件は悔しいのでとりあえずgstreamer-plugins-uglyだけ入れておく
あとはいろいろと設定を弄って弄って弄って…元の環境に戻す
texliveになったらしいので適当に手元のTeX文書をコンパイルしようとしてみるが, dvipsがWindowsで作った図中にある, Helveticaに勝手に置き換えてくれれば十分なのだがArialが無いと怒ってくる, どうにかするのも面倒なので放置
そんなこんなであまり感動もないF9でした

2008/05/17

初見

玄関先で隣人と顔をあわせる, とりあえず普通に挨拶しておしまい
ただ, これはいつもの光景というわけではなく, 隣が越してきてからの約1年間で初の事態である
お互い引越し時に挨拶とかもしてないし, 生活時間帯も違うと思われるので, 時たま漏れてくる電話の声ぐらいしか隣のことは知らないのである

2008/05/19

忘れ物2点

1つ目, 今朝のゴミ出し, 起きたら収集時刻を30分ほど過ぎていた, ゴミ箱の容量的に3日間持つかな…
2つ目, 大学の机の上に風邪薬の瓶を忘れる, 今日は早く寝ろということか

  • sanai: お、風邪ですか。大雨も来て多少寒が戻るようですので(北海道のみでしょうか・・・)、悪化しないようくれぐれもお気をつけくださいね。 (05/19 23:54)
  • Sacred Fox: 先週に寒さが戻ったあたりからずるずると風邪ひき続けてます, 昨晩は薬が無い所為で咳が酷く全然寝付けませんでした, プラシーボって偉大だなぁと (05/20 17:40)

2008/05/25(1)

変な夢

実家でPCの自作キットみたいなのを作ってた
なんか留め具がネジじゃなくてシャープペンシルの芯だった, しかも長さ調整のために自分で3つに折ってるし, 自分の手持ちの芯が0.8の誤植ではない, 現実世界ではそんなものは使ってない8mmぐらいのしかなかったので0.5mm芯を探して家中駆け回ってたし
で, 暫くして基盤がまっぷたつに割れているのに気づく, 何故今まで気づかなかったとかは夢なので不問に
目の前が真っ暗になりながらも情況確認, なんか電子部品が山ほどのっているあたりに綺麗に亀裂が入っていてさすがに復帰不可能と悟る
断面を見るとなんか基盤が立体構造をしているのか数センチ離れて上下に配置された基盤をつなぐかのごとく縦方向にも基盤があり, そこにも訳の分からない電子部品が研究室の某氏のアカウント名に誤変換されたの様に付いている, どんなマザボだよ
で, 意気消沈して台所に行くと, 晩飯は何が良いかと訊かれる, ケーキか暖かいおでんかの2択, 意味不明
とりあえず暖かいケーキだけは止めてと言ったあたりで目が覚めた
狐は普段は夢を見ない or 覚えないひと覚えている夢史上では最も意味不明な部類に入る夢だなぁ

2008/05/25(2)

はたちおめでと~

某同期なひとの20歳の誕生日が先週あたりにあったらしい
blogの中でとはいえ, 現実の知人の中で『永遠の○○歳』を言ってのけたひとは25年ちょい生きてきた狐の人生の中でも多分初かな, なんか2~3ホップのところに大量に居そうな気もするんだけど
しかし, 20歳な同期が居る25歳って, 見方を変えれば私が+5していると… うわ~

  • haruka: あれ??それってー…笑 (05/26 17:40)
  • Sacred Fox: もしかしなくても :-) (05/26 19:19)

2008/05/26

アンテナが微妙に死んでたっぽい

なんかサーバのLDAPモジュールがSecurity & Enhancement Updateでバグ付きのを拾ってしまったらしい腐っててcronが動いてなかったのが原因, バージョンを戻して対応
しかし, 原因を見つけるのにめちゃくちゃ手間取ったなぁ
ということで, 今は正常に動くはずです

2008/05/28(1)

急にスタンドが壊れたので

帰りに北京ではない何か某ホームセンターで交換, 工賃込みで1,700円の出費也
まぁ昨日の話ですが
実際自転車のスタンド(26インチ用, 片側タイプ)の耐用年数はどのぐらいなのだろうか
店員に訊いて見た所, 利用条件によるという注釈は当然付いている, 雨曝しだったら保存性は悪くなるだろうことは理解できる安いもので1年半前後で壊れるとの話だったが, こういうのは短めに言うであろうことを勘案すると実際にはそのぐらいは多分持つという程度の情報にしかなってないわけで, 我が自転車の6年1ヶ月弱という記録は果たして夭逝だったのか大往生だったのか判断に困るところである
ふと思ったが. 今の自転車の保管状況はどうにかならないものだろうか, 屋根付きの駐輪場が欲しいのである, まぁ贅沢すぎる悩みという自覚はあるが

2008/05/28(2)

何書こうと思ってたんだっけ

何か書くネタを思いついた後に, ついでに上記の自転車スタンドネタも書いておくかとか思って書いていたらここに書くネタを忘れてしまった
まぁ忘れる程度のネタだったと思えば大して惜しくもないのだが…
と, 書いているうちにネタを思い出した

2008/05/28(3)

哀愁のFalcom商法

Falcomの公式掲示板で所謂もうこういう表現は古いのかもしれないけど, 現在の代替表現を知らないWarez対策の話になってた
…まぁ, サントラをそのままニコ動にあげてるのとかWarez行為とかをメーカーの掲示板でやるというのもアレな話ではあるが, その中でコピーできない付加価値として数年前までのFalcom商法の話題が上がっていた

ここでのFalcom商法とは, ゲームを販売する際に特典と称して大量のグッズを同梱すると発表し, 果ては『ゲームはオマケです, 特典のお値段です』と言わしめたといわれているあれのことである, 因みにZwei!!の初回特典は7大特典といわれていた
Falcom商法と呼ばれるものにはもうひとつあり, 既にWindows版を発売したタイトルに対して新OSへの対応を謳ってゲーム内容が同一のものをリメイクして販売したり, タイムアタック機能の付加だけで別商品として発売したりするという行為も指すが, 今回はこちらは関係ない
まぁ, この2つが組み合わさったときに阿鼻叫喚の地獄絵図が繰り広げられるのも事実ではあるのだけれども…

閑話休題
Falcomの特典商法は, 昔は公式通販でのみ内容を事前公開しないで同梱していた通販特典である『別名: 感謝の気持ちアレ』なんてものもあったりして事ある毎に批判の対象とされてきていたし, 現に通販特典の『アレ』も無くなってしまって久しいのだが, 果たしてそれほどにまで必死になって批判するものなのかなぁと思ったり
まぁ, 流通側からすると公式通販にしか付かない特典は客が流れる原因にもなり, 非常にうざったい物であろうことは想像に難くないのだが, それも企業の利益率向上のための努力の一環とも捉えられるわけで. 責められることではないと思ってみたりするのである
確かに過剰な特典は置き場に困るとか言う人も居るかもしれないが, どうせ物置に死蔵して要らなくなったら捨てるわけで, 特典が付かないショップで安く買えば良いじゃないとか思う, 中古はいいとは思わないけど地球環境が云々といった問題を抜きにすれば大して問題とは思えない, ちなみに狐は駒場時代にZwei!!の7大特典のうちの1つの定期券入れを愛用してたり, 駒場時代が終わる頃にはぼろぼろになって使えなくなっちゃいましたが
まぁ, こんな風にグダグダと述べてきたところで別に言いたいことがあるわけではなく, あったとしてもせいぜい公式通販の『アレ』, 復活しないかなぁとかそういうくだらない妄想しかないわけで, この文のオチを用意しているわけでもなくやっぱりくだらない話題だったんだなぁとか言ってお茶を濁すわけで

2008/05/28(4)

ちなみに

ネタを忘れていた間に浮かんだ他の候補は, 帰りに本屋にふらっと寄ってなんとなく買った小説もといラノベの話と, 近所のスーパーのポイントカードの月間で1万円買い物をするとつく, 今月は米を買ったので自炊を始めてから初めて大台に乗る可能性が見えてきた, いつも7~8,000円で終わっちゃって勿体無いと思うのよねボーナスポイント対策に買ったノーマットのカートリッジの話で, まぁどちらも膨らませる要素は何処にもないなと

2008/05/30

あれ?

GoogleのFaviconが変わった気がする, 何があったんだろ

2008/05/31

[Fedora] そいえば

一昨日あたりからlivnaのF9用nvidiaドライバが公開されてたり
思ったよりも早い段階でドライバが出てきたなぁという印象
とりあえずsupertuxとかで遊ぶ分には問題なく安定している模様