2006-05-24

Grailsを使ってみた

Grails - Home

『ダ・ヴィンチ・コード』を見た → 映画のテーマは「聖杯探し」→ 聖杯=Holly Grail → Grails!,という連想から何だか使ってみたくなったのでインストールしてみました。あとドキュメントで例に出されてたGrailsアプリも作ってみた。

Grailsは,Groovyで作られたRuby on Railsクローンです。Javaがメインの自分にとってはRubyよりGroovyのほうが慣れているので,どーしたもんかなーっと思って試してみました。



【インストール】
    1. Grailsのダウンロード2. Grailsを解凍
      自分の場合はc:\grailsに解凍した

    3. 環境変数とパスの設定
      GRAILS_HOME: c:\grails
      PATH: %PATH%;c:\grails\bin

    4. コマンドラインからインストール
      $ grails
      いろいろとメッセージが表示されてインストール終了。



【Grailsアプリを作ってみる】
    Grails - Quick Start ここを参考に作ってみた。

    1. Grailsアプリ用のフォルダを作る
      $ mkdir c:\temp\TestGrails
      $ cd c:\temp\TestGrails

    2. Grailsアプリを作成する
      $ grails create-app
      アプリ名を聞かれるので"TestGrails"と入力しておく

    3. データソースを編集する(オプション)
      DBの接続情報を以下のファイルに追加する
       TestGrails/grails-app/conf/ApplicationDataSource.groovy
      デフォではイン・メモリのHSQLDBで使うので,ここでは何も書かないっす。
      注: 他のDBに接続する場合はドライバをTestGrails/libに入れとくこと。

    4. ドメインクラスを作る
      $ cd c:\temp\TestGrails
      $ grails create-domain-class
      ドメインクラス名を聞かれるので,ドキュメントどおり"Book"と入れておく
      ドメインクラスはTestGrails/grails-app/domain内に生成される。
      String型のプロパティとして,ドキュメントのようにauthorとtitleを書き足しておく。

    5. テストデータを設定する
      以下のファイルのinitクロージャでテストデータを設定する
        TestGrails/grails-app/conf/ApplicationBootStrap.groovy
      こんな感じでBookデータを作る
        new Book(author:"著者名", title:"題名").save()

    6. コントローラとビューを生成する
      $ grails generate-all

    7. Grailsアプリを起動する
      $ grails run-app
      ブラウザで以下のアドレスを表示する
       http://localhost:8080/TestGrails/book/list
      注: デフォルトでは8080ポートを使うけど,他のサービスがすでに使っていたらエラーになる。その場合は「管理ツール」の「サービス」でチェックして,ダメそうなのは停止させる。
      ちなみに他のポートで起動する場合はこんなふうにするそうな。
       grails -Dserver.port=9090 run-app



起動するとこんな感じの画面が表示されます。

grails-app


Ruby on Railsも前に試したことがあるけど,それとほぼ同じ操作で簡単にできました。最近Groovyばっかり触っているので,何か作ってみたいなーと思ってますが,インストールしただけで終わってしまいそうな気配がすでに濃厚。何か作らねば。

『ダ・ヴィンチ・コード』を見てきた

Sony Pictures - ダ・ヴィンチ・コード


月曜日に見てきました。平日だったせいか,そんなに混んでなかった。

上映時間は2時間半もあったけど,後半はタイミング良くどんでん返しが続いて飽きないで最後まで見れました。うん,面白かったです。

注:以下ではネタバレあります。



主演はトム・ハンクス。自分は『フォレスト・ガンプ』の印象が強くて,ハンクスはあまり知的って感じを持ってなかったけど,この映画ではきちんと知的な学者っぽく見えました。謎解きをする場面では,なんとなく『すべてがFになる』の犀川創平みたい。

ヒロインのオドレイ・トトゥは,『アメリ』でしか見たこと無かったので"カワイイ"って印象しか持ってなかったけど,この映画ではちゃんと大人の女性でした。ふーん,こういう普通の演技もいけるんだなー。

で,ストーリーのほうですが『ダ・ヴィンチ・コード』という割にはそんなにダ・ヴィンチのことは出てきません。というか歴史ミステリーとかウンチク系の話しは,さらっと分かりやす~く流されていて,サスペンスが中心という感じ。それはそれで娯楽映画としてはOKなんだけど,もうちょっとウンチク系の話しを詳しく聞きたかったかな(多分,少数派)。

一番良く分からないのが,この映画の中盤で明かされる「キリストに娘がいた」という秘密が,キリスト教にとってどれぐらい重要なのかってこと。日本人の自分には,別に子どもがいたって良いじゃん,て思っちゃうので。
これについてはニュース記事で大々的にネタバレされてたけど,どうなんだろ? 映画会社は文句言っても良いんじゃないかなー。まぁ,『ダ・ヴィンチ・コード』に抗議してた団体の人にとっては「ざまーみろ!」って感じなんだろうけど。


歴史ミステリだけど,そんなに重くなく気楽に楽しめるサスペンスミステリだと思います。あとミステリとして最後までどんでん返しにこだわってたのは偉かったと思います。



【参考リンク】
Amazon.co.jp:イエスの遺伝子〈上〉徳間文庫: 本
Amazon.co.jp:イエスの遺伝子〈下〉徳間文庫: 本
”キリストの秘密”,”謎の教団”,”聖杯探し”など,『ダ・ヴィンチ・コード』と似たところのある作品ですが,こっちはSFミステリです。キリストの癒しの力のトリックはなかなか感心しました。こっちも面白いよ。

2006-05-20

英会話はリアクションが大事!

先週の金曜日から会社でやっている英会話研修に参加しはじめました。研修では,教科書の会話文を実際に喋ってみるんだけども,そこで注意されたことが「リアクションが悪い!」ということです。


最初の研修なので自己紹介の会話文をやりました。その中で,Aさんが「私はIBMでエンジニアとして働いています」,言われたほうのBさんが「Oh, really?」と返す部分があります。そこを自分がやったところ,先生が「Oh, really?」の反応が良くないといって例を見せてくれました。

先生の「Oh, really?」は眉毛を上下させて目を大きくする,というやつ。「Oh, really?」=「マジっすか?」だから,そんな感じだよなーっと納得したけども,これ真似するのが難しい。とくに初めての英会話でみんなの前でやってみると結構緊張してしまいました。つい引きつった顔で「Oh, really?」とやってしまって,先生に爆笑されてしまった。まぁ受けたから良いか。


今まで英会話と英語で文章を読み書きするのは,声か文章かの違いだけで大して変わらないと思っていたけども,こういうことを考えると大きな違いがあるなぁーっと思います。つまり英会話っていうのは英語である以前にコミュニケーションの技術であるということです。

そんな感じで目からウロコが落ちた英会話の初研修でした。

2006-05-17

百穴と四葉のクローバー

@nifty:デイリーポータルZ:犬百穴、のち、土蜘蛛人

うわー,懐かしい! 吉見百穴は小学生のときに遠足で行きましたよ。

吉見百穴というのは埼玉県東松山市にある(ここらへん),古代人のお墓のあとです。崖の壁面に穴がたくさん開いているところです。有名なものとして「ヒカリゴケ」がありますね(私も昔見ました)。

百穴とは直接関係無いけど,こんなことを思い出したました。
遠足で百穴に行ったとき,すぐ近くの川原で遊んでたんですが,そこにはなぜか四葉のクローバーがたくさんありました。ちょっと見渡せばすぐ見つかるぐらい。それどころか,よく探したら五つ葉のクローバや六つ葉のクローバーもありました。五つ葉は自分で見つけた覚えがあります。小学生なのでこの発見にみんな大興奮で,四葉のクローバーをおみやげにしたりしてました。

つまり吉見百穴近くの川原は四葉のクローバーの「穴場」なんです! 四葉のクローバーがどうしても欲しい人は行くと良いですよ。もっともそれも10年くらい前の話しなので,今はどうなのか分かりませんけど。



しかし上のデイリーポータルの記事は,不気味な建物やらナイスなネーミングの美容院やら,前々からおかしいと思っていたところすべてに的確にツッコミを入れていて,ちょっと感心しました。余計なお世話で補足すると,美容院の近くに「革靴から軍艦まで」というキャッチコピーのスケールのデカすぎな古道具屋があります。こっちにもツッコんで欲しかったなぁ。あ,もしかしてもう潰れてた?


しかし冷静に思い返してみると,あの四つ葉のクローバーの量は何かおかしかったような。あの川原で昔に何かあったのかなぁ。

2006-05-11

Google Analytics はじめました

Gooleがやってるアクセス解析サービスの『Google Analiytics』の招待メールが来たので,ブログに組み込んでみました。このページのソースを見てみると,アクセス解析用のJavaScriptコードが一番下に入っているはずです。

Google Analyticsはだいぶ前(2005年11月)にサービスを開始したけど,申し込みが多すぎて一時新規ユーザの登録を凍結してたみたいです。自分もそのころに申し込んだけど,今頃になって招待メールが来るとは。


ゴールデンウィークもあってしばらくブログもお休みしてたけど,アクセス解析した結果が寂しいと嫌なのでブログ書きを再開します。

2006-04-20

SWTのBrowserウィジェットは便利

仕事でJavaのプログラムを書いているっていうと,StrutsやOracleやDIコンテナでゴー!っていうサーバサイドな人が多いと思いますが,私はクライアントサイドのアプリをJavaで作ってます。

特殊な端末向けの専用アプリで,いろいろとシステム上の都合からクライアントサイドアプリが必要なのです。GUIライブラリはSWT ver3.1.1を使っているんですが,これに含まれるBrowserウィジェットという画面部品が超便利なので,メモっておきます。

Browserウィジェットというのは簡単に言えば,IEコンポーネントをJavaから使えるようにしたものです。便利なのは,Browserウィジェットのほうから表示されるHTML上のJavaScriptを起動できること。

例えば,test.htmlのなかでtest()という関数が定義されてたら,次のようなコードで実行できます。


Browser browser = new Browser(this, SWT.NONE);
URL url = getClass().getResource("test.html");
browser.setUrl(url.toString());
browser.execute("test()");


さらにJavaScript内でwindow.statusに値を設定すると,そのイベントをJavaで拾って値を取得できます。それにはこんな感じでリスナを設定すればOK。


browser.addStatusTextListener(new StatusTextListener() {
public void changed(StatusTextEvent e) {
// JavaScriptで設定した値を表示する
System.out.println("window.status=" + e.text);
}
});



これで何かうれしいかというと,画面デザインをHTML+CSS+JavaScriptで出来るようになるからです。SWTはけっこう色々出来るんですが,やっぱり細かいデザインに拘りだすとSWTだけでやるのは難しい。新しい画面部品を作ったりしなくちゃいけなくなって面倒くさいです。

そういう場合にはHTMLとJavaScriptでガーっと作っちゃうことが出来ます。しかもコンパイル無しであとから変更可能!

前にprototype.jsの練習をしましたが,今になって役に立ってきてます。あとScript.acuo.usとか使うとデザインの幅が出てきて良い感じになります。

ということで,クライアントアプリでBrowserウィジェットを使うと,工期が短くて忙しいときでも,わりと簡単に画面が作れるよという話しでした。




ついでにBrowserウィジェットでちょっと嵌ったこともメモ。上でtest.html内のtest()関数を呼び出すサンプルを出したけど,Browserウィジェットからは外部JavaScriptファイルで定義された関数は呼び出せないみたい。

つまりtest.js内でtest()関数が定義されていて,そのtest.jsをtest.htmlが読み込んでいるとする。その場合はbrowser.execute("test()")とやってもtest()関数は呼ばれません。これがバグなのか仕様なのか調べてないけど,まぁそういうことらしい。

2006-04-19

英語の勉強

5月28日に開催されるTOEIC試験に申し込みました。
今年いっぱいは英語をがんばる予定です。

ということで英語の勉強をしなくちゃいけない。まずTOEICの公式ページを調べてみたところ,どうやら5月28日の試験から新方式に変わるみたいです。


新TOEIC(R)テストについて
これは実際のコミュニケーションで必要とされる英語能力を評価するために、より現実に即した状況や設定をテスト上でも再現するというもので、問題文の長文化、発音のバラエティの増加[ 米国・英国・カナダ・オーストラリア(ニュージーランドを含む) ]、誤文訂正問題の削除、などが行われています。


よりコミュニケーション能力を試験するのに合った方式になる模様。良く分からないけど,とりあえずヒアリングを鍛えとけってことで,以下の記事を参考にしてNPRというアメリカのラジオ局のニュースを聞くことにしました。



朝の5分間のニュースが良い感じです。会社までの通勤時間に聞くのにちょうど良いです。いろいろ聞いてみた結果,次の二つの番組を毎朝聞くことに決めました。

    NPR: 10AM ET News Summary
      普通の朝の5分間ニュース。政治とか経済とかスポーツとかいろいろ。
    APM: Future Tense
      テクノロジー関係に絞った五分間ニュース。今日はGoogle Calendarのレビューをやってました。



まだ始めて一週間ぐらいしか経ってないので効果が上がっているか分からないけど,これから毎日続けていく予定です!

2006-04-18

バトンが回ってきた

Laizより妄想バトンというのが回ってきたので答えてみる。


@回答方法:考え込まずに直感的にやってみよう!!
Q1.”水戸”といったら?
黄門さま。

Q2.“朝”といったら?
遅刻しない程度に早く起きたい。

Q3.“チャラララ~”というフレーズで思い出すのは?
チャルメラ?

Q4.“ナベ”といったら?
ナベツネ。

Q5.“南国”といったら?
プライベートビーチでトロピカルフルーツ。

Q6.“光”といったら?
どうもと。

Q7.“ラーメン”といったら?
しょうゆに限る。

Q8.背後で“ドン”と鳴った。さて何があった?
ガバチョかな,小西かな。

Q9.“かぜ”といったら?
今ひいてます。

Q10.“花”といったら?
花男

Q11.“カレー”といったら?
昼飯。食堂でカレーしか食ってねーや。

Q12.“すき”といったら?
きらい。

Q.13.“動物”といったら?
シロクマ。自分的に自然界最萌動物。

Q14.朝起きたら一番嫌いな人になってた。今日一日どうしますか?
何とか好きになれないか努力する。

Q15.“北”といったら?
ちょーせん。

Q16.“ゆき”といったら?
雪だるま。

Q17.“水”といったら?
水泳。

Q18.“美”といったら?
伊藤若冲。

Q19.貴方は桜の花です。見ている人に一言。
「もっと見て!」

Q20.“イロ”といったら?
黄色。

Q21.“夜”といったら?
あと10時間ぐらい長くなって欲しい。

Q22.“男”といったら?
仲間。

Q23.“むし”といったら?
カブトムシ!

Q24.“氷”といったら?
ハネが多くて書道教室でよく直された。



なんだかこのバトンの狙いが良く分からないけど,とりあえず答えてみた。他の人に回さなきゃならないらしいけど,このブログを見た人はご自由に答えてみてください。それがバトン2.0だ! とか言ってみる。






関係ないけど,Laizのブログにコメント書こうとするとスパム判定されてしまうので,「就職おめでとう!」とこっちに書いとく。

2006-03-26

