2008年1月アーカイブ

今日はもういい加減頭に来ました!只でさえこんな修論提出前にストレスを溜めたくないのによりによってなんでそんな問題が起きるのか。これは今の研究を始めて幾度となく思ったことだけど、最後の最後まで付きまとってくるとか絶対嫌です。

詳細を書いても後で見て嫌になるだけなんで書きませんが、アルバイトというからには選択権はあるはず、ということだけ。めちゃめちゃストレス溜まったんで頑張って冷静になれるよう努めます。でも、またこれで研究がこじれるんだろうな~。

意思の疎通を図るのはかくも難しいものなのですね(>Д<;)
たまたま弟に連絡をとったら、FXでかなり痛い目にあったとかいう話を聞きました。
でも、とにかくリスクとリターンのバランスを考えればなんとかなりそう?な雰囲気だったので
挑戦してみることにしました。

FXと株取引と違うのは、レバレッジスワップポイントの存在といえるでしょう。
FXでは、ある一定の証拠金を証券会社に預けることによって、その何倍もの金額の
取引を行うことができます。その倍率がレバレッジです。
レバレッジが大きければ大きいほど大きな取引ができるので、必然的にリスクが高くなります。
つまり儲けられるときは儲けられるし、損をするときはとんでもない金額の借金ができて
しまいます。
そんなわけで、自分の所持金と勘案して、ある程度のレバレッジで取引することになります。

そして、スワップポイントは外貨との金利差により発生する利息のことです。
金利の低い貨幣を利用して、金利の高い貨幣を買い注文を出した場合、その貨幣を
持っていればいるほど利息がついていきます。日本の金利だと1%に満たない程度
ですが、諸外国ではそれよりは高いので、徐々にスワップポイントがたまっていくことに
なります。
しかも、通常の外貨預金などと比較してもレバレッジが利いている分、受け取れる金額も
大きくなります。長期でじっくり貯めたい場合にはよさそうな感じです。
ただし、逆もしかりで金利の高い貨幣を売り建ててしまうと、決済取引で利息を払わないと
いけません。

そんなわけで、通常の株取引と比べると気を使わないといけないな、という印象はうけました。
当分は安全運転でちょこちょこと頑張ってみたいと思います。
ここ最近、研究の話ばかりしか書いてないのでそれ以外のことも書いてみようと思います。 *1


昨日は4年間ずっと担当していた家庭教師の最終日でした。
振り返ってみればかなり長い期間やってたんだなって思いますね。
初めてその家に訪問したときはどういうノリでやったらいいか分からず、
かなり真面目に頑張ってました。でも、いっぱい学校の話もしたし
何に興味を持ってるのかとか一生懸命?教えてくれたりとか。
彼が小学校のときは、足を持って振り回されるのがなぜか好きだったので、
こっちは彼の脚をつかんでよく振り回してました。
今思えば、とっても体張ってましたね。

