Takayuki Okazaki's Weblog
ブログ: 岡崎 - Okazaki's blog
20080729 2008年 7月 29日 火曜日
HaskellとOpenSPARCの共同プロジェクト
English Translation: (Yahoo!) / (Google)
またプログラミング言語ネタです。最近よく名前を聞くようになったHaskellのHaskell.orgとOpenSPARCとの共同プロジェクトで、特にハイパフォーマンス/マルチコアシステム向けの開発を促進することが目的のようです。SunからはHaskell.orgに学生向けのファンドとして10,000ドル(約107万円)と、SPARC Enterprise T5120サーバを寄贈したそうです。
Haskell and OpenSPARC


20080728 2008年 7月 28日 月曜日
Java VM上で動作するSqueak実装、JSqueak
English Translation: (Yahoo!) / (Google)
Smalltalkのオープンソース実装であるSqueak(スクイーク)を、Javaで実装したJSqueakというのがSun LabsのDan Ingallsさんによって作られているそうです。Smalltalkを実際に使ったことも無いし、知識も無いので、いまのところ、個人的には使いどころが思いつきません・・・。もうちょっと勉強しないとなあ。
JSqueak


20080725 2008年 7月 25日 金曜日
flickrに載せた写真30,000枚超え
English Translation: (Yahoo!) / (Google)
30,000+ pictures
flickrに写真をのせはじめてだいたい2年すこしになりますが、アップロードした写真の枚数がようやく30,000枚の大台を突破しました(非公開の写真を含む枚数)。ちなみに、Nikon D50で撮った枚数は累計28,129枚、Ricoh GX100で撮ったのは16,646枚です。あわせて44,775枚。ひどくぶれたもの以外はたいていのせてあります。3万枚の中には、ほかのカメラで撮った写真や、スクリーンショットなんかも含まれていますが、改めて見直すとすごいことになってます。


20080718 2008年 7月 18日 金曜日
Scalaパズラー
English Translation: (Yahoo!) / (Google)
今週水曜日に行いました、記念すべき20回目のJavaホットトピックセミナーの資料が公開されたようです。さて、Javaホットトピックセミナーでは、Javaパズラーという定番の人気コーナーを毎回やっています。毎回、問題を考えるのが難しいんですが・・・。さてそれは置いといて、Hittin' the edge casesでは、Scalaパズラーというのを始めたようです。Part 1とありますからシリーズ化されるんでしょうね〜。楽しみ。
参考: Scala (Wikipedia)


20080711 2008年 7月 11日 金曜日
Project Carolineを試す, その1 - cashを使う
English Translation: (Yahoo!) / (Google)
Project CarolineはPlatform APIを使って、システムの構成をダイナミックに変更することができるホスティング型のプラットホームで、PaaS (Platform as a Service)等と言われるようなサービスです。概要は、Computerworldの記事で紹介されていますのでそれをご参照ください。 具体的な使い方の前に、少しProject Carolineの概要と仕組みをおさらいしておきましょう。Sun Labs Open Houseでのプレゼンテーション資料が公開されていますのでそれをベースに。
Project Caroline (p15)
以下意訳ですが、プロジェクトCarolineというのは、
  • 長期間にわたって実行されるインターネットサービスを開発および配備するための、プラットホームを開発するための研究プロジェクト。
  • ユーティリティスケール(ここで言うユーティリティとは、電気、ガス、水道などのような公共インフラをさしていて、電気・ガスのように同様にインターネットサービスを提供できるようなスケールを目指す): 多くの利用者およびサービス向けに、単一の巨大で、共有され、かつ、サービス間が安全に隔離されたグリッド。
  • 完全にプログラマチックに制御可能な、分散コンピューティング環境、ストレージ、ネットワーク資源を提供。
  • サービスは、リソースの使用状況に応じて柔軟かつリアルタイムに増減させることができる。
  • リソースのハイレベルに抽象化する。
