<< 10月 2010 | Home | 12月 2010 >>

Twitter Development Talk - ja を開設しました

Twitterに関する技術的な情報交換は英語の公式メーリングリスト、Twitter Development Talkで活発に行われています。

日本にも Twitter と連携するアプリケーションを開発する人は大勢いらっしゃいますが、日本語による技術的な情報はブログ、人力検索はてな、Twitterなどに散らばっていて調べるのが難しいことがあります。

そこで Twitter 関連の質疑を日本語で気軽に行える場所があると良いと思い、日本語のメーリングリストを開設してみました。公式メーリングリストの名前に習ってTwitter Development Talk - jaとしていますが非公式です。
Twitter Development Talk - ja | Google Groups

私は Twitter4J を開発している関係上、それなりに Twitter API に慣れているので積極的に回答していきたいと思います。
Twitter API を弄っている方であれば使用しているプログラミング言語に関わらず気軽に参加して情報交換できれば幸いです。

それでは参加をお待ちしています!

このエントリーをはてなブックマークに追加   

署名募集中 - IS01 に Android2.2 を!

月々実質8円で運用できると話題のキーボード付Android端末、IS01ですが最近 OS のアップデートは"仕様上の都合により、お客さまのご要望に応えられるパフォーマンスを発揮できない"との発表がありました。
〈お知らせ〉 auのAndroid (TM) 搭載スマートフォンにおけるメジャーアップデートについて | 2010年 | KDDI株式会社

本当に無理なのかもしれませんが、ガラパゴスケータイと同じく「過去の機種に投資は続けられない」というオトナの事情からそういう発表になってしまったのではないかと勘ぐってしまいます。

スマートフォンとして日本で最初にヒットした iPhone やグローバル展開されている HTC のAndroid 端末等は発売後まもなく OS アップデートを打ち切られるということはなく発売後1年、2年経過しても着実にアップデートを重ねています。
1機種で売れる球数が違うので事情は異なるでしょうが、今後次々と出てくるであろう日本の Android ベースの端末が同じような境遇に陥ってしまうと日本発の Android 端末はやっぱりだめだとユーザーが離れていってしまうことを個人的に懸念しています。
もちろん、ビジネスモデル的に Apple は旧機種に対する投資を App Store で回収できるという強みがあります。

アプリマーケットを自社展開していない国内メーカーは売り切りの「ガラパゴスAndroidケータイ」を毎シーズン出すのではなく継続的にソフトウェアもハードウェアもアップデートしながら利益を上げられるモデルを作って行く必要があるのではないでしょうか?
例えばキャリアとレベニューシェアという形でアプリマーケットを運営するとか(すでにそうなってる??)。

そこで日本の携帯市場に今後も盛り上がっていって欲しいと願う人や IS01 の Android 2.2 搭載を願うユーザーがこれだけいるんだぞ!と示すための嘆願書を 作ってみました。
LYNX SH-10B/IS01 に Android2.2を望みます!

当初 petitionspot というサイトで署名を集めていましたが英語のサイトで facebook のアカウントが必要で敷居が高いということでしたので上のページを新設しました。
既に100名近くの署名を頂いていますのでもちろん petitionspot のページは残しておきます。
we need Android 2.2 on #IS01 !!! - Petition Spot

とりあえず署名の目標数は1000に設定していますが、目標数集まったらどういったアクションをとるといったことは今のところ考えていません。
アップデート実現の可否は別として、数字を集めることにまず意味があると考えています。

せっかくなんだから集まったら提出すれば良いのにという意見がありました。ごもっともです!目標数に達したら au の窓口を通して提出を試みたいと思います。

最近次々と発表されている Android ケータイを出しているメーカー・キャリア各社にも 「2.2 で終わりじゃなく末永くサポート、アップグレードされ続けるんだよね?」というメッセージにもなるかと思います。

また、petitionspot.com はページビューを稼いだ分の謝礼という意味か、集まった署名数x$0.01 が嘆願書ページ開設者にPayPalで支払われる仕組みがあるようです。この嘆願書で儲ける意図はありませんので、アップデート実現の暁には極めて少額ではありますがシャープかauに署名数x$0.01の寄付を申し出たいと思います。
(もちろんそんな少額をもらってもむしろ手続き的に迷惑という話であれば無理に寄付したりはしません。広報的にオイシイと考えて受け取ってくれる可能性もありますね)