今でも覚えているのは、2回目に行った時は本当に勉強をするのが嫌だったみたいで、
ちょっと教科書を見せようとすると別の話をしたりして、ひたすら気を反らされてたこと。
あの時はちょっとムカッヽ(`Д´)ノ と来たけど、今ではけっこういい思い出です。
1回だけ本気でキレて、彼のほっぺたをギューとやったりしてたしw

彼が小学校のことは、ひたすら百マス計算とか読書する時間とか取ったりして、
けっこうまったりやってました。さすがに読書の時間とかとってると、あまりに
勉強をする時間がなかったので、1年くらいで普通に勉強するように変更したんですけど。

実は彼には当初、もう一人家庭教師の人がついていたらしく、めっちゃ勉強を教えられてた
らしい。でも、雑談をめちゃするこっちのほうが結果的には継続してくれることになったのは、
良かったのか悪かったのか。本気で勉強をするなら、きっと向こうの人の方がひたむきに
頑張ってくれてたんだろうけどね。
ともかく、ずっと担当することになり、先生だか友達なんだかよく分からない関係になって
いました。

彼が中学に入ってからは、小学校のときと比べるとそれほど危機的な状況ではなくて
わりとスタンダードなポジションになってくれたのはちょっとうれしかったかも。
身長もめきめき伸びて、声変わりもして、反抗期に移行するあたりを目の当たりに
できるのは、いつも教えに行ってて楽しかったことですね。
小学生のときは自分の意思を伝えることに一生懸命で、話の展開の仕方も小学生独特の
特徴があったんですけど、やっぱり中学生になると、しっかりと道筋を立てて説明できるように
なってくるし、どうすれば相手を説得できるかのコツも分かってくるし。
中学生になると急成長するんだなって実感しました。

最近では、以前とはまた違った悩みとかも話してくれたりしました。
自分の中学生時代と比べても、こんなこと考えてたかな~?て思うこともあったりして
驚かされることもしばしば。きっとこれからもかなりの成長をみせてくれることでしょう。

贅沢をいうなら、高校が決まるくらいは担当をしてみたかったけれど、今自分が
教えられることを考えてみると、やっぱり今くらいでも良かったのかな、という気はします。
もし彼が大学生くらいになって、中学生の時期を振り返ったときに、「あの時も良かったな」と
思ってもらえるなら幸いですね。

場所はまだ近いので会おうと思えば会うことはできるのですが、これまでのように
定期的は会えないのは残念です。とはいえ、もともとは家庭教師と生徒という関係。
これまで何人かの生徒を担当してきて、確かにこういった場面を体験するわけですが、
あまり引っ張ってもしょうがないんですけどね。


そして今日以降、きっと僕が家庭教師を務めることはもうないでしょう。
他の大学生と自分とを比較すると、塾の講師をしている人ならきっと担当した生徒の数は
僕よりとても多いはずです。そんな人たちと比べれば、家庭教師でどれだけ頑張っていようとも
教えられる生徒は限られるし、経験だってもちろん負けてしまうし。
本当に勉強をさせるなら、きっと塾の先生の方が効率よく分かりやすく教えることが
できるでしょう。
そんな負い目もありながらも、それでもいつも自分ができる範囲で頑張ってきたつもりです。

僕が担当した生徒達はみんな個性的で、どこか秀でている面を持っていました。
昨日最後を迎えた彼もまたその1人。
確かに悪ふざけはするし、生活習慣だってちょっと乱れ気味。
でも、スポーツが得意で集中力もあって、優しくて人の気持ちを察することができて。
ユーモアもあるし好奇心旺盛で、幅広く友達もいる、そんな子でした。
そんな彼を4年間も担当できたことは自分にとって本当に良かったと思っています。


大学院生になって涙もろくなったって自覚はしているんですが、
思い出したらやっぱり泣けてきました。
ふとしたきっかけで始めた家庭教師。それもまた今日で1つの終わりを迎えます。
社会人になって10年後振り返ってみても、きっと「あの時も良かったな」と言えるはずです。


ありがとうございました。
そして、おつかれさまでした。
*1 : といいつつ、今は研究の作業待ち状態なんですけどね。
話さないでください
そこに聴衆はいません
聞いてなんかいません


っていう替え歌(?)を思いついた。
研究に集中している時に横から話しかけられるってのはよくあることだと思うのですが、
それがいつものことだとかなり凹みます。もうちょっと違う環境でも実験したいな~。
とか言いつつ、あと2週間頑張るだけなんですけどね。

とりあえず、昨日まで苦戦したプログラムの修正のおかげで、実験の結果も好調です。
こんなスケジュールで行けば、論文提出1週間前には実験終了になりそうです。
本当ならもうちょっと早くに終了したかったんですけどね~。
株投資の経験が今月の6日から4年目を迎えました。
当初はかなり損をして痛い目に遭い、2年目はライブドアショックで凹んだのですが、
3年目の成績はどうだったのでしょうか?
昨日、郵便ポストを見てみると、証券会社から取引報告書が送られてきていました。

おそるおそるその書類の中身を見てみると…、約+16%程度の黒字でした!
年間成績では初の黒字達成ですゝ(^O^)丿
去年の取引を振り返ってみると、一番おいしかったのは任天堂株ですね。
最近では円高の影響もあって微妙な雰囲気ですが、任天堂にはとっても感謝ですね。

今年はサブプライムローン問題や、アメリカのスタグフレーション観測もあったりなんかして
軟調になりそうな雰囲気ですが、それにもめげず、継続して利益を重ねていきたいと
思っています。

探しても探してもわいてくるバグ。今回のバグはかなり難しい!と自負できます。
これはもう、設計段階でどれだけ例外的な場合を考えることができるかにかかっています。
完璧なアルゴリズムに則ってさっさと組んでしまいたいです。

さて、そんなわけでこのブログの読者様にもぜひ挑戦してみて欲しいです。
ちなみに本来のコードを改造して、ちょっとだけ解きやすくなっています。
クラス名が適当なのは無視ということで…。

class Entry {
    private String id;
    private double value;
    public static Comparator<Entry> ID_ASCEND_COMP;

    // getter, setter は定義済みとします。
}

class Application {

    // 問題のメソッド
    public List<Entry> merge(List<Entry> list1, List<Entry> list2 ){
        Collections.sort(list1, Entry.ID_ASCEND_COMP);
        Collections.sort(list2, Entry.ID_ASCEND_COMP);

        Iterator<Entry> it1 = list1.iterator();
        Iterator<Entry> it2 = list2.iterator();
        Entry e1 = null;
        Entry e2 = null;
        List<Entry> merged = new ArrayList<Entry>();

        while(it1.hasNext() && it2.hasNext()){
            if(e1==null)  e1 = it1.next();
            if(e2==null)  e2 = it2.next();

            int key = Entry.ID_ASCEND_COMP.compare(e1,e2);

            if(key<0){
                merged.add(e1);
                e1 = null;
            } else if(key==0) {
                e1.setValue(e1.getValue()+e2.getValue());
                merge.add(e1);
                e1 = null;
                e2 = null;
            } else {
                merged.add(e2);
                e2 = null
            }
        }
        if(e1!=null)  merged.add(e1);
        if(e2!=null)  merged.add(e2);

        while(it1.hasNext())  merged.add(it1.next());
        while(it2.hasNext())  merged.add(it2.next());

        return merged;
    }
}

で、このメソッドが何をしているかというと、引数に与えられた2つのコレクションを1つにまとめるということをしています。ただし、IDが重複しているインスタンスがあれば、片方のインスタンスに value を加算してそれを追加するというメソッドです。ちなみに、list1とlist2がnullの場合は考えなくても構いません。(NullPointerExceptionが発生して終了するだけなんで。)また、ID_ASCEND_COMPは、Entryのidをソーとキーとして昇順に並び替えるComparatorです。 *1



*1 : ちなみに、降順でも問題なく動きます。
今日は起きたらめっちゃ全身痛くてびっくりしました!えっなんでや!?
確かに心当たりはあって、昨日ちょっと慣れないことしたな~って自覚はあるんですけど、
そんな筋肉痛になるほどか?とも思うわけで。やっぱり年をとったってことなんでしょうか。

4月から働きに行くのに、こんな簡単に筋肉痛になってたんではダメですね~。
日頃からちゃんと鍛えていきたいとしみじみ思う今日この頃でした。
今日ちょっと就活の話をする機会があった時に、「9人の人間が3つの部屋に入る組合せって何通りなんですか?」って話が出たので、メモ程度にここに解き方を書いておきます。


いきなりタイトルの問題を解こうとするとちょっと面倒なので、ちょっと問題の規模を小さくします。「4人の人間が2つの部屋に入る組合せは何通りか?」を考えます。ここでは、人間には区別があり、部屋には区別がないとします。

こういった組合せの問題を解くときに重要なのは2つあります。1つは「全て区別する時は何通りか?」をまず考えること、そして2つめは、「どういった場合が同じ組合せか?」を考えることです。簡単なほうの問題では、「全て区別するときは4! (4の階乗)」です。これは、部屋の存在を考えずに、単純に順列として考えたときの並び方と同じです。

combination1.jpg 次に、どういった場合に同じ組合せとみなすかを考えます。
この問題では、部屋には区別がないということなので、上の図と下の図は同じとみなせます。さらに、それぞれの部屋の中で場所が変化しても同じとみなせます *1 。他の組合せの場合でも、同様にして必ず同じみなせる組合せが存在します。というわけで、この問題では「ある組合せに対して同じとみなせる組合せの数は2*2*2=8通り」です。

combination2.jpgここまで来たらほぼ解けたようなものです。問題の答えは、(全て区別するときの組合せ数)÷(同じとみなす組合せ数)なので、4!÷8 = 24÷8 = 3通り が正解です *2


さて、これまでのことを応用して「9人の人間が3つの部屋に入る組合せ」を考えてみましょう。ここでは、人間に区別があり、部屋に区別があるとします。全て区別するときの組合せ数は、9! (9の階乗)です。次に、どういった場合に同じとみなせるかというと、「部屋の中での位置が変わったとき」なので、その場合について考えます。それぞれの部屋で3人が入れ替わるので、3! * 3! * 3! = 216通りになります。で、最終的な組合せは 9! ÷ (3! * 3! * 3!) = 1680通りになります。

もし、この問題で部屋の区別がない場合は、さらに 3! で割って280通りになります。
*1 : 例えば、AとBが入れ替わっても1通りとみなせます。
*2 : でも、正直こんな面倒くさいことを考えなくても、Aの相方が誰かを考えれば一発ですけどね。

昨日、あまりに実験結果の評価が悪かったのでプログラムの見直し+実験結果の見直しをしていました。そしたらやっぱりいました、あの嫌なやつ。バグが潜んでいました。今回のは、これまでバグの確認のために使っていたデータ以外の、本番用のデータで確認したらけっこうあっさり分かってしまいました。これはちゃんとテストをしろよ!という神からの思し召しなんでしょうか。それにしても、これまでこんなにバグが潜んでいたのかを思うと凹みます。

しかも間違えていたのが、コレクション中の最小値を見つける部分という、かなり情けない場所。やっぱり例外処理をちゃんとするべきですね。

double min(Collection<Result> col) {
    double min = Double.MAX_VALUE;
    for(Result r : col) {
        min = r.getValue() < min ? r.getValue() : min;
    }
    return min;
}

はい、これが問題のソースコードです。一見正しそうに見えますが、ちょっと処理が抜け落ちています。さて、どこでしょう…。

昨日に引き続き病院に行って診察を受けてきました。
MRIで撮られた画像も見せてもらったんですが、パッと見た感じではレントゲン写真みたいですね。診察室で写真を見ながら、「MRIで撮られたらこんなふうに写るんや~」と興味津々で観察していました。検査結果よりもどうやってMRIって実現してるかの原理が気になってるというのは、なかなかおかしい気もします。が、特に異常なしということで一安心。予後の経過をみる事になりました。

で、今度はなぜか親知らずが痛いのが気になる…。
こっちの痛みもなんとかならないんだろうか。

MRIと聞いて三菱総合研究所のことだと思った人は、きっとSE系の人でしょう。
でも今日、僕が受けてきたのはそちらではなくて磁気共鳴画像装置 *1 の方です。
別に深刻な病気になったというわけではないんですよ。
1ヶ月前にしたフットサルの打撲がいまいち解消されないんで、念のために受診を
勧められたので、朝も早くから病院に繰り出してきました。

[wiki] 核磁気共鳴画像法 - Wikipedia

で、よくテレビであるような人間ドックの番組みたいに丸い筒の中に入ってきました。
あの機械がある部屋には金属類を持ち込むことは禁止ということらしいです。
なぜかというと、MRIは磁気を用いて体内を画像化するため、金属がその処理を
邪魔するかららしいです。そんなわけで、なるべく確実な画像を取得するために
病院側から提供された浴衣を来て検査に臨むことになります。

筒の中に入ると、「ビー!!」とか「ガガガガー!」といった、工事現場の隣にいるような
音が聞こえます。一応、耳が痛くならないようにヘッドホンをつけて、曲を聴いてるんですが
そんな音なんて全く聴こえず。あれなら、クラシック音楽をかける必要なんてない気もします。

全身固定されたまま、じっとすること約30分。
かなりの騒音だったにも関わらず、あまりに暇すぎて寝かけてた自分がすごいΨ(`∀´)Ψ
明日結果が出ているはずなので、また病院に行ってきます!

