2006年9月28日木曜日

色バトン

バトンは基本的には受け取らない主義ではあったのですが、最近は書くネタに困っていたので今回は受けてみようかと。私に渡してくれたのはSeaside - SHI's original musix siteのしーさんです。えーと、色バトンで、しーさんから見た私のイメージカラーは黄色だったようです。そいではスタート!

2006年9月23日土曜日

それは仕様です

昨日、「OOoは痒いところに手が届かない」ってな投稿をしたんですが、今日そのうちいくつかは原因と対策が分かりました。
まぁ諸々の不都合の原因というのは単に
「OOoがネットワーク上(Windowsネットワークなど)からファイルを開いたり保存したり出来ない」
ということに起因してました。サウンドファイルを挿入しようとしてもうまく行かなかったのは、ソースとなる音声ファイルがWindowsネットワーク上にあったからという理由でした。スライドのファイルと音声ファイルをローカルへコピーしてきたら問題なくサウンド鳴りました^^; 確か私はデスクトップにディレクトリを作ったはずだったんですけれどねぇ。気がつくとそれがショートカットになってて、てっきりどっかCドライブかDドライブあたりに放り込まれてたんだと思ってたんですよね。そしたら無線LANでファイルサーバに置かれていました^^; まー誰かがそうしたんでしょう。毎回発表練習する度にローカルにコピーするのが面倒だとかそんなところでしょうか。
けどどっちみち発表本番は教室を移動するわけで、そのときには無線LANのアクセスポイントまで電波届かないでしょうからローカルにコピーしておかなきゃいけないんですよね。私が気付かなかったら誰も気付かなかった悪寒・・・w ま、早めに気付いてヨカッタヨカッタ。
OOoはネットワーク上のファイルのやりとりはできませんが、まーそれはOfficeスィートの特性上そんなに問題にはならないのかな? プレゼンはノートPCで行うことが多いだろうし、そのときにはローカルにコピーしておくモノだろうし。
ただ、エラーメッセージはもう少し分かりやすいものにして欲しかったなぁ。
Windowsネットワーク上のスライドファイルを開いて、編集して保存しようとすると
「一般的I/Oエラーです」
と出る。それじゃなんのコトかよく分からんですよ^^;また、挿入でネットワーク上のファイルを開こうとすると
「そのファイルはサポートされていません」
と出る。いやサウンドの挿入でWAVEファイルをサポートしてないならもうどれをサポートしてると言うのよw
まーネットワーク上のファイルを触ろうとするとうまくいかないということは把握したから、エラーメッセージをなんとかしてください(苦笑)
まぁそれを差し引いてもすごいソフトではありますけれど。
ま、解決してヨカッタヨカッタ^^
Tags: 

2006年9月22日金曜日

う〜んむ、ちょっと痒いところに手が届いてないな^^;

