Takayuki Okazaki's Weblog
ブログ: 岡崎 - Okazaki's blog
20080505 2008年 5月 05日 月曜日
プロジェクトFuji、すごそうですよこれは。
English Translation: (Yahoo!) / (Google)
mediacast.sun.comをうろうろしていたら、Project Fujiのスクリーンキャストを発見しました。まだざっとしか見てませんが、どうやらProject Fujiは結構クールな感じですね。
Project Fuji, Screencast demo scenario
デモのシナリオです。(1) CNNのRSSを、インスタントメッセージングの標準プロトコルXMPPを使って配信、(2) もう少し進んで、JRubyを使ってRSSをフィルタリング、(3) 配信先をXMPPだけではなくてファイルにもアーカイブとして配信。といったシンプルな内容です。
Project Fuji, IFL (Integration Flow Language)
これがIFL(Integration Flow Language)という記述言語でぱぱっとかけてしまうようです。JBIが出た当時(2005年)に、いろいろXMLを書きまくったあげくにようやく動いたのがこれか〜、とため息をついたのとは大違いです。ずいぶん簡単、シンプル。しかもスクリーンキャストを見る限りすでにこのIFLはNetBeansが構文サポートしているようです(左下のNavigatorペインや、右のエディタで構文ハイライトされています)。プロジェクト自体はMavenで管理されていて、Mavenからアプリケーションの構築から実行まで全部できるようです。ESBのようにやたらと依存関係が複雑になりそうなアプリケーションだとずいぶん楽になりそうですね。NetBeans 6.1のMavenサポートはよくできているそうですし、ちょっとしたことならMavenを意識すること無く開発ができるようになるのかも。


20080504 2008年 5月 04日 日曜日
Open ESB v3とプロジェクトFuji、GlassFish ESB
English Translation: (Yahoo!) / (Google)
_DSC4959-D
JavaOne 2008および、プレイベントであるCommunity Oneもまだ始まっていませんが、フライングしているのか、もともとスケジュール通りなのかよくわかりませんが(笑)、なんだかいろいろと情報が出てきています。Open ESBはそろそろv2がリリース間近だったので、JavaOne/CommunityOneではてっきりv2の正式リリースが大きな節目だろうとおもっていましたが、ここにきてv3のアナウンスです
さて、微妙にここでいくつか新出単語が出てきますので、キーワードまとめておきましょう。
  • Open ESB ... JBI (JSR 208)準拠のエンタープライズ・サービス・バス(ESB)の実装プロジェクト。
  • Project Fuji ... Open ESB v3のコアコンポーネント。OSGi/JBI(JSR 208)ベースのマイクロESBマイクロカーネル。Open ESBプロジェクトのサブプロジェクト。
  • GlassFish ESB ... GlassFish v3とOpen ESB v3 + Project Fujiを組み合わせたライトウエイトのESBプラットホーム。
うーん、ややこしい。とくにOpen ESBとGlassFish ESBというかたちで二つにたようなプロジェクトが出てくると、混乱しますねぇ・・・。Project FujiはGlassFish v3におけるHK2 (Hundred Kilobytes Kernel)みたいなものだと考えればいいでしょう。おそらく、JBI/ESBのコアとして必要な機能はFujiに集約され、バインディングコンポーネントやサービスエンジンといった周辺コンポーネントはOpen ESBプロジェクト下で開発/統合されるのでしょう。
_DSC5018-D
Open ESBページのアナウンスより。
With Open ESB v2 core runtime winding down in terms of functionality, Open ESB team is proud to announce to v3 effort. Version 3 of Open ESB leverages OSGi and JBI to come up with a powerful service oriented integration platform that's agile and modular platform. The core framework for Open ESB v3 is implemented at Project Fuji. Check it out at http://fuji.dev.java.net. Open ESB v3 will be supporting various application server containers, like GlassFish, JBoss, WebSphere, WebLogic, etc, but also runs standalone on Java SE. In the Java SE case, all you need is an OSGi container like Apache Felix. Open ESB v3 on GlassFish is offered as GlassFishESB (http://GlassFishESB.org) which offers powerful integration with GlassFish v3 technology leveraging its modular implementation.
また、Open ESB v3はGlassFish以外のアプリケーションにも組み込んで使えるようにするようで、JBossやWebSphere、Weblogicでも動作し、さらにはスタンドアロンのJava SE (+ OSGi)でも動作するようにするつもりのようです。つまり、Open ESB v3がリリースされると、GlassFish上でもOpen ESB v3が使えるし、JBossやWeblogic上でもOpen ESBが使えるようになります。そして特に、GlassFish上で使う場合にはGlassFish ESBを使うことになるのでしょう(おそらく管理機能などがGlassFishと連携するなどして強化されると思う)。今のところはこれ以上のことはわかりませんが、たぶん、ここ2〜3日のうちにどんどん情報が出てくることでしょう。(それにしてもなぜプロジェクト名がFujiになったのかが気になりますねぇ)
追記:Open ESBのWikiに載っていました。この書き方が一番わかりやすいですね。
Open ESB v3 = Project Fuji + Project Open JBI Components
GlassFishESB = Open ESB v3 + GlassFish + GF specific integration modules + Open SSO + .. +