*1 : Magnetic Resonance Imaging system

大学での研究を行うために、Cygwin上でPerlのスクリプトを実行することにしました。 *1
これまではLinux上で動かすだけだったので、PerlからJavaプログラムを呼び出しても
全然問題なかったんですが、Cygwinになるとちょっと厄介な問題が発生します。

その問題というのは、PerlとJavaでパスの指定の仕方が異なるという点です。
Perlでは、よくCygwinでも使われている /cygdrive/c/(以下略) という形式で書くことができます。
また、スクリプトが存在する位置から見た相対パスでももちろん指定することができます。
しかし、このPerlスクリプトからJavaプログラムを呼び出した場合は、Windows形式で
直接指定しないといけません。(例えば、c:/Documents\ and\ Settings/hogehoge/ とか。)
なので、Perlスクリプト用のパスとJavaプログラム用のパスを別々に考えないといけないわけです。

ウェブ上を探してみると、Javaプログラムのためにパスを変換してくれるラッパー
アプリケーションがあるようなんですが、まだ試していません。
これがうまく動作するなら、とても便利そうなんですけどね。
なんとかならないんでしょうか、このCygwinの仕様。

*1 : というよりは、継承したスクリプトがたまたまPerlだっただけですけど。
19日に大学生最後の演奏会に出演してきました。
かなり難しい曲で、自分自身のテクニックやらいろんな癖のおかげですごく手間取ったんですけど、一応今できることはやったのでそれなりに満足しています。ただ、フリー入場であまりに気持ちの準備ができてない状態で舞台に上がってしまったのはちょっと失敗でした。