という感じですね。面白いのはやっぱり、プログラマチックに環境を構築できるところでしょう。今までは、せいぜい、負荷に応じて、ごめんなさいページを出力する専用サーバに振り分ける程度だったものを、負荷が増えれば、サービスを提供するサーバを動的に増やすという、ルールを結構簡単に書けるようになるのです。
Project Caroline (p16)
上図は、Project Carolineで扱う資源(ファイルシステムや、ネットワーク、データベース、コンピュータ)を、あなたのコードによって動的に作れますよ〜。ということを示した図。ロードバランシングの設定も、プログラマチックに描くことができます。
Project Caroline (p30)
もう少し具体的に見ていきましょう。上図は、現在Project Carolineで提供されている資源を大まかにまとめたものです。LB(ロードバランサ)や、NAT、VPN、DNS、VLANなどネットワークの資源。Processesというのが、実際にアプリケーションを実行するための資源です。現在はJava、Perl、Pythonがサポートされています。File systemsは、アプリケーションが使用するデータを格納したり、ログを出力するために利用する領域。Databasesは文字通りアプリケーションが利用するデータベースで、具体的にはPostgreSQLのインスタンスです。MySQLも将来的にはサポートするそうです。
Project Caroline (p35)
リソースが、とか、プログラマチックに!と言われても少しピンとこないので、もう少し具体的なコードを見ることにしましょう。Project CarolineにはPlatform APIというCarolineのリソースを制御するためのAPI群が提供されています。上図では、ネットワーク環境を作るためのAPIを例示しています。createNetwork("ネットワーク名", ほしいIPアドレス数, コンフィギュレーション)という、たった一行だけのコードでIPアドレスを取得したり、他にもファイルシステムを作るAPIを使えばファイルシステムの領域を確保することも可能です。さて、概要が何となく分かってきたところで、実際に触ってみてもう少し理解を深めてみることにします。
Project Carolineでは、Carolineの環境を利用するために、NetBeansのプラグインや、antのプラグインなど、いくつかのツールが提供されています。今回は、その中でも対話的にProject Carolineを使うことができるcashというツールを使うことにします。cashは、現金ではなく、Caroline Shellですね。ちなみに、岡崎が使っているのは社内の開発環境グリッドのため、それに伴い公開されているProject Carolineのツールとはバージョン等が、微妙に違ったりしますが、ご容赦ください。
cashは、JRubyで実装されたシェルで、irbにPlatform APIを呼びやすくしたり、認証機能の追加など若干Caroline用に拡張したようなシェルです。JRuby 1.0.xの(まだJRuby 1.1.xでは動作せず(?)) gemを使ってインストールすると、cashというコマンドライン・ツールがインストールされます。
cashを使うには、まずGridのURLと、ユーザIDを取得しておきます。ユーザIDを取得するにはまず、Project CarolineページのUser accountを作成し、その上でさらに、Grid用のアカウントを取得するようにリクエストを出します。
Project Caroline registration
無事アカウントが取得できれば、あとはcashの引数でそれらを指定します。
$ cash -gridURL https://grid.projectcaroline.net -gridCustomerID hogehoge
毎回いれるのが面倒なら、$HOME/.carolineというファイルに、
customerID = hogehoge
password = hogehoge
gridURL =  https://grid.projectcaroline.net 
という感じで設定しておけば自動的に読み込んで接続してくれます。接続できたら早速、リソースをいじってみましょう。
 $ cash
001:0 $ net = create_network "HogeHogeNetwork", 4 
=> #<Java::ComSunCarolineInternalPlatformimpl::NetworkImpl:0x5e7bf966 @java_object=com.sun.caroline.internal.platformimpl.NetworkImpl@709a11c0:https://dev.caroline.east.sun.com as:okazaki:5fa12555-ab56-4d7a-81cc-8e64ba73f978:okazaki@:HogeHogeNetwork>
002:0 $ fs = create_base_file_system "HogeHogeFileSystem", BaseFileSystemConfiguration.new
=> #<Java::ComSunCarolineInternalPlatformimpl::BaseFileSystemImpl:0x1dce910e @java_object=com.sun.caroline.internal.platformimpl.BaseFileSystemImpl@5a9fbed8:https://dev.caroline.east.sun.com as:okazaki:275c713e-ffbb-4a2e-ade1-f2570eead8b3:okazaki@:HogeHogeFileSystem>
ネットワークと、ファイルシステムを作ってみました。ちなみに、メソッドやクラス名はTABキーで補完が聞きます。
003:0 $ net.delete
=> nil
004:0 $ fs.destroy
=> nil
要らなくなったら削除。ちょっと、エントリが長くなりましたので続きはまた来週。


ゆの in Javaというのが流行っているようです
English Translation: (Yahoo!) / (Google)
t_yanoさんのブログで知りましたが、ゆのin Javaという遊びが流行っているようです。元ネタは今ひとつ知らないのですが一つ考えてみました。ゆの in Java - d.y.d.にルールっぽいのが書いてます。うーん、いまひとつ修行不足です・・・。
package Hidamari;
import static Hidamari.Sketch.Yuno.*;