もうすぐJavaOne 2008ですね
English Translation: (Yahoo!) / (Google)
太平洋時間5月6日より、サンフランシスコでJava系最大のイベントJavaOne 2008が始まります。今年はいろいろと都合が付かず現地では参加できないのですが、ストリーミング配信などもあるようなので遠隔で参加してみることにします。今年参加できないのは残念でならないのですが、同時にすこしほっとしています。なにせJavaOneは朝8時ごろから始まり、最後のBOFは夜11時頃まであるし、その上、行くからにはブログを書いたり、ハンズオンラボのお手伝いをしたりと休む暇がありません。
TS-1188: Java Puzzlers: Tiger Traps
JavaOne 2006の時は本場のJavaOne初参加ということもありはりきって行ったのですが、ブログも初日、二日目ぐらいまでしか書けず・・。JavaOne 2007では、少し要領も得たのでセッションの合間にブログを書いたりしていましたが、さすがにハンズオンラボのお手伝い 2時間 x 4コマは堪えました。今年は現地にも行かないので速報的なネタを書くよりも、少しネタをしぼって何か紹介したいところです。


spamは30歳になったそうです
English Translation: (Yahoo!) / (Google)
blogs.sun.com全読み中にみつけた面白そうな記事のご紹介です。 Happy 30th Birthday, Spam! (An audience of two)より。
On May 2nd, 1978 (or possibly May 3rd, depending on who you believe) Gary Thuerk sent the first ever unsolicited commercial email. Though the actual term SPAM wasn't coined for another 15 years, according to Brad Templeton. Happy f5g birthday, Spam.
なんと、スパムの誕生日は僕と1日しか変わらないではないですか!spamと同い年というのも感慨深いような、そうでもないような・・・・。少なくともスパムの方が僕より長生きしそうですね。