今回の演奏会で何が一番良かったかというと、しょうもないミスがほぼなかったところでしょうか。確かに演奏面ではまだまだ頑張れたようにも思えたんですけど、それよりもこれまで多かったもったいないミスがなかったのは評価できる点でしょう。ミュートを「キュッ」って鳴らさなかったし、落とさなかったし…(笑)

この前の大学オケの方と比べると、入場者数はかなり少ないんですけど、それでも聴きに来てくれた多くの友人や先輩、後輩には感謝ですね!これから当分は楽器から離れることになりそうですが、また時間が取れれば練習できればいいですね。

研究でたまってきた実験データを一度解凍して評価しようかと思ったんですが、あまりに圧縮ファイルが大きすぎて解凍できない!! *1 ということで、ウェブをいろいろと探していたら、ちょうど目的に適ったページを発見することができました。

実験データを収めた圧縮ファイルは、tar.gz形式(=tgz形式)になっています。そのウェブページには、圧縮ファイルの一部分だけを解凍・展開させる方法が書かれていました。

[web] 圧縮された.tgzファイルの一部分のみ解凍する方法 - OKWave

このページによると、次のようにすれば一部分だけ解凍・展開させることができるそうです。以下では、圧縮ファイルtest.tar.gzファイルから、test/file.txtのみを解凍させる方法を記述します。