public class Sketch {
    static enum Yuno {
        ひだまりスケッチ, X365,
        来週も見てくださいね;
        void sketch() {
            System.out.print(this.name() + " ");
        }
    }
    public static void main(String[] args) {
        int X = 1, _ = 1;
        for (Yuno P : Yuno.values()) (

            X / _ / X < _? 来週も見てくださいね
                    
            :P
        ).sketch();
    }
}
残念なのが Xと _ が普通の定数として遊んでいるだけなところですね。d.y.d.さんのところだとちゃんとそれらも働いているので秀逸です。
参考リンク:


ホットトピックセミナーとナイトセミナーのアーカイブ
English Translation: (Yahoo!) / (Google)
Javaホットトピックセミナー、OpenSolarisナイトセミナー、OpenSolarisホットトピックセミナーのこれまで開催したそれぞれの回の資料をアーカイブしたまとめページが出来上がりました!
SDCナイトセミナー
数えてみたところ、Javaホットトピックセミナー 7月号は記念すべき第20回目ですね。20回目には鈴木さんによるOpen ESBの紹介と、cactusmanさんによるHudsonの紹介があります。お楽しみに!


iPhoneフィーバー
English Translation: (Yahoo!) / (Google)
今日はやっぱりiPhoneの話題でもちっきりです。周りで一番早くゲットされたのは、野澤さんでした。
iPhone 3G
おおお。


20080710 2008年 7月 10日 木曜日
iPod Touchが欲しくなってきた
English Translation: (Yahoo!) / (Google)
いよいよ、明日iPhone発売だそうですね。表参道ではすでに行列ができているとか・・・。個人的にはiPhoneにはあんまり興味が無いのですが、ちょっとiPod touchに興味が出てきています。この間、西ケ谷さんにiPhone/iPod touchのすごさをいろいろ実演を交えて教えてもらったこともあり、iPod touch・・・・。欲しい。
タイ料理
さて、惜しまれつつも終焉を迎えたegwordを開発されていた方が立ち上げられた、物書堂さんのブログを読んでいたところ、iPhone/iPod touch用の電子辞書を発売されたそうです。ウィズダム英和・和英辞書です。2,800円・・・。安い・・・。欲しい。Leopardについている辞書はプログレッシブ英和・和英で、たいていの用途では辞書一つあれば十分ですが、訳に迷ったときとか、表現を微妙に変えたいときには複数の辞書を使って、アイデアを得たいのです。
タイ料理
いまや、インターネット経由で各種辞書にアクセスすることができます。たとえば、Yahoo!辞書ならプログレッシブ英和・和英、新グローバル英和、ニューセンチュリー和英。エキサイト辞書なら新英和中辞典、新和英中辞典。goo辞書ならEXCEED英和・和英辞典。いま、自宅のパソコンはLeopardではなく、Tigerに戻してあるので辞書はOxfordの英英辞典しかなくて、ちょっと不便しています。なので、ATOK 2008の辞書付き版を買おうか、とか、ちょっと迷ったり・・・。ちなみにATOKはジーニアス英和・和英辞典がついています。
昼メシ
電子辞書のいいところは、インクリメンタルに検索してくれることです。これはまだWeb辞書では仕組み上すこし難しいところですね。ずいぶん前に、Sonyの電子辞書を持っていましたが、使い方が悪かったらしく、わずか3年ちょっとで壊れてしまい、単独の電子辞書はそれ以来持っていません。携帯にも最近は電子辞書が載ってたりしますが、まだ、解説や用例までは載っていなかったり、インクリメンタル・サーチができないので使うことはほとんどありません。収録語数も少ないし。
ラーメンセットの餃子
でも、電子辞書だけのためにiPod touchを買うにはもう一押し、理由が足りませんね。コメントでセールストークしていただければ、買っちゃうかもしれません。


20080704 2008年 7月 04日 金曜日
Project Carolineをためす, その0
English Translation: (Yahoo!) / (Google)
Project Carolineを最初に聞いたのは去年のJavaOneの頃だったと思います。今年は、たとえばRailsConf 2008のプレゼンをみてもAmazon EC2のようなクラウド・コンピューティング環境にいかに、アプリケーションを適用させるかということが話題になっています。これでは話題に乗り遅れてしまう、と、危機感を感じてきたので、(自分にとって)手近なクラウド・コンピューティング環境であるProject Carolineを試すことにしました。
img187
Project CarolineはまだSun Labsにおける研究プロジェクトで、商用サービスという段階ではないのですが、Sunパートナー向けには実証実験等の目的のためにサービスが公開されています。Project Carolineをやっているプロジェクトメンバーにアカウントください!ってメールしてみたところ、どうやらSun社員向けにProject Carolineの開発環境を評価用に使わせてもらえるとのこと。早速、今日はアカウントを申請してみました。まだ、使ってみての感想までの段階まではいきませんが、とりあえずほぼ準備が完了しました。続きはまた。