今年も中間発表の時期がやってまいりました。私も十二分にテンパってるんですが、研究生のみんなも結構それなりにテンパってますねぇ^^;
まー当時の私を含め、大体の人が今回が初めてのまともな発表の場。みんな見知った顔とはいえ真剣にやるわけですからいくらかはやっぱり緊張しますね。
で、これまたやっぱり大抵の人がプレゼンをまともにしたことがないのでプレゼンの資料作りも手探り状態。レジュメはまー研究生は1枚だけなのでそれほど苦労もないでしょうが、スライドは結構みんな苦戦してますね。
で、修士では私だけ、学部生では3人か4人ほどだったかな? スライド作成にOpenOffice.orgを利用しています。私はこのソフトに特に不満はなかったんですが、どうも掘り下げてみるとちょっと痒いところに手が届かなかったり^^;
私たちは理系であることもあり、スライドに数式を入れることが多々あります。その際、OOoの数式エディタでもよいのですが、TeXの入力形式が扱えるOLEオブジェクト数式作成ツールのEquationMagick Liteを利用して数式を挿入しています。ただこいつがちょっとくせ者でして、EquationMagickで作成した数式、編集画面では綺麗に見えるくせにスライドショーモードにすると総和演算(Σ)等の記号が大幅にずれてしまってるんですよね・・・。原因不明^^; ずれないものもあるのでよく分かってません。EquationMagick自体は扱いやすいのですが、数式はOOo付属の数式エディタを使う方がよいようです・・・。あれもまぁTeXに入力形式は近いのであんまり違和感はないですが。ただ、サイズの変更がめんどくさいんですよねあいつ・・・。デフォルトで何故かサイズ保護が掛かっているのでそいつを解除してやらないといけない。しかも一度選択を解除するとまたサイズ保護が掛かっている始末・・・。あれなんとかでけんだろーか。後で調べとこ。
また、これは私が扱っていなかったため気付かなかったんですが、環境によってはサウンドなどのマルチメディアファイルの挿入ができないようです。MP3を挿入するのにプラグインがいる、というのは分からなくはないんですが、waveファイルを読み込めなかったのは謎。しかも私のPCに入れてあるOOoならば問題なく挿入できるあたり何が原因なのか不明・・・。環境依存ってのは原因の切り分けが難しいから嫌なんだよなぁ・・・。
さらにさらに、これは意外だったんですがSVG形式って読み込めないんですねぇデフォルトでは・・・^^;てっきり読み込めると思っていたのでgnuplotではき出したEPSファイルをSVGに変換してたんですが無駄足でしたOrz つーかEPSだって読み込めるのは読み込めるけれどプレビュー画像つきでなければ枠しか表示しないってどうよ!? PDFにエクスポートするか印刷したらきちんと表示されてるって、そりゃWriterならそれでえーじゃろーがImpressではあかんじゃねーかOrz スライドショーモードで表示されなかったら意味ないっての・・・。
ということで、仕方ないのでgnuplotからはき出したEPSをSVMというStarOfficeのベクトル形式データに変換しました。Viva Linux! pstoeditというソフトに出会わなければ今日無駄な時間を過ごしてしまうところだったぜ!(いや結構無駄な時間は過ごしてしまったのだけれどOrz) やっぱり結果のグラフなどはベクトルデータで欲しいですからねぇ。あんまりベクトル形式のファイルフォーマットを知らないのですが、できたらネイティブでSVGに対応して欲しいモノです。SVG吐き出せるんだから読み込みもサポートしてよねん。XMLだからメンドクサイのかな・・・。
しかし、私はLinux環境を持ってるのでいいですけどWin環境しかない場合はどうするんだろ・・・。Windows版のgnuplotでもWMF形式は吐き出せないはずだし・・・。まー探せば見つかるのかしら。メンドクサイから探さないけれど(笑)
う〜ん、無料のソフトにケチつけるのはよろしくないけれど、まだちょっと痒いところに手が届いてない感じですなぁ。あと、まとめWiki的なサイトがあまり2.0に対応してなかったり^^; このあたりが整備されて情報が潤ってくるともっと普及すると思うのだけれどなぁ。惜しいところだ。
とはいえとても優秀なソフトには変わりないので(ちょっと起動遅いけど)、頑張って使い込んでいきましょうかね!

2006年9月18日月曜日

さすがはてなダイアリー

■アスキーアートを簡単にきれいに表示するaa記法
さすがはてな。ほんと遊び心の豊富な会社だわ(笑)
AAは確かMSゴシックの10ptを基準に書かれてるんだっけか(違ってたらゴメンナサイ)。とはいえ人によってはそのフォントスタイルはいやだ!って人もいるでしょうし、そういう場合はこういう風に個別でCSSを設定しておいてくれるのはありがたいですねぇ。ユーザ側が自分たちでどーこーしなくていいというのはありがたい限り。
これ、Linuxだと綺麗に見えるのかなぁ・・・? やっぱちゃんと対応したフォントがないと無理だろうか^^; まぁ無理なら無理でしかたないけれど、できたら綺麗に見たいものだわ。
ほんと職人さんは綺麗なAA作るからなぁ。崩れてしまっていてもある程度予想はつく。けど綺麗に揃っているのを見てこその作品だと思うしね。
エキサイトブログでもそんな遊び心を発揮してくれないかしら(笑)

2006年9月15日金曜日

はて? これはバグ?