% tar xvzf test.tar.gz test/file.txt

また、同様にしてディレクトリ内のすべてのファイルを解凍・展開することもできます。

% tar xvzf test.tar.gz test/dir/
*1 : 解凍しようとしてもメモリと時間を食いすぎてとてもムリ!

研究室のメンバーがブラウザのホームページ *1 に「iGoogle」というのを設定していました。僕自身は、某ポータルサイトを設定していたんですが、話を聞いてみるととても便利そうです。さっそく使ってみることにしました。

iGoogleは、自分の使いやすいようにホームページを変更できるところが特徴です。ちょっと前にAjaxとかWeb2.0という言葉が流行っていましたが、まさにそれを代表するページと言えるでしょう。ドラッグ&ドロップでウィジェット(小さなアプリケーションパーツ)の配置を変更できたりします。また、デフォルトで入っている暇つぶし用のゲームもおしゃれな感じ。

また、時間が経つと微妙にイラストが変わってるのもけっこう芸が細かくて好感が持てます。googleのアカウントを持っていると、gmailの確認もできたりするので、ホームページを何にしようか悩んでいるならぜひ試してみて欲しいです。

*1 : ブラウザを起動した時に出る一番初めのページ。
人と話していると、その人の使っている語彙が知らない間にうつっていたりすることってありませんか?その一例としてよく知られているのが方言とかなんですけど、今回は普通に日常会話でのお話。今日は特にそんなことを感じていました。

で、うつった語彙っていうのが「メーリス」っていう単語。
これは、ML(メーリング・リスト)の省略形なんですが、調べてみると今ではかなりよく使われる語らしいですね。これまでは、ML→「エム・エル」がわりと主流だったんですけど、やっぱり変わっていくみたいです。かくいう自分は、「メーリング」っていう傍流をよく使っていたんですけど…。

