書籍「ニーチェ入門」(2008/04/28)書籍「そうだったのか現代思想」で紹介されている哲学者の中でニーチェに一番興味がわいたので「ニーチェ入門」を読みました。やさしい言葉でニーチェについて説明されていてわかりやすかったです。わかっていなくて、自分なりの解釈ですがニーチェの哲学は共感できますね。視野が狭くなった時にこの本を読み返したいです。自分なりにニーチェの考えを以下にまとめてみます。・世界には何の意味もなく、人間の認識というのは自分の利益のために世界から対象を切り分けることでしかない。・そんな世界の中でなぜ人が絶対的なもの(神)を求めるかというとルサンチマンのせいである。そのようなルサンチマンからの信仰は人間に害を及ぼす。・意味のない世界の中で、人は何を基準にしたらいいかというと自身の生である。人間に知恵をも与えた生のみが絶対的な基準となりうる。それにしても、ニーチェというのはすごい人ですね。西欧で絶対的な価値観となっていたキリスト教を解体し、もう一つの価値観を提供しようとする試みは並大抵のことじゃできないと思います。コメント:0書籍「そうだったのか現代思想」(2008/04/28)書籍「そうだったのか現代思想」を読みました。講義を元にした平易な言葉でニーチェからの現代思想を説明している本です。わかりやすいとは思いましたが、たぶん十分に理解はできていません。哲学的な思想が強く歴史と結びつき、影響を与えているのだと感じました。ニーチェの考えがナチズムに結びつけられていたことなどは全然知りませんでした。今自分が当たり前に思っているようなことがここ150年くらいの哲学で考えられてきたことだとも感じました。哲学に限らず歴史を調べていて、ここ150年くらいの人の変化というものは凄いものであると最近感じてます。地獄の塹壕」をDVDで見ました。イラン・イラク戦争で、前線の塹壕に取り残されたイラン兵3人を描いた作品です。大半を3人が暑さに苦しみながらしゃべっているだけという地味な作品です。この会話や後半の衝撃的な展開がよく戦争というものを描きだしてると思います。部隊が全滅しても任務を続けられるような強い上官が迎えるラストには説得力があります。この作品はどこの国でも通用するような戦争のテーマを持っている良作だと思います。塹壕というシチュエーションを良く生かしたストーリーや異国情緒あふれるBGMが良いですね。それにしても、こんな良作の戦争映画をミリタリー・アクションと偽って売ろうとするDVD配給会社は売り方が下手だし、作品を冒涜してると思います。余談ですが、DVDの映画の宣伝にある「胡同の理髪師」をすごく見てみたいです。国のために戦争に参加したジョーですが、爆弾の直撃を受け、目鼻耳口手足の何もかもを失います。意識だけが残ったジョーは、人とコミュニケーションできなくなった体でわずかに世界を感じ、過去を振り返り現在を考えます。個人的にいまいちピンと来てない作品です。戦争に行かせた方が絶対的に悪とされているからですかね。確かに耳ざわりが良い言葉で戦争に行かせた人に責任はあると思いますが、耳ざわりが良い言葉を聞いて決断した自分も責任がないわけではないと思うんです。主人公のジョーは自分で選択して戦争に行ったのに、そのことに対する後悔や反省といったものを感じられませんでした。相対主義な現代の中で、絶対的な立場で反戦や悪ということを描いてしまっていることに限界があるような気がします。コメント:0書籍「お父ちゃんと私」、「ゲゲゲの女房」(2008/04/16)書籍「お父ちゃんと私」、「ゲゲゲの女房」を読みました。水木しげるの奥さんと娘が水木しげるのことを書いた本です。生ける妖怪、水木しげるの新たな面がわかっておもしろかったです。ない人だということを再認識したと同時に、努力家で仕事に生きる一人の父親としての姿もリアルに感じることができました。あと、水木しげるの漫画もあわせて読むと、父母娘それぞれの立ち位置から家族がどう見えているかもわかっておもしろいですね。家族なのでエピソードがリンクするところはあるんですが視点が違いますね。コメント:0砂丘清掃(2008/04/13)砂丘清掃に自転車で行ってきました。清掃後に同期もう一人と海鮮丼を食べて、一緒にいろいろ散策しながら帰ってきました。最近はゴミがほとんどないですね。それ自体は良いことなんですが、余ったゴミ袋が大量に無駄になっている気がします。以下のような光景を見たのもあって、なんだかなあと思ってしまいます。砂丘のみやげもの売り場があるあたりかららっきょ畑の方まで遊歩道があるみたいです。砂丘に早くついたので30分ほど歩いてみました。あたりを散策してみて、以下のことがわかりました。・以前の記事を書いた時に見つけた謎の石像群は宿舎「砂丘荘」が飾ってる七福神の像みたいです。・護国神社より上は山頂付近にゴルフ場があるだけで行き止まりのようです。砂丘と反対の市街地側が見えました。砂丘トンネルの上あたりから砲台跡探し鳥取砂丘にあったという砲台の跡をさがして砂丘の西の端あたりを探してみましたが、よくわかりませんでした。案内板の地図には松林の中くらいに砲台跡と書いてあったんですが。帰ってきてネットで調べたら以下の記事を見つけました。Yahoo!ブログ廃墟の砂丘パレス前のロータリー(本当でしょうか?)と一里松の所にあったみたいですね。それにしても、こういう過去のことが今にまったく伝達されていないあたりもったいないですね。帰りは子供の国の横をはしる自転車道をずっと通って千代川まで出ました。あちこちで花が咲いてました。コメント:0映画「デスレース2000」(2008/04/12)久しぶりに何も考えずに見られる映画が見たくなって、1975年のアメリカ映画「デスレース2000」を見ました。いやあ、頭の悪い作品ですね。西暦2000年の未来(1975年当時)のアメリカが舞台です。アメリカを東から西へ横断するカーレースの話なんですが、このカーレースがとんでもないです。人をひいたら得点になり、しかも老人・子供の得点が高いという始末です。登場人物ではV1ロケットを模したような車に乗ったナチス野郎とか出てきて、平気で鍵十字付けてるあたり最高にアホですね。あと、映画「ロッキー」でおなじみのシルベスター・スタローンが脇役で出てました。食べていくってほんと大変ですよね。たいがいアホなシーンしかないんですが、病院の医者や看護婦が安楽死デーと称して老人を道に配置してく(もちろん轢かせるため)シーンが特にシュールでした。道路上に車椅子やベッドごと老人を配置して、その老人たちがニコニコしているところに車が近づいてくる画は狂ってます。それにしても、全編を通してアメリカらしさという部分をブラックジョークにしてしまっているところが興味深いですね。この映画が発表された1975年はベトナム戦争が終わった年でもあります。その時代の人々の空気を読んでジョークで表現しているところがあるんじゃないかと思いました。X用のウィジェットで、天気予報サイトから雨雲の画像を取ってきて表示するものを作成してみました。同じ機能のものがありそうですが、勉強ついでで作ってみました。Dashcodeを使うと開発が楽ですね。機能概要livedoor天気予報の雨雲予報の画像を一定時間ごとに取得して表示します。以下の機能があります。裏面のポップアップメニューで、予報地域を選択できます。表面のボタンで、現在~6時間後までの予報画像を順に切り換えできます。1、2.で選択した画像を一定時間ごとに取得して表示します(最大で5分の遅れが出ます)。注意事項テストを十分にしていないのでバグがある可能性があります。使用は自己責任でお願いします。コメント:0OSXでJude(2008/04/06)普段UML図を描くのにJudeを使っているんですが、OSXに導入してみました。導入環境は以下となります。10.5.2Jude:jude-community-5.2.1導入にあたっては以下の記事を参考にしてMacアプリケーションとして登録し、動作することを確認しました。コメント:2映画「ベルリン天使の詩」(2008/04/05)1987年のドイツ・フランス映画「ベルリン天使の詩」を見ました。ベルリンに居て世界をただ観察するだけだった天使が、恋をして人になるというストーリーです。人によっては、つまらない、ヨーロッパ映画はわけがわからないと言われそうな作品ですが、個人的には良かったです。ファンタジックできれいな映画ですね。映画を見ていると、ベルリンという見知らぬ街に行って、見知らぬ公園のベンチから行き交う人を見ているような気分になります。全体を通してベルリンという街の空間がよく表されていると思います。石造りのアパートが建ち並び、トルコ人などの労働者がいて、人々に第二次世界大戦で瓦礫となった記憶が残っているという街の様子がよくわかります。映像面では、天使の視点の場合はモノクロで、人での視点ではカラーになっていますが、なかなか効果的な表現ですね。した空をモノクロで映してりして観る人に色を意識させ、天使が物事を肉感的に感じられないことをうまく表していると思います。ストーリー面では、観察するだけで苦しみも喜びも感じない天使と人を対比させて、人の持つあたりまえの生生しさを際立たせて表現していると思います。HttpClientでのTCPコネクション(2008/04/01)仕事でサーバの負荷テストのため、ツールを作成し多数のスレッドからHTTPリクエストを送ってみています。HttpClientを使っています。ツールを使用中にnetstatコマンドを使って、状態を見ると多数のTIME_WAIT状態のコネクションが発生しています。ツールを使っていくと、空きポートがなくなり通信エラーが発生するようになります。Windowsのデフォルト値では5000ポートまでしか接続できないので、レジストリをいじってポート数を増やすとなんとか通信エラーは発生しません。上記の現象がツールのバグなのか正常ケースなのかわからないために調べてみました。ここでは、その調査結果を記録します。結論を言えば、TCPの仕様のようです。TCPのコネクションについては以下のサイトがよくわかりました。No.39また、まさに上記の現象について説明している英語サイトを見つけました。英語は苦手なので翻訳した結果を以下にメモしておきます。内容や訳が間違っているところがあるかと思います。以下の文書は、http://wiki.apache.org/jakarta-httpclient/FrequentlyAskedConnectionManagementQuestionsの内容の一部を翻訳したものです。TIME_WAIT状態のコネクションTIME_WAIT状態アプリケーションを走らせた後に、netstatコマンドを使用します。すると、たくさんのTIME_WAIT状態が見つかります。ここで、あなたはなぜこれらのコネクションがクリーンアップされないか疑問を持つでしょう。TIME_WIAT状態とは何かTIME_WAIT状態は、TCPの保護機能です。ソケットを閉じる側は一般的に1~4分TIME_WAIT状態でコネクションを保ちます。これはコネクションを閉じた後に起こり、クリーンアップの問題ではありません。TIME_WAIT状態はデータの損失と破損を防ぎます。2.7を参照して下さい。どのコネクションがTIME_WAITになって、他がならないかもし、コネクションがアプリケーションによって正しく閉じられるなら、TIME_WAIT状態になります。コネクションがサーバで正しく閉じられるなら、サーバはTIME_WAIT状態を保ちクライアントはそうではありません。結合がリセットされるか、正しくないやり方でアプリケーションが落とされるなら、TIME_WAIT状態とはなりません。残念なことに、コネクションが正しく閉じられるかどうかは、あなたにとって必ずしも明らかではありません。これはコネクションがプールされてデフォルトで再利用のために開いておかれるからです。HttpURLConnetionはそうします。大部分のアプリケーションは単にリクエストを実行し、それからレスポンスのストリームから読み込みます。最後にストリームを閉じます。レスポンスのストリームを閉じることは、コネクションを閉じることと同じではありません。レスポンスのストリームを閉じると、プールにコネクションを返します。それは可能ならば開いておかれます。別のリクエストを同じホストに2、3秒(分)以内に送るなら、これは多くの時間を節約します。コネクションプールにはコネクション数の限界があります。プールは5、または100、もしくは1つだけのコネクションを持つかもしれません。ホストにリクエストを送信し、ホストへの開いたコネクションがプールにない時、新しいコネクションを開く必要があります。プールが既にいっぱいである場合は、新しいコネクションが開かれる前に、開いたコネクションは閉じられなければいけません。この場合は、古いコネクションは正しく閉じられ、TIME_WAIT状態となります。アプリケーションが終了してJVMが終わるとき、プールの開いたコネクションは正しく閉じられないでしょう。それらはTIME_WAIT状態になることなく、リセットかキャンセルされます。これを避けるために、アプリケーションが使っているコネクションプールのshutdownメソッドを終了する前に呼ばなければいけません。標準的なHttpURLConnectionは、コネクションプールをshutdownする公開メソッドがありません。ポート数の使い果たしアプリケーションには、たくさんのコネクションを短時間で開いて閉じるものがあります。サーバの負荷テストする時などです。TIME_WAIT状態でコネクションは、そのポート番号が他のコネクションのために再利用されることを防ぎます。これはエラーではありません。TIME_WAITの目的です。TCPは、JAVAを通してではなくOSレベルで設定されます。最初の行動としては、マシンでの短命なポート数の増加するべきです。Windowsは短命なポート数において低いデフォルト値を持ちます。PerformanceWikiには、一般的なOSチューニングのTIPSがあります。それぞれにのTIPSにはNetworkのセクションがあります。短命なポート数を増やすことが問題を解決しない時だけ、TIME_WAIT状態の持続時間を減らすことを考えるべきです。一般的に2度の遅延時間を考慮にいれた時間であるTIME_WAITの持続時間として、IPパケットの最大有効期間を減らさなければならないでしょう。これはマシンで動いている全てのアプリケーションに影響を及ぼすことに注意して下さい。方法を私たちに聞かないでください。私たちはネットワークチューニングの専門家ではありません。アプリケーションレベルで問題を扱う若干の方法があります。close」ヘッダを送ることです。それはサーバにコネクションを閉じるように言うので、向こう側でTIME_WAIT状態になります。これはプールしているコネクションのkeep-aliveの特徴を無効にし、それによってパフォーマンスを低下させます。サーバに対して負荷テストをしているなら、アプリケーションの一般的でない動作は、試験結果をゆがめるかもしれません。別の方法はコネクションを正しく閉じないことです。コネクションを正しく閉じる代わりにリセットさせる特別な値としてSO_LINGERを設定する方法があります。APIは直接これをサポートしていないことに注意して下さい。このハックを実装するためにいくつかのクラスを拡張や修正する必要があります。別の方法は、TIME_WAITのコネクションによってまだふさがれているポートを再利用することです。ソケットを開くとき、SO_REUSEADDRオプションを指定することによって可能です。Java1.4はこの目的のためにSocket.setReuseAddressメソッドを導入しました。これでも、HttpClientのクラスを拡張・修正する必要があります。少なくともそれはハックではありません。コメント:0プロフィールAuthor:おげれつ脱脂綿twitterアカウント:mechamogeraほとんどつぶやいていませんが。