20080502 2008年 5月 02日 金曜日
Lomo Fisheye2とFisheye submarine
English Translation: (Yahoo!) / (Google)
フィルムカメラが統計情報から消えたというのにも関わらず、今年に入って2台目のフィルムカメラを買ってしまいました。一代目はMamiya RZ67という中判の大きなカメラでしたが、2台目はいわゆるトイカメラというカテゴリに分類されるカメラで、LomographyのFisheye2(7,500円ぐらい)というやつです。
_DSC6357-D
このFisheye2はその名のとおり魚眼レンズを搭載したカメラで、視野角は170度だそうです。絞りはF8固定、シャッタースピードは1/100固定 or バルブ撮影、ストロボ搭載、多重露光機能搭載。というかんじで、露出はちょっと難しいかもしれませんが、意外にいろいろできそうなカメラです。ゴム製のストラップとレンズキャップが付属しています。ただ、ご覧のとおりレンズ部分は突起しているので、Ricoh GX100を入れているペットボトル入れには入りそうにもありません。自転車でぶらぶらしながら使うときにどうやって持ち運ぶかはこれからの研究課題です。
_DSC6359-D
ホットシューに付けられるファインダーが付属しています。結構とれやすいのでこれもひもとかで繋いでやらないとなくしそうです・・。魚眼の外付けファインダーなのでパララックスは相当な物ですが、なんとなくどれぐらいの範囲が映るのかはわかります。そもそも厳密な写りを求めるカメラではないので「だいたい」とか「なんとなく」というような感じがいいですね。
_DSC6363-D
ホットシューには外部ストロボがつくのでこんな感じにも!? さすがにカメラ本体よりもストロボの方が重いとバランスが・・・。そういえばストロボ(ニコン用語ではスピードライト)Nikon SB-600も友人の結婚式のために買ったんですが、まだブログに書いてませんでしたね・・。それはまた今度。
さて、このFisheye2は前からLOFTとかで見かけるたびに欲しいな〜、とは思っていた物の、買う決定打がありませんでした。それが今回買ってしまった理由はFisheye submarineという水中用ハウジングが純正品として提供されていることに気づいてしまったからです。
_DSC6557-D
最近はコンデジでも水中用ハウジングが純正品として提供されることが多くなってきましたが、ざっと見る限り水中用ハウジングというとだいたい2万円程度。それがこのFisheye submarineは7500円ぐらいとかなり手頃。潜れる水深が20mまでと、ちょっと物足りませんが、少なくともストロボなしで魚眼レンズが必要な分には十分でしょう。たぶん、シャッタースピード1/100秒、絞りF8だとISO400のフィルムを入れていても、20mも潜ると沖縄の海でもしんどいぐらいではないでしょうか。
_DSC6565-D
またすばらしいことにストロボのディフューザーがついています。わりと大きめなのでマクロ撮影っぽい感じに使えそうです。あと、これは脱着式なのですがちゃんとなくさないようにひもで本体に結わえ付けられています。心配していたのはOリングとグリスがあるかどうかなのですが、とりあえずグリスとOリングの替え1つ、Oリングリムーバーがついてくるのでカメラ本体とハウジングだけ買えば始められるようです(追加でOリングだけ買えるかは不明ですが・・)。
まだ海写真は撮っていないので、とりあえずは出来上がった陸写真をご紹介しておきます。
img155
多摩川沿いでやっていた、こいのぼり祭り。
img153
多摩川沿いのアブラナ。ブログに載せるぐらいのサイズだと気になりませんが、拡大するとどこにもピントが合ってないような気がしてなりません(笑)。これもトイカメラの面白さ。
img162
魚眼レンズならではのゆがみ。
img160
適当にフレーミングしてますが、もともとデフォルメがすごいので、どんな風に撮ってもそれなりに味わいが感じられます。


何かに見えるもの
English Translation: (Yahoo!) / (Google)
昨日はちょうど30歳になる誕生日だったので、一人寂しく、家で祝杯をあげてみました。さすがに祝杯に缶ビールでは感じが出ないので、ちょっと贅沢にスパークリングワイン(の一番安いやつ)を買ってきました。メタボを警戒してケーキは買ってきませんでした(何をいまさら・・)。さて、それはおいといて、そのスパークリングワインのコルクが何かに見えることに、今朝掃除しているときに気づきました。
_DSC6552_1
こうやって目を書いてやれば・・・。
_DSC6552_2
人の横顔でした。


20080501 2008年 5月 01日 木曜日
MavenのISO-8859-1化を阻止しよう、祭
English Translation: (Yahoo!) / (Google)
詳細はnekopさんのブログをご覧ください。MavenがISO-8859-1オンリーな感じになってしまいそうな状況(+1 on (b))を阻止すべく、みんなでWikiに(+1 on (a))を支持するぜ!って書き込みましょう。というキャンペーンというか祭りです。
Mavenファンな方、とにかく祭りが好きな方は詳細はnekopさんのページにやり方が書いていますのでご参照の上投票を!


20080429 2008年 4月 29日 火曜日
絶望した!Mavenの開発者に絶望した!
English Translation: (Yahoo!) / (Google)
[java][maven] これだから世の中にはiso-8859-1しかないと思ってる奴らは..(川口耕介の日記)より。
とりあえずリンクはって置きます。
Without default value for source encoding, platform encoding is used, which is bad for build reproducibility. Then setting a default value consistently across every Maven plugin will improve build reproducibility. Proposed default value: ISO-8859-1, which must be supported by every JVM (see java.nio.Charset) and is already the default value for some plugins (the majority of plugins use platform encoding as a default value instead). Note: Using a fixed default value for the encoding instead of the platform encoding can potentially break builds that rely on a platform encoding other than the proposed Latin-1 but did not lock this down in the POM. It is assumed that those builds:
  1. are neglectable in number
  2. are easy to fix by setting the new property