20080701 2008年 7月 01日 火曜日
jruby-users.jpができました
English Translation: (Yahoo!) / (Google)
先週木曜日、用賀で行われました、JRubyセミナーの後、Charles Nutterを囲んで打ち上げのときなんだかJRubyコミュニティーを作ろうとか、そういう話になり、その場でjruby-users.jpというドメインを取得してみたり。その後、具体的にどう進めようと話していたかは覚えていませんでしたが、野澤さんがささっと、ホスティングサービスを設定してくださったおかげでとりあえずトップページが出来上がりました。
R0026186
とりあえず出来上がったのはいいのですが、まだノープランということで、コンテンツも何もありません。うーむ(そういえばグラジェーもまだまだ少ないし・・・)。せめてTopページぐらいはぱっとしてほしいなあ、なんて思わなくもないので、勝手にデザインコンペを始めて見ようと思います。一つ目の案です。こんなのどうでしょう。
Web design proposal for jruby-users.jp
Yokoso! jruby-users.jpって感じです。どこかでみたことあるようなないような。Dukeとお魚を描いたのに、肝心のルビーを忘れています。大失敗。


心が折れた話
English Translation: (Yahoo!) / (Google)
最近、テンション↓↓なので周りからもご心配いただいていたりするのですが、どうも、しばらくなおりそうにありません。僕は、Is the glass half empty of half full?と聞かれれば、間違いなくhalf fullと答えるようなオプティミストだと思っているので、そう簡単にはへこまないはずですし、実際、たいていのことは一晩寝れば忘れてしまって次の朝には昨日のいやなことは忘れてしまうような性格です。
R0026057
ところが心が折れたとなるとそうかんたんに治りません。寝ても覚めても、残念な気持ちだったり、悔しい気持ちだったりがぐるぐるして、まともな、生産的なことはほとんど何もできません。このエントリも5日ぐらい前から書き始めましたがようやく、少しまともな日本語になってきたところです。それでもプロフェッショナルとして、仕事はしていかなければ行けないのはつらいところです。なにぶん、生産的な気持ちになれないので、しばらくは感情のスイッチを切って、ロボットのように働くことによってなんとか当面の仕事を淡々とこなすことになると思います。
R0026055
どうして、心が折れてしまったか、は、自分の中でははっきりしています。まず、ここのところ自分のやることが失敗続きだったという土壌がありました。その上、仕事が山積みで、どれも優先度は最高。もはやスケジュールを立てるという気持ちにすらなれませんでした。心を折ってしまった最後のきっかけは、もちろん、自分の失敗が根本原因でしたが、そのフィードバックの方法でした。この状況で、そういわれたらおしまい。はっきりとそう思いました。
R0026059
難しいのは、心を折った側、には心を折ったという認識が一つもないことです。これは今回の自分の例だけではなく、ほかの多くの例でも当てはまると思います。一方、今回難しいところは、自分の失敗が原因だったので、心を折った側が、当然のことですが、被害者意識を持っていることです。このため、この問題を解消するには心を折られた僕自身が回復して、心を折った側に対して和解を持ちかけ、関係を修復するというステップを踏まなければなりません。心を折った側に対して、言いたいことはたくさんたくさんありますが、これらのステップに備えて、押し殺すことにしておきます。
R0026025
いまのところ、それらのステップを踏んで関係を修復する気は全くわいてきません。心が折れたことで、6月の記憶はほとんどないので、自分がどれだけ失敗していたのかもちゃんと思い出せませんし、どれだけ迷惑をかけたのかも推し量れません。一方で、心が折られたことだけについては印象深く残っているために、どうしても相手が悪いと思いがちです。とても、平等な視点での判断ができる状況ではなさそうです。
R0026033
もう一つ気づいたことは、自分の生産性が以前よりもがくんと落ちたことです。1年前の自分を100とするなら今は、10〜20ぐらいです。それで以前と同じ以上の仕事があるので、仕事が滞留し、仕事だらけに感じてっているようです。生産性の話についてはまた別エントリで書こうと思います。


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

このブログ著者について
ソフトウエア・インフラストラクチャー・ソリューション本部のソリューション・アーキテクトでした(2008年8月退職)。 本業はSOAソリューションならびにSun Java CAPSによるソリューションのプリセールスをお手伝いするエンジニア、とJavaエバンジェリストグループに参加してセミナーに行ったり、趣味のプログラミング・ネタをこのブログで紹介したりしていました。現在は、ふらふらとwatermint.orgで活動中〜。
リンク
 
SunホットトピックPodcast - SunホットトピックPodcast
 


 

Today's Page Hits: 902