今、研究で信号処理のプログラムをC言語で書いている訳なんですが、ちょいと私の思っていたのと違う動作をしたコードがありました。
ハードウェア依存型のFFTライブラリを使っており、その関数に利用する係数変換行列を配列で用意しているんですが、FFTのサイズがもう決まっているので最初から宣言しておくことにしました。
で、色々な関数でFFT関数を使い回すのでグローバル変数として宣言。というか、その係数行列を作成するジェネレータがライブラリとともに配布されていたので、それを利用して計数行列を宣言したんですよね(そのジェネレータプログラムはCの文法で配列を生成してくれる)。作成された配列はconst宣言がされておりました。まーFFT中に回転行列の値が変わることはないだろうと思ってさして気にもしていなかったんです。
回転行列は
const float w[2 * 1024]=
{ ・・・・
};
って形で宣言されていたので、FFTを利用する別ファイルにて
extern const float w[2 * 1024];
と宣言した訳なんですね。そしたらなんとFFT関数の方が引数にconstがついておらず、型が一致しませんというエラーが。
なんでFFT関数を作ったメーカーの作成したジェネレータで用意した回転行列にconstついてるのに使えねーんだと思いつつ、
extern float w[2 * 1024];
と宣言したらコンパイル通っちゃいました^^; まぁFFT関数実行前と実行後で回転行列の値をチェックしてみましたが、変更された形跡はなかったのでまぁ特に困ることもなかったわけですが、気持ちは悪いですよねぇ・・・。
で、ここで気になることが。元々宣言したところではconst修飾子が付いているためにこの配列の値を変更することは不可能ですが、extern宣言している方ではconst修飾子をつけていないため、値を変更しようとするコードを書いていても、コンパイルエラーは出ないのではないか。
で、試してみたところ、やっぱりエラーは出ませんでした・・・。おまけに中身書き換えられてたし!
それって、Cの仕様として果たして正しいんだろうか・・・。それともバグかしら。確かこのコンパイラはANSI/C準拠だったと思うんだけどなぁ・・・。
それとも配列へのconstはポインタが書き換えられないようになっているだけで中身の保護はまた違う書き方をしないといけなかったっけなぁ・・・。なんかそのルールは見覚えがあるけれど、今ひとつはっきりと思い出せない・・・。
まー今はそれの検証をしている余裕はないので放置ですが、ちょっと気持ち悪い^^; Cってパワフル過ぎるんだよなぁ・・・。けどハードウェアへの実装だからCじゃなきゃアセンブラで組めって言われるし、そりゃとてもじゃないけれど無理だ;;
とりあえず早くバグを取り除いて結果を出したいー!!!><
ただいま激しく迷走中w

2006年9月12日火曜日

あ〜そろそろ整理してぇ・・・

