node.jsでアバターダミークライアント

動くアバターチャットが出来たので次はダミークライアントを作ってみました。

ほとんどブラウザ側のソース流用なので、簡単でした。 引っかかったのは、以下のソースの部分。

サーバーに接続する処理でforce new connectionというオプションを付けてあげないと、同じサーバーへの接続はSocket?を再利用してしまうようでした。 誰得なのか分からないですが、負荷試験用のダミークライアントを作る人は注意が必要ですね。

 var socket = io.connect('http://localhost:3000/',
    {'force new connection': true});

node.jsとenchant.jsでアバターチャット

node-enchant

node.jsとenchant.jsを組み合わせてアバターチャットを作ってみました。

Screenshot

アバターチャットを開く

これが数時間でほぼ動くようになって、プログラムの敷居が低くなったのを実感できました。

ソースはここ

機能

とりあえず実装してみたのは以下の機能だけです

  • ログインすると勝手にアバターを生成。 avatar.enchant.jsをそのまま使ってます。
  • クリックするとそこに移動
  • メッセージを表示できる

思った事をメモ

  • herokuではweb-socketが通らないらしいので、ロングポーリングになっている模様
  • サーバーとクライアントが同じ言語で書けるのはストレスが少なく快適
  • enchant.jsのクラス定義の仕組みは分かりやすくてよい

Markdown on Save Improvedをインストールしてみた

必要がなければドキュメントはテキストファイルですね。 今までもタブで階層化したテキストを作ったりしてましたが、 どなたかが作ったMarkdownがgithubなどでも採用されて使われているので、 最近使い始めました。 Markdown

メールにそのまま貼付けたりしても特に違和感がないので気に入ってます。

今回はWordPressにMarkdown on Save Improvedというプラグインを入れてみました。

Markdown on Save Improve

どういう仕組みで動くのか今入れながら試しているので、一旦公開してみよう。

RTMからGoogle Tasksに移行しよう

今までにRemember the MilkをTODOとして使ってたんだけど、Google Tasksに移行する事にした。使ってる機能からするとGoogle Tasksで十分だと思ったんだよね。

という事で、変換するスクリプトを作った。 https://github.com/kojitaro/rtm_to_google_tasks

使い方は簡単。なんてね。 使いたい人はほとんどいないよね。いたら、サービス化してもいいんだけど。

  1. RTMの API Keysを取得する https://www.rememberthemilk.com/services/api/keys.rtm
  2. RTMのデータバックアップツールを実行する ./rtm_fetch.py APIKEY SECRET
  3. Google OAuth2 API Keysを取得する。 Tasks APIを有効にする https://code.google.com/apis/console/
  4. Google Tasksにインポートするツールを実行する。 ./google_push.py CLIENT_ID CLIENT_SECRET

Androidの音声認識機能を使ってみた

Android2.2で音声認識機能を呼ぶAPIが追加されたので、これを使ったアプリを作ってみた。

音声認識を行った文字列をTwitterに投稿する、Twitterクライアントです。

思った事 ・Androidのアプリからは、電話のスピーカーから音を出すように出来ない。  Skypeアプリもそうで有るようなので、仕様かなあ。  どんな理由があるんだろう。  本当はちょうど電話がかかってきた事に応答すると、そのメッセージがTweetされるという形式にしたかったのだけど、無理でした。 ・アプリの実装をするのは、結構すぐ出来たけど体裁を整えるのは大変  みっともないアイコンでも一から作るの大変でした。

一応 Android Marketにも公開しました。 https://market.android.com/details?id=net.hekatoncheir.speechtweet&feature=search_result

ソースはgithubに置きました。 https://github.com/kojitaro/QuickSpeechTweet

GWTでTwitterクライアントを作った

スタイルとかは一切いじってないので、人に見せるものでもないですが、動くようになりました。

実装したこと
・GWTを使って、クライアントロジックを作る
・TwitterでOAuth認証を通す(twitter4jでお気軽)
・サーバー側をServletで実装、Google Appに配置

思ったこと
・GWTでブラウザ上のアプリを作れるのはすごく便利
・jqueryで実装するときみたいにコードのためにIDを管理する必要がないのは便利

次にやること
・Twitterの認証結果情報をストレージにストア
・認証情報を使用して、Google翻訳APIを使用して、翻訳文字列を取得する

GWT事始め

Google Web Toolkitのチュートリアルを一通り試してみた。
気づいたことを列挙してみる。
・クロスブラウザ対応のJSを駆使した静的HTMLを作れるので、何かに使えそうだ
・Google App Engineのサーバーをバックエンドにして、RPCとの連携は結構お手軽
・動きをつけたりしたいときはどうすればいいんだろう
・パーツを新しく作りたいときはどうすればいいんだろう
・GWT Designer というエディターが有るようなので、試してみよう

技術習得をかねてWebサービスを作ろう

以下のような用件でちょこちょことWebサービスを作ってみることにする。

自分的な用件は以下のように整理する。
・自分が使うことを前提にする
・Google App Engine for Javaを使って、Bigtable的にデータストアを使って、スケールする様に設計する
 今までfor Pythonを仕事で使ったこと有るけど、GWTのためにJavaを使う
・Google Web Toolkitを使ってみる
 一人でアプリを作る上で、見た目部分を作るのが億劫なので、使えるようになると便利かも

作るもの
・バックグラウンドでTwitterからTLを取得して、翻訳サービスで英語にしたものを保存
・TLを表示
・スマートフォン対応

開発マイルストーン
1 GWTを使ったメインタイムラインを表示するTwitterクライアントを作る
2 完成

QuickSendToに不具合有るらしい

AndroidアプリはMarketに公開すると、全世界の人に使ってもらえるのが、面白い。
ごくごく個人的な要望をかなえるために作ったアプリなのですが、408人のアンドロイド端末にインストールされているようです。

要望も少し頂いているのですがその中に、Droidを2.1から2.2にあげるとちゃんと動かなくなるらしいことが有るようです。

検証端末が欲しいなあ。

QuickSendTo1.1

最近アンドロイドプログラムをやっているので、
一つアプリを作ってみました。

QuickSendToという名前のメールテンプレートを管理できるツールです。
テンプレートを選択すると、テンプレートの内容が入力されたメーラーが起動して、同じような内容のメールを簡単に送ることができます。

少しですが使っていただけている人もいるようです。これ以上いじる予定はないですが。なんか思いついたら、機能追加とかするかもしれません。

http://www.cyrket.com/p/android/net.hekatoncheir.quicksendto/

ソースはMITライセンスで公開しています。

http://kojitaro.svn.beanstalkapp.com/personal/QuickSendTo