POM Element for Source File Encoding


20080424 2008年 4月 24日 木曜日
planets.sun.com/Japanを作りました
English Translation: (Yahoo!) / (Google)
planet.sun.com/Japan
blogs.sun.comには英語、日本語様々なブログがありますが、特に日本関連の読みたい場合はジャパンブロガーズリンク集のページがあるので、まあ困りはしないのですが、OPMLでがつっとRSSリーダーに取り込みたい!っていうような要望もあるかもしれないということで、勝手にplanets.sun.com/Japanというのを作りました。
どうやら、planets.sun.com上にはSun社員なら勝手にカテゴリが作れるようです。これはかなり便利です。これでジャパンブロガーのOPMLも自動生成されるので便利ですね〜。
訂正:planet.sun.comとしていましたが、planets.sun.com に転送されるのでこちらに訂正しました


ThunderbirdのRemove Duplicate Messages (Alternate)アドオン
English Translation: (Yahoo!) / (Google)
Sunは伝統的にEmailハッピー(わりと些細なことでメールしても抵抗感がない、メーリングリストへのマルチポストもさほど抵抗感が無い)な会社なのと、たくさんメーリングリストを購読しているので手元には毎日200〜400通のメールが来ます。その200〜400通のうち、だいたい5〜20通はいずれかのメールの重複で、たとえばToに自分あて、CCにメーリングリスト宛で2通、といった具合です。
メールをいかに早くさばくか、が、仕事の能率に直接影響するので間違って既に読んだメールを、重複転送されたメールによってもう一度読んでしまうというのはちょっと悔しい思いをします。そこで昔から使っているのがThunderbird向けの重複メール削除アドオン、その名もズバリRemove Duplicate Messages (Alternate)です。
Remove Duplicate Messages (Alternate)
このアドオンは送信日時やMessageId、送信者などいくつかの条件によってメールが同一であることを判断し、同一なメールがあればリストを表示して削除するかどうかを尋ねてくれます。もちろん、同一ではないと目視チェックできれば、チェックをはずすだけで削除対象から外すことができます。
さて、こんな便利なツールなんですが、いつも困るのがバージョンアップです。実はこのアドオンの名前、(Alternate)とついているのは、元々オリジナルのRemove Duplicate Messagesアドオンがあったからなんです。オリジナルのRemove Duplicate MessagesアドオンはThunderbird 1.x専用で、2.xへの対応がなかなか進まず、メンテされる様子が無かったので、別の方が新しく作り替えたもののようです。この混乱時期は結構、苦労しました。
さて、Alternate版がでて安心していたら、今週Remove Duplicate Messages (Alternate) 0.3が出たので更新しますか?との自動更新確認が出てきたので、あまり深く考えずに更新しました。そうしたら、全く重複の検出がうまく行かなくなってしまったではないですか!
Remove Duplicate Messages (Alternate)
フォーラムにも似たようなコメントがあるので手元の環境に依存した問題ではなさそうです。しようがなく一つバージョンを戻そうと思ったのですがなかなか見つかりません・・。途方に暮れていましたが、検索条件をちょっと変えてみたらなんとかZDNet.co.ukのサイトでバージョン0.2.1が見つかりました。インストールしてみたら無事昔の通りうまく動いたので一安心です。
追記(4/25):探せば普通にMozillaのサイトにありました。失礼しました。


20080417 2008年 4月 17日 木曜日
ホットトピックセミナー 2008年4月号のストリーミング配信
English Translation: (Yahoo!) / (Google)
昨日行われました毎月恒例のJava Hot Topicセミナー4月号を収録したストリーミング配信のご案内です。資料はまた準備ができ次第Javaエバンジェリストブログにて公開させていただきます。

初心者のための実践 JRuby on Rails 講座 〜 RSS リーダを GlassFish で動かそう 〜

野澤 智(のざわ とも)

Javaパズラーズ

大渕 雅子(おおふち まさこ)片貝 正紀(かたかい まさき)
その1

その2

Sun のオープンソース 暮らしの手帖 - OpenSSO 編

岩片 靖(いわかた やすし)