というのは部屋ではなく(いやまぁ部屋も整理しないといけないんだけれど)、ブックマークだったり。
また最近色々とブックマークしてきたので数が増えて来ちゃったなぁ。これを適当にカテゴライズするのも中々手間だ・・・。
ぶっちゃけ、カテゴライズできるならブックマークするときに既にあるフォルダに放り込んでるわけで・・・、今までに用意した分類に当てはまらなかったからルートフォルダに溜まっちゃうわけで^^;
最近ではブックマークはソーシャルブックマークサービスを利用する人も増えてますね。実際、一人が複数のPCを利用するご時世、クライアントに保存するよりもWeb上から見られるようにして共用した方が効率的ですしね。
ん〜私もそうしようかなぁ。まぁ候補としてははてブとdel.icio.us。まぁどちらもアカウント持ってるはずだけど、もうずいぶん前だったし、殆ど活用できなかったので忘れちゃったんだよね(ぁ
とりあえずもっぺんログインを試してみて、できなかったらアカウントもう一回取ろうっと(笑)
さ、整理整理〜。
Tags: 

2006年9月10日日曜日

知っていたら、助けられるかも

「AED」で生存率5倍=救急処置効果で初調査−総務省消防庁
私がAEDという言葉を初めて知ったのは、確かテレビのCMだったはず。そのときに「へ〜、こんなのがあるんだ」って思いました。AEDとは「自動体外式除細動器」の略称で、これについてはWikipediaの自動体外式除細動器が詳しいです。
CMではこれの使い方が説明されてました。場面は駅のような場所。まず冒頭で人が倒れます。で、近くにいた男の人が、これまた近くにいた女の人に「AEDを持ってきてください」と指示するわけです。で、女の人は「分かりました」って言ってAEDを取りに行き、それを使って救急隊が来るまでに応急処置を施す、という内容のCMでした。
で、ふと思ったわけです。私はこのCMをそのとき(多分1ヶ月ほど前かな?)初めて見て、そこで初めてAEDという機器が駅などの公共機関に設置してある(ない場所もある)ことを知りました。
正直、「AEDを持ってきてください」と言われても「え、え?な、なんですかそれ・・・?」って返してたでしょうね、間違いなく^^; まだ全然世の中には広がってないと思うのですが、どうなのでしょう?
ただ、これがあるとないとでは随分と結果が変わってくる、ということが証明されているわけですし、実際こういう応急処置は早い方がいいのはみんなが思うところだと思うし。もっと広く知られていてもいいと思うんだよなぁ。私が通学に用いている駅にAEDが設置されているのか、はたまたされていないのか、それすら知りませんから。設置されていたとして、どこに設置されているかも分かりませんし、使い方も分かってません。
それじゃせっかくの装置も宝の持ち腐れ。AEDについてのCMもそれ1回きりしか見てませんし、もっともっと知らせていって欲しいなぁと思う。うちのBlogを見ている人がどれだけいるか分かりませんが、見た人の頭に引っかかってくれることを願いましょう。
知っていたら、助けられるかも。

2006年9月7日木曜日

WindowsVista RC

講座の助手が「こでこれいる〜?」ってVistaのRC版インストールDVDを貸して下さいましたので(MSDNアカデミックライセンス)、今日試しにインストールしてみました。
以前β2はインストールしていたので、それをアップグレードできるかな〜って試してみたら、可能だったのでアップグレードでインストール。
インストールの最初に「最新のアップデートを適用しますか?」と聞いてくれたのが印象的。適用する、しないでどう違うのかと言うことまでは分かりませんでしたが、きっとWindowsUpdateで提供されるパッチとかを適用してくれるんでしょうね。インストールしたら最新の状態って言うのは嬉しい限り。
で、インストールは無事終了。バイトの時間になってしまってたのでバイトに行き、帰ってきてから設定開始。
β2の時点で認識されていなかったデバイス群のうち、サウンドデバイス(Creative SoundBlaster AudigyLS)についてはXPのドライバを流用できました。β2のときは出来なかった気がするんだけどはてどうだったんだろ?
ただし、ドライバをインストールし、音をアナログではなくデジタル出力に変更しようとサウンドのプロパティを開いたら青死しました(爆) まだまだRCということでバギーですな;;
まぁおかげで音が鳴ったからちょっと色々とアプリ突っ込んで試してみるとコトに。
と、まずLiveメッセンジャーが更新通知来ていたので更新。が、どうも更新の最後の処理に失敗したらしく、起動後設定をちまちまやってたら「修正インストールして下さい」とのメッセージが。
しゃーないのでインストーラ起動して修正を選択するとなんかどうもメッセンジャーが完全には死んでいなかったらしくしばらくビジーに;; 10分くらい操作をまともに受け付けてくれなかったなぁ。
とりあえず修正が終わり、無事インストールされたようですが、なぜかファイルの同期作業には失敗してたり。まぁ別に同期なんてほとんど利用していないので失敗したからどうということもないのですが。
で、続いて「XPのドライバを流用できるならキャプチャボードも行けるんじゃね?」ってことでキャプチャボードのドライバとアプリをインストール。それ自体は問題なくできたんですがアプリの起動失敗Orz 互換モードというモノがあるらしいのでXP SP2モードで起動。失敗Orz 互換モードの存在に疑問を感じ始める(ぁ
まぁキャプチャボードはドライバが提供されていないので仕方ないとして、今度はfoobar2000をインストール。これがすこぶる不安定。なんとか動いているんですが、いきなりメモリ参照エラーを吐いて落ちる。おそらくはセグメント例外。何でやねんというほど落ちるOrz 最終的に起動すらしなくなりました;; まぁ最小構成というかインストール直後なら動くかも知れませんが・・・、どのプラグインが悪さしているのか調べなきゃ行けませんね。試しにXP互換モードで動作させるも状況に変化無し。互換モードってなんだ?
で、続いてDivXもろもろを突っ込んでみることに。こちらは問題なくWMPで動画が再生されました。
全体的にはβ2のときよりも動作がキビキビとしてくれているように感じました。が、XP互換モードが存在しているにもかかわらずそれ使っても動かないアプリは動かないという感じなので、すぐにVistaに移行するのは(製品版もこの対応度なら)激しく非推奨であると言うことが分かりました^^;まぁアプリの対応状況などを調べるためのRC版と言うことで、大いに役に立ってくれたわけではあります。
私が今回試したアプリは非常に数が少なく、「動かないアプリ」が多いのか少ないのかは全く判断できませんが、特別急ぐ必要がないのであれば、お気に入りのツールや必要なドライバのVista対応版がリリースされてから乗り換えるか、XP等を残しておいてデュアルブートでインストールするのがお薦めです。
しっかし思った以上にアプリが動かんなぁ。XPがリリースされた直後もこんな感じやったんやろか・・・。ミーハーな私もさすがにこれをメインで扱えそうにはないや^^;
しばらくは待っておいた方がよさそうやなぁ・・・。まぁ多分、とりあえずインストールだけしておいて対応アプリをちょっとずつインストールしていくって感じになるんだろうけれど(笑) で、最終的にはアップグレードと持って行けたらええかなぁ。見た目は綺麗だから好きなんだけどなーw
けど機能的には見た目が綺麗になったこと以外はむしろUIの違いに戸惑う面も多い・・・。こりゃ結構リリース直後は批判の意見が増えそうだ^^;
Tags: 

2006年9月6日水曜日

Y!Widget日本版

Y!.co.jpからも正式にY!Widgetがリリースされました。まぁ.comの方のY!Widgetも日本語化はされており、メニューなどはきちんと日本語だったのでクライアントそのものに目新しい点はほぼない(と思う)のですが、その周辺がしっかりと日本語化されてました。
まずウィジェット配布サイト。以前は当然英語サイトだったわけですが、日本語サイトが用意されました。とは言ってもどうやらメニューを日本語化したとか言うことではなく、完全に日本オリジナルのものとしたようで、ウィジェットは共有していませんでした。なのでウィジェットが充実するまでは静観かもですね^^; 今のところ数はかなり少ないです。逆に言えばクリエイターの方はアピールチャンスかも。
また、ウィジェット作成者には朗報。Y!.comにて英語のリファレンスは公開されていましたが、Y!Widgetが日本語化されるにあたり、リファレンスも日本語化されてました。てっきり英語のリファレンスにリンクを張っているだけかと思いきやしっかり中身が日本語化されていてびっくり!英語の方のリファレンスはちょろっと読んだのですが、やっぱり日本人、断然日本語の方が読みやすいので暇なときに読んでみようかと思ってます。
まーY!Widget用のWidgetを作成できるほどのスキルは持ち合わせていないのですが、興味はありますしねぇ。中間発表終わったら読んでみるカー。

2006年9月4日月曜日

なるほど、なるほど。

これまでプログラムを色々と作ろうとして、どーも納得できずに腑に落ちないでいることばかりだったのですが、その原因に割と最近になって気がついたり。
プログラムを組む際、大まかなプロットを考えます。で、いくつかのモジュールに分け、そのモジュールごとに構成する訳なんですが・・・、まず、全体のプロットを考える段階で先見性に欠けるというか、モジュールを作っていく度に仕様が変わってしまう。作りたいプログラム全体を俯瞰しているつもりだけれどその繋ぎ目を上手く把握できていない。また全体で必要な構成要素を把握し切れていない。なので仕様変更が増える。
どうにかこうにかモジュール群を構成し、組み合わせる。すると仕様変更のせいで最初の方に作ったモジュールと後の方に作ったモジュールが上手くかみ合ってくれなかったりする。
ってな感じでどうも初期段階からつまずく始末。なんで初期から失敗してんのかな〜ということの原因を追及してこなかったためこうずるずると今の段階まで引きずってしまったのですが、最近になってようやく辿り着いた答えがあります。
早い話、私は「知らなすぎる」のだと。
プログラミングで実現したいコトについて、私が仕様を知らなすぎるんですな。言語の仕様も必要な部分についてはある程度理解した、IDEやデバッガなどのツールもある程度扱えるようになってきた、後は何が足りないんだろう、なんて考えていたけれど、根本的なところが足りてなかった・・・。
プログラムを組んで何かを実現しようとする際に、それがはっきり見えていなければそりゃ組めるわけもないわけで。プロット段階で必要な構成要素を把握できてない訳だよなぁ・・・。
プログラムを組んでいくうちに理解できるというか気付くことも多々あるけれど、やっぱりもっと大賞をよく知ることが大事だな、そう思いましたね。研究のプログラムであれば今はもうさらさらさらっと組めますし(効率や組み方にまだまだ難があり、すごく修正したいけれど)。それは単純に1年掛けて研究してきた内容だから頭に細部までたたき込まれているからだと思うのですよね。なので組んだプログラムに対してどこをどう修正すべきか、あるいは最初から書き直すならどういう方向で書き直すかなどは割とすっと浮かんできます。
けれど趣味で何か組みたいなと思っても何も浮かんでこなかったり。他のことを何も知らないからなんですよね。何かのフロントエンド程度ならあんまり考えることもないので組めますけれど・・・、1から組まないといけないモノについてはプロットすら浮かんでこない状態。
いろんなプログラムを組みたいと思ったらいろんなことを知らないといけないのだなと痛感。せっかく世の中にオープンソースプロジェクトがごろごろと転がっているんだし、やっぱり他人のプログラムを見て色々と得ることも大事なのかもな〜。
まぁいきなり巨大なプログラムを読もうとしたって理解できないだろうから、適度な量のソース解析から入っていきたいモノだけれど。
そーいえば何だったかなぁ、雑誌かWebだったか忘れたけれど、数値解析の手法について勉強するためにgnuplotのソースコードを解析した、なんて話をどこかで読んだけれど、せっかくソースがあるんだからそれを使わない手はないってことなんだろうな。
時間は掛かるけれど、それを避けてちゃ成長できないだろうしなぁ・・・、自分にちょうどいいプロジェクト、見つけていこうかな。