関連記事:
「Xperia(SO-01B)」がマルチタッチ対応に加えてAndroid 2.2へアップデート決定 - GIGAZINE
IS01のバージョンアップ実現のため署名をお願いします:Turtle日記 Annex:So-netブログ
IS01のバージョンアップ実現のため署名をお願いします - エンジニアが作る最新ITブログ by DODA
au、IS01のバージョンアップは実施せず:Turtle日記 Annex:So-netブログ
Someday: ユーザーがまた泣く?日本のスマートフォンには覚悟が足りない!
Togetter - 「IS01アップデート無しの発表の大きな流れを簡潔に追う」
Togetter - 「KDDI広報(@kddipr)の「IS01アップデート無し」にau技術者(@takjob)が憤慨。 #IS01 #KDDI #au #androidjp」
KDDIが「IS01」のOSアップデート打ち切り決定、「実現は不可能」という結論に - GIGAZINE
「IS01」の兄弟機、「LYNX(SH-10B)」のOSアップデートはどうなるのかをNTTドコモに聞いてみた - GIGAZINE
KDDIに「IS01」のOSアップデート打ち切りについて問い合わせてみました - GIGAZINE
仙石浩明の日記: 月額8円で運用できる Android 端末 IS01 で、root 権限が必要なアプリを使えるようにしてみた
「IS03」超速攻フォトレビュー、auが本気を出したシャープ製Androidスマートフォン - GIGAZINE
IS01 などの Android 携帯をサブディスプレイに! - 侍ズム
YouTube - 総統閣下はIS01の扱いにお怒りのようです

このエントリーをはてなブックマークに追加   

Mac OSX を瞬時にスクリーンロックする

大事なデータが入っているパソコンからちょっと離れるとき、第三者が触れる場所にあるのであればスクリーンをロックすべきです。
Windows だと Windowsキー + L でスクリーンをロックできます。Mac の場合そのようなショートカットはなさそうなのでセキュリティの設定でスクリーンセーバ起動時、またはスリープ時にスクリーンをロックする設定にしていました。

ただ、この方法だとちょっと資料を見ていてスクリーンセーバが立ち上がってしまったときだとか、家で作業を再開する際にもいちいちパスワードを入れなくてはいけないのがちょっと煩わしいです。
# もちろんスリープする度に毎回ロックされるのがセキュリティ上は一番望ましいのですが・・

ちょっと調べてみたところ以下のページが見つかりました。
10.6: Lock the screen via a keyboard shortcut - Mac OS X Hints

一つは OS 自体にショートカットは用意されていないのですが、キーチェーンアクセスの設定からメニューバーにステータスを表示するように設定をし、ステータスバーからロックをできるようにする方法です。


キーチェーンアクセスの設定


ステータスバーからロック

もう一つは Automator のスクリプトでロックする方法。スクリプトは以下からダウンロード出来ます。
“Lock Desktop” – New Mac OS X App - Chris Cook .me

1クリックで実行できる Automator を使う方法が1クリック分手軽ですが、ロックされるまで4秒くらいかかります。一方ステータスバーからロックする場合は瞬時にできるので、こちらの方を採用することにしました。

さらに重要なデータが入っているマシンは File Valut で暗号化、自動ログインを禁止し、さらに物理的にカギを掛けて盗まれないようにしておくことが大事です。

私はケンジントンの太めのワイヤーを使っています。




もちろんマシンを肌身離さず持ち歩くほうがセキュアですが、トイレに行く度にマシンを閉じて持って行くのはちょっとむずかしいですね。

タグ :
このエントリーをはてなブックマークに追加   

Twitter4J 2.1.7 リリース - 全ての REST API をサポート

Twitter API の Java バインディングライブラリ、Twitter4J の最新版をリリースしました。
http://twitter4j.org/


全ての REST API に対応しています。
全ての API のサンプルコードをつけました。がんばりました。
Maven Central Repository にも入っています。

スナップショットビルドの公開時など、最新情報は @t4j_news で配信していますので興味のある方はフォローしてください。
Follow t4j_news on Twitter

twitter4j 2.1.7 JavaDoc
自前 maven repository
snapshot ビルドをプロジェクトで利用する方法
サポートAPIリスト

Release Notes - Twitter4J - Version 2.1.7

