2007年8月29日水曜日

別に仮想クラスにする必要ないっぽいね

今日もプログラムネタ。とりあえずこのネタだとなんとか繋いでいけるんだよね^^;
昨日のポストで
「スーパークラスは仮想クラスにしなきゃだめ?」
みたいなことを書いたんですが、よくよく考えたら別にその必要もなさそうですね。
というのも、多重継承するなら仮想クラスにする必要も出てきますが、多重継承しないなら仮想クラスにしなくてもいいじゃないかと。今スーパークラスを持っていないクラスが自前のスーパークラスを継承するようにさえしてやればいいわけで。
というか、仮想関数と仮想クラスは分かりにくいよなぁ。C++でもinterfaceクラス的な実装は出来るけど、それしようと思ったら参照渡しにしておかないといけない。いっそのこと全部参照渡しにしてしまいたいと思うけど、ポインタでないといけない場面もあったりして困りものだ。アドレス渡しと参照渡しと値渡しが混在するのはほんと勘弁願いたいよ。クラスオブジェクトに関しては値渡しはすべきじゃないな、私の実装の仕方だと。クラスのメンバに配列を持つことが多いからなぁ。コピーコンストラクタをわざわざ定義なんかしてないし、デストラクタで確保した領域を確保しちゃってるから値渡しにするとえらいことに。
解決策としては、コピーコンストラクタをきちんと実装するか、値渡しを禁止するかいずれか。そりゃ値渡しを禁止した法が楽ってもんだ。
ビバ!マイルール。
VC#だと、コメント記法がちゃんと決まってて、それに沿ってコメントを書いておくとポップアップが表示されて便利。VC++でもポップアップは出るんだけど、特にコメント記法までは決まっていない。
が、Doxygenというツールを使えば、コメント記法に乗っ取って書くことで綺麗なAPI仕様書を簡単に作ることが出来る。でまぁそのコメント記法はそんなめんどうなもんじゃないのでちまちまと書いてAPI仕様書を作ったのですが、形になってくれるとなんか嬉しいですねぇ。大したクラスを実装したわけでもないのに大層な仕様書ができあがるので、すっごい自己満足に浸れます(笑)
さらに、このDoxygen、C++以外にも多くの言語に対応しておりまして、C#にも対応していると。C#のコメントからAPI仕様書を生成するツールはM$も出しているのですが、なんとコマンドラインからの実行。しかも超分かりにくい。ぶっちゃけ使えない。
それに対し、Doxygenは非常に優秀でした。ついでに言うと、M$が生成するHTMLよりはるかに軽かったです。まぁ、M$の生成するHTMLはJavaScriptを駆使してMSDNライクなページを生成してくれるので、それはそれで重宝するんですけれどね。
DoxygenはHTMLだけじゃなくLaTeX形式(他にもありますが省略)なんかでも吐いてくれるのですが、UTF-8形式でした。UTF-8に対応したLaTeXってありましたっけ・・・?あったら使ってみたいところ。LaTeXでもってPDFを生成したら紙の仕様書のできあがり。素晴らしい自己満足だ(笑)
さ、自己満足に浸ってないで、さっさと残りの仕事を片付けようOrz

2007年8月28日火曜日

どうやらだめらしい

昨日のポストで書いたコードですが、どうやらメモリリークの原因となりそうです。やっぱり、どんな形であれmalloc/newしたならfree/deleteしなさいということらしいですね。
安易に領域を確保してreturnするような関数を書いて利用するなってことですか。やはり自分でメモリ管理をするのは苦手です、トホホ^^;
というか、newやdeleteも演算子であるため、オーバーロードが可能であることに驚き。さらに、メモリリークについて調べていて参考にしたサイトには
「C++ならば自分の扱うクラス全てを派生させるスーパークラスがあるだろう。と言うか、普通はそのように実装する」
って書いてあってびっくり。マジすか。いわゆるJavaで言うところのObjectクラスを自前で用意するのがC++プログラマにとっては常識だったんすか。己の至らなさに目からウロコですよOrz
けど確かに理には適ってるな。なるほどさすればスーパークラスのnewとdeleteをオーバーロードして、確保と解放がきちんと対になっているかを調べられるように実装するのは可能だよな。JavaやC#のガベッジコレクションも考え方の基本はここにあるのかも知れない。
ただ、C++にて配列を確保したり解放した場合は問答無用でグローバルなnewとdeleteが呼ばれるらしい。自前のクラスの配列を用意したときなどはきちんと解放されているかを自分で管理しなくてはいけないのはCと同じところか。
もうちょっとこのことについて気付いていれば今回のC#からC++へのプログラムの移植でもスーパークラスについて考えておいたんだけどなぁ。まぁまだデッドラインまでは時間もあるし、考慮してみるのも面白いかも知れない。
別に凝った機能が必要なわけではないモノね。まーnewとdeleteのオーバーロードあたりでも用意してやりましょうか。仮想関数にしないとまずそうやな。というかそのスーパークラス自体が仮想クラスにしておかないとまずいか。仮想クラスにしたらそこに含まれるメソッドは自動的に仮想関数になると思っていていいのかしら・・・?
もうちょいとC++を勉強する必要がありそうだな、うん。

2007年8月27日月曜日

前々から疑問だったのですが

C/C++で組んでいて、前から疑問だったことがあります。
関数内でmallocなりnewなりで配列を確保し、それをreturnで返すようなものを実装したとします。まぁベクトルの演算を実装する場合なんかが挙げられるでしょうか。具体的には
double* Plus(double* a, double*b, length)
{
double* dst = new double[length];
for(int i=0; i<length; i++)
dst[i] = a[i] + b[i];
return dst;
}
みたいな関数ですね(ホワイトスペースってHTMLでどう書くか忘れた・・・)。こう定義すると、
double* c;
c = Plus(a, b, length);
みたいな書き方ができて多少分かりやすいかなと。関数内で領域を確保するのではなく、予め用意したバッファを引数に与えて実装するという手ももちろんありますが、見た目にどれが結果を格納するバッファか分かりにくいよな、と思っちゃうんですよね。実装するならこんな感じ?
void Plus(double* a, double* b, double* dst, length)
{
for(int i=0; i<length; i++)
dst[i] = a[i] + b[i];
}
見た目だけの問題で実際の処理量や確保するメモリ量に大差はないってのは分かってるんです。ただ、前者の例だと、d=a+b+cみたいな演算をするときに
d = Plus(a, Plus(b, c, length), length);
という書き方が可能です。後者の書き方だと、b+cの結果を一旦保持した上でそれとaの結果を加える必要があるため、変数が余計に必要となります。大した手間ではないと言われたらそれまでなんですが^^;
さて、前置きが長くなりましたが、本題はここからです。C/C++の場合、malloc/newした領域は使い終わったら必ずfree/deleteしましょうというのが作法です。自己責任ですが。ですので、こうした演算処理で確保した領域も用事が済んだら解放しなくてはなりません。
問題は
d = Plus(a, Plus(b, c, length), length);
と言った書き方をした場合の処理についてです。Plus(b, c, length)の結果は変数としてはどこにも格納されていませんから、先の「d = 〜」を実行した後はそのアドレスへアクセスする手段がありません。ですので明示的にfree/deleteできません。
ならばこの処理を延々繰り返すとメモリリークをいずれ起こしちゃうんでしょうか?これが気になってるんですよねー。
JavaやC#のようなガベッジコレクションが用意されている言語なら気にしないのですが、C/C++ではどうなるんだろうと。それとも、メモリリークの原因になるからこういう実装はするなということなのでしょうか? それならそうで、仕方ないので諦めるんですが・・・。
MATLABとかOctaveってどうやって実装してるんだろうなー。あの柔軟な言語体系をどうやってC++で実装してるのか気になる・・・。
あぁ、Octaveはオープンソースだからソースコード手にはいるのか。いやさすがに見る根性ないけれど^^;
ま、当面は少々一時変数が増えようとも確実に自身でfree/deleteできるような実装にしとくべきだろうなぁ。
どういうキーワードで探したらヒントになる実装見つかるかしら?

打つより喋る方が楽

