思わぬミス

今日は久々にLinuxにて作業。まぁWindowsでやることが何も思い浮かばなかったというだけなのですが^^;
で、アップデートやら何やらやって、まったりしてたのですが、ふと思いつきで動画を再生してみたんですね。暇だったので。
そしたらコーデックがないとか仰る。超予想外。
「あれ?64bitにしてから動画再生できるかのチェック一度もしてなかったっけ?」
そんなことを思いつつ、他の動画プレイヤーでも再生してみる。
結果、xine、mplayerいずれもダメ。Gstreamer経由のtotemもダメ。
ちょっくら途方に暮れていたのですが、更新前には確かStage6を見ることが出来ていたことを思い出し、更新したパッケージに何か問題が無いかチェック。
すると、いくつかLivnaのリポジトリのパッケージが紛れ込んでいることが発覚。いやまぁ、実際には紛れ込んでいても不思議はないのだけれど、LivnaとFreshrpmsを混在させるとえーことあらへんので、Livnaはデフォルトでは無効にしてたはずなんですよね。
にも関わらず、個別にLivnaからインストールした覚えのないパッケージが紛れ込んでいたため、一旦削除し、Freshrpmsからインストールしなおすことに。
その結果、Xineでは再生可能でした。Gstreamer経由の方はmpeg形式の動画を再生できなかったため、gstreamer-plugins-uglyを追加。まぁXineでは問題なかったからどっちゃでもよかったのですが(ぉ ついでということで。
mplayerも入れ直したのですが、こちらは相変わらず不調のまま。なんでだろう・・・?
何やら映像は再生されるのですが、alsaのプラグイン設定がおかしいみたい。ミキサーのPCMデバイス設定がおかしいらしく、
「そんなチャンネルねーよ!」
と怒ってます。そのダイアログメッセージが超高速点滅しているため無駄に負荷が掛かってます。ぶっちゃけて不便です。普段からXine使ってたから助かったぜ・・・。
ただ、Firefoxで埋め込み動画を見るときはmplayerのプラグインで再生するため、mplayerも正しくセットアップする必要はあるんですよね。こっちは問題がどこにあるか分かりにくいわほんと・・・。
また、何故livnaのパッケージが紛れ込んだのかしらと思って調べてみたら、無効化していると思っていたLivnaのリポジトリ設定が有効になっていました。そして不幸にもバージョンが同じパッケージについては大抵Livnaの方がFreshrpmsより優先的に入っていたようです。逆ならあんまり問題は発生しなかったんだがなぁ(苦笑)
ま、あらかた問題は片付いたのでよしとしましょう。最悪32bitに戻そうかなぁとか考えてましたからねぇ。64bitであってもあまりメリットは感じられていませんが(ぉ
しかし今日は思わぬところでトラブったぜ。さっさと寝るつもりだったんだけどなぁ(苦笑)

秋だなぁ

最近日に日に手荒れが酷くなっているこでです。こんばんわ;;
先週なんかはかなり冷え込んだな〜とか思ったのですが、ここ数日はむしろ暑いくらいと、いかにも秋らしい天気な気がします。この時期は朝晩と昼間の気温差が大きいのでほんと過ごすのが大変ですよね〜。大学に向かう時間帯は比較的暖かいですが、帰る時間帯はがっつり日が堕ちているため寒い。夜の気温に合わせて服装を選ぶと朝行くときは汗かくし、逆に朝の気温に合わせたら帰り寒い。いかにも秋って感じです。
さて、友人の結婚式も終わり、今日はまったりしてました。まったりしすぎて昼寝なんてしてたんですが、ちょっとびっくりしたことが。
駅伝?のため普段より遅い時間で始まったたかじんのそこまで言って委員会を見てたんですが、途中で眠くなったので布団に寝っ転がって音だけ聞いてたのですが、途中でうつらうつらしてたんですよ。で、気がついたらまだたかじんの声がする。
『あぁ、そんなに寝てた訳じゃないのね。』
そう思ったのですが、外は思った以上に暗い。
『あれ、もうこんなに暗いじゃん。さすが秋やなぁ』
なんて思って起きてみると、大体1時間くらいは寝てました^^;
どうも今日は委員会の後の番組もたかじんが司会だったようで、気付かずがっつり寝てたみたいですね。案外寝てなかったんやな〜とか、委員会長いんか?とかぼけたこと考えてました(笑)
まぁそんなこんなでのんびりとした休日を過ごしてました。また明日から忙しい毎日です・・・;; 会社に提出しなくてはいけない課題も期限が迫ってますし、明日には片付けたいところ。
さらには学会の資料も完成させたいし、1月の学会に向けて問題点を洗い出したい。つーかやること大杉Orz
おまけに大学で管理してるサーバのデータベースが吹っ飛んだし・・・。これは本気で謎だ。バックアップを取っていなかったことが悔やまれる。
利用率は非常に少なかったし、管理は停めても問題はほとんど無かったけど、消えたのは完全に不意打ちだったし、原因不明はいただけない。ログにも何もおかしな点は見当たらなかったからなぁ・・・。
最後に見たのがいつだったかは忘れたけど、気になるのはFedoraのアップデートを行ったこと。ひょっとしてMySQLをアップデートしたかいなー? それはログをまだ確認してないけど、仮にアップデートしたとしても、データベースがなくなることはないよなぁ・・・。設定ファイルの項目に変化があったりするかもだけど、それはメジャーバージョンアップだろうし・・・。仮にメジャーバージョンアップだったとしても、旧バージョンのデータベースが使えなくなるなんてことはなかったはず。
だので、消えたとしたら何らかのトラブルだとは思うけど・・・。まぁ、ベッドが置いてある部屋にあるサーバで、しかもファンの故障のため時に掃除機ばりの騒音をまき散らすためよくハードウェア的に電源堕とされるから、トラブルも起きる可能性は零じゃないけどね。
とはいえ、データ不整合とかじゃなく消失やからなぁ・・・。それも考えにくい。ただ、サーバに直接アクセスしてデータベース触るなんて私しか知識ないからやらないはずなんだけどなぁ。
ま、うだうだ考えたところで、消えたモノは仕方ない。帰ってこないので、消失したことをメールで知らせておくくらいはしておこう。
希望があれば再度構築するけど・・・、ないだろうな、きっと^^;

友人の結婚式に行ってきた

今日は友人の結婚式に行って参りました。
いやー、丸一日、がっつり楽しませていただきました^^
途中思わぬハプニング?みたいなこともありましたが、式自体はつつがなく進行し、披露宴や2次会も非常に楽しい、素晴らしいモノとなっておりました。
私も少しだけ披露宴の余興の手助けをしておりましたので、感慨深かったです。今日は友人があちらこちらに挨拶回りに行っているような状況でしたので、なかなかゆっくり話す時間もなく。また今度、ゆっくりと話したいなって感じですね。
今日はお昼からお酒呑んでいたため、完全にキャパシティオーバー^^; 今もひっじょーに眠いっす・・・。
ま、楽しかったからいいよねん!?
それはさておき、今日はおめでとうでした。末永くお幸せに!

C++/CLIって何気に凄くない?

ようやく今日論文を提出しました。おかげで多少は楽になる・・・と、いいな。まぁ、まだ発表当日の資料作成とかが残っているので楽にはなりそうにないけれどOrz
それはそれとして、シミュレーションプログラムにて、条件を変えてのシミュレーションが増えてきました。で、毎度パラメータを書き換えてビルドし直すのも手間なので、パラメータは外部から与えられるようにしようかなと画策中。
その変更自体はどうってことないのですが、どうせやるならコマンドラインではなくGUIで変えたいところ。デフォルト値とか設定しておけるしね。
で、GUI作るなら.NETが楽でいいじゃろーと思って、C#で組もうかと思ったのですが、内部のルーチンはネイティブのC++で動かさないと遅いわけで、はてどうしようかと。
MSとしては、高速に動作させたい部分はネイティブのC++で、GUIは.NETでと考えているらしいです。で、その橋渡しをするのがC++/CLIというわけらしい。C++/CLIならマネージドな部分とアンマネージドな部分を混在できます。
と、一応知っては居たのですが実際どんな風に記述して、どういった挙動を取るのか分からなかったので、こないださわりだけやってみました。
いや、あれすっごく面白いですね。VC++2005EEにて、Win32で作っていたプロジェクトのプロパティの
「共有ランタイムを使用しない」となっている箇所を
「共有ランタイムを使用(/clr)」
に変更する(文言は間違ってるかも。うろ覚え)。たったこれだけ。
ソースコードに何ら変更を行うことなく、CLRでのコンパイルが通りました。実行も問題なし。速度の劣化もありませんでした。
なので、これがホントにCLRなの?とか思って、疑問に感じたのでできあがったバイナリをLinuxのMonoを使って動かしてみました。
その結果、ある意味実行成功。FFTWのDLLを使用しているため、Linuxでそのまま動くわけはありません。ですので、実行が失敗するのは予想通り。ただ、ちゃんと実行可能なバイナリとしてMonoが認識していました。つまり、CLRとして認識されていたと言うことですね。すげー!
これでネイティブC++からC++/CLIへ変換できたので、プロジェクトにWindowsフォームを追加して表示だけさせてみました。これまたあっけなく成功。
ただ、コンソールアプリのプロジェクトだったので、フォームを表示した次の瞬間にプログラムが終了してしまい、フォームが表示しきる前に固まってました^^; Disposeしてないからかも。今のプロジェクトにフォームを追加するより、GUIアプリのプロジェクトを作って、今のシミュレーションプログラムのソースとかをコピーして追加してやる方がよさげやな。ま、それはすぐできると思われます。
ここまではとんとんと進んだのですが、まだ理解できてない部分もちらほら。アンマネージドな配列データなどをマネージドな配列に渡すにはどうしたらよいのか、その辺がよく分かってなかったりします。
ぢつはNPlotのライブラリを使ってグラフでも表示できたらおもすれーよなーと思ってやろうとしたんですよ。けど、

System::Int32 a[] = {1, 2, 3, 4};
plot2Dsurf.DataSource = a; // ここでコンパイルエラー

と言うようなコードを書いたところ、
「^System::Int32型をSystem::Object型にキャストできません」
みたいなエラーが出たんですよね。訳分からん・・・。ここいらがキモになりそう。マネージドな部分とアンマネージドな部分とのデータのやりとりというか、変換処理の仕方が分かったら、C++だけでGUIも作れそうだ。
いやー、こう考えたらC++/CLIのポテンシャルってすっげー高いよなと思う。高速な部分は今まで通りのC++で書けばいいし、GUIの部分はマネージドなライブラリを利用してささっと書けばいい。
こりゃちょっと、勉強して使えるようになっておこうかしら。今のところC++/CLIに対応したコンパイラはMSしか出してないけれど、標準規格とするみたいだからコンパイラは自由に作れるようだし、Linuxでも使えるときが来るかも知れない。
いずれにせよ、面白い言語だわ。俄然興味がわいて来ましたよ^^

もう少し精査する必要はありますが

久々にCDが欲しくなりました。

ef - a tale of memories. OPENING THEME euphoric field feat.ELISA ef – a tale of memories. OPENING THEME euphoric field feat.ELISA
天門、 他 (2007/10/24)
GENEON ENTERTAINMENT,INC(PLC)(M)

この商品の詳細を見る

金ないんだがなぁ・・・^^; けどこの曲は久々にCD買ってもいいなと思った。惜しむらくはうちの近くのTSUTAYAではレンタルなんてされねーんだろーなーということ。レンタルがされるんなら借りたら済むんだけど・・・。
GENEONだしなぁ・・・。まぁないわなぁ・・・。
けど川田まみとKOTOKOのCDが置いてあったのは見たことあるんだよな。だからひょっとしたら並んでいることもあるのかも知れない。けどレンタルショップって基本的に商品が探しにくい構造になってると思う。
ランキングに入ってる曲とかだといいけど、そうでない曲は探しにくい。
ま、それはさておき、今日は学会の資料を作ろうかと思っていたのですが、ちょっくら研究で気になることがあったのでそこを確認。その結果、なかなか興味深い結果が。
オーソドックスなマルチチャネルシステム同定アルゴリズムであるNLMSを周波数領域に拡張したモノをプログラムで作成したのですが、これがべらぼうに遅かったんですね。シングルチャネルだと周波数領域での処理の方が速いのに。
で、その原因を探ろうと、ふと参照信号を白色雑音ではなくかなり有色性の強い信号に変えてみました。
その結果、NLMSが極端に収束速度が落ちるのに対し、周波数領域の処理ではさほど白色雑音との速度の劣化が見られませんでした。
これは中々面白い結果ではあります。実環境では、参照信号が白色雑音であることはまずあり得ず、自己相関を持った信号であることが普通です。その場合、NLMSだと極端に遅くなりますが、周波数領域だとあまり遅くならないというのは大きな強みです。
ただ、収束値があまり良くないというのが現状。外乱-40dBを与えているにもかかわらず、周波数領域では-20dB程度まで素早く下がり、その後非常に緩やかに下がっていきます。今日は時間がなかったため詳しくは見ていませんが、-40dB程度まで下がるのにどこまで掛かるか疑問です。
NLMSはもっと悲惨ですね。周波数領域で-20dB程度まで下がったときのサンプル数では、NLMSは-10dB程度。じんわりと下がり続けていますが、実用から考えて遅すぎる気はします。まぁNLMSの方は長くぶん回せば-40dBに到達することはほぼ確実ですが・・・。
周波数領域の方は、まだパラメータなどを詳しく解析する余地が残されていますが、有色性の強い参照信号に強いのは魅力。明日あたり、いくつかデータを取って教授に相談に行きますかね。
あ、学会のスライド資料とかどうしよう・・・?w

Windowsアプリケーション

学部3回生の計算機自習の課題を、TAとして参加している私を含め3人の学生がそれぞれ持ち寄ることとなりました。
私は音の研究をやってるので簡単なサウンドプログラミング。他の二人は画像処理をやっていると言うことで、ダイアログに画像を表示させ、さらにそこにフィルタを掛けて再描画という課題を与えることとしました。
で、C++をやってない学生たちにGUIアプリは作れるのか!?ってなわけで、私達TAが作成を試みて、その難易度を推し量ってみました。
3人ともそんなにGUIアプリケーションを作ったことがあるわけでもないため、悪戦苦闘^^;
計算機実習室に配備されているPCにインストールされている開発環境はVC++.netであるため、WindowsアプリケーションはWin32 APIを用いたモノとMFCを用いたモノ、そして.NETを用いたモノを選ぶことが出来ます。
私はC#で.NETのWindowアプリケーションなら作ったことがあると言うことで.NETで挑戦。途中思わぬトラブルに見舞われましたが、最終的になんとかボタンを押したらファイルを開くダイアログが立ち上がり、画像ファイルを選んだらウィンドウに画像がいっぱいに拡縮されて表示されるアプリケーションを作成できました。
途中Win32 APIでの作成も試みたんですが、雛形を見て挫折Orz なんじゃこりゃー!!!って感じでしたねぇ・・・。さっぱり分かりませんでした^^;
まぁC#で見慣れていたということもあって.NETの方が組みやすかったと思われますが、いずれにせよ、C++をまったく知らない学生に説明するのは骨やなぁという印象。
多少なりとクラスのことは知っておかないといけないからなぁ。それかいっそのこと、雛形を渡し、ボタンを押したときの処理だけ実装してもらって、雰囲気をつかんで貰うというのも手かも知れない。興味があれば、あるいは発展課題としてさらなる拡張をやってもらう、って感じ。これならまだ現実的な気がする。
なんせ、Managed C++は.NETのライブラリを扱える代わりにかなり独自の仕様が入ってて、Cオンリーの学生からしたら完全に道の言語に見えちゃうからなぁ。C++かじってたらまだよかったのだけれど。
ま、using構文やらなにやらを「おまじない」として誤魔化しちゃえば1,2週間の課題としては妥当じゃなかろうかw
とりあえず私は自分の課題の内容をまとめて担当教員に提出しないとなぁ。学会の資料作成があるから、こっちはささっと概要をまとめて、サンプルプログラム出して終わりにしておくか。ま、今度の日曜日でなんとかなるかな・・・?

行動予定表

会社からの提出課題として、行動予定表と近況報告書を作れ、というものが出されました。
行動予定表は読んで字のごとく、10月から来年3月までの予定を出来るだけ詳しく書け、というものです。
近況報告書についても、近況について特に制限は設けないから色々と書け、というものです。
ま、ファイル形式がExcelとWordなのはご愛敬。持ってねーよwww
近況報告書のテンプレートは、Wordpadで開けるのでよしとします。まぁ画像とか使って派手々々にするような課題じゃないですからね。問題ありません。
行動予定表はちょっと面倒。まぁ、Googleドキュメント使って片付けました。さっき。これを送信して、文句を言われるかは出してみてからのお楽しみ(ぇ
一応内容の方でも断っておくかなぁ・・・。過去に
「私はExcelを持っていないのですが、どうしたらよいでしょうか?」
って相談したら、
「ファイル形式はなんでも構いません。FAXでも構わないですよ。」
と返答していただきました。で、Googleドキュメントで作ってWebから送信したら
「エラー」
テキストファイルで作成してWebから送信したら
「エラー」
どないやねん!Orz
FAXも家には無いので、仕方なく大学でExcel使ってファイルを作り、送信しました。Excelを大学で使ったのはこれが初めてなんじゃなかろうかw 研究では使いませんからねぇ・・・(研究でグラフを描くときはgnuplotを使う。表計算は基本的にしない)。
と、いうことで、今回もひょっとしたらWebから送信は失敗に終わるかも知れません(ぉ まぁ、内定式の時にも人事の人に相談したから、直接メール投げて提出したら大丈夫だとは思うけれど。
しかし、行動予定表をわざわざExcelで作らなくても、Googleカレンダーの画像貼り付けるから見てくれ!とか思ってしまった(ぁ
内容はほぼGoogleカレンダーに記してる通りだもんなぁ。内容をできるだけ詳しく書け、ってなってたから、多少の補足はしてあるけど。
予定の大半が学会で埋まってるからあんまり面白みのない予定表ではあるかな^^; というか、他に書くことがなかった・・・。バイトもしてないしなぁ。
それにも増して困ってるのが近況報告書。行動予定表には記入例が書いてあったので書きやすかったけれど、近況報告書はほぼ真っ白。
「ビジネステキストらしく、簡潔に内容を書いて下さいね☆」
的なことが書いてあったけど、それは箇条書きでいいってことなんでしょーか。
けど箇条書きでA4用紙2,3枚程度って多いと思うんだ、うんOrz
まぁ、読み手が見やすいようにってことだから、必ずしも箇条書きである必要はないけれど・・・。
あぁ、TeXで書きてぇ・・・w
Wordのような、うぃじうぃぐで書くことには慣れてないんですよねぇ・・・。今週はあほほど忙しいし、内容じゃなくて見栄えで頭抱えたくないんだけどなぁ・・・^^;
とりあえず、近況報告書に書く内容の骨子をさっさと決めて、それに肉付けする形で3枚程度に納めよう。内容を考えないことには始まらない。
学業だろうとプライベートだろうと働くコトへの意気込みだろうと何でもいいってなってるからなぁ・・・。それぞれの項目についていくつか挙げるような形で書いてみるか。
提出期限は10/30。ギリギリまで掛かっちゃいそうやなぁ・・・^^;