2005年10月アーカイブ
なんとかバイトの山場を越えました。プログラムのバイトっていつ終わるかが微妙に読み切れないので、ちょっと困ります。しかもやる気にならないとできない点もなかなか難点。体を使うバイトなら動いているうちに、だんだんやる気も出てくるものですが、プログラミングでは導入の部分でひっかかるので・・・。でも、集中すればなんでもできるんですが。
今回のバイトを振り返ってみて思うのは、全体の計画をきっちり立てることがいかに重要か。依頼者側の意図を読み取りつつ、変更されそうなところも読み取りつつ。変更点が少ない方がいいのはプログラミングなら共通の課題。もちろんホームページ作成もその範疇です。一回作ってみて修正していくのは、いかにも手間がかかるし、時間
もかかる。それをなんとか省略できれば、効率よくクオリティの高いものができるってものです。
あと、今まで作ってきたサンプルみたいなものも利用できるところはしていくべきでしょう。CGIもどきも作りましたが、これも昔作った掲示板の流用。昔作ったやつだけど意外に変更に強くて、ちょっと変更するだけで目的のものを作れました。でも、やっぱり手間のかかった場所もあって、これは時間があるときに改良していくべきでしょう。PHPのライブラリもどきでも作るか・・・。
すでに秋も中盤を過ぎ、晩秋にさしかかってます。なのですが、まだ衣替えをあんまりしてないせいで服が薄着のままです。こんな時に余裕があれば・・・。
さて、今日は京都から両親が来てました。こっちは風邪気味のため寝てばかりでしたが、おかげさまで部屋がきれいになりました。ありがとうございます。
午後からは浅野オケでアンコールの練習。毎回行って思うのですが、神大と比べてもやっぱレベルが高い!あんまり練習してないんでへこみます。でも言い訳をすると、火の鳥のあの音程はホルンでは出しにくいのですよ。きっとホルン吹きなら理解してくれるはず。まあ、でも吹けてないのは事実なんで練習しときます。すいません。
その後の約束は、主賓が風邪を引いたってことで中止に。ぽっかり空いてしまったその時間で三宮に行ってきました。予約していたブツを取りに行ったあと、CDを購入。普段PCに向かっているときは曲を聴かないんですが、せっかくの時間なんで聞こうかと。カラオケでもうまく歌いたいし、曲もたくさん知りたい。となると、生活の大部分を占めるこの時間に曲を聴くのが最適ってことになりますね。なんとか研究室のお隣さんの足下程度には歌えるようになりたいものです。
今日のブルックナーのコマでは、ホルンの場所を変更して演奏することになりました。普段なら指揮者から見て左側の奥なんですが、今日は中央のティンパニの前あたりでした。普段ならトランペットがいるあたりですね。
で、吹いてみました。弦楽器の聞こえ方が違ってちょっとおもしろい。いつもならビオラが聞こえにくいんですが、近づいた分だけ聞き取りやすかったです。あと、いつもより響いて聞こえたので、気分的にこっちのほうがいいかもw
ただ、2ndが隣だったんで、1stの音が聞こえにくかったりして欠点もありました。あと、3rdアシがなぜか4thの隣にいて、まったく聞こえず。これも困ったものです。やっぱりホルンは2列で演奏するものですね。吹奏楽の時みたいに1列ではちょっと合わせにくいです。
3楽章は、けっこう速めのテンポでオクターブの跳躍があるので大変です。僕は他の人よりタンギングが苦手なので、この辺をはっきり吹こうと思うとややもたもたしてしまいます。このあたりは、残りの時間でなんとかできればいいなぁと思ってます。でも、時間は少ないんだよな。
今日の昼に、企業の方とのミーティングがありました。いろいろな集計をした結果をここで発表するってことなのですが、実質僕がやったのは半分くらい。残りは助手の先生がいろいろとやってくださいました。ありがとうございます。
そんなわけで発表です。僕は勝負弱いので、あんな感じで自分が試されるシーンは本当に緊張します。他人に結果を要求されると、いつも以上に緊張するので、ミスも増えたり、間違いも増えたり。困ったものです。ただ逆もしかりで、自分自身で意味を見出せるならそれなりに頑張れると(今までの経験で)思うので、できるだけ今やっていることにどんな意味があるのかをはっきりさせたいところです。
なんだかいろいろしゃべったんですが、自分のやったところは説明できるのに、それ以外が勘違いが多くてへこみます。一応、それなりに事前にどんな感じで進めてってことはイメージしてたんですが、もう少し疑問な点を詰めておけばよかったと反省する点も多かったです。そのかわり、向こうの方の説明がかなり分かりやすかったのと、先生方の質問のおかげでデータの詳細が分かったのは大きかったです。
ここで、よい研究者というのを考えてみると、さまざまな現象に対していかにして問題を見つけて定義するか、という力が優れている人のように思われます。問題自体はすでに存在しているものや、まだ水面下にあるような隠れた問題などさまざまですが、それをどのような切り口で捉えるか。捉え方次第では、難しい問題でも案外単純な問題に帰結できたり、解決に対する糸口がはっきりしたりします。このような力はどうやってつけるかは知りませんが、例外的な状態を考えることで疑問点を発見することができると聞いたことがあります。
たとえば、「太陽電池は光とケイ素さえあればクリーンなエネルギーを作ることができる」という現象があったとしましょう。これに対して問題点があるなら「光がないときはエネルギーを作れない無用の長物なのか?」とか「ケイ素は硬いけど、曲げて使うことはできないのか?」とか「そもそも、エネルギーを作るというより省エネのための研究のほうが効率がいいんじゃないの?」とか。これに対するソリューションとして、「光がないときはバッテリーにエネルギーをためておけばいい」とか「有機太陽電池を使えばいい」ってことになるわけです。
今回の問題でも、1つの切り口からでなくて、いろいろな見方をするといろいろなソリューションが見えるのではないかと。現象を説明されて、はいそうですか、で終わってしまっては解決方法も何もあったものではありません。時間をかけていろいろと試してみて、最適だと思える方法を発見したときに「自分もまだまだだな」と思えるような一種の充実感を味わえるほどになりたいです。まずはいろいろと試せるほどの知識を持つところからです。
今けっこう風邪気味です。熱はないんですがのどが痛くて、飲み物が飲めない状態。せきも出たりしてやばい状態です。
ここ最近まったりしてないからなぁ。ちょこちょこだらけてたりしますが、精神的にプレッシャーがかかってる状態から早く抜け出したいです。こういうときに自分は2人いてくれたら・・・。いや、双子の弟がいるじゃんというツッコミはなしで。
27日の昼のミーティングさえ終われば、研究のひとつの山場が終わります。で、金曜日にホームページのバイトして、かてきょに行って、留学生の歓迎会に参加。土曜はオケ後、居酒屋さんでバイト。日曜日は、両親が午前中から来て、浅野オケ行って、友達の家でパーティーして。やっぱり自分の時間なんてないじゃん。
ここで一番致命的なのが、ホームページのバイトしてる時間が金曜しかないこと。絶対完璧になんて無理だし。そして、来週にはオケの合宿が待ち構えてます。この成り行きはどう考えても僕に風邪をひけって言ってるようなもの。さて、なんとかなるんだろうか・・・。
やばいです。1週間にレポートが3つあるような危機感。忙しいときは、本当にいろいろなことが重なっておきるものだと実感する今日この頃です。
確かに、分単位のスケジュールというわけではないですが、いつ終了するか分からない課題が大量にあると非常に不安になります。ミーティングもしかり、バイトもしかり。最近(誰かがおごれと強要したりして)お金がないので働かないといけないんですが、資料作ったりしながら研究を進めるのは結構難しいです。
普通にプログラムを組む分には楽しいんですけどね〜。昨日、Javaで行列の掛け算をさせるメソッドをバグなしですぐに書けるようになったのがすごい進歩だと思えたり。いや、そんな暇があるなら資料を作るべきなんですが、きらいなものは後に残してしまいたくなるんです。このへんの進歩がないのは致命的です。
土曜、日曜と自分の時間が持てなかったのは疲れます。せめて、夜くらいは自分の時間がほしいものです。
今日はホームページ作成の会議ってことで、浅野オケ後に行ってきました。なんだかんだと優先順位が下がってしまうんですが、もう少し作成の手順というか方法をきっちり確立しないとなぁと思うこの頃です。今回も修正の話が出ましたが、なんとか研究との両立をしつつ、やっていきたいところです。
とりあえず修正点は単純なので、前回よりはやりやすそう。でも、来週中はなぁ。研究も山場、ホームページ作成の方も山場です。
なんとなく先が見えません。こうしたらああなるっていう予測が頭の中で湧かないです。予定はそこそこ埋まってるんですが、逆にそこが余裕をなくしてる一因なのかも。PowerPointの資料も作らないといけないし、研究のデータの集計もしないといけないし。
浅野オケの練習で土日がなくなってしまうのもちょっとしんどい。ただでさえ家でもできてしまう研究。平日はPCにかじりつきっぱなしなんですよ。Iみたいに夜中にお笑い番組を制覇してるのが、ものすごい格差を感じる今日この頃。テレビなんて以前まで見てたニュース番組でさえ見てないのに。
週末はとりあえずPowerPointの資料作って、ホームページ作成の会議に行って、浅野オケに行って。三宮に行って、いろいろまわりたいなぁ。
Javaでかなり使用頻度の高いプリミティブ型。でも、このプリミティブ型の中で0除算を行ったときの挙動はそれぞれ違います。
プリミティブ型と言っても基本はラッパークラスなわけなんで、そのクラスの詳細を知ることでどのようになるかが予測できます。Double型とFloat型はスタティックフィールドとして「NaN」を持っているので、double、もしくはfloatで0除算を行うとNaNが返ってきます。しかし、NaNを持たないByteやInteger、Short、LongなどではArithmeticException(Runtime Exception)がスローされます。
今日は研究用に使うデータの基礎的な統計を取ってました。ある時系列データの頻度分布を集計するんですが、そこで思ってもみない値が。
(エアコンみたいなものを想定してください。)その実温度と設定温度があるんですが、その温度差が181℃!なんだそりゃ!見た瞬間びっくりです。で、よく元のデータを調べてみると、データの小数点が落ちてただけでした・・・。17℃→170℃。えらい違いです。まさか、小数点が落ちてるなんて思ってもみなかったんで、発見したときはちょっと気が抜けました。
他のデータも眺めてみたところ、おかしかったのはそこだけ。なんでそこだけ間違ってるのか不思議です。
ふとした好奇心で、String#split("")を実行するとどうなるだろうと思って試してみました。
たとえば、"abcde".split("")とした場合。結果は、
String[0] = ""
String[1] = "a"
String[2] = "b"
String[3] = "c"
String[4] = "d"
String[5] = "e"
でした。なぜか一番初めに空文字が入ります。
昨日、いろんなデータをひたすら紙に印刷して眺めてみたんですが、(自分にとっては)予想外なデータが!てか、こんなことが初めから言えるなら、もう少し気づこうよって思えてしまうような結果。これもデータを眺めてなかった自分の責任でもあるんですが、わりと端的な結果に愕然。
しかし、自分の研究はどんなふうにまとまるのかがまだ分かりません。とりあえずは、このデータから何が言えるのかをまとめれば向こうの会社の方には説明がつきます。ですが、卒論としてまとめる際にどの点を強調して、どの点が新しいのかを言えないなら、研究をしたと言えないんじゃないでしょうか。
確かに、勉強にはなるんですけどね。
それほど頻繁にではありませんが、トポロジカルソートというものを使うと効率よく問題が解ける場合があります。
トポロジカルソートとは、循環路がない有向グラフに帰着できるような問題において、半順序関係を満たすように並び替えることを言います。実際にどのように並び替えるかは、縦型探索を行うことによって実現できます。
オケの友達が、キットカットのワインのやつどこで売ってるか知らない?てことだったので、ちょっと調べてみました。僕自身はこんな企画があったなんてまったく知りませんでした^^;
http://sp-takagi.exblog.jp/994471/
上のブログによると、このワイン味のキットカットはパティシエ高木って人が作ったものらしいです。実は発売され始めたのが昨日!そりゃ売ってないですわ。コンビニあたりとかをめぐってみることにします。
今日は大学内でオムロンの副社長の人が講演会を開くってことで、聞きに行ってました。オムロンといえば、僕の先輩に当たるS先輩が就職する場所です。
話の内容自体は「生涯のキャリアを設計する」ってことでした。オムロンの宣伝みたいな場所もありつつ、それでもなかなかためになる話を聞けました。やっぱり社長や副社長レベルの人は考え方が違うというのか、器の大きさが違います。
その後の懇親会で、実際に話すことができましたが、けっこう親しみやすい方でした。こういうときにいい話ができるようになると、今後の生活にも役に立つんでしょうが結構難しいです。こういうネタはどうやって手に入れるものなんでしょうか。アナウンサーの方とかのインタビューじゃないですが、知識をいかにして得るかという技術は必要です。
ファイルを簡単に編集する言語としてAWKという言語があります。これを使えば、Javaなんかだと何十行と書かないといけない操作でも、10行くらいで簡単に書けてしまいます。さくさくと処理してしまいたいときなどには便利な言語です。
http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/awk.html
詳細は上のURLを参照してほしいですが、これを使えばCSVファイルなどからデータを取り出して、各列の演算を一気にしてくれます。シェルの強力版として使えるようになると、作業が早くなるかもしれません。
来るかな~と思ったら本当に来てしまいましたよ。せっかくなんで挑戦してみます。
1・パソコンの機種は何?
家にあるやつは自分で作ったやつなんでどう答えたらいいのやら。Athlon 2500+(1.83GHz)/768MB/75GBです。学校にあるやつがCPU3.0GHzあるんで、遅く感じられる今日この頃。とりあえず、市販のやつ買ってきてFF11をやってみたい・・・。
2・ノート?デスクトップ?
デスクトップですな。ノートでもいいんですが、同じ値段を出すなら性能がいい方ってことで。
3・文字入力は、かな入力?ローマ字入力?
ローマ字です。プログラム書くときにローマ字で書けないとえらい目に遭います。一応ブラインドタッチもどきはできます。
4・音の聞き方は?スピーカー?ヘッドホン?
TSUTAYAで買ったゲーム用のスピーカつないで聴いてます。ヘッドホンは苦手です。
5・ウイルス対策用ソフトある?
ありますよ~。AVG FreeEditionってやつが。有料のやつの方が、ウイルスチェックする分には速いんだろうけど、お金がないのでただで使ってます。
6・一日にパソと一緒に居る時間は?
それは聞かれると非常に困る質問。多分、8時間はいつも一緒にいます。
7・メールする?
あんまりしません。メールマガジンとか読んだりする程度。迷惑メールは1日50通ほど。アドレス変更したい・・・。
8・チャットする?
こっちからはほとんどしません。話しかけられるのも2日に1回程度?
9・プリンタある?
ありますよ~。でもあんまり活用してません。入学当初に買ったやつだからものすごく横に揺れる・・・。
10・パソ歴は?
真面目に使い出したのが高3から。windowsの使い方で困らなくなったのも大学3回のころくらい。まだまだ経験は浅いですよ。
11・自分のパソある?
実家に1台、へんにカスタマイズしたパソコンがあります。HDDだけ遅いんで、そこがボトルネックになってます。
12・ペンタブ持ってる?
もってません。たぶんあっても使いません。
13・マウス、キーボードはワイヤレス?
どっちともUSBでつながってるやつです。マウスはワイヤレスだと便利そう。
14・パソはあなたにとって何?
今はプログラム書くための道具ですね。使い道はいろいろあるんだろうけど、あんまり活用はできてないっぽい。あとはCD回したりする程度かな。
15・回す人を5人答えてください
あんまり期待はしませんが・・・。
とりあえず弟に。
あと、研究室つながりでkobax。
またまた研究室つながりでkz。
先輩から、miwaさん。numaさん。
あとはこれを見て書いてみたい!と激しく思った人に。
大学の研究の関係で、いろいろなことを順番に処理させたいってことがあります。そんなときに、こんなコードを書くとえらい目に遭います。
public static void main(String[] args){
List<Executable> list = getTasks();
for(Executable e:list){
e.execute();
}
}
これは、ただ単にリストの中身を実行してるだけなんですが、もしこのExecutableクラス中で大きなデータを保持したまま終了するようなソースを書いていた場合、いくらメモリがあっても足りません。そんなわけで、実行したあとのいらないインスタンスはさっさと切り離した方がベターです。
public static void main(String[] args){
List<Executable> list = getTasks();
for(Iterator<Executable> it = list.iterator();it.hasNext();){
e.execute();
it.remove();
}
}
Enumerationインターフェースが推奨されない理由はここにあるのかもしれませんね。Collectionインターフェースを実装してるクラスでは、iteration中の要素の削除は例外のもとだし。
javaのプログラムではVMがヒープ(メモリ)のサイズを決定します。しかし、大きなデータを扱う場合や、より高速に動かしたい場合はこのデフォルトのサイズでは小さい場合があります。
このようなときに、プログラムの実行時にオプションとして値を渡してやることで、ヒープの割当量を変更することができます。たとえば、初期ヒープサイズを変更する場合は「-Xms」、最大サイズを変更する場合は「-Xmx」です。
仮に60MBのヒープ領域を割り当てたいとすると、「java -Xms60M -Xmx60M mainClass」とすることで実現することができます。
ここ最近、週末になるとだんだんへこんできます。どうもやる気がでなくなるというかなんというか。やっぱり会いたいときに会えないってのは問題です。
個人的には週1でも会えると今のところはなんとかなりそう。それ以上だとガス欠でテンションの上がり下がりが激しくなるんでやばいっす。お金も無駄に使ったりするし、気も散ったりもします。こんなふうにブログを書いてる最中でも、解決策を探してる自分がいたり。あ〜、どうしたらいいんかね〜。
とりあえず気晴らしにCD借りて、友達の家でしゃべってきます。研究のことは、また帰ってきてから考えます。
今日は朝からソフトウェア開発技術者試験がありました。というわけで8時には家を出発して三宮へ。
http://www.jitec.jp/1_11seido/h13/sw.html
会場は不動坂を少し上ったところの「コンピュータ総合学園神戸電子専門学校」ってところでした。不動坂って結構急で、まるで神大に行く途中の急勾配の斜面みたい。かなり大変なところに頑張って建てたなぁと思って教室に入りました。
試験問題自体は、基本情報技術者の難しいバージョン。ただ、記述でデータベースのコマンドを書かせるのはちょっとやばい。さすがソフトウェア開発技術者。データベースくらいは余裕で使いこなしなさいってことですか。でも、レベル自体は講義の「データベースシステム」で習うくらいのレベルだったんで、頑張れば解けるんでしょうが・・・。履修してなかったんで、あえなく撃沈。
これは午後問題ですべってそうな予感。また来年頑張ります。
早いもので、もう1週間終わりです。今週はプログラムの高速化ばかりやってた気もしますが、それはそれで楽しかったような。でも、再来週には研究の発表があって、けっこうでかい山場になりそうです。
とりあえず、昨日の時点でプログラムの修正が終わったので、ひたすら計算させてまとめていくだけです。ここの作業が一番面倒。間違えて上書きしてしまったり、どのファイルを作業していたのかを忘れてしまってたり。今何をすべきか、今後どうやっていく予定なのかを常に意識していないとどうしていいか分からなくなります。気がついたらプレッシャーだけ残っていたってことにならないようにしないと・・・。
本当なら今日はホルンパートの人が来訪する予定だったんですが、大雨のため中止。ちょっと残念だったけど、逆に得るものは大きかったです。不意にできた時間は有効に使わないとね。
StringBuilderは、文字列を連結したり、ある場所に挿入したりできるクラスです。Stringクラスが不変なのに対して、こちらは可変クラスです。
同様の可変クラスとして、StringBufferがあります。こちらは同期が取れるクラスなので、複数のスレッドにまたがって処理される場合は有効です。ただし、単一スレッドの場合はStringBuilderの方が高速です。
このコンストラクタは4種類あります。引数なし、CharSequence、int、Stringをそれぞれ引数に持ちます。これらのうち、CharSequence、Stringはインスタンスの持つ文字列を決定するためにあるのに対して、int型は初期容量を決定するためにあるので注意が必要です。
もうそろそろ秋も中頃。ですが、突然アイスを食いたくなりました。演奏会から帰ってきて駅を降りた直後だったので、アズナスに入って「旨みモナカ」なるものを買ってみました。
http://www.lotte.co.jp/products/ice/06.html
一口食べたときの感想が「辛っ!」。モナカの表面に岩塩を振りかけてあるそうで、外側の部分を食べてるときは塩の味、内側を食べてるときはアイスの味がします。「新発想!塩の旨みで絶妙なおいしさ」と書いてあるとおり、かなり絶妙。なんというか、塩をかけたスイカみたい。これが普通に食べれる人ならおいしく感じられるかも。でも、僕自身はスイカには塩をかけないので、けっこうハズレでした。
やっぱりアイスといえば「雪見だいふく」ですかね。(ちなみに、どっちともロッテの商品です。)
今日も、大学に行ってプログラムを速くしてました。なぜ速くしないといけないかというと、1通りの結果を出すのに1回1日かかってしまうから。できれば数時間程度で終わってくれれば、大学にいる最中に走らせながらいろいろ試せるのに。
ということで、今日は欠損値を示すクラスをとっぱらって、ひたすらdouble型で表現して計算するようにしてみました。あと、連続DPの計算途中のデータを捨ててたので、捨てないようにして次の計算の時も再利用してみました。
そしたらかなりすごいことに。1時間かかってた処理が5分程度で終了!約10倍の速さに!以前は50個のテンプレートを比較するのに4秒程度かかってたのが、今では0.4秒。違いすぎ。しかも、テンプレートの処理する順番と、履歴を利用する計算方法のおかげで尻上がりにスピードが上がっていくのが見てて面白かったです。やっぱりインスタンスを生成する処理は重たかったんですね。
ここまで来たら最適化する意味はなくて、ひたすら生成されたデータの整理です。グラフにするのにもいろいろと面倒なことをしないといけないので、そのあたりを地道にやっていけば良いかと思います。今後の方針として、他のデータとの照合と、Unnormal Detectionってやつを手がけます。あと1週間くらいで、何か結果が出るんでしょうか。
ひさびさにチェックをしてみたらバージョン3.2が出ていたので、当ブログでも更新してみました。
設定ファイルがmt-config.cgiに変更になったらしいので、前回までのmt.cfgと見比べつつ変更。データベースのパスワードもこのファイルに記述するようになったようなので、そこのあたりも変更。
あとはそのままファイルをアップロードしてmt-check.cgiを実行。今まで使えてたので、特に引っかかることなくアップデートが終了。あえて気をつける点と言えば、パーミッションを755(or705)にすることと、index.htmlを間違えて上書きしてしまっても再構築すればいい点だけ。比較的簡単にできました。
今日は、最近思いついた最適化の方法を試してみようと思って、ガリガリプログラムを書いてました。結論を先に言ってしまえば、見事に失敗・・・。
Javaではインスタンスを作成するのは、やや重たい処理に含まれます。インスタンスを作成するためにメモリから領域を切り出してきて、フィールドやメソッドがどんなんかを書き出して・・・、などとC言語ではわりと面倒なことを「new ClassName()」と書くだけでできてしまいます。オブジェクト指向万歳!
裏で、こういう作業をしてるので、できればインスタンスを作成しないようにするために、再利用できるものはしてみようと考えました。HashMapを使って、今まで生成した分をためておいて、使えるやつは使うって感じです。比較的単純な実装だったんで、もしかするとうまくいくかな〜と思ったんですが・・・。
結果的には2倍ほど遅くなりました^^;原因を考えてみると、実は再利用できるインスタンスと新たに作らないといけないインスタンスの比が相当悪かったみたいです。ほとんどのインスタンスは1度使うだけって感じで、貯めてるだけ効率が悪くなったってことでした。
今回の教訓は、最適化するなら相手をよく知ってから。扱うデータの内容がだいたい分かっていれば、それに適したデータ構造やアルゴリズムも必然的に決定できます。今回は、思いつきだけでやってしまったのがダメだったってことですね。
小野市の依頼演奏に出発する日の(夜中の)1時くらいから、研究用のプログラムを走らせてました。それはこのブログにも書いた通りです。が、1日で終わると読んでたプログラムが2日間経った今でも終わりません^^;なんでじゃー。
ログの時間を見てみると、1つのタスクを終了させるのに3時間かかっている模様。で、やらせているタスクの数は16個・・・。合計48時間。ちょうど2日。普通に計算間違いかもしれません^^;1日経てば速くする方法も思いついてて、実装方法も見当がつくんですが、実行中のプログラムが終了しないことにはどうしようもないんですけど。ま、あと数時間で終了する予定なので、もうしばらくの辛抱です。2日もPCがフル回転してたら、相当消耗しそう。
同じPCで開発と計算をするときの一番の不便な点は音楽が聴けないこと!そりゃCDなんてかけた日には、音が飛びまくり、巻き戻ししまくり。そりゃCPUが追いついてないのは理解できるんですが、1秒再生、0.5秒巻き戻しって相当イライラします。これは早いとこLANケーブルを買ってきて、サブマシンで処理するしかないですね。
今日、3回生の時から1年間使っていたサーバPCを売却しました。価格は500円!安すぎ!
性能もサーバ用としてはそんなに悪くなくて、PentiumIIIの500MHz/192MB/40GBってなかんじ。買った当初は10000円だったのに、オークションで1円スタートで開始したら、全然値段が上がらなかった・・・。ま、いらないやつなんで、値段が付いただけましでしょう。
こういった中古PCを売るときに一番気をつけないといけないのが、個人情報の流出。最近の技術はすごくて、普通にデータを削除しただけでは復活する可能性があります。なので、本当に外にもれたらやばいデータを扱ってたPCはHDDを壊して、処分するのが一番無難です。市販のソフトでも、完全にデータを消去するやつが売ってますが、それだけに数千円出すのは・・・。僕のサーバでは、特にそれほど重要なデータを扱っていたわけでもなく、一応フォーマットはしたので大丈夫だと思われます。甘く見すぎ?
今日は朝も早くから演奏会に出発です。阪六に8時50分集合だったんですが、見事に10分遅れて着きました。すいません、予定はよく確認しておきます・・・。
さて、神戸市から小野市は結構離れてます。地図で見てみると、こんな感じ。明石市の真北に位置する市で、バスで1時間程度。けっこう道ががたがたしてて疲れます。
演奏会自体はお昼からなので、午前中はリハーサルをして休憩です。近くにサティがあったので、そこでお昼を買って食べてました。このあたりでは車が主体らしく、コンビニっぽい場所がないみたいです。
演奏会の名前は、題して「ふるさとをしのぶ音楽会〜青野原俘虜収容所演奏会の復元〜」。神戸大学でも特別展が開かれてたりして、今回のことは大学単位で採り上げてるみたいです。曲目は、歌劇「レーモン」序曲、レヴリ、ソルヴェイグの歌、歌劇「ノルマ」序曲、巡礼の合唱、軍隊行進曲第一番の6曲。それなりに楽しめたかな〜と思いました。でも、連日の練習のためか、口がバテるのが早かった・・・。
帰ってきてからは打ち上げです。大勢で飲むのはう〜ん、って最近思えるので微妙なうち上がり具合でしたが、とりあえずは楽しかったといえるのかな。うむ。なんか、終始マネージャーの方に迷惑をかけたので、非常に申し訳ない。コンパのときとかの傾斜を早く計算できるiアプリとか作ったら便利かな?と思った打ち上げでした。
この週末は何かと忙しかったような気がします。土曜日は、昼に楽器を運んで発達科学部(以後、発達って書きます。)に行ったし、その練習後、三宮にてバイト代の回収。六甲に戻って、ちょっとしてから韓国料理食べに行って帰宅。
今日は、朝の9時からうはらホールの上の音楽室(?)にて、浅野オケの管セク。12時に終了。13時から再び発達で、依頼演奏の練習。18時には帰って来れたんですが、その後はプログラム組みまくり(もとい、コメント書き)です。なんか、休みっぽい休みを過ごしてない気がします。もうちょい、三宮に遊びに行くとか、CD借りてきて聴きまくるとか、娯楽に走れないものかと。とはいえ、きっと社会人の方からすれば、クラブばっかりできるのはありがたい話なんでしょう。
明日は依頼演奏の本番。兵庫県の小野市っていうところまで出かけて演奏です。で、帰ってきてから打ち上げ。研究してる時間ないですやん。というわけで、今コンピュータに1日分のタスク丸投げして放置してます。きっと打ち上げが終わった頃には計算し終わってるはず・・・。
今現在、Firefoxのプラグインとして提供されている「Web Developer 0.9.4」を、通常の配布先からインストールすると、ブラウザとして機能しなくなる不都合が発生しています。これは、プラグインがブラウザの英語版に対応しているために起こる現象のため、当分の間はインストールしないほうがいいでしょう。
もし、おかしな現象が発生してしまったら、http://www.infoaxia.com/tools/webdeveloper/index.htmlなどを参照して、修復してください。
依頼演奏の練習が終わったあと、韓国料理を食べに行きました。以前、学科の友達と行った場所で、けっこうおいしかったので再び。
韓国料理って全般的に辛いんですかね。今日注文したやつ、大部分が辛かったんですが。でも、辛いのは嫌いじゃないし、ひさびさにお腹いっぱいまで食べたんで満足です。
ここ最近、ストレスがたまることが多くてなんだかなぁって感じだったのですが、結構癒されました。思ったことを気兼ねなくしゃべれるのがすごい楽しい。端からみれば本当に些細なことなんですが、こんなことさえもいつも実現してるわけではない世界も存在するのです。本来なら自分の助けになってくれるはずの同僚であっても、意見が対立したり、成長がみられなかったり。僕の手は2つしかないのに、両方から攻められると立ち往生するしかないんです。せめてどっちか進展すれば楽なのになぁ。
そういう意味では、依頼演奏の練習前にちょこっと話したKとかTくんは、僕にとってはすごいありがたい存在に思えました。Kはそういう状況を察してるのか察してないのかは知らないですが、ここ最近は波長を合わせてくれてるっぽいので助かります。直接は言いませんが、ここでありがとうって言っときます。
せっかく韓国料理のタイトルを付けてるので、この店の紹介を。ぶっちゃけ言うと、六甲道駅の近くにあるトーホーを南に行ったところにある店です。入り口あたりには、赤や黄色のつぼみたいなのが飾ってあります。値段の方は、まあ標準?かな。1人あたり2000円〜3000円の予算でいけると思います。
今日は依頼演奏の練習のために、今まで初めて発達科学部のキャンパスに入りました。これで行ってないキャンパスは、理学部、農学部、海事科学部、医学部になりました。発達遠いよ。いや、海事科学部や医学部はそもそも六甲にないし。
ここで、神大生じゃない方に発達科学部を説明。googleで「発達科学部」って入力すると一発で出るほど有名(?)な学部で、1992年に教育学部から改組となってできた比較的新しい学部です。もちろん教育学部の内容も引き継がれていて、先生になるためにはこの学部の講義を取らないとダメです。学科は「人間形成学科」「人間行動学科」「人間表現学科」「人間環境学科」の4つで、先生になりたい人や、芸術を極めたい人、地球にやさしくなりたい人が集まってます。多分、他の学部とくらべてちょっと毛並みが違います。あと、神大の中で一番標高が高いキャンパスです。
そこまで行く途中の道が結構ぐにゃぐにゃなんですが、原付で行くとなかなか気分がよいです。走り屋の人がドリフトしたくなる気も分かります。
あと、秋のせいなのか特大の猪に会いました。この前は3匹の子供を連れてうろうろしてたし、そろそろ食いだめをする季節なんでしょうか。
研究対策というわけでもないんですが、プログラムを走らせてる最中、作業用のマシンのレスポンスが悪くなるのが嫌なんで、家に余ってるPCを計算用のマシンにしようと思ってます。
スペックは今使ってるやつの1/3くらい^^;お世辞に言っても処理を助けてくれるような代物ではありません。ですが、今後計算をさせることも増えてくるので、共同でやれば少しは早く済むかもと思ってます。とりあえずLANケーブルさえあれば簡単に通信はできるので、OS入れればすぐにでも稼働できそうな感じ。
問題は電気代。さすがに最大3000Wは行かないのでブレーカーは落ちないはずですが、長時間走らせると多少は響いてきそう。
今日は本番で指揮をしてくださる先生との練習でした。他のブログでも取り上げられてて、今さらな気もするんですけど。
でも、初めてのわりにはすごい見やすい指揮で、どうしてほしいかが分かりやすかったです。先生も初めてってことでそんな感じで振られてたのかもしれないですが。オケの直前までプログラム組んでたんで、ウォーミングアップが十分にできてなかったのがすごい残念。後半ではすごいバテてしまってて、表現の適当さを実感しました。タンギングなんかももう少しきっちりしたい。
あと、サブとメインで、吹き方が全く違うので、間違わないようにしないとダメですね。サブももっと吹き方やピッチをあわせればきれいなのにな。2楽章とか、早いからと言ってあわせられない訳ではないので、パー練のときに気をつける必要がありそうです。
メインは、とりあえず落ちない、吹けない場所を練習するとこから。3,4楽章はそれが顕著に出てたので、暇があればこの辺を練習してみます。
今日、ある3行に含まれる6文字程度のプログラムミスのせいで、半日かけてやった計算が無駄だったことが分かりました。正直かなりへこみます。
プログラムはほとんどの場合、規模が大きくなればなるほどバグが含まれやすくなります。Javaの場合だと、クラスの相互関係などが複雑になればなるほどやっかいなバグになりやすいです。そんなわけで、講義なんかではクラス間の結合が極力疎になるように設計しなさいって言われるんですが・・・。
いや、今回はそんなんが原因じゃなくて、ちゃんとあってるかテストしてなかったのが一番の問題。論理的にしっかり追っていれば初めから分かる問題だっただけに、やや悔やまれます。
いや、別に批評をしようって腹ではありません。ただ、気になったこと、気づいたことなど。
最近Mちゃんがなんか優しいです。頼ってもらえるし、頼れるのが今までにない感覚なのですが。なぜかMちゃんの右側になったことがほとんどなくて、今回が初めてといえば初めて。右側といっても1stと3rdで、こっちが合わせるというよりは、両方ともやるときはやる、みたいな立場ですな。今までは、別のMちゃんの個性の強い演奏につけてきたけど、今回は対等にいければよいなぁと思ってます。
あとは、けっこうKちゃんが映画好きだってこと。実は暇があったらいつも観に行ってるんじゃないかって思えるほど感想を言ってくれます。韓国モノもおさえつつ恋愛系が大好きとみてるんですが、本当のとこはどうなんでしょう。
今日はオケの日です。なので、5時から練習が開始するので、それまでは研究室にこもってプログラムを書いてました。
ここで、謎なバグにぶつかって40分程うなる。うーん、スタックトレースが表示されてなかったのでなんでだろうと思ってたら、ファイルの拡張子が「csv」でなくて「cvs」になってました。バグなんて所詮こんなもんの積み重なりです。
ぎりぎり5時に作業が終了したんで、プログラムを走らせたままクラブに向かいました。そしてひさびさに走ったら背中に激痛が!まだそんな年じゃないと思ってたのに、予想外に老化は早く進んでたみたいです。日頃から歩かないと・・・。やっぱ体がかたいんかなぁ。
最近、ネタに困ってます。日記のつもりなんですが、普段研究室にこもってるだけに研究のことか、クラブのことか、バイトのことか。さらに踏み込んだことも書けなくはないですが、そんなことまで書く気はありません。研究にしても、日常生活にしても・・・。
僕の弟みたいに、別の世界(FF11)のことを紹介するっていうのなら全然ネタには困らないんでしょうが。最近はゲームもしてなくて、何だかなぁって感じです。やり残したゲームソフトが山積。今となっては、やる気も微妙に起きないし。プログラムのバグ取りも前と比べれば楽しいものです。発見できた時は楽しいし、昔と比べれば変なバグもできなくなった点がよいですな。今後の課題はアルゴリズムとデータ構造の選択、先を見据えて再利用できるようなソースを書くことですか。
助手の先生に、DTWのプログラムを見せてもらいました。僕の場合は、CSVファイルのデータを1行ずつ拾っていってる場所を、一旦別のファイルに書き出して処理してました。それだけなら、まだ普通なんですが、別のファイルに書き出すときに、改行をすべて落として、長大な1行だけのファイルにして、String#split(String)で一気に読み込むとかいう恐ろしいことをしてました。なんというか、やる人はやるんだなって印象。Hさんみたいに正攻法でいく人もいれば、ある意味トリッキーな方法で瞬殺する人もいるんだなって思い知らされた日でした。
今日はPAAとSAXについて調べていました。インターネット上で探しても、英語の説明しか出てこないんで結構困ります。
なので、助手のO先生に講義をしていただいて概要をつかんでみました。PAA(Piecewise Aggregate Approximation)は、ある時系列データを特定の長さに分割して、その分割した区間で1つの値を出していくというアルゴリズム。たとえば、長さが100の時系列を10個に区切るとすると、最終的には10個のPAA変換されたデータ列ができます。こういう意味で、次元の削減(Dimension Reduction)ができるってわけですね。なるほど〜。
時系列データで「次元」というと、データの数のことを指すっぽいです。今までは、ベクトルみたいに、それぞれ独立したデータ列のようなイメージだったので、今日は1つ勉強になりました。
で、SAX(Symbolic Aggregate Approximation)は、PAAで変換した値を記号に変換していく部分が付け加わります。変換する基準は、正規分布(ガウス分布)に従うとして、記号数で確率分布を分割。そこにPAA変換した値と比較して記号を割り当てます。
SAXを使えば、PAAの利点とともに、距離計算の時に利点があります。同様にSAX変換したデータと距離を計算すると、実際のデータよりも必ず小さい値が出ることが証明されています。なので、距離が離れたデータは計算から除外したい場合に、SAX表現されたデータで求めた距離でその閾値を超えているなら、明らかに計算から除外できます。ここは、なかなか使いやすそうです。
実際にSAXを使うときは、単純にPAAしてから記号を割り当てるだけでなく、データをスライディングさせながら記号を割り当てるので、次元数自体はあまり減ることないそうです。
今日、観てきた映画「SHINOBI」。仲間由紀恵とオダギリジョーがでてるという、なかなかすごいキャスティングでどんなんだろう~と思って観てきました。
簡単な概要をここで。長きにわたって争うことを禁じられてきた忍びの二大勢力、伊賀と甲賀。それぞれの跡取りである玄之助(オダギリジョー)と朧(仲間由紀恵)が運命的な出会いにより恋に落ちる。しかし、長年にわたる宿命が彼らを引き裂く・・・。双方の精鋭が戦う中、再会を果たす彼らに未来はあるのか?
で感想ですが、この映画は人が死ぬシーンが多すぎます。しかもけっこう血が噴き出したり、首を切られたりと、なかなか普通でない死に方がほとんど・・・。血に弱い人には絶対にお勧めできません。格闘シーンはなかなかかっこいいんですけどね~。5人の精鋭達が戦っていくのですが、どっちがどっちか分からないと、少し混乱もします。なので、多少予習していった方がいいかも。
あと、朧の使う術がかなりやばい。魅入られると体の中のいろんな場所がやられます。映画中では体内のシーンになってますが、あれが外から再現されてたらそりゃもう、ものすごいことになってたはず。あれは邪眼というか魔眼ですな。
ストーリー自体はなかなか秀作。映画化されてる分だけ説明がないのは痛いですが、全然許容範囲。音楽も映像にマッチしてて、すごくよかったです。映画全体を評価するなら、きっとすごく高得点を取れそう。でも、やっぱ血が多すぎだよな~。精鋭達の死に際は後になればなるほど良いですが、前半はやや扱いが悪い気も。でも、テーマを重視するなら仕方ないか。
とりあえず、弦之助と朧の対決も宿命って感じを出せててよかったのでは。役者のクオリティも高かったし。血に免疫があるならお勧めできる作品です。
