2008年 7月 29日 火曜日 |
HaskellとOpenSPARCの共同プロジェクト English Translation: (Yahoo!) / (Google) またプログラミング言語ネタです。最近よく名前を聞くようになったHaskellのHaskell.orgとOpenSPARCとの共同プロジェクトで、特にハイパフォーマンス/マルチコアシステム向けの開発を促進することが目的のようです。SunからはHaskell.orgに学生向けのファンドとして10,000ドル(約107万円)と、SPARC Enterprise T5120サーバを寄贈したそうです。
Java VM上で動作するSqueak実装、JSqueak English Translation: (Yahoo!) / (Google) Smalltalkのオープンソース実装であるSqueak(スクイーク)を、Javaで実装したJSqueakというのがSun LabsのDan Ingallsさんによって作られているそうです。Smalltalkを実際に使ったことも無いし、知識も無いので、いまのところ、個人的には使いどころが思いつきません・・・。もうちょっと勉強しないとなあ。 ![]() flickrに載せた写真30,000枚超え English Translation: (Yahoo!) / (Google) ![]() flickrに写真をのせはじめてだいたい2年すこしになりますが、アップロードした写真の枚数がようやく30,000枚の大台を突破しました(非公開の写真を含む枚数)。ちなみに、Nikon D50で撮った枚数は累計28,129枚、Ricoh GX100で撮ったのは16,646枚です。あわせて44,775枚。ひどくぶれたもの以外はたいていのせてあります。3万枚の中には、ほかのカメラで撮った写真や、スクリーンショットなんかも含まれていますが、改めて見直すとすごいことになってます。 Scalaパズラー English Translation: (Yahoo!) / (Google) 今週水曜日に行いました、記念すべき20回目のJavaホットトピックセミナーの資料が公開されたようです。さて、Javaホットトピックセミナーでは、Javaパズラーという定番の人気コーナーを毎回やっています。毎回、問題を考えるのが難しいんですが・・・。さてそれは置いといて、Hittin' the edge casesでは、Scalaパズラーというのを始めたようです。Part 1とありますからシリーズ化されるんでしょうね〜。楽しみ。
参考: Scala (Wikipedia) Project Carolineを試す, その1 - cashを使う English Translation: (Yahoo!) / (Google) Project CarolineはPlatform APIを使って、システムの構成をダイナミックに変更することができるホスティング型のプラットホームで、PaaS (Platform as a Service)等と言われるようなサービスです。概要は、Computerworldの記事で紹介されていますのでそれをご参照ください。
具体的な使い方の前に、少しProject Carolineの概要と仕組みをおさらいしておきましょう。Sun Labs Open Houseでのプレゼンテーション資料が公開されていますのでそれをベースに。 ![]() 以下意訳ですが、プロジェクトCarolineというのは、
![]() 上図は、Project Carolineで扱う資源(ファイルシステムや、ネットワーク、データベース、コンピュータ)を、あなたのコードによって動的に作れますよ〜。ということを示した図。ロードバランシングの設定も、プログラマチックに描くことができます。 ![]() もう少し具体的に見ていきましょう。上図は、現在Project Carolineで提供されている資源を大まかにまとめたものです。LB(ロードバランサ)や、NAT、VPN、DNS、VLANなどネットワークの資源。Processesというのが、実際にアプリケーションを実行するための資源です。現在はJava、Perl、Pythonがサポートされています。File systemsは、アプリケーションが使用するデータを格納したり、ログを出力するために利用する領域。Databasesは文字通りアプリケーションが利用するデータベースで、具体的にはPostgreSQLのインスタンスです。MySQLも将来的にはサポートするそうです。 ![]() リソースが、とか、プログラマチックに!と言われても少しピンとこないので、もう少し具体的なコードを見ることにしましょう。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用のアカウントを取得するようにリクエストを出します。 ![]() 無事アカウントが取得できれば、あとは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ホットトピックセミナーのこれまで開催したそれぞれの回の資料をアーカイブしたまとめページが出来上がりました!
![]() 数えてみたところ、Javaホットトピックセミナー 7月号は記念すべき第20回目ですね。20回目には鈴木さんによるOpen ESBの紹介と、cactusmanさんによるHudsonの紹介があります。お楽しみに! iPhoneフィーバー English Translation: (Yahoo!) / (Google) 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を買うにはもう一押し、理由が足りませんね。コメントでセールストークしていただければ、買っちゃうかもしれません。 Project Carolineをためす, その0 English Translation: (Yahoo!) / (Google) Project Carolineを最初に聞いたのは去年のJavaOneの頃だったと思います。今年は、たとえばRailsConf 2008のプレゼンをみてもAmazon EC2のようなクラウド・コンピューティング環境にいかに、アプリケーションを適用させるかということが話題になっています。これでは話題に乗り遅れてしまう、と、危機感を感じてきたので、(自分にとって)手近なクラウド・コンピューティング環境であるProject Carolineを試すことにしました。 ![]() Project CarolineはまだSun Labsにおける研究プロジェクトで、商用サービスという段階ではないのですが、Sunパートナー向けには実証実験等の目的のためにサービスが公開されています。Project Carolineをやっているプロジェクトメンバーにアカウントください!ってメールしてみたところ、どうやらSun社員向けにProject Carolineの開発環境を評価用に使わせてもらえるとのこと。早速、今日はアカウントを申請してみました。まだ、使ってみての感想までの段階まではいきませんが、とりあえずほぼ準備が完了しました。続きはまた。 jruby-users.jpができました English Translation: (Yahoo!) / (Google) 先週木曜日、用賀で行われました、JRubyセミナーの後、Charles Nutterを囲んで打ち上げのときなんだかJRubyコミュニティーを作ろうとか、そういう話になり、その場でjruby-users.jpというドメインを取得してみたり。その後、具体的にどう進めようと話していたかは覚えていませんでしたが、野澤さんがささっと、ホスティングサービスを設定してくださったおかげでとりあえずトップページが出来上がりました。 ![]() とりあえず出来上がったのはいいのですが、まだノープランということで、コンテンツも何もありません。うーむ(そういえばグラジェーもまだまだ少ないし・・・)。せめてTopページぐらいはぱっとしてほしいなあ、なんて思わなくもないので、勝手にデザインコンペを始めて見ようと思います。一つ目の案です。こんなのどうでしょう。 ![]() Yokoso! jruby-users.jpって感じです。どこかでみたことあるようなないような。Dukeとお魚を描いたのに、肝心のルビーを忘れています。大失敗。 心が折れた話 English Translation: (Yahoo!) / (Google) 最近、テンション↓↓なので周りからもご心配いただいていたりするのですが、どうも、しばらくなおりそうにありません。僕は、Is the glass half empty of half full?と聞かれれば、間違いなくhalf fullと答えるようなオプティミストだと思っているので、そう簡単にはへこまないはずですし、実際、たいていのことは一晩寝れば忘れてしまって次の朝には昨日のいやなことは忘れてしまうような性格です。
![]() ところが心が折れたとなるとそうかんたんに治りません。寝ても覚めても、残念な気持ちだったり、悔しい気持ちだったりがぐるぐるして、まともな、生産的なことはほとんど何もできません。このエントリも5日ぐらい前から書き始めましたがようやく、少しまともな日本語になってきたところです。それでもプロフェッショナルとして、仕事はしていかなければ行けないのはつらいところです。なにぶん、生産的な気持ちになれないので、しばらくは感情のスイッチを切って、ロボットのように働くことによってなんとか当面の仕事を淡々とこなすことになると思います。 ![]() どうして、心が折れてしまったか、は、自分の中でははっきりしています。まず、ここのところ自分のやることが失敗続きだったという土壌がありました。その上、仕事が山積みで、どれも優先度は最高。もはやスケジュールを立てるという気持ちにすらなれませんでした。心を折ってしまった最後のきっかけは、もちろん、自分の失敗が根本原因でしたが、そのフィードバックの方法でした。この状況で、そういわれたらおしまい。はっきりとそう思いました。 ![]() 難しいのは、心を折った側、には心を折ったという認識が一つもないことです。これは今回の自分の例だけではなく、ほかの多くの例でも当てはまると思います。一方、今回難しいところは、自分の失敗が原因だったので、心を折った側が、当然のことですが、被害者意識を持っていることです。このため、この問題を解消するには心を折られた僕自身が回復して、心を折った側に対して和解を持ちかけ、関係を修復するというステップを踏まなければなりません。心を折った側に対して、言いたいことはたくさんたくさんありますが、これらのステップに備えて、押し殺すことにしておきます。 ![]() いまのところ、それらのステップを踏んで関係を修復する気は全くわいてきません。心が折れたことで、6月の記憶はほとんどないので、自分がどれだけ失敗していたのかもちゃんと思い出せませんし、どれだけ迷惑をかけたのかも推し量れません。一方で、心が折られたことだけについては印象深く残っているために、どうしても相手が悪いと思いがちです。とても、平等な視点での判断ができる状況ではなさそうです。 ![]() もう一つ気づいたことは、自分の生産性が以前よりもがくんと落ちたことです。1年前の自分を100とするなら今は、10〜20ぐらいです。それで以前と同じ以上の仕事があるので、仕事が滞留し、仕事だらけに感じてっているようです。生産性の話についてはまた別エントリで書こうと思います。 |
Today's Page Hits: 902 |