Linuxを中心とした話題を投稿予定。 使用ディストリビューションであるFedoraが中心になると思われます。http://oedipa.wiki.fc2.com/にてTips Wikiを公開してます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
デッドライン 7/30
とりあえずレジュメの締め切りが7/30となりました。つーことは結果はどんだけ遅くとも7/25までには出しておきたい。
うん、1ヶ月切ったネ!(死

とりあえず計算量削減をモノにしないと話にならないからな・・・。ソース音源は白色雑音にするとしても、プログラムの完成は7/20頃を目処にしないと。

まだ計算量削減のアルゴリズムが理解しきれていないので、明日その論文を書いた教授に話を聞きに行ってくる予定。数カ所確認したいところがあるからしっかり聞いておかないと。
まぁ、アルゴリズムの核の部分だからある意味何も分かっていないのと変わらないんだがOrz

それと並行してC#からC++へのポーティングも続けてます。数学ライブラリは高性能なモノがいくつか転がっていますが、ぶっちゃけそこまでコンテナやアルゴリズムに対応している必要もないのでここは機能限定版を自作する方向にシフト。

とりあえず必要なのはベクトルクラスとベクトルの四則演算(割り算は要らないか)、マトリクスクラス(これまた用意可能なら四則演算とドット演算も欲しいかな)。複素数はC++標準のモノを使うか、ComplexVectorという実部と虚部がそれぞれベクトルとなっているクラスを実装するかを検討中。FFTWで用意されるfftw_complexは正直言って使いにくいのよな・・・。

まぁFFTはFFTWではなくてIPPを使うという手もあるし、そちらのデータ型はいくつか選べるからそのうち1つを選択してもよさげ。追々決めよう。

ベクトルクラスはさほどでもないけど、マトリクスクラスはそれなりに頑張らないとなぁ。連続領域が保証されるのは2次のマトリクスまでに妥協しよう。なるほどC/C++は行列演算やらなんやらに向かないことがよく分かったよ・・・^^;

まぁ泣き言言っても仕方ない。ベクトルやらマトリクスクラスはC#でも作ってないしな。C++で作れたらC#にも逆ポーティングしよう。さ、頑張るべ!
スポンサーサイト
今日はちょっとウェブクリップっぽく
ギーク垂涎の的! iPodでLinuxなどトリプルブート環境が実現
あれ?iPodってLinux入らなかったっけか。iPodでOggを再生するための方法のうち1つにLinuxがあった気がしたんだけどなぁ。まぁ日本語ではなかったな、確かに。

けどこれに一体どんだけの需要があるのだろうか? LinuxをiPodに入れてみようと思う人は割と自力でどうにかしそうだし、自力でどうにかできない人はそもそもそんな選択肢が存在しないと思う。なんつーニッチなサービスだw

”地獄少女”にまつわる謎とは? 『地獄少女 朱蘰(あけかづら)』
アニメの方の絵なら興味沸くなぁ。少女漫画の方の絵だと受け付けなかっただろうからなぁ(笑) しかし、これDSで出す必要があったのだろうか・・・? タッチペンの必要性って多分マップ移動の時だけだよねぇ。まぁCG鑑賞の時にサムネイルから選ぶのは楽だろうけどさ。容量的にフルボイスは望めないだろうし・・・。どうなんでしょうな^^;

DSは結構いろんなソフトが出てますね。それに比べてPS3は・・・(ぁ PS3は時代を先取りしすぎちゃったんだろうなぁ。数年後にはPS3のスペックが当たり前のようになってくるだろうというのは説得力在るけど、少なくとも今はその能力は過剰なんだよなぁ。エンジンだけ超高性能で車体が追いついていない感じ。数年後までソニーの体力が持つかが勝負でしょうね。

まぁでも、その頃私がゲームをやってるかってのもあるよな。 まぁ、やってるんだろうけど(笑)
汗々のt(ry
いやー一気に暑くなって来ましたね~! これからチャリ通学にはなかなか厳しい季節の到来ですよほんとに^^;

で、どうしても汗をかく季節ということでひざの裏が若干汗疹っぽくなってしまってますOrz まーしゃーないんですがね、なかなかツライ。

汗をよくかくのでどうしても水分を補給する。汗をかく。水分を(ry のエンドレスループですからねぇ。タオルでこまめに拭きたいところだけどひざの裏はなかなか厳しい。ハーフパンツ穿いてるわけでもないからなぁ。ひざの裏は対処しにくいわ^^;

簡単にできる対処法の一つとしては、あぐらをかかないこと。早い話、ひざを折り曲げて密着状態にしないことなんですな。けど私はあぐらがデフォルトスタイル(椅子の上でもあぐら)なので結構辛かったり(苦笑) まぁでも汗疹の方が辛いから我慢することとしよう・・・。
ちょいと頑張ってみた
こないだたまたまKメニューに埋もれていた「KPOVModeler」というツールを発見しまして、面白そうだったので使ってみたのですよ。

まぁ使おうにも「POV-Ray」というツールが入っていないとだめだったようなのですが、なんか公式のリポジトリには入ってなかったっぽい。ぐぐってATRpmsから拾ってきました。特に依存性は訴えられなかったけど、ひょっとしたら何かに依存してるかも。

POV-Rayってのは、レイトレーシングという手法で3D情報を再現するレンダ-だそうで、なんとオブジェクトの配置などはSDLを用いて行うとのこと。まー早い話、C言語ライクな文法で3Dオブジェクトを配置して、コンパイルするような感じでレンダリングを行うツールと言う訳ですね。

だので、モデリングは他のツールを使って、それをPOV-Ray形式のテキストに書き出して使うことが多いそうです。まぁ確かに、簡単な配置ならともかく、複雑な配置をテキストで直接座標や回転行列を駆使して描くのは至難の技でしょうからねぇ(苦笑)

ただ、プログラム的に記述できるというのはメリットもありまして、一度作成したオブジェクトをランダムに配置したりとか、色や質感を規則的に変化させるなどといったプログラムが得意とするような処理は記述しやすいというのはありますね。プログラムで規則的に100個のオブジェクトを並べる処理を書くのはループが理解できていたらすぐできますが、これをモデリングで100個綺麗に並べろといわれたら骨ですし(苦笑)

とまぁPOV-Rayの説明はおいといて、KPOVModelerというツールはKDE系のアプリケーションで、その名の通りPOV-Rayを使ってレンダリングを行うモデリングツールです。オブジェクトの配置を視覚的に行えるのが強み。直接POV-Rayコードも記述可能なので割とこのツールだけでなんでも出来ちゃう感じ。

理解できるまでちょいと試行錯誤はしたけれど、手軽に3DCGが描けるのはちょっと感動した^^
ヘタクソはヘタクソなりに頑張ったのですよ。で、作ってみたのが自分のロゴ。テキストと球体を並べておくだけでもそれっぽく見えてくれるあたり実に有難い。作った画像がこちら。
code_air_edgeLogo.png

ほんとはバナーくらいのサイズにしたかったんだけど、縦横比を変えるとなんか画像がつぶれてしまうのでとりあえずデフォルトで出力。トリミングしたら済む話だしね。なんか方法はあるんだろうけど^^;

あんまり何も考えずに配置しただけだけど、ガラスの質感はなんかいーよねと思ってしまう私は安っぽいですかそうですか(笑)
今度作るときはもっと真面目に配置とか質感とかは考えよう。出力にeps画像が選べたけどあれはバイナリを埋め込んだepsなんだろうなぁ・・・。まさかベクトル画像ではないだろう、きっと。けどほんとにepsで保存できるんならその後SVGあたりにコンバートしたりemfあたりにコンバートするとPPTとかにも埋め込めて面白そうだなぁ。
今後の自分の発表用スライドにさりげなく埋め込んでみるかw あーだめだHNはさすがにまずい。後で本名版作ってみるか(ぉ

まぁ他にも3DCGのツールは入ってたけどこれが一番使いやすかったな。というか他のが分からない^^; 元々そういう知識がない私にも扱えたこのツールがむしろ稀有なんだろう。

後はテクスチャの張り方を覚えたいかな。どーやって画像ファイルはっつけたらいいかは分かったんだけど、どうもうまくいかない。ややこしいのぅ。
脳内メーカーetc
最近ちょこちょこ見掛けますね。
つーわけで私もやってみました。サイトは結構人気なのか重いですね^^;
まずはcode_air_edgeの脳内と能力。
code_air_edge.gif

20070626013437.gif

脳内ほんっとひでぇなw 能力は完全に個性がありません。ほんとゴメンナサイw

続いてこでの脳内と能力。
こでの脳内

こでの能力

これまたひでぇ。脳内は休息と金を求めているようです。意地でも金は絡むのなOrz
能力は割といい感じ? 賢さが低いのが気になるがw

さて最後は本名の脳内と能力。名前は消してありますw
本名の脳内

本名の能力

なんというか、ある意味今までで脳内が一番酷いOrz まぁHと愛の割合がこちらだっただけマシか。これ逆だったら最悪だよなw
能力は・・・、どうなんだろう? 割と邪心が高いのが気になるw

つーわけで、これほんとロクな結果でねーなw 興味のある方は「脳内メーカー」でぐぐってください。多分I'm Feeling Lucky使っても一発で辿り着けるかと。ただし結構重いので注意。

今後は「欲望渦巻くcode_air_edge」とかって名乗ろうかしらw
[続きを読む...]
最近のエンターテイメントといえば
間違いなくニュースだろな、うん。もう笑うしかないもの。
ペッパーランチ、偽装ミンチ、社保庁職員の年金横領・・・etc。

なんというか、「これどこの国?」ってニュースばっかり。日本でこんなことが起きるのね、ともう呆れを通り越して笑えてくる。

なんというか、ますます生きにくい世の中というか。年金は当てにできないし食品はほんと恐いし外食屋まで恐いって、どうやって生活すりゃーえーのよ!

ここまで漠然とした社会不安が蔓延してくるとふっつーに国が倒れる気がする。日本沈没も笑い話じゃなくなってきましたね。
この状態でワラキアが降臨したら勝てないかもねw
さて、ここまで政府への不信感が高まったなら、自民公明の連立与党をぶっ倒す最大のチャンスな訳だけど、ここで対抗勢力が全く見えてこない。参院選で多分自民は大敗するだろうけど、民主が政権をとるというビジョンが見えてこない。社保庁を叩けばいくらでも切り込めそうなものを全然アピールしてこない。勢力的に無理だろうけど、これじゃ国民新党の方が掲げてる政策は面白そうだよ。

逆に、ここまで腐りきってるのに自公連立与党が倒れなかったら本気で日本終わる気がする。社保庁の職員は第三者機関(笑)のチェックを受けて新会社に再就職。公務員ではなくなるんだっけ? どうだっけか。けど今の社保庁のやり方に耐えられないような一般的な常識を持った人はもうとっくに社保庁辞めちゃってて、残ってるのは救えない人ばかりじゃなかろうか。そう思われても仕方がないようなずさんな体制が明らかになってるし。

つーかこの期に及んでボーナス全額支給とかもうネジが飛んでるとしか思えない。日本って暴動が起きないのが不思議だけど、もう暴動が起こせないほどモチベーションが下がりきってて、反体制すら組めないのかもしれない。この先どうなるんだ?

・・・、あなたは、信じられますか?
[続きを読む...]
なんであんな配列なんだ・・・?
ちょっくらTSUTAYAにCDレンタル行ってきました。まー借りるのは大抵ちょいと古めのベストアルバムとかが多いのでまずレンタル中であることはないのですが、目的のCDを探すのは面倒ですよねぇ。

というか、あの陳列の仕方が意味分からない。方角と洋楽を分けるのはいい。アーティストのジャンルで分けるのは止めてほしい。正直分かりにくい。全部ひっくるめて五十音順もしくはアルファベット順にしてほしい所存。

nobodyknows+がラップなのは分かる。FLOWってJ-POPなのかラップなのかどっち? 微妙すぎるわ! なんでDragon AshがJ-POP側に置いてあるんだ? 基準がわからねーよ!

と、ひとしきりぶーたれてました。地元のTSUTAYAには検索機とかあんのかなぁ・・・。見た覚えがない。まぁフロア狭いからなぁ。わざわざそんなの使わなくても全体歩き回れてしまうというのもあるかもしれないが。にしても不便だわ。

まぁでもレンタルは安く上がるから有難い。日本でもプロテクトフリーなダウンロードサービスが普通になれば楽曲を買うという選択肢も考えるけど、今のままじゃWindowsでしか聞けないので却下やな。そもそもwmaなんて勘弁してほしい。いやエンコードの性能とかタグがUTF-8であることは素晴らしいけど、Linuxのwmaエンコーダなんて知らないのよ・・・。どうせならエンコード方式は統一したいからなぁ。wmaはちと厳しいや。

今日レンタルしてきた曲をマスターしたらカラオケでそれなりに時間を潰せるんじゃなかろーかと思ってたり。趣味全開で突っ走ることを許してくれる面子でないときはそれなりの選曲しておかないと迷惑掛かるからなぁ。これでレパートリー的にも余裕が生まれてくれそう。多分他人とそんなにかぶらないし、でもみんな聞いたことはあるっていう選曲にしたつもり。

まぁ、最近の曲なんてさっぱり分からないんだけどNE☆ 分かろうとする努力もしていないんだが(ぁー 最近の流行に自分の趣味があってないのもきつい。ちょうどロックバンド(ビジュアル系含む)が全盛の頃に一番曲を聴いてたからそれが染み付いてるのよなぁ。でも最近だとそーゆーのはそこまで流行ってないようですしなぁ。

そのせいか、まーどうしてもアニメのテーマ曲とかになっちゃうわけなのさw UVERworldとかナイトメアとかさ。あーFLOWもそうやな^^; まぁまだこのあたりならさほど敬遠されないから助かるけど。Janne Da Arcももろこの枠なんだろーな。分かりやすい趣味だな私もOrz

そう考えるとあの頃から今までずっと変わらない人気を保ちつづけてるバンドってのはすげーよなぁ。ミスチルは曲調にブレがなくて好きだ。GLAYとかラルクは結構曲調が変わった気がする。変わるのが悪いことだとは思わないし、変わらないのがいいことだとも思わないけど、私は90年代後半から2000年代前半あたりのラインナップが好きなので、あの頃の曲調を保ちつづけてくれている方がうれしいかな。

まぁでも考えてみれば、ラジオを聞く機会が減ったな。中高生の頃なんてラジオばっかり聴いてたし、そこで新しい曲を見つけたりしてた訳で。またラジオでもぼ~っと聴きながら新しい曲を探そうかねぇ。 それでも古い曲に惹かれてしまいそうだ(笑)
[続きを読む...]
安全管理って何なの?
ちょっと前のエレベータ事故、ジェットコースター脱線事故、そして渋谷のスパ爆発事故。

いずれの場合も問われているのが「安全管理」。ずさんな安全管理と危機意識が事故を招いた、この言葉を一体何度聞いたんだろう?

「法律で報告義務はない」
「それは契約項目に含まれていない」
「危険性を正しく把握できていなかった」

報告義務がなければ安全確認をおろそかにしても構わないというの?

そも、安全管理ってのは法律で義務づけられているから、しゃーねーからやっていることなの?

PL法ってこういうのには適用されないの?

作ったからにはその後の安全にも責任を負うって言うのは常識ではないの?

事故が起きる背景に、モラルの低下があるような気がする。頼まれていないけどちょっと大丈夫かチェックしておくか、とか、義務づけられている訳じゃないけど安全装置取り付けておきましょうよって報告or提言するとかさ。ほんとに顧客の安全性を考慮してるならできるコトってあるはずじゃん。

慈善事業じゃないんだし、企業が利益を追い求めるのは資本主義社会として当然だと思う。けど、日本人って割と安全性に関しては余計なコストを支払ってでも欲しがるモノじゃなかったっけ?

あるいは顧客側が無関心になっているのもあるのか。事故が起きてからギャーギャー騒ぐのは確かに滑稽だ。眼力が落ちていると言われても仕方ないのかも。
過保護にされすぎて盲目的になっているのかね?

自己責任自己責任と言われているくらいだし、自分自身でも情報を集めるのは大事だと思う。でも企業が提供している情報に嘘が紛れていたらそれを見分けるのは難しいし、ある程度自社にメリットや魅力のある文言を並べて他社より優れたように見せるから同業他社の批判的文言が正しいのか否かの判断も難しい。

そう言う意味では口コミサイトやSNSで情報収集は効果的かも知れない。ただ、素人集団の情報にどこまで信憑性があるかがネックか。

まぁ、TVのコメンテーターもあてにはならないんだけど^^;
今朝、渋谷スパ爆発事故のニュースを各局流し見てチェックしてたんですよ。まず某日本一高い山の局の「おざまぁーす!」なキャスターの番組で、
「あの爆発はかなりのメタンガスが充満しないと発生しない。しかもあの地域の温泉に溶け込んでいるガスの割合はかなり低い。あれだけの爆発を起こすだけのガスが1日2日で充満したはずはない。」
という専門家のコメントがありました。だからガス検知器などは故障していて動作していなかったか初めから存在していなかったのではないかとのこと。

続いて、某怒りと哀しみに包まれることがあるニュース番組を持つ局の番組に切り替えたところ、同局有名キャスターが
「メタンガスはすぐ引火する。ポンプが毎日作動していたならガスが漏れたのはつい最近のハズ。温泉にはかなりの量のガスが含まれているのだから、換気設備があったのなら故障していたか設備がなかったかだろう。」
って言ってました。結論は似たようなモノだけど、途中の根拠が違ってるんだよね~。

結論。コメンテーターのコメントは鵜呑みにしない。情報は複数筋から入手する。頑張って事実確認をする。 テレビなんてあてになんねーなw まぁネットを鵜呑みにしてもやっぱりまずいんだけど。うまく情報を扱わなきゃね。

情報化社会といわれるだけあって氾濫気味。きちんと取捨選択しなくちゃ。
結構空いてしまった^^;
今週は「忙しかった」以外の内容があまりないもんで書くことが(ぁ
というか、なんだかんだで飲み会の多い週になってしまった。週に3回とか初めてじゃなかろーか? 大幅に今月赤字なんだぜ?w

とりあえず明後日は内定者懇親会だからちょっとwkwk。でも公式SNSではあまり話題が出てないのよな~^^; mixiの方で盛り上がってるのだろか? コミュの存在は知っているけど入っていないチキソですOrz

というわけで今週は忙しくて研究に時間が回っていないのが実情。明日はちょいと色々と進めておくかなぁ。最悪、土日に家で作業か・・・。TeXの図の部分だけ空白入れておいてテキストだけ埋めるか。まだコーディング途中で結果が出てないから今日のミーティングで分かったコトを報告するにとどめよう。それはともすれば使わない理論かも知れないけれど割とポイントとしては重要になるだろうし。

つーわけでさっさと寝よう、うん。このところちょっと寝不足気味だ。集中力持たせないと効率も上がらないしなー。

さて、明日も桜庭統の曲でも聴いてテンションアゲながら頑張りますかねぇ!
ポーティング捗らないなぁ
まぁ昨日はTAもありーの月曜日のミーティングの資料作りもありーのラピュタもありーの(ぇ でポーティング作業等は全然進みませんでした^^;

他の理由としては、ライブラリ探しに熱中してしまったというのもあるんですが(苦笑 私がC#でFFTのライブラリとして利用しているのがMath.NET Projectにある線形代数ライブラリです。で、これのうちFFTの部分しか使っていなかったのですが、昨日よくよくドキュメントを調べてみるとなんと行列演算なんかも持ってるではないですか! おぉこれはひょっとして使えるんじゃね? と思って早速読んでみると、なんと実数型にしか対応していませんでした・・・Orz 複素数型に対応してくれていたら文句なしだったのに;;

まぁ実数型しか対応していなかったとしても使い所はありそう。マルチチャネルのANCだから時間領域の作業は多いし。来週そのあたりの話は聞けそうだから良く聞いておこう。

ついでに上記のサイトには信号処理用ライブラリまであったのよね・・・。知らなかった。しかも中身は結構充実。インパルス応答生成やらサイン波、ステップ応答波はもとより、正規乱数生成、指数減衰型乱数生成(多分)まであったり。固定長循環バッファまであったよ;; このあたり全部自作したんだがなぁ・・・。あるなら使っておけば良かった・・・。後でこれらのライブラリに差し替えてみるのもいいかも。同じグループの作ってるライブラリだし、擦り合わせはしやすそうだ。実際、ここが提供してる信号処理ライブラリは線形代数ライブラリが提供する複素数型を使ってたりするし。FIRフィルタだけじゃなくてIIRフィルタまであったなぁ。バンドパスフィルタやらローパス、ハイパスフィルタのメソッドとかもあったから持ってて損はなさそうだ。工程は短くできそう。

しかも行列に複素数は対応していなかったけど、それはFeaturesに入ってた。まだせんけいだいがバージョン0.3、信号処理ライブラリがバージョン0.2だしね。これからに期待。

C#でこーゆー処理してる人が少ないのか、Web上での情報はかなり少ないなぁ。まぁ信号処理も線形代数も速度が求められる場面だし、CLRよりもネイティブで実行することが多いというのは仕方ないか。

けど私のように大学で研究をやったりするには向いていると思うんだよなぁ。メモリ管理から解放されて余計なこと考えずに済むし、C/C++で多く使われている線形代数ライブラリに比べてかなり簡潔なインタフェースになってるし。今のプログラムをC/C++にポーティングするためにいいライブラリないかな~と思って調べてるけど、CLAPACKにしろBLASにしろGELにしろ、インタフェースがすげーとっつきにくいんだよな・・・。まぁGELはともかくCLAPACKは元々FORTRANで作られてるから引数が多いのも仕方ないのだけれど^^; その分めっさ速いが。

ただ、研究で速度も大事だけど考えた原理が正しいかの実証を行うためだったら、組みやすさが大事だと思うのよね。最適化はDSPに載せるときでいいですよと。

うちの研究グループはとりあえず全部1から組ませるからなぁ。畳み込みとかFFTとかは原理を知っておくことは大事だと思うけど何もプログラムまで全部1から組まなきゃいけないことはないと思うんだ、うん。ライブラリを使ったりしたら余計なデバッグ作業をせずに本来考えたい研究内容に集中できると思うんだけどな・・・。いやまぁライブラリの使い方を覚える労力は必要だけど^^;

ふむ・・・。うちの後輩にもC#とライブラリの組み合わせを教えてあげたいとは思うけど教授から完全に異端児扱いされてるからなぁ(苦笑 楽でいいのに・・・。

一応C/C++で使えるせんけいだいすうを探してみたけど、無料で使える分はインタフェースがえげつないと思った。研究室にはIntel MKLがあったはずだからそいつをちょいと月曜日くらいに調べてみるか。

さて、そいじゃ今からFFTWの複素数型を使って複素数の演算ができるようにオーバーロードを用意してきますかね。
今日もポーティング
昨日のバグは相変わらず解決できていません^^; 仕方ないのでdelete部分をコメントアウトしてます。まぁ途中で廃棄することさえなければプログラムの終了と共に破棄されるはずですしね。気持ち悪いがそのうちなんとかしよう。目処は立ってないが(ぁ

今日はFFTを実装。といってもネイティブC++なのでFFTWをこちらの都合に合わせてラップするクラスを作っただけですが^^;

しかし、FFTWの使い方を調べてると、他にも面白そうなライブラリがごろごろしてましたね。特に興味を引いたのがliboctave。MatlabクローンのOctaveが使用しているライブラリで、高機能な行列計算やFFTなどがC/C++から利用できると。

Octaveだけで組むのは結構骨だけれど、行列計算は凄く便利。こりゃ面白そうだなと思ったけれど、OctaveがUNIXで使うことを前提としているからVC++で利用するにはかなり面倒らしい。

一応、コンソール制御の部分やグラフ描画を除いたVC++7向けのバイナリを公開しているところがあって、それを利用してみたのですが、同梱されていたtestは実行できたけれどそのライブラリを取り込む方法が分からずOrz まぁこれについては置いておこう。ATLAS使って高速化もしてあったから興味深いけどヘッダファイルが多すぎてどれを使っていいか分からなかったし(苦笑

他にもGSLやら何やらが見つかったけど、今回は見送ることに。覚えるまでが大変そうだ。そこまでたいそうなパッケージ群を必要としている訳じゃないしね。

それに、最終的にはシミュレーションから実際にサウンドを扱う実験へと昇華したいし、そのときに商用ライブラリをいくつか使うだろうからあまり依存性の高いコードだとさらなる移植が大変そうだし。ただでさえI/O部分は把握し切れてないからASIOを覚えなきゃいけないわけだし、余計な労力は避けないと。

さて、今日は面白そうってことで調べるのに随分時間割いちゃったからFFTのラッパーしか進んでいない。寝るまでにもう2つくらいはモジュールをポーティングしてしまいたいところ。頑張りますかね。
ぐぉーなぜじゃーOrz
C#で組んだアルゴリズムが過去にC++で組んだモノより圧倒的に遅くて凹んだOrz ネイティブとCLRの差があるとはいえ多分実装の差が顕著に出てるんだろうなぁ・・・。

可読性は圧倒的にC#で組んだモノの方がいい(はず)なんだけど、これじゃちょいと実用に耐えられない。可読性重視で組んだとはいえ、ある程度は効率性も考慮して組んだつもりだったのでこの結果はショックでかいんだよなぁ。

と、いうわけで、C#で実装したアルゴリズムをC++へポーティングすることに。ついでにアクセス権はかなりゆるめにして、使用者に管理させることに路線変更。
どのみち外部へ公開するようなソースってわけでもないし、そこまでガチガチにこだわる必要はないだろうってな感じかな。

ところで、C++は組み込みの配列がポインタと区別されていないため、配列長をメンバとして持っていないなどちょいと不便。ってなわけでちょー簡易固定長スタッククラスを実装することに。[]演算子をオーバーロードしてやってもよかったけど、ポインタ(配列)をメンバとして保持して、それをパブリックで公開してしまった方が他のライブラリとかに適用させやすいと考えて公開しちゃうことに。
外部からdeleteされる可能性もあるけどそんなの知ったこっちゃない(ぁ そこはもう、ね、ほら、暗黙の了解ってコトで。

とまぁ実装してみたはいいけれど、なんと実行エラーがOrz しかも原因が分からないOrz
コンストラクタにてnewで配列を確保したからデストラクタでdelete[]を呼び出してるんだけど、deleteした瞬間例外発生。なんでやねんOrz ちなみにdeleteでも同じ結果でした。どゆこと!?

もう埒が明かないのでソースを公開してみる。誰か突っ込んでくれないだろうか・・・?

///


/// 簡易固定長スタッククラス
///

class Array
{
private:
int nSize;
public:
double* array;
///
/// 要素数を指定して初期化
///

/// 要素数
Array(int nSize)
{
array = new double[nSize];
memset(array, 0, sizeof(double) * nSize);
this->nSize = nSize;
}
///
/// 確保した領域を開放
///

///
/// バグを抱えている。なぜかdeleteすると例外発生。ちゃんとアドレスは持ってるのに・・・?
///

~Array(void)
{
delete[] array;
}
///
/// 配列の要素数を返す
///

/// 配列の要素数
int Length()
{
return nSize;
}
///
/// スタックに値を追加
///

///
/// 固定長スタック扱い。末尾の値は捨てられる
///

static void Push(Array& array, double value)
{
memmove(&(array.array[1]), array.array, sizeof(double) * array.Length() - 1);
array.array[0] = value;
}
};


む、コメントのCSSタグが一部消えちゃったな。まぁいいか。
memmoveがいかんのだろうか・・・? 関係ない気はするんだけどなぁ・・・。
あぁ、ほんとメモリ管理はめんどくさい・・・;;
まー今日は不幸な日だった
いつも通りの時間に朝起きる。普通にご飯を食べる。

ここまではいい。何も問題ない。

なんかお腹の調子がよろしくない。トイレには行ったもののなにか気分がよろしくない。
が、まぁ駅に着くまでは大丈夫だろうということで家を出る。

と、5分ほど歩いて腹痛再発。やっばいピンチ。家まで戻るにしても5分、駅まで行ってしまうにしても約5分。Viva中間地点Orz

とりあえず駅まで行ってトイレに入ることに決める。
歩いているうちに一旦腹痛が和らぐ。
が、これは強弱で言うところの弱のタイミングに入っただけで、どうせすぐに痛みが戻ってくることは長い付き合いである相棒のことだから容易に想像がつく。

駅についてトイレに直行。すると個室が全部埋まっているFu○k!!!
仕方ないので降車駅まで頑張ることにする。電車に乗る時間は12分程度だし、その程度なら何とかすると決意。

が!!!!!!!
なんと電車が諸々の理由でめがっさ遅れてるOrz 25分程度遅れてるとかわらえねーOrz
ただ遅れているだけならまだしも、どうも進行方向にてトラブルが起きているようなのでこれは電車が予定通りの時刻で着くか不安。
つーわけでホームから戻ってトイレに行ってみることに。

やっぱり個室は埋まってたけど、車いすも入れるトイレが空いていることに気付く。一応誰でも使っていいことにはなっているので、急を要するため利用させて貰うことに。だってお腹痛いし><

で、戦いを終えて紙をちぎっては投げちぎっては投げていると(違、途中で紙がなくなりました。
ここまでは良くある話。ストックを卸してくれば済む訳なんですが、どうも前にストックを卸した人(ようは今使い切った紙をセットした人)がきちんとセットできていなかったらしく、ツマミが下がりきらなかったので一旦上げたところ、なんとそのまま固定Orz 結局紙が取り出せなかったょ。笑えねぇ、ガチで笑えねぇ・・・;;

まぁ腹痛持ちの私はいつもティッシュを持ち歩いているのでそこの心配が要らなかったのが救いか。

とりあえず用事を済ませて電車に乗り込むことに。たまたま普通電車が居たのでそれに乗り込むことに。普通電車ならまぁ15分もあれば着くな、そう思って乗っていた訳です。

が、そうは問屋が卸さない。降車駅の手前で電車ストップ。多分ダイヤが乱れてるから調整のため信号が赤なんだろう。それは容易に想像がつく。
それは仕方ないんだが、こちらも腹の調子が良くない。正直いらいらしてくる。というか、ちょっと進んでは停まり、ちょっとは進んでは停まる。それの繰り返しってのはむしろじれったい。しゃーないと分かりつつも腹の調子がよろしくないので気に入らない。

結局、15分程度で着くはずの区間を2倍強の時間で到着しました。信じられねぇ・・・。

で、やっぱりトイレ行きました(ぉ 本日3度目。ここまで不調なのは久しぶりだ;;

一応それでお腹は治まってくれましたが、今日1日どこか気持ち悪かった。勘弁して欲しいわ・・・。

まぁそんな日もある。けど明日(もう今日だw)はこうならないことを祈る。だって卒業アルバムの写真撮影だもんw 遅れたら集合写真に丸く押し込まれちゃうよw

つーわけで明日は寝坊しないように気をつけようw
懇親会でした
今日は共同研究先との懇親会で、私たち研究グループの学生と教授がお呼ばれして会社へ行ってきました。

この会社を訪問するのはこれで3度目だったのでいい加減迷わず辿り着けてほっとしましたね(笑) 集合時刻の15分前を目安に考えていたら17分前に到着。うむ、ばっちりだ^^

既に後輩二人が到着しており雑談していた中私が登場。私は就職する会社ということでスラックスにワイシャツという格好でした。後輩は軽くそれにびびってました(ぉ もちろん、後輩たちはそげな格好してくる必要もないので問題はありませんが(笑)

で、しばらくして残りの学生も到着。時間ちょうどくらいに社員の方が迎えにきてくださいました。

が、教授が到着していない。時間は知っているはずなのにな~とは思いつつ、とりあえず中で待機することに。社員の方が現れてから我々基本無言(ぇ いや、中々騒げませんて^^;

そうこうしているうちに教授登場。全員揃ったところで、研究チームのTLの方が今日の流れを簡単に説明。

今日の流れとしては会社がどのようなことをしているかの紹介がメインだったので、会社説明会で行われる内容に沿ってもう少し普段見せていただけないようなところを見せていただいたってところでしょうか。

某高級車のデモ車(というか市場に出ている車ですが)に乗せていただいて、オーディオシステムの音を聞かせていただけたのが印象に残りましたね。さすがというか、カーオーディオの認識が変わっちゃいますね。自分の車の音響がいかにしょぼくれているかが再認識させられてOrzだったりもするのですが(苦笑)

また、特に印象に残ったのはスピーカの試聴ですね。素晴らしい音質に惚れ惚れ。まぁホームシアターセットで150万円超するような音場を体験すること自体そうそうないですからね^^; いい経験をさせていただきました。廉価版もあるにはあるので、そちらはちょっと本気で欲しくなったり。前から気にはなってたけど、実際どんな風に聞こえるのかと思っていたので購買意欲が高まる高まる^^; 金欠だからなぁ・・・。就職して試供品貰えないだろうか?(こら

そして一通り説明していただいた後は居酒屋で懇親会本編スタート。最初こそ硬かったですがさすがはお酒の力。あっちゅー間に砕けてましたね(笑) いやもちろん学生の私たちに対して暖かく面倒を見てくださった会社の方々のおかげです。誠に有難いことです。

まー私は直接研究のお手伝いをしているということでガシガシツッコミを受けましたが(笑) C#なんて使わないでくれと割と本気で訴えられちゃいました(ぁ いやー、仰る通りなので返す言葉もないのですが^^; 就職したらCを使うことになるでしょう、きっと。それまでは自由にさせてくださいよぅ;;

と、今日は楽しく一日を過ごさせていただきました。日本酒を結構飲んだので帰ってきてからは少々胸やけしてしまいましたが(苦笑)
今行っている研究が実現するとかなり面白い製品が世に提供できることになりそう。その一旦に携われたらそんなワクワクすることはない訳で。俄然テンションは上がるなぁ。なかなかスキルがついてきませんが(ぁ

さて、せっかく会社の方からは期待していただいている訳ですし、頑張らないといけないな。今解析している論文の内容は来週までにはプロトタイプを完成させたいな。弱点も見えているからそこは教授に相談しよう。割と致命的な弱点ではあるんだけど^^; それを解決できたら一つアドバンテージとして論文書けるかも。それをめどに頑張ってみるか。

さて、明日からいっちょ頑張りますか!
Fedora復帰
とりあえずFedora起動するようになりました。
昨日のポストでは「何も変更してねーよ!!!」と書いたのですが、調べてみると1箇所だけ変更してましたOrz

QEMU/KVMを実行するためにはkvmとkvm-amdのモジュールをロードしておかなくてはいけないのですが、起動時に自動でロードされるタイプではないので毎度毎度手動でロードしてたんですね。
で、それが面倒だなと思って、/etc/modprobe.confに

install kvm /sbin/modprobe kvm-amd && chmod 666 /dev/kvm

と書いたわけなんです。こーしておけば自動でロードされるだろうと。

で、結論から言えばこれがOS起動の邪魔になってました。OSが起動した後に上記のコマンドを実行すれば問題なく実行されるのですが、/etc/modprobe.confにこう記述するとなぜかモジュールがロードされず、しかもシェルが戻ってこないので後ろの作業に多大なる影響を与えていたらしい。

原因を突き止めた方法も結構ゴリ押し。まずシングルユーザモードなら起動するだろうと踏んでGRUBにてメニューを編集しランレベル1で起動。めっちゃ時間は掛かったし、あらゆる起動プロセスが[FAILED]と表示される悪夢にあいながらもなんとか起動。

で、すかさず
# mount -o remount /
にてルートパーティションを読み書き可能なモードにて再マウント。なんとこれが成功。つーことはHDDに損傷はないんだなというわけで、試しに他のパーティションなどもマウントしてみるけれどどれも正常。コマンドも実行可能で、しかもファイルもきちんと読み書き可能。

となるとひょっとしてこれ起動するんじゃなかろうかと言うことで
# init 5
にてランレベル5に移行。

するとあれよあれよとプロセスがクリアされていって無事GDM起動。なんじゃそれと。

まー無事起動してくれたのでログインして状況確認。特にどこもおかしいところはなく至って正常。

ここで、kvmモジュールが読み込まれていないことに気づいたので
# modprobe kvm-amd
って実行したんですな。するとOSフリーズOrz なるほどガチでこいつが原因やないかと。

「ん、そーいや最後に/etc/modprobe.confにkvm関連追記せんかったっけ・・・?」

で、仕方ないのでまた時間をかけてランレベル1で起動し、読み書き可能モードで再マウントしてmodprobe.confを確認したら案の定kvmモジュールの読み込みをしようとしていたと。

しゃーないのでコメントアウトして再起動したらあっけなく起動。しかも起動後にkvmモジュールを読み込んだらちゃんと読み込むというこの謎。

ん~、無事起動するようになってくれたから問題はないものの、kvmモジュールは/etc/modprobe.confには記述でけんのかねぇ? まぁ毎度毎度仮想OSを起動するわけでもないから手動で読み込んだっていいのはいいけど・・・、なんか釈然としねぇなぁ。

まだあんまりF7の情報は転がってないんだよなぁ。もう少し様子を見るか・・・。
[続きを読む...]
トラブル続きのFedora7
先日FedoraCore6から7にアップグレードして、ようやくBerylも起動して安定してきたかなと思ったら今日は何故か起動しない。ほんにトラブル続きだOrz

とりあえずFedora7で変更になった点。
・IDE接続であろうとOS上からはSATA接続であると見なされる
これは結構びびった。FedoraからFedora7にアップグレードしたらいきなり「/homeパーティションが見つかりません」なんてエラー出るんだもの。HDD壊れたのかと思った。/パーティションはSATA接続だったけど、/homeなどはIDE接続だったからなぁ。
これはLiveCDで/etc/fstabファイルを変更することで無事解決。
ま、新規でインストールしていたらぶち当たらない問題ではあったんだけど^^;

Berylを起動しようとするとXが落ちる
コレに関しては現在もはっきりとした原因は不明。解決法はkmod-nvidiaからkmod-nvidia-96xxにドライバを変更するといったもの。なんでこれで解決したのかは不明。FC6までは前者のドライバを使ってたんだけどなぁ・・・?

・KDEでセッションが保存されない
これはデフォルトの設定が変更された模様(未確認)。FC6までは終了時の状態が自動的に保存されて、次回起動時に再現されていたんだけど、F7からは手動でセッションを保存したときのみ次回起動時にセッションを再現するように変更されていました。セッションマネージャにて「前回の状態を再現」(はっきりとした文言忘れた^^;)を選択することで解決。

で、今日になって
・システムが起動しない
これが中々に難題。ヒントが少なすぎる。GRUBからF7を選択し、カーネルが読み込まれ、フォントが設定される直前で処理速度が大幅ダウン。というか見た目にはフリーズ(実際には動いてた)。あんまりにも遅いので最初はフリーズしたと思った。
で、根気よく待っていると、なんと諸々設定しようとするのだがパーティションがリードオンリーな為書き込みできないというエラーが。
コレは正直困る。原因が思い当たらない。一昨日までは普通に起動していたわけだし、その際に何かパッケージを更新したり設定ファイルを変更したりということはしていない。おかげで原因がさっぱり分からない。ヒント少なすぎOrz

Fedoraが起動できなくなったというのは過去何度も体験してきたことだから今更驚きはしないけど、今回はさすがにヒント欲しいなぁ・・・。

というか、いい加減アップグレードは止めて新規で入れろというお達しだろうか・・・? ネットワークインストールという手段もあるし、何より今回からはLiveCDからのインストールという方法も提供されたわけだし、膨大な量のインストールディスクをまるまる用意する必要が無くなったから新規で入れるのも敷居は低くなったけれど・・・。

/homeパーティションと/boot、/の3つのパーティションを分けているけど、アップグレードを狙うなら/usr/localもパーティションとして分けておくべきだったなぁ・・・。まぁ最近はソースで入れることは少なくなったけど、それでもいくつかはあるし。

あとはMySQLのデータベースか。amaroKのプレイリストやら再生スコア程度とはいえ、もう一度設定するのも面倒な話だし・・・。データベースはまるっとバックアップする方法があるけど、よく知らない(ぁ これはまぁ調べたらどうにでもなるか。

まぁ後は細々と設定した項目だけど、もうほとんど覚えてない(ぁ ファイアウォールの設定は吐き出せたっけな・・・? またやり直せばいい程度の数ではあるけど、全部は覚えてないなOrz

何にせよ、Fedoraが起動してくれないと困るなぁ。LiveCDでデータの移行はできるけど、なんで今の状況が生まれたのかは理解しておかないと新規で入れ直しても同じコトが起きるかも知れないし。

にしてもハードウェア構成変更無し、パッケージ変更無し、設定ファイル変更無し。故障もおそらく無し(現在XP起動中だけど、同じHDDのパーティション)。この状態で発生したエラーなんて想像できねぇよ・・・Orz
誰かヒントくれ、ヒント;;
[mixi]6700人め
前回が6666だったので今回はかなり早めの報告。

今回のキリ番ゲッターは・・・・!!!

mixiからのお知らせです。code_air_ edge さんのページ全体のアクセス数が
6700アクセスを超えました。記念すべき6700アクセス目の訪問者は
ひでと さんでした!

毎度ありがとうございます~^^ ふむ、たまにはトップ更新しないとな^^;

さてさて、恒例の前後賞!

2007年06月07日 19:34 エセ整備士
2007年06月07日 16:27 ヴェルニル
2007年06月07日 07:55 ひでと
2007年06月07日 07:21 Attsun
2007年06月07日 02:37 玖遠@('A`)

玖遠たん、相変わらず惜しいところ攻めますねぇ(笑)

さてさて、次なるキリ番はど~んと飛んで1万番! いやもうなんか面倒になってk(ry ほんとのきりのいいところにしようかなと。

忘れた頃にやってくるのもまた一興かなと。そいでは、またご贔屓に~^^
玖遠たんのmixi日記より
顔チェき!

ってなわけで、写メ撮ってメールで送ると誰にどのくらい似ているかを教えてくれるらしい。

つーわけでやってみた。

男性編
山田孝之 56%
堂本剛 48%
今井翼 48%

女性編
深津絵里 49%
竹内結子 46%
紺野まひる 46%

紺野まひるさんだけ分からないw

だが敢えて言おう。嘘っぱちだぜこの結果www いやある意味正しいのか。山田孝之に56%似ているというがつまりほぼ半分。残り半分は違う成分で出来てるんだぜ?w

まーいいようないや違うような、何とも言えない玉虫色な結果な気はする(笑) ちょっとした遊びにはいいかもしれないが。
まぁでもこーゆーのがすぐ結果として見れるのはおもしろいよね。さんのへあたりならこーゆーの作れないの~?(ぉ
KVMを試してみた
とある2chスレにて。

パソコンが壊れたときの反応

【一般人】。・゚・(ノД`)・゚・。
【自作ヲタ】。・゚・(ノ∀`)・゚・。


やっべー、分かる、すげー分かるよ(笑) 壊れたら買い換える大義名分が出来るものなぁ(ぉ 私もディスプレイ壊れたらワイドディスプレイ買いたいと思ってるし・・・。壊れると悲しい半面喜ぶかもw

さて、話はガラッと変わって仮想化のお話。Fedora7の目玉の一つがQEMU/KVM。CPUが仮想化サポート機能を持っていると、QEMUを高速化できるというもの。このKVMがF7からカーネルもジュールに取り込まれることになりまして、試してみたかったんですよねぇ。

仮想化を実現したいなら今はVMwarePlayerが無料で公開されていますからこれを使うのが手っ取り早いです。GUIも充実してるし。ディスクイメージも公開されており、それを使ってごにょごにょすれば好きなOSをゲストとして利用できます。

が、VMwarePlaerにしろVMwareServerにしろ、カーネルを更新する度にモジュールを作り直してインストールしないといけないんですよね。Fedoraはカーネルの更新が頻繁ですし、これはぶっちゃけ手間なんですな。当然root権限いるし。

これがKVMのようにカーネルモジュールにマージされると、カーネル更新時にちゃんとKVMモジュールも更新されるのでモジュールの再コンパイルの必要がない。これは非常に有難い(と私は思っているw)。

で、QEMU/KVMでWinXPを動かしてみました。するとこれがどうして、結構実用的な速度で動作するじゃないですか。QEMU単体の時はちょいと実用レベルには無いな~と思ってましたが見直しました。これなら使えるよ、うん。

サウンドドライバもきちんとロードされてるしホスト側もデバイスにALSAを指定できるからdmixでゲストの音声をきちんと拾える。デフォルトがOSSになってるから環境変数書き換えておかないといけないのが玉に瑕か。もうそろそろALSAを標準にしてもいいと思うんだ。カーネルに標準で搭載されたんだしさ^^;

ただ、QEMUは引数がかなり長いので別途スクリプトファイルを用意しておく方が無難かも。あとネットワークがよく分からない・・・。このあたりはVMwareの方がかなり楽に設定できるなぁ。インターネットにはつながるけれどホストからゲストが見えていない(逆も然り)。後でTAP方式について調べておこう。こちらならできるらしい。

VMwareのようにスナップショットを保存することも出来るし、保存した状態から起動して差分の状態を保存する、なんてことも可能。
とまぁQEMUはかなり優秀ではあるんだけど、基本的にすべてコマンドライン操作。ここが中々ハードル高いところだよなぁ^^;

一応Fedoraにもvirt-managerってパッケージが用意されてて、XenとQEMUの仮想化をサポートするGUIが用意されたんだけど、これ既に存在する仮想イメージファイルを管理することってできないのかなぁ?
新規に作成することは出来るんだけど、既存のファイルをインポートするとかいう項目が見つからなかった。あると思うんだけどなぁ。ないのか?

まぁとりあえず動作速度は実用レベルにあると思う。ただインターフェイスがちょいと貧弱。オプションは豊富にあるし、強力な選択肢になると思うからここいらが充実してくるとXenをあっけなくひっくり返すかも。

とりあえず、Sambaでファイル共有が出来るようになればこっちのもんだからそこだけどうにか調べようっと。オプションで画面をフルスクリーンにできるから、デスクトップの2番目にでも貼り付けてやればディスプレイを2台切り替えて使うようなイメージで使えそうだ。

・・・、メモリを増設したくなってきたぞw
工場もノイキャン時代 騒音を正反対の音で消す アサヒビールなど新技術

これ、もろに私の研究内容なんですよね~。能動騒音制御。元々はヘッドフォンとかに使うよりはこういう工場向けに研究してる内容だったから、実用レベルに来たんだな~と思うとなかなか興味深いですね。

記事によると、騒音の主成分を自動で追尾するらしい。全体を下げるより主要な成分を落とした方が全体の騒音レベルが下がるってことなのかな? 周波数解析してるってことだろうからメモリは結構喰ってるやろなー(ぉ

こういう記事を見ると自分のモチベーションも上がってきますな。私も自分の研究で何かしら結果を出さなくては。今のところはあまり目新しい結果も出ていないし、今月中には現在の手法の計算量削減の効果を実証したいもんだ。

さて、頑張りますかね^^
Beryl解決そして家もアップグレード
昨日解決しなかったBerylですが、本日なんとか解決しました。
特別何か設定を施したとかでは無く、ドライバを変更した、ただそれだけでした・・・^^;

FC6まではずっとkmod-nvidiaというドライバパッケージをインストールしていたんですね。で、F7でもそれをインストールしたのですが、どうやらこれがだめだった模様。

Livnaのリポジトリには実はまだnvidiaのドライバがあって、kmod-nvidia-96xxをインストールしたらBerylが起動しました!

が、kmod-nvidiaとkmod-nvidia-96xxの違いについてはさっぱり分かってません。
「あ、なんか別のドライバもある!入れてみるか」
って入れてみたら動いたというだけで、確信を持っていれたわけでは無いのですよ^^;

まぁ何はともあれ無事Berylが起動することも確認できた訳ですし、早速家のPCでもアップグレード開始。さすがメジャーバージョンのアップ、更新数が半端じゃない。
新規、更新あわせて1300パッケージ!!! DL量1.5GB!!!
いや、なんというか、ADSLだと相当しんどい数字なんだぜこれw

まぁ晩飯食べてる間に6割ほどDLし、つい先ほど全部DL完了しまして、今インストールの真っ最中です。

と、思ったら依存性訴えられてたよOrz
Transaction Check Error:
file /etc/X11/XvMCConfig from install of libXvMC-1.0.4-1.fc7 conflicts with file from package libXvMCW-0.9.3-1.2.fc4
file /usr/share/terminfo/k/kon from install of ncurses-5.6-6.20070303.fc7 conflicts with file from package kon2-0.3.9b-26.2

ぉぃ、いったいいつだよfc4ってw さすがアップグレードにアップグレードを重ねてきただけのことはある(苦笑)

ふむ、下のパッケージも相当古いな。よし削除してっと・・・。

よーし再度アップグレードだー(乾笑

っきしょー、もう更新できるよな・・・?;;

※ 07/06/06 01:03 追記
更新はできた。が、F7になって/dev/hd*がなくなった模様。/dev/sd*にマージされたかな?
おかげでATAのHDDに配置していた/homeなどが起動時マウントできずエラーで起動停止Orz
とりあえず手動でマウントして中身確認して/etc/fstab修正だ・・・;;

※ 07/06/06 02:21 またまた追記
Fedora-Live-KDEディスクでもって起動して、F7の / パーティションをマウントして/etc/fstabを書き換え。
再起動して無事起動確認!><

あ、家のマシンもkmod-nvidiaじゃBeryl起動できずに、kmod-nvidia-96xxにしなくちゃだめでした。なんでやろ?
家のグラボはGeForce7600GSで、結構新しいはずなんだけどなぁ・・・。

まぁいいか。研究室であらかじめ対処法を確立しておいてよかった(笑)

なんにせよこれで家のマシンも無事移行完了! 途中で過去の遺産(FC4時代のパッケージ)が出てきたときはびっくりしたけど、探せば他にも結構出てきそうだな・・・。まさかRH9とかの時代のパッケージとか出てこないよな・・・?(ぉ

さて、Fedora8はどうやら10月にリリース予定らしい。まー遅れるのは必至だろうけど(ぁ、年内にはリリースしそうだ。
相変わらずのハイペースやなぁ・・・。

あ、しまったKVM試してなかった。これはもう明日以降やな^^;
悪戦苦闘
さて、RainmeterのSkin作成の総仕上げ。枠からはみ出していたテキストをどうするかですが、問題が片付きました。

まず、テキストのスクロールですが、これはRainmeterの仕様上不可能だということでした。いやまぁやってできないことはないけれど、手間が掛かるし負荷も掛かるし何より滑らかには動かないだろうということで却下。まぁこれはそうだろうと思っていたので気にしない。

で、適当な幅でクリップする方法ですが、これはとても簡単でした。Stringを命令に使っている場合、ClipStringを1に設定するだけでした。
ただし、その場合にはWとHも適当に設定しておく必要があるのでそこだけ注意しなきゃなりませんでした。てっきり、幅のWだけ指定したらいけるだろうと思っていたらHも指定しなくちゃいけなかったのでびっくり。まぁ、Hは適当に設定しても問題在りませんでしたが(笑)

とりあえずこれでRainmeterのSkinは完成。

それはおいといて、金曜日に突っ込んだ研究室のFedora7ですが、実は困った問題が。
アップグレード自体は上手くいったのですが、何故かBerylを利用するとXが落ちる。即座に落ちる。問答無用で落ちるOrz

別にBerylでなきゃ嫌だというわけでもないけれど、せっかく使える環境なのになぜか使えないというのは釈然としない。

で、今日原因を追及しようと色々と調べたのだけれど結局原因不明。設定ファイルの記述に間違いはないし、ドライバは最新のモノを入れてるし・・・。
Berylさえ使わなければ問題なくウィンドウマネージャは起動しているので実用上何の問題もありませんが、なんかがっかり。

さすがに家の方でも同じ事が起こっては嫌だなということで今はまだ家の方はFC6のままだったり。無理に切り替える必要もないし、研究室のF7のBerylがきちんと稼働するようになってから家の方のアップグレードを考えよう。

mixiのコミュでは問題なく動作しているよという報告もあるだけに悩ましいけれど・・・、メジャーバージョンのアップグレードは後戻りが効かないからやっぱり慎重にしようかな^^;
とりあえず暫定版が完成
昨日から取り組み始めたRainmeterのSkin作り。一応暫定的に完成とあいなりました。
残すところは細々とした調整かな。作成に協力してくれたVelnirに感謝。

昨日は結局曲情報のS-JIS化については分からなかったけれど、今日になって意外な事実が発覚。foobar2000のプラグインにてファイルに出力しているのだけど、その出力の際の文字コード指定が「UTF-8(BOMつき、なし)」と「ASCII」だったんですね。で、ASCIIは文字通りASCIIコードを吐くモノで、そもそも日本語が吐けないだろうと思っていたのですが、どうやらASCIIを選択すると現在指定されている規定の文字コードで出力するモノだった模様。つまり、cp932、S-JISで出力してくれたのでした。
なんだったんだ私の試行錯誤はOrz

まぁそれはそれでよかったのですが、元々のタグはUTF-8で書かれているためか、それともRainmeterに用意させたパーサがマルチバイト文字をうまく扱いきれないのか、セパレータに指定した文字でなくても誤認識して切り取ってしまうことがたまに出てきちゃったり。

まぁそれ自体はぶっちゃけ日本語タグを扱う以上仕方ないとは思っているのですが、どうせならRainmeter側のFileReadPluginを真似るような機能のプラグインを作ってみようじゃねーのということでチャレンジしてみることに。

VC++2005Expressをインストールしていましたが、Win32系のDLLを作成できる環境に設定していなかった模様。前回OSを入れ直した際、そこまでするのを忘れていたらしい。

とりあえず設定ファイルを追記したり変更したりして編集し、いざコンパイル・・・できないOrz windows.hが存在しないとかそんなわけあるかと。Win32の通常のコンソールアプリケーションなら以前から作成できていたのだからそんなことはないだろうと思ってインストールされているはずのPlatformSDKを確認してみると・・・、なんとインストールされていない!!!Orz

どうも前回はインストールしていたモノの、今回はインストールしなかったらしい。ではなぜその状態でWin32プロジェクトを実行できたかというと、代わりにWindowsSDKをインストールしていたからっぽい。こっちは確かVistaにも対応してたんだっけかな。詳しくは忘れたけど。

で、しゃーないので設定ファイルのうちPlatformSDKのパスが書かれた部分をWindowsSDKのパスに変更し、ようやくコンパイル成功。

したはいいけれど、結局それがプラグインとして認識されることはなかったのでした。なぜだっ!!!Orz

とりあえず必要な関数は

UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id);
void Finalize(HMODULE instance, UINT id);
UINT Update(UINT id);
double Update2(UINT id);
LPCTSTR GetString(UINT id, UINT flags);

の4つで、とりあえずこいつらさえしっかりと宣言しておけばよいはずだろうと考えた訳なんですね。
で、中身を実装する前にプラグインってーのがどうやって動作するんだろう、と思って中身は意味のないテストコードを埋め込んだだけの簡単なプラグインを作ってRainmeterに読み込ませてみたんですよ。

ところが、なぜか読み込んでくれない。きちんと宣言はしているはずのUpdateとGetString関数がexportされないとかいうエラー。

他にプラグインのソースでもあれば参考にできたのでしょうが、公式サイトも潰れている今では探すのが難しいというのが現状。とりあえずはプラグイン作成は諦めるしかなさそうです。

まぁそれはさておき、暫定的に完成したはいいのですが、まだ困った問題が。foobar2000で再生している曲のタイトルやアルバム名が長い場合、画像をぶっちぎりではみ出すんですよねぇ。Velnirは
「スクロールさせることができるんじゃない?」
と言ってたけど、ちょーっとそのあたりはヘルプにも載ってなかった気がするから分からないんだよねぇ。できるのならそれが理想だけど、せめてはみ出さないところで切ってしまうだけでもいい。はみ出すという状況を何とかしたいというのが残る作業かな。

とりあえず、己の配色、彩色能力のなさには辟易Orz 見た目というか枠組みだけならなんとか考えられるけれど、配色まではどうしようもないんだよなぁ。センスねぇなぁ自分Orz

けどまぁそれも慣れ・・・なんだろうか。今回の作成で大体の構造は掴めたし、第2弾はもう少し効率よく作れるかも。作るかどうか分からないけどw

まぁ、もう少しバランスは考えよう、うん。

Skin.png


画面は捨てうどんげを用いてみたSkin。捨てうどんげはどこで拾ったか忘れてしまった^^; 絵師には感謝します。
下の枠はSensitiveKnife2のサイトにて公開されていたモノをちょっと改造しました。デュアルコアのCPUパワーにして現在のCPU周波数と温度を表示しただけですが^^;
横の曲情報表示枠はVelnirにお願いしました。重ねて感謝。フォントはさなフォントだったっけ。

とまぁ他力本願なSkinではありますが一応完成。ちょいとバランスが悪いかなぁ。まぁ、第2弾を作る機会が在れば頑張ろう。
[続きを読む...]
もう一息なんだがなぁ
Windowsで使っているデスクトップアクセサリはYahoo!Widget。が、こいつのウィジェットに、foobar2000の曲情報を表示させるものがないんですなぁ。Winampの曲情報を表示するウィジェットはあるけれど、foobar2000の擬態モードでは日本語のタグが化けたので使ってなかったり。いやひょっとしたら擬態モードが悪いのではなくてウィジェットのフォントが日本語に対応していなかっただけかも知れないけれど^^;

で、ないなら作れってことでウィジェットを作りたかったのだけど、Y!Widgetは表示用の設定ファイル(XML)と、動作用のスクリプトファイル(JavaScript)の2つを組み合わせて成り立っておるんですな。
で、その両方を、私は知らないOrz なのでウィジェットを作成するためにはその2つの言語仕様を理解しないといけないのですな。既存のウィジェットを改造するにしてもある程度は文法を理解しておかないとどこを改造していいか分かりませんし。

おまけにそれらを作成したらzipで圧縮して拡張子をwidgetに書き換えてからY!Widgetに読み込ませなくてはいけないので、トライ&エラーがめんどいめんどい。

というわけでWidget作成は「気が向いたら」ってことで放置していたのですが、ネットサーフしていると久々にRainmeterのSkinサイトに遭遇。そーいやこっちはSamurizeに比べても作成は容易だってどっかで書いてあったし、試してみるかってことでDL。
しようとしてびっくり。Rainmeterのサイトなくなってたのね^^; 正確にはRainmeterと共に公開されていたRainlenderがバージョンアップし、仕様も変更になった際、作者がそちらに集中したいと言うことでmeterの開発を一旦凍結し、さらに旧サイトも閉鎖していたのでした。まぁ他で配布されていたのでそちらからDL。

rainmeterのSkin構成は比較的簡単で、iniファイルと必要な画像やサウンドファイルのみ。iniファイルの文法も分かりやすく、とっつきやすいものでした。

これなら自分で作れるかも、ってことでfoobar2000の曲情報表示はどうしたらいいか模索。まずはWinampの曲表示はどうやってんだろーってことを調べてみる。WinampのAPI使ってるならそれはそれでよし、それ以外ならfoobar2000にも流用できるかも~と思って探してみると、よさげな方法発見。

SensitiveKnife2というサイト内で紹介されている方法で、http://visualc.hp.infoseek.co.jp/にて公開されているRainmeter用プラグインのFileReadPluginというものを利用するモノでした。
このプラグインは、テキストファイル内のテキストを取り出すことができるツールで、SensitiveKnife2のサイトではWinampに再生中の曲情報をテキストに吐かせ、それをFileReadPluginに読み込ませる形でSkinへの反映を実現させていました。

ってことはですよ。foobar2000にもそのようなプラグインが在れば同じコトが可能と言うことになります。で、探してみるとこれがあったんですな、えぇ。

早速foobar2000にて適当に設定してテキストファイルを吐かせ、Rain側で読み込ませてみる。

うん、テキストは無事吐き出されてるし、表示もできた。
が、日本語が文字化けOrz

テキストデータはUTF-8で吐かせたのだけれど、Rain側がそれを認めてくれないらしい。

で、試しにiniファイルをUTF-8で保存してみたりしたけど全部が文字化けしてダメ。どうやらテキストデータをS-JISにするしかないらしい。

つーかiniファイルがUTF-8でなんで文字化けるのか謎。iniファイルの文字コードってS-JISしか認めてないってか? だとすると災難だよなぁ・・・。

そう考えるとUTF-8でデータを扱うXMLに分がある気がしてくるんだよな・・・。Rainlenderが一息ついて、Rainmeterも改良されてXML対応になったらこのあたりが楽にできるようになるのかしら^^;
タグはUTF-8で保存してるからなぁ。UTF-8で文字化けせず表示できて欲しかったOrz

まぁこうなると泣き寝入りしかないのかと言えばそうでもない。Rainmeterかfoobar2000のプラグインを自作するという手が残っている。多分meterのプラグインの方が自作しやすいだろうと思ったり。ただサンプルソースでもあればかなりありがたいのだけれどそれも見つからないんだよなー。旧サイトが閉鎖されてるのが痛い。ヘルプファイルに少しだけ仕様が書いてあるけどはてさてDLLなんて作ったことないからなぁ。
それともSDKでもあんだろか? foobar2000にはあったけど、Rainにもあるとかいうならそれから揃えないといけないんだが・・・。

う~ん、なんかいい解決方法ないかしら^^;
[mixi]6666人目キター![あしあと]
mixiからのお知らせです。code_air_ edge さんのページ全体のアクセス数が
6666アクセスを超えました。記念すべき6666アクセス目の訪問者は
さんのへ さんでした!

ん、さんのへこないだカツヲのキリ番も踏んでなかったっけ?(笑) 講座にはさんのへのおもちゃが増えていって居るのでプレゼントはありません。あしからず(ぉ

さてさて、そんな今回の前後賞は!?

2007年06月02日 06:26 カツヲ。
2007年06月02日 01:36 ひでと
2007年06月02日 00:06 さんのへ
2007年06月01日 23:44 エセ整備士
2007年06月01日 22:39 角

いやすげーなJ4パワー(笑) まぁ足跡全体を鑑みてもJ4関係者が8割を占めるので当然といえば当然ではある^^;

それはともかく、すべてを含む6のゾロ目を踏んださんのへに拍手を送りつつ、次回は7000番!

また~りゆるゆる~っといきまっしょい^^
今日は
Fedora7の更新をしたと書きたかったけど大幅変更。
乗った電車が人身事故で停車中!!!

現在絶賛すし詰め中Orz
すでに後発の電車は振替輸送が決まったそうで。ただし私たち乗客は動けず
今しばらく動けない模様。いらつくのは分かる。分かるが車掌の現状報告放送に吠えるなよおっさん

あぁ、腹減ったな…Orz
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。