そんなわけで、研究室で普段とは違う語彙を自分が使っていて、自分で勝手にびっくりしてたというお話でした(´∇`)振り返ってみるとめっちゃ些細なお話っすね~。

研究をしていると、実験結果を記録したファイルがたくさん生成されます。
これらのファイルに対して、シェルを使って同じ処理を行わせたい時もあると思うんですが、あまりにも対象のファイルが多いと「Arguments too long」というエラーメッセージが出てしまいます。今回は、それに如何にして対処するかを紹介します。

なぜ、このようなエラーメッセージが出るかというと、シェルではコマンドライン引数の長さが決まっているからです。この上限を変更することもできると思うのですが、それをしなくても xarg コマンドを利用することで解決することができます。

# 以下のコマンドをxargsを使って書き換え
# rm *.txt

echo *.txt | xargs rm

こんな感じで置き換えてやると、xargsコマンドが自動的にコマンドライン引数を分割して実行してくれます。慣れるととても簡単です。xargsについては、下記のウェブページに詳細があります。

[web] xargs - 68user's page

面白い本がないかな?と思ってたまたま本屋に寄ってみると、レジ付近に平積みになっている「不思議の国のトットちゃん」を見つけました。この本は黒柳徹子さんが書かれたエッセイ集で、いろいろな国での体験や、普段の生活で不思議に思ったことがありのままに書かれています。同じく黒柳さんが著わした書籍として、累計750万部にもなる「窓ぎわのトットちゃん」があります。これは世界各国で翻訳され、幅広く読まれていることはあまりにも有名です。


さて、そんな黒柳さんのありのままの世界が凝縮されている本なのですが、僕自身が興味深いなと思ったのは、「世界で一番貧しい国からの報告」という章です。ここでは、シエラレオネという西アフリカの国での生活が紹介されています。シエラレオネといえば、昨年公開された映画「ブラッド・ダイヤモンド」の舞台にもなった場所です。この国では、ダイヤモンドが非常によく採れる地域としても有名で、世界各国に輸出されています。ただし、長期間続いた内戦で国内は疲弊していて、一番弱い立場の子供達は兵士や慰安婦のような扱いを受け、心に深い傷を負っていたりします。

そんな地域に黒柳さんがユニセフ国連大使として訪問します。一見普通そうに見える子供達でも、本当につらい体験をしてきたことが切々と伝わってきます。兵士として人を撃たないと生きていけなかった男の子。ブッシュ・ワイフと呼ばれ、いろんな男性に連れまわされた幼い女の子。本当に少しでも世界の惨劇が少なくなればいいのにと思わずにはいられません。

奴隷達が自由を求めて作った国、シエラレオネ。そんな願いが込められて名づけられたはずだった首都フリータウン。遥かなこの地に自由と平和が根付くのを願っています。


もちろん、こんな深刻な話だけじゃなくて、黒柳さんの出演する「世界ふしぎ発見!」の話や、昔のテレビ放送の話なんかもあって、とても楽しめる1冊になっていると思いました。黒柳さんの世界観を知りたい人はぜひどうぞ。

[wiki] 黒柳徹子 - Wikipedia
[wiki] シエラレオネ - Wikipedia
[blog] 映画「ブラッド・ダイヤモンド」 - LostMemories
最近この日記でも研究のことばかり書いていたので、ちょっとブレイクして
別の内容のことを書いてみたいと思います。

実は、ちょっとした悩みが最近できたのです。とは言っても深刻度は0なんですが(笑)
これまではけっこう行動範囲が狭くて、六甲周辺や三宮周辺でうろうろしてることが
多かったのです。が、最近は梅田あたりにも繰り出すことが多くなってやたらとたくさん
歩き回ってますw 悩みというのはそれにちょっと関連したお話。

そんなわけで、これまでになく歩く量が増えたわけなんですが、それと一緒にお腹のすく
スピードもかなり速くなりましたΨ(`∀´)Ψ 今までは朝起きても大学まで行ってご飯食べても
全然大丈夫だったのが、お腹が空きすぎてふらふらします!かなり危険ですw

昨日もオケの練習があって朝も早くから繰り出して尼崎に向かっていたんですが、不幸なことに
家に手軽に食べられる食料がない!我慢して出発したんですが、もう電車の中とか立ってて
足ががくがく震えだすし、もうどれだけ飢えてるんだか(笑)
もうこれはちゃんと朝ごはん食べるしかないなと思いましたゝ(^O^)丿

で、食べ始めたらえらい太りだしたりして…w

大量のファイルを扱っていると、ちょっとした操作ミスなどでファイルの拡張子を付け間違えてしまうことがあります。名前を変えるだけなんですが、それをちまちまと変更していく作業はとても苦痛!ということで、スクリプトを書いて一度に変更してしまいましょう。 *1