伊藤若冲『動植綵絵』を見に行った。

Oracle試験にも合格したので,自分へのボーナスということで三の丸尚蔵館で公開されている伊藤若冲の「動植綵絵」を見学してきました。


Oracleの試験会場が四ツ谷だったので皇居まで散歩してみました(三の丸尚蔵館は皇居内にあります)。「皇居の周りは綺麗だなー,桜も咲いてるし」「最高裁判所の建物はかっこいいなぁ,あれなら裁かれても納得」「おぉ,皇居内ってこんなに広いのかぁ」とか考えながらぶらぶらしてました(皇居近辺に行くのは初めてなんです)。

kokyo_2緑が多くて良いです

kokyo_3かっこいい最高裁判所。

kokyo_4花が咲いてました

kokyo_5さすが皇居,しっかりお城です。





で,三の丸尚蔵館。かなり小さいところです。展示会場も小っさいです。その会場の中に六幅の掛け軸がかけてありました。前にバークコレクション展に行ったときに伊藤若冲の作品は見ましたが,これは全然違う。若冲すごいです。「これが江戸時代の作品なの?」ってぐらい色鮮やかです。なんというか,こってりしっとりって感じです(語彙が少なすぎ)。これは実物を見ないと分からないと思いますね。

以下は今回展示されてたもののメモです。

    芍薬群蝶図
      いろんな種類の蝶が飛んでいる絵。羽の一枚一枚が細かく描かれていてとっても綺麗です。
    老松白鶏図
      松の木に止まっている白いニワトリの絵
    南天雄鶏図参考
      黒いニワトリの絵。闘鶏?
    雪中錦鶏図参考
      雪の降り積もった枝に止まっている鳥。「鶏」って書いてあるけどそれっぽく見えない鳥でした。
    牡丹小禽図
      ボタンの花で埋め尽くされた中に小鳥が何羽か。
    芦雁図
      ガンという鳥が急降下してくる様子の絵。地味だけど俺はこれが一番好き。羽根のしっとり具合が良いです。




伊藤若冲の動植綵絵は全部で30幅あって,6幅ずつ五回に分けて展示するそうです。三の丸尚蔵館は入館料無料(!)なので,今後の展示も見に行こうかなーって思ってます。いやー,若冲は凄いっすよ。



<参考リンク>
弐代目・青い日記帳 | お待たせ!伊藤若冲「動植綵絵」公開です
  今回の展示はこちらで知りました。各種情報がまとまっていて助かります。
Google ローカル - 皇居
  三の丸尚蔵館の場所。皇居内がでかすぎて迷ったのでメモ。


追記:こちらの記事で展示されてた絵の画像が見れます。
弐代目・青い日記帳 | 「花鳥ー愛でる心、彩る技〈若冲を中心に〉展」第1期

Oracle Silver Fellow 取得!

やっとこさ取得できました。やったー! ここ最近で一番うれしいです。

仕事のほうが忙しくなってきてまして,今日を逃すと勉強を続けるのがかなり難しくなるので,タイミング的にぎりぎりでした。いまは二つのプロジェクトを同時進行(片方のは自分のみの一人プロジェクト)と産休を取る先輩社員の受け持ち業務の引継ぎをやってまして,仕事量が増えてきてます。

そんななかで勉強をしてたので,もう寝不足寝不足。睡眠時間しか削るとこ無いよ!って感じでした。でもそれも今日で終わりだ! よっしゃー!(酒飲みながら書いてるのでテンション高めです)


今後も時間は無さそうだけど,なんか他にも資格を取りたくなってきました。とりあえずTOEICとか挑戦したいけど,一緒にスコアを競いたいって人,居ませんか? ライバルが欲しいっす。

2006-03-16

ここ最近やったVisual Editorの拡張

  • 自作したレイアウトマネージャを追加
  • 追加レイアウトマネージャ用のEditPolicyを作成
  • プロパティシートの文言を差し替えて日本語化
  • Visual Classの新規作成ウィザードに作成した画面クラスを追加

Visual Editorの拡張のやり方については,そこそこノウハウが溜まってきたので,ちょっとずつアウトプットしていこうと思います。


【VE関連 過去記事】
サルノオボエガキ: Eclipse GUI作成プラグイン 『Visual Editor』
サルノオボエガキ: 『Visual Editor』拡張に関するドキュメント
サルノオボエガキ: VisualEditorのパレットにGUI部品を追加する
サルノオボエガキ: Visual Editorの設定ファイルはバージョンに注意!

タブレットPCを使ってみた。

わけあって,会社の自分のデスクにタブレットPCが2台,タッチパネルディスプレイが1台あります。開発用のマシンなんですけど,タブレットPCについては私物化が進行中。


最近の私の仕事は,「店舗内の受付係が使うクライアントサイド・アプリのデモシステムを作る」ってやつです。デモシステムなんで画面デザインや使用技術を含めて,決定をかなり任されてるので,自由に動けて良い感じです。
で,そのアプリはタブレットPCで動かすので,開発用マシンとして2台確保してます。タッチパネルのほうはまた別の仕事で使うのです。

タブレットPCって始めて使ったけど面白いですね。手書きで文字入力できるのが面白い。Windows Journalってソフトを使うと,ノートに書き込むのと同じように入力できます。入力したあとの文字を自由に動かせるのが良いですね。図も文字と同じように書けるし。

なかなか便利なので,タブレットPCでいろいろやってみました。

  • 手書きでプログラミング
    • ネタとして。以下はJavaでHello Worldを書いてみたやつ。誤変換もそのままで載せる。
      Public class Test
      {
      Public static Voidmain(String args[]){
      System.out.println(”Hello,Tablet”);
      }
      3
      3ってなってるのは”}”を書こうとして挫折したもの。”}”を認識させるのってムズいよ。
  • 絵を描いてみる
    • 道具が上等でも絵の腕は変わらないようですw
  • マインドマップを書いてみる
    • あまり試してないけど,これは結構良いかも。俺はマインドマップを書くのが苦手だけど,なぜかって言うとスペースが上手く使えないから。これは書いたものの位置が動かせるので便利。


ということでプライベートでも自分用のタブレットPCが欲しくなってきちゃいました。つーか,忙しいんだから仕事中にタブレットPCで遊ぶな>自分

2006-03-10

Oracle Silver Fellowを受験することにした

今週の土曜日と,来週の土曜日にOracle Silver Fellowの資格試験を受けてくることにしました。

自分の会社だと入社2年以内にベンダー系の資格を2つ取らないといけないことになっています。そのことをすっかり忘れてて,思い出したのが今週の月曜日。速攻で受験予約をして,ただいま受験勉強中です。

『Oracle Silver Fellow』はOracle社が主催しているデータベースの資格で,「SQL」と「Oracle入門」という二つの科目に合格することで取得できるものです。とりあえず今週土曜日はSQLの試験を受けて,来週はOracle入門を受ける予定。

Oracleは前のプロジェクトで相当使っていたので何とかなりそうなんだけど,細かいところでややこしい規則があったりして,覚えるのが面倒くさい。日付のRR書式とか,止めてくれ!


自分が忘れてたせいだけど,受験まで時間が無いのがキツイ。でもその障害のせいか,妙に受験勉強に燃えている今日この頃です。


追記:
 うわーSQL試験,失敗しちったー! 受験料がパーだ! もうちょっと計画的に勉強するぞ!

2006-03-02

Ajaxモドキで素因数分解

JavaScriptの勉強がてら,入力された数字の素因数分解をするページを作ってみました。名づけて『博士の愛した素因数分解』。JavaScriptと『博士の愛した数式』のコラボレーション!

ページを開いて数字を入力するとテキストボックスの下に素因数分解の結果がリアルタイムに表示されます。別にサーバとやり取りしているわけではないので全然Ajaxじゃないです。非同期処理でもないので,大きな数字を入力すると処理に時間が掛かりすぎて「スクリプトを停止しますか?」ってメッセージが出てきちゃいます。まぁ,この前からJavaScriptの勉強を始めたばっかりなので,これぐらいでご容赦を。