20080416 2008年 4月 16日 水曜日
フォトシェアその2
English Translation: (Yahoo!) / (Google)
ずいぶん前にフォトシェアの話を書きましたが、SunではプレゼンテーションやWeb制作のために社員が撮った写真を車内で共有して使えるようなインフラを用意しています。前はUltraSPARC T2の紹介にてjp.sun.comのトップで使っていただきましたが、今回は来月サンフランシスコで開催されるJavaOneの大学生向けプログラムの紹介で使っていただきました。そういえば、ご存知でしたか?学生の方は(結構高い)JavaOneの参加料が無料になるんです(宿代や足代は自腹ですが・・)。気になる方はぜひ登録を!
Student Program for JavaOne
ちなみにこちらの写真は一昨年、小笠原で撮った写真です。


Sun Java CAPSの次のリリース
English Translation: (Yahoo!) / (Google)
すでに輪崎さんがブログで書かれていますが、SunのSOA基盤ソフトウエア製品であるSun Java CAPSの次のリリースであるRelease 6の最新情報をつかむべく先週は中国のシンセン(深圳)に行ってきました。シンセン旅行記については、まだ写真のアップロードが完了していないのでまた別途書きますが、とりあえず最新情報としてトレーニングの本題であるSun Java CAPSについてお伝えしておこうと思います。
Sun Java CAPSは2005年にSeeBeyond社を買収し、SeeBeyond社の持っていた主力SOA製品であるICANスイートをSunのJavaを基本とするテクノロジーをもとに洗練したソフトウエア製品群です。ICANスイートの時代からEAI/ESBの基盤であったeGateは日本でもかなりご利用いただいており、ミッションクリティカルな環境でもばりばり動作しています。そんなSunの次の手はオープンスタンダードへの準拠です。Current AnalysisのSOAスイートの評価でSun Java CAPSが一番たかく評価をいただいているのも標準準拠が高く評価されているからです。
Sun Java CAPS Release 6からは従来のSeeBeyond ICAN Suiteで培った技術、資産を活かしつつ、新たな基盤としてOpen ESBを選択しました。Open ESBはJavaのESB標準であるJava Business Integration (JSR 208、略称JBI)に準拠した実装です。Open ESBはもうそろそろバージョン2.0が正式リリースされるようなタイミングですが、Open ESB 2.0のリリースをベースにSun Java CAPS R6がリリースされます。
さて、Sun Java CAPS Release 6ではOpen ESB以外にも先進的なオープンソースの成果を取り入れています。それはご存知NetBeans 6です。SeeBeyondの時代から実は開発環境はNetBeansベースだったんですが、わりとNetBeansプラットホームからプラグインに至るまで結構なカスタマイズが入った、NetBeansをベースとした別物の開発環境でした。それが今回のリリースではNetBeans 6を基盤として、それに比較的プラグインのような形でNetBeansに開発環境として取り入れられているので、たとえばNetBeansのSOA機能新しくなったエディタJava EEサポート、あるいはCVS/Subversionなどのバージョン管理機能といった使い勝手がそのまま統合されています。
つまりイメージとしてはこんな感じです。
ねこび〜ん CAPS
ねこび〜ん by カネウチカズコ licensed under Creative Commons 2.1 By-SA JP。
NetBeansとJava CAPSの統合例。Java CAPSという名前でいつも思い描いていたのが帽子。ねこび〜んのかわいさにあわせるならこの新学期シーズン、黄色の帽子しかありません。