Bug

  • [TFJ-408] - Twitter.getLocationTrends(int woeid) throws twitter4j.internal.org.json.JSONException for some woeids
  • [TFJ-412] - twitter4j-httpclient-support doesn't respect HTTP timeout parameters
  • [TFJ-420] - Searching for phrases with a whitespace leads 401 unauthorized

Improvement

  • [TFJ-372] - UserStream: support replies=all option
  • [TFJ-410] - java.lang.SecurityException in ConfigurationBase
  • [TFJ-411] - warn that Proxy is not supported with the default HTTPClient implementation on JDK1.4.2

New Feature

  • [TFJ-366] - support GET users/profile_image/:screen_name method
  • [TFJ-398] - UserStream example
  • [TFJ-413] - support legal resources
  • [TFJ-414] - support POST :user/:list_id/create_all
  • [TFJ-415] - support GET geo/search
  • [TFJ-416] - support geo/similar_places
  • [TFJ-417] - support POST geo/place
  • [TFJ-419] - introduce stream connection lifecycle listener
  • [TFJ-421] - add TwitterStream handling multiple Listener capability
  • [TFJ-422] - provide access to raw JSON strings
  • [TFJ-445] - ability to get response headers from TwitterException

Task

  • [TFJ-399] - example classes need to migrate to OAuth
  • [TFJ-423] - Tweets Resources examples
  • [TFJ-424] - User Resources examples
  • [TFJ-425] - Trends Resources examples
  • [TFJ-426] - Local Trends Resources examples
  • [TFJ-427] - List Resources examples
  • [TFJ-428] - List Members Resources examples
  • [TFJ-429] - List Subscribers Resources examples
  • [TFJ-430] - Direct Message Resources examples
  • [TFJ-431] - Friendship Resources examples
  • [TFJ-432] - Friends and Followers Resources examples
  • [TFJ-433] - Account Resources examples
  • [TFJ-434] - Favorite Resources examples
  • [TFJ-435] - Notification Resources examples
  • [TFJ-436] - Block Resources examples
  • [TFJ-437] - Spam Reporting Resources example
  • [TFJ-438] - Saved Searches Resources examples
  • [TFJ-439] - Geo Resources examples
  • [TFJ-440] - Legal Resources examples
  • [TFJ-441] - Help Resource examples
  • [TFJ-442] - Streamed Tweets Resources examples
  • [TFJ-443] - Search API Resources examples
  • [TFJ-444] - httpclient-support compilation fails: ThreadSafeClientConnManager#setMaxTotalConnections() is now setMaxTotal()

関連記事:
Twitter4J 2.1.3 リリース - YFrog/TwitPic, UserStream をサポート - 侍ズム
Twitter4J 2.1.2 リリース - 最新APIセットをサポート - 侍ズム
Twitter4J 2.1.1 リリース - 最新APIセットをサポート、パフォーマンス/Android対応を改善 - 侍ズム
Twitter4J 2.1.0 リリース - 最新APIセットをサポート、パフォーマンスを大幅改善 - 侍ズム
Twitter4J 2.0.10 リリース - geo location API, retweet API をサポート - 侍ズム
Twitter4J 2.0.7 リリース - 侍ズム
Twitter4J 2.0.6 リリース - 侍ズム
Twitter4J 2.0.5 リリース - 侍ズム
Twitter4J 2.0.4 リリース - ストリーミング API をサポート
Twitter4J 2.0.3 リリース - JDK1.4.2 互換性を確認 - 侍ズム
Twitter4J 2.0.2 リリース - trends API や gzip 圧縮をサポート - 侍ズム
Google App Engine 対応 の Twitter4J 2.0.1 リリース - 侍ズム
Twitter4J 1.1.8 リリース - 侍ズム
Twitter4J 1.1.5 リリース
Twitter4J 1.1.1 リリース
Twitter4J 1.1.0 リリース
Twitter4J 1.0.6 リリース
Twitter4J 1.0.5 リリース
Twitter4J 1.0.4 リリース
Twitter4J 自前 maven リポジトリを公開
Twitter4J 1.0.3 リリース
Google Calendar と Twitter を連携 - Twittercal
Suitter Public beta 1.0
メールで Twitter! - TwitterMail.com
Twitter4J 1.0.2 リリース
Twitter4J 1.0.1 リリース
Twitter4J 1.0 リリース