では、単刀直入にその拡張子変更スクリプトをご紹介。

#!/bin/sh

for name in *.htm ; do
    mv ${name%.htm}.html;
done

このサンプルでは、カレントディレクトリ内の拡張子が「htm」のファイルを「html」に変更する処理を行っています。 なので、スクリプトをちょっと変更するだけで応用を利かせることが可能です。

[web] 複数のファイル拡張子を一括で変更する - @IT

*1 : ちなみにここでは、Linuxなどのようなシェルが使える環境を前提としています。Windowsの場合は、cygwinなどのUnixライクな環境があればそこで同様に処理が行えます。
今日、やっと修論提出の日程が分かりました。
運命の日は、2月13日(水)。この日の16時までに論文を提出しないと
もう1年大学で過ごさないといけなくなります。
現実的にはなかなかそういうことはないそうなのですが、毎年何人かは
そういう憂き目に遭っているとのことなので、気を緩めずに頑張って
いきたいところです。

さて、今日はこれまで2回もやり直した実験がやっと成功して、ちょっとだけ
前進した感じです。今やっている実験は、大きく2つのフェーズに分割できます。
1つめは、訓練データを使ってパラメータの最適化するフェーズ。
そして、最適化されたパラメータを用いてテストデータで評価するフェーズです。
これまで幾度となくミスってきたのは前者の実験です。
これがとても時間がかかるのです。時間がかかる上にミスってしまうと
さらに時間がかかるということで、非常に神経を使うフェーズなのですが、
なんとかこれをクリアして、後者のフェーズに移行できました。
こっち側はかなり手間がかかるものの、時間はかからないので根性で乗り切るだけですね。

この実験の結果次第で今後の実験の方針が決まるので、できるだけ都合のいい
結果が出てくれることを祈るのみです…。

今、研究で一番なんとかしないといけない問題が、実験をいかにして早く終わらせるかという点です。一応、今のところ最低ラインは通過しているんですが、もうちょっとちゃんとした形にするためにはどうしても追加実験をしないといけないんです。この追加実験がかなりの曲者。HDDの要領もやたらと食うし、パラメータの数もかなり多いのでめっちゃ時間がかかります。なんとかしないといけないんですが…。

とりあえずソリューションとして考えられるのが、
(1)いくつかの実験パラメータを、予備実験の結果を基にして固定してしまう。
(2)パラメータの数は変更せずに、パラメータの取り得る値を減らす。
(3)外部の計算機なども利用するなどして、物量作戦に出る。
(4)プログラムをできる限り高速化して、資源を有効活用する。
というくらいでしょうか。

(1)から(3)までがわりと妥当な方法です。(4)は、バグが入ってしまう可能性があるので、消極的な改善にとどめるべきでしょう。今やっているのが(1)を行うための予備実験なのですが、なんとか早く終わって欲しいものです。

昨日もバグを取ってたんですけど、結局致命的なやつを取り逃したために
もう1回実験をしなおすことになりました(>Д<;)
今度のバグは、これまでのような凡ミスではなく、プログラムとして組むべき
アルゴリズムを間違えていたというやつです。つまり、自分の頭の中で考えていた
プログラムと、本来必要とされる仕様とがずれていたってことです。
これは、一応作ったものとしては正しいのかもしれませんが、仕様を満たして
なかったら意味はないので…。ついでに高速化もしたので、明日には結果が
出てればいいな~。

今日も今日とて研究室にやってきました。
3日にも実験結果を確認しに研究室に来て、プログラムのバグを発見!
1時間ほど地道に調査して修正していました。今日も3日に発見したバグ修正です。
3日から走らせているプログラムは現在も実行中…。やっぱり終了まで3日はかかる
実験で1回ミスったのは大きいです(>Д<;)

一応、期限は7日なんでなんとか終了する公算はあるんですが、かなりギリギリです。
結果はわりといいことは分かっているんで、それほどあせってはないんですが…。
ともかく明日実験が無事に終わっていることを期待するのみです。


今日取ったバグは、わりと予想通り。
計算用のサーバがNFSで構成されているんですが、違うマシンにあるファイルへの
パスの指定が間違っていました。シンボリックリンクではなぜかうまくいかなかった
ので、単純にファイルをコピーして対処。
とっても場当たり的ですが、一番簡単なソリューションです。
これで、実験の評価まで特に問題なく進められます。

