<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>外部記憶装置</title>
<link>http://rainbowdevil.jp/mt/externalstorage/</link>
<description></description>
<language>ja</language>
<copyright>Copyright 2010</copyright>
<lastBuildDate>Wed, 07 Jul 2010 22:50:16 +0900</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.15</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>移転しました</title>
<description><![CDATA[<p>サイトリニューアルのため、ブログのURLが変更になりました。<br />
過去のコンテンツを残しておくため、このブログは消さずにおいておきますが、更新されることはありません。</p>

<p>移転先<br />
<a href="http://rainbowdevil.jp/">http://rainbowdevil.jp/</a></p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/07/post_271.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/07/post_271.html</guid>
<category>Diary</category>
<pubDate>Wed, 07 Jul 2010 22:50:16 +0900</pubDate>
</item>
<item>
<title>【適当訳】Google Wave platform updates at I/O: See what you can build now!</title>
<description><![CDATA[<p>Google I/Oで新しいGoogle Waveの機能が公開されましたね。<br />
<a href="http://googlewavedev.blogspot.com/2010/05/google-wave-platform-updates-at-io-see.html">Google Wave platform updates at I/O: See what you can build now!</a></p>

<p>おもしろそうなので訳してみました。<br />
相変わらず英語はダメダメですので、英語ができる方は原文を読んだ方がよいと思います。</p>

<p>------------------------------------------------------------</p>

<p>去年のGoogle I/OでGoogle WaveのDeveloper previewを立ち上げた時、数千の開発者が<a href="http://wavesandbox.com/">WaveSandbox.com</a>上でAPIを試し、<a href="http://waveprotocol.org/">waveprotocol.org</a>で公開されている仕様を調査しました。<br />
そのとき、たくさんの開発者がそれらを試し、求めているAPIがまだ十分ではないこと、またプロトコルが満足するレベルまで十分に決まっていないことを知りました。そして機能追加のリクエストを出し、少しずつWaveの世界から去っていきました。</p>

<p><br />
今日、私たちはみなさんにもう一度それらを見直して欲しいと思います。1年が過ぎたこのGoogle I/Oで、Waveをすばらしいプラットホーム、プロダクト、そしてプロトコルにする改良によって、最初にWaveを発表した時に夢見たアプリケーションを可能とします。</p>

<p><br />
ここに、この数ヶ月間でリリースしたAPIを紹介します。</p>

<p>●ユーザが簡単に拡張を見つけることができるように、<a href="http://googlewave.blogspot.com/2010/05/discover-your-favorite-extension-today.html">エクステンションギャラリー</a>を公開しました。</p>

<p>●簡単に外部のサービスとWaveを統合できるよう、<a href="http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html">ロボットAPI v2とアクティブロボットAPI</a>を公開しました。リリースと同時に行った<a href="http://mashable.com/2010/04/21/google-wave-api-contest-winners/">Mashable's Google Wave API Contest</a>では、Google Docsとの統合や、メールとの統合、Salesforce.comとの統合などの拡張が作られました。</p>

<p>●通常のWebサイトにウェーブを埋め込み、<a href="http://googlewavedev.blogspot.com/2010/04/embed-api-improvements-viewing-public.html">ログインせずにリードオンリーで表示</a>できるようにしました。これにより、Web上でコンテンツや議論を公開するための強力なプラットホームになりました。</p>

<p><br />
次にこのI/Oで紹介した内容です。</p>

<p>●ロボットがApp Engine上だけでなく、どのサーバ上でも動作します!<br />
  これにより、ロボットがあなたのWebサーバ上で動作し、プログラミング言語も自由に選ぶことができます。よってあなたのWebサイトまたはシステムと統合するロボットを簡単に書くことができるでしょう。詳細は<a href="http://code.google.com/apis/wave/extensions/robots/registration.html">こちらのドキュメント</a>を参照してください。</p>

<p>●ロボットから、ウェーブに添付されているファイルを取得することができます!<br />
  たとえば、ウェーブからFlickrのアルバムを作成するコンバーターや、CSVからインタラクティブマップ(?)を生成するビルダーや、ウェーブをパワーポイントに出力するコンバーターなどを作ることができます。<br />
  詳細は<a href="http://code.google.com/intl/ja/apis/wave/extensions/robots/attachments.html">Google Wave Robots API: Attachments</a>を参照してください。</p>

<p>●WaveThisを使おう!<br />
  あなたのWebサイトを訪れた人が、簡単にそのWebサイトのコンテンツのウェーブを作成することができる機能です。それを使っている例として<a href="https://chrome.google.com/extensions/detail/fdgmdpiobhnblhnhlmngalmeobbmofbm">Wave This Chrome Extension</a>があります。詳しくは<a href="http://code.google.com/apis/wave/wavethis/">このドキュメント</a>を参照してください。</p>

<p>●ユーザに代わってWave data APIを使ってウェーブのデータを取得できます!<br />
  Wave data APIを使うと、Google Wave Notifier Chrome Extensionのような軽量クライアントを作ることができます。詳しくは<a href="http://code.google.com/apis/wave/extensions/wavedataapi/index.html">このドキュメント</a>を参照してください。</p>

<p><br />
このAPIのリリースに加えて、より多くのGoogle Waveのコードをオープンソースにしました。その中にはリッチテキストエディターや、Waveサーバを動かし方(<a href="http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html">Novell Pulse</a>のように!)を学ぶことができる内容も含まれています。そしてウェーブに対する編集や返信ができる簡単なフロントエンドを作ることができるでしょう。あなたはそのコードを変更して新しいウェーブクライアントを作ることができます。また、SAPはGoogle Wave Federation Protocolを彼らのプロダクトであるStreamWorkに組み込みことを発表しました。</p>

<p><br />
すべてがよく聞こえますが、Google Waveのプラットホームで開発する開発者に心配事が一つあります。そう、ユーザです。この1年間は招待制で100万人のアクティブユーザを得ることができました。今日、Googleアカウントを持っているだけでGoogle Waveを使えるようにしました。もう招待はしなくて良くなります！そして、<a href="http://www.google.com/apps/intl/en/business/wave.html">独自のドメインでGoogle Appsを導入している企業や組織もWaveを使う</a>ことができます。あなたの拡張を使いたがっているユーザはより増え、拡張を作る開発者を求めているビジネスも増えるはずでしょう。</p>

<p><br />
もちろん私たちはまだそれらを完了していません。プロダクトとAPIはLabにあります。なぜならWebベースのコミュニケーションとコラボレーションで新しいパラダイムを作る時、柔軟に対応できることが重要だと考えているからです。私たちはあなたのフィードバックに応えたいと思っています。このビジョンを現実にするためにする事がまだたくさん残っています。</p>

<p><br />
しかし、私たちはこれらの改良のよい過程にいて、あなたのチェック、あなたのフィードバックを必要としています。、この旅の残りを私たちとともに進んでいきましょう！</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/05/google_wave_pla.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/05/google_wave_pla.html</guid>
<category></category>
<pubDate>Thu, 20 May 2010 08:44:41 +0900</pubDate>
</item>
<item>
<title>起動中のプロセスのスタックトレース表示</title>
<description><![CDATA[<p>Linuxで実行中のプロセスが今どのような状態か調べるときの方法</p>

<p>詳細は<a href="http://www.geekpage.jp/blog/?id=2007/1/17">Geekなぺーじ 既に起動しているプロセスをgdbで制御する</a>を参照。</p>

<p>$ gdb -p [プロセスID]</p>

<p>あとはbtでスタックトレース表示。</p>

<p>簡単。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/post_270.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/post_270.html</guid>
<category>Diary</category>
<pubDate>Fri, 09 Apr 2010 09:08:50 +0900</pubDate>
</item>
<item>
<title>花見</title>
<description><![CDATA[<p>4/4は桜の写真を撮りに墨染寺、伏見稲荷大社、八坂神社に行ってきましたよ。<br />
相変わらず桜は綺麗に撮るのが難しいなあ。</p>

<p>桜を撮る前に、母親が育てている花が綺麗だったので何枚か。<br />
<img alt="DSC_0052.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0052.jpg" width="600" height="402" /></p>

<p>暗い背景に浮かび上がるように日の光が当たって綺麗でした。<br />
<img alt="DSC_0055.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0055.jpg" width="402" height="600" /></p>

<p><br />
墨染桜です。墨色とは行かないですが、明らかに他の桜より色が薄く白っぽいです。<br />
散り際には墨色に染まるとか。墨染桜は咲くのが遅いので3分咲ぐらいでした。<br />
<img alt="DSC_0068.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0068.jpg" width="600" height="402" /></p>

<p>墨染寺の他の桜。こちらは満開！<br />
<img alt="DSC_0071.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0071.jpg" width="600" height="402" /><br />
<img alt="DSC_0090.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0090.jpg" width="600" height="402" /></p>

<p>続いて伏見稲荷大社に行ってきました。伏見稲荷の朱色が綺麗ですね！<br />
<img alt="DSC_0113.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0113.jpg" width="600" height="402" /></p>

<p>伏見稲荷のしだれ桜です。<br />
<img alt="DSC_0128.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0128.jpg" width="402" height="600" /></p>

<p>こちらは普通の桜のほう。<br />
<img alt="DSC_0135.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/DSC_0135.jpg" width="600" height="402" /></p>

<p><img alt="DSC_0137.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0137.jpg" width="600" height="402" /></p>

<p>木の幹近くの枝からかわいい桜が咲いていました。なんだか木の生命力を感じたので写真に。<br />
<img alt="DSC_0149.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/DSC_0149.jpg" width="600" height="402" /></p>

<p>八坂神社の手水舎です。<br />
シャッター速度を上げて、流れ落ちる水が水滴になって落ちていく様子を写してみました。<br />
<img alt="DSC_0172.jpg" src="http://rainbowdevil.jp/mt/externalstorage/archives/20100404/DSC_0172.jpg" width="402" height="600" /></p>

<p><br />
とこんな感じで今年の桜も綺麗でした。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/post_269.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/post_269.html</guid>
<category>Diary</category>
<pubDate>Mon, 05 Apr 2010 07:36:48 +0900</pubDate>
</item>
<item>
<title>Capabilitiesファイルって</title>
<description><![CDATA[<p>capabilities.xmlの内容を変更してバージョンも変えても、ロボットを追加しなおさないとcapabilities.xmlの変更が有効にならない？</p>

<p>暇なときに調べておこう。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/capabilities.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/04/capabilities.html</guid>
<category>GoogleWave</category>
<pubDate>Sun, 04 Apr 2010 23:42:38 +0900</pubDate>
</item>
<item>
<title>JavaでSIGINTをハンドル</title>
<description><![CDATA[<p>LinuxでJavaアプリを開発しているときに、Ctrl-Cでの終了をハンドルする必要が出た。</p>

<p>次の二つの方法でハンドル出来るけど、Ant経由で起動したからかハンドル出来たり出来なかったりする。<br />
ちなみにAnt1.7.1 , Java1.6.0_13  fork=trueの環境。<br />
謎・・・。</p>

<p><br />
java標準ではないが、Sunのパッケージを使う場合<br />
import sun.misc.Signal;<br />
import sun.misc.SignalHandler;<br />
Signal.handle(new Signal("INT"),  new SignalHandler() {<br />
            public void handle(Signal sig) {<br />
		log.info("SIGINTを受信したためプログラムを終了します。");                <br />
                System.exit(0);<br />
            }<br />
        });</p>

<p>Runtime#addShutdownHookでも出来る。こっちの方が標準ライブラリ内で出来るので良いかも。<br />
Runtime.getRuntime().addShutdownHook(new Thread(){<br />
	@Override<br />
	public void run() {<br />
		log.info("プログラムを終了します。");<br />
	}<br />
});</p>

<p>Antから実行すると、シャットダウンフックの終了を待たずにVMが終了するようで、シャットダウンフックの処理が実行されたりされなかったりするようだ。<br />
Javaコマンドで実行した際にはシャットダウンフックの内容が正しく処理された。</p>

<p>Antを使いつつ正しくシャットダウンフックを行う方法は未調査。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/javasigint.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/javasigint.html</guid>
<category>Java</category>
<pubDate>Mon, 29 Mar 2010 14:20:46 +0900</pubDate>
</item>
<item>
<title>DevFest 2010 Japanでしゃべってきます。</title>
<description><![CDATA[<p>さぁ、明日は<a href="http://sites.google.com/site/devfest2010japan/">DevFest 2010 Japan</a>ですよ！</p>

<p>京都会場で、「Google Wave API による Google Waveの 拡張」との題でGoogle Waveについて話してきます。<br />
<a href="http://sites.google.com/site/devfest2010japan/speaker">スピーカ</a>は大物ばかりで、その中にさりげなく混じってる俺は場違い感満載っｗ</p>

<p>この1週間はイベント続きでマジで大変だったけど、これも明日で終わるっ！</p>

<p>気合い入れて話してきます。<br />
明日は楽しむぞっ！</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/devfest_2010_ja.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/devfest_2010_ja.html</guid>
<category>Diary</category>
<pubDate>Thu, 11 Mar 2010 00:11:43 +0900</pubDate>
</item>
<item>
<title>LiveCoding#8+1にLiveCoderとして参戦してきました</title>
<description><![CDATA[<p>1月に参加予定だった<a href="http://sixeight.github.com/livecoding8/">LiveCoding</a>が3/6に延期されて、それに参加してきました。</p>

<p>場所は京都の<a href="http://nishi-jin.net/">町家スタジオ</a>、京都駅からバスで20分30分ぐらいかな。電車ではちょっと不便？地下鉄の駅から結構歩けば行けるのかな。<br />
町家なので、すごい雰囲気のある会場でした。庭もすごい綺麗でさすがという感じ。家自体は古いけど、トイレだけは綺麗にリフォームされていたので女性でも安心かと。</p>

<p><br />
そしてLiveCodingですよ！<br />
俺はGoogle WaveのロボットでTwitterにアクセスするプログラムを書きました。<br />
予定では検索と投稿までやろうかなと思ったけど、検索の実装途中で20分のタイムアップとなりました。</p>

<p>その様子はUstとニコ生で放送されたけど、どちらも保存はされていない様子。<br />
コメント見てみたけど、結構ニコ生で俺のLiveCodingは好評だったんかな。<br />
「がんばって！」とか「盛り上がってまいりました！」などなど。<br />
とらぶった後も「予定通り すべて演出なのです」などの書き込みが。</p>

<p>終了後には「どんまいｗ　おもしろいねｗｗ」「納期オワタｗｗｗ」「おつかれっした！参加したいわｗ」などの書き込み。</p>

<p>中には「Meadowも使ってるの？」や「キータイプの音いいなぁ」とマニアックなコメントも。<br />
キーはドイツチェリー社のメカニカルキースイッチ茶軸です。お目が高い!!</p>

<p><br />
序盤はOAuthを使ってアクセスしようとしたんだけど、なぜか拒否られたので急遽通常のIDとパスワードでのアクセスに切り替えたりしたトラブルが。<br />
またWave Robot APIのバージョン2を使ったんだけど、バージョン２が出たばっかりなのでAPIを覚え切れて無くてタイムロスが・・・。<br />
平常時の5分がLiveCodingでの20分だと言う名言を聞いたんだけど、確かにその通りでした。</p>

<p>うーん、つかちゃんと頭の中で設計しておかないとダメだなぁ。<br />
LiveCoding中に設計しようと思ってもてんぱっちゃって俺には無理だorz<br />
APIを頭にたたき込むのと、設計はちゃんとしておくのがLiveCodingのセオリーですな。</p>

<p>Twitterのタイムラインを取得できたときの会場の盛り上がりは最高でした。<br />
LiveCodingでは一度も動かせずにタイムアップするのも普通にあるので、動くプログラムを作ることができたしまぁOKかと。</p>

<p><br />
LiveCodingは、日頃使わない技術を生で見れたり良い刺激がビシビシ来るイベントなので、技術者なら行っておいて損はないイベントかと。<br />
そして参加するならもちろんLiveCoderとしてが必須ですよ！</p>

<p>次回はまだ未定ですがきっとそのうちあると思うので興味がある方は是非！</p>

<p>なお、今日のLiveCodingのハッシュタグは<a href="http://twitter.com/#search?q=%23livecoding">#LiveCoding</a>でした。特にこのLiveCoding専用タグではないので、しばらく時間がたてば流れて他のLiveCodingの情報が出ちゃうかも。</p>

<p><br />
さーて、明日はGoogle Waveプロトコル勉強会ですよ！</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/livecoding81liv_1.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/livecoding81liv_1.html</guid>
<category>Diary</category>
<pubDate>Sat, 06 Mar 2010 23:28:52 +0900</pubDate>
</item>
<item>
<title>Robot API V2でのonDocumentChanged</title>
<description><![CDATA[<p>Robot APIのV2が出たのでいろいろいじってみる。</p>

<p>以前はイベントハンドラが一つだけで、引数のイベントタイプを見て処理を書く必要があったけど、V2はonDocumentChangedみたいに各イベントごとにメソッドが定義されているのでイベント処理が楽になった。</p>

<p><br />
で、いろいろ試そうとロボットのonDocumentChanged内でBlipを作ったら無限ループしてえらいことになったｗ<br />
<img alt="robot_loop.png" src="http://rainbowdevil.jp/mt/externalstorage/archives/robot_loop.png" width="496" height="464" /></p>

<p>Blip作ったらonDocumentChangedが呼ばれ、そのonDocumentChangedの中でBlipを作っているので..のループ。<br />
自分で起こしたイベントには反応しないとどこかで読んだ気がするんだけど・・・。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/robot_api_v2ond.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/03/robot_api_v2ond.html</guid>
<category>GoogleWave</category>
<pubDate>Thu, 04 Mar 2010 02:32:51 +0900</pubDate>
</item>
<item>
<title>新「VAIO Z」先行予約にアクセス殺到　SonyStyleが買い物しづらい状態に</title>
<description><![CDATA[<p><a href="http://www.itmedia.co.jp/news/articles/1002/25/news094.html">新「VAIO Z」先行予約にアクセス殺到　SonyStyleが買い物しづらい状態に</a></p>

<p>つか毎回じゃないか。<br />
俺のVAIO ZもWindows7出たときだったからなかなか買えなくて、やっと買えたと思ったら1ヶ月待ちだったし。<br />
ソニスタ仕事しろ。</p>

<p>フルモデルチェンジは魅力的だけど、今はUSB3.0待ちが賢明か。<br />
</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/vaio_zsonystyle.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/vaio_zsonystyle.html</guid>
<category></category>
<pubDate>Sat, 27 Feb 2010 09:19:04 +0900</pubDate>
</item>
<item>
<title>CodezineにWaveの記事を投稿しました</title>
<description><![CDATA[<p>CodezineでGoogle Waveの記事を書きました。<br />
<a href="http://codezine.jp/article/detail/4778">Codezine Google Waveガジェット作成チュートリアル（1） </a></p>

<p>連載予定なので、ぼちぼち記事が増えていく予定です。</p>

<p>見てやってくださいな。<br />
</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/codezinewave.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/codezinewave.html</guid>
<category>Diary</category>
<pubDate>Wed, 17 Feb 2010 11:25:32 +0900</pubDate>
</item>
<item>
<title>京都Google Waveプロトコル勉強会開催日決定</title>
<description><![CDATA[<p><a href="http://kyoto-gtug.org/event/waveprotocol">京都Google Waveプロトコル勉強会</a>の日程が決まりました。</p>

<p>日時  2010/3/7 13:00 ～ 18:00（開場：12:30）<br />
会場  京都リサーチパーク 1号館 4F A会議室<br />
定員：15名</p>

<p>主催：<a href="http://kyoto-gtug.org/">京都 Google Technology User Group（京都GTUG）</a><br />
後援：<a href="http://www.krp.co.jp/">京都リサーチパーク株式会社</a></p>

<p>まだ若干席が空いております。<br />
興味のある方は、是非<a href="http://spreadsheets.google.com/a/kyoto-gtug.org/viewform?hl=ja&formkey=dE1vOGw5Ty1GT3laVnNOQm9aRUZYZVE6MA">参加申し込みフォーム</a>から登録をお願いいたします。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/google_wave_1.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/google_wave_1.html</guid>
<category>GoogleWave</category>
<pubDate>Sat, 06 Feb 2010 21:12:44 +0900</pubDate>
</item>
<item>
<title>Google Docsのフォーム機能</title>
<description><![CDATA[<p>Google Docsスプレッドシートのフォーム機能がとても便利なわけだが、アンケートで人数制限などを付けたい。<br />
Google Apps Scriptを使えば出来そうだが・・・。<br />
Google Apps ScriptはサーバサイドのJavaScript。<br />
GMailやらカレンダーやらのデータ取得、外部とのSOAPやXMLの通信まで出来て結構高機能な予感。</p>

<p>後で読む。</p>

<p>Google Docs Help<br />
<a href="http://docs.google.com/support/bin/topic.py?topic=15166">http://docs.google.com/support/bin/topic.py?topic=15166</a></p>

<p>Google Apps Script<br />
<a href="http://www.google.com/google-d-s/scripts/overview.html">http://www.google.com/google-d-s/scripts/overview.html</a></p>

<p><br />
<a href="http://googleenterprise.blogspot.com/2009/05/old-tool-new-tricks.html">http://googleenterprise.blogspot.com/2009/05/old-tool-new-tricks.html</a></p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/google_docs.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/02/google_docs.html</guid>
<category>Diary</category>
<pubDate>Fri, 05 Feb 2010 15:36:56 +0900</pubDate>
</item>
<item>
<title>京都GTUG Google Waveプロトコル勉強会 開催</title>
<description><![CDATA[<p>東京でGoogle Waveプロトコル勉強会があるけれど、さすがに勉強会で東京まで行ってられない！<br />
と言うことで自分で勉強会を開催することにしました。</p>

<p>マニアックすぎるので開催日のアンケートを採り、参加できる人の数が多い日にします。<br />
つーことでGoogle Waveのプロトコルに興味がある方は是非参加をっ！</p>

<p>---------------------------------------------------------------------</p>

<p>2月の後半から3月の前半にかけて、京都でGoogle Waveプロトコル勉強会を開催したいと思います。<br />
参加人数が少なそうなので、2/21(日) , 2/28(日) , 3/7(日) のうち参加人数が多い日に開催する予定です。<br />
最大人数は15人を想定しています。<br />
それほど集まらないと思いますが、人数が集まり次第募集を締め切ります。</p>

<p>参加希望の方は次のアンケートフォームから参加希望の日を投稿していただけますでしょうか。<br />
<a href="http://spreadsheets.google.com/a/kyoto-gtug.org/viewform?hl=ja&formkey=dE1vOGw5Ty1GT3laVnNOQm9aRUZYZVE6MA">http://spreadsheets.google.com/a/kyoto-gtug.org/viewform?hl=ja&formkey=dE1vOGw5Ty1GT3laVnNOQm9aRUZYZVE6MA</a></p>

<p>会場は人数に応じて決定する予定です。<br />
京都リサーチパーク周辺になる可能性が高いですが、まだ未定です。</p>

<p>勉強会の日時<br />
  日にちは未定<br />
  13:00-18:00</p>

<p>勉強会の内容<br />
  ・1時間程度 Google Waveプロトコル、FedOneについての解説(北村)<br />
  ・皆の疑問点、不明点をみんなで解決</p>

<p>勉強会で必要な物<br />
  ・ノートPC<br />
  ・FedOneのソースコード(各自チェックアウトしておいてください。FedOneが動作できる環境があればより良いです。)<br />
  　FedOneのインストールは http://rainbowdevil.jp/wave/install-fedone.html などを参考<br />
にしてインストールしておいてください。</p>

<p>皆が皆に教えあう勉強会で、FedOneのソースコードを追いかけながらとか結構マニアックな内容になる予定です。<br />
Google Wave自体の解説等はいたしませんので、ご注意ください。</p>

<p>この勉強会に関し、何か質問等がある場合は京都GTUGのメーリングリスト、もしくは京都GTUGスタッフ北村( kenji@kyoto-gtug.org , Twitter: @kenji1203 )までお願いいたします。 </p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/01/gtug_google_wav.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/01/gtug_google_wav.html</guid>
<category>Diary</category>
<pubDate>Sun, 31 Jan 2010 21:05:29 +0900</pubDate>
</item>
<item>
<title>Javaでグローバルフック</title>
<description><![CDATA[<p>現在、SWTを用いたアプリケーション開発をしていて、グローバルフックを使った入力が必要になった。<br />
通常Javaからはグローバルフックは無理だけど、SWTの拡張でグローバルフックを使う事が出来るライブラリがあったので使ってみる。</p>

<p><a href="http://feeling.sourceforge.net/">SWT Win32 Extension</a></p>

<p>次のような事が出来る。サンプルもあるので気軽に動作を確認する事が出来る。<br />
# <strong>Window Decorations</strong>: making windows always-on-top, transparent, flashing on the taskbar, etc.<br />
# <strong>Custom Shape Window</strong>: creating non-rectangular windows using custom Regions.<br />
# <strong>Access to Windows Registry</strong>.<br />
# <strong>Shell Folders</strong>: getting paths and icons of the user folders (Favorites, My Pictures, etc)<br />
# <strong>Shell Links</strong>: managing the system link files.<br />
# <strong>System Info</strong>: gathering CPU, memory, system variables information.<br />
# <strong>Hooks</strong>: using system hooks and allowing to intercept some system events.<br />
# <strong>System Menu Manager</strong>: managing the shell system menu, user can define custom menu item.<br />
#<strong> Windows Session</strong>: managing system session. User can logoff, shutdown, reboot computer.<br />
# <strong>Ole Control:</strong> providing some ole control wrappers, such as flash. </p>

<p>グローバルフックでマウスのイベントを取るやり方。<br />
<pre>Mouse_LLHook.addHookInterceptor(new Mouse_LLHookInterceptor() {<br />
  public InterceptorFlag intercept(Mouse_LLHookData hookData) {<br />
  int wParam = hookData.getWParam();<br />
  switch (wParam) {<br />
  case Mouse_LLHookData.WM_LBUTTONDOWN:<br />
    // 左クリック<br />
    break;<br />
  case Mouse_LLHookData.WM_RBUTTONDOWN:<br />
    // 右クリック<br />
    break;<br />
  }<br />
  return InterceptorFlag.TRUE;<br />
});<br />
Mouse_LLHook.installHook();</pre></p>

<p>使い終わったら Mouse_LLHook.unInstallHook(); して解放しないとダメ。</p>]]></description>
<link>http://rainbowdevil.jp/mt/externalstorage/archives/2010/01/java_7.html</link>
<guid>http://rainbowdevil.jp/mt/externalstorage/archives/2010/01/java_7.html</guid>
<category>Java</category>
<pubDate>Tue, 19 Jan 2010 20:43:38 +0900</pubDate>
</item>


</channel>
</rss>