タグ :
このエントリーをはてなブックマークに追加   

IS01 などの Android 携帯をサブディスプレイに!

安く運用できると話題の IS01、特に使い道も考えずに衝動買いしてみました。
価格は池袋のビックカメラで4800円、ポイント10%。ちょっと探した限りでは自分の行動圏内で0円で売っているところは見つかりませんでした。
この 4,800円に加え契約事務手数料の 2,835円が初回引き落とし時に請求されます。

Android1.6とはいえ、独自の UI がなかなか良くできていて使いやすそうです。

せっかくの高精細で大きな画面を外部ディスプレイとして使えないかといじってみたところ結構簡単にできました。


為替チャートを表示したウィンドウを IS01 に動かしたところ

やりかたは簡単。iPad / iPhone を外部ディスプレイにするiDisplayの Mac 用のドライバをインストールし、VNC クライアントで接続するだけ。
iDisplay は iPad / iPhone のクライアントは有料ですが、Mac / PC 側のドライバは無償です。
このドライバは画面外に仮想的なサブディスプレイを作ってくれるので任意の VNC クライアントで接続すればそれが外部ディスプレイになるという寸法。
Android の VNC クライアントは色々あるけれどもとりあえず今は Remote VNC w/Ad というのを使っています。
1秒くらいのタイムラグがありますがリアルタイム性を要求されない情報の表示であれば充分実用的です。


iDisplay のドライバをインストール後仮想画面を設定しているところ

注意点としては iDisplay のドライバが 64ビットカーネルに対応していないこと。
64ビットだからだめだよ、とエラーがでたらターミナルで "sudo systemsetup -setkernelbootarchitecture i386" とタイプして32ビットモードにして再起動すればok。

これで立派な使い道が出来ました。安いのはいいけど買っても使わなそうだな、と迷っているアナタ、サブディスプレイとしていかがですか?
iDisplay のドライバは Windows 版もあるので Windows でもたぶん大丈夫。
IS01 じゃない Android 携帯/タブレットでもイケます。

タグ :
このエントリーをはてなブックマークに追加   

メモ: SQL Server の timestamp 型に insert すると Disallowed implicit conversion from data type datetime to data type timestamp が発生する

・うまくいかなかったこと
MS SQL Server 2008 の timestamp 型のカラムに PreparedStatement#setTimestamp() でデータをセットしようとすると以下の例外が出る。

com.microsoft.sqlserver.jdbc.SQLServerException: Disallowed implicit conversion from data type datetime to data type timestamp, table 'データベース名.dbo.テーブル名', column 'カラム名'. Use the CONVERT function to run this query.


使用した JDBC ドライバは Microsoft SQL Server 2005 JDBC Driver 1.2 (sqljdbc.jar)

・解決方法
カラムのタイプを timestamp 型から datetime 型に変える。

実際には alter table テーブル名 alter column カラム名 新カラムタイプ では変換が出来ないと言われたので
alter table テーブル名 DROP COLUMN カラム名
alter table テーブル名 ADD カラム名 datetime
とし、カラムの削除→追加で回避しました。(テーブルにデータは一件も入っていなかったので)

・参照したサイト
Understanding Data Type Differences
The JDBC TIMESTAMP type maps to the SQL Server datetime and smalldatetime types. The datetime type is stored in two 4-byte integers. The smalldatetime type holds the same information (date and time), but with less accuracy, in two 2-byte small integers.

Note
The SQL Server timestamp type is a fixed-length binary-string type. It does not map to any of the JDBC time types: DATE, TIME, or TIMESTAMP.


ちなみに MySQL では timestamp 型に PreparedStatement#setTimestamp() でセットできました。

タグ :
このエントリーをはてなブックマークに追加   

暗黒のシステムインテグレーション・システム管理者の眠れない夜 を頂きました

技術評論社さんより2冊献本して頂きました。

「暗黒のシステムインテグレーション」と「システム管理者の眠れない夜」です。

どちらも月刊ウィンドウズNTワールドに同名で十年余り掲載されていた連載をまとめたものだそうです。

届いたばかりでまだ読んでいません。読み終わったらレビュー記事を書きたいと思います。
11月12日発売の予定です。


カバーと帯が対になっていてカッコイイ装丁




このエントリーをはてなブックマークに追加