ひょんなことからVelnirとボイスチャットしてました。
というか、Velnirはマイクを持っていないので、私が一方的に話し、向こうはテキストで返事をするという変則的なチャットでしたが(笑)
やってみて思ったのは、
「喋るだけって楽でいい」
ですね。ながら作業で会話できるし、普段通りのテンポで話せるのがステキ。私が持ってるマイクは古くて非常にしょぼくれた代物ですけれど、そんなマイクでもVelnir曰くふつーに聞こえてるとのことでしたので、Skypeが流行ったのも頷ける。
テキストチャットだと、打ち込むときにそのウィンドウに切り替えなきゃいけない。それが手間っちゃー手間ですからねぇ。ボイスチャットならとりあえず喋れば相手に伝わるので便利。テキストチャットはログが残るのでそこはすごく魅力ですけれどね。
今回は私が一方的に喋り、Velnirはテキストで返事を書いていたため、ログがまるで独り言に(ぁ
私は人と話してないと退屈する人間なので、ボイスチャットというのは魅力的。今持ってるマイクはヘッドセット型なのですが、装着するのは邪魔くさいので据え置き型が欲しいところ。やっすーいので構わないのでちょっと購入検討しようかしらw

2007年8月26日日曜日

-10度

今日、本屋に行くついでにPCパーツショップへ寄ってきました。CPUファン用の3ピンコネクタの接続コネクタを買うためです。
今使っているケースには最初から3つのファンがついていました。前後に1つずつと、ケース横のパッシブダクトです。で、そのどれもが3ピンだったのですが、マザーボードの3ピンコネクタは2つしかなく、かつ電源についているコネクタに3ピンは1つもありませんでした。
ということで、どれか諦めざるを得ないので、前後のケースファンに繋いで、横は放置してました。
が、なんか勿体ないなということで、ようやく今日買いに行った次第です。安いもんでした。500円ですね。電源から4つのファンが繋げられるように分岐してました。4つも要らなかったんですけど、それしかなかったので^^;
で、帰って早速接続。でPC起動。今まではアイドル状態で
システム:46度前後
GPU:66度前後
だったのですが、横のファンを稼働させたところなんと
システム:36度前後
GPU:57度前後
と、約10度も下がりました!
驚いたーあたしだけ?
まさか横のファンを稼働させただけでそんなに効果があるとは驚き。騒音レベルもほとんど分からない程度。こんなことならもっともっと早く、というかこのPC組み立てたときに買っておくんだったなぁ・・・。夏本番終わった後だよOrz まぁこれは来年もまだ元気に動いていると思うからいいけどさ。
とりあえずこれで結構冷えてくれるようなので、熱暴走の心配はなさそう。どうやらLinuxでBerylが不安定なのもGPUが熱暴走しているからではないかとの噂ですし。確かに、私が今使っているのはファンレスですからねぇ・・・。今になって思えば、ファン有りでも別によかったかも。大して騒音気にならないや。夜中稼働させるわけで無し。今度組むときはそこいらにも注意しよう。
次に組むとしたらミュージックサーバかな。コンパクトに仕上げて、音楽再生に特化させたいところ。AmarokとかはHTTPで操作できる拡張とかあったりするから、家庭内ミュージックサーバとしては便利そうだ。
ま、就職して、給料入ったら、の話だけれどね^^;

2007年8月24日金曜日

まぁ、充実していると言えなくもない

このところ、
・論文執筆
・それに必要なシミュレーション結果の採集
・執筆内容や方針について教授と相談
・後輩の進捗具合確認
・C#で組んだシミュレーションプログラムをC++へ移植
と、中々に忙しい日々を過ごしてます。移植は家でちまちまと。思ったより早く移植できそうな感じ。油断してたら痛い目見るけど^^;
さらにさらに、このくそ忙しい中、友達から借りてる「DDD2」と「Fate/Zero1〜3」を読んでるという無茶ぶり。というかまぁ、本読むくらいの息抜きがないとやってらんねーよばーろーってとこですな。
おかげさまでここ1週間くらいはほぼ同じ生活サイクルなのでBlogのネタもなく。今朝5時頃、激しい雷雨によって起こされてしまったくらいしかネタがないですね。2時過ぎに寝たのにそんな時間にたたき起こすなよと。あんなに雷にびびったのは初めてかも。かなり近かったからなぁ。おまけに夜明け前?ということもあって雷ですっげー明るくなったからなおびびる。あんだけ激しい雷雨だったのにまったく気付かなかったらしい母親の剛胆さが羨ましいぜ(ぉ
と、こうも忙しくなってくるとむしろ色々とやりたくなってまいりまして。できたらデスクトップアクセサリとしてカレンダーが欲しいなと。簡単な予定管理機能付きの。
これだけなら腐るほどあるんですが、できたらWinとLinux両方で使えるやつ。クライアントそのものが両方で使えなくても、せめてネットワークで同期くらいはさせたい。ローカルにサーバは立ててるので、そこにファイルを置いて同期するようにしてもいいし、GoogleカレンダーやらMSNカレンダー、Y!カレンダーのようなものを利用してもいいかなと。APIがあればですけど。
そーゆー公開されたAPIを使ってアプリを作るってのはやったことがないので、是非ともやってみたいとは常々思ってたんですよね。ただ、アイデアが浮かばなかったんですよ。けど「カレンダー」っていう明確な目標というかカタチが見えたので、ちょっとやる気にはなってたり。
Linuxで言えば、SuperKarambaを使うのが楽そう。Skinはthemeファイルで管理できるし、同期部分はPythonで管理。Pythonを触るいいチャンスかも。
WinではRainlenderがいいかなぁと思ったけれど、あれにはネットワークに対応させるとかそういった機能はないと思うとVelnirが言ってた。ので、Y!Widgetかなぁとか考えたけど、あれはあれでよく分からないんだよなぁ。XML+Javascriptだけど、両方ともよく知らない。ちゃんとしたドキュメントもあるし、サンプルというかWidgetがあるしそれ展開して中身調べて真似したらいいんだろうけど、前にやろうとしてうまくいかなかったのでトラウマが>< なんかうまい手はないかなぁ。
と、ある意味現実逃避してたり。さすがにそんな遊びに手を出す余裕が今のところないんですよねー。C#->C++の移植が片付いたら多少余裕が生まれるかもなので、ほんとに作り始めるとしたらその後か。けど論文書けてもスライド作らないといけないからやっぱり暇はあんまりないかもなぁ。
まーでもスライドはPowerPoint使うし、それは家にないから家で遊ぶ余裕はできるだろう、うん。その時までやる気を持続できているかは甚だ疑問だけれど(笑)
ま、なるようになるかねぇ? さて、今晩もカリカリ移植しましょ。

2007年8月22日水曜日

夕立、虹。

にわかに忙しくなってまいりました。とりあえず、論文投稿のGoサインは出ました。が、その期限が来月末と再来月半ば。どの程度までのデータを揃えるか、ですねぇ。
まぁプログラムは一応できあがっており、後はパラメータを弄る程度なのでさして困りはしないでしょうけれど。大幅なプログラム変更がないだろうと思える分気は楽ですね。データはそれなりに揃える必要がありますが。そこいらは地道に頑張るとしましょう。
幸い、PCは2台所有しており、ディスプレイもそれぞれに繋いであるので、Winでシミュレーションプログラムを走らせつつLinuxで論文を書くという作業が可能です。つかまーそうしないと時間が勿体ないやね。
さらにさらに、共同研究先の企業の方から
「9月末にはプログラムをC#からC++に移植してね☆」
と依頼されましたので、タイトなスケジュールに更に重しがのっかりましたOrz
ま、YesマンなのでNoとは言えないんですけどね;;
移植作業は家でやりますかね。どうせなので零から構成し直す予定。C#で今作っている部品構成を基に、気持ち悪いから直したいと思っていたところを洗い出す。んでもってC++では自分でやらんといかんのでメモリ管理周りをしっかりと整理。まぁ、自分が主に使う部品なのでそこまでシビアにならなくてもいいとは思う。解放し忘れがないようにデストラクタでdeleteをしっかと呼び出さなくては。
ま、とりあえず今週中に部品リストの作成かな。基本部品をしっかりと作っておくとシミュレーションプログラムは部品の組み合わせだけでできあがるからさして難しくはないし。しっかと部品を作ろう。
ま、効率は2の次さね。見通しとバグなく動くことを目標に頑張りますかね。

2007年8月20日月曜日

夕立、なるほど夏らしい

今日も暑いなー、そう独りごちながら母親を連れて車で買い物に行ってきた訳なんですが、そのときにはまさか今日あんな激しい雷を伴った夕立が来るとは夢にも思ってませんでした。
いやーしかしよく雷が鳴ったもんだ。結構近くてびっくりですよ。瞬電にも見舞われたためあえなくPCシャットダウン。PCが強制終了の憂き目にあわなかっただけマシか。
このところずっと晴れてて、雨が降ったら涼しくなるかしらと期待したけど、涼しかったのは雨が降っているときだけでしたね。夕立が去ったら暑さがまた戻って来ました。
まぁ一応暑さのピークは過ぎているらしいので、これからは秋に向かうのでしょうけれど、まだまだ残暑は厳しいですよねー。高校野球も熱い試合を繰り広げてますし。あぁ、某局は熱湯がぬるま湯だったようですけれど?(ぁ
何はともあれ、お盆も終わり、夏休み気分もそろそろ抜いてしっかりしないと明日からが大変そうです。明日ミーティングあるのかなぁ・・・? 学生時代も、お盆が過ぎたら夏休みが終わるまでほんとあっという間だったなーという記憶があります。なんであんなに日が過ぎるのが早く感じたのかと思うほどですね。不思議なもんだ。
私は私で月末には締め切りが迫っているらしいので忙しくなりそう。とりあえず明日教授と相談かなぁ?

2007年8月19日日曜日

う〜んむ、既存のイメージを使うことはできないのかな?

カーネルの仮想化機能「KVM」を使うには
ここに紹介されている方法を使うと、virt-managerを使ってKVMを実行できるようです。まぁその想像はついていたのですが、これはあくまで新規にディスクイメージを作成する方法です。既存のディスクイメージをvirt-managerで管理することはできないんでしょうかねぇ?
virt-managerは中々面白そうな機能を搭載しているので利用したいなーとは思っているのですが、元々Xenのために作られたツールであるため、KVM/QEMUでは利用できない機能もちらほら。まぁ、KVM/QEMUは(このツールで管理するのは)おまけと思っておいた方がいいのかも知れませんね。Xenのイメージを管理するのであれば、VMServerのような管理が可能なようですので便利そうです。
KVM、実行速度には何の文句もないのですが、QEMUがベースな為、ネットワークの構築が難しいですね。VMware系であればNATなりブリッジ接続でホストとゲスト間のネットワーク構築は簡単ですが、QEMUはホストとゲストが基本的には完全に別離されるようです。そのためsmbプロトコルでファイル共有をしようと思ってもやりにくいのが現状。引数に-smbを与えることでディレクトリを共有できると在るのですが成功せず。ここがちょっと利用する際のネックになりますかねぇ。まぁ完全にスタンドアロンで利用する場合であれば問題はないですし、ゲストがインターネットに接続するのは簡単に実現できるのでファイル共有もやってのけられないことはないんですけれどね。ローカルにDNSとFTPサーバでもたてれば完璧でしょうね。そこまでやる意味があるかは疑問ですが^^;
VMwareに対してKVMの最大のアドバンテージはカーネルにマージされていることでしょう。VMwareはカーネルが更新される度にモジュールを作り直す必要がありますが、KVMはカーネルにマージされているためカーネルを更新すれば自動的にKVMのモジュールも更新されます。ちょっとした手間と言えばそうですが、塵も積もれば何とやら。毎度の更新はやっぱり手間ですね。たまにしかVMを起動しないのならなおさら。
仮想化と言えばXenが賑やかだったのですが、このところあまり目立った話は聞きません(ビジネスの話ばかりですね)。あれに比べたらKVMの方が敷居は引くそうですし、ネットワークがもう少し扱いやすくなるとぐんと人気が出そうなんですけれどね。頑張って欲しいところ。
まぁでも、QEMUの最大の利点は各仮想化ソフトのディスクイメージを作成できる点にあるかも知れない(笑)

2007年8月18日土曜日

うまくいっていかなくて

さて。研究を進めないと行けないと言うことで、今日は学校へ行ってきました。
きちんと昨日から
「明日は学校行くぞ!」
と心構えしていたにもかかわらず今朝寝坊Orz 暑いからどうしても6時半くらいに寝苦しくて目が覚めてしまうんですよね(エアコンも扇風機も付けてないため)。で、まだ早いってコトで二度寝するんですが、えぇまぁ、それがよろしくないようでOrz
結局今日は10時前にお目覚め。ちょっと学校へ行く気持ちが削がれた。だってこのクソ暑い中ちゃりんこ漕いで行かないといけないんだものOrz
とはいえ追い詰められているのも事実。ちゃきちゃき飯喰って出かけることに。
出てみると思っていたほどではなかったことにびっくり。まぁすぐにその思いは打ち砕かれたんですが(ぁ とりあえず、駅に着くまでに汗だく、という事態は避けられました。
で、ちゃりんこ漕いで学校へ到着。予想通りむせかえる暑さ。ま、予想通りではあったのでさっさと講座へ。
ここで予想外な出来事が。今日はまだお盆だろうと思っていて、人なんていないと思ってたのにばっちり居ました^^; M1が一人既に来てましたし、B4が二人ほど、そんでもって助教も来てました。まさか来てないと思っていたのでちょっと落胆。ってーのも、誰もいなかったら音楽ガンガンにならしつつ歌いつつ研究できますからね。それができなくて実に残念。こないだカラオケでちょこっと歌ったおかげでがっつり歌いたくてしょーがないんですよねー。機会を逃してしまったぜ。
まぁ考えてても仕方ないので頭を切り換えて研究開始。とりあえず収束しそうなパラメータの目星は付けていたので、それに合わせて他のパラメータなどを調整。まぁ修正はささっと終わり、早速実験。
はい、見事失敗Orz さぁって原因はどこかなーとあぁだこーだしてるうちに、原因発見。まぁ原因は簡単で、とある処理を回す回数が少なかっただけでした。固定値与えてたのが悪かったかな、ということで別パラメータに関連づけておきました。チューンナップするときにそこの最適値は見極めるとしましょう。今はとりあえず動けばよい(ぉ
でまぁ見た目には動いてくれているように見えました。が、実際どうかは分かりません。というのも、理屈の上ではある程度期待通りの結果を得ているのですがそれを数値的、あるいは視覚的に評価できていないからです。ってまぁそれを評価できるようにするのももちろん自分の仕事なのですけれども。
で、見た目に訴えるのが今回の研究では一番分かりやすかろうということで、フィルタ係数を書き出してMatlabに流し込み、グラフを描画させようと思い付きました。で、フィルタ係数を書き出すためにStreamWriterクラスのインスタンスを係数の個数分用意してforでぶん回したんですが、ここでトラブル発生。なんと正しく書き込まれていない。ファイルにではなくコンソールに書き出したらきちんと実行するのにファイル書き込みにするとうまくいかない。
最初はUSBメモリ上から実行&書きだしを行っているからとか思ってたけど、どうもそうじゃないらしい。結局そのバグ?の原因が分からず今日は帰宅。
ちょっと今回は解せないかなぁ。なんでファイル書き出しに失敗したのか。8つストリームを開いたのですが、そのうち4つしか書き込めておらず、それらも完全ではないという始末。しかも書き込めていなかった4つのストリームを残し、他の4つのストリームをコメントアウトしてもやはりそれらのストリームには書き込まれないという謎。ファイル自体は生成されるのですが中身は空っぽ。forは実行されているし、StreamWriterのインスタンスをConsoleクラスに書き換えたらきちんとコンソールには書き出される。つまりはStreamWriterのインスタンスがなにやらおかしいということなのですが・・・。
ちょっと今は手が出せない状況。これが書き出せないとちょいとめんどうなんだけどなぁ・・・。どうしたものかしら。う〜ん・・・。

2007年8月17日金曜日

さて、明日は学校行ってみましょうかね

家にメール転送するのを忘れていたため、そろそろメールチェックをしないと怖い、そんな後ろ向きな理由だったりはするのですが^^;
それと、家にいては確実に研究なんてできねーYO!というのもあります。やっぱ家は休むところなのですよ!
と、いうわけで。今日はのんびり過ごしてました。まったりですね。まぁネットサーフィンなんかしながら、ふと、どうして音楽CDの値段は下がらないのかなーとか疑問に思ったり。媒体の値段は昔に比べて下がったと思うんですがねぇ。そもそも、曲が2,3曲しか入ってないのに12cmである必要があるのか疑問。昔はシングルと言えば8cm、アルバムが12cmだったんだし、今もそれでいいんじゃないかなと思う次第ですよ。まぁ、スロットインタイプや縦置きタイプのCDドライブだと8cmは規格外な為扱えないのでしょうけれど、ならいわゆるアダプターみたいなのが出てもいいモノなのに。なんか釈然としないんですよねー。
まぁそれはさておき、今日は部屋の整理をしようかなと思っていました。思っていたんですが実行できず。と言うのも、以前部屋を模様替えした際にまとめておいた本やら本棚がまだ部屋に置いたままなんですね。それがあるなか更に整理したところで余計に部屋が狭くなる、と言うことで部屋の整理は断念しました。いい加減、モノを減らそうと言う考えが頭に沸いてきてくれて居るんですけれどね。現状が追いついてくれません^^;
また、情けないことですが、分別も余りよく分かっていないというのがあります。古いPCパーツ(CPUやM/Bなど)は燃えないゴミでいいのか、つーか捨てていいのか、あんまよく分かってません。むむむ、将来的には一人暮らししたいなーと思っている自分にとって余りよろしくない事態。きちんと母親にでも確認しないとですね・・・。
そんでもって今部屋にある邪魔者を片付けた暁には、なんとかつり下げてる冬服たちをしまい込みたい所存。ほとんど着ていないモノなんかもあるのでそのあたりはぱぱーっと処分かな。いっそのこと捨ててしまっても構わないでしょう。古いためバザーとかにも回せないですし。
このつり下げている服があるため、私の部屋に圧迫感が生まれてしまっているのですね。これをなんとかすれば私の部屋も少しだけ明るく見えるでしょう。いえ、狭い上に大きな洋服ダンスが2つあるのでやっぱり圧迫している感はあるんですけれどね^^; 地震の時は大変そうだ。
とりあえず、冬に衣替えをするときがチャンス。ごっそりと片付けてしまいましょう。住みよい部屋作りを目指すぞー!w

2007年8月16日木曜日

昨日は飲み会でした

さてさて、昨日は講座の面々との飲み会でした。私の同期、1つ上と1つしたの面々を召還。既に卒業した人たちも合わせて18名集まりました。ほんとは2つ上の先輩も声を掛けていたのですが残念ながら今回は都合がつかずでした。
今回でこの集まりを企画するのも2回目。前回同様三ノ宮での開催だったのですが、幹事の私見事に道に迷う(ぉ まぁ筋金入りの方向音痴ですからね。そりゃちゃんと地図は印刷していきましたが、そんなものが大して役に立つわけもなく。己の情けなさっぷりにむしろ楽しくなりながらあたりを散策しておりました。
まぁ、道に迷うことも勘定に入れて駅の到着時間を決めておりましたのでそこまで焦っては居ませんでした。ま、3分ほどあたりを見回した時点で地図から目的地を割り出すことを断念。早速EZナビウォークを起動。現在地を確認。幸か不幸か、現在地は考えていた場所とほぼずれはありませんでした。で、進もうとしていた方向もとりあえずは合っていました。細かい場所はまだまだよく分からなかったので、EZナビウォークを起動したまま移動。
これは何がいいって、きちんと移動すると現在地もそれに応じて移動してくれる点ですね。おかげで大体の場所は絞り込めました。
そして店の近くに到着。ただ、あたりを見渡してもそれらしい看板が見あたりません。これ以上はナビウォークを見ても絞り込めないため、足で稼ぐしかないなぁとか考えつつ、時計に目を落とすと集合時間直前。こりゃちょっとまずいなぁ、どうすっかなぁときょろきょろしてると、ふと見知った顔を発見。私より先に到着した面々が集まってました。いやー、助かった(笑)
久しぶりに再開する面々や大学で顔を合わせている面々に挨拶しつつ、全員集合を待つ。ちらほらとみんな集まり出すとやっぱりわくわくしてきますね^^
今回は私の1つ下の面々も読んだため、私の同期で既に就職した面々とは初顔合わせになります。みんなノリのいいメンツばかりなので、さほど心配はしていませんでしたが、それでも一応気がかりではありました。
が、始まってみると杞憂でしたね。ちょっと座敷の席配置がよろしくなかったりしましたが、それなりに入り乱れておしゃべりは出来ていたんじゃないかなと思います。相変わらず私は弄られっぱなしでしたがw まぁ私だけでは悔しいのでRyoちんやらに矛先を向けてみたりしてましt(ry
ゆっくりしゃべれるようにと飲み放題3時間取っておいたのは正解だったかも。みんな楽しそうで何よりでした。幹事冥利に尽きますね^^
唯一の心残りと言えば、女の子が一人先に帰っちゃったことでしょうか。用事だったようですが、楽しめたかちょっと心配。一応フォローのメールは送っておいたのですが・・・。楽しめていたのなら幸い。つまらなかったのなら、次は頑張らなくては。
また、何人か要望みたいなのも出してくれました。先生も呼んで欲しいというのがあったので、それは是非とも私も実現したいところなのですが、実現できるかなぁ^^; 私としても、自分が卒業した後、こうやってみんなと集まる機会が在れば先生とも話をしたいなぁとは思いますね。聞けばそういった先生もお呼びする同窓会みたいなのは特に開催していないようで、年に1度くらいはお呼びしてみたいなとは思いましたね。私らだけで集まるのは年に数回企画できますし、そのうちの1度くらいは先生をお呼びするのも楽しそうです。またみんなに相談して呼びかけてみるとしましょう。
で、3時間の楽しい飲み会の後はちょっと人数減って2次会カラオケ。2次会から参加してくれるというナイスガイを一人加え(ぇ、なぜかカラオケでは大王の意向に沿った選曲をみんなでしてましたw まぁ私としては空気読んだ選曲(ぉ)をすると必然的に90年代後半あたりに固まるため大王の意向にほぼ沿った形でしたね。今回は暴走列車よろしくはいきませんでしたよ?えぇ(笑)
で、楽しく2時間のカラオケをしてお開き。いやー、是非ともまた開催したいし、来年度以降もやってもらいたいなと思う所存。今年度開催できるとしたら年末年始くらいだけど、どちらも忙しいと断言してた人がいるからなぁ・・・。なんならもうみんなで講座で年越すか!?
なんかそれ企画したら数人乗ってきそうで怖い(笑) まぁそれはそれで楽しいですが・・・、ま、それは別として何か企画できないかは考えておきましょう。
ま、なんだかんだで私は幹事を楽しんでいるのかも。集まってわいわいやってるのを見るのは楽しいし、みんな楽しんでくれて居るみたいですしね。今年度いっぱいは、頑張ってみますか!

2007年8月14日火曜日

これってOOoの意義が薄れやしないだろうか・・・?

Microsoft Office互換の有料ソフト「StarSuite」をGoogleが無料で配布
StarSuiteは元々シェアウェアで、それのオープンソース版(もちろん機能やアートワークなどが制限されている)がOpenOffice.orgという位置づけだったわけですが、StarSuiteが無料で配布されるようになるとOpenOffice.orgの存在意義がかなり薄れてしまう気がするんだよなぁ・・・。 そりゃ、オープンソースだからLinuxディストリビューションに最初から組み込んでおけるというメリットはあるのだけれど、逆に言えば後からインストールすることが苦ではないのであればGoogleの提供するStarSuiteをインストールすれば済んじゃいますしね。
確か今のところGoogleパックはWindowsのみのサービスだったとは思いますけれど。
互換性をあまり気にしないのであれば、文書はOOoでも十分出来映えは綺麗です。表計算においても十二分の能力を持っています。Officeスイートとして性能は十分持っているのですが、いかんせん動作が遅く、もっさり感が否めないかなーとは思いますね。
私はオープンソース推奨派で、へぼユーザが扱う程度の機能が組み込まれているならオープンソースのソフトで十分だ、と考えていますし、実際無料ソフトやらなんやらで固めています。それで特に困ることもないのですが、OfficeはやはりM$ Officeが強いですね・・・。
私は(今のところ)文書はTeXで書くのでOfficeのお世話になるのはもっぱらスライド作成の時です。ここでOOoとM$ Officeを比較すると、どうしてもM$ Officeに軍配が上がります。後者の方がストレスが少ないですね。動作がきびきびしてますし、ある程度は思った通りに動いてくれます。OOoは時にこちらの意図しない動きをすることがあるので^^; バグなのかそれともこちらの操作が悪いのか、編集画面で見たときとスライドショー実行時に見たときとでレイアウトがまるで違うことがままあるんですよね。でまぁ、ごまかしごまかしやっていたのですが、さすがに疲れてしまい、今はM$ Officeを使っています。ちょっと負けた気分ではありますOrz
また、意外(?)なことに、OOoのプレゼンソフトではEPSを貼り付けられません。オープンソースのソフトの割には珍しい気はしますね。SVGがいけるというのに。PowerPointはEPSを貼り付けることが出来ます。M$製にしては珍しい?
TeXで文書を書くため、画像にはEPSを使うんですよね。なのでEPSがそのまま貼り付けられないというのはすっごいストレスになります。わざわざ別形式に変換しなくてはいけませんから。できたらスケーラブルな方が綺麗ですので、大抵はSVGに変換するんですが、それを貼り付けても編集画面とスライドショー実行時とでは見え方が違うという事態に。これじゃちょっと使いづらいですからねぇ。
まぁさらに根本的な問題として、文書は印刷してしまえばTeXだろうとWordだろうと問題はあまりありませんが、スライドはノートPCにファイルを移して実行することがほとんどです。つまりはそのノートPCにOOoをインストールしておく必要があります。ほとんどの人がM$ Officeの中イレギュラーなことをするのは当然余り歓迎されません。うちの講座はみんな優しいので私一人がOOoであっても受け入れてくれましたが、一般にはそうはいかないでしょう。TPOはわきまえないと行けませんね。
ということで、ちょいと脱線してしまいましたが、StarSuiteにしろOOoにしろ、リンク先にもありますように、互換性などをシビアに考えなくて言い場合にはコスト面で有利な選択肢になり得ると思います。逆に相手先とファイルのやりとりをすることがあるとか、コスト面を気にする必要がないのであればM$ Officeを用いるべきでしょう。
棲み分けってのが大事ってことでしょーね。

2007年8月13日月曜日

昼間にBlogとかどんだけ〜

と、思わなくもないですが^^; まぁ休日だから出来る芸当かもですね。相変わらずヒッキーです。夕方にはちょっと100円均一でも出かけてこようかな。部屋の整理をするついでに収納グッズやら小物やらを買い込もう。Viva100均!
さて、本日一応作りたかったプログラムは完成しました。が、挙動はどうなんでしょうねぇ・・・。かなり不安定と言わざるを得ない。おおよその目安はついたけど、これで大丈夫という保証がないのが難しいところ。かなり安定性が系に依存してるからなぁ。逆フィルタってそんなもん? ちょっとシミュレーションの時は気をつけないと。
あと、今回出した目算がある程度正しかったとすると、消費メモリ量が半端無いんだよなぁ・・・。こればっかりはしょうがないけど、どうにか克服しないとな。やっぱFFTじゃなくてシステム同定でやった方がいいんじゃないか? 少々複雑にはなるけど、メモリ量はかなり抑えられるぞ、うん。
さてさて、相変わらずLinuxのXは不安定ですが、ひょっとするとという原因が見えつつあります。今日もデスクトップがお亡くなりになったのですが、どうやらDBUSが応答不能になってしまっているっぽい。DBUSがどのようなデーモンなのかは私は余り知らないのですが、どうやらKDEのDCOPに影響を受けて作られたデーモンらしいです。DCOPはかなり便利ですからねぇ。それと似たようなデーモンがCDEの種類を問わず扱えるようになるとそりゃ便利だと思うし、そもそも*nixに限らずWindowsにも移植予定があるとか。技術自体は凄く楽しみなんだけど・・・、まだまだ出たばっかりのデーモンだからあまり安定していないのかも。
MatlabのスクリプトはScribesというアプリで書いていたのですが、デスクトップがお亡くなりになったとき、Scribesが落ちちゃったんですね。で、もっかい起動しようとしても起動しない。エラーには「DBUSデーモンに接続できない」的な内容が。
ということで、DBUSのせいかも知れません。ただ、今後もKDE4でもDBUSを採用、xorg.confをDBUSによって動的に作成というふうにDBUSを利用していく方向でシフトしていくようですし、そう簡単にデーモンを停められない状況だったり。
う〜ん、DBUSの設定ファイルをちょっと洗ってみた方がいいかな〜? ひょっとしたら.rpmnewが転がってるかも知れないしね・・・^^;
しかし、yumでアップデートしたとき、rpmnewが大量に出来るときとか在るけど、やっぱあれは手動で修正しなくてはならないのかしら・・・? 正直面倒だからって放置してたけど、それが災いを為していたりするのかな・・・?
一体いくつあるだろう.rpmnew・・・。ちょっと夏休みのうちにチェックしておいた方がいいかな?かな?^^;

なんという猛暑日

なんというか、今年は冷夏だって予想もあったりしたのになんだこの暑さ。いやまぁ夏は暑い方がそれらしいけどさ。この暑さはだれるなぁ・・・。
とりあえず今日は(私にしては)休日にとは思えないほど早い時間に起きてました。といっても9:30ですけど^^; そっから朝ご飯食べて、今日もLinuxにてMatlabのお勉強。今日は割と捗ったかな。関数の作り方を覚えました。まぁこれで正しいのかは分かりませんが、スクリプトファイルの先頭に関数ファイルをsourceコマンドで呼び出すようにしています。includeみたいなイメージなんですけど、合ってるのかしら? まぁ動いてるんだしいいか。
Cとかだと関数の引数は型をしっかりと指定しなくてはいけないけれど、Matlabだとそのあたりは割とおざなりなのね。評価は実行時ということらしい。作る側はいいけど、使う側はドキュメントがないとしんどそうやなとは思った。Linuxで作ってるとエンコーディングがUTF-8になっちゃうからなぁ。窓もUTF-8にして欲しいもんだぜ。けどコメントは残しておかないと苦しそうだ。引数の求めている型がわかりにくいからね。
で、作業していたんですが、ちょっと今日はXがご機嫌斜めだったらしい。デスクトップ上のアイコンと壁紙がお亡くなりに。まー別段困るわけでもないので放置していたのですが、3時間後くらいにXがお亡くなりになりました。その後も再ログインして頑張ってたのですが、今度は完全にKDEがお亡くなりになってしまったので今日のお勉強はここまで。窓に切り替えました。
ん〜、一時は安定してたのになぁ。今回の不安定な原因はBerylだろか・・・?
ただ、分からないのは、大学のFedora7は安定に動作しているということです。同じFedora7にも関わらず私の家のPCはなんでこんなに不安定なのかと。
ま、家のPCと大学のPCとで大きく違うのはメジャーアップグレード回数ですね。大学のはFedoraCore6からFedora7へアップグレードしただけですが、家野はそれこそRedHat9(ひょっとして8からだったかも)からず〜っとアップグレードで来てますからねぇ・・・。古い設定ファイルが悪さをしている可能性ももちろんあったり。ただ、xorg.confファイルは何度も作り直してるからそれは大丈夫だと思いたい。KDえ絡みかX絡みか・・・。どっちにしろ、根は深そうだ。
Gnomeだと問題は起きないかも知れないけど、それを確かめたことはなかったり。ちょー偏見だけど、KDEに慣れてしまった以上Gnomeは使いづらいんだよねぇ。ならなぜにFedoraを使っているのだと突っ込まれそうだけど。今更他のディストリビューションには移れないのよなぁ。慣れちゃったし。openSUSEとかちょっと気にはなるけどね。最新のはKDE4を搭載したらしいし。Fedoraだと8に搭載してくるのかなぁ?楽しみにしておこう。
さて、明日はどうしたものかな。Linuxの調子さえ良ければ作業を進めたいんだけど・・・。お尻に火がついてるし、何が何でも頑張るしかないか!?><

2007年8月12日日曜日

お盆だ!時間をどう使おうか

とまぁ、何をしようというよりやることがたくさんあると言った方が正しそうですが^^;
とりあえず、研究の方を進めておかないとまずそうなので昼にちょっと研究。今はC#で組んでいたけど、Cで組んでほしいと要望を受けてしまったので言語の変更を検討中。ガベージコレクションを当てにした組み方してたからなぁ。変更点は結構大きそうだ。
ついでに、どうせならということでMatlabで組めないか思案中。C#は敬遠されるけれど、Matlabならまだいくらか見てもらえそうだし、実際グラフ描画とかが楽にできるから覚えたいのも事実。
が、やりたいことと知識のギャップが大きく、まだまともに組める状態に無かったり。特に構造体の定義やら関数の定義がよく分かってない・・・。構造体はスケルトンを定義することは出来ないのかしら? 関数は比較的理解はしやすそうだけど、構造体が今ひとつ。泥臭くなら組めるけど、それじゃあねぇ・・・。もう少し調べてみますか。
さて、Matlabは高価過ぎて持っていないので、互換のOctaveを使おうとLinuxにログイン。先日更新した際、Xに不具合が起きたのか、やたらめったら不安定になっていましたが、今日の更新でどうやら改善された模様。久々に安定したLinuxを扱いました。おそらくxinitのパッケージに何か問題があったのでしょう。ここ数日で2回ほど更新されていましたし。違うかもしれないけどまぁいいや。とりあえず安定に動いてくれたら。
そんなこんなでLinuxで作業している折、ふと窓でアップサンプリングしたwavが聴けるのかと思って試してみることに。
が、どうやらアップサンプリングしたwavファイルは削除してしまった模様。それじゃつまらないよなということで、Windows用のFUSEをLinuxにポーティングしてみることに。実際、仕様しているライブラリはFFTWなどLinuxでコンパイルできるモノなので、少しの変更でなんとかなるだろうとレッツチャレンジ。
実際、それほどの変更を必要とせず、コンパイルは通りました。窓用のヘッダとかはコメントアウトしちゃいましたが^^; で、ついでにマルチスレッド化もしてみたのですが、どんくらい早くなったんだろう?^^; 効果のほどはよく分かりませんでした。
というかそもそもこれが窓用のFUSEと同じ動作をしているか保証はないんですよね(ぉ 今度同じ条件で変換したファイルのdiffでも取ってみよう。聴いた感じではちゃんとアップサンプリングされてるみたいだけど。
ただ、面白いことに、今私が使っているソフトやコマンドでは176.4kHzのwavファイルは再生できませんでした。辛うじてmplayerが再生できたくらいかな?なんかやたらとエラー吐いてたからあれもあんまりよろしくはなさそうだったけど。
なのに、それをOggに変換したら再生できるこの不思議。ファイルサイズ的にもwavは苦しいからなぁ・・・。TTAとかFLACという手もあるけど、今の音楽パーティションにそれだけの余裕はない・・・。HDD安いから買い足してもいいけど、壊れた訳でもないからなぁ。ただでさえケース内のファンを極力動かさないようにしてるんだし、これ以上熱源は増やしたくないや。
とまぁ今日はこんな一日。明日はどないして過ごそうかなぁ。多少は外に出るべきだと思うけど、こうも暑いとそんな気になれないわ^^;

2007年8月11日土曜日

研究会でした

今日は研究会ということで淡路島に行ってきました。ほんの2日前にみんなで淡路島の海へ行ったのでまた淡路島かよ!?という気もしますがまぁ決まっていたことなので仕方在りません(苦笑
今回は電車と高速バスを乗り継いで行きました。いやー、淡路島って近いですね!電車と高速バスで1時間くらいで到着しました。高速バス素晴らしいね。
会場は淡路夢舞台国際会館。綺麗な建物でしたね。花博の跡地に建てられたとか何とか。
私の大学からは私とniku、さらに3講座のM1が1人と計3人出席してました。私とnikuはスラックスにYシャツ(ネクタイは無し)って格好で行ったんですが、他の大学の学生はほぼみんな私服でした。平服でいいとは聞いていたけどほんとに私服で良かったのね^^; まぁこの格好がある意味無難でいいんですけどね。
今回の研究会は形式張ったモノではなく、他大学の学生との交流を図ろうという目的で行われたモノでした。ということで発表者の年齢も近く、気軽にセッション出来たのがよかったです。ポスターセッションで、1セッション90分だったんですが、案外あっという間でしたね。特に自分がポスターで説明をしているときは
「あれ?もう終わり?」
と思えるほど充実していたようです。私と同じようなジャンルの研究もちらほらと見つかりましたし、私は計算機上のシミュレーションが主だったところをDSPで実装していたりしていたので興味深く聞かせていただきました。やっぱり実機で動かしていると説得力が違いますしね。懸念するのも処理量の方で、いかに処理を軽くした上で効果を得るか、そこのせめぎ合いといった感じでした。
私の場合はPCでゴリ押して構わないので理論が正しいことを示そう、その後改良を加えて軽量化を図ろうというスタンス。地道というか、リソースは後回しといった感じですね。
印象深かったのは、DSPを使っている学生の方たちはPCでの実装はほとんどやったことがないので分からないと言うことでした。私は去年DSPに悪戦苦闘したので、やはり受け継がれるノウハウがあるか無いかで大きく違ってくるのだなということは感じましたね。最初からDSP使ってたらそっちは嫌でも慣れるのだろうと。
また、去年私が実装しようとしていたDSPは浮動小数点型だったのですが、やはりあれは処理速度が遅いようです。今回発表されていた方たちはそれではなく固定小数点型のDSPに移植するという内容の発表でした。しかもそのDSPはアセンブラよりCで組んだ方が最適化されやすいという代物らしいです。最近のDSPってのは面白いもんだなぁ。
けどCで固定小数は直接扱えないので、やはりshort型やらint型を使って演算するようです。除算は今のところ行っていないとのことでした。私のアルゴリズムでは除算が必須になるので、DSPでの実装は難しそう。固定小数では精度が足りそうにないですね^^;やっぱり何かしらアルゴリズムの改良が必要になりそう。後輩に頑張って貰うとしますか(ぉ
とまぁこんな感じで中々楽しめた1日でした。いい刺激にはなったかな。お盆休みのうちに、多少は研究絡みのお勉強もしておこうかしら。

2007年8月9日木曜日

夏だ!海だ!日焼けだ!!!Orz

といったわけで、今日淡路島の慶野松原海水浴場へ行って参りました。
大学の同期連中合計6名での海水浴!とりあえず待ち合わせが駅前に9:30でしたので、9時10分頃に家を出ようと思ってたんですね。
で、下駄箱でサンダルを拾ってさー出かけようと思ったそのとき!!!!!
サンダルがないOrz
なぜかサンダルが見つからない。下駄箱にあるだろうと思っていたサンダルが何回やっても何回やっても見つからない。
箱の中も探してみたけど見つからない。時間がおしてくる。焦る。仕方ないので遅れるとメール。探し続けても見つからない。
自分の分はどれだけ探しても見つからないくせに中学生くらいの時に使ってたビーチサンダルなら見つかるというこの訳の話からなさ。
待ち合わせの時間になってしまったので諦めてそいつで妥協。それを持ってとりあえず駅前にDASH!私の家から駅までは走れば6分程度で着くのでそこまで遅れずに済みました。
とりあえず遅れたことをわびつつ合流。ここからはかくっちの車に乗って出発。カーナビもあるのでお気楽しゃんしゃんですね。カーナビはやはり偉大だ・・・。
そんなこんなで高速乗りながら明石海峡大橋を渡って淡路島到着。途中昼ご飯を調達しにコンビニへ寄ったのですが思わぬとらぶるてりぶるあくしでんと!予想外の雨^^;今日は天気えーはずやったのになーと思いつつもコンビニへ。
とりあえずお昼ご飯にとチョコチップスティックパンと小岩井コーヒー買っていきました。みんなもめいめいのお昼ご飯を購入しいざ海水浴場へ!
その頃にはほぼ雨は上がってました。
海水浴場へ到着。思ったより混んでなくてよかったですね。少なからず多すぎず。ちょうどいい盛況具合でした。貸しテントを借りて着替え。日焼け止めはVlenirに借りました。身体は焼けて真っ赤になるのがいやだったのでTシャツを着たままで泳ぐことに。捨ててもいいようなボロシャツを持って行きました(笑)
さらにさらに、浮き輪大小とビーチボール、マットを膨らませていざ海へ!
冷てぇ!!!!!!!!!!!!
いやーさすが海。冷たかった(笑) いえ、気温は十分暖かかったし、日も照っていたのですが冷たかったですね。ぬるいよかよっぽど海っぽいですが(ぉ
とりあえず筋がつってしまわないように準備運動。えぇ、もうおっさんですから^^;
そして再び海へだーいぶ!私は浮き輪大にてぷかぷか浮かんでました。
ここで再びとらぶるてりぶるあk(ry
なんとビーチボールがあっけなく海に流されていきました(ぁ 今日は風が結構強く、浮かんだビーチボールがものすごい勢いで沖へ流されて行っちゃいましたね^^; みるみるうちに遠くなって、ブイ越えちゃいました。さらばビーチボール;;
その後は浮き輪に捕まっててけとーにゆらゆら泳ぐというか漂ってました。風が強いのですぐ流されちゃうんですよねぇ。びっくりだ(笑)
そこでふと思った。割とすぐに足がつかないくらいの深さになったのですが、ここで足がつってしまったら確実に溺れるよなーと。私は泳ぐのは苦手なので浮き輪にしがみついてましたねぇ^^; ほんと海難事故には気をつけなくてはいけませんものね。
1時間ほど泳いでから貸しテントで一旦休憩。というか疲れた(ぉ 体力ないなぁとか思いつつ横になって休んでました。
結果的にそれが仇になろうとは・・・。
2時間ほど休憩していたのですが、、そのときに足だけ日に当たってたんですね。おかげで足だけ真っ赤に日焼けしちゃいました・・・Orz 今もヒリヒリと痛いです;; まぁ全身焼けなかっただけマシと考えるとまだ幸せでしょーか。痛いことに変わりはないですが(苦笑
その後せっかくだからもう少し海に浸かってこようということで再度海へ。
そこでさらなるとらぶるてりb(ry
なんとサンダル崩壊(ぇ まぁ年季入りまくりでしたからねぇ。足のひもが切れたとかじゃなくて、足の裏が剥がれました。えぇ、予想外の壊れ方でしたね(笑) なんつー壊れ方だよと。しゃーないので捨てて帰りました。ある意味荷物が減って良かったかも。
帰りはやはりみんな疲れていたので行きに比べたらテンションは低めだったかな? まーみんなえー年や
そんで地元のさいぜりやで晩飯。あそこは適度に安く適度においしいからありがたい。水が少しまずかった気がするが気のせいかな・・・? ドリンクバー頼んでおくべきだったかも。
とまぁこんな一日で楽しめました。足の日焼けだけが今も痛いです(苦笑
さぁ、明日からまた通常営業。頑張りますぞー!

2007年8月7日火曜日

この夏初めての

スイカを食べました。いやーやっぱ夏と言えばスイカですな。とりあえず1切れだけでしたが、まだあるようなので近いうちにまたありつけるかな。
ただ、スイカって食べ過ぎるとお腹下すから要注意なんだよなぁ。おいしいし好きなんだけど・・・、難しいところだ(苦笑
明日は教授と一緒に会社訪問。実験風景を見せていただけると言うことで楽しみです。ほんとは教授が呼ばれていたのですが、
「こでさんもどうですか?」
と言っていただけたので、社交辞令を真に受けて参加することにしました(ぇ 恥はかきすてと言うことで(笑)
実際にどのように聞こえるのか興味はありますしね。分かっていれば発表の時などに説明に具体性が付けられますし。
さ、頑張って行ってきましょーかね!

2007年8月6日月曜日

デジカメ買ってきました

といっても私個人のモノではなく家族共用分です。前買った分はもうかれこれ5,6年前のもので、大きいし、解像度も低いしということで、そろそろ新しいのを買おうかとなったわけですはい。
母親が家でプランターに色々植物を(なんつーか見境無く?)育てるのが趣味で、花が咲いたり実がなると写真に納めるんですね。かといって古いデジカメですので大きくて手軽に取るには不便。つーわけで私の使い古しのケータイをデジカメ代わりに使っているのですが、そこはやはりケータイ。やっぱしょぼいんですなぁ。
そいで、今日てきとーに見繕って買っていこうとあいなったわけです。私はただの付き添いで、親父と買いに行きました。
事前にチラシチェックはしていたのでおよそ相場と予算は決まっておりまして、あとは実際にモノを見て決めようと言うことになりました。普段使うのは母親になるだろうということで、ボタンは大きめ、ごちゃごちゃしてないやつを探しに行きました。
で、店員に色々聞きつつ、買ったのはオリンパスのμ760。23000円でした。まーまーのお値段かな?
機能的には平々凡々、まぁ普通がステキということで。
私は完全ノータッチ。母親は「薄くて小さいのがいい」と言ってましたのでもっとうすちーさいのはあったのですが、コストパフォーマンスを考えてこれにしました。ただ思ったのは、どれ買ってもハズレはないやろと。写真に関しては家族全員素人ですし、手ぶれ補正でもついててくれればそれで十分でしょうと。
にしても安くなったもんだなぁ。500万画素程度でいいなら1万円くらいで買えちゃうんですね。今度個人用に買おうかしら。500万画素もあれば十分だと思うんだけどw
基本的にカメラ探しは親父が店員と相談しながらやってたので私はちょいとケータイコーナーへ。最近のケータイはどんなんかなーと思ってauコーナー見てたのですが、デカイ!分厚い! このところ大型液晶が人気ですし、ワンセグとか機能満載なのでどうしてもデカくなるみたいですな。auの今のトレンドは多機能でデカイということのよーで。ふむぅ、買い換えはもう少し控えよう。値段としては1年過ぎてたらそれ以上は大差ないみたいだったし。
今度ワンセグつきのを買ったらもうそれ以上の機能はいらないし、長く付き合いましょうかね。それともワンセグなんていらんかなぁ・・・? どないやろ。今使ってるケータイがかなり薄いからなぁ。カメラ壊れてしまったのが難点やけど。
カメラ修理して貰ってこれを使い続けるかねぇ・・・。積極的に買い換える理由がないなら見送るか。

2007年8月5日日曜日

時は満ちた!

昨日台風でお休みしたので、今日は挽回と言うことで休日出勤。
休日は誰もいないからステレオ音量最大ではっはーんと音楽聞けるのでお気楽しゃんしゃん。
と思ってたんですが午後になって後輩登場。まー気にせず音楽聞いてましたが(ぁ 途中で自分の作業が飽きてきたので後輩の進捗具合を聞くフリをして世間話へ(ぉ
そこでまーだべくってましたらなんと教授が登場。うちの教授は休日だろうと基本的に毎日来てらっしゃるのは知っていたので登場すること自体はそんなに驚かなかったのですが、来た理由に驚き。
なんと、C言語についての質問でした。私が学部生の頃から「C言語覚えたい覚えたい」と仰ってましたが、忙しくて実践できず。今日になっていよいよ実践に入ったと言うことらしいです。
「1日で覚えるC言語」
と言う本を実践しているようで、ほんとに1日で片付けてました(笑) よーやるわ・・・。その本によるとexit()関数はstdlib.hを呼び出さずに使える実装系が多いと書いてましたが、それは仕様ではないのだから書くべきじゃないよなとか思ったり。まーコンセプトとして1日で覚えるC言語だし、余計なことは書きたくないのだろうとは思ったのですが、ぶっちゃけそんなあいまいなコト書くよりstdlib.hインクルードしとけよとか思いましたね。その方がトラブル少ないだろうがと。
実際教授はサンプルコードがコンパイル失敗して結構悩んだらしい。答えは簡単、本に書いて在るとおりに組んだらexit()関数がリンクされずエラー。stdlib.hをインクルードしなさいと。仕様には従いましょう!
その後も数回質問にやってきました。
「ファイルを読み込もうと思って、デスクトップのところまでのフォルダの名前をずらずらずら〜っと書いたんやけど、これなんでかそんなファイルないって言われるねんけどなんで?」
「あぁ、区切りの円マークが1個じゃだめなんですよ。改行とかの特別な命令を書くときに円マーク使うんで、特別な命令なのかそうじゃないのか判断つかなくてエラーになってるんです。円マークを全部2つ続けて書いてください。うまく行くはずです。」
「うまくいったうまくいった。次やねんけど。」
「あ、うまくいきましたか、それはよかったです。」
「ファイル置いてるフォルダがふかーいところにあって、横に長くなるから途中で改行したいんやけど、どうしたらいい?」
「ん〜、普通に改行できませんか? ちょっと普段やらないので自信はないんですが・・・。
それより、Cドライブ直下にファイルを置く方が楽だと思いますよ?」
「あぁそう? あぁなるほど。確かにそっちの方が楽やな。そうしようか。」
「はい、せめてディレクトリ1個とか。そうすればタイプ量も減りますし、横に長くもならないです。」
「はいはい、ありがとう」
とまぁこんな感じのやりとりをしてました。この間ずっと私が対応してしまったので、次来たときは後輩に相手させようと言うことで私はスルーしてみることに。
案の定(?)教授はまたやってこられまして、私が調べ物をしていたので後輩に質問。
「グラフを描くソフトに読み込ませるファイルを作りたいんやけど、それはX軸とY軸のデータが必要になるんやわ。でも前に学生から貰ったデータはX軸のデータはあるけどY軸のデータがない。せやからX軸のデータ列の手前か後にY軸のデータ列を追記したいんやけど、ファイルオープンの追記モードは違うやんな?」
おぉ、教授鋭い。仰るとおりっす。追記モードはUNIXでいうところのcatコマンドで、教授がなさりたいのはpasteコマンドなんですよねぇ。つかUNIXだとコマンド一発・・・と答えたかったけどここはぐっと我慢(笑)
後輩に任せてましたが後輩はしっかと答えてました。うん。感心感心。
とりあえずこの土日の間に学習同定法くらいは作りたいみたいです。まーあれが作れたらほとんどどのアルゴリズムも実装できますしね・・・。私達より開発早そうで怖い(笑)
まぁ、私は無駄にC#とかで組んでるので教授はかなりプログラムに関してはノータッチでいてくれたりします。というか、私はすげーややこしいことをしていると思っているそうです。いやそんなにややこしいことはしてないんですけれどねぇ。ちょいとマイノリティな言語使ってるだけでw
実のところ、アルゴリズム検証のプログラムを組むような場合、メモリ管理からは解放されたいという理由だけでC#を選んでるんですよね。よーはメモリ管理さえスルーできたらいい。
ということで、ここ最近Matlabへの興味が再燃。共同研究先の社員の方もそれでシミュレーションプログラムを組んでいらっしゃいますし、Octaveとかの互換ではない本家MatlabだとGUIアプリケーションまで作れたりと中々奥が深そう。
WAVEファイルも簡単に扱えそうだし、俄然興味がわいています。今のプログラム、Matlabに書き換えようかなぁ。そこまで苦労はしなさそうだし。
今度会社へ訪問するし、その時に色々と聞いてみるか、プログラミングのコツ。C#は不評だったけど、MatlabならCよりはポイント下がるでしょうけれどそれでも歓迎度は雲泥の差でしょうしw
ま、目先の仕事が片付いたら考えますか^^;

2007年8月3日金曜日

EPS編集できたのね

今日確認して分かったことだけど、InkscapeはEPSも読み込めるらしい。
以前、Inkscapeで作ったEPSを読み込ませたらエラーが出たんで読み込めないと思いこんでたんですよ。
そいで、試しにGnuplotで作成したグラフを読み込ませてみたところ、無事読み込めました。Inkscapeで作ったEPSはなんかあかんのですかね?^^; pstoeditがエラー吐いてたので残念ながらどうしようもなさげですが、そもそもInkscapeで作ってるのでSVGで途中経過を保存しておけば問題ないわけで、困りませんね、えぇ。
それよりもGnuplotで作成したEPSが読み込めるのが魅力。テキスト情報もきちんと保持していますし、グラフもパス情報を保持。グラフの色の変更や線種の変更が簡単にできていいですね。ラベルの位置変更も楽ちん。
そして何より、Gnuplotでやるには手間の掛かるグラフ中に矢印で凡例を示したりもささっとできます。もっと早く知っていれば・・・!!!
一応講座内のWikiには紹介ページを書いたけど、気付いてくれるかなぁ>後輩
とりあえずInkscapeがあればAdobe Illustlatorは不要かな。そこまで機能使いこなせないし。Inkscapeだってレイヤー使えるわけで、結構遜色なく使えそう。フリーソフトもここまで来たのねぇ・・・。
前まではドローソフトとしてOpenOffice.org Drawを使ってたけど、Inkscapeの方が圧倒的に軽いし、直感的。OpenOffice.orgはこのところいいニュースが聞けないなぁ・・・。ブラウザはFirefoxがIEに対して一石を投じることが出来たけど(シェア的にはまだまだだけど)、OOoはM$ Officeには遠く及ばないからなぁ・・・。個人的にはよく出来たソフトだと思うけど、まだ圧倒的に重い。Linuxに限れば、OOoよりもKOfficeの方が完成度高いかも知れない。
M$ Officeとの互換性はこの際かなり妥協してしまって、動作を軽くする方に注力する方が生き残る道もありそうだ。互換性なんてどうやったって埋めきれないんだし、一太郎みたいに独自路線を打ち出した方がいいと思う。
InkscapeはPythonで機能を拡張できるから、面白いフィルタとかが手に入りそうだ。このあたり、フリーソフトの強みかも。今後もお世話になりそうなソフトだ^^

2007年8月2日木曜日

アップサンプリング

今日Velnirとチャットで
「デジタル端子のついたヘッドフォンなんてあんのかね?」
ってな話をしてたんですね。で、そーいや考えたことなかったなーと思って探してたときに、Velnirが見つけてきました。
そのヘッドフォン、どうも48kHzの信号を受け取って、内部で96kHzにアップサンプリングしてると。
そーいやPS3もこないだのファームウェアアップデートでオーディオのアップサンプリングを提供してたなー。
そもそもなんでアップサンプリングなんてするんだ? そもそも44.1kHzのCDを聞く際にそれ以上にサンプリングしたところで意味なんてないんじゃね? と思って、不思議だったから調べてみました。
なるほど、調べて原理を理解するとアップサンプリングする意義は分かりました。アップサンプリングすればそれだけ高音域に入り込む雑音が軽減されるのね。
後はどれだけ質のいいLPFを用意できるかでほぼ決まると言っていいらしい。
そんな中、フリーで質のいいアップサンプラーとしてFUSEってのがあるらしいのを知り、早速試してみることに。手元にちょうどいいWAVEファイルがなかったので、OggをWAVEに変換。Oggになっている時点でかなり劣悪なわけで、これをアップサンプルしたところで正直違いなんて分からないだろうと思ってました。
・・・。結論から言いますと、はっきり違いが分かります
いやー、ほんと違いなんて分からないと思ってたんですよ。でも聞けばどっちがアップサンプリングした曲かはっきりしますね。そもそもOggになってて高音部分が劣化しているのですから余計に驚き。元が44.1kHzで、それを176.4kHzにアップサンプリングしたのですが、容量ばかでかくなっただけのことはありました(笑)
じゃーこれをOggにしたらどうなるのかと思ったら・・・、これはアップサンプリングの恩恵はほとんど得られませんでした。違いはほとんど把握できなかったですね。完全なABXテストをやれば多分外します、私の耳程度では^^;
ということで、Oggにしてもはっきり違うなら活用しようかと思ったのですが、そうもうまくはいかなかったので私の利用シーンでは活用しにくいものであることは分かりました。
ただ、その効果が絶大であることは身に染みて分かったので、HDDに余裕が生まれ、可逆圧縮形式で音楽を聴くのが当たり前というようなスタイルにもし私がなったらアップサンプリングも視野に入れようかと思います。FLACやTTAなら可逆なのでアップサンプリングの恩恵に与れるでしょう、おそらく。
それにしても・・・。今使っているヘッドフォンがいかにしょぼいかがよく分かる結果となってしまいました。スピーカに軽く負けてる・・・。耳を覆う分スピーカより雑音に対するアドバンテージがあるはずにも関わらず惨敗。まぁ値段からすればスピーカの半分以下ですから妥当なんですが・・・、もっとましなヘッドフォンが欲しくなってきてしまったよw