2005年9月アーカイブ

働くってどういうことでしょうなー。素晴らしいチームってなんでしょうなー。
幸せってなんでしょうなー。分かり合うってどういうことでしょうなー。

0929days.jpg
(1999/11/17撮影)

数年前、副鼻腔のそれはそれは痛くて思い出すのもどうかと思える手術をしました。
それまで自分の嗅覚はほとんど死んだと思っていたので、手術後、世の中が香りに満ちていることに気がつき、なんと素晴らしい世界かと思ったものです。

アレルギーが治ったわけではないので、春と秋、気温がぐじゃぐじゃに変化するときは辛いことも多いのですが、それにしても嗅覚が年々鋭くなっているのがよく分かります。

小さい頃の匂いの記憶が、この年になって蘇ります。時々、今、この目の前にある香りはなんだろうと考えるときに、比較する記憶データが古すぎて、少なすぎて、脳が激しく活動しているのがよくわかります。いい香りも、よくない香りも、すべてが文字通り刺激的なのです。

そして、ちょっと想像しづらいかもしれませんが、香りがわかるようになると、味の感じ方まで変わります。うまいものが、もっとうまく感じられるようになります。

どこかに行ったりした思い出も、そこにあった香りとともに記憶されます。
みなさんも似たような経験あると思いますが、飛行機のドアが開いて、ロサンゼルス国際空港に入ったときの香り。ああアメリカだーという感じが記憶として残っています。

香りを自分で作り出して、自分をコントロールすることも覚えました。疲れたとき、気分を変えたいときに、アロマキャンドルをつけたり、紅茶を入れたりします。非常にうまくいっています。

そして、香水です。男でも、つけたことない人はつけてみればいいのに思います。
僕は、人にいい印象を与えるというよりは、自分が気持ちよく過ごすための手段として使っているのかもしれません。気がのったときに、ときどきつける程度です。
年に数回行く香水の店の店長は、男性用、女性用という分類にとらわれずにいろいろ僕にすすめてくれるので、気に入った香水を探すことができます。
別に香水の名前を下げて歩くわけではないので、誰かが作った分類にとらわれずに、自分がいいと思う香りをつけていればいいと思います。
例えば、Ralph Lauren EDTなんて、思いっきり女性用ですが、マンダリン、グリーンアップルリーフ、マグノリアなんかの香りが調和していて(と書いてあるけど、複雑すぎて分かりません)、僕は気に入っています。

これは僕の個人的な捉え方ですが、人が前を通り過ぎたとき、ほのかにいい香りがすると、その人の印象はもの凄くよくなります。女性だとくらくらします。自分と香りの好みが合う人なんて、映画や音楽の趣味が合うということより素晴らしいことじゃないでしょうか。

ほのかに、というのがとても重要です。僕の嗅覚が鋭くなった結果なのかもしれませんが、半径2mくらいの範囲に、香水や整髪料の香りを常に放っている人は、非常に苦手です。エレベータに残るような強い香りです。今通っている会社にもそういう人が2人ほどいます。

その人の自己主張の1つなのかもしれませんが、しかし、一歩間違えば公害の一種だなと思うような強い香りもあります。あれを我慢するのは辛いですね。とても本人の前ではいえませんが。

香りについてちょっと意識してみた秋の日でした。

全部枯れてしまったので、残っていた種をまいて様子を見ていました。
彼らは以前のものより力強く生きています。
まっすぐ育たなくても力強く育てば、いずれ花は咲くのでしょう。

0922cosmos.jpg

誰かがプログラムは猫が動かしていると表現した。
そうすると、あるアプリケーションは、猫が数匹、協調して動かしていることになる。
その猫をリアルに描いていくのがプログラマの仕事だ。
寝不足でも、空腹でも描けない。内線が割り込むと描けない。
音楽がないと、コーヒーがないと描けないって人だっている。

さて、ひさしぶりにプログラマみたいなひとりごとでも書いてみよう。

HibernateでPOJOクラスを書いていると、Serializableクラスのequals(),hashCode()メソッドのオーバーライド実装を必死に書かなければならない状況になった。こりゃつらいなと思っていると、commons-lang-2.1.jarを発見した。
なんと、あんなに苦労して書いてたのにEclipseで右クリックするだけで全部書いてくれるやないか!
Commonclipse、えらすぎ。

public int hashCode()
{
    return new HashCodeBuilder( 1005201205, 1767450647 )
        .appendSuper( super.hashCode() )
        .append( this.temporary_password )
        .append( this.user_id )
        .append( this.locked )
        .append( this.user_password )
        .append( this.last_login )
        .append( this.last_password_changed )
        .append( this.clinic )
        .append( this.login_try_count_today ).toHashCode();
}

でも、 Hibernateのドキュメントには、
We recommend implementing equals() and hashCode() using Business key equality. Business key equality means that the equals() method compares only the properties that form the business key, a key that would identify our instance in the real world.
って書いてあった。ビジネスキーだけでいいんですな。

そうなると、これで十分ということかね。

public int hashCode()
{
    return new HashCodeBuilder( 1005201205, 1767450647 )
        .appendSuper( super.hashCode() )
        .append( this.user_id )
        .append( this.clinic ).toHashCode();
}

ま、appendSuperはいらんか。
まだちゃんと動かしていないけど、短くてシンプルでなんだかよさげだ。
1から書くより、自動生成されたものを削るほうが楽で確実ということかな。

朝晩は冷えるような日もあって、秋の気配がありますが、この鉢を見る限り、夏はまだ続いているようです。
今朝は、ざっと20輪は咲きました。

0918asagao.jpg
shinonome2.jpg
rain.jpg

[ad]