20080407 2008年 4月 07日 月曜日
読みたい記事リストから
English Translation: (Yahoo!) / (Google)
Way to Grenoble, Apr 2nd, 2008
先週はDirectory Masters Eventのためにフランス/グルノーブルに行っていましたが、今週は別のイベントのために中国の深圳(シンセン)にいます。深圳は香港の隣の都市で、香港空港からバスで1時間ほどです。途中で香港当局のチェックと、中国当局による入国チェックの2回のチェックがあります。隣に乗っていたおじさんが親切に教えてくれたため、なぜバスをいきなりおりなければならないのか?のような疑問なく通過することができました。一方、フランスからスイスに抜けたときは国境をまたぐ道路のゲートでも、ジュネーブ空港の出国審査でさえもパスポートを見せること無く顔パスで通過。この24時間でずいぶん空気の違いを感じました。
さて、それはさておきフランス滞在中はインターネットアクセス事情があまり良くありませんでした。泊まっていたホテルにはWifiがあったのですが、2分使えて、その後15分は使えない。というような状況がずっと続き、写真のアップロードどころかメールのチェックすらまともにできませんでした。グルノーブルのオフィスではもちろんインターネットも使えましたが、イベント中のためメールチェック程度しか時間が取れませんでした。こうなってくると困るのがRSSの購読残の増加です。個人的にはRSSリーダとしてグーグルさんのGoogle Readerを使っているのですが、その統計によれば一日だいたい200エントリ程度を購読しているようです。
さて、Google Readerには個人的に気に入っている機能としてスターをつける、という機能があります。キーボードショートカットの「s」で記事に対して星をつけることができ、またスターをつけることができるエントリ数に制限が無い、極めつけにスターをつけた記事のRSSを公開できる。というところがとても気に入っています。おそらく、このスターは人によって使い方が若干違うと思いますが、個人的には「後で読みたい記事リスト」として機能しています。 さて、この中で興味深かったのがJames Goslingが取り上げていた川口さんの「Deep dive into assembly code from Java」という記事です(川口さんのブログも購読しているのにGoslingのブログで気がついたのもどうかと思いますが・・・)。JavaのHotSpot VMがどのように最適化をしているかを説明しています。これも後で読もうと思っていたんですが、同じく川口さんの記事で「I resurrected my Japanese blog」を見て、川口さんの日本語ブログがあるのを知りました。しかもそこにはなんと、読もうと思っていたDeep dive into assembly code from Javaの日本語版があるではないですか。これは早速読まねば、と思い先ほどから読み進めていました。
アセンブラもずいぶん触っていないので最初この記事を見たときも、SPARCのアセンブラなのか、x86のアセンブラなのか一瞬迷った、というお粗末ぶりですが、個人的にアセンブラできちんとプログラムを書いたのはz80とせいぜい80286アセンブラまでで、80386以降はまるでやっていませんでした。80386の知識と言えば、レジスタの名前が32bitならEAX、EBX、.. etcになるとか32bitと16bitの切り替えは66h(?)だったようなとか、大して実用的な物はありません。コンパイラの最適化処理、とかも、高校時代にがんばってバイトして買ったBorland C++ 4.0/Turbo Assemblerで、おお〜教科書通り。見たいな確認しかしていませんでした。最近のエスケープアナリシスとか、ロック粗粒度化あたりは理屈としてどういう物かは、知っている物のアセンブラのコードとしてどうなってるのか、ということまで気にしたことがありませんでした。
今回の川口さんの記事のおかげでJava VMが具体的にどういう最適化処理をやっているのか、ということがわかったことだけでなく、久々にほこりをかぶったアセンブラの知識をよみがえらせてみようと思うきっかけにもなりました。EM64T命令セットも具体的にどんな感じなのかイメージがつかめて参考になりました。読みたい記事リストにはまだまだこういうすばらしい記事が埋もれてるかもしれません。


20080402 2008年 4月 02日 水曜日
お気に入りのエイプリルフール記事
English Translation: (Yahoo!) / (Google)
SunのCEOであるジョナサン・シュワルツもエイプリルフールネタを出したようですが、それにちなんだエントリで気になったのがこちら。 内容はポルトガル語のようなのですが、翻訳して中身を読んでみたらだいたいジョナサンのジョークと同じですが、なにしろかわいいのが、ピンクとブルーのイルカたちの侵略です。あれですね、ブラビアのカラフルなうさぎのパロディーですね、たぶん。
April fool, Sun Microsystems volta atrás e FECHA todos os Softwares Abertos às Diversas Comunidades
追記:ポルトガル語の記事が元ネタ、ということではなく元ネタはInfoWorldなどに載ってます。


過去の記事
« 5月 2008
    
1
3
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
       
今日
Click me to subscribe このブログを購読(RSS)
検索

このブログ著者について
ソフトウエア・インフラストラクチャー・ソリューション本部のソリューション・アーキテクト。 本業はSOAソリューションならびにSun Java CAPSによるソリューションのプリセールスをお手伝いするエンジニアですが、それとは別に Javaエバンジェリストグループに 参加してセミナーに行ったり、趣味のプログラミング・ネタをこの ブログで紹介したりしています。
リンク
 

Today's Page Hits: 251