いろいろと調べながら作ったので,こんだけの処理なのに40分も掛かってしまいました(^^;


>Laiz
これ使えば2311が素数かどうか,すぐに分かるよ!

2006-02-28

AjaxとRuby on Rails

前々からこの二つはやってみたいなーと思ってたけど,きっかけが出来たので始めてみました。きっかけというのはこの二つの雑誌の記事。

Amazon.co.jp:Web+DB press (Vol.31): 本

オープンソースマガジン 2006/03


【Ajax】
AjaxというかJavaScriptについては苦手意識がありました。JavaScriptを前に仕事で使ったときにバグを探すのに嵌ってしまって,納期が迫っているのにいろいろと大変だったということがありました。それがトラウマになっているってのが大きいですね。それにどうやったらキレイにコードが書けるのか良くわからなかったっていうのもあります。

上のWEB+DB PRESSではnaoya氏がPrototype.jsというJavaScriptのフレームワークを使ってオブジェクト指向にJavaScriptを書く,という記事があります。とりあえず記事のとおりに書いてみたら何となくJavaScriptでのプログラミングの感じが分かってきました。それにPrototype.jsはなかなか便利そうです。これならキレイに書けそうですね。

記事によるとJavaScriptは名前に反して,Javaよりも関数型言語に近い性質を持っているようです。前はJavaと同じような感じでやってたので微妙な違和感があったのかも。たまたまだけど,最近Haskellのプログラムで遊んでいたので,そういうところは受け入れやすかったです。

いまのところ記事に書いてあった内容以上のことはやっていないんですが,Ajaxの最初の一歩としては踏み出せた感じ。


【Ruby on Rails】
オープンソースマガジンの記事で紹介されているInstantRailsを使ってみたんですが,これ簡単! Zipファイルを落としてから展開すれば,ほとんど何もやらずにRails環境が出来ちゃいます。ネット上の情報では以下のページが分かりやすいです。

満足せる豚。眠たげなポチ。:簡単Ruby on Railsの決定版? - Instant Rails -

このページのとおりにやればInstantRailsの設定はOKです。ただ自分の環境ではなぜかSCGI Serverでは駄目だったので,WEBrickでRailsアプリを起動してhttp://127.0.0.1:3000/を開くという方法でテストしました。これで素早くRails環境が構築できます。どれぐらい素早いかというと,会社の昼休み中にすべて完了するぐらい(え? 会社ではやってませんよ^^;)

環境が出来たらRailsアプリを作成しよう! ということでこのページのチュートリアルにしたがってBookmarkアプリを作ってみてRails開発の手順を勉強してみました。

BookmarkOnInstantRails


では次にいよいよオリジナルアプリの開発だ! と思ったんですが,考えてみたらオレ,Ruby分からないんでした。Railsやる前にRuby言語を覚えましょう,ということでRuby on Railsの勉強はここで中断。

なんというか,中途半端にしかRails開発してないですが,Railsって確かに簡単に最初のアプリは作れるけど,それをカスタマイズしていくにはそれなりに知識が必要なんじゃないかって気がします。そこらへんが実際にどの程度手間が掛かるのか良く分からないので,Railsが便利なのかどうかイマイチ判断がつかない。まぁ,それも今後やってくということで。



と,いうことでようやく自分も流行に追いついてきたような気がします。この二つはもうちょい遊んでこうと思います。

[映画]『博士が愛した数式』

この間友人たちと一緒に『博士が愛した数式』を見てきました。
いやー,良かったです。理系の人間にとって癒し系の映画ですね。


80分しか記憶がもたない博士と,博士を世話する家政婦とその息子(ルート)の話し。博士のキャラがよいですね。いきなり友愛数完全数についての話を始めちゃって止まらなくなるところとか,愛すべき学者馬鹿って感じです。

さらにその博士の話しをきちんと受け止める家政婦さんが良い。なんというか,これは理系人間にとっては理想ではないでしょうか? 家政婦さんを深津絵里がやっているのが良いですね(市原悦子じゃなくて良かった)。

映画はけっこうほのぼのとした感じで進んでいきます(ルートくんに野球を教えたり)。ただ,朝起きた博士が自分の記憶が80分しかもたないってことに気付いて泣き崩れるところはショックなシーンでした。ほのぼのとした日々の裏で毎朝この悲劇を繰り返していたわけですからね。数学者の伝記を読むと,最悪の状況で研究を続けてついに大発見!というのを良く読むけど(アーベルとか),数学ってのは精神を鍛える効果があるんでしょうか?


私は昔から数学は好きでした(成績は悪かったけど)。だから数学パズルの類いは一通り知ってるんでけど,そういうネタが映画館の大画面で堂々と説明されているって状況が良かったです。完全数だとかは知っているけど,そういう説明を聞いているだけで嬉しくなってきちゃいました。

ただ欲を言えばもうちょっと踏み込んで解説してほしかったなーと思いますね。友愛数とか虚数の説明は詩的な言葉で綺麗なんだけど,数学的にもう一歩踏み込むとさらに面白いんだけどな~。うーむ,でも興行的に考えるとこのラインがギリギリかもしんないですねぇ。


映画を見る前に原作を読んでいたので内容は分かっていたけど,なかなか面白かったです。理系の人間は見に行ったほうがいいと思います。じゃないとあんな大画面でディープな数学ネタが話されている映画なんて二度と見れないですよ!



【参考リンク】
ポール・エルデシュ - Wikipedia
  前にドキュメンタリーで見たことあるんですが,たぶん博士のモデルはこの人だと思います。
シュリニヴァーサ・ラマヌジャン - Wikipedia
  インドの天才数学者。博士みたいに数に対する直感がずば抜けた人みたいです。1729ってどんな数字だか分かります?
『数学の美しさ』
  なかなか面白いです。このピタゴラスの定理の証明なんて初めて知りました。
ベイズの定理
  あんまり関係ないけど,私がお世話になった数式。



P.S.
一緒に見に行った友人
 ごめん,2311ってやっぱり素数だったよ。

2006-02-12

ニューヨーク・バーク・コレクション展

東京都美術館<企画展> ニューヨーク・バーク・コレクション展


東京都美術館で開かれていたバークコレクション展に行ってきました。
バークさんというアメリカのお金持ち&日本マニアの人が集めたコレクションを展示するというイベントで,展示されているのは古今東西の日本美術です。いや~,やっぱり日本美術は良かったです!

思ったよりも展示品がたくさんあって,見応えがありました。「感動」というより「面白い」という作品が多かったですね。ただ後半は時間が足りなくて,ちゃんと見れませんでした。もう一回見に行っても良いかも。
とにかく,古今東西いろんな作品があるので,どんな人が見に行っても何かしら気に入る作品があると思います。ということで,バークコレクション展はおすすめです。


面白かった展示品をちょっとメモしときます(括弧の数字はカタログ番号)。

  • 縄文土器(1)
    • 入っていきなりこれ。教科書で見たのと同じだ! 初めて実物見ました。
    • 実物を見ると,形がすごく複雑で立体的ですね。
    • 当時にすると,これを作ったのは最先端技術者だったんだろうなぁ。
    • エンジニア視点だと,このデザインには実用的意味があると見た!
      • 底が不安定だから,紐通したり棒で固定したりしたのでは?
  • 根来黒漆蝶文瓶子(19)
    • 焼き物の瓶。
    • 黒字に赤い蝶の模様があって,シックでカッコいい!
  • 春日鹿曼荼羅(25)(26)
    • 掛け軸になってる絵です。
    • 春日神社のマスコットキャラ(?)の鹿と仏様が描いてあります。
    • なんだか鹿の表情といい背景といい,メルヘンな感じで良い。
    • 寝室に飾ったらよく寝れそう。
    • これ欲しいなぁ。
  • 秋冬景物図屏風(32)
    • でっかい屏風絵。
    • 金箔貼ってあるのでキンキラキンです。
    • 少し離れて眺めてると,なんというか,フワーってします。
  • 十牛図(33)
    • 『鉄鼠の檻』で出てきたやつね。
    • 4枚しか見れないぞ,どうなってんだ!
  • 洛中洛外図屏風(78)
    • 江戸時代の「ウォーリーを探せ!」
    • 時間が無くてじっくり見れなかった,残念。
  • 百鬼夜行絵巻(87)
    • おぉ,これも京極夏彦の小説で出てきたやつだ。
    • 結構綺麗に残ってるし,面白いなぁ
  • 石橋図(102)
    • 展示会のパンフレットの表紙にもなってたやつ。
    • なんだかコミカル,ディズニーっぽい。
      • 「101匹獅子ちゃん大行進」ですか?
  • 月夜瀑布図(104)
    • 近くで見ると何描いてあるんだかわかんない
    • 離れてみると確かに「月と滝」だ,カッコいい!
  • 双鶴図(100)
    • 伊藤若冲キター!
    • 期待してたのに,時間が無い&人多すぎで良く見れませんでした。
    • しょうがないので売店でこれがデザインされてるクリアケース買った。

全体的な感想を少々。
  • 実物を見るのは良い。
    •  気持ち的なことではなくて,物理的に写真や本より実物のほうが大きいから。良いものは細かいところにも凝っていて面白いです。例えば,幾つかの屏風絵に囲碁を指している場面が描かれていたんですが,碁盤が細かく描かれていました。多分,囲碁のわかる人なら対局の様子も分かるんじゃないかな,ってぐらいです。
  • 温故知新。
    •  展示品は縄文時代から明治時代まで,古い美術品があったわけですが,「古さ」というのは余り感じませんでした。例えば水墨画の岩の描き方はCGっぽい。ポリゴンで描けそう。水墨画的世界を舞台にしたゲームとかも嵌りそうですね。
  • 翻って自分はどうだ?
    •  芸術家も技術者もモノを作るって点では同じ。ここで展示されている作品を作った人は自分の作品が何百年もあとにたくさんの人に見られて,さらにブログで感想を書かれるなんて思ってもいなかっただろうなぁ。さて自分はそんなふうに何百年後にも残っていくものを作れるんだろうか? この前,博物館に寄贈されたソースコードの話しを読んだけど,そんなモノを自分も作ってみたいなぁ。というか目標が大きすぎる?


ところで,美術館に行くのはこれで3回目だけど,行く度に「俺がルパンだったらどうやって盗むだろう?」って考えながら見学してしまうのは良くないかなー。


【参考リンク】
ニューヨーク・バーク・コレクションで「エネルギー」を浴びる - nikkeibp.jp - 展覧会のツボ
弐代目・青い日記帳 | 「ニューヨーク・バーク・コレクション展」
  ↑見に行く前に読むと良いと思います。見所が分かります。

2006-02-08

Visual Editorの設定ファイルはバージョンに注意!

あいかわらずVisual Editorを拡張して開発ツールを作るって作業を続けてるんですが,昨日ハマってしまった問題をメモ。

VEのいろいろな機能を拡張するにはEMFオーバライドする必要があって,そのために.overrideファイルというXMLを書くのですが,そのフォーマット(スキーマ)がVEのバージョンによって違うみたいです。


公式サイトを見ると,2月9日現在,Visual Editorの最新バージョンは1.2M1というやつになってます。ですが,安定バージョンとして出ているのはVE v1.1.0.1 releasedのようです。Eclipseの”ソフトウェア更新”で『Eclipse更新サイト』からインストールされるのも,これです。

VEv1.2はEclipse3.2が必要みたいだし,日本語化パックも出てなかったので,自分の環境はEclipse3.1+VEv1.1.0.1で作ってました。試しにEclipse3.2+VEv1.2も作ってみたけどイマイチ安定してなかったです。

以下の文書では,VE1.1からVE1.2へバージョンアップしたときにEMFオーバライド用の.overrideファイルが変更になることが報告されてます。

  Override Files Migration Instructions


以下で.overrideファイルのフォーマット変更について大雑把に説明してみます。

まず現在のフォーマットは次の二種類
 旧フォーマット:<event:Add>とか使うやつ。
 新フォーマット:<objectsToAttach>とか使うやつ。

次に対応状況(予定)。
 VE v1.1
  ○ 旧フォーマット
  × 新フォーマット
 VE v1.2
  ○ 旧フォーマット
  ○ 新フォーマット
 VE v1.3
  × 旧フォーマット
  ○ 新フォーマット

※ 旧フォーマットから新フォーマットへ移行するためのフィーチャが提供されている



つまり旧フォーマットはVE1.3では使えなくなるみたいですね。確かにVEのドキュメント調べてると,違うフォーマットの設定ファイルが出てくるから変だとは思ってたんですよね~。自分はVE1.2用の.overrideでVE1.1を拡張しようとしてたから駄目だったようです。

VE1.2が安定するまで待ってらんないので,手持ちの.overrideファイルを全部VE1.1用の旧フォーマットに変更したら,EMFオーバライドに成功しました! ふー,ようやく作業が進んだよ。


注:
 Palette XMIファイルも同じようにフォーマットが変更されるそうです。
 Migration to VE 1.1 notes

【VE関連 過去記事】
サルノオボエガキ: Eclipse GUI作成プラグイン 『Visual Editor』
サルノオボエガキ: 『Visual Editor』拡張に関するドキュメント
サルノオボエガキ: VisualEditorのパレットにGUI部品を追加する

親父越え?

このあいだ飲み会に行ってきたんですが,そのときの様子を思い出して自分的に衝撃の事実に気付いてしまったので,メモ。

飲み会は楽しくて良かったんですが,自分の発言を思い返すとあまりにも適当なことばっかり言ってました。派手なガラのシャツを着てたので「チンピラファッションだ」と主張したり,席の中心で「愛!」と本当に叫んでみたり・・・。もうちっと意味のあることは言えんのか,お前は! って感じっすね。

うん,まぁ酔っ払ってるんだから良いかなーとは思います。ただ,こういう酔い方が親父とまったく同じなのはどういうことなんでしょう! 実家にいるときは親父が晩酌するときはいつもこんな感じでしたよ。自分はあまり親父に似ていないと思ってたけど,こんなところが似てくるとは。

このことに昨日気付きまして,一人で部屋でヘコんでました。父親のことは尊敬してますよ! だけどやたらヘコむのは何故なのか・・・。あれか? 越えなきゃならないのか? 「親父越え」ってやつなのか,これが?

うーん,イマイチ理解不能な感情ですが,次の飲み会では思いつきじゃない発言も出来るようにしたいと思います。


--------
検索してたら親父越えTシャツなるものを見つけた。なんだこれ?
 

2006-02-02

プレゼンのノウハウについてメモ

明日,会社でプレゼン発表をしなければいけないんですが,プレゼンに関するノウハウについて自分用にメモっときます。

以下を書いてから思ったけど,自分の発表資料はこのノウハウを活かしてないなぁ。うーむ,今後の課題!


【資料作成について】
Dave's Blog: プレゼン資料作りにあたっての10/20/30の法則
 資料の構成について。ベンチャーキャピタルにプレゼンするときを対象にしているけど,これぐらいシンプルだと発表もしやすそう。
Dave's Blog: VCに見て貰えるビジネスプランの書き方
 こちらも資料の構成について。上とは微妙に違う。
他人の不幸は蜜の味: あなたは「クズみたいな提案書」を作っていないか?
 『あなたが「最終的に何を言いたいのか」を、30秒で伝えること。まずそれを考えるべきだ』。うーむ,自分の資料は出来てないなぁ。
Passion For The Future: 鉄則!企画書は「1枚」にまとめよ
 プレゼン以前の企画書についての本の紹介。まだこの本は読んでないけど,この紹介だけでも結構分かる。
図解言語入門:図解の技術を覚えよう(1)
 資料を作っていて文章が多くなってしまったときに。全7回のシリーズです。これは分かりやすくて参考になりました!


【発表の仕方について】
i d e a * i d e a - プレゼンハック ~プレゼン改善のための10個の小技~
 検索会議2005でも見たけど,百式管理人さん本当にプレゼンが上手いです。”拍手ハック”は使ってみたい。その他も具体的なワザがいくつか紹介されてます。
プレゼンでアガってしまう人に贈る処方箋:IT Pro
 発表前の緊張に医学的に対処! 具体的なメソッドとして呼吸法,イメトレ,筋リラクゼーション法が紹介されてます。


【プレゼンの心得】
Life is beautiful: プレゼン専用、平置き液晶モニター
 『多くの人が勘違いをしているのだが、プレゼンの主役はパワポのスライドではなく、プレゼンをしている本人である』。目からウロコです。
Life is beautiful: スティーブ・ジョブスに学ぶプレゼンのスキル
 プレゼンの鉄人,ジョブスのプレゼン手法について。というか,これは真似できないっす。
Zopeジャンキー日記 :トム・ピーターズの超ポップなプレゼン資料
 こんな資料のプレゼンを見てみたい。これも真似できねーよ。
PowerPointとつまらないプレゼンを無関係にするには? - CNET Japan
 プレゼンというか,パワポの便利な使い方について。


【その他】
Amazon.co.jp:「分かりやすい表現」の技術―意図を正しく伝えるための16のルールブルーバックス: 本
 この本は超お勧めです! 例をたくさん挙げて,分かりやすくするにはどうすれば良いのか,具体的に解説しています。何よりこの本自体が分かりやすい!
私の読んだ本 - 「分かりやすい」表現の技術
 上の本では分かりやすさのための16のルールを挙げていますが,それはこちらのページで見れます。

2006-01-31

ショックなニュース二つ

スラッシュドット ジャパン | プログラミング情報誌「C MAGAZINE」が休刊か

2006年3月発売号で休刊だそうです。休刊≒廃刊ってことだよなぁ,残念。
私も「C MAGAZINE」の愛読者でした。私がプログラミングを始めたのは中学生ぐらいだったんですが,インターネットも無く,パソコン通信もやってない人間にとって,この雑誌は貴重な情報源でした。C言語もJavaも最初は「C MAGAZINE」で勉強しましたね(中学生に1800円は痛かったけど)。

「C MAGAZINE」はわりと骨太な技術の特集をやってましたね。確か,自分がデータ圧縮やコンパイラの構成について知ったのもこの雑誌からだったはずです。う~ん,やっぱり残念だ。雑誌はインターネットの情報量には勝てなかったということなんでしょうか? とりあえず最終号は記念に買うことにします。



ソニー、AIBO、QRIO、QUALIA撤退

AIBOが新規開発中止,生産も2005年度末までで終了となるそうです。
実は大学生のころ,AIBOを動かすためのプログラムを書いたことがあります。友人がAIBOを利用した卒業研究をやってたんですが,その助っ人として手伝いました(お礼に寿司を奢ってもらったw)。あんまり覚えてないけど,C++でプログラムを書いて,メモリースティックに転送してAIBOに挿入,再起動して読み込みって感じで開発してました。
AIBOってただのロボットだけど,プログラムを書いているうちに何だか可愛く思えてくるんですよね~。作ったのはAIBOを歩かせるプログラムだったんですけど,最初は上手くいかなくて生まれたての子馬のような動きだったんですよw それが徐々にしっかりした歩きになっていくのは,まるで子どもの成長を見守る親のよう! 
でもそれが生産中止かー。まぁたソニーが詰まらなくなっちったよ。




テンション下げてばかりでもアレなので,面白かったことも二つ。

Waterfall 2006 - International Conference on Sequential Development(via 秋元@サイボウズ研究所プログラマーBlog
「ウォーターフォール開発を見直そう!」というカンファレンス。ナイアガラの滝で開催されるそうです。アジャイル開発プロセスで論文書いた身としては,このネタはかなりキましたw。”ペア管理: プログラマ一人にマネージャ二人”!

やわらか戦車2 ラレコ先生
 Flashアニメです。音楽と絵が絶妙で,ここ最近はこれが頭の中でエンドレスになってます。作者さんのサイトにある「コアラッコ」も最高! コアラッコ,コアラッコ,生まれたときから反逆児~♪

2006-01-25

[映画]『スーパーサイズ・ミー』


Amazon.co.jp:スーパーサイズ・ミー: DVD



ダイエットの一環として見てみた。結論から言うと,もう怖くってハンバーガーなんか食えません。


『スーパーサイズ・ミー』では,監督(上でポテトくわえてる人)が「マクドナルドの食品を一ヶ月間食べ続けたらどうなるか?」ということを検証するため,身体を張ってチャレンジします。そのときのルールは三つ。
  • 1.マクドナルドで販売されているものしか食べてはいけない(水も含む)
  • 2.一日三食,残さず食べる
  • 3.”スーパーサイズ”を薦められたら断ってはいけない

”スーパーサイズ”というのはS・M・Lのさらに上のサイズです。映画で出てきたけど,デカすぎです。コーラのカップなんか子供用のバケツみたいです。

最初は笑顔でハンバーガーを食べていた監督も,二日目にして早くも気持ち悪くなり胃の中がリバースしてました。監督,さすがにスーパーサイズは辛そうです。二日目を過ぎると何とか慣れたみたいで淡々と食べてきます。取材で各地を回りながら,アメリカ各地のマクドナルドを回っていきます。監督,テキサスのご当地バーガーに喜びます(あー,さすがに飽きてたのね)。しかしこのチャレンジは20日を越えたあたりからだんだんとシリアスになってきます。なんというか,壮絶です。最後にどうなったのかは見たときのお楽しみ。
それにしても,監督の彼女がベジタリアンなのは皮肉ですねー,明らかにこの企画は彼女への嫌がらせでしょ(w



ノリとしては電波少年みたいなんですが,監督のチャレンジの合間に,真面目にアメリカの食の問題に切り込んでます。そもそも,この企画が始まったのがアメリカの二人の少女が「自分が肥満になったのはファーストフード店のせい!」って訴えたという事件からです。この事実だけ知ると,「またアメリカで変な訴訟やってんな」って感じに流してしまいそうですが,この映画を見たあとだと簡単には片付けられない問題だということが分かりますね。

マクドナルド生活が始まって,実験台の監督は「マクドナルド中毒」のようになっちゃいます。一日中うつ状態で,ハンバーガーを食べたときだけ気分が明るくなるっていうような状態です。

映画の中でインタビューされている人が言っていましたが,「タバコ会社と喫煙者」の関係が「ファーストフード企業と太っている人」の間にもあるんじゃないかって考え方が出てきます。タバコ会社はきちんとタバコの害をアピールしているし一定の責任は果たしているけど,ファーストフード企業はそれをしていない。売ってるものに中毒性がある以上,これってアンフェアじゃないの? という意見です。アメリカでは肥満が原因の病気で死ぬ人が増えているようで,タバコと比較するのもそんなに的外れではないようです。

法律で規制しようにも,当然ファーストフード企業のためのロビィ団体があるわけで,なかなか上手くはいきません。そんな状況をぶち壊すために監督はこの映画を作ったんでしょう。実際,映画公開後にマクドナルドではスーパーサイズの販売を中止したそうです。映画ではハンバーガーを食べてるだけだったけど,なんか監督がカッコよく思えてきました。


こういうのを見ると日本でも同じことをやってくれないかなーって思いますね。まずはセブンイレブンの弁当か吉野家あたりで。前にコンビニ弁当ばっかり食べてたときに,大分太りましたからね。


この映画を見たあとだと食べ物に関しては気をつけるようになりますね。とりあえずダイエット効果ありだと思います。



【参考リンク】
日本マクドナルドホームページ - 栄養情報
 マクドナルドの食品成分表。どうでも良いけどFlashは使わないでほしい。
外食、食品栄養成分分析マップ
 各種外食産業の食品成分表ページのまとめ

2006-01-24

Programmable Myself #2

以前のエントリのアイデアで思いついたことをメモ。
とっても「チラシの裏」的なエントリなんで,よく分からなくても気にしないでください。


「マネジメントをプログラミングに変える」
自分がやりたいのは「マネジメント」 という言葉を「プログラミング」に変えたいって事なんだよなー。プロジェクト・マネジメントじゃなくてプロジェクト・プログラミング。セルフ・マネジメントじゃなくてセルフ・プログラミングとか言うと素敵。

「精神的サイボーグ」
サイボーグってのは機械で身体の機能を代用する。じゃ,ソフトウェアで自分の仕事の一部を代用する,つまりスケジュールをPDAで管理してアラームで知らせるみたいなことをしている場合も,ある種のサイボーグみたいなものじゃないのかな。この例じゃそうでもないかもしれないけど,もうちょっときめ細かくサポートできて便利になれば,実感も出るのでは。


TODO:
 とりあえずプログラマブルTODOリストについて考えてみる。つーか,分かりにくいからなんか作れ>自分

2006-01-22

ドラゴンを拾った

最近,会社で組織改変がありました。上層部の考えとしては,うちの部署は利益があんまり出てないから,もうちょい収益を考えた開発をしろよってことらしいです。

そんなことで席を移動しなくちゃいけなくなって,机の掃除をしてました。ゴミ出しにいってみると,同期のS氏が何やらゴミ捨て場を漁ってました。ちょっと話してみると,本がたくさん捨ててあって,使えそうなのが無いか探していたとのこと。さすがS氏,ということで一緒に漁ることに。仕事中にゴミ捨て場を漁る男二人。

いろいろ探っていると,見覚えのある表紙の分厚い本がありました。おぉ,これはドラゴンブックではないですか!!! しかも原著! コンパイラの本としては定番中の定番ですよ。

dragonbook

当然,S氏には黙ってゲット。あとでアマゾンで調べてみると同じ本が10,000円ぐらいしてるよ。S氏ありがとう! あと誰だか知らないけど,この本を捨てた人もありがとう! っていうかこんな良い本捨てるんだったら図書室に寄付しろよ!

実際,英語の本なんで全部読むとは思えないけど,ドラゴンブックは持っといて損は無いよなぁ。なんだか言語処理系を作りたくなってきたぞ。



ついでに最近見つけた凄いページをメモ。実際にJavaScriptで作ってる様子をFlashでみれます。

10分で書く字句解析器元ページ
10分で書く構文解析器元ページ

簡単なものだけど,10分で本当に出来てるってのが凄い。下の構文解析器のほうなんか時間が余っちゃってるし。


学生時代もコンパイラの勉強はしたし,研究でPrologのインタプリタも作ったことがあるんだけど,もうちょっと言語処理系の勉強をしてみよっかなー,意外に簡単に出来るかもしれないし。というかプログラム言語作りたい!って最近思ってます。


【過去記事】
サルノオボエガキ: Programmable Myself
 書くの忘れてるわけじゃないすよ。ただこのアイデアの実現するためのプログラム言語が必要かなー,と思ってます。

2006-01-21

TopCoder: Single Round Match 283

Single Round Match (SRM) Schedule at TopCoder

20日は久しぶりにTopCoderのSingle Round Matchに参加しました。

TopCoderというのは,オンラインでプログラミングコンテストをやっているサイトで,参加者は出題された問題を解くプログラムを素早く仕上げる能力を競います。問題はパズルみたいなのが多いですね。TopCoderは,Google主催のプログラミングコンテスト"Google Code Jam"で使われてるのをみて知りました。


TopCoderでは以下のような独自のJavaアプレットで参加します。

TopCoder

上半分に問題文が出て,下半分にプログラムを入力します。右下のボタンでコンパイルやテストが出来ます。完成したと思ったらSUBMITボタンで送信。問題文を開いてからSUBMITまでの時間でスコアが決まります。

SRMがどんな流れで進むかということに関しては以前SRMに参加したときのエントリを参照してください。


で,結果ですが・・・。
またチャレンジフェーズで落とされました! うー,落とされる前までは結構上位だったんで期待してたんだけどなぁ。以下に今回出題された問題をメモっときます。


250点問題「DiagonalDisproportion」
  • 一桁の数字が正方形の行列に配置されているとき,左上から右下への数字を足したものから,右上から左下への数字を足したものを引き算した値を返すという問題。ただし行の数字は1行の文字列の配列で渡される。例:{"190","828","373"}。
600点問題「PowerSupply」
  • 時間が無かったのでパスしました。
1000点問題「FactorialGCD」
  • 整数a,bが与えられたとき,a!とbの最大公約数を求めよ。



250点問題はそんなに難しく無かったです。素直に書いて速攻サブミット。

600点問題はパスで,1000点問題。この問題が結構難しくて,試行錯誤をぎりぎりまでやってました。最初は「最大公約数はユークリッドの互除法で求めればOKだし,1000点にしては簡単じゃね?」とか思ってました。つまり次のようなアホアホなプログラムを書いちゃってました。
public int factGCD(int a, int b) {
int temp = fact(a); // 階乗を計算
return gcd(x, b); // 最大公約数を計算
}

ですが,実行してみるとすぐに分かりますが,階乗ってのがクセモノで,普通に階乗してから最大公約数を計算してると,fact(a)のところで桁あふれになっちゃいます。

ということで何かトリックを考えなくちゃいけない。ユークリッドの互除法の計算では,最初にa!をbで割った余りを求めます。なので別にa!が分からなくてもbで割った余りが分かれば,最大公約数の計算は実行できます。そこで階乗の計算途中にbで割った余りで置換する,という戦略で行きました(合同式の乗法法則)。
つまり以下のようなロジック。
public int factGCD(int a, int b) {
int temp = 1;
for (int i=a; i>0; i--) {
temp = (i % b) * (temp % b);
}
return gcd(b, temp);
}

これで桁あふれはしなくなったんですが,問題文で紹介されている例(a=2097711064, b=2147483646)だと,制限時間2秒以内に終わりません。そこで細かい条件を考えて調整しつつ,制限時間10分前で何とか2秒以内に計算させることが出来ました。結構苦労したので「やった!」と心の中で叫んでました。
で,最終的にサブミットしたのが次のプログラム。
public int factGCD(int a, int b) {
// aの方が大きかったら階乗にbが含まれるのでbが最大公約数
if ( a >= b ) return b;
int temp = 1;
for (int i=a; i>0; i--) {
temp = (i % b) * (temp % b);
// 階乗の途中計算がbの倍数になったらループを抜ける
if (temp == 0) break;
}
// a!がbの倍数になっているので,bが最大公約数
if (temp == 0) return b;
return gcd(b, temp);
}



でもチャレンジで落とされたんですよねー(チキショウ!)。今,冷静になって考えてみると,階乗の計算式がおかしい気がします。(i%b)*(temp%b)じゃなくて,(i*temp)%bでよかったんじゃないかなぁ。そこで代入されるtempで桁あふれが起こっていたと思います。


ともかく,久しぶりに全力で集中してプログラムを書けたので満足です。最近はEclipseのプラグインを弄ったりフレームワークを使ったり,素直に1からソースコードを書くことが少なかったので,こういうのは息抜きに良いですね。今後もTopCoderのSRMには参加していこうと思います。

一応,TopCoderにはdeltam81の名前で参加してますので,よろしく。


【関連リンク】
4TopCoder
日本人でTopCoderに参加している人のBlog。問題について詳細に解説されているので勉強になります。
TopCoder Events Calendar
TopCoderのイベントスケジュール。

【過去の記事】
サルノオボエガキ: TopCoder
サルノオボエガキ: Single Round Match 255 at TopCoder

2006-01-12

エクササイズリーディングのすすめ

今週はずーっと定時後に『Eclipseモデリングフレームワーク』を読んでいるので,スポーツジムに行けてませんでした。そのせいか,何だか体の調子が悪いし,気分が良くない。カロリーばっかりとって消費しないのは,ダイエットをする人間として邪道です。

そこで「本を読む」,「ジムで運動する」ということを同時にやってみました。要するにジムでエアロバイクを漕ぎながら本を読むってことです。名づけて,”エクササイズリーディング”! 実際にやってみて,いくつか良い点が分かったので書いてみます。

    良い点
  • エアロバイクに乗っている最中は他にやることが無いので,読書に集中できる。
  • 難しい本を読んでも眠くならない。
  • 運動をしているせいかテンションが高くなり,内容にのめり込める

『Eclipseモデリングフレームワーク』は比較的難しい内容の本なので,途中で読み続けるのを挫折しかけたり眠くなったりするのですが,さすがにエアロバイクに乗りながら眠るのは無理です。アドレナリンが出ているせいか,妙にやる気が出ます。
あとテンションが高くなっているので内容にノリやすいってのもあります。例えばさっき読書しているときは,心の中はこんな感じでした。

    「ヤッベ,EMFすごくね? Ecoreってのを使えばJavaコードを完全にモデル化できるし,モデル化しちゃえばあとはXMLなりUMLなりに変換し放題じゃん! バケモノだよ,バケモノテクノロジーだよ,こんなんがオープンソースかよ,世の中どうなってんだ!」
・・・。まぁ,テンション高くなってましたから。


前によくジョギングしていたときは,茂木健一郎さんの講演・講義のMP3ファイルを良く聞いていましたが,そのときも集中して聞けました。運動しながら情報をインプットするのは効率が良いのかもしれないですね。

自分としては,時間が節約できてしかも効率的なので,このエクササイズリーディングはグッドなソリューションでした。これからしばらく続けていこうと思います。

Eclipseモデリングフレームワーク


Eclipseモデリングフレームワーク



Visual Editorのソースを調べているとEObjectやeGet()なんていう文言を良く見かけます。この文言はVisual Editorの内部で使われているEMF(Eclipse Modeling Framework)に関係のあるものみたいです。

EMFはXML,Javaコード,UMLを相互に変換可能にするためのフレームワークです。例えばXML文書を元にJavaコードを自動生成したり出来ます。モデル駆動型開発(MDA)を実現するために作られたそうで,そのせいか上記の本の帯には『モデリングすべきかプログラミングすべきか,それは問題ではない』なんて格好いいコピーが書かれてました。Visual Editorでは画面レイアウトとソースコードの同期を取ってますが,その機能にEMFが使われている模様。

Visual Editorを理解するためにこの本を現在読書中なのですが,やたら抽象的で自分の頭には難しいです。ややこしいけどEMFって「モデルを記述するためのモデルを扱うためのフレームワーク」なので,やたら汎用性があって複雑です。なんか数学の本みたい。

でも早急にEMFについて覚えないと仕事が進まないので,今週中に一通り目を通しておくこと>自分。


【Visual Editor関連の過去エントリ】
サルノオボエガキ: Eclipse GUI作成プラグイン 『Visual Editor』
サルノオボエガキ: 『Visual Editor』拡張に関するドキュメント
サルノオボエガキ: VisualEditorのパレットにGUI部品を追加する

2006-01-05

VisualEditorのパレットにGUI部品を追加する

Visual Editorの簡単な拡張についてちょっと書いてみます。Visual Editorについては下の以前のエントリを参照。

Eclipse GUI作成プラグイン 『Visual Editor』



VE_Palette
左のVisual Editorの画面で赤く囲ってあるのがパレット。GUI画面を作るときは,ここから追加するGUI部品をマウスで選択して,画面上に貼り付けられます。

画面ではSwingとAWTの部品が表示されてますが,自分でカスタマイズしたGUI部品をVEで使いたい場合はどうすれば良いんでしょうか? これには二つ方法があります。一つ目はパレット上にある”Choose Bean”を選択して,表示されるダイアログに追加するGUI部品のクラス名を入力して選択する方法。二つ目はVEを拡張するプラグインを作成して,新たにパレットに項目を追加する方法です。

一つ目の方法を使えば,特別なことをしなくてもカスタマイズしたGUI部品も使えますが,いちいちクラス名を入力するのは面倒くさいですね。第一,面白くないです。なので今回は二つ目の方法の,VEパレットを拡張するプラグインを作成してみます。



テストに使用した環境は,Eclipse3.1,VisualEditor1.1.0です。他の環境では試してないので動作結果は不明。
テストのため,JLabelを継承したMyLabelというクラスを作成しました。これをVEパレットに追加してみます。以下にその手順を簡単に箇条書きしてみます。

  1. プロジェクトの新規作成
    • プラグイン・プロジェクト
        名前: AddPalette
        OSGiバンドルマニフェストは作成しない
        ”以下のテンプレートを使用してプラグインを作成”のチェックを外す
  2. 準備
    • GUI部品
        test.palette.parts.MyLabel
        テキストに接頭語と接尾語をつけるラベル
    • アイコン
        iconsフォルダ作成
        適当なアイコン追加。example.gif
    • Jarファイル
        srcフォルダをカレントフォルダにJarでエクスポート
        addpalette.jar
  3. XMIファイルの作成
    • このXMIファイルでパレットの表示内容を設定します。
    • ”プロパティ”でエンコーディングをUTF-8にする(注意! これをしないと日本語が使えません)
    • グループタグ
    • アイコンの指定
    • クラスファイルの指定
    • 表示文字列の指定
    • 変数名の指定
  4. plugin.xmlの編集
    • プラグイン依存関係を追加
        org.eclipse.ve.java.core
        org.eclipse.jdt.core
        org.eclipse.jdt.ui
    • 拡張
      • クラスパスコンテナページ
          org.eclipse.jdt.ui.classpathContainerPage
          name: AddPaletteライブラリ
          class: org.eclipse.ve.internal.java.wizard.RegisteredClasspathContainerWizardPage
      • クラスパスイニシャライザ
          org.eclipse.jdt.core.classpathContainerInitializer
          class: org.eclipse.ve.internal.java.core.RegisteredClasspathContainerInitializer
      • VEレジストレーション
          org.eclipse.ve.java.core.registrations
      • VEコントリビュータ
          org.eclipse.ve.java.core.contributors
  5. プラグインのテスト
    • ランタイムワークベンチを起動
    • SwingのJFrameを作成
    • ”AddPaletteライブラリ”を追加
    • JFrameをVEで開く
    • テストグループがあればOK
  6. プラグインのエクスポート
    • bin.includesに追加
      • icons/
        addpalette.xmi
    • ECLIPSE_HOME/pluginsに展開
    • Eclipseの再起動


このプラグインをインストールして,プロジェクトにAddPaletteライブラリを追加すると,以下のようにパレットに追加されます。

AddPalette




上記の手順で作ったプロジェクトのファイルを下に置いときます。細かいところは説明しきれないのでファイルを参照してください。というか正直良く分かってないところのほうが多いです。VE拡張は難しい!

AddPalette.zip

Programmable Myself

「プログラム可能な自分」というアイデアを思いついた。とりあえずタグ付けして,後で書く。

タグ:
ユビキタス,GTD,メッセージ,アスペクト,XMLと社会契約論,ソフトウェアプロセス記述言語

2006-01-04

GoogleDeskbarのカスタムサーチ設定を晒してみる

”GoogleDeskbarのカスタムサーチをエクスポート/インポートする” でカスタムサーチ設定の移動方法を説明したので,自分がどんな設定でGoogleDeskbarを使っているか,公開してみます。


DeskbarPict


いっぱい登録してあるけどよく使うのは2,3個だけですね。del.icio.us,辞書系,GMailが良く使うかなぁ。特にdel.icio.usのタグ検索は最近はDeskbarからしか使わなくなっちゃいました。del.icio.usとDeskbarは相性良いです。

一応,エクスポートしたファイルも置いておきます。XMLタグとして書いてあるので,見てみれば設定内容は分かると思います。

gdeskbar_exp.txt

GoogleDeskbarのカスタムサーチをエクスポート/インポートする

あけましておめでとうございます。今年もこのブログをよろしく。
新年一発目の記事は,去年書き忘れてたやつです。いきなりこんなネタです。


----
Googleがリリースしているデスクトップツールはいろいろあるけども,GoogleDeskbarには一番お世話になっています。Googleデスクトップサーチより便利だと思う。 GoogleDeskbarをインストールすると,ディスクトップのタスクバーにGoogle検索窓が常に表示されるようになります。これでWinキー+Gで検索窓に移動,キーワードを打ち込んでやれば,検索結果が小さなブラウザに表示される。この小さなブラウザがコンパクトで良くて,作業中にちょっと調べたいときなどにはちょうど良い。


GoogleDeskbarにはカスタムサーチという機能があって,これを使えばGoogle以外の検索エンジンでも検索できるようになります。というか検索サイトじゃないものも登録できるので,よく使うサイトなんかを登録しとくとIEの"お気に入り"みたいな感じで使える。私はWebアプリをいくつか登録しておいて,ランチャーのような感じで使ってます。カスタムサーチにはショートカットキーも登録できるんで,慣れるとすんごい便利。



こんな風に便利なDeskbarのカスタムサーチだけど,良くない点が一つあります。それはカスタムサーチの設定を取り出せないこと。設定ファイルとかに書いてあれば簡単なんだけど,調べてみたらどうやらレジストリにしか書いてないみたい。そこでカスタムサーチ設定をエクスポートするスクリプトを書いてみました。言語は例によってGroovy。


まずはエクスポート用。
GDeskbarExport.groovy
import org.codehaus.groovy.scriptom.ActiveXProxy

regPath = { keyNum -> "HKEY_CURRENT_USER\\Software\\Google\\CustomSearch\\${keyNum}" }

wshell = new ActiveXProxy("WScript.Shell")
try {
num = 0
while (num < 30) {
reg = wshell.RegRead((String)regPath(num++))
println reg.value
}
} catch (Exception e) {}
上記スクリプトは,"groovy GDeskbarExport.groovy > gdeskbar_exp.txt"みたいな感じで起動してください。
次にインポート用のスクリプト。これは"groovy GDeskbarImport gdeskbar_exp.txt"って感じで読み込ませてください。

GDeskbarImport.groovy
import org.codehaus.groovy.scriptom.ActiveXProxy

regPath = { keyNum -> "HKEY_CURRENT_USER\\Software\\Google\\CustomSearch\\${keyNum}" }

wshell = new ActiveXProxy("WScript.Shell")

num = 0
new File(args[0]).eachLine { line ->
wshell.RegWrite((String)regPath(num++), line, "REG_SZ")
}

上記のスクリプトではScriptomというコンポーネントを使っているので,使う場合は先にインストールしとかないと動きません。このスクリプトでは基本的にカスタムサーチの設定は全部上書きです。元々あった設定はなくなっちゃいます。あと,レジストリを触るスクリプトなんで,使う場合は自己責任でお願いします。自分のPCでは上手くいったけど。


でもこういうスクリプトは本当はVBScriptで書くのが素直だよなー,と思ったのでVBSで書いたスクリプトも一応置いときます。言語が変わっただけで,やってることは上と同じです。これならGroovyが動かない環境でも使えます。

GDeskbarImport.vbs

GDeskbarExport.vbs

2005-12-25

ダイエットの途中経過

2ヶ月ぐらい前からダイエットのためにスポーツジムに通い始めました。週に二日はジムのマシンでひたすら筋トレと有酸素運動をストイックにやってました。

昨日は,ジムに入会したときに測定した身体データ(体重,体脂肪率,筋肉量など)と,現在のデータを比較するというイベントがありました。結果というと,筋肉量は2kg増量! 体脂肪率は2.5%低下! 体重は1.1kg増量! ってあれ?

うーん,ちょっと納得いかないけど,トレーナーさんによると「筋肉量が増えて体脂肪率が減ってるので理想的」ということらしい。とりあえずジムに通った成果は出ているみたい。もうちょっとだ,がんばれ! ファイト! >自分。


しかしジムでひたすら筋トレも飽きてきちゃったので,今後はスイミングを平行してやっていこうという予定。思えば当初の予定はきっちり長距離を泳げるようになることだったのだ!(昔の記事)。

ということで,昨日泳いできました。前よりも微妙に泳げるようになってきている気がする。腕のスイングに合わせて体の軸を左右にロールさせることで,姿勢を安定させることが出来ることに気がついた。でも息継ぎがやっぱり下手なので,これは今後の課題。一応,500メートル泳いできました。

久しぶりに泳いだので,今日は体中が筋肉痛っす。筋肉痛のクリスマス。きっとサンタもプレゼント配りで筋肉痛。

クリスマスにLaQで遊ぶ

LaQ_ChrismasTree昨日,LaQというパズルを買いました。これはレゴブロックみたいなパズルで,四角と三角のピースを組み合わせていろんな形が作れるというやつ。球体とか立体的な複雑な図形が作れるってのが売りらしいです。公式ホームページにあるギャラリーにはすごい作品がたくさん。

適当に組み合わせているだけでも,幾何学的な綺麗な形が作れるので,無心で遊んでしまいました。ピースを組み合わせるときにパチッと音がするのが気持ちいいです。子どものころレゴが好きだった人はハマるはず。


ところで今日はクリスマス。なので,このLaQでクリスマスツリーを作ってみました(写真)。子どものころにレゴのヘビーユーザだったせいか,ただピースを組み合わせているだけなのに楽しい。クリスマスに一人なのに楽しい(哀。


えーと,とりあえずLaQは子どもへのクリスマスプレゼントに最適ですよという結論ということで。

2005-12-05

インストールしたソフト一覧をプロフィール代わりに

Going My Wayさんにエントリを取り上げて貰いました。

Going My Way: 名刺の裏やサイトのAbout欄、プロフィール欄にインストールしているソフト一覧を書くというアイディア

元になってるエントリはこれ。書いた本人も忘れていたアイデアに目をつけるとは,さすがですね(笑。
言いだしっぺが何もしないのもアレなので,プロフィールのところに追加しときました。


Going My Wayさんは,Lifehack関係の情報を探していて知りました。最近私はGoogleEarthにハマってるんですが,これについてもいろいろ面白い記事がありますね。
こちらのアイデアも面白そう。

2005-12-04

Binary2.0な小ネタ "排他的論理和でSWAP"

いやなブログ: Binary 2.0カンファレンス2005

Binary2.0ってのが最近注目されてるみたいです。これ関係の記事を読んでいて昔発見したテクニックを思い出したので,ちょっと書いてみます。上のイベントに参加している人とは全然レベルが違うネタですが。。。


例えばソートプログラムを書くときには二つの変数の内容を入れ替える(SWAPする)コードが必要になります。これってC言語を使うと,普通はこう書きますね。


int a = 12;
int b = 4;
int temp;

temp = a;
a = b;
b = temp;


まぁ,これでも良いんですが,tempって一時変数が邪魔ですよね。なんとか消すことは出来ないでしょうか?
実は出来ます。こんな風に書きます。


int a = 12;
int b = 4;

a = a^b;
b = a^b;
a = a^b;


知らない人は「???」って感じだと思いますけど,これを実行すると"a = 4, b = 12"になります。なぜかというと"^"で演算している排他的論理和の性質のおかげ。排他的論理和についてはWikipediaを参照。


これを発見したのは高校時代にアセンブラをいじってるときでした。見つけたときは「キタ━━━━(゚∀゚)━━━━ッ!!」って感じでしたが,あとで調べてみたらアセンブラ使いの間では常識的なテクニックだった模様(orz。


最近はJavaばっかり触っていてバイナリを意識することが無かったんですが,なんだか昔を思い出して懐かしかったので書いてみました(笑

ChangeLogメモをはじめました

ここ最近はVisual Editorの資料を探したり,拡張方法をいろいろ試したりしてます。そのときに作業中に分かったことをテキストファイルにメモってたんですが,どうにもこれが乱雑で,あとで読み返したときに分かりにくくて困ってました。

作業メモを眺めてたときに,「そういえば前にこんなメモの取り方を紹介しているサイトがあったなぁ」と思い出して調べてみました。こちらのサイトで紹介されている『ChangeLogメモ』ってやつです。

横着プログラミング 第1回: Unixのメモ技術

ChangeLogメモというものは,
  • もともとはソフトウェアの変更履歴を記録するための書式である。
  • 一つのテキストファイルに日付順に(新しいほど上に)記録していく。
  • 先頭にカテゴリ名をつける。あとで見るときにgrepすればカテゴリごとに一覧を見ることが出来る。
というようなものです。詳しくは上のサイトを見てください。


ChangeLog メモの良いところは,書式が決まっているというところですね。書式があらかじめ決まっていればメモるときにレイアウトなど余計なことに気を使わなくても良 いですから,気楽にかけます。それで最近は技術的なことだけじゃなくて,思いついたことは全部ChangeLogに書いてます。

どうやらChangeLogメモというものは,「ある程度メモが溜まってから良さがわかる」という特徴もあるようです。なのでしばらくはこれを続けていこうと思います。


deltamのChangeLogサイズ
はてなグラフでChangeLogファイルのサイズを記録してみます




【参考リンク】
ChangeLog - - ソフトウェアの変更履歴を書くためのテキストの形式
Let's Try ChangeLog Memo
YAYADoc: 秀丸用changelogマクロ
Zakimi::Blog: ChangeLog.hilightを更新

2005-12-02

『Visual Editor』拡張に関するドキュメント

Eclipseの特徴として「すべてがプラグインである」ということが挙げられます。Eclipseの本体は小規模なランタイムモジュールで,他の機能は すべてプラグインを拡張することで実現しています。さらにプラグインも同じように拡張可能で,プラグインのプラグインなんてのも作れます。

つまりEclipseは「すべてが拡張可能である」というルールで設計されているということです。このルールはEclipseプラグインであるVisual Editorに関しても例外は無く,拡張が可能です。
Visual Editorを拡張することで,例えばつぎのようなことが可能です。
  • 独自定義のGUIオブジェクトの使用
  • コード生成部のカスタマイズ
  • プロパティ設定部のカスタマイズ

Visual Editorの拡張方法を探しているときに見つけた資料を2つ挙げときます。両方とも英語なのがつらい・・・。

Extending The Visual Editor: Enabling support for a custom widget
  おそらく現時点で一番詳しいドキュメント。本家Eclipseプロジェクトの資料です。
Extend VE to build a ULC GUI builder(PDF)
  ULCというライブラリのためのVE拡張のケーススタディ。自分がやりたいことはこれに近い。


上 で"Extending The Visual Editor: ..."という資料が一番詳しいと書きましたが,この資料は長いくせにインデックスが付いてなくて読みにくいので,勝手に見出し一覧を作っちゃいました。 未読の人はタイトルだけ見ても大体内容が分かるのではないかと思います。



------

Extending The Visual Editor:
Enabling support for a custom widget
INDEX

Eclipse GUI作成プラグイン 『Visual Editor』

Eclipseはオープンソースの統合開発環境である。もともとはIBM 社が自社のアプリケーション・サーバ用の開発環境として開発していたものだが,2001年11月にオープンソースコミュニティにソースコードが寄与され, 現在はEclipseプロジェクトの手により開発が継続されている。Eclipseは拡張性の高さ,普及率の高さからJava開発環境の事実上標準となっ ている。

Eclipseの弱点としてGUI画面の作成機能が無い点が指摘されてきた。Visual Studioなど,他の統合開発環境ではマウスで部品を配置し,視覚的に画面を作成する機能が付属している。そのような機能の無いEclipseでは,画 面レイアウトをコードに直接記述する必要があった。このような画面開発手法は直感的に分かりにくく,GUI画面作成を困難なものとしていた。

The Eclipse Visual Editor Projectは そのような不満を解決する目的で始まったプロジェクトである。このプロジェクトは2003年11月にEclipseプロジェクトのサブプロジェクトとして 開始された。Visual EditorはEclipseプラグインとして動作し,マウス操作で直感的にGUI画面を作成することを可能にする。

Visual Editorの主な機能を次に挙げる。
  • 画面レイアウトをマウス等で視覚的に作成できる。
  • 画面レイアウトとソースコードをリアルタイムに同期する
  • 画面要素のプロパティをVisual Basic風に設定できる
  • AWT,Swing,SWTに対応する。

-----
いきなり論文口調で書いてみました。上の文章は仕事で書いたものをちょっと改変したものです。この「Visual Editor」というプラグインを拡張して開発ツールを作るってのを最近やってるんですが,一応調べたことをまとめるってことでブログに書いてみました。

あんまり「Visual Editor」の拡張方法に関する日本語の資料って無いみたいなので,これからちょこちょこ書いてみます。

2005-11-28

Gropyと「Web2.0=発酵食品説」

Gropyを更新しました。外見的には変わってないけど,Templateの代わりにMarkupBuilderを使ったりしてます。コードが短くなったので(コメント,改行なしで74行),勝手に”世界最小のTropyクローン”と名乗っておきます(笑。あと文字のエンコードはApache Commons Codecを使ったので,これをインストールしないと動きません。Groovyの標準ライブラリだけでやりたかったけど,java.net.URLDecoderやHttpClientのURIUtilでは無理みたい。あといつの間にか結城さんのページのリストに載っけてもらってました


「Web2.0=発酵食品説」っていう記事を読みました。そのなかでTropyの各言語のクローンがあっという間に作られていくことについて以下のように言われてます。

圏外からのひとこと(2005-11-24)
 たとえば、TropyやText::HatenaやRuby on Railsは一瞬でたくさんの言語に移植された。よいアイディアがPerlとRubyとPHPに移植されるかどうかを考えるのに、誰が何を何に移植するか具体的に考える必要はない。WEBを巡るよいアイディアは、特に制限しなければ、あらゆる言語やOSに移植される。

自分がなぜGropyを作ったかといえば,「出来るから」。何というか,Webに繋がっている人間の中でタイミングと技術力と興味の対象で分類したら,GroovyでTropyクローンを作れるのは自分だけだろうと思って,「ならば作るしかない!」と結論したわけです。他にも当然『流行ってるTropyのクローンを作れば目立てるかも。Groovyってマイナーだし競争相手少なそう(ぉぃ』という打算もあったけど,『Webという生態系のニッチは埋めるべきだ』という流れに従ったって感じが強いなぁ。

『Webの法則』というのがある。それは誰かが作ったわけではなく,技術的な制約から自然発生的にできたもの。少し前まではその法則は一部の人間しか認識してなかったけれど,ネット人口が多くなるにしたがって「分かってるユーザ」が増えてきた。その人数が一定数を超えたところで,ネットユーザが他のユーザに対して同じ法則を理解していると期待できるようになった。そういう下地ができたところで,最近のAjaxやタギングを利用したアプリが出てきて,利用者の反応からこの状況がメタ認知されるようになってきた。そういう状況を指してオライリーさんは『Web2.0』とネーミングしたのだと思います。

今の時代の技術者にとってWeb2.0っていうのは,小学生の分数の割り算と同じように,理解しなきゃいけないけどよく分からないものだと思います。そのまま猿真似して使うことは出来るけど,その背後の理屈が良く分からないって類のもの。なので自分の言葉でまとめられて,かなりすっきりしました。


【参考リンク】
[特集] Web 2.0ってなんだ? - CNET Japan
 CNETのWeb2.0に関する特集。提唱者のオライリー氏の論文が読める。

2005-11-25

小惑星探査機「はやぶさ」

「はやぶさ」ミッションの概要

小惑星の資料を採取するための探査機「はやぶさ」。最近ニュースをチェックしてなかったせいか,こんなことが起こっているなんて知りませんでした。

上のページによると「はやぶさ」ミッションとは,地球から3億kmも離れた小惑星Itokawa(イトカワ)へ無人探査機を送り,そのサンプルを採取して地球に持ち帰るプロジェクト。今まで小惑星を映像で撮影したことはあったけど,実際に小惑星に着陸してサンプルを採取するというミッションは史上初だそうです。

現在の状況は,20日にItokawaへの着陸・離脱に成功したようです(史上初!)。しかしシステムのトラブルで資料採取ができたか不明なので,再度Itokawaへの降下を行うそうです。再度のタッチダウンは26日午前7時ごろになる予定。


ここ3ヶ月ほど自分の中で突如宇宙ブームが再燃していて,宇宙もののドキュメンタリーなんかを読み漁っていたのですが,このニュースを見逃していたのは不覚! 26日までにいろいろ調べてみようと思います。


【参考リンク】
「はやぶさ」の第1回着陸飛行の結果と今後の計画について
 JAXAの公式発表
松浦晋也のL/D
 「はやぶさ」についての情報はここが早い。
はてなブックマーク - タグ はやぶさ
 ここを見ておけば関連ページは拾えるかな。

2005-11-13

あなたのサイトのWeb2.0度を判定します

Web 2.0 Validator : Surfing the Consensual Reality Wave.

30 Second Ruleというグループが作ったサービス(via MoMB)。サイトのURLを入れてValidate!を押すと,そのサイトのWeb2.0度を10段階評価で判定してくれる。

なるほど~,Web2.0って良くわかんないけど,ここで調べれば良いんですね。ってそうじゃねぇだろ! まぁ,9割がたジョークだと思いますけど。

試しにいくつかやってみたけど,バグなのかほとんどが0スコアなんでイマイチ面白くない。今後に期待。何気にVersionが自然対数の底。あとIEだとうまく動かないかも。

ちなみにこのサイトのWeb2.0度は3でした。


【参考リンク】
Web2.0について本当に知りたい場合は以下を参照。本家です。
Web 2.0:次世代ソフトウェアのデザインパターンとビジネスモデル(前編) - CNET Japan
Web 2.0:次世代ソフトウェアのデザインパターンとビジネスモデル(後編) - CNET Japan

2005-11-10

GroovyによるBackpack APIのラッパ

BackpackAPI.txt

Groovyユーザのメーリングリストで紹介されていた,Backpack.comのWeb APIをGroovyから使うためのラッパ。作った人はJohn Wilsonさん。

まだ使ってないので何ともいえませんが,スクリプトの作りとしては面白い。最初にメソッド名とクロージャをセットにしたマップを作っといて,invokeMethod()でそれを呼び出す。なるほど~,invokeMethod()ってこういう風に使うのね。このテクニックは使えそう(。_。)φメモメモ

Backpackのアカウントは持ってますが積極的に使ってないので,このラッパが便利かどうかは微妙。だけどスクリプトのサンプルとしては勉強になります。こういうコードがもっと公開されてけば良いですけどね。


【参考リンク】
IBM Search Results: 実用的なGroovy
 IBM developerWorksの連載記事。今のところGroovyについて一番詳しい情報源。

2005-11-09

Gropy - TropyクローンをGroovyで作ってみた

TropyクローンをGroovyで作ってみました。名前はGropy(グロピィ)。「Tropyって何?」という人は結城さんのページを見てください。サーバを持ってないので,スクリプトだけ公開します(バグがあるけど)。

Gropy.groovy

上のスクリプトを"groovy -l 80 Gropy.groovy"というふうに起動して,http://127.0.0.1/をブラウザで表示すると,以下のような感じで表示されます。

gropy



サーバサイドのGroovyだと,GroovletやGSPなんてのがあるけど,GropyではTomcatもDBも使ってません。Groovyインタプリタのオプションとローカルファイルを使ってます。
Collection & Copy - 待ち受けモードによると,Groovyインタプリタの"-l"オプションを使えばポートを指定してサーバモード起動できるそうなので,それを使わせてもらいました。データの保存はエントリ内容を保持しているMapをシリアライズしてローカルファイルに書き込んでます。起動するとカレントディレクトリにentry.datってのができるけど,それがそう。

2,3日前から凄い勢いでTropyクローンが作られてるけど,Groovyで作ってる人がいなさそうなので,とりあえずやってみた。結構ニッチだったかも。

半角スペースを入力すると変なことになったり,テンプレートの書き方がイケてなかったりするけど,保守は積極的にはやらない予定。権利とかは放棄しますので,上記のスクリプトは自由につかってもらって結構です。インスパイア万歳。

追記(2005-11-29)
 スクリプトを更新しました。

2005-11-06

新PCにインストールしたソフト一覧

最近は新PCに環境構築をするため,怒涛のごとくインストールをしてます。また同じことをすることもあるかと思うので,インストールしたソフトの一覧を作っときました。

最近は仕事でEclipseのプラグイン開発をして,趣味でEmacsとHaskellの練習をしているので,その分のノイズがあるかも。




書いてから思ったけど,インストールしたソフト一覧ってプロフィール的な面もありますね。技術者の場合,その人のフィールドなんかすぐ分かっちゃいます(俺の場合はJava系)。

自己紹介とか名刺の裏に”インストールソフト一覧”なんてどうでしょう??

2005-11-04

『アマゾン・ページス』で”iPod Book”を妄想してみる


米アマゾン、本をページ単位でばら売りへ: Wired News
  米アマゾン・コム社は3日(米国時間)、書籍をページ単位、章単位で販売するサービス『アマゾン・ページズ』を発表した。本を買わなくても、必要な部分だ けインターネット上で読めるようにする。一方、本を購入後、追加料金を払えば、外出先でもネットで読める『アマゾン・アップグレード』も開始する。

Amazon日本で「なか見!検索」が始まってその便利さに驚いてたんですが、ついに本のページ売りがAmazon本家で始まりました。ほんとびっくり。

こ のニュースの大事なところは”ページ単位で買える”ってことじゃなくて、”ネット上で読める”ということだと思います。自分は技術書を買うことが多いけ ど、いちいち買ってると本棚がすぐにいっぱいになっちゃいます。たいていの技術書って分厚いし、そのすべてのページが必要だってことは少ないです。

『ア マゾン・ページス』と『なか見!検索』を組み合わせれば、ネット上に検索可能な自分用の本棚が持てますね。どこでも見れるし、必要なところをすぐに探し出 せる。さらにAmazonAPIを使えば、携帯でも見れるようになる(はず)。電子書籍サービスをやってる会社は危険なんじゃないでしょうか。

そ れともAppleがiTunesで本のページを買えるようにしてiPodでページを読む、なんてことが始まったりして。そのうち『iPod Book』がリリースされたりして。なんか『アマゾン・ページス』に は、”CDをアルバム単位から曲単位で買う”というiTunesがもたらした変化と同じようなものを感じます。本好きとしては、iPodで本棚のすべての本が持ち歩けたら最高です。でも、本当にiPodで本が読めるように なったら、ソニーのリブリエみたいのはいらなくなっちゃいますね。

Amazon.comっ て他のWeb系の会社と違ってメディアへの露出が少ないけど、かなりキてる会社ですね。『なか見!検索』などの技術力、『この本を買った人はこんな本も 買っています』機能に代表される顧客データの蓄積、さらにこんなサービスを実現させる出版社との交渉力。

ともかく、早く日本でもこのサービスを開始してほしいです。


【参考リンク】
ブクログ -WEB本棚サービス-
本棚.org
    Web本棚サービスを二つ。どちらも中身は読めません。
読みたいページだけを購入、Amazon.comが新サービスを計画(MYCOM PC WEB)
アマゾンとランダムハウス、グーグルへの対抗策発表--書籍の電子版を有料提供へ - CNET Japan
    アマゾン・ページスに関するほかのニュース。そういやGoogle Printってのもあったな。
フォトレポート:アマゾンの新物流センター、最速24時間発送を支える工夫 - CNET Japan
    アマゾンのバックエンド。

2005-11-02

VAIOノート購入


VAIOノート type F   VGN-FS32B


先日PCを買い換えました。前のPCは5年近く使っていて、さすがに限界だったので。

Windowsマシンのノートを買うつもりで秋葉原に行ったけど、つい魔が差してApple Storeに入ってしまった。PowerBookG4の美しさを見たあとでは、ぐっと来るノートがなかなか見つからなかったです。そのなかで見つけたのが、このVAIO。

前のPCもVAIOノートだったからってのもあるんだけど、このPCがほかに比べて一番綺麗だったですね。ディスプレイもワイド型で見やすいし。私として はCPUパワーより、メモリ容量のほうを重視するので、デフォルトの512MBにプラス1GBのメモリを付け足しました。それで代金は約16万円なり。

ソニーもいろいろ言われているメーカーだけど、前のVAIOを使っていた限りでは特にトラブルもなく、自分としては全然OKです。それよりも他のノートPCのメーカがもっと個性的なマシンを出してくれればなぁ。やっぱり開発者がこだわって作ったものを使いたいです。

まだ使い始めたばかりですが、自分としては結構満足してます。Eclipseをワイドスクリーンで使うとすごく快適ですね。

それにしてもPowerBookがやばいですね。数ヵ月後には林檎使いになっている予感がします。

2005-10-21

Ningアプリを作ってみた

前にNingというサービスを紹介しましたが,その開発者アカウントをようやくゲットしました。
それで作ってみたがこれ。

Todo List

超シンプルなTodoListのアプリ。シンプルすぎて未完了/完了のステータス変更とか何もありません。


これはNingが用意していた"SimpleList"というアプリをコピーして,背景色をちょっと変えただけのものです。
具体的には次のような手順で作りました。

  1. Ningトップページから"Example Apps"タブを選択。
  2. 左端にある"Simple Example Apps"の中から"Simple List"の"View Apps"をクリック。
  3. SimpleListトップの右端にある"Clone this app"を選択。
  4. 新規アプリの名前等を設定。
  5. アプリ一覧から"Edit App"をクリックしてファイル一覧を表示。
  6. "xn_default.css"を編集して背景色を変更。

これだけで一応それなりのものが出来ちゃいます。
ユーザからのフィードバック機能も付いていて,これを送ると設定したメールアドレスに送信されます。


かなり簡単に作れるんだけどちょっと改良しようとすると,自分にはPHPやCSSをいじるスキルが足りないってことが良く分かりますね。しばらくはこのアプリを改良して勉強してこうと思います。

そのためのTODOは,やっぱりこちらで管理しときます。

2005-10-11

[日記]スポーツジムで泳ぐ

swim今日10月10日は体育の日なので,近所のスポーツジムが無料で使えるキャンペーンをやってました。ということで久しぶりにプールで泳いでみました。

スポーツジム自体に入るのが初めてのことなので少し緊張してたけど,なんとかプールに到着。おじさんおばさんばっかりで少しがっかり(何を期待してたんだw)。さすがスポーツジムだけあって,プールサイドにジャグジー風呂とサウナがありました。

プールのレーンは利用者のレベルごとに「初心者」「ゆっくり」「はやく」と分かれていて,一番端っこはウォーキングコースになってます。まずはウォーキングコースで水に慣れる。水中ウォーキングってダイエットにいいみたいだし。

いよいよ泳いでみる。とりあえず「初心者」レーンで。
おかしい。全然泳げない。たしかにしばらく泳いだこと無かったけど,こんなに駄目になっているとは! 

とりあえずクロールを試してみたけど,息継ぎのタイミングが分からない。変なタイミングで息継ぎしようとすると水を飲んで溺れそうになる。ただでさえフォームがめちゃくちゃで溺れてるのと大差ないのに! 背泳ぎは楽そうだなーっと思ったけど,泳いでる先が見えないって不安だし,油断すると鼻に水が入る。背泳ぎも結構大変。平泳ぎにいたっては,何であれで前に進めるのかが分からない。

初心者コースで練習→ウォーキングコースで休む→サウナで暖まる→ジャグジーでリラックスというサイクルを何回か繰り返しました。その結果,なんとかクロールで15メートルぐらいは泳げるようになった。

もうちょっと練習したかったけど,体力的に限界にきてました。途中,アクアビクスという水中エアロビみたいなのもやったので結構疲れてまして,結局4時間ほどでギブアップ。


あまりにも泳げないなー,せめて25メートルは泳げるようになっときたいですね。しかし久しぶりの水泳は結構面白かったですね。良い気分転換になりました。ダイエットにもなっただろうし。

ということで,わりと真剣にジムに入ることを検討中です。

Ningは開発者天国

Ningというサービスが開始されました。
仕掛け人はNetscapeを作ったMarc Andreessen。

Ningはウェブアプリを作るプラットフォームのようなもの,みたいです。今まであったものと違うのは,Ning上のウェブアプリはソースからデータまですべて共有されること。この特長によって開発者はNing上のアプリを自由に組み合わせて新しいウェブアプリが作れます。

最近出てきたウェブ上のサービス(del.icio.usFlikrGoogle Mapsなど)では,WebAPIを公開することが多くなっています。こういうAPIを組み合わせて第三者が新しいサービスを作り出す,ということも良くあります。こういう動きを"WEB2.0"とか呼ぶみたいですが,Ningはそれを極端にしたサービスですね。

Ningで使われている言語はPHPです(将来的にPythonとRubyもサポートするみたい)。私はPHPを使ったことがないので勉強しよっかなーっと思ってたら,Ningのオフィシャルチームが作ったこのサービスを見つけました。

Code Snippets

使えるコードの切れ端を集めたサービス。ヤバイ,Ningって開発者天国です。勉強のためのサンプルもすぐ見つかる。


Code Snippetsみたいなサービスを見てみると,Ningチーム自身もNingを使って開発を効率化しているみたいですね。なんというか,自給自足な開発? 「無ければ作ればよい」ってよく言われるけど,Ningだったら本当に出来ますね。


Ningでは開発者アカウントは先着順に配っているらしく,まだ私は貰えてません。アカウントが来たらガシガシアプリを作ってこうと思います。



【参考リンク】
unokun研究室: Ning
  Ningについてはこちらで知りました。Ning関係の記事についてまとまっています。
秋元@サイボウズ研究所プログラマーBlog: Netscape の作者による新 Web2.0 サービス Ning(5) 開発してみる
  Ningで実際に開発してみた人の記事。かなり簡単に作れるみたい。

2005-10-03

Nike Free 5.0破損! だけど修理したよ

このあいだ買ったNike Free 5.0でフットサルをしてたら,甲の部分の布が破れてしまいました。
フットサルみたいな激しい運動には向いてないのかな? ジョギング用?
靴が自分の体重に耐えられなかったんだとしたらショック。

nikefree_repair_00

ちょっとへこみましたが,私はけっこう物を修理するのが好きなタチです。
むしろ「ぜってー直してやる!」と燃えるタイプ。
ということで,裁縫して破れたところを縫い合わせてみました。

nikefree_repair_01

縫ってるうちに家庭科の授業を思い出したりして,懐かしかったです(玉結びとか本返し縫いとか憶えてる?)。
甲の部分の布は厚いフェルト生地のようになっていて,なかなか針が刺しづらい。
普通の平らな布と違って,靴みたいな立体的なかたちは縫うのが面倒ですね。
波型にしたり平行にしたりX型にしたり,縫い方は試行錯誤しながらやったのでバラバラです。
ちょっとだけ”千鳥がけ”って縫い方を試してあります。

2時間と指に針を刺しちゃうという犠牲を払った結果,なんとか直しました。
黒い糸を使ったので,全然縫い目が目立たなくなって良かったです。

nikefree_repair_02

早速直したNikeFreeでジョギングしてきました。
残念ながら,やっぱり縫ったほうは少し違和感がありますね。
靴底のゴムへの密着感がすこし弱いような。

取り合えず普通に使えるようになりました。
まぁ,裁縫もちょっと覚えたし,ヨカッタヨカッタというプラス思考でマル。



【参考リンク】
針と糸と布地の合わせ方・縫い方いろいろ
縫い方はこちらを参考にさせてもらいました。

2005-09-28

チャーリーとチョコレート工場

☆☆☆ チャーリーとチョコレート工場 ☆☆☆

先週いっぱいは,かなり遅めの夏休みでした。
ということで前から見たかった『チャーリーとチョコレート工場』をLaizと見てきました。
自分はティム・バートンのファン,Laizはジョニー・デップのファンだったみたい。


結論から言うとすごく良かった。チョコレートみたいに甘くて濃い世界だけど,意外と現実的な面もあったりしてちょっぴりビター。ティム・バートン監督の独特の毒があって良かった。冒頭のチョコレート作成シーンがバートンっぽい。


子供たちが秘密のチョコレート工場に招待されて不思議な体験をするってのが基本的なストーリー。
チョコレート工場の主,天才チョコレート発明家ウォンカ氏をジョニー・デップが演じているんだけど,絶妙の演技。招待した子供たち以上に子供っぽくて気まぐれ。都合が悪いことを言われると「口の中でもごもご喋らないでくれるかな」(笑)
しかしジョニー・デップは色んな役をこなすなぁ。『シザーハンズ』,『スリーピーホロウ』,『ラスベガスをやっつけろ』とかバラバラな役をやってますね。


主人公のチャーリーは"誠実で優しくて家族思いだけど貧乏"っていう見事なサンプル。ありきたりだけど最近見かけないストレートな良い奴っぷりが逆に新鮮だったり。全世界のチョコレートに隠された5枚だけの金のチケットを手に入れた人がチョコレート工場に入れるって設定で,チャーリーは主人公だから結局手に入れるんだけど,そこに至るまでがなかなかヤキモキさせられます。チャーリーのジョーおじいちゃんはなかなか良いキャラです。


工場内のビジュアルは見事。従業員はウンパ・ルンパ族の小人たちがやっているけど,全部同じ顔。船を漕ぐシーンで同じ顔のおっさんたちがオールを動かしているのは,見ているだけで笑えてしまう。あとウンパ・ルンパの歌とダンスは必見。自分はバイオレットの歌が好き。


見終わった後は妙にチョコレートが食べたくなってしまいます。本当はウォンカチョコレートが食べたかったけど,コンビニのチョコレートで我慢。っていうかお菓子会社と提携して本当にウォンカチョコレートを販売してくれないかなぁ。"WONKA"ってロゴもレトロでカッコいいと思う。WONKAロゴのTシャツがあったら買ってしまいそう。


吹き替え版で見たけど,素直に楽しめました。良!
またなんか見に行くか>Laiz



【参考リンク】
玲 図 日 記■: ■ チャーリーとチョコレート工場を観賞
Laizの感想。
『あなたに似た人』ロアルド・ダール
この映画の原作を書いた小説家ロアルド・ダールの短編集。ファンタジーじゃなくてサスペンスチックなのだけど面白いです。
夢のチョコレート工場
『チャーリー~』はこの作品のリメイク。こっちも見たことあるけど,これはこれで面白い。
ファンタジー映画で振り返るドットコム・バブル : Hotwired
『チョコレート工場の秘密』とIT業界事情を絡めて書かれたコラム。

2005-09-14

9月9日って何の日だっけ?

あ,誕生日だった。
すっかり忘れてましたが,ようやく24歳になりました。おっさんへの階段をまた一段上りましたねぇ。

自分と同じ誕生日で誰か有名な人いないかなと思って検索してみると,こんなページを見つけました。

ストローワラの情報交差点

ここで9月9日生まれの人を探してみたら,こんな人たちが(一部抜粋)。


生年月日(誕生日)データベース<9月9日>
1890年9月9日  カーネル=サンダース (Colonel Sanders) 【経営者】 〔アメリカ〕 ※ケンタッキー・フライドチキン 創業者
1828年9月9日  レフ=トルストイ (Lev Tolstoi) 【作家】 〔ロシア〕 [ロシア暦1828年8月28日]
1941年9月9日  デニス=リッチー (Dennis Ritchie) 【コンピューター工学者】 〔アメリカ〕
1960年9月9日  ヒュー=グラント (Hugh Grant) 【俳優】 〔イギリス〕
1980年9月9日  酒井 若菜 (さかい・わかな) 【タレント】 〔栃木県〕
1982年9月9日  大塚 愛 (おおつか・あい) 【歌手】 〔大阪府〕
≪Copyright (C) 2000-2005 ストローワラの情報交差点≫


まさかカーネル=サンダースと同じ誕生日とは思わなかったよ! フライドチキンを食べたくなってきました。
デニス=リッチーと同じ誕生日ってのは素直に嬉しい。この人ってC言語の設計者でUNIXの開発者です(参考)。

このページは結構面白いですよ,意外な発見があって。友人の誕生日で調べてみたらアーノルド・シュワルツェネッガーと同じ誕生日でした。



さて,一つ歳を取ると同時に忙しかったプロジェクトもそろそろ終わりで,私は15日から夏休みです(秋分の日がくるまで夏だからね!) 休み中に何をしよっかな。

2005-09-04

Google Code Jam 2005

Google Code Jam 2005, Powered by TopCoder

参加してました。

Qualification Round(一次予選)で落ちました(泣

敗因は,コーディング力不足とWindowsME。競技の最中,動作が遅くて困りました。
やっぱり買い換えなきゃだめかなぁ。

来年こそは一次予選突破するぞ!

はてなグラフでダイエット開始

NikeFreeでジョギングしてみて,あまりの自分の走れなさに愕然としました。息が上がるのが早過ぎる。

ダイエットを開始します!(とりあえず宣言)

ダイエットは暫定的に以下の方針で実行します。
  • 運動重要。ジョギングで筋力をつける。
  • カロリー減量。間食をなくし,夜遅くなったら夕食は食べない。
  • 継続を最優先。きつ過ぎず,楽過ぎず,続けられる範囲で柔軟にやる。


ダイエットの進捗状況を管理するため,はてなグラフを利用することにしました。今まではてなのサービスは「はてなアンテナ」しかつかってなかったけど,「はてなグラフ」って良いサービスですね。今までありそうでなかった。

とりあえず体重とジョギングのタイムを晒していこうと思います。恥ずかしいけど,ダイエットのためにはしょうがない!

deltamのWeight
体重。ノーコメント。

deltamのジョギングS
ジョギング短距離。1.5キロぐらい。

deltamのジョギングL
ジョギング長距離。3キロぐらい。


ジョギングのほうは,はてなグラフを使い始めてからあまり走ってないのでグラフになってないですね。


まぁ,無理せずぼちぼちやってこうかなーって思ってます。とりあえず一ヶ月たって効果がでなかったらダイエット方法を見直し。

Nike Free 5.0 を買った

nike :: Nikefree

以前はよくジョギングしてたんだけど,ここ最近は忙しくて走れませんでした。しかし体重は増えるし階段上るのも息が乱れるしで,「このままではいかん!」と再開を決意したのが一週間前。

「だけど走るの疲れるしー,だりぃー」と早くも心が折れかけていたときに,次の記事を見つけてちょっと興奮。


裸足感覚のランニングシューズ『ナイキ・フリー』

もちろん、ナイキ社は今でも靴のメーカーなので、文字どおり裸足で走ることを提案しているわけではない。その代わり、『ナイキ・フリー』というシリーズのランニングシューズとトレーニングシューズを販売しているのだ。ナイキ・フリーの設計コンセプトは、裸足で走るときの動きを模倣することだ。

デザインが格好良いってことより,こういう技術的に優れたものに引かれちゃうのが技術オタクなんだよなー,とか思いつつ,次の瞬間には購入を決めてました。


で,先週買ってきたのが,これ。

nikefree_01
足の甲の部分はメッシュになっていて,ちょっときつ目。足にぴったりフィットする感じ。

nikefree_02
足裏のゴムには深い切り込みが入ってる。走ってくるまえに写真とればよかった。

nikefree_03
すごく柔軟性があって,ぐにゃぐにゃ曲がる。


よーし,これでジョギング再開するぞ! と気合入れて走ったのですが,想像以上に走れなくなっていてショック。

なので他の靴で走った場合との比較ってのが出来ないのですが,なんとなく土踏まずが鍛えられている感じがします。”つま先で地面を掴む”とイメージしながら走ったのですが,けっこう足の裏が鍛えられたのかな。

2005-08-03

『ザ・ホワイトハウス』のDVDが発売

Amazon.co.jp: DVD: ザ・ホワイトハウス ― ファースト・シーズン コレクターズ ボックス

おぉ! ついに『ザ・ホワイトハウス』のDVDが発売されました。これはホワイトハウスを舞台にした海外ドラマで,NHKで放映されていたものです。私はこのドラマの大ファンなんですけど,なかなかDVD化されないんで待ってたんです。早速注文しちゃいました。

『ザ・ホワイトハウス』の主役は,大統領というよりもそのスタッフたち。アメリカの政治はどのような人たちが動かしているのかってことが分かります。このドラマが凄いところは,登場人物たちが常に人生最大の決断をしなければならないということ。麻薬,銃犯罪,同性愛問題などに対して登場人物たちは自分の信念と国益を計りに掛けて決断を下さなきゃいけない。

まぁ,そんな重い話だけじゃなくて単にスタッフたちの掛け合いも面白いし,笑えるシーンも結構あります。ついでにアメリカの政治や世界の問題なんかについても知ることが出来てお得ですよ!

あとスタッフたちの仕事振りが見ていて気持ちいいですね。見終わった後は「よーし,仕事するぞ!」って気になります。

早く届かないかなー。


【参考リンク】
ザ・ホワイトハウス3
  NHKの公式サイト。今はBSでシーズン3が放映中です。

2005-07-30

OZOMATLI最高!


Ozomatli - Street Signs



このあいだOZOMATLI(オゾマトリ)というバンドのアルバム『Street Signs』を買いました。これが良い!! 民俗音楽+HipHop+ラテンのような感じで,全部私の大好物ばかりです! これを聴いていれば気分は南国。満員電車でも自分の周囲だけ南米。


Ozomatliとはこんなバンド。

アップル - QuickTime - What's On - OZOMATLI

"ジャンルの垣根を越えた若手ミュージシャン達(日系人も含む10人の多国籍グループ)によって90年代半ばに結成。ラテン+ファンク+ヒップホップ+ロックといったミクスチャーなサウンドによる圧倒的なパフォーマンスが口コミで評判となり、フェスティバルへの出演や、大物アーティストのツアーへオープニング・アクトとして参加し大絶賛を浴びる。最近ではiPodのCMに抜擢されたほか、2004年6月にリリースしたサード・アルバム『ストリート・サインズ』が2005年グラミー賞を受賞し、前作から2回連続受賞と話題は尽きない。2004年FUJI ROCKを含む過去3回の来日でも証明された通り、OZOMATLIはライヴ・パフォーマンスにて真価を発揮する筋金入りのライヴ・バンドだ。"


私がOzomatliに興味を持ったのはiPodのCMを見てから。そこで使われている"Saturday Night"という曲が良さそうだったので,気になっていました。アルバムを買ってみて正解,自分のツボにぴったり嵌っています。ただ一つ困った点は,曲を思い出すと身体が勝手に動いてしまうこと。仕事中は思い出すとまずいですね~,隣の席は課長だし。特に8曲目の"Dejame en Paz"って曲がヤヴァイです。

夏にはぴったりの陽気な曲ですね。


【参考リンク】
Welcome Ozomatli
 Ozomatli公式サイト。曲とPVが試聴できます。
梶原徹也の深入りコーヒー三杯目 Ozomatli様
 Ozomatliへのインタビュー。意外と社会派。
The Voice Of Silence/Ozomatli、Eddi Reader、バンダ・バソッティ、小林旭...
maglog: OZO来るぞ、iPodと一緒に!?
 Ozomatliのライブの様子。すっごく楽しそう。見に行きたいなー。

2005-07-27

モールスキンとHackとGTD

ここ最近,なんでもかんでもHacksを付ければなんだか格好良いという風潮が広まりつつありますが,いかがお過ごしでしょうか? オライリーのHacksシリーズがブームの元だと思うんだけども。

ちょっと前にモールスキン(Moleskine)という手帳を買って使っています。モールスキンという手帳は200年近い歴史があり,ゴッホやヘミングウェイも愛用したという由緒正しい手帳。そのモールスキンもついにHackされる日が来ました!

Moleskine/Hacks - 43FoldersWiki

43FoldersというLifehackで有名なサイトのWikiです。モールスキンを活用する方法をこのページでまとめてあります。その中からいくつか抜き出してみると・・・

  • 最初の何ページかは,目次を書くために空けておく。
  • すべてのページにページ番号を書いておく。
  • モールスキンハイパーリンク
    • あるページの続きを別のページに書くときに[前ページ/現在ページ/次ページ]というふうに書いて,参照しやすくする。
  • メタデータ(タグ付け?)
    • ページの端にその内容をあらわすキーワードを記入する
  • タブ型ポストイットでカテゴリ分け
    • GTDをモールスキンでやる!

その他いろいろ。モールスキン使いは必見です。


私はちょうど一冊目のモールスキンを使い終わるぐらいで,次のモールスキンの活用法を考えていたところなので,この記事はちょうど良かったですね。特に注目したのは最後のGTDをモールスキンで実行する方法。これについては以下のエントリで紹介されてます。

jerry brito | Moleskine GTD tabs hack

簡単にまとめると・・・

  • タブ型ポストイットで,モールスキンのページを五つのカテゴリに分ける
    • 「次の行動」リスト
      • ラベルは付けずに最初のページから書く。栞の紐をリストの最後に挟む。
    • 「プロジェクト」リスト
      • 手帳の真ん中当たりから10ページぐらいを割り当てる
    • 「いつか/もしかしたら」リスト
      • 同上。
    • アイデアメモ
      • 残りのページを割り当てる。
    • ノート
      • 一番最後のページから先頭に向かって書き進める。

これはちょっと実践してみようと思います。

タブ型ポストイットですが,私は新宿東急ハンズでこれを買いました。フィルム素材で丈夫だし,パッケージも工夫してあって使いやすいと思います。


住友スリーエム ポスト・イット(R)製品―フラッグ インデックス




<参考リンク>
GTD(Getting Thing Done,邦題「仕事を成し遂げる技術」)について。
時間と仕事の整理術『GTD』がカルト的人気
  GTDについての一般向け解説。ワイアードの記事です。
Getting Things Done (a.k.a. GTD) part (1)
  GTDについて丁寧に解説してあります。
Amazon.co.jp: 本: 仕事を成し遂げる技術―ストレスなく生産性を発揮する方法
  やはり原典を読むのが良いかと。
サルノオボエガキ: 『仕事を成し遂げる技術』を買った
  昔の記事。

2005-07-18

蜂窩織炎に罹った

いや~,健康って本当にいいものですね(水野晴郎風)。


もう完治したんですが,このあいだまで蜂窩織炎(ほうかしきえん)という病気にかかってました。
あまり聞きなれない病気かもしれませんが,結構ポピュラーな病気なようです。長野県の田中康夫知事もかかったことがあるみたい(リンク)。他にも検索してみると罹った人の体験記が結構見つかります。

蜂窩織炎というのは,皮下組織に細菌が入って炎症を起こしてしまう病気(蜂窩織=皮下組織のこと)。これにかかると熱がでて細菌が入ったところが腫れてしまう。足とか手とか,腫れるのは末端が多いようですね。


ことのはじまりは,5月末にジョギングしたこと。ひさしぶりに走ったので靴擦れになっちゃいまして,「靴擦れなんて赤チンつけてバンソーコー貼っときゃ治るだろ」と思ったのが間違い。案の定,化膿してしまい6月末まで治ってませんでした。

6 月末には担当システムのリリースが控えてます。リリース日に向けて3週間休みなし(3日徹夜を含む)という業界標準(?)なスケジュールで仕事をしてた ころ,熱が出てしまいました。それでもリリース日まであとわずか,という時期だったのでそのまま仕事をしてました。このときはまるっきり風邪だと思ってま したね。

ある朝,会社に行こうとするとなんか左足が変。筋肉痛のような,筋が突っ張るような感じで体重が掛けられなくて足を引き摺ってし まう。「なんだこれ?  捻っちゃったかな~」と,特に気にせずそのまま仕事に行きました。その日の仕事が終わり,左足を確認してみるとなんと脛から足首にかけてパンパンに腫れて る!!
「風邪で熱がでるのは分かる,喉が痛いのも分かる,だが足が腫れるってーのはどういうわけだ?」ということで上司に相談して次の日に病院にいくこ とにしました。

病院での血液検査の結果,CRP(炎症反応)が9.7あることが判明。普通は0.3以下らしいので,これは良くない。医者 が「これはひどいねぇ~」と言っ てました(患者の前でそんなこと言うな!!)。ちなみに田中知事の場合は3.7だったらしいので私の勝ちです(嬉しくない)。ついでに踵の靴擦れも診ても らいました。医者,またしても「ひどいねぇ~」(口癖なのか?)。
診断は「蜂窩織炎」。どうやら靴擦れから細菌が入ったようです。その日は化膿止めと痛み止めの点滴をしてもらって,午後から仕事。

二日後,再度診察を受ける。医者と雑談で仕事がえらく忙しいってことを言うと,「同じ症例で足を切断した患者さんもいるからね,気をつけて」。お医者様,マジ怖いのであんまりそういうこと言わないで下さい(泣
血液診断ではCRP値が3.7に下がり,田中知事とオソロになりました。この日も点滴を打ってから仕事に行きました。


長くなっちゃったので適当に切り上げますが,その後一週間ぐらい点滴を打ってもらったりして症状が収まり,さらに一週間ぐらい様子を見て完治しました。というか症状が治まった後は病院に行ってないから良く分からないんだけども。まぁ,大丈夫でしょう。


最後に,今回学んだ教訓。
  • 体調管理も仕事の一部。
    • っていうか忙しいときに体調崩すと肉体的にも精神的にもきついから気をつけましょうってこと。
  • ちょっとしたことでも病院に行く癖をつけましょう。
    • 靴擦れを放置してたから蜂窩織炎になった。
    • 病院の待合室に座ってたら,「鼻血が出た」って病院にきた人がいた。
    • ↑そういうのもアリなんだと,妙に納得。
  • Webにある病気の体験記ってわりと重要。


【参考リンク】
<蜂窩織炎について>
蜂窩織炎(蜂巣炎)
のだレディースクリニック - 蜂窩織炎の正しい対処法
<体験記>
やすたま。の徒然日記 - 「ほうかしきえん」(蜂窩織炎)という病気になったお話
怖い「蜂 窩 織 炎」
++ 11. 蜂窩織炎 ++
mattoh: 蜂窩織炎を患う

2005-07-11

健康第一!!!

やっぱり健康は大事ですね。

初めて経験したシステム開発のユーザリリース。こんなに大変とは思わなかった。ほとんど開発メンバーのみんなが3週間は休みなし,毎日終電間際まで残っている(もしくは徹夜)。

以前に携帯電話開発の現状という記事でシステム開発の大変さについて読みましたが,まさか自分がそんな現場に行くとは。というかこの記事ほど酷くは無かったけれど。


えー,そんなこんなでリリース間際に体調を崩してしまい,ちょっと大変なことになってたのですが,細かく書いていくとグチっぽくなりそうなので,箇条書きでいっときます。

  • リリース一週間前
    • 熱っぽくなり,喉が痛くなる。風邪かな? でも忙しいので医者には行かない。
    • そのうち朝は37℃,退社するときには39℃という熱の乱高下になる。正直,きっついけど必要な作業が残ってるんだよなぁ。
    • ちなみにこんな方法で無理やり熱を下げてました。
      • 熱さましの薬を飲む。
      • 厚着をして布団に包まって寝る。
      • 寝汗を思いっきりかく。
      • 風呂に入る。
      • さっぱりしてから再度寝る。
  • リリース4日前AM
    • 左足首に違和感。何でオレ,左足を引き摺って歩いてるんだろう?
    • 捻ったか,筋肉痛だろうなぁ。
  • リリース4日前PM
    • 仕事をしてて,ふと思い出して左足を確認してみる。
    • そこには脛から足首にかけて赤く腫れて二周りほど太くなった足が。右足もちょっと腫れてる。
    • 風邪引いて足が腫れるってなんだこれ? 検索してみる。
      • こんな病気が見つかる。((((((;゚Д゚))))))ガクガクブルブル
      • さすがにこれではないだろうけど,リアルホラーにもほどがあるので,病院に行くことにする。
  • リリース3日前
    • 病院で血液検査をする。
      • CRP(炎症反応)という数値が9.7あった。普通は0.3以下のはず。
      • 医者,検査結果を見て一言。「これは酷いねぇ~」
    • 診断結果『蜂窩織炎』。ほうかしきえん,と読む。
      • 蜂窩織=皮下組織のこと。皮下組織に細菌が入って炎症が起こっている状態らしい。
      • そういえば左足の踵の靴擦れがまだ治ってなかった。そこから細菌が入ったらしい。
    • この日は炎症止めと痛み止めの点滴を打ってもらい,薬を貰って帰る。
    • 午後から終電まで仕事をする。黙々と。
  • リリース2,1日前
    • 午前 病院で点滴打ってもらう。
    • 午後 仕事。
  • リリース当日から今日まで
    • 適当に仕事をやりつつ,病院で治療。
    • なんとか完治したみたい。

ちょっとがんばりすぎちゃった。

2005-06-22

なかなか更新できない

前の更新からずいぶん時間が空いてしまった。

私は現在,某社でシステムエンジニアとして働いているのですが,担当しているプロジェクトで6月末にリリースするものがあるのでえらく忙しいのです。なので次の更新は7月に入ってからになるかも。仕事についてはバレない程度に書きたいなーと思いますがまた今度。

っていうか何で明日の12時にソースコードを提出しなきゃいけないのに障害が残っているんだろう? 世の中のシステム開発ってこんななのか?


あとは適当に思いつくことを書いてみます。


  • 茂木Castingモールスキン手帳でメモで思いついたこと。神経経済学があるなら神経ソフトウェア工学があっても良いよなぁ。っていうか経済学とソフトウェア工学って似てるのかも。
  • 大学時代の友人がブログを始めた。『玲図日記』。とりあえず読んでノスタルジーな感じになったこのエントリにトラバってみる。N88Basicって懐かし!
  • あー,いつのまにかFilangyがSNSっぽくなっている! そっちの方向に行くのか。。。
  • 仕事を成し遂げる技術』。読む暇もないときはどうしたら良いのでしょうか?
  • たけくまメモ: 平田弘史先生訪問記(其ノ壱)。ギークで武士の漫画家という稀有な人物。というかこの人,面白すぎる。

ではまた7月に。

2005-06-05

茂木Casting


心を生みだす脳のシステム―「私」というミステリー NHKブックス



最近,茂木健一郎という人の本を読みました。茂木さんはソニーコンピュータサイエンス研究所で脳機能について研究している人です。

クオリアというものがこの人の専門のようです。クオリアというのは『言葉では伝えられないけど,何か刺激を受けたときに感じる質感』というもの(なのか?)。本の内容は難しかったけども,身近な例がたくさん書かれていてイメージしやすかったです。要するに『心とはなにか』というストレートかつ超難しい問題に取り組んでいる人ですね。


それで茂木さんとその研究分野のクオリアって言うものに興味を持っていたんですが,茂木さんのサイトでこのようなページを見つけました。

茂木健一郎personal page

このページでは茂木さんの話した講演や大学の講義の音声ファイルがMP3で公開されてます。最近このファイルを携帯に入れて(私の携帯はSO506iCで音楽が聴けます),聞いているんですが,これが面白い!! 話し方が上手いし,想像力を刺激される面白い発言がたくさんあって飽きません。

しばらくは通勤電車で退屈しなくて済みそうです。


参考リンク
茂木健一郎 クオリア日記
 アツイ科学者って感じです。
Amazon.co.jp: 本: 知能の謎 認知発達ロボティクスの挑戦
 他の人との共著で,一章書いてます。他の章も面白いし,この本はお薦め。

 

2005-06-01

恐怖! 血液診断の結果が届いたの巻

実は先週の月曜日に血液診断を受けたのですが,その結果を昨日受け取りました。

その結果なんと,血糖値が!!!

低いそうです(ちょっと安心。


私の血は甘くないようです。まぁ糖尿病にならなくて良かったけど,低血糖気味なのも良くないみたいです。
ちょっと調べてみたんだけど,血糖値が低いからっていってお菓子をいっぱい食べても良いということではないみたい。朝ごはんにプリンアラモードとか食べてる場合じゃなかった。


低血糖についてはこちらのページが分かりやすい(低血糖症って何だろう-healthクリック)。

原因について。

お菓子やアイスクリーム、炭酸飲料などの摂り過ぎによって引き起こされる血糖値の異常、それが低血糖症、あるいは反応性低血糖症と呼ばれる病気だ。

症状は?

名前の通り、血液中の糖分(ブドウ糖)濃度=血糖値が正常の範囲を超えて下がるため、カラダは常にエネルギー不足の状態に陥ってしまう。この影響を最も受けるのが、私たちのカラダの司令塔「脳」だ。脳は、血液中のブドウ糖を唯一のエネルギー源に活動する器官。血糖値が下がった状態のままでは、脳は正常にはたらくことができず、頭がボーッとし、集中力がなくなり、さらには無気力になっていく

さらに血液がハングリーな状態になるので,アドレナリンが分泌されて怒りっぽくなっちゃうそうです。


うーむ,なんだか怖そうですが,私は”ちょっとだけ低血糖気味”という診断なのでまだ大丈夫。一応気をつけますけど。


どうでも良いけど,吸血鬼がいたらやっぱり低血糖より糖尿の人の血のほうが好きなのかなぁ。でも低血糖な血はコーヒーみたいなものなのかも(本当にどうでも良い)。


というわけで,deltamはビターな男です。

 

『仕事を成し遂げる技術』を買った


仕事を成し遂げる技術―ストレスなく生産性を発揮する方法



Lifehackについていろいろ調べていたところ,この本を見つけました。

Lifehackというのは簡単にいうと,『日々の生活をちょっとした工夫や技術でシンプルに効率よく過ごすこと』。みたところTips系とメソッド系がありますね。Tips系はワンアイデア,メソッド系は一貫した思想をもった技術集。

『仕事を成し遂げる技術』はメソッド系にあてはまるものだと思います。忙しい人が,どうやったら自分の仕事を管理できるかについての技法です。まだ最初の方しか読んでませんが,いちいち納得してしまいます。

簡単にいうと,この本でいっていることはこういうことでしょうか。

  1. やるべきことをすべてリストアップする。どうなったら完了なのかを明確に!
  2. やるべきことを達成するために必要な次の行動,次の一歩を一緒に記録。
  3. 使いやすいシステムでそれらのリストを管理する。定期的に見直すことを忘れずに。

最後まで読んでたらまた違うかも。


最近忙しくて切実に時間が欲しいので,本気で読んで実践してみようと思います。


参考リンク
 Lifehacker
  Lifehackに関する総合サイト
 i d e a * i d e a
  日本のLifehacker,百式の田口さんのblog
 Backpack
  Webベースのスケジュール管理ツール。かなり良いです!
 モールスキン手帳
  買います(^^