あとは、いかにして実験スピードを上げるか。
そして、いかに論文を書くスピードを上げるか…(ノД`)

今日はニューイヤー・コンサートに行ってきました。
会場は、実は就活で近くまでよく来たザ・シンフォニーホールです。
ウィーン・フォルクスオーパー交響楽団の演奏と、シピーウェ・マッケンジー(ソプラノ)、
ヘルベルト・リッパート(テノール)の独唱がとても印象的でした。


ウィーン・フォルクスオーパー交響楽団のことはあまりよく知らなかったのですが、
1898年に皇帝フランツ・ヨーゼフ即位50年を記念して創設された
ウィーン・フォルクスオーパー *1 のオーケストラのメンバーにより
結成された団体らしいです。
曲が曲なだけにわりとこじんまりした編成だったのですが、すごくいい演奏。
ワルツもとっても軽いし、踊っても全然違和感無さそうでした。
てか、実際にヴォーカルの人が踊ってたし(´∇`)
あんな感じで踊ってても、歌う場面になると堂々と歌えるんだからやっぱりすごいです。
オケとも合わせつつ、優雅に聴衆を魅了する。なかなかできないことですよね。

たまたま聴いていた場所がすごくいい場所で、すっごく満足してました。
来年もニューイヤー・コンサートに来てみたいですね(^O^)v

*1 : 国民劇場

今日は久しぶりに映画を観に行ってきました。本当はアイアムレジェンドの予定だったんですが、ホラー映画だということに気がついて急遽変更。goo映画でもけっこう評価の高かった「ALWAYS 続・三丁目の夕日」を観ることにしました。この作品は、「ALWAYS 三丁目の夕日」の続編に当たる作品で、昨年の末から公開されています。

[wiki] ALWAYS 続・三丁目の夕日 - Wikipedia


この作品では、昭和の時代の東京下町に住む住民達のアットホームなやりとりが楽しめます。出来立ての東京タワーや東京駅、路面電車などレトロな雰囲気もなかなかのもの。冒頭では、一瞬ゴジラのパクリか!?と思ったりしたんですがそういうわけではなく、とっても人情味のあふれる作品でした。前作も続けてみるとより楽しめるのかもしれないですねΨ(`∀´)Ψ

映画の最後に流れるBUMP OF CHICKENの「花の名」も、とても映画の雰囲気に合っていてGoodでした!最後にあの曲はグッと来ますね。これはかなりお勧めです!

2日の夜に実家の京都から下宿先に帰ってきました。
向こうは雪が降っていたりしてかなりやばかったものの、
栄養分だけはたくさん蓄えてきました。
そして昨日は、研究やら楽器の初吹きやら、けっこういろんなことをしてました。
年が変わると、何をやっても「初○○」と付くのでちょっとだけ新鮮な気分になれます。

で、昨日行ってきたのは有馬温泉!
神戸にいる間に1度は行ってみたかったので、神社に参るついでに行ってみました。
お正月だというのに、温泉は大混雑!とっても人が多いです。
とはいえ、一度温泉に浸かってしまえばこっちのものでとてもゆったりしていました。

僕が入った温泉の泉質は「含鉄ナトリウム塩化物強塩高温泉」というやつらしいです。
途中の「ナトリウム塩化物」は「食塩」と同義なので、酸化鉄と食塩を多く含む温泉と
いうことみたいですね。見た目も赤褐色で、いかにもFe2O3の溶液っぽかったです。

他にもいくつか温泉はいろいろとあったのですが、とりあえずはここだけ。
時間が許せば、また来てみたいですね~。

Advertizement

このアーカイブについて

このページには、2008年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年12月です。

次のアーカイブは2008年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.0

最近のコメント

kaneko on PowerPoint Viewer 2007が起動しない時の対処法: この情報を見て本当に
hszaki on ハワイアン・バーガー: 残念・・
alto on ハワイアン・バーガー: 食べたその日にこの記
tetsu on ハワイアン・バーガー: マヨネーズは・・・、
hszaki on ハワイアン・バーガー: マヨネーズ入っていた
tetsu on MovableType5にアップグレード: 指摘ありがとうござい
hszaki on MovableType5にアップグレード: 新年早々、エリクサー
tetsu on FFXIII: win2000って.
alto on FFXIII: こっちでも仕事でちょ
tetsu on 所属オケの演奏会: ごめんなさい^^;

カウンタ

リンク